List of usage examples for org.apache.wicket.extensions.markup.html.repeater.tree.content Folder Folder
public Folder(String id, AbstractTree<T> tree, IModel<T> model)
From source file:com.norconex.commons.wicket.markup.html.filesystem.MultiSelectableContent.java
License:Apache License
@Override public Component newContentComponent(String id, final AbstractTree<File> tree, IModel<File> model) { return new Folder<File>(id, tree, model) { private static final long serialVersionUID = 7296733238240749590L; @Override/* ww w .j a v a2s .c om*/ protected boolean isClickable() { return true; } @Override protected void onClick(AjaxRequestTarget target) { MultiSelectableContent.this.nodeClicked(getModelObject(), tree, target); } @Override protected boolean isSelected() { return MultiSelectableContent.this.isSelected(getModelObject()); } @Override protected IModel<String> newLabelModel(IModel<File> fileModel) { File file = fileModel.getObject(); if (isDrive(file)) { return new Model<String>(file.getAbsolutePath()); } return new Model<String>(fileModel.getObject().getName()); } @Override protected String getOtherStyleClass(File file) { if (file.isDirectory() || isDrive(file)) { return "tree-folder-closed"; } return super.getOtherStyleClass(file); } @Override protected String getSelectedStyleClass() { return "nx-commons-fsnavigator-selected"; } private boolean isDrive(File file) { return file.getAbsolutePath().matches("\\w+:\\\\"); } }; }
From source file:com.norconex.commons.wicket.markup.html.filesystem.SelectableContent.java
License:Apache License
@Override public Component newContentComponent(String id, final AbstractTree<File> tree, IModel<File> model) { return new Folder<File>(id, tree, model) { private static final long serialVersionUID = 5637975745530454903L; @Override//from ww w. j av a 2 s . c om protected IModel<String> newLabelModel(IModel<File> lblModel) { File file = lblModel.getObject(); if (isDrive(file)) { return new Model<String>(file.getAbsolutePath()); } return new Model<String>(lblModel.getObject().getName()); } @Override protected boolean isClickable() { return true; } @Override protected String getOtherStyleClass(File file) { if (file.isDirectory() || isDrive(file)) { return "tree-folder-closed"; } return super.getOtherStyleClass(file); } @Override protected void onClick(AjaxRequestTarget target) { SelectableContent.this.nodeClicked(getModelObject(), tree, target); } @Override protected String getSelectedStyleClass() { return "nx-commons-fsnavigator-selected"; } @Override protected boolean isSelected() { return SelectableContent.this.isSelected(getModelObject()); } private boolean isDrive(File file) { return file.getAbsolutePath().matches("\\w+:\\\\"); } }; }
From source file:nl.mpi.lamus.web.components.UnlinkedNodesPanel.java
License:Open Source License
private AbstractTree<WorkspaceTreeNode> createTree(String id, UnlinkedNodesModelProvider provider, IModel<Set<WorkspaceTreeNode>> state) { List<IColumn<WorkspaceTreeNode, String>> columns = createColumns(); final TableTree<WorkspaceTreeNode, String> tree = new DefaultTableTree<WorkspaceTreeNode, String>(id, columns, provider, Integer.MAX_VALUE, state) { @Override//from www .ja v a 2 s . c om protected Component newContentComponent(String id, IModel<WorkspaceTreeNode> model) { if (model.getObject().getParent() != null) { return new Folder<>(id, unlinkedNodesTree, model); } else { return new CheckedFolder<WorkspaceTreeNode>(id, unlinkedNodesTree, model) { private static final long serialVersionUID = 1L; @Override protected IModel<Boolean> newCheckBoxModel(final IModel<WorkspaceTreeNode> model) { return new IModel<Boolean>() { private static final long serialVersionUID = 1L; @Override public Boolean getObject() { return isChecked(model.getObject()); } @Override public void setObject(Boolean object) { check(model.getObject(), object); } @Override public void detach() { } }; } }; } } @Override protected Item<WorkspaceTreeNode> newRowItem(String id, int index, IModel<WorkspaceTreeNode> model) { return new OddEvenItem<>(id, index, model); } }; return tree; }
From source file:org.apache.openmeetings.web.common.tree.FileItemTree.java
License:Apache License
@Override protected Component newContentComponent(String id, IModel<FileItem> node) { return new Folder<FileItem>(id, this, node) { private static final long serialVersionUID = 1L; @Override//from www. j a v a 2 s . c o m protected Component newLabelComponent(String id, final IModel<FileItem> lm) { FileItem r = lm.getObject(); return Type.Folder == r.getType() || r.getId() == null ? new FolderPanel(id, lm, treePanel) : new FileItemPanel(id, lm, treePanel); } @Override protected boolean isSelected() { FileItem f = getModelObject(), s = treePanel.getSelected(); return (s.getId() == null && s.getId() == f.getId() && s.getHash().equals(f.getHash())) || (s.getId() != null && s.getId().equals(f.getId())); } @Override protected boolean isClickable() { return true; } @Override protected void onClick(AjaxRequestTarget target) { FileItem r = getModelObject(); treePanel.setSelected(r, target); if (Type.Folder == r.getType()) { if (getState(r) == State.COLLAPSED) { super.onClick(target); } } else { treePanel.update(target, r); } } private String getItemStyle(FileItem f, String def) { String style; if (f.getId() == null) { style = f.getHash().indexOf("my") > -1 ? "my file om-icon" : "public file om-icon"; } else { String _style, addStyle = f.exists() ? "" : "broken"; switch (f.getType()) { case Folder: _style = def; break; case Image: _style = "image file om-icon"; break; case PollChart: _style = "chart file om-icon"; break; case WmlFile: _style = "wml file om-icon"; break; case Video: case Recording: { _style = "recording om-icon"; if (f instanceof Recording) { Status st = ((Recording) f).getStatus(); if (Status.RECORDING == st || Status.CONVERTING == st) { addStyle = "processing"; } } } break; case Presentation: _style = "doc file om-icon"; break; default: _style = "file om-icon"; break; } style = String.format("%s %s", addStyle, _style); } return style; } @Override protected String getOtherStyleClass(FileItem r) { return getItemStyle(r, super.getOtherStyleClass(r)); } @Override protected String getOpenStyleClass() { return getItemStyle(getModelObject(), super.getOpenStyleClass()); } @Override protected String getClosedStyleClass() { return getItemStyle(getModelObject(), super.getClosedStyleClass()); } @Override protected String getSelectedStyleClass() { return "ui-state-active"; } @Override protected IModel<String> newLabelModel(IModel<FileItem> model) { return Model.of(model.getObject().getName()); } }; }
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 www.ja va2 s . c o m*/ 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 w w w . j a v a2 s. co 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);//w ww.j a v a2 s. 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 w w .ja v a2 s. c o m*/ 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//from www . java2 s .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);/* w w w. j a v a 2 s . 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 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); }