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

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

Introduction

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

Prototype

public final Component setVisible(final boolean visible) 

Source Link

Document

Sets whether this component and any children are visible.

Usage

From source file:cz.zcu.kiv.eegdatabase.wui.ui.groups.ListOfMembersGroupPage.java

License:Apache License

private void setupComponents(final int groupId) {

    add(new Label("title", facade.getResearchGroupTitle(groupId)));

    final WebMarkupContainer container = new WebMarkupContainer("container");
    container.setOutputMarkupPlaceholderTag(true);

    LoadableDetachableModel<List<Map<String, Object>>> listModel = new LoadableDetachableModel<List<Map<String, Object>>>() {

        private static final long serialVersionUID = 1L;

        @Override/*from  w w  w  .j a v  a  2 s  . com*/
        protected List<Map<String, Object>> load() {
            return facade.getListOfGroupMembers(groupId);
        }
    };

    final boolean isUserGroupAdmin = securityFacade.userIsAdminInGroup(groupId);

    PropertyListView<Map<String, Object>> members = new PropertyListView<Map<String, Object>>("members",
            listModel) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Map<String, Object>> item) {
            final Map<String, Object> person = item.getModelObject();
            boolean enabled = true;

            final int personId = (Integer) person.get("personId");
            final ResearchGroupMembershipId id = new ResearchGroupMembershipId(personId, groupId);

            item.add(new Label("givenname", (String) person.get("givenname")));
            item.add(new Label("surname", (String) person.get("surname")));
            item.add(new Label("username",
                    (String) (person.get("username") != null ? person.get("username") : "---")));
            GroupRole role = GroupRole.valueOf((String) person.get("authority"));
            item.add(new EnumLabel<GroupRole>("authority", role));

            final DropDownChoice<GroupRole> roles = new DropDownChoice<GroupRole>("roles",
                    new Model<GroupRole>(role), Arrays.asList(GroupRole.values()),
                    new EnumChoiceRenderer<GroupRole>());
            roles.add(new AjaxFormComponentUpdatingBehavior("onChange") {

                private static final long serialVersionUID = 1L;

                @Override
                protected void onUpdate(AjaxRequestTarget target) {

                    GroupRole groupRole = roles.getModelObject();
                    ResearchGroupMembership membership = facade.readMemberhip(id);
                    membership.setAuthority(groupRole.name());
                    facade.updateMemberhip(membership);

                    setResponsePage(getPage());
                }

            });

            roles.setVisibilityAllowed(isUserGroupAdmin);
            Person owner = personFacade.getPerson((String) person.get("username"));
            List<ResearchGroup> groups = facade.getResearchGroupsWhereOwner(owner);
            for (ResearchGroup group : groups) {
                if (group.getResearchGroupId() == groupId) {
                    enabled = false;
                }
            }

            item.setEnabled(enabled);
            item.add(roles);

            AjaxLink<Void> removeLink = (new AjaxLink<Void>("removeFromGroupLink") {

                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {

                    ResearchGroupMembership membership = facade.readMemberhip(id);
                    facade.deleteMemberhip(membership);

                    setResponsePage(getPage());
                }

                @Override
                protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
                    super.updateAjaxAttributes(attributes);

                    AjaxCallListener ajaxCallListener = new AjaxCallListener();
                    ajaxCallListener.onPrecondition("return confirm('"
                            + ResourceUtils.getString("link.confirm.sureToRemoveUserFromGroup") + "');");
                    attributes.getAjaxCallListeners().add(ajaxCallListener);
                }
            });
            removeLink.setVisibilityAllowed(isUserGroupAdmin);
            removeLink.setVisible(enabled);
            item.add(removeLink);

        }
    };

    container.add(members);

    BookmarkablePageLink<Void> backToDetailLink = new BookmarkablePageLink<Void>("backLink",
            ResearchGroupsDetailPage.class, PageParametersUtils.getDefaultPageParameters(groupId));
    BookmarkablePageLink<Void> addMemberLink = new BookmarkablePageLink<Void>("addMemberLink",
            AddMemberToGroupPage.class, PageParametersUtils.getDefaultPageParameters(groupId));
    BookmarkablePageLink<Void> transferOwnershipLink = new BookmarkablePageLink<Void>("transferOwnershipLink",
            TransferOwnershipPage.class, PageParametersUtils.getDefaultPageParameters(groupId));
    addMemberLink.setVisibilityAllowed(isUserGroupAdmin);
    transferOwnershipLink.setVisibilityAllowed(isLoggedPersonOwner);

    add(container, backToDetailLink, addMemberLink, transferOwnershipLink);

}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.order.OrderItemPanel.java

