@Override public void onClick(AjaxRequestTarget target) { if (isNodeExpanded(node)) { getTreeState().collapseNode(node); } else { getTreeState().expandNode(node); } onJunctionLinkClicked(target, node); if (target != null) { updateTree(target); } } });
/** * Returns whether the provided node is last child of it's parent. * * @param node * The node * @return whether the provided node is the last child */ private boolean isNodeLast(Object node) { Object parent = getParentNode(node); if (parent == null) { return true; } else { return getChildAt(parent, getChildCount(parent) - 1).equals(node); } }
if (getLinkType() == LinkType.REGULAR) else if (getLinkType() == LinkType.AJAX)
protected String getItemClass(Object node) { if (getTreeState().isNodeSelected(node)) { return getSelectedClass(); } else { return null; } }
selectNode(node); setupDefaultEditor(); tree.invalidateAll(); } else { throw (e); tree.invalidateAll(); tree.getTreeState().expandNode(((TreeModel) tree.getDefaultModelObject()).getRoot());
/** * Returns the image resource reference based on the give tree node type. * * @param tree * @param node * @return image resource reference */ protected ResourceReference getImageResourceReference(BaseTree tree, Object node) { TreeModel model = (TreeModel)tree.getDefaultModelObject(); if (model.isLeaf(node)) { return getResourceItemLeaf(node); } else { if (tree.getTreeState().isNodeExpanded(node)) { return getResourceFolderOpen(node); } else { return getResourceFolderClosed(node); } } }
/** * Handler invoked when the link is clicked. By default makes the node selected * * @param node * @param tree * @param target */ protected void onNodeLinkClicked(Object node, BaseTree tree, AjaxRequestTarget target) { tree.getTreeState().selectNode(node, !tree.getTreeState().isNodeSelected(node)); if (target != null) { tree.updateTree(target); } } }
public void selectNode(BrixNode node) { tree.getTreeState().selectNode(getTreeNode(node), true); }
public void updateTree() { tree.invalidateAll(); // tree.updateTree(); }
@Override public void renderHead(IHeaderResponse response) { super.renderHead(response); ResourceReference css = getCSS(); if (css != null) { response.render(CssHeaderItem.forReference(css)); } }
Object parent = getParentNode(node); parent = getParentNode(parent);
@Override public void onComponentTag(Component component, ComponentTag tag) { Object node = component.getDefaultModelObject(); String klass = getItemClass(node); if (!Strings.isEmpty(klass)) { CharSequence oldClass = tag.getAttribute("class"); if (Strings.isEmpty(oldClass)) { tag.put("class", klass); } else { tag.put("class", oldClass + " " + klass); } } } });