Example usage for org.apache.wicket.markup.html.link AbstractLink add

List of usage examples for org.apache.wicket.markup.html.link AbstractLink add

Introduction

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

Prototype

public MarkupContainer add(final Component... children) 

Source Link

Document

Adds the child component(s) to this container.

Usage

From source file:com.doculibre.constellio.wicket.panels.thesaurus.SkosConceptModalPanel.java

License:Open Source License

public SkosConceptModalPanel(String id, SkosConcept skosConcept) {
    super(id);//from  ww  w .j ava  2  s . c  o  m
    this.skosConceptModel = new ReloadableEntityModel<SkosConcept>(skosConcept);

    final IModel localeModel = new PropertyModel(this, "locale");

    detailsLink = newDetailsLink("detailsLink", skosConcept);
    prefLabel = new Label("prefLabel", new SkosConceptPrefLabelModel(skosConcept, localeModel));

    altLabelsListView = new ListView("altLabels", new LoadableDetachableModel() {
        @Override
        protected Object load() {
            SkosConcept skosConcept = skosConceptModel.getObject();
            return new ArrayList<String>(skosConcept.getAltLabels(getLocale()));
        }
    }) {
        @Override
        protected void populateItem(ListItem item) {
            String altLabel = (String) item.getModelObject();
            item.add(new Label("altLabel", altLabel));
        }

        @SuppressWarnings("unchecked")
        @Override
        public boolean isVisible() {
            List<String> items = (List<String>) getModelObject();
            return !items.isEmpty();
        }
    };

    skosNotesLabel = new Label("skosNotes", skosConcept.getSkosNotes());

    broaderListView = new ListView("broader", new LoadableDetachableModel() {
        @Override
        protected Object load() {
            SkosConcept skosConcept = skosConceptModel.getObject();
            return new ArrayList<SkosConcept>(skosConcept.getBroader());
        }
    }) {
        @Override
        protected void populateItem(ListItem item) {
            SkosConcept broader = (SkosConcept) item.getModelObject();
            AbstractLink detailsLink = newDetailsLink("detailsLink", broader);
            item.add(detailsLink);
            detailsLink.add(new Label("prefLabel", new SkosConceptPrefLabelModel(broader, localeModel)));
        }

        @SuppressWarnings("unchecked")
        @Override
        public boolean isVisible() {
            List<SkosConcept> items = (List<SkosConcept>) getModelObject();
            return !items.isEmpty();
        }
    };

    narrowerListView = new ListView("narrower", new LoadableDetachableModel() {
        @Override
        protected Object load() {
            SkosConcept skosConcept = skosConceptModel.getObject();
            return new ArrayList<SkosConcept>(skosConcept.getNarrower());
        }
    }) {
        @Override
        protected void populateItem(ListItem item) {
            SkosConcept narrower = (SkosConcept) item.getModelObject();
            AbstractLink detailsLink = newDetailsLink("detailsLink", narrower);
            item.add(detailsLink);
            detailsLink.add(new Label("prefLabel", new SkosConceptPrefLabelModel(narrower, localeModel)));
        }

        @SuppressWarnings("unchecked")
        @Override
        public boolean isVisible() {
            List<SkosConcept> items = (List<SkosConcept>) getModelObject();
            return !items.isEmpty();
        }
    };

    relatedListView = new ListView("related", new LoadableDetachableModel() {
        @Override
        protected Object load() {
            SkosConcept skosConcept = skosConceptModel.getObject();
            return new ArrayList<SkosConcept>(skosConcept.getRelated());
        }
    }) {
        @Override
        protected void populateItem(ListItem item) {
            SkosConcept related = (SkosConcept) item.getModelObject();
            AbstractLink detailsLink = newDetailsLink("detailsLink", related);
            item.add(detailsLink);
            detailsLink.add(new Label("prefLabel", new SkosConceptPrefLabelModel(related, localeModel)));
        }

        @SuppressWarnings("unchecked")
        @Override
        public boolean isVisible() {
            List<SkosConcept> items = (List<SkosConcept>) getModelObject();
            return !items.isEmpty();
        }
    };

    add(detailsLink);
    detailsLink.add(prefLabel);
    add(altLabelsListView);
    add(skosNotesLabel);
    add(broaderListView);
    add(narrowerListView);
    add(relatedListView);
}

