File

projects/m2-core/src/lib/core/utils/tree-utils.ts

Index

Methods

Methods

Static activateTreeNode
activateTreeNode(treeComponent: TreeComponent, nodeId: string | number)
Parameters :
Name Type Optional
treeComponent TreeComponent No
nodeId string | number No
Returns : TreeNode

Activated tree node's data or null in case node not found by id

Static addTreeRoot
addTreeRoot(rootNodes: TreeNodeData[], branchRootNode: TreeNodeData)
Parameters :
Name Type Optional
rootNodes TreeNodeData[] No
branchRootNode TreeNodeData No
Returns : void
Static assignBranchNodes
assignBranchNodes(pathNodes: TreeNodeData[], subGroupsSets: TreeNodeData[][])

Constructs tree branch from path nodes and their children.

Parameters :
Name Type Optional Description
pathNodes TreeNodeData[] No
  • tree branch path nodes
subGroupsSets TreeNodeData[][] No
  • array of each path node's direct children (order corresponds the path nodes order)
Returns : void
Static calcStateByChildren
calcStateByChildren(children: SelectableNode[])
Parameters :
Name Type Optional
children SelectableNode[] No
Returns : SelectableState
Static clearCrumbsFilter
clearCrumbsFilter(crumbNodes: TreeNodeData[])
Parameters :
Name Type Optional
crumbNodes TreeNodeData[] No
Returns : void
Static clearTreeFilter
clearTreeFilter(treeComponent: TreeComponent)
Parameters :
Name Type Optional
treeComponent TreeComponent No
Returns : void
Static collapseAll
collapseAll(treeComponent: TreeComponent, silently)
Parameters :
Name Type Optional Default value
treeComponent TreeComponent No
silently No true
Returns : void
Static collapsedNodes
collapsedNodes(treeModel: TreeModel, nodeIds: number[])
Parameters :
Name Type Optional
treeModel TreeModel No
nodeIds number[] No
Returns : void
Static collapseOtherNodes
collapseOtherNodes(node: TreeNode, treeComponent?: TreeComponent)
Parameters :
Name Type Optional
node TreeNode No
treeComponent TreeComponent Yes
Returns : void
Static collectSelectedNodeIds
collectSelectedNodeIds(rootNodes: TreeNodeData[], treeComponent: TreeComponent, prevSelectedNodeIdToPathNodeIdsMap: Map, includeCheckedSubNodes?: boolean)
Parameters :
Name Type Optional
rootNodes TreeNodeData[] No
treeComponent TreeComponent No
prevSelectedNodeIdToPathNodeIdsMap Map<number | number[]> No
includeCheckedSubNodes boolean Yes
Returns : number[]
Static cutOffSingleParentChain
cutOffSingleParentChain(roots: T[], extraPredicate?: (n?: T) => void)
Type parameters :
  • T

Отрезает цепочку головных групп, имеющих ровно одного потомка.

Parameters :
Name Type Optional Description
roots T[] No

массив корневых групп

extraPredicate function Yes

дополнительное условие на группу

Returns : T[]
Static deactivateAllNodes
deactivateAllNodes(treeComponent: TreeComponent, silently)
Parameters :
Name Type Optional Default value
treeComponent TreeComponent No
silently No true
Returns : void
Static doForAll
doForAll(nodes: T[], fn: (node: T,parent: T,level: number) => void, parent?: T, level: number)
Type parameters :
  • T
Parameters :
Name Type Optional Default value
nodes T[] No
fn function No
parent T Yes
level number No 0
Returns : void
Static expandAllWithChildren
expandAllWithChildren(treeComponent: TreeComponent, silently, rootNodes?: TreeNodeData[])
Parameters :
Name Type Optional Default value
treeComponent TreeComponent No
silently No true
rootNodes TreeNodeData[] Yes
Returns : void
Static filterCrumbChildren
filterCrumbChildren(crumbNodes: TreeNodeData[], crumbId: number, visibleChildrenIds: Set)
Parameters :
Name Type Optional
crumbNodes TreeNodeData[] No
crumbId number No
visibleChildrenIds Set<number> No
Returns : void
Static filterCrumbs
filterCrumbs(crumbNodes: TreeNodeData[], visibleNodesMap: Map)
Parameters :
Name Type Optional
crumbNodes TreeNodeData[] No
visibleNodesMap Map<number | string> No
Returns : void
Static filterThinTree
filterThinTree(treeComponent: TreeComponent, visibleNodesMap: Map, currentNodeId: number, autoShow)
Parameters :
Name Type Optional Default value
treeComponent TreeComponent No
visibleNodesMap Map<number | string> No
currentNodeId number No
autoShow No true
Returns : void
Static filterTree
filterTree(treeModel: TreeModel, filterFn: (node: TreeNode) => void, autoShow)
Parameters :
Name Type Optional Default value
treeModel TreeModel No
filterFn function No
autoShow No true
Returns : TreeNode

