List of usage examples for org.apache.wicket.markup.html.link AbstractLink add
public MarkupContainer add(final Component... children)
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))); }