License:Apache License

private ModalWindow addPromoCodePopup(final OrderItem parent, WebMarkupContainer membershipPlanContainer) {
    final ModalWindow popup = new ModalWindow("promoCodePopup");
    popup.setAutoSize(true);/* w  w w . j a v  a  2 s  . co m*/
    popup.setResizable(false);
    popup.setMinimalWidth(500);
    popup.setWidthUnit("px");
    popup.showUnloadConfirmation(false);

    PromoCodePopupForm popupForm = new PromoCodePopupForm(popup.getContentId(),
            new Model<StringWrapper>(new StringWrapper())) {

        @Override
        protected void onSubmitAction(IModel<StringWrapper> strWrapper, AjaxRequestTarget target,
                Form<?> form) {
            String code = strWrapper.getObject().getValue();
            if (parent.getMembershipPlan() != null) {
                if (parent.getResearchGroup() == null) {
                    if (promoFacade.isValidPersonalPlanCode(code)) {
                        PromoCode promoCode = promoFacade.getPromoCodeByKeyword(code);
                        parent.setPromoCode(promoCode);
                        double price = parent.getMembershipPlan().getPrice().doubleValue()
                                * (1d - ((double) promoCode.getDiscount() / 100d));
                        parent.setPrice(new BigDecimal(price));
                    }
                } else {
                    if (promoFacade.isValidGroupPlanCode(code)) {
                        PromoCode promoCode = promoFacade.getPromoCodeByKeyword(code);
                        parent.setPromoCode(promoCode);
                        double price = parent.getMembershipPlan().getPrice().doubleValue()
                                * (1d - ((double) promoCode.getDiscount() / 100d));
                        parent.setPrice(new BigDecimal(price));
                    }
                }
            }
            ModalWindow.closeCurrent(target);
            setResponsePage(ShoppingCartPage.class);
        }

        @Override
        protected void onCancelAction(IModel<StringWrapper> strWrapper, AjaxRequestTarget target,
                Form<?> form) {
            ModalWindow.closeCurrent(target);
        }

    };
    popup.setContent(popupForm);
    membershipPlanContainer.add(popup);
    AjaxLink popupLink = new AjaxLink<Object>("applyPromoCode") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            //License l = this.getModelObject();
            //if (l!=null) System.out.println(l.getTitle());
            popup.show(target);
        }

    };
    popup.setOutputMarkupPlaceholderTag(true);
    popup.setVisibilityAllowed(true);
    String promoCode = "";
    if (parent.getPromoCode() != null) {
        promoCode = "Applied code: " + parent.getPromoCode().getKeyword() + " ("
                + parent.getPromoCode().getDiscount() + "% off)";
    }
    membershipPlanContainer.add(new Label("promoCodeText", promoCode));
    membershipPlanContainer.add(popupLink);
    popupLink.setVisible(malleable);
    return popup;
}

From source file:guru.mmp.application.web.template.pages.UserAdministrationPage.java

License:Apache License

/**
 * Constructs a new <code>UserAdministrationPage</code>.
 *///from  w  w  w .j  a  va2s  .  com