The nearest visible group in case the currently active group gets hidden

Static findCheckedNodes
findCheckedNodes(nodes: SelectableNode[], includeCheckedSubNodes?: boolean)
Parameters :
Name Type Optional
nodes SelectableNode[] No
includeCheckedSubNodes boolean Yes
Returns : SelectableNode[]
Static findNode
findNode(nodes: T[], predicate: (node: T) => void, getChildrenFn: (node: T) => void)
Type parameters :
  • T
Parameters :
Name Type Optional
nodes T[] No
predicate function No
getChildrenFn function No
Returns : literal type
Static findNodeById
findNodeById(rootNodes: TreeNodeData[], nodeId: number)
Parameters :
Name Type Optional
rootNodes TreeNodeData[] No
nodeId number No
Returns : TreeNodeData
Static findNodes
findNodes(roots: T[], fn: (node: T) => void, firstOnly)
Type parameters :
  • T
  • I

Find nodes

Parameters :
Name Type Optional Default value
roots T[] No
fn function No
firstOnly No false
Returns : T[]
Static findTreeNodesByIds
findTreeNodesByIds(roots: TreeNodeData[], targetIds: Set)
Parameters :
Name Type Optional
roots TreeNodeData[] No
targetIds Set<number> No
Returns : TreeNodeData[]
Static formatSelectable
formatSelectable(selectable: SelectableNode, state: CheckBoxState)
Parameters :
Name Type Optional
selectable SelectableNode No
state CheckBoxState No
Returns : void
Static getActiveNode
getActiveNode(treeComponent: TreeComponent)
Parameters :
Name Type Optional
treeComponent TreeComponent No
Returns : TreeNode
Static getAllNodeIds
getAllNodeIds(nodes: TreeNodeData[])
Parameters :
Name Type Optional
nodes TreeNodeData[] No
Returns : number[]
Static getPath
getPath(branch: TreeNodeData, targetNodeId: number)
Parameters :
Name Type Optional
branch TreeNodeData No
targetNodeId number No
Returns : TreeNodeData[]
Static getTreeNodeDatasPath
getTreeNodeDatasPath(treeNode: TreeNode)
Type parameters :
  • T
  • I
Parameters :
Name Type Optional
treeNode TreeNode No
Returns : T[]
Static getTreeNodesPath
getTreeNodesPath(treeNode: TreeNode)
Parameters :
Name Type Optional
treeNode TreeNode No
Returns : TreeNode[]
Static hideLoadedChildNodesIfNeeded
hideLoadedChildNodesIfNeeded(treeModel: TreeModel)
Parameters :
Name Type Optional
treeModel TreeModel No
Returns : void
Static insertMissingRoots
insertMissingRoots(currentRoots: TreeNodeData[], allRoots: TreeNodeData[])
Parameters :
Name Type Optional
currentRoots TreeNodeData[] No
allRoots TreeNodeData[] No
Returns : boolean
Static makeTree
makeTree(paths: T[][], mapper?: (node?: T) => void)
Type parameters :
  • T
  • R

Собирает дерево из массива путей до групп.

Parameters :
Name Type Optional Description
paths T[][] No

массив путей

mapper function Yes

опциональный конвертер элемента пути в группу

