Example usage for org.apache.wicket.behavior AttributeAppender AttributeAppender

List of usage examples for org.apache.wicket.behavior AttributeAppender AttributeAppender

Introduction

In this page you can find the example usage for org.apache.wicket.behavior AttributeAppender AttributeAppender.

Prototype

public AttributeAppender(String attribute, Serializable value) 

Source Link

Document

Creates an attribute modifier that appends the value to the attribute's current value, optionally separated by the #getSeparator() separator .

Usage

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);
}