private void updateRowKeys(TreeNode node) { int childCount = node.getChildCount(); if (childCount > 0) { for (int i = 0; i < childCount; i++) { TreeNode childNode = node.getChildren().get(i); String childRowKey = (node.getParent() == null) ? String.valueOf(i) : node.getRowKey() + "_" + i; childNode.setRowKey(childRowKey); updateRowKeys(childNode); } } }
public TreeNode createCopyOfTreeNode(TreeNode node) { TreeNode newNode; if (node instanceof CheckboxTreeNode) { newNode = new CheckboxTreeNode(node.getData()); } else { newNode = new DefaultTreeNode(node.getData()); } newNode.setSelectable(node.isSelectable()); newNode.setExpanded(node.isExpanded()); for (TreeNode childNode : node.getChildren()) { newNode.getChildren().add(createCopyOfTreeNode(childNode)); } return newNode; }
protected TreeNode createNewNode(TreeNode node, TreeNode parent) { TreeNode newNode = null; if (node instanceof CheckboxTreeNode) { newNode = new CheckboxTreeNode(node.getType(), node.getData(), parent); } else { newNode = new DefaultTreeNode(node.getType(), node.getData(), parent); } newNode.setSelected(node.isSelected()); newNode.setExpanded(node.isExpanded()); return newNode; }
protected boolean shouldVisitNode(TreeNode node) { return (node.isExpanded() || node.getParent() == null); }
private void eraseParent(TreeNode node) { TreeNode parentNode = node.getParent(); if (parentNode != null) { parentNode.getChildren().remove(node); node.setParent(null); } }
protected void encodeNode(FacesContext context, TreeTable tt, TreeNode treeNode) throws IOException { ResponseWriter writer = context.getResponseWriter(); String rowKey = treeNode.getRowKey(); String parentRowKey = treeNode.getParent().getRowKey(); tt.setRowKey(rowKey); String icon = treeNode.isExpanded() ? TreeTable.COLLAPSE_ICON : TreeTable.EXPAND_ICON; int depth = rowKey.split(UITree.SEPARATOR).length - 1; String selectionMode = tt.getSelectionMode(); boolean selectionEnabled = selectionMode != null; boolean selectable = treeNode.isSelectable() && selectionEnabled; boolean checkboxSelection = selectionEnabled && selectionMode.equals("checkbox"); boolean selected = treeNode.isSelected(); boolean partialSelected = treeNode.isPartialSelected(); boolean nativeElements = tt.isNativeElements(); List<UIColumn> columns = tt.getColumns(); rowStyleClass = rowStyleClass + " " + treeNode.getType(); writer.writeAttribute("class", rowStyleClass, null); writer.writeAttribute("role", "row", null); writer.writeAttribute(HTML.ARIA_EXPANDED, String.valueOf(treeNode.isExpanded()), null); writer.writeAttribute("data-rk", rowKey, null); if (treeNode.isLeaf()) { writer.writeAttribute("style", "visibility:hidden", null); if (treeNode.isExpanded()) { encodeNodeChildren(context, tt, treeNode);
String rowKey = node.getRowKey(); boolean selected = node.isSelected(); boolean partialSelected = node.isPartialSelected(); boolean filter = (tree.getValueExpression("filterBy") != null); boolean isStrictMode = tree.getFilterMode().equals("strict"); UITreeNode uiTreeNode = tree.getUITreeNodeByType(node.getType()); if (!uiTreeNode.isRendered()) { return; || filteredRowKey.equals(rowKey)) { match = true; if (!node.isLeaf() && !rowKey.startsWith(filteredRowKey)) { node.setExpanded(true); boolean isLeaf = node.isLeaf(); boolean expanded = node.isExpanded(); boolean selectable = tree.getSelectionMode() != null && node.isSelectable(); String toggleIcon = expanded ? Tree.EXPANDED_ICON_CLASS_V
UITreeNode uiTreeNode = tree.getUITreeNodeByType(node.getType()); boolean expanded = node.isExpanded(); boolean leaf = node.isLeaf(); boolean selectable = node.isSelectable(); boolean partialSelected = node.isPartialSelected(); boolean selected = node.isSelected(); context.getExternalContext().getRequestMap().put(tree.getVar(), tree.getValue().getData()); writer.writeAttribute("data-rowkey", ROOT_ROW_KEY, null); writer.writeAttribute("class", nodeClass, null); String nodeContentClass = (tree.getSelectionMode() != null && node.isSelectable()) ? Tree.SELECTABLE_NODE_CONTENT_CLASS_H : Tree.NODE_CONTENT_CLASS_H; if (selected) { nodeContentClass += " ui-state-highlight";
protected void encodeFilteredNodes(FacesContext context, Tree tree, TreeNode node, String filteredValue, Locale filterLocale) throws IOException { int childCount = node.getChildCount(); if (childCount > 0) { String var = tree.getVar(); Map<String, Object> requestMap = context.getExternalContext().getRequestMap(); ValueExpression filterByVE = tree.getValueExpression(Tree.PropertyKeys.filterBy.toString()); FilterConstraint filterConstraint = getFilterConstraint(tree); for (int i = 0; i < childCount; i++) { TreeNode childNode = node.getChildren().get(i); requestMap.put(var, childNode.getData()); if (filterConstraint.applies(filterByVE.getValue(context.getELContext()), filteredValue, filterLocale)) { tree.getFilteredRowKeys().add(childNode.getRowKey()); } encodeFilteredNodes(context, tree, childNode, filteredValue, filterLocale); } requestMap.remove(var); } }
private void updateSelectionState(TreeNode node) { boolean allChildrenSelected = true; boolean partialSelected = false; for (int i = 0; i < node.getChildren().size(); i++) { TreeNode childNode = node.getChildren().get(i); boolean childSelected = childNode.isSelected(); boolean childPartialSelected = childNode.isPartialSelected(); allChildrenSelected = allChildrenSelected && childSelected; partialSelected = partialSelected || childSelected || childPartialSelected; } ((CheckboxTreeNode) node).setSelected(allChildrenSelected, false); if (allChildrenSelected) { node.setPartialSelected(false); } else { node.setPartialSelected(partialSelected); } TreeNode parentNode = node.getParent(); if (parentNode != null) { updateSelectionState(parentNode); } } }
/** * @param e */ public void onDrop(DragDropEvent e) { String dragId = e.getDragId(); if (StringUtils.isEmpty(dragId)) { return; } List<Integer> path = getNodePath(dragId); boolean fromNavigator = isSourceNode(e.getDragId()); if (fromNavigator) { return; } TreeNode node = findNodeFromPath(getTargetNode(), path); if (node.getData() instanceof Hierarchy) { Axis axis = (Axis) node.getParent().getData(); Hierarchy hierarchy = (Hierarchy) node.getData(); removeHierarhy(axis, hierarchy); } else if (node.getData() instanceof Level) { Axis axis = (Axis) node.getParent().getParent().getData(); Level level = (Level) node.getData(); removeLevel(axis, level); } else if (node.getData() instanceof Member) { Member member = (Member) node.getData(); removeMember(member); } }
private void createFilteredNodeFromRowKeys(TreeTable tt, TreeNode node, TreeNode filteredNode, List<String> filteredRowKeys) { int childCount = node.getChildCount(); for (int i = 0; i < childCount; i++) { TreeNode childNode = node.getChildren().get(i); String rowKeyOfChildNode = childNode.getRowKey(); for (String rk : filteredRowKeys) { if (rk.equals(rowKeyOfChildNode) || rk.startsWith(rowKeyOfChildNode + "_") || rowKeyOfChildNode.startsWith(rk + "_")) { TreeNode newNode = createNewNode(childNode, filteredNode); if (rk.startsWith(rowKeyOfChildNode + "_")) { newNode.setExpanded(true); } createFilteredNodeFromRowKeys(tt, childNode, newNode, filteredRowKeys); break; } } } }
public void populateRowKeys(TreeNode node, List<String> keys) { if (node != null) { int childCount = node.getChildCount(); if (childCount > 0) { for (int i = 0; i < childCount; i++) { TreeNode childNode = node.getChildren().get(i); keys.add(childNode.getRowKey()); populateRowKeys(childNode, keys); } } } }
protected void encodeNodeChildren(FacesContext context, TreeTable tt, TreeNode treeNode, int first, int size) throws IOException { if (size > 0) { List<TreeNode> children = treeNode.getChildren(); int childCount = treeNode.getChildCount(); int last = (first + size); if (last > childCount) { last = childCount; } for (int i = first; i < last; i++) { encodeNode(context, tt, children.get(i)); } } }
@Override public TreeNode set(int index, TreeNode node) { if (node == null) { throw new NullPointerException(); } else if ((index < 0) || (index >= size())) { throw new IndexOutOfBoundsException(); } else { if (!parent.equals(node.getParent())) { eraseParent(node); } TreeNode previous = get(index); super.set(index, node); previous.setParent(null); node.setParent(parent); updateRowKeys(parent); return previous; } }
private void updateSelectedNodes(TreeNode node) { int childCount = node.getChildCount(); if (childCount > 0) { for (int i = 0; i < childCount; i++) { TreeNode childNode = node.getChildren().get(i); if (childNode.isSelected()) { addToPreselection(childNode); } updateSelectedNodes(childNode); } } }
public GChartModelBuilder importTreeNode(TreeNode root) { String label = String.valueOf(root.getData()); String parentLabel = root.getParent() != null ? String.valueOf(root.getParent().getData()) : Constants.EMPTY_STRING; this.addRow(label, parentLabel); for (TreeNode node : root.getChildren()) { this.importTreeNode(node); } return this; }
tree.setRowKey(rowKey); TreeNode node = tree.getRowNode(); node.setExpanded(true); TreeNode root = tree.getValue(); if (root != null && root.getRowKey() == null) { root.setRowKey(ROOT_ROW_KEY); tree.buildRowKeys(root); tree.initPreselection();
protected TreeNode createNewNode(TreeNode node, TreeNode parent) { TreeNode newNode = null; if (node instanceof CheckboxTreeNode) { newNode = new CheckboxTreeNode(node.getType(), node.getData(), parent); } else { newNode = new DefaultTreeNode(node.getType(), node.getData(), parent); } newNode.setSelected(node.isSelected()); return newNode; }
public CheckboxTreeNode(String type, Object data, TreeNode parent) { this.type = type; this.data = data; this.children = new CheckboxTreeNodeChildren(this); if (parent != null) { parent.getChildren().add(this); } }