List of usage examples for org.apache.wicket.extensions.markup.html.repeater.tree.theme WindowsTheme WindowsTheme
WindowsTheme
From source file:com.evolveum.midpoint.web.page.admin.orgs.OrgTreePanel.java
License:Apache License
private void initLayout() { WebMarkupContainer treeHeader = new WebMarkupContainer(ID_TREE_HEADER); treeHeader.setOutputMarkupId(true);/* www . ja v a2s . co m*/ add(treeHeader); String title = StringUtils.isEmpty(treeTitleKey) ? "TreeTablePanel.hierarchy" : treeTitleKey; Label treeTitle = new Label(ID_TREE_TITLE, createStringResource(title)); treeHeader.add(treeTitle); InlineMenu treeMenu = new InlineMenu(ID_TREE_MENU, new Model<>((Serializable) createTreeMenuInternal())); treeHeader.add(treeMenu); ISortableTreeProvider provider = new OrgTreeProvider(this, getModel()) { @Override protected List<InlineMenuItem> createInlineMenuItems() { return createTreeChildrenMenu(); } }; List<IColumn<SelectableBean<OrgType>, String>> columns = new ArrayList<>(); if (selectable) { columns.add(new CheckBoxHeaderColumn<SelectableBean<OrgType>>()); } columns.add( new TreeColumn<SelectableBean<OrgType>, String>(createStringResource("TreeTablePanel.hierarchy"))); columns.add(new InlineMenuHeaderColumn(createTreeChildrenMenu())); WebMarkupContainer treeContainer = new WebMarkupContainer(ID_TREE_CONTAINER) { @Override public void renderHead(IHeaderResponse response) { super.renderHead(response); // method computes height based on document.innerHeight() - // screen height; Component form = OrgTreePanel.this.getParent().get("memberPanel"); if (form != null) { response.render(OnDomReadyHeaderItem .forScript("updateHeight('" + getMarkupId() + "', ['#" + form.getMarkupId() + "'], ['#" + OrgTreePanel.this.get(ID_TREE_HEADER).getMarkupId() + "'])")); } } }; add(treeContainer); TableTree<SelectableBean<OrgType>, String> tree = new TableTree<SelectableBean<OrgType>, String>(ID_TREE, columns, provider, Integer.MAX_VALUE, new TreeStateModel(this, provider)) { @Override protected Component newContentComponent(String id, IModel<SelectableBean<OrgType>> model) { return new SelectableFolderContent(id, this, model, selected) { @Override protected void onClick(AjaxRequestTarget target) { super.onClick(target); MidPointAuthWebSession session = OrgTreePanel.this.getSession(); SessionStorage storage = session.getSessionStorage(); storage.getUsers().setSelectedItem(selected.getObject()); selectTreeItemPerformed(selected.getObject(), target); } }; } @Override protected Item<SelectableBean<OrgType>> newRowItem(String id, int index, final IModel<SelectableBean<OrgType>> model) { Item<SelectableBean<OrgType>> item = super.newRowItem(id, index, model); item.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { SelectableBean<OrgType> itemObject = model.getObject(); if (itemObject != null && itemObject.equals(selected.getObject())) { return "success"; } return null; } })); return item; } @Override public void collapse(SelectableBean<OrgType> collapsedItem) { super.collapse(collapsedItem); MidPointAuthWebSession session = OrgTreePanel.this.getSession(); SessionStorage storage = session.getSessionStorage(); Set<SelectableBean<OrgType>> items = storage.getUsers().getExpandedItems(); if (items != null && items.contains(collapsedItem)) { items.remove(collapsedItem); } storage.getUsers().setExpandedItems((TreeStateSet) items); storage.getUsers().setCollapsedItem(collapsedItem); } @Override protected void onModelChanged() { super.onModelChanged(); Set<SelectableBean<OrgType>> items = getModelObject(); MidPointAuthWebSession session = OrgTreePanel.this.getSession(); SessionStorage storage = session.getSessionStorage(); storage.getUsers().setExpandedItems((TreeStateSet<SelectableBean<OrgType>>) items); } }; tree.setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); tree.getTable().add(AttributeModifier.replace("class", "table table-striped table-condensed")); tree.add(new WindowsTheme()); // tree.add(AttributeModifier.replace("class", "tree-midpoint")); treeContainer.add(tree); }
From source file:com.evolveum.midpoint.web.page.admin.users.component.TreeTablePanel.java
License:Apache License
@Override protected void initLayout() { add(new ConfirmationDialog(ID_CONFIRM_DELETE_POPUP, createStringResource("TreeTablePanel.dialog.title.confirmDelete"), createDeleteConfirmString()) { @Override//from www .j a va2 s .co m public void yesPerformed(AjaxRequestTarget target) { close(target); switch (getConfirmType()) { case CONFIRM_DELETE: deleteConfirmedPerformed(target); break; case CONFIRM_DELETE_ROOT: deleteRootConfirmedPerformed(target); break; } } }); add(new OrgUnitBrowser(ID_MOVE_POPUP) { @Override protected void createRootPerformed(AjaxRequestTarget target) { moveConfirmedPerformed(target, null, null, Operation.MOVE); } @Override protected void rowSelected(AjaxRequestTarget target, IModel<OrgTableDto> row, Operation operation) { moveConfirmedPerformed(target, selected.getObject(), row.getObject(), operation); } @Override public ObjectQuery createRootQuery() { ArrayList<String> oids = new ArrayList<String>(); ObjectQuery query = new ObjectQuery(); if (isMovingRoot() && getRootFromProvider() != null) { oids.add(getRootFromProvider().getOid()); } //Selection from table, but only if we are not moving root if (!isMovingRoot()) { oids.remove(getRootFromProvider().getOid()); List<OrgTableDto> objects = WebMiscUtil.getSelectedData(getTable()); if (!objects.isEmpty()) { for (OrgTableDto dto : objects) { oids.add(dto.getOid()); //TODO - uncomment this, if parentOrgOid filtering is also required (see issue MID-1780) //oids.addAll(getOrgParentOids(dto.getOid())); } } } if (oids.isEmpty()) { return null; } ObjectFilter oidFilter = InOidFilter.createInOid(oids); query.setFilter(NotFilter.createNot(oidFilter)); return query; } }); add(new OrgUnitAddDeletePopup(ID_ADD_DELETE_POPUP) { @Override public void addPerformed(AjaxRequestTarget target, OrgType selected) { addOrgUnitToUserPerformed(target, selected); } @Override public void removePerformed(AjaxRequestTarget target, OrgType selected) { removeOrgUnitToUserPerformed(target, selected); } @Override public ObjectQuery getAddProviderQuery() { return null; } @Override public ObjectQuery getRemoveProviderQuery() { return null; } }); WebMarkupContainer treeHeader = new WebMarkupContainer(ID_TREE_HEADER); treeHeader.setOutputMarkupId(true); add(treeHeader); InlineMenu treeMenu = new InlineMenu(ID_TREE_MENU, new Model((Serializable) createTreeMenu())); treeHeader.add(treeMenu); ISortableTreeProvider provider = new OrgTreeProvider(this, getModel()); List<IColumn<OrgTreeDto, String>> columns = new ArrayList<IColumn<OrgTreeDto, String>>(); columns.add(new TreeColumn<OrgTreeDto, String>(createStringResource("TreeTablePanel.hierarchy"))); WebMarkupContainer treeContainer = new WebMarkupContainer(ID_TREE_CONTAINER) { @Override public void renderHead(IHeaderResponse response) { super.renderHead(response); //method computes height based on document.innerHeight() - screen height; response.render(OnDomReadyHeaderItem.forScript( "updateHeight('" + getMarkupId() + "', ['#" + TreeTablePanel.this.get(ID_FORM).getMarkupId() + "'], ['#" + TreeTablePanel.this.get(ID_TREE_HEADER).getMarkupId() + "'])")); } }; add(treeContainer); TableTree<OrgTreeDto, String> tree = new TableTree<OrgTreeDto, String>(ID_TREE, columns, provider, Integer.MAX_VALUE, new TreeStateModel(provider)) { @Override protected Component newContentComponent(String id, IModel<OrgTreeDto> model) { return new SelectableFolderContent(id, this, model, selected) { @Override protected void onClick(AjaxRequestTarget target) { super.onClick(target); selectTreeItemPerformed(target); } }; } @Override protected Item<OrgTreeDto> newRowItem(String id, int index, final IModel<OrgTreeDto> model) { Item item = super.newRowItem(id, index, model); item.add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { OrgTreeDto itemObject = model.getObject(); if (itemObject != null && itemObject.equals(selected.getObject())) { return "success"; } return null; } })); return item; } }; tree.getTable().add(AttributeModifier.replace("class", "table table-striped table-condensed")); tree.add(new WindowsTheme()); // tree.add(AttributeModifier.replace("class", "tree-midpoint")); treeContainer.add(tree); initTable(); initSearch(); }
From source file:de.inren.frontend.storehouse.FolderMenuPanel.java
License:Apache License
protected AbstractTree<FolderGM> createTree(FolderGMProvider provider, IModel<Set<FolderGM>> state) { tree = new NestedTree<FolderGM>("tree", provider, state) { @Override/*w ww . j a v a2 s. c o m*/ protected Component newContentComponent(String id, IModel<FolderGM> node) { FolderGM data = node.getObject(); PageParameters parameters = new PageParameters(); parameters.add("id", data.getId()); return new NavListItem<FileManagerPage>(id, FileManagerPage.class, parameters, Model.of(data.getName())); } }; // tree.add(new HumanTheme()); tree.add(new WindowsTheme()); return tree; }
From source file:org.apache.syncope.client.console.pages.GroupSelectModalPage.java
License:Apache License
public GroupSelectModalPage(final PageReference pageRef, final ModalWindow window, final Class<?> payloadClass) { super();//from w w w .j a v a2s.c om final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeGroupProvider(groupTreeBuilder, true); final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel(); tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) { private static final long serialVersionUID = 7137658050662575546L; @Override protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) { final DefaultMutableTreeNode treeNode = node.getObject(); final GroupTO groupTO = (GroupTO) treeNode.getUserObject(); return new Folder<DefaultMutableTreeNode>(id, GroupSelectModalPage.this.tree, node) { private static final long serialVersionUID = 9046323319920426493L; @Override protected boolean isClickable() { return true; } @Override protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) { return new Model<>(groupTO.getDisplayName()); } @Override protected void onClick(final AjaxRequestTarget target) { super.onClick(target); try { Constructor<?> constructor = payloadClass.getConstructor(Long.class); Object payload = constructor.newInstance(groupTO.getKey()); send(pageRef.getPage(), Broadcast.BREADTH, payload); } catch (Exception e) { LOG.error("Could not send group select event", e); } window.close(target); } }; } }; tree.add(new WindowsTheme()); tree.setOutputMarkupId(true); DefaultMutableTreeNodeExpansion.get().expandAll(); this.add(tree); }
From source file:org.apache.syncope.client.console.pages.RoleSelectModalPage.java
License:Apache License
public RoleSelectModalPage(final PageReference pageRef, final ModalWindow window, final Class<?> payloadClass) { super();/*from ww w . j av a 2s. c o m*/ final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeRoleProvider(roleTreeBuilder, true); final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel(); tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) { private static final long serialVersionUID = 7137658050662575546L; @Override protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) { final DefaultMutableTreeNode treeNode = node.getObject(); final RoleTO roleTO = (RoleTO) treeNode.getUserObject(); return new Folder<DefaultMutableTreeNode>(id, RoleSelectModalPage.this.tree, node) { private static final long serialVersionUID = 9046323319920426493L; @Override protected boolean isClickable() { return true; } @Override protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) { return new Model<>(roleTO.getDisplayName()); } @Override protected void onClick(final AjaxRequestTarget target) { super.onClick(target); try { Constructor<?> constructor = payloadClass.getConstructor(Long.class); Object payload = constructor.newInstance(roleTO.getKey()); send(pageRef.getPage(), Broadcast.BREADTH, payload); } catch (Exception e) { LOG.error("Could not send role select event", e); } window.close(target); } }; } }; tree.add(new WindowsTheme()); tree.setOutputMarkupId(true); DefaultMutableTreeNodeExpansion.get().expandAll(); this.add(tree); }
From source file:org.apache.syncope.client.console.panels.MembershipsPanel.java
License:Apache License
public MembershipsPanel(final String id, final UserTO userTO, final Mode mode, final StatusPanel statusPanel, final PageReference pageRef) { super(id);/*from w w w . ja va 2s. c om*/ this.userTO = userTO; this.statusPanel = statusPanel; final WebMarkupContainer membershipsContainer = new WebMarkupContainer("membershipsContainer"); membershipsContainer.setOutputMarkupId(true); add(membershipsContainer); final ModalWindow membWin = new ModalWindow("membershipWin"); membWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY); membWin.setCookieName("create-membership-modal"); add(membWin); final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeGroupProvider(groupTreeBuilder, true); final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel(); tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) { private static final long serialVersionUID = 7137658050662575546L; @Override protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) { final DefaultMutableTreeNode treeNode = node.getObject(); final GroupTO groupTO = (GroupTO) treeNode.getUserObject(); return new Folder<DefaultMutableTreeNode>(id, MembershipsPanel.this.tree, node) { private static final long serialVersionUID = 9046323319920426493L; @Override protected boolean isClickable() { return true; } @Override protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) { return new Model<String>(groupTO.getDisplayName()); } @Override protected void onClick(final AjaxRequestTarget target) { if (groupTO.getKey() > 0) { membWin.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = 7661763358801821185L; @Override public Page createPage() { PageReference pageRef = getPage().getPageReference(); for (MembershipTO membTO : membView.getList()) { if (membTO.getGroupKey() == groupTO.getKey()) { return new MembershipModalPage(pageRef, membWin, membTO, mode); } } MembershipTO membTO = new MembershipTO(); membTO.setGroupKey(groupTO.getKey()); membTO.setGroupName(groupTO.getName()); return new MembershipModalPage(pageRef, membWin, membTO, mode); } }); membWin.show(target); } } }; } }; tree.add(new WindowsTheme()); tree.setOutputMarkupId(true); DefaultMutableTreeNodeExpansion.get().expandAll(); this.add(tree); membView = new ListView<MembershipTO>("memberships", new PropertyModel<List<? extends MembershipTO>>(userTO, "memberships")) { private static final long serialVersionUID = 9101744072914090143L; @Override protected void populateItem(final ListItem<MembershipTO> item) { final MembershipTO membershipTO = (MembershipTO) item.getDefaultModelObject(); item.add(new Label("groupId", new Model<Long>(membershipTO.getGroupKey()))); item.add(new Label("groupName", new Model<String>(membershipTO.getGroupName()))); AjaxLink editLink = new ClearIndicatingAjaxLink("editLink", pageRef) { private static final long serialVersionUID = -7978723352517770644L; @Override protected void onClickInternal(final AjaxRequestTarget target) { membWin.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = -7834632442532690940L; @Override public Page createPage() { return new MembershipModalPage(getPage().getPageReference(), membWin, membershipTO, mode); } }); membWin.show(target); } }; item.add(editLink); AjaxLink deleteLink = new IndicatingOnConfirmAjaxLink("deleteLink", pageRef) { private static final long serialVersionUID = -7978723352517770644L; @Override protected void onClickInternal(final AjaxRequestTarget target) { userTO.getMemberships().remove(membershipTO); ((UserModalPage) getPage()).getUserTO().getMemberships().remove(membershipTO); target.add(membershipsContainer); GroupTO groupTO = groupTreeBuilder.findGroup(membershipTO.getGroupKey()); Set<String> resourcesToRemove = groupTO == null ? Collections.<String>emptySet() : groupTO.getResources(); if (!resourcesToRemove.isEmpty()) { Set<String> resourcesAssignedViaMembership = new HashSet<>(); for (MembershipTO membTO : userTO.getMemberships()) { groupTO = groupTreeBuilder.findGroup(membTO.getGroupKey()); if (groupTO != null) { resourcesAssignedViaMembership.addAll(groupTO.getResources()); } } resourcesToRemove.removeAll(resourcesAssignedViaMembership); resourcesToRemove.removeAll(userTO.getResources()); } StatusUtils.update(userTO, statusPanel, target, Collections.<String>emptySet(), resourcesToRemove); } }; item.add(deleteLink); } }; membershipsContainer.add(membView); setWindowClosedCallback(membWin, membershipsContainer); }
From source file:org.apache.syncope.client.console.wicket.markup.html.tree.TreeGroupPanel.java
License:Apache License
private void updateTree() { final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeGroupProvider(groupTreeBuilder, true); final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel(); tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) { private static final long serialVersionUID = 7137658050662575546L; @Override//from w ww .j a v a 2s. c om protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) { final DefaultMutableTreeNode treeNode = node.getObject(); final GroupTO groupTO = (GroupTO) treeNode.getUserObject(); return new Folder<DefaultMutableTreeNode>(id, TreeGroupPanel.this.tree, node) { private static final long serialVersionUID = 9046323319920426493L; @Override protected boolean isClickable() { return true; } @Override protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) { return new Model<>(groupTO.getDisplayName()); } @Override protected void onClick(final AjaxRequestTarget target) { super.onClick(target); send(getPage(), Broadcast.BREADTH, new TreeNodeClickUpdate(target, groupTO.getKey())); } }; } }; tree.add(new WindowsTheme()); tree.setOutputMarkupId(true); DefaultMutableTreeNodeExpansion.get().expandAll(); MetaDataRoleAuthorizationStrategy.authorize(tree, ENABLE, xmlRolesReader.getEntitlement("Groups", "read")); treeContainer.addOrReplace(tree); }
From source file:org.apache.syncope.client.console.wicket.markup.html.tree.TreeRolePanel.java
License:Apache License
private void updateTree() { final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeRoleProvider(roleTreeBuilder, true); final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel(); tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) { private static final long serialVersionUID = 7137658050662575546L; @Override//w ww .j av a2s .c o m protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) { final DefaultMutableTreeNode treeNode = node.getObject(); final RoleTO roleTO = (RoleTO) treeNode.getUserObject(); return new Folder<DefaultMutableTreeNode>(id, TreeRolePanel.this.tree, node) { private static final long serialVersionUID = 9046323319920426493L; @Override protected boolean isClickable() { return true; } @Override protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) { return new Model<>(roleTO.getDisplayName()); } @Override protected void onClick(final AjaxRequestTarget target) { super.onClick(target); send(getPage(), Broadcast.BREADTH, new TreeNodeClickUpdate(target, roleTO.getKey())); } }; } }; tree.add(new WindowsTheme()); tree.setOutputMarkupId(true); DefaultMutableTreeNodeExpansion.get().expandAll(); MetaDataRoleAuthorizationStrategy.authorize(tree, ENABLE, xmlRolesReader.getEntitlement("Roles", "read")); treeContainer.addOrReplace(tree); }
From source file:org.apache.syncope.console.pages.panels.MembershipsPanel.java
License:Apache License
public MembershipsPanel(final String id, final UserTO userTO, final boolean templateMode, final StatusPanel statusPanel, final PageReference pageRef) { super(id);/*from w ww . j av a 2 s .com*/ this.userTO = userTO; this.statusPanel = statusPanel; final WebMarkupContainer membershipsContainer = new WebMarkupContainer("membershipsContainer"); membershipsContainer.setOutputMarkupId(true); add(membershipsContainer); final ModalWindow membWin = new ModalWindow("membershipWin"); membWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY); membWin.setCookieName("create-membership-modal"); add(membWin); final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeRoleProvider(roleTreeBuilder, true); final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel(); tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) { private static final long serialVersionUID = 7137658050662575546L; @Override protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) { final DefaultMutableTreeNode treeNode = node.getObject(); final RoleTO roleTO = (RoleTO) treeNode.getUserObject(); return new Folder<DefaultMutableTreeNode>(id, MembershipsPanel.this.tree, node) { private static final long serialVersionUID = 9046323319920426493L; @Override protected boolean isClickable() { return true; } @Override protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) { return new Model<String>(roleTO.getDisplayName()); } @Override protected void onClick(final AjaxRequestTarget target) { if (roleTO.getId() > 0) { membWin.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = 7661763358801821185L; @Override public Page createPage() { PageReference pageRef = getPage().getPageReference(); for (MembershipTO membTO : membView.getList()) { if (membTO.getRoleId() == roleTO.getId()) { return new MembershipModalPage(pageRef, membWin, membTO, templateMode); } } MembershipTO membTO = new MembershipTO(); membTO.setRoleId(roleTO.getId()); membTO.setRoleName(roleTO.getName()); return new MembershipModalPage(pageRef, membWin, membTO, templateMode); } }); membWin.show(target); } } }; } }; tree.add(new WindowsTheme()); tree.setOutputMarkupId(true); DefaultMutableTreeNodeExpansion.get().expandAll(); this.add(tree); membView = new ListView<MembershipTO>("memberships", new PropertyModel<List<? extends MembershipTO>>(userTO, "memberships")) { private static final long serialVersionUID = 9101744072914090143L; @Override protected void populateItem(final ListItem<MembershipTO> item) { final MembershipTO membershipTO = (MembershipTO) item.getDefaultModelObject(); item.add(new Label("roleId", new Model<Long>(membershipTO.getRoleId()))); item.add(new Label("roleName", new Model<String>(membershipTO.getRoleName()))); AjaxLink editLink = new ClearIndicatingAjaxLink("editLink", pageRef) { private static final long serialVersionUID = -7978723352517770644L; @Override protected void onClickInternal(final AjaxRequestTarget target) { membWin.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = -7834632442532690940L; @Override public Page createPage() { return new MembershipModalPage(getPage().getPageReference(), membWin, membershipTO, templateMode); } }); membWin.show(target); } }; item.add(editLink); AjaxLink deleteLink = new IndicatingOnConfirmAjaxLink("deleteLink", pageRef) { private static final long serialVersionUID = -7978723352517770644L; @Override protected void onClickInternal(final AjaxRequestTarget target) { userTO.getMemberships().remove(membershipTO); ((UserModalPage) getPage()).getUserTO().getMemberships().remove(membershipTO); target.add(membershipsContainer); RoleTO roleTO = RoleUtils.findRole(roleTreeBuilder, membershipTO.getRoleId()); Set<String> resourcesToRemove = roleTO == null ? Collections.<String>emptySet() : roleTO.getResources(); if (!resourcesToRemove.isEmpty()) { Set<String> resourcesAssignedViaMembership = new HashSet<String>(); for (MembershipTO membTO : userTO.getMemberships()) { roleTO = RoleUtils.findRole(roleTreeBuilder, membTO.getRoleId()); if (roleTO != null) { resourcesAssignedViaMembership.addAll(roleTO.getResources()); } } resourcesToRemove.removeAll(resourcesAssignedViaMembership); resourcesToRemove.removeAll(userTO.getResources()); } StatusUtils.update(userTO, statusPanel, target, Collections.<String>emptySet(), resourcesToRemove); } }; item.add(deleteLink); } }; membershipsContainer.add(membView); setWindowClosedCallback(membWin, membershipsContainer); }
From source file:org.apache.syncope.console.pages.RoleSelectModalPage.java
License:Apache License
public RoleSelectModalPage(final PageReference pageRef, final ModalWindow window, final Class<?> payloadClass) { super();//ww w .ja va2s . c o m final ITreeProvider<DefaultMutableTreeNode> treeProvider = new TreeRoleProvider(roleTreeBuilder, true); final DefaultMutableTreeNodeExpansionModel treeModel = new DefaultMutableTreeNodeExpansionModel(); tree = new DefaultNestedTree<DefaultMutableTreeNode>("treeTable", treeProvider, treeModel) { private static final long serialVersionUID = 7137658050662575546L; @Override protected Component newContentComponent(final String id, final IModel<DefaultMutableTreeNode> node) { final DefaultMutableTreeNode treeNode = node.getObject(); final RoleTO roleTO = (RoleTO) treeNode.getUserObject(); return new Folder<DefaultMutableTreeNode>(id, RoleSelectModalPage.this.tree, node) { private static final long serialVersionUID = 9046323319920426493L; @Override protected boolean isClickable() { return true; } @Override protected IModel<?> newLabelModel(final IModel<DefaultMutableTreeNode> model) { return new Model<String>(roleTO.getDisplayName()); } @Override protected void onClick(final AjaxRequestTarget target) { super.onClick(target); try { Constructor constructor = payloadClass.getConstructor(Long.class); Object payload = constructor.newInstance(roleTO.getId()); send(pageRef.getPage(), Broadcast.BREADTH, payload); } catch (Exception e) { LOG.error("Could not send role select event", e); } window.close(target); } }; } }; tree.add(new WindowsTheme()); tree.setOutputMarkupId(true); DefaultMutableTreeNodeExpansion.get().expandAll(); this.add(tree); }