public UserAdministrationPage() {
    super("Users");

    try {
        /*
         * Retrieve the list of user directories for the organisation the currently logged on user
         * is associated with and default to the first user directory.
         */
        List<UserDirectory> userDirectories = getUserDirectories();

        userDirectory = userDirectories.get(0);

        /*
         * The table container, which allows the table and its associated navigator to be updated
         * using AJAX.
         */
        WebMarkupContainer tableContainer = new WebMarkupContainer("tableContainer");
        tableContainer.setOutputMarkupId(true);
        add(tableContainer);

        // The dialog used to confirm the removal of a user
        RemoveDialog removeDialog = new RemoveDialog(tableContainer);
        add(removeDialog);

        // The "addLink" used to add a new user
        Link<Void> addLink = new Link<Void>("addLink") {
            private static final long serialVersionUID = 1000000;

            @Override
            public void onClick() {
                AddUserPage page = new AddUserPage(getPageReference(), userDirectory.getId());

                setResponsePage(page);
            }
        };
        tableContainer.add(addLink);

        FilteredUserDataProvider dataProvider = new FilteredUserDataProvider(userDirectory.getId());

        // The "userDirectoryDropdownMenu" dropdown button
        DropdownMenu<UserDirectory> userDirectoryDropdownMenu = new DropdownMenu<UserDirectory>(
                "userDirectoryDropdownMenu", new PropertyModel<>(this, "userDirectory"), userDirectories,
                "fa fa-users") {
            @Override
            protected String getDisplayValue(UserDirectory menuItem) {
                return menuItem.getName();
            }

            @Override
            protected void onMenuItemSelected(AjaxRequestTarget target, UserDirectory menuItem) {
                dataProvider.setUserDirectoryId(userDirectory.getId());

                if (target != null) {
                    target.add(tableContainer);

                    target.appendJavaScript(
                            "jQuery('[data-toggle=\"tooltip\"]').tooltip({container: 'body', animation: false});");
                }
            }
        };
        userDirectoryDropdownMenu.setVisible(userDirectories.size() > 1);
        tableContainer.add(userDirectoryDropdownMenu);

        // The "filterForm" form
        Form<Void> filterForm = new Form<>("filterForm");
        filterForm.setMarkupId("filterForm");
        filterForm.setOutputMarkupId(true);

        // The "filter" field
        TextField<String> filterField = new TextField<>("filter", new PropertyModel<>(dataProvider, "filter"));
        filterForm.add(filterField);

        // The "filterButton" button
        Button filterButton = new Button("filterButton") {
            private static final long serialVersionUID = 1000000;

            @Override
            public void onSubmit() {
            }
        };
        filterButton.setDefaultFormProcessing(true);
        filterForm.add(filterButton);

        // The "resetButton" button
        Button resetButton = new Button("resetButton") {
            private static final long serialVersionUID = 1000000;

            @Override
            public void onSubmit() {
                dataProvider.setFilter("");
            }
        };
        filterForm.add(resetButton);

        tableContainer.add(filterForm);

        // The user data view
        DataView<User> dataView = new DataView<User>("user", dataProvider) {
            private static final long serialVersionUID = 1000000;

            @Override
            protected void populateItem(Item<User> item) {
                User user = item.getModelObject();

                item.add(new Label("username", new PropertyModel<String>(item.getModel(), "username")));
                item.add(new Label("firstName", new PropertyModel<String>(item.getModel(), "firstName")));
                item.add(new Label("lastName", new PropertyModel<String>(item.getModel(), "lastName")));

                // The "userGroupsLink" link
                Link<Void> userGroupsLink = new Link<Void>("userGroupsLink") {
                    private static final long serialVersionUID = 1000000;

                    @Override
                    public void onClick() {
                        User user = item.getModelObject();

                        if (!user.getUsername().equalsIgnoreCase("Administrator")) {
                            UserGroupsPage page = new UserGroupsPage(getPageReference(), userDirectory.getId(),
                                    user.getUsername());

                            setResponsePage(page);
                        }
                    }
                };
                item.add(userGroupsLink);

                // The "updateLink" link
                Link<Void> updateLink = new Link<Void>("updateLink") {
                    private static final long serialVersionUID = 1000000;

                    @Override
                    public void onClick() {
                        User user = item.getModelObject();

                        if (!user.getUsername().equalsIgnoreCase("Administrator")) {
                            UpdateUserPage page = new UpdateUserPage(getPageReference(), item.getModel());

                            setResponsePage(page);
                        }
                    }
                };
                updateLink.setVisible(!user.isReadOnly());
                item.add(updateLink);

                // The "resetPassword" link
                Link<Void> resetPasswordLink = new Link<Void>("resetPasswordLink") {
                    private static final long serialVersionUID = 1000000;

                    @Override
                    public void onClick() {
                        ResetUserPasswordPage page = new ResetUserPasswordPage(getPageReference(),
                                new Model<>(item.getModelObject()));

                        setResponsePage(page);
                    }
                };
                resetPasswordLink.setVisible(!user.isReadOnly());
                item.add(resetPasswordLink);

                // The "removeLink" link
                AjaxLink<Void> removeLink = new AjaxLink<Void>("removeLink") {
                    private static final long serialVersionUID = 1000000;

                    @Override
                    public void onClick(AjaxRequestTarget target) {
                        User user = item.getModelObject();

                        if (user != null) {
                            if (!user.getUsername().equalsIgnoreCase("Administrator")) {
                                removeDialog.show(target, user);
                            }
                        } else {
                            target.add(tableContainer);
                        }
                    }
                };
                removeLink.setVisible(!user.isReadOnly());
                item.add(removeLink);
            }
        };
        dataView.setItemsPerPage(10);
        dataView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance());
        tableContainer.add(dataView);

        tableContainer.add(new PagingNavigator("navigator", dataView));
    } catch (Throwable e) {
        throw new WebApplicationException("Failed to initialise the UserAdministrationPage", e);
    }
}

