Example usage for org.apache.wicket.markup.html.link Link setBody

List of usage examples for org.apache.wicket.markup.html.link Link setBody

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.link Link setBody.

Prototype

public AbstractLink setBody(final IModel<?> bodyModel) 

Source Link

Document

Sets the link's body model

Usage

From source file:dk.teachus.frontend.components.list.ListPanel.java

License:Apache License

private AjaxNavigationToolbar createNavigationToolbar(DataTable<T> dataTable) {
    return new AjaxNavigationToolbar(dataTable) {
        private static final long serialVersionUID = 1L;

        @Override/*from w  w w .j  av a2  s  . c  o  m*/
        protected WebComponent newNavigatorLabel(String navigatorId, final DataTable<?> table) {
            Label label = new Label(navigatorId, new AbstractReadOnlyModel<String>() {
                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    int of = table.getRowCount();
                    int from = table.getCurrentPage() * table.getItemsPerPage();
                    int to = Math.min(of, from + table.getItemsPerPage());

                    from++;

                    if (of == 0) {
                        from = 0;
                        to = 0;
                    }

                    String label = TeachUsSession.get().getString("ListPanel.navigatorLabel");
                    label = label.replace("${from}", "" + from);
                    label = label.replace("${to}", "" + to);
                    label = label.replace("${of}", "" + of);

                    return label;
                }
            });
            label.setRenderBodyOnly(true);
            return label;
        }

        @Override
        protected PagingNavigator newPagingNavigator(String navigatorId, DataTable<?> table) {
            return new AjaxPagingNavigator(navigatorId, table) {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onAjaxEvent(final AjaxRequestTarget target) {
                    target.add(getTable());
                }

                @Override
                protected Link<?> newPagingNavigationLink(String id, IPageable pageable, final int pageNumber) {
                    final Link<?> pagingNavigationLink = super.newPagingNavigationLink(id, pageable,
                            pageNumber);
                    pagingNavigationLink.setBody(Model.of(""));
                    pagingNavigationLink
                            .add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() {
                                private static final long serialVersionUID = 1L;

                                @Override
                                public String getObject() {
                                    String cls = "btn btn-mini";
                                    if (pageNumber == 0) {
                                        cls += " icon-fast-backward";
                                    } else {
                                        cls += " icon-fast-forward";
                                    }
                                    if (false == pagingNavigationLink.isEnabled()) {
                                        cls += " disabled";
                                    }
                                    return cls;
                                }
                            }));
                    return pagingNavigationLink;
                }

                @Override
                protected Link<?> newPagingNavigationIncrementLink(String id, IPageable pageable,
                        final int increment) {
                    final Link<?> pagingNavigationIncrementLink = super.newPagingNavigationIncrementLink(id,
                            pageable, increment);
                    pagingNavigationIncrementLink.setBody(Model.of(""));
                    pagingNavigationIncrementLink
                            .add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() {
                                private static final long serialVersionUID = 1L;

                                @Override
                                public String getObject() {
                                    String cls = "btn btn-mini";
                                    if (increment < 0) {
                                        cls += " icon-backward";
                                    } else {
                                        cls += " icon-forward";
                                    }
                                    if (false == pagingNavigationIncrementLink.isEnabled()) {
                                        cls += " disabled";
                                    }
                                    return cls;
                                }
                            }));
                    return pagingNavigationIncrementLink;
                }

                @Override
                protected PagingNavigation newNavigation(String id, IPageable pageable,
                        IPagingLabelProvider labelProvider) {
                    return new AjaxPagingNavigation(id, pageable, labelProvider) {
                        private static final long serialVersionUID = 1L;

                        @Override
                        protected Link<?> newPagingNavigationLink(String id, IPageable pageable,
                                int pageIndex) {
                            final Link<?> pagingNavigationLink = super.newPagingNavigationLink(id, pageable,
                                    pageIndex);
                            pagingNavigationLink
                                    .add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() {
                                        private static final long serialVersionUID = 1L;

                                        @Override
                                        public String getObject() {
                                            StringBuilder cls = new StringBuilder();
                                            cls.append("btn btn-mini");
                                            if (false == pagingNavigationLink.isEnabled()) {
                                                cls.append(" btn-primary disabled");
                                            }
                                            return cls.toString();
                                        }
                                    }));
                            return pagingNavigationLink;
                        }
                    };
                }
            };
        }
    };
}

From source file:net.micwin.openspace.view.BasePageView.java

License:Open Source License

protected Link createSortPropertyLink(String id, String caption, final String property,
        final boolean ascending) {

    Link link = new Link(id) {

        @Override/*from  w ww  . j  a va 2s  .  c  o  m*/
        public void onClick() {

            String oldSortProperty = (String) getElysiumSession().getAttribute(ATTR_SORT_PROPERTY);
            if (property.equals(oldSortProperty)) {
                getElysiumSession().setAttribute(ATTR_SORT_ASCENDING, !getSortAscending());
            } else {
                getElysiumSession().setAttribute(ATTR_SORT_PROPERTY, property);
                getElysiumSession().setAttribute(ATTR_SORT_ASCENDING, ascending);

            }
            setResponsePage(getPage().getClass());

        }
    };
    link.setBody(Model.of(caption));

    return link;
}