From source file:com.senacor.wbs.web.border.ToggleBorder.java

License:Apache License

public ToggleBorder(String id, IModel titleModel) {
    super(id, titleModel);
    add(CSSPackageResource.getHeaderContribution(this.getClass(), "ToggleBorder.css"));
    setOutputMarkupId(true);/*from w ww.  j a va 2 s  .c  o  m*/
    PackageResource rollUp = PackageResource.get(ToggleBorder.this.getClass(), "up.png");
    Image rollUpImage = new Image("rollUpImage", rollUp) {
        @Override
        public boolean isVisible() {
            return isExpanded;
        }
    };
    PackageResource rollDown = PackageResource.get(ToggleBorder.this.getClass(), "down.png");
    Image rollDownImage = new Image("rollDownImage", rollDown) {
        @Override
        public boolean isVisible() {
            return !isExpanded;
        }
    };
    AbstractLink headerLink = new AjaxLink("header") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            isExpanded = !isExpanded;
            target.addComponent(ToggleBorder.this);
        }
    };
    headerLink.add(new Label("title", titleModel));
    headerLink.add(rollUpImage);
    headerLink.add(rollDownImage);
    add(headerLink);
    final WebMarkupContainer content = new WebMarkupContainer("content");
    content.add(getBodyContainer());
    content.add(new AttributeAppender("style", true, new AbstractReadOnlyModel() {
        @Override
        public String getObject() {
            return (isExpanded ? "display:block" : "display:none");
        }
    }, ";"));
    add(content);
}

From source file:com.userweave.pages.configuration.editentitypanel.EditStudyEntityPanel.java

License:Open Source License

/**
 * Returns a link to preview the study./*  w  ww .ja  v  a2s .com*/
 * 
 * @return
 *       An abstract link component, depending on registered admins.
 */
private AbstractLink getPreviewLink(final EventHandler callback) {
    PageParameters parameters = new PageParameters();

    AbstractLink link;

    IModel<String> linkLabelModel = new StringResourceModel("studylink", EditStudyEntityPanel.this, null);

    // see #974 for workflow.
    if (studyService.isAtLeastOneAdminRegistered(getStudy().getParentProject())) {
        parameters.set(0, getStudy().getHashCode());

        if (getStudy().getState() == StudyState.INIT) {
            linkLabelModel = new StringResourceModel("preview", EditStudyEntityPanel.this, null);
        }

        link = new BookmarkablePageLink<Void>("preview", DisplaySurveyUI.class, parameters);
    } else {
        linkLabelModel = new StringResourceModel("preview", EditStudyEntityPanel.this, null);

        link = new AjaxLink<Void>("preview") {
            private static final long serialVersionUID = 1L;

            @Override
            public void onClick(AjaxRequestTarget target) {
                notRegiteredModalWindow.show(target);
            }
        };
    }

    link.add(new Label("previewLabel", linkLabelModel));

    link.setEnabled(getStudy().getState() != StudyState.FINISHED && !getStudy().isDeleted());

    return link;
}

From source file:com.userweave.pages.configuration.project.projectbrowser.ProjectListViewPanel.java

License:Open Source License

/**
 * Populates the current row of the PageableListView.
 * /*from w w w .j a v a2 s  .co m*/
 * @param callback
 *       Callback to fire on event.
 * @param item
 *       The current row to populate.
 */
protected void populateItem(final EventHandler callback, ListItem<Project> item) {
    final Project project = item.getModelObject();

    AbstractLink select = getProjectSelectLink("select", project, callback);

    select.add(new Label("projectDescription", project.getDescription()));
    select.add(new Label("projectName", project.getName()));

    item.add(select);

    AbstractLink logoSelect = getProjectSelectLink("logoSelect", project, callback);

    logoSelect.add(ImageResource.createImage("logo", project.getLogo()));

    item.add(logoSelect);
}

From source file:com.userweave.pages.configuration.study.selection.StudySelectionAccordionHeader.java

License:Open Source License