From source file:hsa.awp.usergui.registrationmanagement.ConfirmedRegistrationManagementPanel.java

License:Open Source License

public ConfirmedRegistrationManagementPanel(String id, final List<ConfirmedRegistration> registrations) {

    super(id);// www  . j  a va 2  s .co  m

    final MarkupContainer box = new WebMarkupContainer("FifoManagementBox");
    box.setOutputMarkupId(true);

    final LoadableDetachedModel<List<ConfirmedRegistration>> regModel = new LoadableDetachedModel<List<ConfirmedRegistration>>() {
        /**
         * unique serialization id.
         */
        private static final long serialVersionUID = -5771746782326674752L;

        @Override
        protected List<ConfirmedRegistration> load() {

            SingleUser singleUser = controller
                    .getUserById(SecurityContextHolder.getContext().getAuthentication().getName());
            return controller.findConfirmedRegistrationsByParticipantId(singleUser.getId());
        }
    };

    box.add(new ListView<ConfirmedRegistration>("registrationList", regModel) {
        /**
         * generated uid.
         */
        private static final long serialVersionUID = 5261679476830400718L;

        @Override
        protected void populateItem(final ListItem<ConfirmedRegistration> item) {

            ConfirmedRegistration registration = item.getModelObject();
            Event event = controller.getEventById(registration.getEventId());

            item.add(new Label("regName", formatIdSubjectNameAndDetailInformation(event)));

            if (registration.getProcedure() == null) {
                item.add(new Label("procedureName", "direkt"));
            } else {
                item.add(new Label("procedureName", registration.getProcedure().getName()));
            }

            AjaxLink<String> deleteLink = new AjaxLink<String>("regCancelLink") {
                /**
                 * generated UID.
                 */
                private static final long serialVersionUID = 7720300709649429249L;

                @Override
                public void onClick(AjaxRequestTarget target) {

                    controller.deleteConfirmedRegistration(item.getModelObject());

                    RegistrationManagementPanel regPan = findParent(RegistrationManagementPanel.class);
                    if (regPan != null) {
                        regPan.update(target);
                    }

                    target.addComponent(box);
                    regModel.detach();
                }
            };

            deleteLink.setVisible(controller.isCampaignOpen(item.getModelObject()));

            item.add(deleteLink);
            deleteLink.add(new JavascriptEventConfirmation("onclick", "Sind Sie sicher?/Are you sure?"));
        }
    });

    add(box);
}

From source file:net.rrm.ehour.ui.common.form.FormUtil.java

License:Open Source License

