List of usage examples for org.apache.wicket.behavior AttributeAppender AttributeAppender
public AttributeAppender(String attribute, Serializable value)
From source file:ca.travelagency.navigation.BaseNavigationMenu.java
License:Apache License
protected Component bookmarkablePageLink(String id, Class<? extends Page> page, Class<? extends Page> currentPage) { Component component = new BookmarkablePageLink<String>(id, page); if (page.getSimpleName().equals(currentPage.getSimpleName())) { component.add(new AttributeAppender("class", "selected")); }//from w w w. j a va 2s.c om return component; }
From source file:com.cubeia.games.poker.admin.wicket.util.ArchiveLinkPanel.java
License:Open Source License
@SuppressWarnings("serial") public ArchiveLinkPanel(String id, final Archiver archiver, final Object entity, final Class<? extends BasePage> responsePage) { super(id);//w w w .j av a2s. c om Link<String> delete = new Link<String>("link", Model.of("delete")) { @Override public void onClick() { try { archiver.archive(); adminDAO.merge(entity); setResponsePage(responsePage); } catch (Exception ex) { this.getPage().error("Could not archive: " + ex.getMessage()); } } }; delete.add(new AttributeAppender("class", "btn btn-danger btn-mini")); add(delete); }
From source file:com.cubeia.games.poker.admin.wicket.util.DeleteLinkPanel.java
License:Open Source License
@SuppressWarnings("serial") public DeleteLinkPanel(String id, final Class<?> entityClass, final int entityId, final Class<? extends BasePage> responsePage) { super(id);//ww w. ja v a 2s . com Link<String> delete = new Link<String>("link", Model.of("delete")) { @Override public void onClick() { try { adminDAO.removeItem(entityClass, entityId); setResponsePage(responsePage); } catch (Exception ex) { this.getPage().error("Could not delete: " + ex.getMessage()); } } }; delete.add(new AttributeAppender("class", "btn btn-danger btn-mini")); add(delete); }
From source file:com.danhaywood.isis.wicket.ui.components.collectioncontents.gmap3.CollectionOfEntitiesAsLocatables.java
License:Apache License
private static void applyCssVisibility(final Component component, final boolean visible) { final AttributeModifier modifier = visible ? new AttributeModifier("class", String.valueOf(component.getMarkupAttributes().get("class")).replaceFirst(INVISIBLE_CLASS, "")) : new AttributeAppender("class", " " + INVISIBLE_CLASS); component.add(modifier);// w ww .j a v a 2s.c om }
From source file:com.evolveum.midpoint.gui.api.component.result.OperationResultPanel.java
License:Apache License
private void initHeader(WebMarkupContainer box) { WebMarkupContainer iconType = new WebMarkupContainer(ID_ICON_TYPE); iconType.setOutputMarkupId(true);//w w w .j av a 2s. c o m iconType.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { StringBuilder sb = new StringBuilder(); OpResult message = getModelObject(); switch (message.getStatus()) { case IN_PROGRESS: case NOT_APPLICABLE: sb.append(" fa-info"); break; case SUCCESS: sb.append(" fa-check"); break; case FATAL_ERROR: sb.append(" fa-ban"); break; case PARTIAL_ERROR: case UNKNOWN: case WARNING: case HANDLED_ERROR: default: sb.append(" fa-warning"); } return sb.toString(); } })); box.add(iconType); Label message = createMessage(); AjaxLink<String> showMore = new AjaxLink<String>(ID_MESSAGE) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { OpResult result = OperationResultPanel.this.getModelObject(); result.setShowMore(!result.isShowMore()); result.setAlreadyShown(false); // hack to be able to expand/collapse OpResult after rendered. target.add(OperationResultPanel.this); } }; showMore.add(message); box.add(showMore); AjaxLink<String> backgroundTask = new AjaxLink<String>(ID_BACKGROUND_TASK) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { final OpResult opResult = OperationResultPanel.this.getModelObject(); String oid = opResult.getBackgroundTaskOid(); if (oid == null || !opResult.isBackgroundTaskVisible()) { return; // just for safety } ObjectReferenceType ref = ObjectTypeUtil.createObjectRef(oid, ObjectTypes.TASK); WebComponentUtil.dispatchToObjectDetailsPage(ref, getPageBase(), false); } }; backgroundTask.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return getModelObject().getBackgroundTaskOid() != null && getModelObject().isBackgroundTaskVisible(); } }); box.add(backgroundTask); AjaxLink<String> showAll = new AjaxLink<String>(ID_SHOW_ALL) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { showHideAll(true, OperationResultPanel.this.getModelObject(), target); } }; showAll.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return !OperationResultPanel.this.getModelObject().isShowMore(); } }); box.add(showAll); AjaxLink<String> hideAll = new AjaxLink<String>(ID_HIDE_ALL) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { showHideAll(false, OperationResultPanel.this.getModel().getObject(), target); } }; hideAll.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return OperationResultPanel.this.getModelObject().isShowMore(); } }); box.add(hideAll); AjaxLink<String> close = new AjaxLink<String>("close") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { close(target); } }; box.add(close); DownloadLink downloadXml = new DownloadLink("downloadXml", new AbstractReadOnlyModel<File>() { private static final long serialVersionUID = 1L; @Override public File getObject() { String home = getPageBase().getMidpointConfiguration().getMidpointHome(); File f = new File(home, "result"); DataOutputStream dos = null; try { dos = new DataOutputStream(new FileOutputStream(f)); dos.writeBytes(OperationResultPanel.this.getModel().getObject().getXml()); } catch (IOException e) { LOGGER.error("Could not download result: {}", e.getMessage(), e); } finally { IOUtils.closeQuietly(dos); } return f; } }); downloadXml.setDeleteAfterDownload(true); box.add(downloadXml); }
From source file:com.evolveum.midpoint.gui.impl.component.form.TriStateFormGroup.java
License:Apache License
private void initLayout(IModel<String> label, final String tooltipKey, boolean isTooltipInModal, String labelCssClass, String textCssClass, boolean required, boolean isSimilarAsPropertyPanel) { WebMarkupContainer labelContainer = new WebMarkupContainer(ID_LABEL_CONTAINER); add(labelContainer);//from w ww. j av a 2s . c o m Label l = new Label(ID_LABEL, label); if (StringUtils.isNotEmpty(labelCssClass)) { labelContainer.add(AttributeAppender.prepend("class", labelCssClass)); } if (isSimilarAsPropertyPanel) { labelContainer.add(AttributeAppender.prepend("class", " col-xs-2 prism-property-label ")); } else { labelContainer.add(AttributeAppender.prepend("class", " control-label ")); } labelContainer.add(l); Label tooltipLabel = new Label(ID_TOOLTIP, new Model<>()); tooltipLabel.add(new AttributeAppender("data-original-title", new IModel<String>() { @Override public String getObject() { return getString(tooltipKey); } })); tooltipLabel.add(new InfoTooltipBehavior(isTooltipInModal)); tooltipLabel.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return tooltipKey != null; } }); tooltipLabel.setOutputMarkupId(true); tooltipLabel.setOutputMarkupPlaceholderTag(true); labelContainer.add(tooltipLabel); WebMarkupContainer requiredContainer = new WebMarkupContainer(ID_REQUIRED); requiredContainer.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return required; } }); labelContainer.add(requiredContainer); WebMarkupContainer propertyLabel = new WebMarkupContainer(ID_PROPERTY_LABEL); WebMarkupContainer rowLabel = new WebMarkupContainer(ID_ROW); WebMarkupContainer valueWrapper = new WebMarkupContainer(ID_VALUE_WRAPPER); if (StringUtils.isNotEmpty(textCssClass)) { valueWrapper.add(AttributeAppender.prepend("class", textCssClass)); } if (isSimilarAsPropertyPanel) { propertyLabel.add(AttributeAppender.prepend("class", " col-md-10 prism-property-value ")); rowLabel.add(AttributeAppender.prepend("class", " row ")); } propertyLabel.add(rowLabel); rowLabel.add(valueWrapper); add(propertyLabel); TriStateComboPanel triStateCombo = new TriStateComboPanel(ID_VALUE, getModel()); ; valueWrapper.add(triStateCombo); FeedbackPanel feedback = new FeedbackPanel(ID_FEEDBACK, new ComponentFeedbackMessageFilter(triStateCombo.getBaseFormComponent())); feedback.setOutputMarkupId(true); valueWrapper.add(feedback); }
From source file:com.evolveum.midpoint.web.component.assignment.MetadataPanel.java
License:Apache License
private void initLayout() { WebMarkupContainer metadataBlock = new WebMarkupContainer(ID_METADATA_BLOCK); metadataBlock.setOutputMarkupId(true); add(metadataBlock);//from w w w .ja va2s. c o m WebMarkupContainer headerContainer = new WebMarkupContainer(ID_HEADER_CONTAINER); headerContainer.setOutputMarkupId(true); headerContainer.add(new AttributeAppender("class", "prism-header " + additionalHeaderStyle)); metadataBlock.add(headerContainer); Label metadataHeader = new Label(ID_METADATA_LABEL, createStringResource("AssignmentEditorPanel.metadataBlock", header != null ? header : "")); metadataHeader.setOutputMarkupId(true); headerContainer.add(metadataHeader); RepeatingView metadataRowRepeater = new RepeatingView(ID_METADATA_ROW); metadataBlock.add(metadataRowRepeater); for (QName qname : metadataFieldsList) { WebMarkupContainer metadataRow = new WebMarkupContainer(metadataRowRepeater.newChildId()); metadataRow.setOutputMarkupId(true); if (metadataFieldsList.indexOf(qname) % 2 != 0) { metadataRow.add(new AttributeAppender("class", "stripe")); } metadataRowRepeater.add(metadataRow); metadataRow.add( new Label(ID_METADATA_PROPERTY_KEY, createStringResource(DOT_CLASS + qname.getLocalPart()))); IModel<String> metadataFieldModel = new IModel<String>() { @Override public String getObject() { PropertyModel<Object> tempModel = new PropertyModel<>(getModel(), qname.getLocalPart()); if (tempModel.getObject() instanceof XMLGregorianCalendar) { return WebComponentUtil.getLocalizedDate((XMLGregorianCalendar) tempModel.getObject(), DateLabelComponent.MEDIUM_MEDIUM_STYLE); } else if (tempModel.getObject() instanceof ObjectReferenceType) { ObjectReferenceType ref = (ObjectReferenceType) tempModel.getObject(); return WebComponentUtil.getName(ref, getPageBase(), OPERATION_LOAD_USER); } else if (tempModel.getObject() instanceof List) { List list = (List) tempModel.getObject(); String result = ""; for (Object o : list) { if (o instanceof ObjectReferenceType) { if (result.length() > 0) { result += ", "; } result += WebComponentUtil.getName((ObjectReferenceType) o, getPageBase(), OPERATION_LOAD_USER); } } return result; } return ""; } }; metadataRow.add(new Label(ID_METADATA_FILED, metadataFieldModel)); metadataRow.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return StringUtils.isNotEmpty(metadataFieldModel.getObject()); } }); } }
From source file:com.evolveum.midpoint.web.component.assignment.MultipleAssignmentSelector.java
License:Apache License
private void updateBoxedTablePanelStyles(BoxedTablePanel panel) { panel.getDataTableContainer()/*from w ww .j a v a 2 s .co m*/ .add(new AttributeAppender("class", " multiple-assignment-selector-table-container")); panel.getDataTable().add(new AttributeModifier("class", "multiple-assignment-selector-table")); panel.getFooterPaging().getParent() .add(new AttributeModifier("class", "multiple-assignment-selector-table-footer")); }
From source file:com.evolveum.midpoint.web.component.assignment.RoleCatalogItemButton.java
License:Apache License
private void initLayout() { setOutputMarkupId(true);//from www . java2 s. com WebMarkupContainer itemButtonContainer = new WebMarkupContainer(ID_ITEM_BUTTON_CONTAINER); itemButtonContainer.setOutputMarkupId(true); itemButtonContainer.add(new AttributeAppender("class", getBackgroundClass(getModelObject()))); add(itemButtonContainer); AjaxLink inner = new AjaxLink(ID_INNER) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { targetObjectDetailsPerformed(RoleCatalogItemButton.this.getModelObject(), ajaxRequestTarget); } }; inner.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isEnabled() { return isMultiUserRequest() || canAssign(RoleCatalogItemButton.this.getModelObject()); } }); inner.add(new AttributeAppender("title", getModelObject().getName())); itemButtonContainer.add(inner); Label nameLabel = new Label(ID_INNER_LABEL, getModelObject().getName()); inner.add(nameLabel); Label descriptionLabel = new Label(ID_INNER_DESCRIPTION, getModelObject().getTargetRef() != null ? getModelObject().getTargetRef().getDescription() : ""); descriptionLabel.setOutputMarkupId(true); inner.add(descriptionLabel); AjaxLink detailsLink = new AjaxLink(ID_DETAILS_LINK) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { assignmentDetailsPerformed(RoleCatalogItemButton.this.getModelObject(), ajaxRequestTarget); } }; detailsLink.add(getFooterLinksEnableBehaviour()); detailsLink.add(AttributeAppender.append("title", AssignmentsUtil.getShoppingCartAssignmentsLimitReachedTitleModel(getPageBase()))); detailsLink.add(AttributeAppender.append("class", new LoadableModel<String>() { @Override protected String load() { return detailsLink.isEnabled() ? "shopping-cart-item-button-details" : "shopping-cart-item-button-details-disabled"; } })); itemButtonContainer.add(detailsLink); Label detailsLinkLabel = new Label(ID_DETAILS_LINK_LABEL, createStringResource("MultiButtonPanel.detailsLink")); detailsLinkLabel.setRenderBodyOnly(true); detailsLink.add(detailsLinkLabel); AjaxLink detailsLinkIcon = new AjaxLink(ID_DETAILS_LINK_ICON) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { } }; detailsLinkIcon.add(getFooterLinksEnableBehaviour()); detailsLink.add(detailsLinkIcon); AjaxLink addToCartLink = new AjaxLink(ID_ADD_TO_CART_LINK) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { addAssignmentPerformed(RoleCatalogItemButton.this.getModelObject(), ajaxRequestTarget); } }; addToCartLink.add(getFooterLinksEnableBehaviour()); addToCartLink.add(AttributeAppender.append("title", AssignmentsUtil.getShoppingCartAssignmentsLimitReachedTitleModel(getPageBase()))); addToCartLink.add(AttributeAppender.append("class", new LoadableModel<String>() { @Override protected String load() { return addToCartLink.isEnabled() ? "shopping-cart-item-button-add" : "shopping-cart-item-button-add-disabled"; } })); itemButtonContainer.add(addToCartLink); AjaxLink addToCartLinkIcon = new AjaxLink(ID_ADD_TO_CART_LINK_ICON) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { } }; addToCartLinkIcon.add(getFooterLinksEnableBehaviour()); addToCartLink.add(addToCartLinkIcon); WebMarkupContainer icon = new WebMarkupContainer(ID_TYPE_ICON); icon.add(new AttributeAppender("class", WebComponentUtil.createDefaultBlackIcon(getModelObject().getType().getQname()))); itemButtonContainer.add(icon); WebMarkupContainer alreadyAssignedIcon = new WebMarkupContainer(ID_ALREADY_ASSIGNED_ICON); alreadyAssignedIcon.add(new AttributeAppender("title", getAlreadyAssignedIconTitleModel(getModelObject()))); alreadyAssignedIcon.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return !isMultiUserRequest() && getModelObject().isAlreadyAssigned(); } }); itemButtonContainer.add(alreadyAssignedIcon); }
From source file:com.evolveum.midpoint.web.component.assignment.UserSelectionButton.java
License:Apache License
private void initLayout() { AjaxLink<String> userSelectionButton = new AjaxLink<String>(ID_USER_SELECTION_BUTTON) { private static final long serialVersionUID = 1L; @Override/*from w ww . j av a 2 s .c o m*/ protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.setEventPropagation(AjaxRequestAttributes.EventPropagation.BUBBLE); } @Override public void onClick(AjaxRequestTarget target) { if (showUserSelectionPopup) { initUserSelectionPopup(target); } showUserSelectionPopup = true; } }; userSelectionButton.add(AttributeModifier.append("class", getTargetUserButtonClass())); userSelectionButton.setOutputMarkupId(true); userSelectionButton.add(new AttributeAppender("title", new IModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { return getUserSelectionButtonTitle(); } })); add(userSelectionButton); Label label = new Label(ID_USER_SELECTION_BUTTON_LABEL, new IModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { return getUserButtonLabel(); } }); label.setRenderBodyOnly(true); userSelectionButton.add(label); AjaxLink deleteButton = new AjaxLink(ID_DELETE_SELECTED_USER_BUTTON) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { UserSelectionButton.this.onDeleteSelectedUsersPerformed(target); } }; deleteButton.add(new VisibleEnableBehaviour() { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return isDeleteButtonVisible(); } }); userSelectionButton.add(deleteButton); }