Example usage for org.apache.wicket.ajax.markup.html AjaxLink isEnabled

List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink isEnabled

Introduction

In this page you can find the example usage for org.apache.wicket.ajax.markup.html AjaxLink isEnabled.

Prototype

public boolean isEnabled() 

Source Link

Document

Gets whether this component is enabled.

Usage

From source file:com.evolveum.midpoint.web.component.assignment.RoleCatalogItemButton.java

License:Apache License

private void initLayout() {
    setOutputMarkupId(true);/*w  ww. ja  v  a2s.  c o  m*/

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

}