public static void setSubmitActions(final FormConfig formConfig) {
    final boolean inDemoMode = formConfig.getConfig().isInDemoMode();

    AjaxButton submitButton = new AjaxButton("submitButton", formConfig.getForm()) {
        @Override// w ww.j a va 2 s. c  o m
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            if (!inDemoMode) {
                AdminBackingBean backingBean = (AdminBackingBean) formConfig.getForm().getDefaultModelObject();
                PayloadAjaxEvent<AdminBackingBean> ajaxEvent = new PayloadAjaxEvent<>(
                        formConfig.getSubmitEventType(), backingBean);

                EventPublisher.publishAjaxEvent(formConfig.getSubmitTarget(), ajaxEvent);
            }
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);

            attributes.getAjaxCallListeners()
                    .add(inDemoMode ? new DemoDecorator() : new LoadingSpinnerDecorator());
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(form);

            if (formConfig.getErrorEventType() != null) {
                AjaxEvent errorEvent = new AjaxEvent(formConfig.getErrorEventType());
                EventPublisher.publishAjaxEvent(formConfig.getSubmitTarget(), errorEvent);
            }
        }
    };

    submitButton.setModel(new ResourceModel("general.save"));
    // default submit
    formConfig.getForm().add(submitButton);

    AjaxLink<Void> deleteButton = new AjaxLink<Void>("deleteButton") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            if (!inDemoMode) {
                AdminBackingBean backingBean = (AdminBackingBean) formConfig.getForm().getDefaultModelObject();
                PayloadAjaxEvent<AdminBackingBean> ajaxEvent = new PayloadAjaxEvent<>(
                        formConfig.getDeleteEventType(), backingBean);

                EventPublisher.publishAjaxEvent(formConfig.getSubmitTarget(), ajaxEvent);
            }
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);

            List<IAjaxCallListener> callListeners = attributes.getAjaxCallListeners();

            if (inDemoMode) {
                callListeners.add(new DemoDecorator());
            } else {
                callListeners.add(new JavaScriptConfirmation(new ResourceModel("general.deleteConfirmation")));
                callListeners.add(new LoadingSpinnerDecorator());
            }
        }
    };

    deleteButton.setVisible(formConfig.isIncludeDelete());
    formConfig.getForm().add(deleteButton);
}

From source file:net.rrm.ehour.ui.common.panel.entryselector.EntrySelectorPanel.java

License:Open Source License

private void addHideInactiveFilter(Form<Void> form) {
    final HideInactiveFilter hideInactiveFilter = new HideInactiveFilter();
    hideInactiveFilter.setHideInactive(getEhourWebSession().getHideInactiveSelections());

    final WebMarkupContainer filterIcon = new WebMarkupContainer("filterIcon");
    addFilterIconAttributes(filterIcon, getEhourWebSession().getHideInactiveSelections());
    filterIcon.setOutputMarkupId(true);//from  w ww  .j a va2  s .  c  o m

    final AjaxLink<Void> hideInactiveLink = new AjaxLink<Void>("filterToggle") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            Boolean hideInactiveSelections = getEhourWebSession().toggleHideInactiveSelections();
            HideInactiveFilter inactiveFilter = new HideInactiveFilter(hideInactiveSelections);
            send(getPage(), Broadcast.DEPTH, new InactiveFilterChangedEvent(inactiveFilter, target));

            target.appendJavaScript(jsRefresh());

            filterIcon.removeAll();
            addFilterIconAttributes(filterIcon, getEhourWebSession().getHideInactiveSelections());
            target.add(filterIcon);
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);

            attributes.getAjaxCallListeners().add(new LoadingSpinnerDecorator());
        }
    };

    hideInactiveLink.setVisible(showHideInactiveLink);
    hideInactiveLink.add(filterIcon);
    form.add(hideInactiveLink);
}

From source file:net.rrm.ehour.ui.timesheet.panel.TimesheetRowList.java

License:Open Source License

private Component createBookWholeWeekLink(final TimesheetRow row, final String bookWholeWeek) {
    final AjaxLink<Void> link = new AjaxLink<Void>(bookWholeWeek) {
        private static final long serialVersionUID = -663239917205218384L;

        @Override//  ww w.  ja  va  2s.  c o  m
        public void onClick(AjaxRequestTarget target) {
            row.bookRemainingHoursOnRow();
            target.add(form);
        }
    };
    link.setVisible(EhourWebApplication.get().isBookWholeWeekEnabled() && !row.getTimesheet().isAnyLocked());
    return link;
}

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.syncope.client.console.pages.AbstractSyncTaskModalPage.java