public StudySelectionAccordionHeader(String id, final int studyId, final EventHandler callback) {
    super(id, studyId);

    AbstractLink select = new AjaxLink("select") {
        @Override// w ww . jav a 2 s . co  m
        public void onClick(AjaxRequestTarget target) {
            EntityEvent.Selected(target, getStudy()).fire(callback);
        }
    };

    select.add(new Label("name"));
    final StudyState state = getStudy().getState();
    if (state == StudyState.INIT) {
        select.add(new StudyDetailsParameterPanel("date", new StringResourceModel("constructed", this, null),
                new PropertyModel(getDefaultModel(), "creationDate.toDate")));
    } else if (state == StudyState.RUNNING) {
        select.add(new StudyDetailsParameterPanel("date", new StringResourceModel("activate", this, null),
                new PropertyModel(getDefaultModel(), "activationDate.toDate")));
    } else {
        select.add(new StudyDetailsParameterPanel("date", new StringResourceModel("closed", this, null),
                new PropertyModel(getDefaultModel(), "finishDate.toDate")));
    }

    // currently disabled

    //         add(new Label("state") {
    //            @Override
    //            public boolean isVisible() {
    //               return !getStudy().isDeleted();
    //            }
    //         });

    select.add(new WebMarkupContainer("container") {
        @Override
        public boolean isVisible() {
            return UserWeaveSession.get().getUser().isAdmin();
        }
    }.add(new Label("owner.email")));

    select.add(new StudyDetailsParameterPanel("deletedAt", new StringResourceModel("deleted", this, null),
            new PropertyModel(getDefaultModel(), "deletedAt.toDate")) {
        @Override
        public boolean isVisible() {
            return getStudy().isDeleted();
        }
    });

    add(select);

    //      AjaxLink reset = new AjaxLink("reset")
    //      {
    //         @Override
    //         public void onClick(AjaxRequestTarget target)
    //         {
    //            if(state == StudyState.RUNNING)
    //            {
    //               getStudy().setState(StudyState.INIT);
    //               EntityEvent.Purged(target, getStudy()).fire(callback);
    //            }
    //         }
    //      };
    //      
    //      add(reset);
}

From source file:de.alpharogroup.wicket.components.examples.basepage.ApplicationBasePage.java

License:Apache License

/**
 * Factory method for creating a new {@link Panel} for the footer area. This method is invoked
 * in the constructor from the derived classes and have to be overridden so users can provide
 * their own version of a new {@link Panel} for the footer area.
 *
 * @param id//from   w w w.  j a v  a 2 s . c  om
 *            the id
 * @param model
 *            the model
 * @return the new {@link Panel} for the footer area
 */
protected Panel newFooterPanel(final String id, final IModel<T> model) {
    final FooterPanel<List<LinkItem>> footerPanel = new FooterPanel<List<LinkItem>>(id, newFooterLinkItems()) {
        private static final long serialVersionUID = 1L;

        /**
         * {@inheritDoc}
         */
        @Override
        protected Component newFooterMenuPanel(final String id, final IModel<List<LinkItem>> model) {

            final FooterMenuPanel footerMenu = new FooterMenuPanel(id, model) {

                /** The Constant serialVersionUID. */
                private static final long serialVersionUID = 1L;

                /**
                 * {@inheritDoc}
                 */
                @Override
                protected Component newLinkListPanel(final String id, final IModel<List<LinkItem>> model) {
                    final LinkListPanel listPanel = new LinkListPanel(id, model) {
                        private static final long serialVersionUID = 1L;

                        /**
                         * {@inheritDoc}
                         */
                        @Override
                        protected String getCurrentPageCssClass() {
                            return "active";
                        }

                        /**
                         * {@inheritDoc}
                         */
                        @Override
                        protected Component newListComponent(final String id, final ListItem<LinkItem> item) {
                            final LinkItem model = item.getModelObject();
                            final Label itemLinkLabel = super.newItemLinkLabel("itemLinkLabel", model);
                            itemLinkLabel.add(new AttributeAppender("class", " a"));
                            final AbstractLink link = super.newAbstractLink(id, model);
                            link.add(new AttributeAppender("class", " btn btn-default"));
                            link.add(itemLinkLabel);
                            return link;
                        }
                    };
                    listPanel.add(new AttributeAppender("class", " btn"));
                    return listPanel;
                }
            };
            // Add bootstrap class to ul element...
            add(new JqueryStatementsBehavior()
                    .add(new BuildableChainableStatement.Builder().label("find").args(JsUtils.quotes("ul"))
                            .build())
                    .add(new BuildableChainableStatement.Builder().label("addClass")
                            .args(JsUtils.quotes("nav navbar-nav list-inline a")).build()));
            return footerMenu;
        }
    };
    return footerPanel;
}

