List of usage examples for org.apache.wicket.markup.html.link AbstractLink addOrReplace
public MarkupContainer addOrReplace(final Component... children)
From source file:org.apache.isis.viewer.wicket.ui.components.actionmenu.entityactions.AdditionalLinksPanel.java
License:Apache License
protected AdditionalLinksPanel(final String id, final List<LinkAndLabel> links) { super(id, new ListOfLinksModel(links)); final List<LinkAndLabel> linkAndLabels = getModel().getObject(); final WebMarkupContainer container = new WebMarkupContainer(ID_ADDITIONAL_LINK_LIST); addOrReplace(container);//from ww w. ja va2 s.c o m container.setOutputMarkupId(true); setOutputMarkupId(true); final ListView<LinkAndLabel> listView = new ListView<LinkAndLabel>(ID_ADDITIONAL_LINK_ITEM, linkAndLabels) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<LinkAndLabel> item) { final LinkAndLabel linkAndLabel = item.getModelObject(); final AbstractLink link = linkAndLabel.getLink(); final String itemTitle = first(linkAndLabel.getDisabledReasonIfAny(), linkAndLabel.getDescriptionIfAny()); if (itemTitle != null) { item.add(new AttributeAppender("title", itemTitle)); } final Label viewTitleLabel = new Label(ID_ADDITIONAL_LINK_TITLE, linkAndLabel.getLabel()); if (linkAndLabel.isBlobOrClob()) { link.add(new CssClassAppender("noVeil")); } if (linkAndLabel.isPrototype()) { link.add(new CssClassAppender("prototype")); } link.add(new CssClassAppender(linkAndLabel.getActionIdentifier())); SemanticsOf semantics = linkAndLabel.getSemantics(); if (linkAndLabel.getParameters().isNoParameters() && linkAndLabel.getDisabledReasonIfAny() == null) { addConfirmationDialogIfAreYouSureSemantics(link, semantics); } final String cssClass = linkAndLabel.getCssClass(); CssClassAppender.appendCssClassTo(link, cssClass); viewTitleLabel.add(new CssClassAppender(StringExtensions.asLowerDashed(linkAndLabel.getLabel()))); link.addOrReplace(viewTitleLabel); final String cssClassFa = linkAndLabel.getCssClassFa(); if (!Strings.isNullOrEmpty(cssClassFa)) { final CssClassFaPosition position = linkAndLabel.getCssClassFaPosition(); viewTitleLabel.add(new CssClassFaBehavior(cssClassFa, position)); } item.addOrReplace(link); } }; container.addOrReplace(listView); }
From source file:org.apache.isis.viewer.wicket.ui.components.actionmenu.serviceactions.ServiceActionUtil.java
License:Apache License
static void addLeafItem(final CssMenuItem menuItem, final ListItem<CssMenuItem> listItem, final MarkupContainer parent) { Fragment leafItem;//ww w. j a v a 2 s. c o m if (!menuItem.isSeparator()) { leafItem = new Fragment("content", "leafItem", parent); AbstractLink subMenuItemLink = menuItem.getLink(); Label menuItemLabel = new Label("menuLinkLabel", menuItem.getName()); subMenuItemLink.addOrReplace(menuItemLabel); if (!menuItem.isEnabled()) { listItem.add(new CssClassAppender("disabled")); subMenuItemLink.setEnabled(false); TooltipBehavior tooltipBehavior = new TooltipBehavior(Model.of(menuItem.getDisabledReason())); listItem.add(tooltipBehavior); } if (menuItem.isPrototyping()) { subMenuItemLink.add(new CssClassAppender("prototype")); } leafItem.add(subMenuItemLink); String cssClassFa = menuItem.getCssClassFa(); if (Strings.isNullOrEmpty(cssClassFa)) { subMenuItemLink.add(new CssClassAppender("menuLinkSpacer")); } else { menuItemLabel.add(new CssClassFaBehavior(cssClassFa, menuItem.getCssClassFaPosition())); } String cssClass = menuItem.getCssClass(); if (!Strings.isNullOrEmpty(cssClass)) { subMenuItemLink.add(new CssClassAppender(cssClass)); } } else { leafItem = new Fragment("content", "empty", parent); listItem.add(new CssClassAppender("divider")); } listItem.add(leafItem); }
From source file:org.apache.isis.viewer.wicket.ui.components.additionallinks.AdditionalLinksPanel.java
License:Apache License
public AdditionalLinksPanel(final String id, final List<LinkAndLabel> links) { super(id, new ListOfLinksModel(links)); this.linkAndLabels = getModel().getObject(); final WebMarkupContainer container = new WebMarkupContainer(ID_ADDITIONAL_LINK_LIST); addOrReplace(container);/*ww w . j a va 2s. com*/ container.setOutputMarkupId(true); setOutputMarkupId(true); final ListView<LinkAndLabel> listView = new ListView<LinkAndLabel>(ID_ADDITIONAL_LINK_ITEM, this.linkAndLabels) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<LinkAndLabel> item) { final LinkAndLabel linkAndLabel = item.getModelObject(); final AbstractLink link = linkAndLabel.getLink(); Label viewTitleLabel = new Label(ID_ADDITIONAL_LINK_TITLE, linkAndLabel.getLabel()); String disabledReasonIfAny = linkAndLabel.getDisabledReasonIfAny(); if (disabledReasonIfAny != null) { viewTitleLabel.add(new AttributeAppender("title", disabledReasonIfAny)); } if (linkAndLabel.isBlobOrClob()) { link.add(new CssClassAppender("noVeil")); } if (linkAndLabel.isPrototype()) { link.add(new CssClassAppender("prototype")); } link.add(new CssClassAppender(linkAndLabel.getActionIdentifier())); String cssClass = linkAndLabel.getCssClass(); if (cssClass != null) { item.add(new CssClassAppender(cssClass)); } viewTitleLabel.add(new CssClassAppender(StringExtensions.asLowerDashed(linkAndLabel.getLabel()))); link.addOrReplace(viewTitleLabel); item.addOrReplace(link); } }; container.addOrReplace(listView); }
From source file:org.apache.isis.viewer.wicket.ui.components.bookmarkedpages.BookmarkedPagesPanel.java
License:Apache License
private void buildGui() { final BookmarkedPagesModel bookmarkedPagesModel = getModel(); Component helpText = addHelpText(bookmarkedPagesModel); addOrReplace(helpText);/*w w w.j a v a 2 s .c o m*/ final WebMarkupContainer container = new WebMarkupContainer(ID_BOOKMARK_LIST) { private static final long serialVersionUID = 1L; @Override public void renderHead(IHeaderResponse response) { response.render(CssHeaderItem.forReference( new CssResourceReference(BookmarkedPagesPanel.class, "BookmarkedPagesPanel.css"))); response.render(JavaScriptReferenceHeaderItem.forReference(SLIDE_PANEL_JS)); } }; // allow to be updated by AjaxLink container.setOutputMarkupId(true); add(container); final AjaxLink<Void> clearAllBookmarksLink = new AjaxLink<Void>(CLEAR_BOOKMARKS) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { BookmarkedPagesPanel.this.getModel().clear(); setEnabled(false); target.add(container, this); } }; clearAllBookmarksLink.setOutputMarkupId(true); add(clearAllBookmarksLink); clearAllBookmarksLink.setOutputMarkupId(true); if (getModel().isEmpty()) { clearAllBookmarksLink.setVisible(false); } final ListView<BookmarkTreeNode> listView = new ListView<BookmarkTreeNode>(ID_BOOKMARKED_PAGE_ITEM, bookmarkedPagesModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<BookmarkTreeNode> item) { final BookmarkTreeNode node = item.getModelObject(); try { final PageType pageType = node.getPageType(); final Class<? extends Page> pageClass = pageClassRegistry.getPageClass(pageType); final AjaxLink<Object> clearBookmarkLink = new AjaxLink<Object>(ID_CLEAR_BOOKMARK_LINK) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { bookmarkedPagesModel.remove(node); if (bookmarkedPagesModel.isEmpty()) { permanentlyHide(CLEAR_BOOKMARKS); } target.add(container, clearAllBookmarksLink); } }; if (node.getDepth() == 0) { clearBookmarkLink.add(new CssClassAppender("clearBookmark")); } else { clearBookmarkLink.setEnabled(true); } item.add(clearBookmarkLink); PageParameters pageParameters = node.getPageParameters(); final AbstractLink link = Links.newBookmarkablePageLink(ID_BOOKMARKED_PAGE_LINK, pageParameters, pageClass); ObjectSpecification objectSpec = null; RootOid oid = node.getOidNoVer(); if (oid != null) { ObjectSpecId objectSpecId = oid.getObjectSpecId(); objectSpec = getSpecificationLoader().lookupBySpecId(objectSpecId); } final ResourceReference imageResource = imageCache.resourceReferenceForSpec(objectSpec); final Image image = new Image(ID_BOOKMARKED_PAGE_ICON, imageResource) { private static final long serialVersionUID = 1L; @Override protected boolean shouldAddAntiCacheParameter() { return false; } }; link.addOrReplace(image); String title = node.getTitle(); final Label label = new Label(ID_BOOKMARKED_PAGE_TITLE, title); link.add(label); item.add(link); if (bookmarkedPagesModel.isCurrent(pageParameters)) { item.add(new CssClassAppender("disabled")); } item.add(new CssClassAppender("bookmarkDepth" + node.getDepth())); } catch (ObjectNotFoundException ex) { // ignore // this is a partial fix for an infinite redirect loop. // should be a bit smarter here, though; see ISIS-596. } } }; container.add(listView); }
From source file:org.apache.isis.viewer.wicket.ui.components.entity.blocks.icontitle.EntityIconAndTitlePanel.java
License:Apache License
private WebMarkupContainer addOrReplaceLinkWrapper(final EntityModel entityModel) { final ObjectAdapter adapter = entityModel.getObject(); final PageParameters pageParameters = EntityModel.createPageParameters(adapter); final Class<? extends Page> pageClass = getPageClassRegistry().getPageClass(PageType.ENTITY); final AbstractLink link = newLink(ID_ENTITY_LINK, pageClass, pageParameters); label = new Label(ID_ENTITY_TITLE, determineTitle()); link.add(label);//from ww w . ja v a2 s .co m final ResourceReference imageResource = imageCache.resourceReferenceFor(adapter); image = new Image(ID_ENTITY_ICON, imageResource) { private static final long serialVersionUID = 1L; @Override protected boolean shouldAddAntiCacheParameter() { return false; } }; link.addOrReplace(image); final WebMarkupContainer entityLinkWrapper = new WebMarkupContainer(ID_ENTITY_LINK_WRAPPER); entityLinkWrapper.addOrReplace(link); return entityLinkWrapper; }
From source file:org.apache.isis.viewer.wicket.ui.components.entity.icontitle.EntityIconAndTitlePanel.java
License:Apache License
private AbstractLink createIconAndTitle(final ObjectAdapter adapter) { final AbstractLink link = createLinkWrapper(); final String title = determineTitle(); final String iconName = adapter.getIconName(); final CssClassFaFacet cssClassFaFacet = adapter.getSpecification().getFacet(CssClassFaFacet.class); if (iconName != null || cssClassFaFacet == null) { link.addOrReplace(this.image = newImage(ID_ENTITY_ICON, adapter)); Components.permanentlyHide(link, ID_ENTITY_FONT_AWESOME); } else {/*from ww w . jav a 2 s . com*/ Label dummy = new Label(ID_ENTITY_FONT_AWESOME, ""); link.addOrReplace(dummy); dummy.add(new CssClassAppender(cssClassFaFacet.value() + " fa-2x")); Components.permanentlyHide(link, ID_ENTITY_ICON); } link.addOrReplace(this.label = newLabel(ID_ENTITY_TITLE, titleAbbreviated(title))); String entityTypeName = adapter.getSpecification().getSingularName(); link.add(new AttributeModifier("title", entityTypeName + ": " + title)); return link; }