License:Apache License

public AbstractSyncTaskModalPage(final ModalWindow window, final AbstractProvisioningTaskTO taskTO,
        final PageReference pageRef) {

    super(window, taskTO, pageRef);

    final AjaxDropDownChoicePanel<String> resource = new AjaxDropDownChoicePanel<>("resource",
            getString("resourceName"), new PropertyModel<String>(taskTO, "resource"));
    resource.setChoices(allResources.getObject());
    resource.setChoiceRenderer(new SelectChoiceRenderer<String>());
    resource.addRequiredLabel();/*w  w  w .  ja  v  a  2  s .co m*/
    resource.setEnabled(taskTO.getKey() == 0);
    resource.setStyleSheet("ui-widget-content ui-corner-all long_dynamicsize");

    profile.add(resource);

    final WebMarkupContainer syncActionsClassNames = new WebMarkupContainer("syncActionsClassNames");
    syncActionsClassNames.setOutputMarkupId(true);
    profile.add(syncActionsClassNames);

    final AjaxLink<Void> first = new IndicatingAjaxLink<Void>("first") {

        private static final long serialVersionUID = -7978723352517770644L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            taskTO.getActionsClassNames().add(StringUtils.EMPTY);
            setVisible(false);
            target.add(syncActionsClassNames);
        }
    };
    first.setOutputMarkupPlaceholderTag(true);
    first.setVisible(taskTO.getActionsClassNames().isEmpty());
    syncActionsClassNames.add(first);

    final ListView<String> actionsClasses = new ListView<String>("actionsClasses",
            new PropertyModel<List<String>>(taskTO, "actionsClassNames")) {

        private static final long serialVersionUID = 9101744072914090143L;

        @Override
        protected void populateItem(final ListItem<String> item) {
            final String className = item.getModelObject();

            final DropDownChoice<String> actionsClass = new DropDownChoice<String>("actionsClass",
                    new Model<String>(className), syncActionsClasses.getObject());
            actionsClass.setNullValid(true);
            actionsClass.setRequired(true);
            actionsClass.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {

                private static final long serialVersionUID = -1107858522700306810L;

                @Override
                protected void onUpdate(final AjaxRequestTarget target) {
                    taskTO.getActionsClassNames().set(item.getIndex(), actionsClass.getModelObject());
                    target.add(syncActionsClassNames);
                }
            });
            actionsClass.setRequired(true);
            actionsClass.setOutputMarkupId(true);
            actionsClass.setRequired(true);
            item.add(actionsClass);

            AjaxLink<Void> minus = new IndicatingAjaxLink<Void>("drop") {

                private static final long serialVersionUID = -7978723352517770644L;

                @Override
                public void onClick(final AjaxRequestTarget target) {
                    taskTO.getActionsClassNames().remove(className);
                    first.setVisible(taskTO.getActionsClassNames().isEmpty());
                    target.add(syncActionsClassNames);
                }
            };
            item.add(minus);

            final AjaxLink<Void> plus = new IndicatingAjaxLink<Void>("add") {

                private static final long serialVersionUID = -7978723352517770644L;

                @Override
                public void onClick(final AjaxRequestTarget target) {
                    taskTO.getActionsClassNames().add(StringUtils.EMPTY);
                    target.add(syncActionsClassNames);
                }
            };
            plus.setOutputMarkupPlaceholderTag(true);
            plus.setVisible(item.getIndex() == taskTO.getActionsClassNames().size() - 1);
            item.add(plus);
        }
    };
    syncActionsClassNames.add(actionsClasses);

    syncActionsClassNames.setEnabled(!syncActionsClasses.getObject().isEmpty());

    final AjaxCheckBoxPanel creates = new AjaxCheckBoxPanel("performCreate", getString("creates"),
            new PropertyModel<Boolean>(taskTO, "performCreate"));
    profile.add(creates);

    final AjaxCheckBoxPanel updates = new AjaxCheckBoxPanel("performUpdate", getString("updates"),
            new PropertyModel<Boolean>(taskTO, "performUpdate"));
    profile.add(updates);

    final AjaxCheckBoxPanel deletes = new AjaxCheckBoxPanel("performDelete", getString("updates"),
            new PropertyModel<Boolean>(taskTO, "performDelete"));
    profile.add(deletes);

    final AjaxCheckBoxPanel syncStatus = new AjaxCheckBoxPanel("syncStatus", getString("syncStatus"),
            new PropertyModel<Boolean>(taskTO, "syncStatus"));
    profile.add(syncStatus);

    matchingRule = new AjaxDropDownChoicePanel<MatchingRule>("matchingRule", "matchingRule",
            new PropertyModel<MatchingRule>(taskTO, "matchingRule"));
    matchingRule.setChoices(Arrays.asList(MatchingRule.values()));
    ((DropDownChoice) matchingRule.getField()).setNullValid(false);

    unmatchingRule = new AjaxDropDownChoicePanel<UnmatchingRule>("unmatchingRule", "unmatchingRule",
            new PropertyModel<UnmatchingRule>(taskTO, "unmatchingRule"));
    unmatchingRule.setChoices(Arrays.asList(UnmatchingRule.values()));
    ((DropDownChoice) unmatchingRule.getField()).setNullValid(false);
}