Returns : R[]
Static mergeTreeBranch
mergeTreeBranch(rootTreeNode: TreeNodeData, branchRootNode: TreeNodeData, targetNodeId: number, prevSelectedNodeIdsSet?: Set, prevSelectedNodesPathNodeIds?: Set)
Parameters :
Name Type Optional
rootTreeNode TreeNodeData No
branchRootNode TreeNodeData No
targetNodeId number No
prevSelectedNodeIdsSet Set<number | string> Yes
prevSelectedNodesPathNodeIds Set<number | string> Yes
Returns : void
Static mergeTreeBranchWithRoots
mergeTreeBranchWithRoots(rootNodes: TreeNodeData[], branchRootNode: TreeNodeData, targetNodeId: number, prevSelectedNodeIdsSet?: Set, prevSelectedNodesPathNodeIds?: Set)
Parameters :
Name Type Optional
rootNodes TreeNodeData[] No
branchRootNode TreeNodeData No
targetNodeId number No
prevSelectedNodeIdsSet Set<number | string> Yes
prevSelectedNodesPathNodeIds Set<number | string> Yes
Returns : boolean
Static processParentNodes
processParentNodes(node: TreeNode, handler: (node: SelectableNode) => void)

Iterates over all parent nodes from the direct parent to the root one.

Parameters :
Name Type Optional
node TreeNode No
handler function No
Returns : void
Static processTheseAndChildNodes
processTheseAndChildNodes(nodes: SelectableNode[], handler: (node: SelectableNode) => void)
Parameters :
Name Type Optional
nodes SelectableNode[] No
handler function No
Returns : void
Static refreshParentSelectionByChildren
refreshParentSelectionByChildren(children?: SelectableNode[], parent?: SelectableNode)
Parameters :
Name Type Optional
children SelectableNode[] Yes
parent SelectableNode Yes
Returns : void
Static removeTreeNode
removeTreeNode(node: TreeNode)
Parameters :
Name Type Optional
node TreeNode No
Returns : void
Static removeTreeNodes
removeTreeNodes(rootNodes: TreeNodeData[], idsToDelete: T[], idPropName: string, cachedTreeState?: ITreeState)
Type parameters :
  • T

Return ids of nodes that don't have children anymore and should be collapsed

Parameters :
Name Type Optional Default value
rootNodes TreeNodeData[] No
idsToDelete T[] No
idPropName string No 'id'
cachedTreeState ITreeState Yes
Returns : number[]
Static removeTreeNodesByPredicate
removeTreeNodesByPredicate(rootNodes: TreeNodeData[], predicate: (node: TreeNodeData,parent: TreeNodeData) => void, cachedTreeState?: ITreeState)
Parameters :
Name Type Optional
rootNodes TreeNodeData[] No
predicate function No
cachedTreeState ITreeState Yes
Returns : number[]
Static scrollActiveNodeIntoView
scrollActiveNodeIntoView(treeComponent: TreeComponent)
Parameters :
Name Type Optional
treeComponent TreeComponent No
Returns : void
Static scrollNodeIntoView
scrollNodeIntoView(node: TreeNode)
Parameters :
Name Type Optional
node TreeNode No
Returns : void
Static setSelection
setSelection(nodes: SelectableNode[], isParentChecked, isParentPartial: boolean, prevSelectedNodeIdsSet: Set, prevSelectedNodesPathNodeIds: Set, directlyCheckedOnly?: boolean)
Parameters :
Name Type Optional Default value
nodes SelectableNode[] No
isParentChecked No false
isParentPartial boolean No
prevSelectedNodeIdsSet Set<number | string> No
prevSelectedNodesPathNodeIds Set<number | string> No
directlyCheckedOnly boolean Yes
Returns : void
Static setSelectionNew
setSelectionNew(nodes: SelectableNode[], prevSelectedNodeIdsSet: Set)

This implementation doesn't need previously selected nodes' paths. It drills recursively down to the leaf nodes passing them collected path, then goes up. When parent node is analyzed, all its children have been already processed.

Parameters :
Name Type Optional
nodes SelectableNode[] No
prevSelectedNodeIdsSet Set<number | string> No
Returns : void
Static toggleNodeSelection
toggleNodeSelection(node: TreeNode, isChecked: boolean, preserveCheckedParents)

Handles this, child and parent nodes

Parameters :
Name Type Optional Default value
node TreeNode No
isChecked boolean No
preserveCheckedParents No false
Returns : void
Static transformTreeNodes
transformTreeNodes(rootNodes: TreeNodeData[], fn: (node: TreeNodeData) => void)
Parameters :
Name Type Optional
rootNodes TreeNodeData[] No
fn function No
Returns : TreeNodeData[]
Static updateTreeModel
updateTreeModel(treeModel: TreeModel)

CRUD

Parameters :
Name Type Optional
treeModel TreeModel No
Returns : void

results matching ""

    No results matching ""