From source file:nl.mpi.lamus.web.pages.management.ManageWorkspacesPage.java

License:Open Source License

private List<IColumn<Workspace, String>> createColumns() {

    List<IColumn<Workspace, String>> columns = new ArrayList<>();

    columns.add(new AbstractColumn<Workspace, String>(
            new Model<>(getLocalizer().getString("management_table_column_actions", this))) {

        @Override//from  w w w.  j a v a  2 s.c om
        public void populateItem(Item<ICellPopulator<Workspace>> cellItem, String componentId,
                IModel<Workspace> model) {

            Link<Workspace> deleteLink = new Link<Workspace>(componentId, model) {

                @Override
                public void onClick() {
                    try {
                        workspaceService.deleteWorkspace(LamusSession.get().getUserId(),
                                getModelObject().getWorkspaceID(), false);

                        refreshDataView();

                    } catch (WorkspaceNotFoundException | WorkspaceAccessException | WorkspaceExportException
                            | IOException ex) {
                        Session.get().error(ex.getMessage());
                    }
                }

            };
            deleteLink.setBody(Model
                    .of(getLocalizer().getString("management_table_delete_button", ManageWorkspacesPage.this)));
            deleteLink.add(AttributeModifier.append("class", new Model<>("tableActionLink")));
            cellItem.add(deleteLink);
        }
    });

    columns.add(new AbstractColumn<Workspace, String>(new Model<>("")) {

        @Override
        public void populateItem(Item<ICellPopulator<Workspace>> cellItem, String componentId,
                IModel<Workspace> model) {

            if (WorkspaceStatus.UPDATING_ARCHIVE.equals(model.getObject().getStatus())) {

                Link<Workspace> reCrawlLink = new Link<Workspace>(componentId, model) {

                    @Override
                    public void onClick() {

                        try {
                            workspaceService.triggerCrawlForWorkspace(LamusSession.get().getUserId(),
                                    getModelObject().getWorkspaceID());
                        } catch (WorkspaceNotFoundException | WorkspaceAccessException
                                | CrawlerInvocationException ex) {
                            Session.get().error(ex.getMessage());
                        }
                    }
                };
                reCrawlLink.setBody(Model.of(getLocalizer().getString("management_table_recrawl_button",
                        ManageWorkspacesPage.this)));
                reCrawlLink.add(AttributeModifier.append("class", new Model<>("tableActionLink")));
                cellItem.add(reCrawlLink);
            } else {
                cellItem.add(new Label(componentId));
            }
        }
    });

    columns.add(new PropertyColumn<Workspace, String>(
            new Model<>(getLocalizer().getString("management_table_column_workspace_id", this)), "workspaceID",
            "workspaceID"));
    columns.add(new PropertyColumn<Workspace, String>(
            new Model<>(getLocalizer().getString("management_table_column_user_id", this)), "userID",
            "userID"));
    columns.add(new PropertyColumn<Workspace, String>(
            new Model<>(getLocalizer().getString("management_table_column_top_node_uri", this)), "topNodeURI",
            "topNodeArchiveURI"));
    columns.add(new PropertyColumn<Workspace, String>(
            new Model<>(getLocalizer().getString("management_table_column_top_node_url", this)), "topNodeURL",
            "topNodeArchiveURL"));
    columns.add(new PropertyColumn<Workspace, String>(
            new Model<>(getLocalizer().getString("management_table_column_start_date", this)), "startDate",
            "startDateStr"));
    columns.add(new PropertyColumn<Workspace, String>(
            new Model<>(getLocalizer().getString("management_table_column_end_date", this)), "endDateStr"));
    columns.add(new PropertyColumn<Workspace, String>(
            new Model<>(getLocalizer().getString("management_table_column_session_start_date", this)),
            "sessionStartDateStr"));
    columns.add(new PropertyColumn<Workspace, String>(
            new Model<>(getLocalizer().getString("management_table_column_session_end_date", this)),
            "sessionEndDateStr"));
    columns.add(new PropertyColumn<Workspace, String>(
            new Model<>(getLocalizer().getString("management_table_column_status", this)), "status", "status"));
    columns.add(new PropertyColumn<Workspace, String>(
            new Model<>(getLocalizer().getString("management_table_column_message", this)), "message"));

    return columns;
}

From source file:org.devgateway.eudevfin.mcm.components.HistoricalExchangeRateTableListPanel.java

License:Open Source License

