@eui/components 16.1.0-snapshot-1690499387467 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/docs/classes/EuiDialogConfig.html +23 -0
  2. package/docs/components/EuiCardContentComponent.html +0 -69
  3. package/docs/components/EuiDateRangeSelectorComponent.html +39 -1
  4. package/docs/components/EuiDialogComponent.html +205 -10
  5. package/docs/dependencies.html +2 -2
  6. package/docs/interfaces/EuiDialogInterface.html +45 -0
  7. package/docs/js/menu-wc.js +3 -3
  8. package/docs/js/search/search_index.js +2 -2
  9. package/esm2022/eui-button/eui-button.component.mjs +2 -2
  10. package/esm2022/eui-card/components/eui-card-content/eui-card-content.component.mjs +2 -6
  11. package/esm2022/eui-date-range-selector/eui-date-range-selector.component.mjs +25 -3
  12. package/esm2022/eui-dialog/eui-dialog.component.mjs +44 -8
  13. package/esm2022/eui-dialog/models/eui-dialog.config.mjs +2 -1
  14. package/esm2022/eui-dialog/services/eui-dialog.service.mjs +8 -2
  15. package/esm2022/eui-dropdown/dropdown-item/eui-dropdown-item.component.mjs +2 -2
  16. package/esm2022/eui-dropdown/eui-dropdown.component.mjs +3 -3
  17. package/esm2022/eui-input-radio/eui-input-radio.component.mjs +5 -3
  18. package/esm2022/eui-list/eui-list-item/eui-list-item.component.mjs +2 -2
  19. package/esm2022/eui-list/eui-list.component.mjs +2 -2
  20. package/esm2022/eui-tree/eui-tree.component.mjs +26 -31
  21. package/eui-card/components/eui-card-content/eui-card-content.component.d.ts +0 -1
  22. package/eui-card/components/eui-card-content/eui-card-content.component.d.ts.map +1 -1
  23. package/eui-date-range-selector/eui-date-range-selector.component.d.ts +3 -1
  24. package/eui-date-range-selector/eui-date-range-selector.component.d.ts.map +1 -1
  25. package/eui-dialog/eui-dialog.component.d.ts +10 -3
  26. package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
  27. package/eui-dialog/models/eui-dialog.config.d.ts +2 -0
  28. package/eui-dialog/models/eui-dialog.config.d.ts.map +1 -1
  29. package/eui-dialog/services/eui-dialog.service.d.ts.map +1 -1
  30. package/eui-input-radio/eui-input-radio.component.d.ts.map +1 -1
  31. package/eui-tree/eui-tree.component.d.ts +1 -0
  32. package/eui-tree/eui-tree.component.d.ts.map +1 -1
  33. package/fesm2022/eui-components-eui-button.mjs +2 -2
  34. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  35. package/fesm2022/eui-components-eui-card.mjs +1 -5
  36. package/fesm2022/eui-components-eui-card.mjs.map +1 -1
  37. package/fesm2022/eui-components-eui-date-range-selector.mjs +24 -2
  38. package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
  39. package/fesm2022/eui-components-eui-dialog.mjs +51 -8
  40. package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
  41. package/fesm2022/eui-components-eui-dropdown.mjs +4 -4
  42. package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
  43. package/fesm2022/eui-components-eui-input-radio.mjs +4 -2
  44. package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
  45. package/fesm2022/eui-components-eui-list.mjs +4 -4
  46. package/fesm2022/eui-components-eui-list.mjs.map +1 -1
  47. package/fesm2022/eui-components-eui-tree.mjs +25 -30
  48. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  49. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-tree.mjs","sources":["../../eui-tree/eui-tree.component.ts","../../eui-tree/eui-tree.component.html","../../eui-tree/eui-tree.model.ts","../../eui-tree/eui-components-eui-tree.ts"],"sourcesContent":["import {\n Component,\n Input,\n NgModule,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ViewEncapsulation,\n TemplateRef,\n ChangeDetectorRef,\n SimpleChanges,\n OnInit,\n OnChanges,\n HostBinding,\n OnDestroy,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport {\n SelectionRecursiveState,\n TreeDataModel,\n TreeItemModel,\n TreeDataRunTimeModel,\n TreeItemRunTimeModel,\n EuiTreeSelectionChanges,\n} from './eui-tree.model';\nimport { FormsModule } from '@angular/forms';\nimport { EuiInputCheckboxModule } from '@eui/components/eui-input-checkbox';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiBadgeModule } from '@eui/components/eui-badge';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { NestedTreeControl, CdkTreeModule } from '@angular/cdk/tree';\nimport { ArrayDataSource, SelectionModel } from '@angular/cdk/collections';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'eui-tree',\n templateUrl: './eui-tree.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTreeComponent implements OnInit, OnChanges, OnDestroy {\n @HostBinding('class') string = 'eui-tree';\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree';\n @Input() nodes: TreeDataModel;\n @Input() nodeTemplateRef: TemplateRef<any>;\n @Input() nodeContentMetadataTemplateRef: TemplateRef<any>;\n @Input() rightContextMenuTemplateRef: TemplateRef<any>;\n @Input() expandedIconClass: string;\n @Input() collapsedIconClass: string;\n @Input() expandedSvgIconClass = 'eui-chevron-forward:eui';\n @Input() collapsedSvgIconClass = 'eui-chevron-down:eui';\n\n // @ViewChild('treeComponentInstance') public treeComponentInstance: any;\n @Input()\n get isClickTogglingNode(): boolean {\n return this._isClickTogglingNode;\n }\n\n set isClickTogglingNode(value: BooleanInput) {\n this._isClickTogglingNode = coerceBooleanProperty(value);\n }\n\n @Input()\n get isMultiselect(): boolean {\n return this._isMultiselect;\n }\n\n set isMultiselect(value: BooleanInput) {\n this._isMultiselect = coerceBooleanProperty(value);\n }\n\n @Input()\n get isRecursiveSelection(): boolean {\n return this._isRecursiveSelection;\n }\n\n set isRecursiveSelection(value: BooleanInput) {\n this._isRecursiveSelection = coerceBooleanProperty(value);\n }\n\n @Input()\n get isRecursiveParentSelection(): boolean {\n return this._isRecursiveParentSelection;\n }\n\n set isRecursiveParentSelection(value: BooleanInput) {\n this._isRecursiveParentSelection = coerceBooleanProperty(value);\n }\n\n @Input()\n get autoTranslate(): boolean {\n return this._autoTranslate;\n }\n\n set autoTranslate(value: BooleanInput) {\n this._autoTranslate = coerceBooleanProperty(value);\n }\n\n @Output() selectionChange = new EventEmitter<EuiTreeSelectionChanges>();\n @Output() nodeClick = new EventEmitter<TreeItemModel>();\n @Output() nodeToggle = new EventEmitter<TreeItemModel>();\n cdkArrayDataSource: ArrayDataSource<TreeItemModel>;\n cdkTreeControl: NestedTreeControl<TreeItemModel>;\n renderTree: boolean;\n public uid: string = Math.floor(Math.random() * 1000000000).toString();\n private treeDataRunTime: TreeDataRunTimeModel;\n private runTimeSelectionRecursiveState: TreeDataRunTimeModel;\n private selectionModel: SelectionModel<TreeItemRunTimeModel>;\n private filteredTreeData: TreeDataModel;\n private _isClickTogglingNode = false;\n private _isMultiselect = false;\n private _isRecursiveSelection = false;\n private _isRecursiveParentSelection = true;\n private _autoTranslate = true;\n private selectionModelSubs;\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n // Deep copy to the array.\n if (this.nodes) {\n this.nodes = this.processInputs(structuredClone(this.nodes));\n this.createTreeDataRuntime(this.nodes);\n this.cdkArrayDataSource = new ArrayDataSource(this.treeDataRunTime);\n this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children);\n this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n this.renderInitialExpand(this.treeDataRunTime);\n this.selectionModel = new SelectionModel<TreeItemRunTimeModel>(\n true,\n this.getInitialSelection(this.treeDataRunTime),\n true,\n (a, b) => a?.path === b?.path\n );\n this.renderTree = true;\n this.selectionModelSubs = this.selectionModel.changed.subscribe((sc) => {\n this.selectionChange.emit({\n added: sc.added.map((_) => this.getTreeItem(_.path)),\n removed: sc.removed.map((_) => this.getTreeItem(_.path)),\n selection: [...this.selectionModel.selected].map((item) => this.getTreeItem(item.path)),\n });\n });\n this.changeDetectorRef.markForCheck();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['nodes'].currentValue !== changes['nodes'].previousValue) {\n this.renderTree = false;\n setTimeout(() => {\n this.nodes = this.processInputs(structuredClone(this.nodes));\n this.createTreeDataRuntime(this.nodes);\n this.cdkArrayDataSource = new ArrayDataSource(this.treeDataRunTime);\n this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children);\n this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n this.renderInitialExpand(this.treeDataRunTime);\n this.selectionModel = new SelectionModel<TreeItemRunTimeModel>(\n true,\n this.getInitialSelection(this.treeDataRunTime),\n true,\n (a, b) => a?.path === b?.path\n );\n this.renderTree = true;\n this.changeDetectorRef.markForCheck();\n });\n }\n }\n\n ngOnDestroy(): void {\n if (this.selectionModelSubs) {\n this.selectionModelSubs.unsubscribe();\n }\n }\n\n trackBy(index: number, el: any): any {\n return el.parent;\n }\n\n getTreeItem(path: string): TreeItemModel {\n const indexArr: Array<number> = this.resolvePath(path);\n let nodeArr = this.nodes;\n let node;\n if (nodeArr && Array.isArray(nodeArr)) {\n indexArr?.forEach((pathIndex: number, index) => {\n if (index < indexArr.length - 1) {\n nodeArr = nodeArr && nodeArr[pathIndex]?.children;\n } else {\n node = nodeArr[pathIndex];\n }\n });\n }\n return node;\n }\n\n expandAll(): void {\n this.cdkTreeControl.expandAll();\n this.changeDetectorRef.markForCheck();\n }\n\n expandAt(path: string): void {\n this.cdkTreeControl.expandDescendants(this.getRunTimeTreeItem(path[0]));\n this.cdkTreeControl.toggleDescendants(this.getRunTimeTreeItem(path));\n this.cdkTreeControl.expand(this.getRunTimeTreeItem(path));\n this.changeDetectorRef.markForCheck();\n }\n\n collapseAll(): void {\n this.cdkTreeControl.collapseAll();\n this.changeDetectorRef.markForCheck();\n }\n\n filterTerm(filterInput: string) {\n const treeData = structuredClone(this.nodes);\n if (filterInput && filterInput !== '') {\n this.renderTree = false;\n this.changeDetectorRef.markForCheck();\n this.filteredTreeData = this.filterTreeData(treeData, 'label', filterInput);\n this.createTreeDataRuntime(this.filteredTreeData);\n setTimeout(() => {\n this.cdkArrayDataSource = new ArrayDataSource(this.treeDataRunTime);\n this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children);\n this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n this.renderTree = true;\n this.changeDetectorRef.markForCheck();\n });\n } else {\n this.renderTree = false;\n this.changeDetectorRef.markForCheck();\n this.createTreeDataRuntime(this.nodes);\n this.filteredTreeData = undefined;\n setTimeout(() => {\n this.cdkArrayDataSource = new ArrayDataSource(this.treeDataRunTime);\n this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children);\n this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n this.renderTree = true;\n this.changeDetectorRef.markForCheck();\n });\n }\n }\n\n setAllSelection(isChecked: boolean): void {\n this.setIsCheckedForAll(this.nodes, isChecked, this.treeDataRunTime);\n this.changeDetectorRef.markForCheck();\n }\n\n onNodeClick(treeItem: TreeItemRunTimeModel): void {\n this.nodeClick.emit(this.getTreeItem(treeItem?.path));\n if (this.isClickTogglingNode) {\n this.cdkTreeControl.toggle(treeItem);\n this.onNodeToggle(treeItem);\n }\n }\n\n onNodeToggle(treeItem: TreeItemRunTimeModel): void {\n this.nodeToggle.emit(this.getTreeItem(treeItem?.path));\n }\n\n nodeSelected(evt: any, path: string, treeItemModel: TreeItemRunTimeModel): void {\n const item = this.getTreeItem(path);\n const node = item.node;\n const children = item.children;\n const pathArr = path.split('.');\n const hasParent = pathArr.length > 1;\n if (hasParent) {\n pathArr.pop();\n }\n node.isSelected = evt.target.checked;\n if (node.isSelected) {\n this.selectTreeItem(treeItemModel);\n } else {\n this.deselectTreeItem(treeItemModel);\n }\n node.isIndeterminate = false;\n if (children && children.length > 0) {\n if (node?.selectConfig?.recursive) {\n this.setIsCheckedForAll(children, evt.target.checked, treeItemModel?.children);\n }\n }\n this.runTimeSelectionRecursiveState[parseInt(pathArr[0], 10)] = this.calculateItemSelectionRecursiveState(\n structuredClone(this.getTreeItem(pathArr[0]))\n );\n if (hasParent) {\n // Calculates parent path\n const parentPath = pathArr.join('.');\n // Creating node index sequence f.e If path is '1.2' it will be [1,2]\n const nodeIndexSeq = parentPath.split('.').map((indexStr) => parseInt(indexStr, 10));\n // Calculating the node paths array to be re-calculated from bottom to top\n const nodePathsSeq = [];\n nodeIndexSeq.forEach((nodeIndex, index) => {\n nodePathsSeq[index] = nodeIndexSeq.slice(0, index + 1).join('.');\n });\n nodePathsSeq.forEach((nodePath: string) => {\n const treeItem = this.getTreeItem(nodePath);\n const runTimeTreeItem = this.getRunTimeSelectionRecursiveState(nodePath);\n if (treeItem?.node?.selectable && treeItem.node?.selectConfig?.recursive) {\n treeItem.node.isSelected = runTimeTreeItem.selectionRecursiveState === 'allSelected';\n treeItem.node.isIndeterminate = runTimeTreeItem.selectionRecursiveState === 'indeterminate';\n if (treeItem.node.isSelected === true) {\n // runTimeTreeItem.node.isSelected = true;\n // this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n this.selectTreeItem(runTimeTreeItem);\n } else {\n // runTimeTreeItem.node.isSelected = true;\n // this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n this.deselectTreeItem(runTimeTreeItem);\n }\n }\n // debugger\n });\n }\n }\n\n hasChild = (_: number, item: TreeItemRunTimeModel) => !!item?.children && item?.children?.length > 0;\n\n onSelectFn(path: string, treeItemModel: TreeItemRunTimeModel): (evt: any) => void {\n if (treeItemModel?.node?.selectable) {\n const nodeSelected = this.nodeSelected.bind(this);\n return (evt: any) => nodeSelected(evt, path, treeItemModel);\n }\n return (evt: any) => {\n console.warn('treeItemModel.node.selectable is false, you can not implement onSelect');\n };\n }\n\n private processInputs(treeData: TreeDataModel): TreeDataModel {\n if (this.isMultiselect) {\n treeData = this.overrideTreeDataModelForSelection(treeData, this.isRecursiveSelection, !this.isRecursiveParentSelection);\n }\n return treeData;\n }\n\n private overrideTreeDataModelForSelection(nodeArr: TreeDataModel, isRecursive: boolean, noAutoSelectParent: boolean): TreeDataModel {\n return nodeArr?.map((item: TreeItemModel, index: number) => {\n if (item?.children && item.children.length > 0) {\n return {\n ...item,\n node: {\n ...item.node,\n selectable: typeof item?.node?.selectable === 'undefined' ? true : item?.node?.selectable,\n // isSelected: false,\n // isIndeterminate: false,\n selectConfig: {\n ...item.node.selectConfig,\n recursive:\n typeof item?.node?.selectConfig?.recursive === 'undefined'\n ? !!isRecursive\n : item?.node?.selectConfig?.recursive,\n noAutoSelectParent:\n typeof item?.node?.selectConfig?.noAutoSelectParent === 'undefined'\n ? noAutoSelectParent\n : item?.node?.selectConfig?.noAutoSelectParent,\n },\n },\n children: this.overrideTreeDataModelForSelection(item.children, isRecursive, noAutoSelectParent),\n };\n } else {\n return {\n ...item,\n node: {\n ...item.node,\n selectable: typeof item?.node?.selectable === 'undefined' ? true : item?.node?.selectable,\n },\n };\n }\n });\n }\n\n private getSelectionIndexOfItem(runTimeTreeItem: TreeItemRunTimeModel): number {\n return this.selectionModel.selected.findIndex((i) => i?.path === runTimeTreeItem?.path);\n }\n\n private selectTreeItem(runTimeTreeItem: TreeItemRunTimeModel): void {\n const indexOfItem = this.getSelectionIndexOfItem(runTimeTreeItem);\n if (indexOfItem === -1) {\n this.selectionModel.select(runTimeTreeItem);\n }\n }\n\n private deselectTreeItem(runTimeTreeItem: TreeItemRunTimeModel): void {\n const indexOfItem = this.getSelectionIndexOfItem(runTimeTreeItem);\n if (indexOfItem > -1) {\n const newSelection = [...this.selectionModel.selected];\n newSelection.splice(indexOfItem, 1);\n this.selectionModel.setSelection(...newSelection);\n }\n }\n\n // Creates treeDataRunTime & runTimeSelectionRecursiveState for separate the logic.\n private createTreeDataRuntime(nodes: TreeDataModel): void {\n this.treeDataRunTime = structuredClone(nodes)?.map((item, index) => {\n return this.calculateRunTimeState({ ...item }, index);\n });\n this.runTimeSelectionRecursiveState = this.treeDataRunTime.map((item) => this.calculateItemSelectionRecursiveState({ ...item }));\n }\n\n // Creating run time state which includes children selection state for selection tree.\n private calculateItemSelectionRecursiveState(treeItem: TreeItemRunTimeModel): TreeItemRunTimeModel {\n let childStates = [];\n let itemState: SelectionRecursiveState = 'indeterminate';\n if (treeItem.children && treeItem.children.length > 0) {\n treeItem.children.forEach((child, index) => {\n treeItem.children[index] = this.calculateItemSelectionRecursiveState(child);\n });\n const runTimeItems = treeItem.children as any;\n childStates = runTimeItems.map((item) => item.selectionRecursiveState);\n }\n if (treeItem.node.isSelected && childStates.every((state) => state === 'allSelected')) {\n itemState = 'allSelected';\n } else if (!treeItem.node.isSelected && childStates.every((state) => state === 'allNotSelected')) {\n itemState = 'allNotSelected';\n } else if (\n treeItem.node?.selectConfig?.recursive &&\n childStates.every((state) => state === 'allSelected') &&\n !treeItem.node.isSelected\n ) {\n if (!treeItem?.node?.selectConfig?.noAutoSelectParent) {\n treeItem.node.isSelected = true;\n this.selectTreeItem(treeItem);\n itemState = 'allSelected';\n }\n } else if (\n treeItem.node?.selectConfig?.recursive &&\n childStates.every((state) => state === 'allNotSelected') &&\n treeItem.node.isSelected\n ) {\n treeItem.node.isSelected = false;\n this.deselectTreeItem(treeItem);\n itemState = 'allNotSelected';\n }\n return {\n ...treeItem,\n selectionRecursiveState: itemState,\n };\n }\n\n private getRunTimeSelectionRecursiveState(path: string): TreeItemRunTimeModel {\n const indexArr: Array<number> = this.resolvePath(path);\n let nodeArr = this.runTimeSelectionRecursiveState;\n let node;\n indexArr.forEach((pathIndex: number, index) => {\n if (index < indexArr.length - 1) {\n nodeArr = nodeArr[pathIndex]?.children;\n } else {\n node = nodeArr[pathIndex];\n }\n });\n return node;\n }\n\n private setIsCheckedForAll(nodeArr: TreeDataModel, isChecked: boolean, runTimeTreeData: TreeDataRunTimeModel): void {\n nodeArr.forEach((item: TreeItemModel, index: number) => {\n if (runTimeTreeData[index] && nodeArr[index]?.node?.selectable) {\n nodeArr[index] = {\n ...item,\n node: {\n ...item.node,\n isSelected: isChecked,\n isIndeterminate: false,\n },\n };\n if (isChecked) {\n this.selectTreeItem(runTimeTreeData[index]);\n } else {\n this.deselectTreeItem(runTimeTreeData[index]);\n }\n }\n if (runTimeTreeData[index]?.children?.length > 0 && nodeArr[index].children && nodeArr[index].children.length > 0) {\n this.setIsCheckedForAll(nodeArr[index].children, isChecked, runTimeTreeData[index].children);\n }\n });\n }\n\n private resolvePath(path: string): Array<number> {\n return path?.split('.').map((index: string) => parseInt(index, 10));\n }\n\n private calculateRunTimeState(treeItem: TreeItemRunTimeModel, index: number, parentPath?: string): TreeItemRunTimeModel {\n treeItem.path = parentPath ? parentPath + '.' + index : index.toString();\n treeItem.index = index;\n if (treeItem.children && treeItem.children.length > 0) {\n treeItem.children.forEach((child, treeItemIndex) => {\n treeItem.children[treeItemIndex] = this.calculateRunTimeState(child, treeItemIndex, treeItem.path);\n });\n }\n return treeItem;\n }\n\n private filterTreeData(treeData: TreeDataModel, key: string = 'label', filterStr: string) {\n return treeData.filter((treeItem) => {\n if (treeItem?.children?.length > 0) {\n treeItem.children = this.filterTreeData([...treeItem.children], key, filterStr);\n treeItem.children = treeItem.children.length > 0 ? treeItem.children : undefined;\n }\n if (treeItem.node.treeContentBlock.label.includes(filterStr)) {\n return true;\n } else if (treeItem?.children?.length > 0) {\n return treeItem?.children?.length > 0;\n } else {\n return false;\n }\n });\n }\n\n private getInitialSelection(nodes: TreeDataRunTimeModel): Array<TreeItemRunTimeModel> {\n const selection: Array<TreeItemRunTimeModel> = [];\n this.scanSelection(nodes, selection);\n return selection;\n }\n\n private scanSelection(nodes: TreeDataRunTimeModel, selection: Array<TreeItemRunTimeModel>) {\n nodes.forEach((item: TreeItemRunTimeModel) => {\n if (item.node?.selectable && item.node.isSelected) {\n selection.push(item);\n }\n if (item?.children?.length > 0) {\n this.scanSelection(item.children, selection);\n }\n });\n }\n\n private renderInitialExpand(nodes: TreeDataRunTimeModel) {\n nodes.forEach((item: TreeItemRunTimeModel) => {\n if (item?.node?.isExpanded) {\n this.expandAt(item.path);\n }\n if (item?.children?.length > 0) {\n this.renderInitialExpand(item.children);\n }\n });\n }\n\n private getRunTimeTreeItem(path: string): TreeItemModel {\n const indexArr: Array<number> = this.resolvePath(path);\n let nodeArr = this.treeDataRunTime;\n let node;\n if (nodeArr && Array.isArray(nodeArr)) {\n indexArr?.forEach((pathIndex: number, index) => {\n if (index < indexArr.length - 1) {\n nodeArr = nodeArr && nodeArr[pathIndex]?.children;\n } else {\n node = nodeArr[pathIndex];\n }\n });\n }\n return node;\n }\n}\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n TranslateModule,\n EuiInputCheckboxModule,\n CdkTreeModule,\n EuiButtonModule,\n EuiIconModule,\n EuiLabelModule,\n EuiBadgeModule,\n EuiChipModule,\n EuiDropdownModule,\n ],\n declarations: [EuiTreeComponent],\n exports: [EuiTreeComponent],\n})\nexport class EuiTreeModule {}\n","<ul class=\"eui-tree__wrapper\">\n <cdk-tree [dataSource]=\"cdkArrayDataSource\" [treeControl]=\"cdkTreeControl\" [trackBy]=\"trackBy\" *ngIf=\"renderTree\" class=\"eui-cdk-tree\">\n <!-- There are two states of generic cdk-nested-tree-node declarations.\n First one is without child. No sub rendering.\n -->\n <cdk-nested-tree-node *cdkTreeNodeDef=\"let treeItemModel\" class=\"eui-cdk-nested-tree-node\">\n <li\n class=\"eui-tree-node\"\n *ngIf=\"treeItemModel\"\n title=\"{{\n getTreeItem(treeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\" (click)=\"onNodeClick(treeItemModel)\">\n <div class=\"eui-tree-node-wrapper__container\">\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeItemModel?.path)?.node,\n onSelect: onSelectFn(treeItemModel.path, treeItemModel),\n id: uid + treeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n </li>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let treeItemModel; when: hasChild\"\n class=\"eui-cdk-nested-tree-node eui-cdk-nested-tree-node--with-child\">\n <li\n class=\"eui-tree-node\"\n *ngIf=\"treeItemModel\"\n title=\"{{\n getTreeItem(treeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\">\n <!--Here wraps the node, and listen for node clicks.-->\n <div (click)=\"onNodeClick(treeItemModel)\" class=\"eui-tree-node-wrapper__container\">\n <!-- Expand/collapse action button -->\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"'Toggle ' + treeItemModel?.node?.treeContentBlock?.label\"\n (click)=\"onNodeToggle(treeItemModel)\"\n cdkTreeNodeToggle\n class=\"eui-u-mr-xs\">\n <span\n euiIcon\n *ngIf=\"!cdkTreeControl.isExpanded(treeItemModel) && collapsedIconClass\"\n [iconClass]=\"collapsedIconClass\"></span>\n <span\n euiIcon\n *ngIf=\"cdkTreeControl.isExpanded(treeItemModel) && expandedIconClass\"\n [iconClass]=\"expandedIconClass\"></span>\n <eui-icon-svg\n *ngIf=\"!cdkTreeControl.isExpanded(treeItemModel) && !collapsedIconClass\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeItemModel) && !expandedIconClass\"\n [icon]=\"collapsedSvgIconClass\"></eui-icon-svg>\n </button>\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeItemModel?.path)?.node,\n onSelect: onSelectFn(treeItemModel?.path, treeItemModel),\n id: uid + treeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n <!--uses cdkTreeNodeOutlet to render children nodes, CdkTreeControl is used to control isExpanded state.-->\n <ul class=\"eui-tree-node\" *ngIf=\"cdkTreeControl.isExpanded(treeItemModel)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </ul>\n </li>\n </cdk-nested-tree-node>\n </cdk-tree>\n</ul>\n\n<ng-template #nodeTemplateDefault let-node let-onSelect=\"onSelect\" let-id=\"id\">\n <ng-container *ngIf=\"node\">\n <div class=\"eui-tree-node-wrapper__container-left\" [class.eui-tree-node-wrapper__container-left--selected]=\"node?.isSelected\">\n <!--input checkbox area-->\n <input\n euiInputCheckBox\n *ngIf=\"node && node.selectable\"\n type=\"checkbox\"\n id=\"{{ id }}\"\n [checked]=\"node && node.isSelected\"\n [indeterminate]=\"node && node.isIndeterminate\"\n (change)=\"onSelect($event)\"\n class=\"eui-u-mr-m\" />\n\n <!--icon area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.iconClass\">\n <eui-icon\n [euiVariant]=\"node?.treeContentBlock?.iconTypeClass || 'primary'\"\n iconClass=\"{{ node?.treeContentBlock?.iconClass }}\"\n euiSizeS\n class=\"eui-u-mr-xs\">\n </eui-icon>\n </ng-container>\n <ng-container *ngIf=\"node?.treeContentBlock?.iconSvgName\">\n <eui-icon-svg\n icon=\"{{ node?.treeContentBlock?.iconSvgName }}\"\n fillColor=\"{{ node?.treeContentBlock?.iconTypeClass || 'grey-100' }}\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.chips\">\n <eui-chip\n *ngFor=\"let chip of node.treeContentBlock.chips\"\n euiSizeXS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mr-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--badge (typeLabel & typeClass) area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.typeLabel\" [ngSwitch]=\"node?.treeContentBlock?.typeClass\">\n <eui-badge euiSizeM [euiVariant]=\"node?.treeContentBlock?.typeClass || 'primary'\" class=\"eui-u-flex-no-shrink eui-u-mr-xs\">\n {{ node?.treeContentBlock?.typeLabel }}\n </eui-badge>\n </ng-container>\n </div>\n\n <!--label area-->\n <div class=\"eui-tree-node-wrapper__container-middle\">\n <label\n *ngIf=\"!node?.treeContentBlock?.url && !node?.treeContentBlock?.urlExternal\"\n euiLabel\n for=\"{{ id }}\"\n class=\"eui-u-text-truncate eui-u-mr-s\"\n [class.eui-label--selected]=\"node?.isSelected\"\n [class.eui-u-cursor-pointer]=\"node?.selectable\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </label>\n <label *ngIf=\"node?.treeContentBlock?.url\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-mr-m\">\n <a class=\"eui-u-text-link\" [routerLink]=\"node?.treeContentBlock?.url\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n <label *ngIf=\"node?.treeContentBlock?.urlExternal\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-mr-m\">\n <a\n class=\"eui-u-text-link-external\"\n href=\"{{ node?.treeContentBlock?.urlExternal }}\"\n target=\"{{ node?.treeContentBlock?.urlExternalTarget || 'blank' }}\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n </div>\n\n <div *ngIf=\"node?.treeContentBlock?.rightContent\" class=\"eui-tree-node-wrapper__container-right\">\n <!--badges area-->\n <ng-container *ngFor=\"let badge of node.treeContentBlock.rightContent?.badges\">\n <eui-badge euiSizeM euiOutline [euiVariant]=\"badge.typeClass || 'secondary'\" class=\"eui-u-ml-xs\">\n <span euiLabel>{{ badge.label }}</span>\n </eui-badge>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngFor=\"let chip of node.treeContentBlock.rightContent?.chips\">\n <eui-chip\n euiSizeXS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-ml-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--Context menu-->\n <ng-container *ngIf=\"node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef\">\n <eui-dropdown class=\"eui-u-ml-xs\">\n <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]=\"'Options menu'\">\n <eui-icon-svg icon=\"eui-ellipsis-vertical\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <ng-template\n [ngTemplateOutlet]=\"rightContextMenuTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.rightContent?.contextMenuMetaData,\n metadata: node?.treeContentBlock?.rightContent?.contextMenuMetaData\n }\">\n </ng-template>\n </eui-dropdown-content>\n </eui-dropdown>\n </ng-container>\n </div>\n\n <!--metadata, uses the help of ng template to generate dynamic expand variable without handling state -->\n <ng-container\n *ngIf=\"node.treeContentBlock?.metadata && nodeContentMetadataTemplateRef\"\n [ngTemplateOutlet]=\"nodeContentMetadataContainer\"\n [ngTemplateOutletContext]=\"{\n $implicit: { expanded: false }\n }\">\n </ng-container>\n <ng-template #nodeContentMetadataContainer let-metaDataContainer>\n <button\n euiButton\n euiBasicButton\n euiIconButton\n euiRounded\n euiSizeS\n type=\"button\"\n (click)=\"metaDataContainer.expanded = !metaDataContainer.expanded\">\n <eui-icon-svg [icon]=\"metaDataContainer.expanded ? 'eui-chevron-down' : 'eui-chevron-forward'\"></eui-icon-svg>\n </button>\n <div *ngIf=\"metaDataContainer.expanded\" class=\"eui-tree-node__metacontent\">\n <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->\n <ng-template\n [ngTemplateOutlet]=\"nodeContentMetadataTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.metadata,\n metadata: node?.treeContentBlock?.metadata\n }\">\n </ng-template>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n","import { UxLink } from '@eui/base';\n\nexport type TreeDataModel = Array<TreeItemModel>;\n\nexport type TreeItemModel = {\n node: TreeNode;\n children?: TreeDataModel;\n};\n\nexport type TreeNode = {\n // metadata can be block content, or any\n treeContentBlock: EuiTreeContentBlockModel | any;\n} & SelectionModel &\n ExpandModel;\n\nexport interface EuiTreeContentBlockModel {\n label: string;\n tooltipLabel: string;\n url: string;\n urlExternal: string;\n urlExternalTarget: string;\n typeLabel: string;\n typeClass: string;\n chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n iconClass: string;\n iconTypeClass: string;\n iconSvgName?: string;\n rightContent?: {\n iconClass: string;\n iconTypeClass: string;\n iconSvgName?: string;\n badges?: Array<{ label: string; typeClass: string }>;\n chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n contextMenuMetaData?: any;\n };\n metaData: string;\n}\n\nexport type SelectionModel = {\n // if one of sub is selected, it becomes intermediate\n selectable?: boolean;\n isSelected?: boolean;\n isExpanded?: boolean;\n isIndeterminate?: boolean;\n selectConfig?: SelectConfigModel;\n};\n\nexport interface SelectConfigModel {\n /*\n If It is true;\n When user select parent, all the children will be selected\n When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n */\n recursive?: boolean;\n /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n noAutoSelectParent?: boolean;\n}\n\nexport type ExpandModel = {\n isExpanded?: boolean;\n};\n\nexport type EuiTreeSelectionChanges = { added: TreeDataModel; removed: TreeDataModel; selection: TreeDataModel };\n\nexport type TreeDataRunTimeModel = Array<TreeItemRunTimeModel>;\n\nexport type TreeItemRunTimeModel = { selectionRecursiveState?: SelectionRecursiveState; index?: number; path?: string } & TreeItemModel;\n\nexport type SelectionRecursiveState = 'indeterminate' | 'allSelected' | 'allNotSelected';\n\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\nexport function uxTreeNodesMetaDataMapper(oldTree: Array<UxLink>): TreeDataModel {\n return oldTree.map((item) => {\n if (item?.typeClass === 'default') {\n // default typeClass will be\n item.typeClass = 'secondary';\n }\n if (item?.badgeLabel) {\n // default typeClass will be\n if (item?.badges?.length > 0) {\n item.badges.push({ label: item?.badgeLabel, typeClass: 'secondary' });\n } else {\n item.badges = [{ label: item?.badgeLabel, typeClass: 'secondary' }];\n }\n }\n return {\n node: {\n treeContentBlock: {\n label: item.label,\n typeLabel: item.typeLabel,\n typeClass: item.typeLabel && !item.typeClass ? 'secondary' : item.typeClass,\n tooltipLabel: item.tooltipLabel,\n url: item.url,\n urlExternal: item.urlExternal,\n urlExternalTarget: item.urlExternal && item.urlExternalTarget ? item.urlExternalTarget : undefined,\n badges: item.badges,\n metadata: item.metadata,\n },\n },\n children: item.children ? uxTreeNodesMetaDataMapper(item.children) : undefined,\n };\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-tree.mjs","sources":["../../eui-tree/eui-tree.component.ts","../../eui-tree/eui-tree.component.html","../../eui-tree/eui-tree.model.ts","../../eui-tree/eui-components-eui-tree.ts"],"sourcesContent":["import {\n Component,\n Input,\n NgModule,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ViewEncapsulation,\n TemplateRef,\n ChangeDetectorRef,\n SimpleChanges,\n OnInit,\n OnChanges,\n HostBinding,\n OnDestroy,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport {\n SelectionRecursiveState,\n TreeDataModel,\n TreeItemModel,\n TreeDataRunTimeModel,\n TreeItemRunTimeModel,\n EuiTreeSelectionChanges,\n} from './eui-tree.model';\nimport { FormsModule } from '@angular/forms';\nimport { EuiInputCheckboxModule } from '@eui/components/eui-input-checkbox';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiBadgeModule } from '@eui/components/eui-badge';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { NestedTreeControl, CdkTreeModule } from '@angular/cdk/tree';\nimport { ArrayDataSource, SelectionModel } from '@angular/cdk/collections';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'eui-tree',\n templateUrl: './eui-tree.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTreeComponent implements OnInit, OnChanges, OnDestroy {\n @HostBinding('class') string = 'eui-tree';\n @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-tree';\n @Input() nodes: TreeDataModel;\n @Input() nodeTemplateRef: TemplateRef<any>;\n @Input() nodeContentMetadataTemplateRef: TemplateRef<any>;\n @Input() rightContextMenuTemplateRef: TemplateRef<any>;\n @Input() expandedIconClass: string;\n @Input() collapsedIconClass: string;\n @Input() expandedSvgIconClass = 'eui-chevron-forward:eui';\n @Input() collapsedSvgIconClass = 'eui-chevron-down:eui';\n\n // @ViewChild('treeComponentInstance') public treeComponentInstance: any;\n @Input()\n get isClickTogglingNode(): boolean {\n return this._isClickTogglingNode;\n }\n\n set isClickTogglingNode(value: BooleanInput) {\n this._isClickTogglingNode = coerceBooleanProperty(value);\n }\n\n @Input()\n get isMultiselect(): boolean {\n return this._isMultiselect;\n }\n\n set isMultiselect(value: BooleanInput) {\n this._isMultiselect = coerceBooleanProperty(value);\n }\n\n @Input()\n get isRecursiveSelection(): boolean {\n return this._isRecursiveSelection;\n }\n\n set isRecursiveSelection(value: BooleanInput) {\n this._isRecursiveSelection = coerceBooleanProperty(value);\n }\n\n @Input()\n get isRecursiveParentSelection(): boolean {\n return this._isRecursiveParentSelection;\n }\n\n set isRecursiveParentSelection(value: BooleanInput) {\n this._isRecursiveParentSelection = coerceBooleanProperty(value);\n }\n\n @Input()\n get autoTranslate(): boolean {\n return this._autoTranslate;\n }\n\n set autoTranslate(value: BooleanInput) {\n this._autoTranslate = coerceBooleanProperty(value);\n }\n\n @Output() selectionChange = new EventEmitter<EuiTreeSelectionChanges>();\n @Output() nodeClick = new EventEmitter<TreeItemModel>();\n @Output() nodeToggle = new EventEmitter<TreeItemModel>();\n cdkArrayDataSource: ArrayDataSource<TreeItemModel>;\n cdkTreeControl: NestedTreeControl<TreeItemModel>;\n renderTree: boolean;\n public uid: string = Math.floor(Math.random() * 1000000000).toString();\n private treeDataRunTime: TreeDataRunTimeModel;\n private runTimeSelectionRecursiveState: TreeDataRunTimeModel;\n private selectionModel: SelectionModel<TreeItemRunTimeModel>;\n private filteredTreeData: TreeDataModel;\n private _isClickTogglingNode = false;\n private _isMultiselect = false;\n private _isRecursiveSelection = false;\n private _isRecursiveParentSelection = true;\n private _autoTranslate = true;\n private selectionModelSubs;\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.initTree();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['nodes'].currentValue !== changes['nodes'].previousValue) {\n this.renderTree = false;\n this.initTree();\n }\n }\n\n ngOnDestroy(): void {\n if (this.selectionModelSubs) {\n this.selectionModelSubs.unsubscribe();\n }\n }\n\n trackBy(index: number, el: any): any {\n return el.parent;\n }\n\n getTreeItem(path: string): TreeItemModel {\n const indexArr: Array<number> = this.resolvePath(path);\n let nodeArr = this.nodes;\n let node;\n if (nodeArr && Array.isArray(nodeArr)) {\n indexArr?.forEach((pathIndex: number, index) => {\n if (index < indexArr.length - 1) {\n nodeArr = nodeArr && nodeArr[pathIndex]?.children;\n } else {\n node = nodeArr[pathIndex];\n }\n });\n }\n return node;\n }\n\n expandAll(): void {\n this.cdkTreeControl.expandAll();\n this.changeDetectorRef.markForCheck();\n }\n\n expandAt(path: string): void {\n this.cdkTreeControl.expandDescendants(this.getRunTimeTreeItem(path[0]));\n this.cdkTreeControl.toggleDescendants(this.getRunTimeTreeItem(path));\n this.cdkTreeControl.expand(this.getRunTimeTreeItem(path));\n this.changeDetectorRef.markForCheck();\n }\n\n collapseAll(): void {\n this.cdkTreeControl.collapseAll();\n this.changeDetectorRef.markForCheck();\n }\n\n filterTerm(filterInput: string) {\n const treeData = structuredClone(this.nodes);\n if (filterInput && filterInput !== '') {\n this.renderTree = false;\n this.changeDetectorRef.markForCheck();\n this.filteredTreeData = this.filterTreeData(treeData, 'label', filterInput);\n this.createTreeDataRuntime(this.filteredTreeData);\n setTimeout(() => {\n this.cdkArrayDataSource = new ArrayDataSource(this.treeDataRunTime);\n this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children);\n this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n this.renderTree = true;\n this.changeDetectorRef.markForCheck();\n });\n } else {\n this.renderTree = false;\n this.changeDetectorRef.markForCheck();\n this.createTreeDataRuntime(this.nodes);\n this.filteredTreeData = undefined;\n setTimeout(() => {\n this.cdkArrayDataSource = new ArrayDataSource(this.treeDataRunTime);\n this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children);\n this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n this.renderTree = true;\n this.changeDetectorRef.markForCheck();\n });\n }\n }\n\n setAllSelection(isChecked: boolean): void {\n this.setIsCheckedForAll(this.nodes, isChecked, this.treeDataRunTime);\n this.changeDetectorRef.markForCheck();\n }\n\n onNodeClick(treeItem: TreeItemRunTimeModel): void {\n this.nodeClick.emit(this.getTreeItem(treeItem?.path));\n if (this.isClickTogglingNode) {\n this.cdkTreeControl.toggle(treeItem);\n this.onNodeToggle(treeItem);\n }\n }\n\n onNodeToggle(treeItem: TreeItemRunTimeModel): void {\n this.nodeToggle.emit(this.getTreeItem(treeItem?.path));\n }\n\n nodeSelected(evt: any, path: string, treeItemModel: TreeItemRunTimeModel): void {\n const item = this.getTreeItem(path);\n const node = item.node;\n const children = item.children;\n const pathArr = path.split('.');\n const hasParent = pathArr.length > 1;\n if (hasParent) {\n pathArr.pop();\n }\n node.isSelected = evt.target.checked;\n if (node.isSelected) {\n this.selectTreeItem(treeItemModel);\n } else {\n this.deselectTreeItem(treeItemModel);\n }\n node.isIndeterminate = false;\n if (children && children.length > 0) {\n if (node?.selectConfig?.recursive) {\n this.setIsCheckedForAll(children, evt.target.checked, treeItemModel?.children);\n }\n }\n this.runTimeSelectionRecursiveState[parseInt(pathArr[0], 10)] = this.calculateItemSelectionRecursiveState(\n structuredClone(this.getTreeItem(pathArr[0]))\n );\n if (hasParent) {\n // Calculates parent path\n const parentPath = pathArr.join('.');\n // Creating node index sequence f.e If path is '1.2' it will be [1,2]\n const nodeIndexSeq = parentPath.split('.').map((indexStr) => parseInt(indexStr, 10));\n // Calculating the node paths array to be re-calculated from bottom to top\n const nodePathsSeq = [];\n nodeIndexSeq.forEach((nodeIndex, index) => {\n nodePathsSeq[index] = nodeIndexSeq.slice(0, index + 1).join('.');\n });\n nodePathsSeq.forEach((nodePath: string) => {\n const treeItem = this.getTreeItem(nodePath);\n const runTimeTreeItem = this.getRunTimeSelectionRecursiveState(nodePath);\n if (treeItem?.node?.selectable && treeItem.node?.selectConfig?.recursive) {\n treeItem.node.isSelected = runTimeTreeItem.selectionRecursiveState === 'allSelected';\n treeItem.node.isIndeterminate = runTimeTreeItem.selectionRecursiveState === 'indeterminate';\n if (treeItem.node.isSelected === true) {\n // runTimeTreeItem.node.isSelected = true;\n // this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n this.selectTreeItem(runTimeTreeItem);\n } else {\n // runTimeTreeItem.node.isSelected = true;\n // this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n this.deselectTreeItem(runTimeTreeItem);\n }\n }\n // debugger\n });\n }\n }\n\n hasChild = (_: number, item: TreeItemRunTimeModel) => !!item?.children && item?.children?.length > 0;\n\n onSelectFn(path: string, treeItemModel: TreeItemRunTimeModel): (evt: any) => void {\n if (treeItemModel?.node?.selectable) {\n const nodeSelected = this.nodeSelected.bind(this);\n return (evt: any) => nodeSelected(evt, path, treeItemModel);\n }\n return (evt: any) => {\n console.warn('treeItemModel.node.selectable is false, you can not implement onSelect');\n };\n }\n\n private initTree() {\n if (this.nodes) {\n this.nodes = this.processInputs(structuredClone(this.nodes));\n this.createTreeDataRuntime(this.nodes);\n this.cdkArrayDataSource = new ArrayDataSource(this.treeDataRunTime);\n this.cdkTreeControl = new NestedTreeControl<TreeItemRunTimeModel>((node) => node?.children);\n this.cdkTreeControl.dataNodes = this.treeDataRunTime;\n this.renderInitialExpand(this.treeDataRunTime);\n this.selectionModel = new SelectionModel<TreeItemRunTimeModel>(\n true,\n this.getInitialSelection(this.treeDataRunTime),\n true,\n (a, b) => a?.path === b?.path\n );\n this.renderTree = true;\n if (this.selectionModelSubs) {\n this.selectionModelSubs.unsubscribe();\n }\n this.selectionModelSubs = this.selectionModel.changed.subscribe((sc) => {\n this.selectionChange.emit({\n added: sc.added.map((_) => this.getTreeItem(_.path)),\n removed: sc.removed.map((_) => this.getTreeItem(_.path)),\n selection: [...this.selectionModel.selected].map((item) => this.getTreeItem(item.path)),\n });\n });\n this.changeDetectorRef.markForCheck();\n }\n }\n\n private processInputs(treeData: TreeDataModel): TreeDataModel {\n if (this.isMultiselect) {\n treeData = this.overrideTreeDataModelForSelection(treeData, this.isRecursiveSelection, !this.isRecursiveParentSelection);\n }\n return treeData;\n }\n\n private overrideTreeDataModelForSelection(nodeArr: TreeDataModel, isRecursive: boolean, noAutoSelectParent: boolean): TreeDataModel {\n return nodeArr?.map((item: TreeItemModel, index: number) => {\n if (item?.children && item.children.length > 0) {\n return {\n ...item,\n node: {\n ...item.node,\n selectable: typeof item?.node?.selectable === 'undefined' ? true : item?.node?.selectable,\n // isSelected: false,\n // isIndeterminate: false,\n selectConfig: {\n ...item.node.selectConfig,\n recursive:\n typeof item?.node?.selectConfig?.recursive === 'undefined'\n ? !!isRecursive\n : item?.node?.selectConfig?.recursive,\n noAutoSelectParent:\n typeof item?.node?.selectConfig?.noAutoSelectParent === 'undefined'\n ? noAutoSelectParent\n : item?.node?.selectConfig?.noAutoSelectParent,\n },\n },\n children: this.overrideTreeDataModelForSelection(item.children, isRecursive, noAutoSelectParent),\n };\n } else {\n return {\n ...item,\n node: {\n ...item.node,\n selectable: typeof item?.node?.selectable === 'undefined' ? true : item?.node?.selectable,\n },\n };\n }\n });\n }\n\n private getSelectionIndexOfItem(runTimeTreeItem: TreeItemRunTimeModel): number {\n return this.selectionModel.selected.findIndex((i) => i?.path === runTimeTreeItem?.path);\n }\n\n private selectTreeItem(runTimeTreeItem: TreeItemRunTimeModel): void {\n const indexOfItem = this.getSelectionIndexOfItem(runTimeTreeItem);\n if (indexOfItem === -1) {\n this.selectionModel.select(runTimeTreeItem);\n }\n }\n\n private deselectTreeItem(runTimeTreeItem: TreeItemRunTimeModel): void {\n const indexOfItem = this.getSelectionIndexOfItem(runTimeTreeItem);\n if (indexOfItem > -1) {\n const newSelection = [...this.selectionModel.selected];\n newSelection.splice(indexOfItem, 1);\n this.selectionModel.setSelection(...newSelection);\n }\n }\n\n // Creates treeDataRunTime & runTimeSelectionRecursiveState for separate the logic.\n private createTreeDataRuntime(nodes: TreeDataModel): void {\n this.treeDataRunTime = structuredClone(nodes)?.map((item, index) => {\n return this.calculateRunTimeState({ ...item }, index);\n });\n this.runTimeSelectionRecursiveState = this.treeDataRunTime.map((item) => this.calculateItemSelectionRecursiveState({ ...item }));\n }\n\n // Creating run time state which includes children selection state for selection tree.\n private calculateItemSelectionRecursiveState(treeItem: TreeItemRunTimeModel): TreeItemRunTimeModel {\n let childStates = [];\n let itemState: SelectionRecursiveState = 'indeterminate';\n if (treeItem.children && treeItem.children.length > 0) {\n treeItem.children.forEach((child, index) => {\n treeItem.children[index] = this.calculateItemSelectionRecursiveState(child);\n });\n const runTimeItems = treeItem.children as any;\n childStates = runTimeItems.map((item) => item.selectionRecursiveState);\n }\n if (treeItem.node.isSelected && childStates.every((state) => state === 'allSelected')) {\n itemState = 'allSelected';\n } else if (!treeItem.node.isSelected && childStates.every((state) => state === 'allNotSelected')) {\n itemState = 'allNotSelected';\n } else if (\n treeItem.node?.selectConfig?.recursive &&\n childStates.every((state) => state === 'allSelected') &&\n !treeItem.node.isSelected\n ) {\n if (!treeItem?.node?.selectConfig?.noAutoSelectParent) {\n treeItem.node.isSelected = true;\n this.selectTreeItem(treeItem);\n itemState = 'allSelected';\n }\n } else if (\n treeItem.node?.selectConfig?.recursive &&\n childStates.every((state) => state === 'allNotSelected') &&\n treeItem.node.isSelected\n ) {\n treeItem.node.isSelected = false;\n this.deselectTreeItem(treeItem);\n itemState = 'allNotSelected';\n }\n return {\n ...treeItem,\n selectionRecursiveState: itemState,\n };\n }\n\n private getRunTimeSelectionRecursiveState(path: string): TreeItemRunTimeModel {\n const indexArr: Array<number> = this.resolvePath(path);\n let nodeArr = this.runTimeSelectionRecursiveState;\n let node;\n indexArr.forEach((pathIndex: number, index) => {\n if (index < indexArr.length - 1) {\n nodeArr = nodeArr[pathIndex]?.children;\n } else {\n node = nodeArr[pathIndex];\n }\n });\n return node;\n }\n\n private setIsCheckedForAll(nodeArr: TreeDataModel, isChecked: boolean, runTimeTreeData: TreeDataRunTimeModel): void {\n nodeArr.forEach((item: TreeItemModel, index: number) => {\n if (runTimeTreeData[index] && nodeArr[index]?.node?.selectable) {\n nodeArr[index] = {\n ...item,\n node: {\n ...item.node,\n isSelected: isChecked,\n isIndeterminate: false,\n },\n };\n if (isChecked) {\n this.selectTreeItem(runTimeTreeData[index]);\n } else {\n this.deselectTreeItem(runTimeTreeData[index]);\n }\n }\n if (runTimeTreeData[index]?.children?.length > 0 && nodeArr[index].children && nodeArr[index].children.length > 0) {\n this.setIsCheckedForAll(nodeArr[index].children, isChecked, runTimeTreeData[index].children);\n }\n });\n }\n\n private resolvePath(path: string): Array<number> {\n return path?.split('.').map((index: string) => parseInt(index, 10));\n }\n\n private calculateRunTimeState(treeItem: TreeItemRunTimeModel, index: number, parentPath?: string): TreeItemRunTimeModel {\n treeItem.path = parentPath ? parentPath + '.' + index : index.toString();\n treeItem.index = index;\n if (treeItem.children && treeItem.children.length > 0) {\n treeItem.children.forEach((child, treeItemIndex) => {\n treeItem.children[treeItemIndex] = this.calculateRunTimeState(child, treeItemIndex, treeItem.path);\n });\n }\n return treeItem;\n }\n\n private filterTreeData(treeData: TreeDataModel, key: string = 'label', filterStr: string) {\n return treeData.filter((treeItem) => {\n if (treeItem?.children?.length > 0) {\n treeItem.children = this.filterTreeData([...treeItem.children], key, filterStr);\n treeItem.children = treeItem.children.length > 0 ? treeItem.children : undefined;\n }\n if (treeItem.node.treeContentBlock.label.includes(filterStr)) {\n return true;\n } else if (treeItem?.children?.length > 0) {\n return treeItem?.children?.length > 0;\n } else {\n return false;\n }\n });\n }\n\n private getInitialSelection(nodes: TreeDataRunTimeModel): Array<TreeItemRunTimeModel> {\n const selection: Array<TreeItemRunTimeModel> = [];\n this.scanSelection(nodes, selection);\n return selection;\n }\n\n private scanSelection(nodes: TreeDataRunTimeModel, selection: Array<TreeItemRunTimeModel>) {\n nodes.forEach((item: TreeItemRunTimeModel) => {\n if (item.node?.selectable && item.node.isSelected) {\n selection.push(item);\n }\n if (item?.children?.length > 0) {\n this.scanSelection(item.children, selection);\n }\n });\n }\n\n private renderInitialExpand(nodes: TreeDataRunTimeModel) {\n nodes.forEach((item: TreeItemRunTimeModel) => {\n if (item?.node?.isExpanded) {\n this.expandAt(item.path);\n }\n if (item?.children?.length > 0) {\n this.renderInitialExpand(item.children);\n }\n });\n }\n\n private getRunTimeTreeItem(path: string): TreeItemModel {\n const indexArr: Array<number> = this.resolvePath(path);\n let nodeArr = this.treeDataRunTime;\n let node;\n if (nodeArr && Array.isArray(nodeArr)) {\n indexArr?.forEach((pathIndex: number, index) => {\n if (index < indexArr.length - 1) {\n nodeArr = nodeArr && nodeArr[pathIndex]?.children;\n } else {\n node = nodeArr[pathIndex];\n }\n });\n }\n return node;\n }\n}\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n TranslateModule,\n EuiInputCheckboxModule,\n CdkTreeModule,\n EuiButtonModule,\n EuiIconModule,\n EuiLabelModule,\n EuiBadgeModule,\n EuiChipModule,\n EuiDropdownModule,\n ],\n declarations: [EuiTreeComponent],\n exports: [EuiTreeComponent],\n})\nexport class EuiTreeModule {}\n","<ul class=\"eui-tree__wrapper\">\n <cdk-tree [dataSource]=\"cdkArrayDataSource\" [treeControl]=\"cdkTreeControl\" [trackBy]=\"trackBy\" *ngIf=\"renderTree\" class=\"eui-cdk-tree\">\n <!-- There are two states of generic cdk-nested-tree-node declarations.\n First one is without child. No sub rendering.\n -->\n <cdk-nested-tree-node *cdkTreeNodeDef=\"let treeItemModel\" class=\"eui-cdk-nested-tree-node\">\n <li\n class=\"eui-tree-node\"\n *ngIf=\"treeItemModel\"\n title=\"{{\n getTreeItem(treeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\" (click)=\"onNodeClick(treeItemModel)\">\n <div class=\"eui-tree-node-wrapper__container\">\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeItemModel?.path)?.node,\n onSelect: onSelectFn(treeItemModel.path, treeItemModel),\n id: uid + treeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n </li>\n </cdk-nested-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-nested-tree-node\n *cdkTreeNodeDef=\"let treeItemModel; when: hasChild\"\n class=\"eui-cdk-nested-tree-node eui-cdk-nested-tree-node--with-child\">\n <li\n class=\"eui-tree-node\"\n *ngIf=\"treeItemModel\"\n title=\"{{\n getTreeItem(treeItemModel?.path)?.node?.treeContentBlock?.tooltipLabel ||\n getTreeItem(treeItemModel?.path)?.node?.treeContentBlock?.label\n }}\">\n <div class=\"eui-tree-node-wrapper\">\n <!--Here wraps the node, and listen for node clicks.-->\n <div (click)=\"onNodeClick(treeItemModel)\" class=\"eui-tree-node-wrapper__container\">\n <!-- Expand/collapse action button -->\n <button\n euiButton\n euiIconButton\n euiBasicButton\n euiRounded\n euiSizeS\n type=\"button\"\n [attr.aria-label]=\"'Toggle ' + treeItemModel?.node?.treeContentBlock?.label\"\n (click)=\"onNodeToggle(treeItemModel)\"\n cdkTreeNodeToggle\n class=\"eui-u-mr-xs\">\n <span\n euiIcon\n *ngIf=\"!cdkTreeControl.isExpanded(treeItemModel) && collapsedIconClass\"\n [iconClass]=\"collapsedIconClass\"></span>\n <span\n euiIcon\n *ngIf=\"cdkTreeControl.isExpanded(treeItemModel) && expandedIconClass\"\n [iconClass]=\"expandedIconClass\"></span>\n <eui-icon-svg\n *ngIf=\"!cdkTreeControl.isExpanded(treeItemModel) && !collapsedIconClass\"\n [icon]=\"expandedSvgIconClass\"></eui-icon-svg>\n <eui-icon-svg\n *ngIf=\"cdkTreeControl.isExpanded(treeItemModel) && !expandedIconClass\"\n [icon]=\"collapsedSvgIconClass\"></eui-icon-svg>\n </button>\n <!--\n Renders node in default or provided template's context.\n Generates onSelect with onSelectFn for developers to send the events from their custom check events.\n Provides id to be used on generic template\n -->\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplateRef || nodeTemplateDefault\"\n [ngTemplateOutletContext]=\"{\n $implicit: getTreeItem(treeItemModel?.path)?.node,\n onSelect: onSelectFn(treeItemModel?.path, treeItemModel),\n id: uid + treeItemModel.path\n }\">\n </ng-container>\n </div>\n </div>\n <!--uses cdkTreeNodeOutlet to render children nodes, CdkTreeControl is used to control isExpanded state.-->\n <ul class=\"eui-tree-node\" *ngIf=\"cdkTreeControl.isExpanded(treeItemModel)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </ul>\n </li>\n </cdk-nested-tree-node>\n </cdk-tree>\n</ul>\n\n<ng-template #nodeTemplateDefault let-node let-onSelect=\"onSelect\" let-id=\"id\">\n <ng-container *ngIf=\"node\">\n <div class=\"eui-tree-node-wrapper__container-left\" [class.eui-tree-node-wrapper__container-left--selected]=\"node?.isSelected\">\n <!--input checkbox area-->\n <input\n euiInputCheckBox\n *ngIf=\"node && node.selectable\"\n type=\"checkbox\"\n id=\"{{ id }}\"\n [checked]=\"node && node.isSelected\"\n [indeterminate]=\"node && node.isIndeterminate\"\n (change)=\"onSelect($event)\"\n class=\"eui-u-mr-m\" />\n\n <!--icon area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.iconClass\">\n <eui-icon\n [euiVariant]=\"node?.treeContentBlock?.iconTypeClass || 'primary'\"\n iconClass=\"{{ node?.treeContentBlock?.iconClass }}\"\n euiSizeS\n class=\"eui-u-mr-xs\">\n </eui-icon>\n </ng-container>\n <ng-container *ngIf=\"node?.treeContentBlock?.iconSvgName\">\n <eui-icon-svg\n icon=\"{{ node?.treeContentBlock?.iconSvgName }}\"\n fillColor=\"{{ node?.treeContentBlock?.iconTypeClass || 'grey-100' }}\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.chips\">\n <eui-chip\n *ngFor=\"let chip of node.treeContentBlock.chips\"\n euiSizeXS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-mr-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--badge (typeLabel & typeClass) area-->\n <ng-container *ngIf=\"node?.treeContentBlock?.typeLabel\" [ngSwitch]=\"node?.treeContentBlock?.typeClass\">\n <eui-badge euiSizeM [euiVariant]=\"node?.treeContentBlock?.typeClass || 'primary'\" class=\"eui-u-flex-no-shrink eui-u-mr-xs\">\n {{ node?.treeContentBlock?.typeLabel }}\n </eui-badge>\n </ng-container>\n </div>\n\n <!--label area-->\n <div class=\"eui-tree-node-wrapper__container-middle\">\n <label\n *ngIf=\"!node?.treeContentBlock?.url && !node?.treeContentBlock?.urlExternal\"\n euiLabel\n for=\"{{ id }}\"\n class=\"eui-u-text-truncate eui-u-mr-s\"\n [class.eui-label--selected]=\"node?.isSelected\"\n [class.eui-u-cursor-pointer]=\"node?.selectable\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </label>\n <label *ngIf=\"node?.treeContentBlock?.url\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-mr-m\">\n <a class=\"eui-u-text-link\" [routerLink]=\"node?.treeContentBlock?.url\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n <label *ngIf=\"node?.treeContentBlock?.urlExternal\" euiLabel for=\"{{ id }}\" class=\"eui-u-text-truncate eui-u-mr-m\">\n <a\n class=\"eui-u-text-link-external\"\n href=\"{{ node?.treeContentBlock?.urlExternal }}\"\n target=\"{{ node?.treeContentBlock?.urlExternalTarget || 'blank' }}\">\n {{ autoTranslate ? (node?.treeContentBlock?.label | translate) : node?.treeContentBlock?.label }}\n </a>\n </label>\n </div>\n\n <div *ngIf=\"node?.treeContentBlock?.rightContent\" class=\"eui-tree-node-wrapper__container-right\">\n <!--badges area-->\n <ng-container *ngFor=\"let badge of node.treeContentBlock.rightContent?.badges\">\n <eui-badge euiSizeM euiOutline [euiVariant]=\"badge.typeClass || 'secondary'\" class=\"eui-u-ml-xs\">\n <span euiLabel>{{ badge.label }}</span>\n </eui-badge>\n </ng-container>\n\n <!--chips area-->\n <ng-container *ngFor=\"let chip of node.treeContentBlock.rightContent?.chips\">\n <eui-chip\n euiSizeXS\n [euiVariant]=\"chip.typeClass || 'secondary'\"\n [euiOutline]=\"chip.isOutline\"\n class=\"eui-chip--rounded eui-u-ml-xs\">\n <span euiLabel>{{ chip.label }}</span>\n </eui-chip>\n </ng-container>\n\n <!--Context menu-->\n <ng-container *ngIf=\"node.treeContentBlock.rightContent?.contextMenuMetaData && rightContextMenuTemplateRef\">\n <eui-dropdown class=\"eui-u-ml-xs\">\n <button euiButton euiSizeS euiRounded euiIconButton euiBasicButton euiSecondary [attr.aria-label]=\"'Options menu'\">\n <eui-icon-svg icon=\"eui-ellipsis-vertical\"></eui-icon-svg>\n </button>\n <eui-dropdown-content>\n <ng-template\n [ngTemplateOutlet]=\"rightContextMenuTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.rightContent?.contextMenuMetaData,\n metadata: node?.treeContentBlock?.rightContent?.contextMenuMetaData\n }\">\n </ng-template>\n </eui-dropdown-content>\n </eui-dropdown>\n </ng-container>\n </div>\n\n <!--metadata, uses the help of ng template to generate dynamic expand variable without handling state -->\n <ng-container\n *ngIf=\"node.treeContentBlock?.metadata && nodeContentMetadataTemplateRef\"\n [ngTemplateOutlet]=\"nodeContentMetadataContainer\"\n [ngTemplateOutletContext]=\"{\n $implicit: { expanded: false }\n }\">\n </ng-container>\n <ng-template #nodeContentMetadataContainer let-metaDataContainer>\n <button\n euiButton\n euiBasicButton\n euiIconButton\n euiRounded\n euiSizeS\n type=\"button\"\n (click)=\"metaDataContainer.expanded = !metaDataContainer.expanded\">\n <eui-icon-svg [icon]=\"metaDataContainer.expanded ? 'eui-chevron-down' : 'eui-chevron-forward'\"></eui-icon-svg>\n </button>\n <div *ngIf=\"metaDataContainer.expanded\" class=\"eui-tree-node__metacontent\">\n <!--passing metadata of the node content to provided template-ref:nodeContentMetadataTemplateRef-->\n <ng-template\n [ngTemplateOutlet]=\"nodeContentMetadataTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: node?.treeContentBlock?.metadata,\n metadata: node?.treeContentBlock?.metadata\n }\">\n </ng-template>\n </div>\n </ng-template>\n </ng-container>\n</ng-template>\n","import { UxLink } from '@eui/base';\n\nexport type TreeDataModel = Array<TreeItemModel>;\n\nexport type TreeItemModel = {\n node: TreeNode;\n children?: TreeDataModel;\n};\n\nexport type TreeNode = {\n // metadata can be block content, or any\n treeContentBlock: EuiTreeContentBlockModel | any;\n} & SelectionModel &\n ExpandModel;\n\nexport interface EuiTreeContentBlockModel {\n label: string;\n tooltipLabel: string;\n url: string;\n urlExternal: string;\n urlExternalTarget: string;\n typeLabel: string;\n typeClass: string;\n chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n iconClass: string;\n iconTypeClass: string;\n iconSvgName?: string;\n rightContent?: {\n iconClass: string;\n iconTypeClass: string;\n iconSvgName?: string;\n badges?: Array<{ label: string; typeClass: string }>;\n chips?: Array<{ label: string; typeClass?: string; isOutline?: boolean }>;\n contextMenuMetaData?: any;\n };\n metaData: string;\n}\n\nexport type SelectionModel = {\n // if one of sub is selected, it becomes intermediate\n selectable?: boolean;\n isSelected?: boolean;\n isExpanded?: boolean;\n isIndeterminate?: boolean;\n selectConfig?: SelectConfigModel;\n};\n\nexport interface SelectConfigModel {\n /*\n If It is true;\n When user select parent, all the children will be selected\n When selection state is changed, If all children is selected parent will be selected as long as noAutoSelectParent is not true\n */\n recursive?: boolean;\n /* when It is true, If all children is selected, parent will not be selected, while recursive is true*/\n noAutoSelectParent?: boolean;\n}\n\nexport type ExpandModel = {\n isExpanded?: boolean;\n};\n\nexport type EuiTreeSelectionChanges = { added: TreeDataModel; removed: TreeDataModel; selection: TreeDataModel };\n\nexport type TreeDataRunTimeModel = Array<TreeItemRunTimeModel>;\n\nexport type TreeItemRunTimeModel = { selectionRecursiveState?: SelectionRecursiveState; index?: number; path?: string } & TreeItemModel;\n\nexport type SelectionRecursiveState = 'indeterminate' | 'allSelected' | 'allNotSelected';\n\n// eslint-disable-next-line prefer-arrow/prefer-arrow-functions\nexport function uxTreeNodesMetaDataMapper(oldTree: Array<UxLink>): TreeDataModel {\n return oldTree.map((item) => {\n if (item?.typeClass === 'default') {\n // default typeClass will be\n item.typeClass = 'secondary';\n }\n if (item?.badgeLabel) {\n // default typeClass will be\n if (item?.badges?.length > 0) {\n item.badges.push({ label: item?.badgeLabel, typeClass: 'secondary' });\n } else {\n item.badges = [{ label: item?.badgeLabel, typeClass: 'secondary' }];\n }\n }\n return {\n node: {\n treeContentBlock: {\n label: item.label,\n typeLabel: item.typeLabel,\n typeClass: item.typeLabel && !item.typeClass ? 'secondary' : item.typeClass,\n tooltipLabel: item.tooltipLabel,\n url: item.url,\n urlExternal: item.urlExternal,\n urlExternalTarget: item.urlExternal && item.urlExternalTarget ? item.urlExternalTarget : undefined,\n badges: item.badges,\n metadata: item.metadata,\n },\n },\n children: item.children ? uxTreeNodesMetaDataMapper(item.children) : undefined,\n };\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eui/components",
3
- "version": "16.1.0-snapshot-1690499387467",
4
- "tag": "snapshot",
3
+ "version": "16.1.0",
4
+ "tag": "latest",
5
5
  "description": "eUI components package - next components prior to version 9",
6
6
  "homepage": "https://eui.ecdevops.eu",
7
7
  "author": "ec.europa.eui@gmail.com",