From source file:de.alpharogroup.wicket.components.i18n.list.LinkListPanel.java

License:Apache License

/**
 * Factory method for creating the new item {@link AbstractLink} in the list. This method is
 * invoked in the constructor from the derived classes and can be overridden so users can
 * provide their own version of a new item {@link AbstractLink} in the list.
 *
 * @param id//  ww  w  . j  ava  2 s  . c o m
 *            the id
 * @param model
 *            the model
 * @return the new item {@link AbstractLink} in the list.
 */
protected AbstractLink newAbstractLink(final String id, final LinkItem model) {
    AttributeModifier target = null;
    AbstractLink link = null;
    if ((model.getTarget() != null) && !model.getTarget().isEmpty()) {
        target = new AttributeModifier("target", Model.of(model.getTarget()));
    }
    if (model.getUrl() != null) {
        link = new ExternalLink(id, Model.of(model.getUrl()));
    }
    if (link == null) {
        link = new BookmarkablePageLink<String>(id, model.getPageClass());
    }
    // if target not null then set it...
    if (target != null) {
        link.add(target);
    }
    link.setOutputMarkupId(true);
    return link;
}

From source file:de.alpharogroup.wicket.components.i18n.list.LinkListPanel.java

License:Apache License

/**
 * {@inheritDoc}// w  ww. jav  a2 s.  c  o  m
 */
@Override
protected Component newListComponent(final String id, final ListItem<LinkItem> item) {
    final LinkItem model = item.getModelObject();
    final Label itemLinkLabel = newItemLinkLabel("itemLinkLabel", model);
    final AbstractLink link = newAbstractLink(id, model);
    link.add(itemLinkLabel);
    return link;
}

From source file:eu.clarin.cmdi.virtualcollectionregistry.gui.menu.AjaxPopupMenu.java

License:Open Source License

public AjaxPopupMenu(String id, IModel<String> title) {
    super(id);/*from   ww  w.j ava2 s .c om*/
    setRenderBodyOnly(true);

    add(new Label("title", title));
    add(new ListView<MenuItem>("items", items) {
        @Override
        protected void populateItem(ListItem<MenuItem> item) {
            final MenuItem menuitem = item.getModelObject();
            final AbstractLink link = menuitem.newLink("link");
            link.add(new Label("label", menuitem.getLabel()));
            String cssClass = menuitem.getCssClass();
            if (cssClass != null) {
                link.add(new AttributeModifier("class", cssClass));
            }
            item.add(link);
            item.setVisible(menuitem.isVisible());
            item.setEnabled(menuitem.isEnabled());
        }
    });
}

From source file:guru.mmp.application.web.template.components.PagingNavigation.java

License:Apache License

/**
 * Populate the current cell with a page link (PagingNavigationLink) enclosing the page number
 * the link is pointing to. Subclasses may provide there own implementation adding more
 * sophisticated page links./*from   w w  w  .j ava  2 s.co m*/
 *
 * @see org.apache.wicket.markup.html.list.Loop#populateItem(
 * org.apache.wicket.markup.html.list.LoopItem)
 */
@Override
protected void populateItem(LoopItem loopItem) {
    // Get the index of page this link shall point to
    long pageIndex = getStartIndex() + loopItem.getIndex();

    // Add a page link pointing to the page
    AbstractLink link = newPagingNavigationLink("pageLink", pageable, pageIndex);

    if (pageable.getCurrentPage() == pageIndex) {
        loopItem.add(ACTIVE_CSS_CLASS_MODIFIER);
    }

    loopItem.add(link);

    // Add a page number label to the list which is enclosed by the link
    link.add(new Label("pageNumber", String.valueOf(pageIndex + 1)));
}