From source file:org.apache.syncope.client.console.panels.GroupDetailsPanel.java

License:Apache License

public GroupDetailsPanel(final String id, final GroupTO groupTO, final boolean templateMode) {
    super(id);/*w w w.ja  v a2s  .  com*/

    ownerContainer = new WebMarkupContainer("ownerContainer");
    ownerContainer.setOutputMarkupId(true);
    this.add(ownerContainer);

    final ModalWindow userOwnerSelectWin = new ModalWindow("userOwnerSelectWin");
    userOwnerSelectWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    userOwnerSelectWin.setCookieName("create-userOwnerSelect-modal");
    this.add(userOwnerSelectWin);
    final ModalWindow groupOwnerSelectWin = new ModalWindow("groupOwnerSelectWin");
    groupOwnerSelectWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    groupOwnerSelectWin.setCookieName("create-groupOwnerSelect-modal");
    this.add(groupOwnerSelectWin);
    final ModalWindow parentSelectWin = new ModalWindow("parentSelectWin");
    parentSelectWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    parentSelectWin.setCookieName("create-parentSelect-modal");
    this.add(parentSelectWin);

    if (templateMode) {
        parentFragment = new Fragment("parent", "parentFragment", this);

        parentModel = new ParentModel(groupTO);
        @SuppressWarnings("unchecked")
        final AjaxTextFieldPanel parent = new AjaxTextFieldPanel("parent", "parent", parentModel);
        parent.setReadOnly(true);
        parent.setOutputMarkupId(true);
        parentFragment.add(parent);
        final AjaxLink<Void> parentSelect = new IndicatingAjaxLink<Void>("parentSelect") {

            private static final long serialVersionUID = -7978723352517770644L;

            @Override
            public void onClick(final AjaxRequestTarget target) {
                parentSelectWin.setPageCreator(new ModalWindow.PageCreator() {

                    private static final long serialVersionUID = -7834632442532690940L;

                    @Override
                    public Page createPage() {
                        return new GroupSelectModalPage(getPage().getPageReference(), parentSelectWin,
                                ParentSelectPayload.class);
                    }
                });
                parentSelectWin.show(target);
            }
        };
        parentFragment.add(parentSelect);
        final IndicatingAjaxLink<Void> parentReset = new IndicatingAjaxLink<Void>("parentReset") {

            private static final long serialVersionUID = -7978723352517770644L;

            @Override
            public void onClick(final AjaxRequestTarget target) {
                parentModel.setObject(null);
                target.add(parent);
            }
        };
        parentFragment.add(parentReset);
    } else {
        parentFragment = new Fragment("parent", "emptyFragment", this);
    }
    parentFragment.setOutputMarkupId(true);
    this.add(parentFragment);

    final AjaxTextFieldPanel name = new AjaxTextFieldPanel("name", "name",
            new PropertyModel<String>(groupTO, "key"));

    final WebMarkupContainer jexlHelp = JexlHelpUtils.getJexlHelpWebContainer("jexlHelp");

    final AjaxLink<Void> questionMarkJexlHelp = JexlHelpUtils.getAjaxLink(jexlHelp, "questionMarkJexlHelp");
    this.add(questionMarkJexlHelp);
    questionMarkJexlHelp.add(jexlHelp);

    if (!templateMode) {
        name.addRequiredLabel();
        questionMarkJexlHelp.setVisible(false);
    }
    this.add(name);

    userOwnerModel = new OwnerModel(groupTO, AttributableType.USER);
    @SuppressWarnings("unchecked")
    final AjaxTextFieldPanel userOwner = new AjaxTextFieldPanel("userOwner", "userOwner", userOwnerModel);
    userOwner.setReadOnly(true);
    userOwner.setOutputMarkupId(true);
    ownerContainer.add(userOwner);
    final AjaxLink<Void> userOwnerSelect = new IndicatingAjaxLink<Void>("userOwnerSelect") {

        private static final long serialVersionUID = -7978723352517770644L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            userOwnerSelectWin.setPageCreator(new ModalWindow.PageCreator() {

                private static final long serialVersionUID = -7834632442532690940L;

                @Override
                public Page createPage() {
                    return new UserOwnerSelectModalPage(getPage().getPageReference(), userOwnerSelectWin);
                }
            });
            userOwnerSelectWin.show(target);
        }
    };
    ownerContainer.add(userOwnerSelect);
    final IndicatingAjaxLink<Void> userOwnerReset = new IndicatingAjaxLink<Void>("userOwnerReset") {

        private static final long serialVersionUID = -7978723352517770644L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            userOwnerModel.setObject(null);
            target.add(userOwner);
        }
    };
    ownerContainer.add(userOwnerReset);

    groupOwnerModel = new OwnerModel(groupTO, AttributableType.GROUP);
    @SuppressWarnings("unchecked")
    final AjaxTextFieldPanel groupOwner = new AjaxTextFieldPanel("groupOwner", "groupOwner", groupOwnerModel);
    groupOwner.setReadOnly(true);
    groupOwner.setOutputMarkupId(true);
    ownerContainer.add(groupOwner);
    final AjaxLink<Void> groupOwnerSelect = new IndicatingAjaxLink<Void>("groupOwnerSelect") {

        private static final long serialVersionUID = -7978723352517770644L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            parentSelectWin.setPageCreator(new ModalWindow.PageCreator() {

                private static final long serialVersionUID = -7834632442532690940L;

                @Override
                public Page createPage() {
                    return new GroupSelectModalPage(getPage().getPageReference(), parentSelectWin,
                            GroupOwnerSelectPayload.class);
                }
            });
            parentSelectWin.show(target);
        }
    };
    ownerContainer.add(groupOwnerSelect);
    final IndicatingAjaxLink<Void> groupOwnerReset = new IndicatingAjaxLink<Void>("groupOwnerReset") {

        private static final long serialVersionUID = -7978723352517770644L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            groupOwnerModel.setObject(null);
            target.add(groupOwner);
        }
    };
    ownerContainer.add(groupOwnerReset);

    final AjaxCheckBoxPanel inhOwner = new AjaxCheckBoxPanel("inheritOwner", "inheritOwner",
            new PropertyModel<Boolean>(groupTO, "inheritOwner"));
    this.add(inhOwner);

    final AjaxCheckBoxPanel inhTemplates = new AjaxCheckBoxPanel("inheritTemplates", "inheritTemplates",
            new PropertyModel<Boolean>(groupTO, "inheritTemplates"));
    inhTemplates.getField().add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {

        private static final long serialVersionUID = -1107858522700306810L;

        @Override
        protected void onUpdate(final AjaxRequestTarget target) {
            send(getPage(), Broadcast.BREADTH, new GroupAttrTemplatesChange(Type.gPlainAttrTemplates, target));
            send(getPage(), Broadcast.BREADTH, new GroupAttrTemplatesChange(Type.gDerAttrTemplates, target));
            send(getPage(), Broadcast.BREADTH, new GroupAttrTemplatesChange(Type.gVirAttrTemplates, target));
        }
    });
    this.add(inhTemplates);
}