@Override
protected void populateTable() {
    this.itemsListView = new ListView<HistoricalExchangeRate>("list", items) {

        private static final long serialVersionUID = -8758662617501215830L;

        @Override/*from   ww  w .j  a va  2  s. co m*/
        protected void populateItem(ListItem<HistoricalExchangeRate> listItem) {
            final HistoricalExchangeRate rate = listItem.getModelObject();

            Link linkToEditRate = new Link("linkToEdit") {
                @Override
                public void onClick() {
                    PageParameters pageParameters = new PageParameters();
                    pageParameters.add(EditHistoricalExchangeRatePage.PARAM_ID, rate.getId());
                    setResponsePage(EditHistoricalExchangeRatePage.class, pageParameters);
                }
            };
            linkToEditRate.setBody(new StringResourceModel("link.edit", this, null, null));

            Label baseCurrencyLabel = new Label("baseCurrency", rate.getRate().getBase().getCode());
            Label counterCurrencyLabel = new Label("counterCurrency", rate.getRate().getCounter().getCode());
            Label source = new Label("source", rate.getSource());
            Label dateLabel = new Label("date", rate.getDate().toString("dd-MM-yyyy"));
            Label rateLabel = new Label("rate", rate.getRate().getRate());

            listItem.add(baseCurrencyLabel);
            listItem.add(counterCurrencyLabel);
            listItem.add(source);
            listItem.add(dateLabel);
            listItem.add(linkToEditRate);
            listItem.add(rateLabel);
        }

    };

    this.add(itemsListView);

}

From source file:org.devgateway.eudevfin.mcm.components.OrganizationTableListPanel.java

License:Open Source License

@Override
protected void populateTable() {
    this.itemsListView = new ListView<Organization>("orgList", items) {

        private static final long serialVersionUID = -8758662617501215830L;

        @Override/*  ww w. j  a  v a2 s .  c  o  m*/
        protected void populateItem(ListItem<Organization> listItem) {
            final Organization org = listItem.getModelObject();

            Link linkToEditOrg = new Link("linkToEditOrg") {
                @Override
                public void onClick() {
                    setResponsePage(EditOrganizationPage.class,
                            new PageParameters().add(EditOrganizationPage.PARAM_ORG_ID, org.getId()));
                }
            };

            linkToEditOrg.setBody(Model.of(org.getName()));

            Label codeLabel = new Label("code", org.getCode() != null ? org.getCode() : "");

            listItem.add(codeLabel);
            listItem.add(linkToEditOrg);

        }

    };

    this.add(itemsListView);

}

From source file:org.devgateway.eudevfin.mcm.components.PersistedUserGroupTableListPanel.java

License:Open Source License

@Override
protected void populateTable() {
    this.itemsListView = new ListView<PersistedUserGroup>("groupList", items) {

        private static final long serialVersionUID = 1669165609822401092L;

        @Override/*from   w  ww  .  j  ava  2s  .c o  m*/
        protected void populateItem(ListItem<PersistedUserGroup> listItem) {
            final PersistedUserGroup group = listItem.getModelObject();

            Label orgLabel = new Label("org",
                    group.getOrganization() != null ? group.getOrganization().getName() : "");

            Link linkToEditUserGroup = new Link("linkToEditUserGroup") {
                @Override
                public void onClick() {
                    PageParameters pageParameters = new PageParameters();

                    pageParameters.add(EditPersistedUserGroupPage.PARAM_GROUP_ID, group.getId());

                    setResponsePage(EditPersistedUserGroupPage.class, pageParameters);

                }
            };

            linkToEditUserGroup.setBody(Model.of(group.getName()));

            listItem.add(orgLabel);
            listItem.add(linkToEditUserGroup);

        }

    };

    this.add(itemsListView);

}

From source file:org.devgateway.eudevfin.mcm.components.PersistedUserTableListPanel.java

License:Open Source License

@Override
protected void populateTable() {
    this.itemsListView = new ListView<PersistedUser>("userList", items) {

        private static final long serialVersionUID = -8758662617501215830L;

        @Override/*  w  w  w  . j  av a2 s .  c  o  m*/
        protected void populateItem(ListItem<PersistedUser> listItem) {
            final PersistedUser user = listItem.getModelObject();

            Link linkToEditUser = new Link("linkToEditUser") {
                @Override
                public void onClick() {
                    setResponsePage(EditPersistedUserPageElevated.class, new PageParameters()
                            .add(EditPersistedUserPageElevated.PARAM_USER_ID, user.getId()));

                }
            };

            linkToEditUser.setBody(Model.of(user.getUsername()));

            Label groupLabel = new Label("group", user.getGroup() != null ? user.getGroup().getName() : "");

            Label authoritiesLabel = new Label("authorities",
                    user.getPersistedAuthorities() != null ? user.getPersistedAuthorities().toString() : "");

            listItem.add(groupLabel);
            listItem.add(authoritiesLabel);
            listItem.add(linkToEditUser);

        }

    };

    this.add(itemsListView);

}