@eui/components 17.0.0-rc.7 → 17.0.1-snapshot-1700608878397

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 (250) hide show
  1. package/docs/components/ChartComponent.html +2 -2
  2. package/docs/components/CollapsedBreadcrumbComponent.html +2 -2
  3. package/docs/components/EuiAlertComponent.html +2 -2
  4. package/docs/components/EuiAppBreadcrumbComponent.html +2 -2
  5. package/docs/components/EuiAppComponent.html +2 -2
  6. package/docs/components/EuiAppFooterComponent.html +2 -2
  7. package/docs/components/EuiAppHeaderComponent.html +2 -2
  8. package/docs/components/EuiAppSidebarBodyComponent.html +2 -2
  9. package/docs/components/EuiAppSidebarComponent.html +2 -2
  10. package/docs/components/EuiAppSidebarDrawerComponent.html +2 -2
  11. package/docs/components/EuiAppSidebarFooterComponent.html +2 -2
  12. package/docs/components/EuiAppSidebarHeaderComponent.html +2 -2
  13. package/docs/components/EuiAppSidebarHeaderUserProfileComponent.html +2 -2
  14. package/docs/components/EuiAppSidebarMenuComponent.html +4 -4
  15. package/docs/components/EuiAppToolbarComponent.html +2 -2
  16. package/docs/components/EuiAppTopMessageComponent.html +2 -2
  17. package/docs/components/EuiAutocompleteAsyncTestComponent.html +2 -2
  18. package/docs/components/EuiAutocompleteChipsAsyncTestComponent.html +2 -2
  19. package/docs/components/EuiAutocompleteChipsTestComponent.html +2 -2
  20. package/docs/components/EuiAutocompleteComponent.html +3 -3
  21. package/docs/components/EuiAutocompleteOptionComponent.html +2 -2
  22. package/docs/components/EuiAutocompleteOptionGroupComponent.html +2 -2
  23. package/docs/components/EuiAutocompleteTestComponent.html +2 -2
  24. package/docs/components/EuiAvatarBadgeComponent.html +2 -2
  25. package/docs/components/EuiAvatarComponent.html +2 -2
  26. package/docs/components/EuiAvatarIconComponent.html +2 -2
  27. package/docs/components/EuiAvatarImageComponent.html +2 -2
  28. package/docs/components/EuiAvatarListComponent.html +2 -2
  29. package/docs/components/EuiAvatarTextComponent.html +2 -2
  30. package/docs/components/EuiBadgeComponent.html +2 -2
  31. package/docs/components/EuiBlockContentComponent.html +2 -2
  32. package/docs/components/EuiBlockDocumentComponent.html +3 -3
  33. package/docs/components/EuiBreadcrumbComponent.html +2 -2
  34. package/docs/components/EuiBreadcrumbItemComponent.html +2 -2
  35. package/docs/components/EuiButtonComponent.html +2 -2
  36. package/docs/components/EuiButtonGroupComponent.html +2 -2
  37. package/docs/components/EuiButtonsComponent.html +2 -2
  38. package/docs/components/EuiCardComponent.html +2 -2
  39. package/docs/components/EuiCardContentComponent.html +2 -2
  40. package/docs/components/EuiCardFooterActionButtonsComponent.html +2 -2
  41. package/docs/components/EuiCardFooterActionIconsComponent.html +2 -2
  42. package/docs/components/EuiCardFooterComponent.html +2 -2
  43. package/docs/components/EuiCardFooterMenuContentComponent.html +2 -2
  44. package/docs/components/EuiCardHeaderBodyComponent.html +2 -2
  45. package/docs/components/EuiCardHeaderComponent.html +2 -2
  46. package/docs/components/EuiCardHeaderLeftContentComponent.html +2 -2
  47. package/docs/components/EuiCardHeaderRightContentComponent.html +2 -2
  48. package/docs/components/EuiCardHeaderSubtitleComponent.html +2 -2
  49. package/docs/components/EuiCardHeaderTitleComponent.html +2 -2
  50. package/docs/components/EuiCardMediaComponent.html +2 -2
  51. package/docs/components/EuiChipComponent.html +2 -2
  52. package/docs/components/EuiChipListComponent.html +2 -2
  53. package/docs/components/EuiCommonHeaderComponent.html +2 -2
  54. package/docs/components/EuiDashboardButtonComponent.html +2 -2
  55. package/docs/components/EuiDashboardCardComponent.html +2 -2
  56. package/docs/components/EuiDateRangeSelectorComponent.html +2 -2
  57. package/docs/components/EuiDatepickerComponent.html +2 -2
  58. package/docs/components/EuiDialogComponent.html +2 -2
  59. package/docs/components/EuiDialogContainerComponent.html +3 -3
  60. package/docs/components/EuiDimmerComponent.html +2 -2
  61. package/docs/components/EuiDisableContentComponent.html +2 -2
  62. package/docs/components/EuiDiscussionThreadComponent.html +2 -2
  63. package/docs/components/EuiDiscussionThreadItemComponent.html +2 -2
  64. package/docs/components/EuiDropdownComponent.html +2 -2
  65. package/docs/components/EuiDropdownItemComponent.html +2 -2
  66. package/docs/components/EuiEditorComponent.html +2 -2
  67. package/docs/components/EuiEditorCountersComponent.html +2 -2
  68. package/docs/components/EuiEditorHtmlViewComponent.html +2 -2
  69. package/docs/components/EuiEditorImageDialogComponent.html +2 -2
  70. package/docs/components/EuiEditorJsonViewComponent.html +2 -2
  71. package/docs/components/EuiExpandContentComponent.html +2 -2
  72. package/docs/components/EuiFeedbackMessageComponent.html +2 -2
  73. package/docs/components/EuiFieldsetComponent.html +2 -2
  74. package/docs/components/EuiFilePreviewComponent.html +2 -2
  75. package/docs/components/EuiFileUploadComponent.html +2 -2
  76. package/docs/components/EuiFileUploadProgressComponent.html +2 -2
  77. package/docs/components/EuiFooterComponent.html +2 -2
  78. package/docs/components/EuiGrowlComponent.html +2 -2
  79. package/docs/components/EuiHeaderAppComponent.html +2 -2
  80. package/docs/components/EuiHeaderAppNameComponent.html +2 -2
  81. package/docs/components/EuiHeaderAppNameLogoComponent.html +2 -2
  82. package/docs/components/EuiHeaderAppSubtitleComponent.html +2 -2
  83. package/docs/components/EuiHeaderComponent.html +2 -2
  84. package/docs/components/EuiHeaderEnvironmentComponent.html +2 -2
  85. package/docs/components/EuiHeaderLogoComponent.html +2 -2
  86. package/docs/components/EuiHeaderRightContentComponent.html +2 -2
  87. package/docs/components/EuiHeaderUserProfileComponent.html +2 -2
  88. package/docs/components/EuiIconColorComponent.html +2 -2
  89. package/docs/components/EuiIconComponent.html +2 -2
  90. package/docs/components/EuiIconSvgButtonComponent.html +2 -2
  91. package/docs/components/EuiIconSvgComponent.html +2 -2
  92. package/docs/components/EuiIconToggleComponent.html +2 -2
  93. package/docs/components/EuiInputCheckboxComponent.html +2 -2
  94. package/docs/components/EuiInputGroupComponent.html +2 -2
  95. package/docs/components/EuiInputNumberComponent.html +2 -2
  96. package/docs/components/EuiInputRadioComponent.html +2 -2
  97. package/docs/components/EuiInputTextComponent.html +2 -2
  98. package/docs/components/EuiLabelComponent.html +2 -2
  99. package/docs/components/EuiLanguageSelectorComponent.html +2 -2
  100. package/docs/components/EuiListComponent.html +2 -2
  101. package/docs/components/EuiListItemComponent.html +2 -2
  102. package/docs/components/EuiMenuComponent.html +8 -8
  103. package/docs/components/EuiMenuItemComponent.html +75 -6
  104. package/docs/components/EuiMessageBoxComponent.html +2 -2
  105. package/docs/components/EuiModalSelectorComponent.html +2 -2
  106. package/docs/components/EuiNotificationItemComponent.html +2 -2
  107. package/docs/components/EuiNotificationItemV2Component.html +2 -2
  108. package/docs/components/EuiNotificationsComponent.html +2 -2
  109. package/docs/components/EuiNotificationsV2Component.html +2 -2
  110. package/docs/components/EuiOverlayBodyComponent.html +2 -2
  111. package/docs/components/EuiOverlayComponent.html +71 -2
  112. package/docs/components/EuiOverlayFooterComponent.html +2 -2
  113. package/docs/components/EuiOverlayHeaderComponent.html +2 -2
  114. package/docs/components/EuiOverlayHeaderTitleComponent.html +2 -2
  115. package/docs/components/EuiPageBreadcrumbComponent.html +2 -2
  116. package/docs/components/EuiPageColumnComponent.html +2 -2
  117. package/docs/components/EuiPageColumnsComponent.html +2 -2
  118. package/docs/components/EuiPageComponent.html +2 -2
  119. package/docs/components/EuiPageContentComponent.html +2 -2
  120. package/docs/components/EuiPageFooterComponent.html +2 -2
  121. package/docs/components/EuiPageHeaderComponent.html +2 -2
  122. package/docs/components/EuiPageHeroHeaderComponent.html +2 -2
  123. package/docs/components/EuiPageTopContentComponent.html +2 -2
  124. package/docs/components/EuiPaginatorComponent.html +2 -2
  125. package/docs/components/EuiPopoverComponent.html +2 -2
  126. package/docs/components/EuiProgressBarComponent.html +2 -2
  127. package/docs/components/EuiProgressCircleComponent.html +2 -2
  128. package/docs/components/EuiResizableComponent.html +2 -2
  129. package/docs/components/EuiSearchComponent.html +2 -2
  130. package/docs/components/EuiSelectComponent.html +2 -2
  131. package/docs/components/EuiSidebarMenuComponent.html +5 -5
  132. package/docs/components/EuiSidebarToggleComponent.html +2 -2
  133. package/docs/components/EuiSkeletonComponent.html +2 -2
  134. package/docs/components/EuiSlideToggleComponent.html +2 -2
  135. package/docs/components/EuiSlideToggleTestComponent.html +2 -2
  136. package/docs/components/EuiTabComponent.html +2 -2
  137. package/docs/components/EuiTabContentComponent.html +2 -2
  138. package/docs/components/EuiTabLabelComponent.html +2 -2
  139. package/docs/components/EuiTableComponent.html +2 -2
  140. package/docs/components/EuiTableExpandableRowComponent.html +2 -2
  141. package/docs/components/EuiTableFilterComponent.html +2 -2
  142. package/docs/components/EuiTableSelectableHeaderComponent.html +2 -2
  143. package/docs/components/EuiTableSelectableRowComponent.html +2 -2
  144. package/docs/components/EuiTableSortableColComponent.html +2 -2
  145. package/docs/components/EuiTabsComponent.html +2 -2
  146. package/docs/components/EuiTextareaComponent.html +2 -2
  147. package/docs/components/EuiTimebarComponent.html +4 -4
  148. package/docs/components/EuiTimelineComponent.html +2 -2
  149. package/docs/components/EuiTimelineItemComponent.html +2 -2
  150. package/docs/components/EuiTimepickerComponent.html +2 -2
  151. package/docs/components/EuiToolbarAppComponent.html +2 -2
  152. package/docs/components/EuiToolbarCenterComponent.html +2 -2
  153. package/docs/components/EuiToolbarComponent.html +2 -2
  154. package/docs/components/EuiToolbarEnvironmentComponent.html +2 -2
  155. package/docs/components/EuiToolbarItemComponent.html +2 -2
  156. package/docs/components/EuiToolbarItemsComponent.html +2 -2
  157. package/docs/components/EuiToolbarLogoComponent.html +2 -2
  158. package/docs/components/EuiToolbarMenuComponent.html +6 -6
  159. package/docs/components/EuiTooltipContainerComponent.html +2 -2
  160. package/docs/components/EuiTreeComponent.html +2 -2
  161. package/docs/components/EuiTreeListComponent.html +2 -2
  162. package/docs/components/EuiTreeListItemComponent.html +2 -2
  163. package/docs/components/EuiTreeListItemContentComponent.html +2 -2
  164. package/docs/components/EuiTreeListToolbarComponent.html +2 -2
  165. package/docs/components/EuiUserProfileCardComponent.html +2 -2
  166. package/docs/components/EuiUserProfileComponent.html +2 -2
  167. package/docs/components/EuiUserProfileMenuComponent.html +2 -2
  168. package/docs/components/EuiUserProfileMenuItemComponent.html +2 -2
  169. package/docs/components/EuiWizardComponent.html +2 -2
  170. package/docs/components/EuiWizardStepComponent.html +2 -2
  171. package/docs/components/QuillEditorComponent.html +2 -2
  172. package/docs/dependencies.html +2 -2
  173. package/docs/index.html +4 -4
  174. package/docs/js/menu-wc.js +12 -52
  175. package/docs/js/menu-wc_es5.js +1 -1
  176. package/docs/js/search/search_index.js +2 -2
  177. package/docs/miscellaneous/variables.html +0 -1
  178. package/docs/modules/EuiAllModule.html +0 -6
  179. package/docs/modules/EuiAppModule.html +0 -6
  180. package/docs/modules/EuiLayoutModule.html +0 -6
  181. package/docs/modules/EuiTimebarModule.html +10 -0
  182. package/docs/modules.html +0 -12
  183. package/esm2022/eui-all/eui-all.module.mjs +1 -6
  184. package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +4 -3
  185. package/esm2022/eui-block-document/eui-block-document.component.mjs +3 -3
  186. package/esm2022/eui-dialog/container/eui-dialog-container.component.mjs +3 -3
  187. package/esm2022/eui-menu/eui-menu-item.component.mjs +24 -4
  188. package/esm2022/eui-menu/eui-menu.component.mjs +2 -2
  189. package/esm2022/eui-menu/models/eui-menu-item.model.mjs +2 -12
  190. package/esm2022/eui-overlay/eui-overlay.component.mjs +6 -2
  191. package/esm2022/eui-tabs/eui-tab/eui-tab.component.mjs +2 -2
  192. package/esm2022/eui-tabs/eui-tabs.component.mjs +2 -2
  193. package/esm2022/eui-timebar/eui-timebar.component.mjs +9 -7
  194. package/esm2022/layout/eui-app/eui-app-sidebar/sidebar.component.mjs +2 -2
  195. package/eui-all/eui-all.module.d.ts +4 -5
  196. package/eui-all/eui-all.module.d.ts.map +1 -1
  197. package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
  198. package/eui-menu/eui-menu-item.component.d.ts +3 -1
  199. package/eui-menu/eui-menu-item.component.d.ts.map +1 -1
  200. package/eui-menu/models/eui-menu-item.model.d.ts +1 -35
  201. package/eui-menu/models/eui-menu-item.model.d.ts.map +1 -1
  202. package/eui-overlay/eui-overlay.component.d.ts +1 -0
  203. package/eui-overlay/eui-overlay.component.d.ts.map +1 -1
  204. package/eui-timebar/eui-timebar.component.d.ts +2 -1
  205. package/eui-timebar/eui-timebar.component.d.ts.map +1 -1
  206. package/fesm2022/eui-components-eui-all.mjs +0 -5
  207. package/fesm2022/eui-components-eui-all.mjs.map +1 -1
  208. package/fesm2022/eui-components-eui-autocomplete.mjs +3 -2
  209. package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
  210. package/fesm2022/eui-components-eui-block-document.mjs +2 -2
  211. package/fesm2022/eui-components-eui-block-document.mjs.map +1 -1
  212. package/fesm2022/eui-components-eui-dialog.mjs +2 -2
  213. package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
  214. package/fesm2022/eui-components-eui-menu.mjs +27 -18
  215. package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
  216. package/fesm2022/eui-components-eui-overlay.mjs +5 -1
  217. package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
  218. package/fesm2022/eui-components-eui-tabs.mjs +4 -4
  219. package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
  220. package/fesm2022/eui-components-eui-timebar.mjs +8 -6
  221. package/fesm2022/eui-components-eui-timebar.mjs.map +1 -1
  222. package/fesm2022/eui-components-layout.mjs +2 -2
  223. package/fesm2022/eui-components-layout.mjs.map +1 -1
  224. package/package.json +8 -14
  225. package/docs/classes/EuiMenuItem.html +0 -933
  226. package/docs/components/EuiUxTreeComponent.html +0 -3171
  227. package/docs/components/EuiUxTreeNodeComponent.html +0 -2433
  228. package/docs/components/EuiUxTreeToolbarComponent.html +0 -1040
  229. package/docs/directives/EuiUxTreeToolbarFilterButtonsTagDirective.html +0 -172
  230. package/docs/modules/EuiUxTreeModule.html +0 -210
  231. package/esm2022/eui-ux-tree/eui-components-eui-ux-tree.mjs +0 -5
  232. package/esm2022/eui-ux-tree/eui-ux-tree-node.component.mjs +0 -347
  233. package/esm2022/eui-ux-tree/eui-ux-tree-toolbar/eui-ux-tree-toolbar.component.mjs +0 -126
  234. package/esm2022/eui-ux-tree/eui-ux-tree.component.mjs +0 -490
  235. package/esm2022/eui-ux-tree/eui-ux-tree.module.mjs +0 -54
  236. package/esm2022/eui-ux-tree/index.mjs +0 -5
  237. package/eui-ux-tree/eui-components-eui-ux-tree.d.ts.map +0 -1
  238. package/eui-ux-tree/eui-ux-tree-node.component.d.ts +0 -80
  239. package/eui-ux-tree/eui-ux-tree-node.component.d.ts.map +0 -1
  240. package/eui-ux-tree/eui-ux-tree-toolbar/eui-ux-tree-toolbar.component.d.ts +0 -44
  241. package/eui-ux-tree/eui-ux-tree-toolbar/eui-ux-tree-toolbar.component.d.ts.map +0 -1
  242. package/eui-ux-tree/eui-ux-tree.component.d.ts +0 -114
  243. package/eui-ux-tree/eui-ux-tree.component.d.ts.map +0 -1
  244. package/eui-ux-tree/eui-ux-tree.module.d.ts +0 -19
  245. package/eui-ux-tree/eui-ux-tree.module.d.ts.map +0 -1
  246. package/eui-ux-tree/index.d.ts +0 -5
  247. package/eui-ux-tree/index.d.ts.map +0 -1
  248. package/eui-ux-tree/package.json +0 -3
  249. package/fesm2022/eui-components-eui-ux-tree.mjs +0 -1004
  250. package/fesm2022/eui-components-eui-ux-tree.mjs.map +0 -1
@@ -1,1004 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, Output, ViewEncapsulation, Directive, TemplateRef, ContentChild, ContentChildren, ViewChildren, ViewChild, NgModule } from '@angular/core';
3
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
- import { uniqueId, consumeEvent } from '@eui/core';
5
- import * as i1 from '@angular/router';
6
- import * as i2 from '@angular/common';
7
- import { CommonModule } from '@angular/common';
8
- import * as i3 from '@angular/forms';
9
- import { FormsModule } from '@angular/forms';
10
- import * as i4 from '@eui/components/eui-icon';
11
- import { EuiIconModule } from '@eui/components/eui-icon';
12
- import * as i5 from '@eui/components/eui-button';
13
- import { EuiButtonModule } from '@eui/components/eui-button';
14
- import * as i6 from '@eui/components/eui-chip';
15
- import { EuiChipModule } from '@eui/components/eui-chip';
16
- import * as i7 from '@ngx-translate/core';
17
- import { TranslateModule } from '@ngx-translate/core';
18
- import { EuiTemplateDirective } from '@eui/components/directives';
19
- import * as i2$1 from '@angular/cdk/scrolling';
20
- import { ScrollingModule } from '@angular/cdk/scrolling';
21
- import * as i5$1 from '@eui/components/eui-input-text';
22
- import { EuiInputTextModule } from '@eui/components/eui-input-text';
23
- import * as i6$1 from '@eui/components/eui-input-group';
24
- import { EuiInputGroupModule } from '@eui/components/eui-input-group';
25
-
26
- /* eslint-disable */
27
- class EuiUxTreeNodeComponent {
28
- get isFirst() {
29
- return this._isFirst;
30
- }
31
- set isFirst(value) {
32
- this._isFirst = coerceBooleanProperty(value);
33
- }
34
- get isLast() {
35
- return this._isLast;
36
- }
37
- set isLast(value) {
38
- this._isLast = coerceBooleanProperty(value);
39
- }
40
- get isRootNode() {
41
- return this._isRootNode;
42
- }
43
- set isRootNode(value) {
44
- this._isRootNode = coerceBooleanProperty(value);
45
- }
46
- get isClickTogglingNode() {
47
- return this._isClickTogglingNode;
48
- }
49
- set isClickTogglingNode(value) {
50
- this._isClickTogglingNode = coerceBooleanProperty(value);
51
- }
52
- get isMultiselect() {
53
- return this._isMultiselect;
54
- }
55
- set isMultiselect(value) {
56
- this._isMultiselect = coerceBooleanProperty(value);
57
- }
58
- get isRecursiveSelection() {
59
- return this._isRecursiveSelection;
60
- }
61
- set isRecursiveSelection(value) {
62
- this._isRecursiveSelection = coerceBooleanProperty(value);
63
- }
64
- get isRecursiveParentSelection() {
65
- return this._isRecursiveParentSelection;
66
- }
67
- set isRecursiveParentSelection(value) {
68
- this._isRecursiveParentSelection = coerceBooleanProperty(value);
69
- }
70
- get isShowActiveNode() {
71
- return this._isShowActiveNode;
72
- }
73
- set isShowActiveNode(value) {
74
- this._isShowActiveNode = coerceBooleanProperty(value);
75
- }
76
- get isHideToggles() {
77
- return this._isHideToggles;
78
- }
79
- set isHideToggles(value) {
80
- this._isHideToggles = coerceBooleanProperty(value);
81
- }
82
- get isClickSelectingNode() {
83
- return this._isClickSelectingNode;
84
- }
85
- set isClickSelectingNode(value) {
86
- this._isClickSelectingNode = coerceBooleanProperty(value);
87
- }
88
- get highlightPath() {
89
- return this._highlightPath;
90
- }
91
- set highlightPath(value) {
92
- this._highlightPath = coerceBooleanProperty(value);
93
- }
94
- get autoTranslate() {
95
- return this._autoTranslate;
96
- }
97
- set autoTranslate(value) {
98
- this._autoTranslate = coerceBooleanProperty(value);
99
- }
100
- get hasSelectAll() {
101
- return this._hasSelectAll;
102
- }
103
- set hasSelectAll(value) {
104
- this._hasSelectAll = coerceBooleanProperty(value);
105
- }
106
- constructor(router) {
107
- this.router = router;
108
- this.e2eAttr = 'ux-tree-node';
109
- this.nodeClick = new EventEmitter();
110
- this.nodeToggle = new EventEmitter();
111
- this.selectionChange = new EventEmitter();
112
- this.childrenSelected = true;
113
- this.amountSelectedChildren = 0;
114
- this._isFirst = false;
115
- this._isLast = false;
116
- this._isRootNode = false;
117
- this._isClickTogglingNode = false;
118
- this._isMultiselect = false;
119
- this._isRecursiveSelection = false;
120
- this._isRecursiveParentSelection = true;
121
- this._isShowActiveNode = false;
122
- this._isHideToggles = false;
123
- this._isClickSelectingNode = false;
124
- this._highlightPath = false;
125
- this._autoTranslate = true;
126
- this._hasSelectAll = false;
127
- this.nodeId = `ux-tree-node-${uniqueId()}`;
128
- }
129
- hasNodeChildren(node) {
130
- return node && node.children && node.children.length > 0;
131
- }
132
- onNodeKeydown(event, UxLinkLegacy) {
133
- if (event.keyCode === 13) {
134
- this.onNodeClick(event, UxLinkLegacy);
135
- }
136
- }
137
- onNodeToggle(event, UxLinkLegacy) {
138
- this.node.expanded = !this.node.expanded;
139
- this.nodeToggle.emit(UxLinkLegacy);
140
- }
141
- onNodeClick(event, UxLinkLegacy) {
142
- if (!UxLinkLegacy.disabled) {
143
- if (!this.node.metadata) {
144
- if (this.isMultiselect && this.isClickSelectingNode) {
145
- UxLinkLegacy.selected = !UxLinkLegacy.selected;
146
- event.target['checked'] = UxLinkLegacy.selected;
147
- this.onCheckboxChange(UxLinkLegacy, event);
148
- }
149
- if (!this.node.children || this.node.children.length === 0) {
150
- this.node.expanded = !this.node.expanded;
151
- if (this.node.url) {
152
- this.router.navigate([this.node.url]);
153
- }
154
- if (this.node.urlExternal) {
155
- window.open(this.node.urlExternal, this.node.urlExternalTarget);
156
- }
157
- }
158
- else {
159
- const clickedEl = event.target['nodeName'];
160
- if (this.isClickTogglingNode) {
161
- this.onNodeToggle(event, UxLinkLegacy);
162
- }
163
- if (clickedEl === 'SPAN' && (this.node.url || this.node.urlExternal)) {
164
- if (this.node.url) {
165
- this.router.navigate([this.node.url]);
166
- }
167
- if (this.node.urlExternal) {
168
- window.open(this.node.urlExternal, this.node.urlExternalTarget);
169
- }
170
- }
171
- }
172
- }
173
- else {
174
- if (this.node.url) {
175
- this.router.navigate([this.node.url]);
176
- }
177
- if (this.node.urlExternal) {
178
- window.open(this.node.urlExternal, this.node.urlExternalTarget);
179
- }
180
- }
181
- if (UxLinkLegacy.command) {
182
- UxLinkLegacy.command();
183
- }
184
- this.nodeClick.emit(UxLinkLegacy);
185
- consumeEvent(event);
186
- }
187
- }
188
- onCheckboxChange(UxLinkLegacy, evt) {
189
- if (this.isRecursiveSelection) {
190
- if (!UxLinkLegacy.selected) {
191
- UxLinkLegacy.indeterminate = false;
192
- }
193
- this.changeSelectionRecursively(UxLinkLegacy, UxLinkLegacy.selected);
194
- if (UxLinkLegacy.parent) {
195
- this.changeParentSelection(UxLinkLegacy.parent);
196
- }
197
- }
198
- if (this.highlightPath) {
199
- this.getParents(UxLinkLegacy, evt.target.checked);
200
- }
201
- this.selectionChange.next(UxLinkLegacy);
202
- }
203
- onMetadataNodeToggle(event, UxLinkLegacy) {
204
- this.node.expanded = !this.node.expanded;
205
- consumeEvent(event);
206
- }
207
- onSubNodeClick(UxLinkLegacy) {
208
- this.nodeClick.emit(UxLinkLegacy);
209
- }
210
- onSubNodeToggle(UxLinkLegacy) {
211
- this.nodeToggle.emit(UxLinkLegacy);
212
- }
213
- onSelectionChange(UxLinkLegacy) {
214
- this.selectionChange.next(UxLinkLegacy);
215
- }
216
- trackByFn(index, item) {
217
- return item.id;
218
- }
219
- checkInputLabel() {
220
- if (this.isRecursiveSelection && this.node.hasChildren) {
221
- if (this.node.selected) {
222
- return 'Deselect All';
223
- }
224
- else {
225
- return 'Select All';
226
- }
227
- }
228
- else if ((this.isRecursiveSelection && !this.node.hasChildren) || !this.isRecursiveSelection) {
229
- if (this.node.selected) {
230
- return 'Deselect node';
231
- }
232
- else {
233
- return 'Select node';
234
- }
235
- }
236
- }
237
- getParents(UxLinkLegacy, isChecked) {
238
- if (UxLinkLegacy === this.node) {
239
- if (isChecked === true) {
240
- this.node['highlighted'] = isChecked;
241
- }
242
- else {
243
- const selectedChildren = this.hasChildSelected(this.node);
244
- if (selectedChildren.length === 0) {
245
- this.node['highlighted'] = isChecked;
246
- }
247
- }
248
- }
249
- if (UxLinkLegacy.parent) {
250
- if (isChecked === true) {
251
- UxLinkLegacy.parent['highlighted'] = isChecked;
252
- this.getParents(UxLinkLegacy.parent, isChecked);
253
- }
254
- else {
255
- const selectedChildren = this.hasChildSelected(UxLinkLegacy.parent);
256
- if (selectedChildren.length === 0) {
257
- UxLinkLegacy.parent['highlighted'] = isChecked;
258
- this.getParents(UxLinkLegacy.parent, isChecked);
259
- }
260
- }
261
- }
262
- }
263
- hasChildSelected(UxLinkLegacy, selected = []) {
264
- if (UxLinkLegacy.selected) {
265
- selected.push(UxLinkLegacy.label);
266
- }
267
- if (UxLinkLegacy.children && UxLinkLegacy.children.length > 0) {
268
- UxLinkLegacy.children.forEach((child) => {
269
- this.hasChildSelected(child, selected);
270
- });
271
- }
272
- return selected;
273
- }
274
- changeSelectionRecursively(UxLinkLegacy, value) {
275
- if (UxLinkLegacy.hasChildren) {
276
- UxLinkLegacy.children.forEach((link) => {
277
- link.selected = value;
278
- if (value) {
279
- link.indeterminate = false;
280
- }
281
- this.changeSelectionRecursively(link, value);
282
- });
283
- }
284
- }
285
- changeParentSelection(UxLinkLegacy) {
286
- if (this.isRecursiveParentSelection) {
287
- UxLinkLegacy.indeterminate = !this.allChildrenSelected(UxLinkLegacy);
288
- UxLinkLegacy.selected = this.hasSelectedChildren(UxLinkLegacy);
289
- }
290
- else {
291
- if (!UxLinkLegacy.selected) {
292
- UxLinkLegacy.indeterminate = this.hasSelectedChildren(UxLinkLegacy);
293
- UxLinkLegacy.selected = this.hasSelectedChildren(UxLinkLegacy);
294
- }
295
- if (UxLinkLegacy.indeterminate && !this.hasSelectedChildren(UxLinkLegacy)) {
296
- UxLinkLegacy.indeterminate = false;
297
- UxLinkLegacy.selected = false;
298
- }
299
- }
300
- if (UxLinkLegacy.parent) {
301
- this.changeParentSelection(UxLinkLegacy.parent);
302
- }
303
- }
304
- allChildrenSelected(UxLinkLegacy) {
305
- return UxLinkLegacy.children.filter((c) => (!c.selected || (c.selected && c.indeterminate)) && this.childrenSelected).length === 0;
306
- }
307
- hasSelectedChildren(UxLinkLegacy) {
308
- return UxLinkLegacy.children.filter((c) => c.selected === true).length > 0;
309
- }
310
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeNodeComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
311
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: EuiUxTreeNodeComponent, selector: "eui-ux-tree-node", inputs: { expandedIconClass: "expandedIconClass", collapsedIconClass: "collapsedIconClass", templateVariable: "templateVariable", node: "node", nodeContentTemplate: "nodeContentTemplate", e2eAttr: "e2eAttr", isFirst: "isFirst", isLast: "isLast", isRootNode: "isRootNode", isClickTogglingNode: "isClickTogglingNode", isMultiselect: "isMultiselect", isRecursiveSelection: "isRecursiveSelection", isRecursiveParentSelection: "isRecursiveParentSelection", isShowActiveNode: "isShowActiveNode", isHideToggles: "isHideToggles", isClickSelectingNode: "isClickSelectingNode", highlightPath: "highlightPath", autoTranslate: "autoTranslate", hasSelectAll: "hasSelectAll" }, outputs: { nodeClick: "nodeClick", nodeToggle: "nodeToggle", selectionChange: "selectionChange" }, ngImport: i0, template: "<li\n *ngIf=\"node.visible\"\n class=\"ux-tree__node\"\n [class.first-child]=\"isFirst\"\n [class.last-child]=\"isLast\"\n [class.ux-tree__node--expandable]=\"hasNodeChildren(node) && !isHideToggles\"\n [class.ux-tree__node--disabled]=\"node.disabled\"\n title=\"{{ node.tooltipLabel ? node.tooltipLabel : node.label }}\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <div class=\"ux-tree__node-wrapper\" [class.ux-tree__node--selected]=\"node.selected\">\n <button\n (click)=\"onNodeToggle($event, node)\"\n (keydown)=\"onNodeKeydown($event, node)\"\n styleClass=\"ux-tree__node-toggle-icon\"\n *ngIf=\"hasNodeChildren(node) && !isHideToggles\"\n euiSizeS\n euiButton\n euiBasicButton\n [ariaLabel]=\"node.expanded ? 'Collapse' : 'Expand'\">\n <eui-icon [iconClass]=\"node.expanded ? expandedIconClass : collapsedIconClass\"></eui-icon>\n </button>\n\n <span\n *ngIf=\"isMultiselect\"\n [class.ux-tree__parent]=\"hasNodeChildren(node) && !isHideToggles\"\n [class.ux-tree__leaf]=\"!hasNodeChildren(node) && !isHideToggles\">\n <input\n type=\"checkbox\"\n class=\"ux-input__checkbox\"\n [class.checkbox-label-indeterminate]=\"node.indeterminate\"\n [class.ux-input__checkbox--selected]=\"node.selected && !node.indeterminate\"\n [id]=\"nodeId\"\n [value]=\"node.label\"\n [disabled]=\"node.disabled\"\n [(ngModel)]=\"node.selected\"\n [attr.aria-label]=\"checkInputLabel()\"\n (change)=\"onCheckboxChange(node, $event)\" />\n <label class=\"ux-tree__node-checkbox-label\" [class.checkbox-label-indeterminate]=\"node.indeterminate\" [for]=\"nodeId\"> </label>\n </span>\n\n <div\n *ngIf=\"nodeContentTemplate\"\n class=\"ux-tree__custom-content\"\n [class.ux-tree__parent]=\"hasNodeChildren(node) && !isHideToggles\"\n [class.ux-tree__leaf]=\"!hasNodeChildren(node) && !isHideToggles\">\n <ng-template [ngTemplateOutlet]=\"nodeContentTemplate\" [ngTemplateOutletContext]=\"{ $implicit: node }\"> </ng-template>\n </div>\n\n <ng-container *ngIf=\"!nodeContentTemplate\">\n <ng-container *ngIf=\"node.typeLabel || node.iconClass\">\n <span\n *ngIf=\"node.typeLabel\"\n class=\"ux-tree__node-type ux-tree__node-type--{{ node.typeClass }}\"\n [class.ux-tree__node-type-parent]=\"hasNodeChildren(node) && !isHideToggles && !isMultiselect\"\n (click)=\"onNodeClick($event, node)\"\n (keydown)=\"onNodeKeydown($event, node)\">\n {{ node.typeLabel }}\n </span>\n\n <span *ngIf=\"node.iconClass\" class=\"ux-tree__node-icon ux-tree__node-type--{{ node.iconTypeClass }}\">\n <span class=\"{{ node.iconClass }}\"></span>\n </span>\n\n <div class=\"ux-tree__node-label-wrapped\">\n <span\n [class.text-muted]=\"node.disabled\"\n [class.ux-tree__node-label--highlighted]=\"node['highlighted']\"\n (click)=\"onNodeClick($event, node)\"\n (keydown)=\"onNodeKeydown($event, node)\">\n <span *ngIf=\"autoTranslate; else manualTranslation\">\n {{ node.label | translate }}\n </span>\n <ng-template #manualTranslation>{{ node.label }}</ng-template>\n <span [class.eui-u-text-link-external]=\"node && node.urlExternal\"></span>\n </span>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(node.typeLabel || node.iconClass)\">\n <span\n class=\"ux-tree__node-label\"\n [class.ux-tree__node-label-parent]=\"hasNodeChildren(node) && !isHideToggles && !isMultiselect\"\n [class.ux-tree__node-label--highlighted]=\"node['highlighted']\"\n [class.text-muted]=\"node.disabled\"\n (click)=\"onNodeClick($event, node)\"\n (keydown)=\"onNodeKeydown($event, node)\">\n <span *ngIf=\"autoTranslate; else manualTranslation\">\n {{ node.label | translate }}\n </span>\n <ng-template #manualTranslation>{{ node.label }}</ng-template>\n <span [class.eui-u-text-link-external]=\"node && node.urlExternal\"></span>\n </span>\n </ng-container>\n\n <div *ngIf=\"node.badges\" class=\"eui-u-ml-auto\">\n <eui-chip\n *ngFor=\"let badge of node.badges\"\n styleClass=\"ux-tree__node-badge\"\n euiSizeS\n euiOutline\n euiVariant=\"{{ badge.typeClass }}\">\n {{ badge.label }}\n </eui-chip>\n </div>\n\n <span\n *ngIf=\"node.metadata && node.metadata.title && node.metadata.title.length > 0\"\n class=\"ux-tree__node-metacontent-toggle ux-tree__node-clickable\"\n (click)=\"onMetadataNodeToggle($event, node)\">\n <span class=\"eui-icon\" [ngClass]=\"node.expanded ? 'eui-icon eui-icon-angle-down' : 'eui-icon eui-icon-angle-right'\"></span>\n </span>\n </ng-container>\n </div>\n <ng-container *ngIf=\"node.expanded\">\n <ul *ngIf=\"hasNodeChildren(node)\" class=\"ux-tree__nodes\">\n <eui-ux-tree-node\n *ngFor=\"let subNode of node.children; let isFirst = first; let isLast = last; trackBy: trackByFn\"\n [node]=\"subNode\"\n [isMultiselect]=\"isMultiselect\"\n [isRecursiveSelection]=\"isRecursiveSelection\"\n (nodeClick)=\"onSubNodeClick($event)\"\n (nodeToggle)=\"onSubNodeToggle($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n [isFirst]=\"isFirst\"\n [isLast]=\"isLast\"\n [isClickTogglingNode]=\"isClickTogglingNode\"\n expandedIconClass=\"{{ expandedIconClass }}\"\n collapsedIconClass=\"{{ collapsedIconClass }}\"\n [templateVariable]=\"templateVariable\"\n [nodeContentTemplate]=\"nodeContentTemplate\"\n [isShowActiveNode]=\"isShowActiveNode\"\n [isHideToggles]=\"isHideToggles\"\n [isClickSelectingNode]=\"isClickSelectingNode\"\n [highlightPath]=\"highlightPath\"\n [isRecursiveParentSelection]=\"isRecursiveParentSelection\"\n [autoTranslate]=\"autoTranslate\">\n </eui-ux-tree-node>\n </ul>\n <div *ngIf=\"node.metadata && node.metadata.title && node.metadata.title.length > 0\" class=\"ux-tree__node-metacontent\">\n <ng-template [ngTemplateOutlet]=\"templateVariable\" [ngTemplateOutletContext]=\"{ metadata: node.metadata }\"></ng-template>\n </div>\n </ng-container>\n</li>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.EuiIconComponent, selector: "div[euiIcon], span[euiIcon], i[euiIcon], eui-icon", inputs: ["aria-label", "iconClass", "isLoading"] }, { kind: "component", type: i5.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "component", type: i6.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared"], outputs: ["remove"] }, { kind: "component", type: EuiUxTreeNodeComponent, selector: "eui-ux-tree-node", inputs: ["expandedIconClass", "collapsedIconClass", "templateVariable", "node", "nodeContentTemplate", "e2eAttr", "isFirst", "isLast", "isRootNode", "isClickTogglingNode", "isMultiselect", "isRecursiveSelection", "isRecursiveParentSelection", "isShowActiveNode", "isHideToggles", "isClickSelectingNode", "highlightPath", "autoTranslate", "hasSelectAll"], outputs: ["nodeClick", "nodeToggle", "selectionChange"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
312
- }
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeNodeComponent, decorators: [{
314
- type: Component,
315
- args: [{ selector: 'eui-ux-tree-node', template: "<li\n *ngIf=\"node.visible\"\n class=\"ux-tree__node\"\n [class.first-child]=\"isFirst\"\n [class.last-child]=\"isLast\"\n [class.ux-tree__node--expandable]=\"hasNodeChildren(node) && !isHideToggles\"\n [class.ux-tree__node--disabled]=\"node.disabled\"\n title=\"{{ node.tooltipLabel ? node.tooltipLabel : node.label }}\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <div class=\"ux-tree__node-wrapper\" [class.ux-tree__node--selected]=\"node.selected\">\n <button\n (click)=\"onNodeToggle($event, node)\"\n (keydown)=\"onNodeKeydown($event, node)\"\n styleClass=\"ux-tree__node-toggle-icon\"\n *ngIf=\"hasNodeChildren(node) && !isHideToggles\"\n euiSizeS\n euiButton\n euiBasicButton\n [ariaLabel]=\"node.expanded ? 'Collapse' : 'Expand'\">\n <eui-icon [iconClass]=\"node.expanded ? expandedIconClass : collapsedIconClass\"></eui-icon>\n </button>\n\n <span\n *ngIf=\"isMultiselect\"\n [class.ux-tree__parent]=\"hasNodeChildren(node) && !isHideToggles\"\n [class.ux-tree__leaf]=\"!hasNodeChildren(node) && !isHideToggles\">\n <input\n type=\"checkbox\"\n class=\"ux-input__checkbox\"\n [class.checkbox-label-indeterminate]=\"node.indeterminate\"\n [class.ux-input__checkbox--selected]=\"node.selected && !node.indeterminate\"\n [id]=\"nodeId\"\n [value]=\"node.label\"\n [disabled]=\"node.disabled\"\n [(ngModel)]=\"node.selected\"\n [attr.aria-label]=\"checkInputLabel()\"\n (change)=\"onCheckboxChange(node, $event)\" />\n <label class=\"ux-tree__node-checkbox-label\" [class.checkbox-label-indeterminate]=\"node.indeterminate\" [for]=\"nodeId\"> </label>\n </span>\n\n <div\n *ngIf=\"nodeContentTemplate\"\n class=\"ux-tree__custom-content\"\n [class.ux-tree__parent]=\"hasNodeChildren(node) && !isHideToggles\"\n [class.ux-tree__leaf]=\"!hasNodeChildren(node) && !isHideToggles\">\n <ng-template [ngTemplateOutlet]=\"nodeContentTemplate\" [ngTemplateOutletContext]=\"{ $implicit: node }\"> </ng-template>\n </div>\n\n <ng-container *ngIf=\"!nodeContentTemplate\">\n <ng-container *ngIf=\"node.typeLabel || node.iconClass\">\n <span\n *ngIf=\"node.typeLabel\"\n class=\"ux-tree__node-type ux-tree__node-type--{{ node.typeClass }}\"\n [class.ux-tree__node-type-parent]=\"hasNodeChildren(node) && !isHideToggles && !isMultiselect\"\n (click)=\"onNodeClick($event, node)\"\n (keydown)=\"onNodeKeydown($event, node)\">\n {{ node.typeLabel }}\n </span>\n\n <span *ngIf=\"node.iconClass\" class=\"ux-tree__node-icon ux-tree__node-type--{{ node.iconTypeClass }}\">\n <span class=\"{{ node.iconClass }}\"></span>\n </span>\n\n <div class=\"ux-tree__node-label-wrapped\">\n <span\n [class.text-muted]=\"node.disabled\"\n [class.ux-tree__node-label--highlighted]=\"node['highlighted']\"\n (click)=\"onNodeClick($event, node)\"\n (keydown)=\"onNodeKeydown($event, node)\">\n <span *ngIf=\"autoTranslate; else manualTranslation\">\n {{ node.label | translate }}\n </span>\n <ng-template #manualTranslation>{{ node.label }}</ng-template>\n <span [class.eui-u-text-link-external]=\"node && node.urlExternal\"></span>\n </span>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(node.typeLabel || node.iconClass)\">\n <span\n class=\"ux-tree__node-label\"\n [class.ux-tree__node-label-parent]=\"hasNodeChildren(node) && !isHideToggles && !isMultiselect\"\n [class.ux-tree__node-label--highlighted]=\"node['highlighted']\"\n [class.text-muted]=\"node.disabled\"\n (click)=\"onNodeClick($event, node)\"\n (keydown)=\"onNodeKeydown($event, node)\">\n <span *ngIf=\"autoTranslate; else manualTranslation\">\n {{ node.label | translate }}\n </span>\n <ng-template #manualTranslation>{{ node.label }}</ng-template>\n <span [class.eui-u-text-link-external]=\"node && node.urlExternal\"></span>\n </span>\n </ng-container>\n\n <div *ngIf=\"node.badges\" class=\"eui-u-ml-auto\">\n <eui-chip\n *ngFor=\"let badge of node.badges\"\n styleClass=\"ux-tree__node-badge\"\n euiSizeS\n euiOutline\n euiVariant=\"{{ badge.typeClass }}\">\n {{ badge.label }}\n </eui-chip>\n </div>\n\n <span\n *ngIf=\"node.metadata && node.metadata.title && node.metadata.title.length > 0\"\n class=\"ux-tree__node-metacontent-toggle ux-tree__node-clickable\"\n (click)=\"onMetadataNodeToggle($event, node)\">\n <span class=\"eui-icon\" [ngClass]=\"node.expanded ? 'eui-icon eui-icon-angle-down' : 'eui-icon eui-icon-angle-right'\"></span>\n </span>\n </ng-container>\n </div>\n <ng-container *ngIf=\"node.expanded\">\n <ul *ngIf=\"hasNodeChildren(node)\" class=\"ux-tree__nodes\">\n <eui-ux-tree-node\n *ngFor=\"let subNode of node.children; let isFirst = first; let isLast = last; trackBy: trackByFn\"\n [node]=\"subNode\"\n [isMultiselect]=\"isMultiselect\"\n [isRecursiveSelection]=\"isRecursiveSelection\"\n (nodeClick)=\"onSubNodeClick($event)\"\n (nodeToggle)=\"onSubNodeToggle($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n [isFirst]=\"isFirst\"\n [isLast]=\"isLast\"\n [isClickTogglingNode]=\"isClickTogglingNode\"\n expandedIconClass=\"{{ expandedIconClass }}\"\n collapsedIconClass=\"{{ collapsedIconClass }}\"\n [templateVariable]=\"templateVariable\"\n [nodeContentTemplate]=\"nodeContentTemplate\"\n [isShowActiveNode]=\"isShowActiveNode\"\n [isHideToggles]=\"isHideToggles\"\n [isClickSelectingNode]=\"isClickSelectingNode\"\n [highlightPath]=\"highlightPath\"\n [isRecursiveParentSelection]=\"isRecursiveParentSelection\"\n [autoTranslate]=\"autoTranslate\">\n </eui-ux-tree-node>\n </ul>\n <div *ngIf=\"node.metadata && node.metadata.title && node.metadata.title.length > 0\" class=\"ux-tree__node-metacontent\">\n <ng-template [ngTemplateOutlet]=\"templateVariable\" [ngTemplateOutletContext]=\"{ metadata: node.metadata }\"></ng-template>\n </div>\n </ng-container>\n</li>\n" }]
316
- }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { expandedIconClass: [{
317
- type: Input
318
- }], collapsedIconClass: [{
319
- type: Input
320
- }], templateVariable: [{
321
- type: Input
322
- }], node: [{
323
- type: Input
324
- }], nodeContentTemplate: [{
325
- type: Input
326
- }], e2eAttr: [{
327
- type: Input
328
- }], nodeClick: [{
329
- type: Output
330
- }], nodeToggle: [{
331
- type: Output
332
- }], selectionChange: [{
333
- type: Output
334
- }], isFirst: [{
335
- type: Input
336
- }], isLast: [{
337
- type: Input
338
- }], isRootNode: [{
339
- type: Input
340
- }], isClickTogglingNode: [{
341
- type: Input
342
- }], isMultiselect: [{
343
- type: Input
344
- }], isRecursiveSelection: [{
345
- type: Input
346
- }], isRecursiveParentSelection: [{
347
- type: Input
348
- }], isShowActiveNode: [{
349
- type: Input
350
- }], isHideToggles: [{
351
- type: Input
352
- }], isClickSelectingNode: [{
353
- type: Input
354
- }], highlightPath: [{
355
- type: Input
356
- }], autoTranslate: [{
357
- type: Input
358
- }], hasSelectAll: [{
359
- type: Input
360
- }] } });
361
-
362
- /* eslint-disable */
363
- class EuiUxTreeToolbarComponent {
364
- constructor() {
365
- this.filterValue = '';
366
- this.e2eAttr = 'ux-a-toolbar-filter';
367
- this.filter = new EventEmitter();
368
- this.expandAll = new EventEmitter();
369
- this.collapseAll = new EventEmitter();
370
- this._isVisible = false;
371
- this._isFilterVisible = true;
372
- this._isToggleVisible = true;
373
- this._isToggleExpanded = false;
374
- this._hasLabels = true;
375
- }
376
- get isVisible() {
377
- return this._isVisible;
378
- }
379
- set isVisible(value) {
380
- this._isVisible = coerceBooleanProperty(value);
381
- }
382
- get isFilterVisible() {
383
- return this._isFilterVisible;
384
- }
385
- set isFilterVisible(value) {
386
- this._isFilterVisible = coerceBooleanProperty(value);
387
- }
388
- get isToggleVisible() {
389
- return this._isToggleVisible;
390
- }
391
- set isToggleVisible(value) {
392
- this._isToggleVisible = coerceBooleanProperty(value);
393
- }
394
- get isToggleExpanded() {
395
- return this._isToggleExpanded;
396
- }
397
- set isToggleExpanded(value) {
398
- this._isToggleExpanded = coerceBooleanProperty(value);
399
- }
400
- get hasLabels() {
401
- return this._hasLabels;
402
- }
403
- set hasLabels(value) {
404
- this._hasLabels = coerceBooleanProperty(value);
405
- }
406
- ngOnInit() {
407
- if (this.filterValue !== '' && this.filterValue !== undefined) {
408
- this.filter.emit(this.filterValue);
409
- }
410
- }
411
- ngOnChanges(c) {
412
- if (c && c.filterValue && this.filterValue !== undefined) {
413
- this.filter.emit(this.filterValue);
414
- }
415
- }
416
- /**
417
- * @deprecated
418
- * @param event
419
- */
420
- // public onFilter(event: string): void;
421
- onFilter() {
422
- if (this.filterValue === '') {
423
- if (!this.isToggleExpanded) {
424
- this.collapseAll.emit(null);
425
- }
426
- }
427
- this.filter.emit(this.filterValue);
428
- }
429
- onExpandAll(event) {
430
- this.isToggleExpanded = !this.isToggleExpanded;
431
- this.expandAll.emit(event);
432
- }
433
- onCollapseAll(event) {
434
- this.isToggleExpanded = !this.isToggleExpanded;
435
- this.collapseAll.emit(event);
436
- }
437
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
438
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: EuiUxTreeToolbarComponent, selector: "eui-ux-tree-toolbar", inputs: { isVisible: "isVisible", filterLabel: "filterLabel", expandAllLabel: "expandAllLabel", collapseAllLabel: "collapseAllLabel", isFilterVisible: "isFilterVisible", isToggleVisible: "isToggleVisible", isToggleExpanded: "isToggleExpanded", filterValue: "filterValue", hasLabels: "hasLabels", e2eAttr: "e2eAttr" }, outputs: { filter: "filter", expandAll: "expandAll", collapseAll: "collapseAll" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"isVisible\" euiInputGroup>\n <div class=\"eui-input-group-addon\">\n <div class=\"eui-input-group-addon-item\">\n <eui-icon-svg icon=\"eui-search\"></eui-icon-svg>\n </div>\n <input euiInputText euiClearable [(ngModel)]=\"filterValue\" placeholder=\"Search from tree list items...\" (change)=\"onFilter()\"/>\n\n <button *ngIf=\"!isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onExpandAll($event)\">\n <span euiLabel>Expand all</span>\n <eui-icon-svg icon=\"eui-level-down\" class=\"eui-u-ml-s\"></eui-icon-svg>\n </button>\n <button *ngIf=\"isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onCollapseAll($event)\">\n <span euiLabel>Collapse all</span>\n <eui-icon-svg icon=\"eui-level-up\" class=\"eui-u-ml-s\"></eui-icon-svg>\n </button>\n\n <!-- <button *ngIf=\"!isSelectedAll\" euiButton euiSecondary euiOutline (click)=\"selectAll()\">\n <span euiLabel>Select all</span>\n <eui-icon-svg icon=\"eui-checkbox\" class=\"eui-u-ml-s\"></eui-icon-svg>\n </button>\n <button *ngIf=\"isSelectedAll\" euiButton euiSecondary euiOutline (click)=\"deselectAll()\">\n <span euiLabel>Deselect all</span>\n <eui-icon-svg icon=\"eui-checkbox-outline\" class=\"eui-u-ml-s\"></eui-icon-svg>\n </button> -->\n </div>\n</div>\n\n<!--\n\n\n<div *ngIf=\"isVisible\" class=\"ux-a-toolbar-filter\" attr.data-e2e=\"{{ e2eAttr }}\">\n <div class=\"ux-a-toolbar-filter-content\">\n <div *ngIf=\"isFilterVisible\" class=\"ux-a-toolbar-filter-filter\">\n <div class=\"ux-input-group\">\n <span class=\"ux-input-group-prepend\">\n <span class=\"ux-input-group-text\">\n <span class=\"eui-icon eui-icon-search-m\"></span>\n </span>\n </span>\n <input\n type=\"text\"\n euiInputText\n class=\"ux-a-toolbar-filter-filter-input\"\n placeholder=\"{{ filterLabel ? filterLabel : ('eui.FILTER' | translate) }}\"\n [(ngModel)]=\"filterValue\"\n (ngModelChange)=\"onFilter($event)\" />\n </div>\n </div>\n <div *ngIf=\"isToggleVisible\" class=\"ux-a-toolbar-filter-trigger-wrapper\">\n <button\n *ngIf=\"!isToggleExpanded\"\n type=\"button\"\n euiButton\n class=\"ux-a-toolbar-filter-trigger ux-button ux-button--outline ux-button--secondary\"\n [class.ux-button--icon-only]=\"!hasLabels\"\n (click)=\"onExpandAll($event)\">\n <span class=\"eui-icon eui-icon-level-down ux-button__icon\"></span>\n <span *ngIf=\"hasLabels\">{{ expandAllLabel ? expandAllLabel : ('eui.EXPANDALL' | translate) }}</span>\n </button>\n <button\n *ngIf=\"isToggleExpanded\"\n type=\"button\"\n class=\"ux-a-toolbar-filter-trigger ux-button ux-button--outline ux-button--secondary\"\n [class.ux-button--icon-only]=\"!hasLabels\"\n (click)=\"onCollapseAll($event)\">\n <span class=\"eui-icon eui-icon-level-up ux-button__icon\"></span>\n <span *ngIf=\"hasLabels\">{{ collapseAllLabel ? collapseAllLabel : ('eui.COLLAPSEALL' | translate) }}</span>\n </button>\n <ng-content select=\"EuiUxTreeToolbarFilterButtons\"></ng-content>\n </div>\n\n <div class=\"ux-a-toolbar-filter-sub-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div> -->\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i5.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "isLoading", "euiIconButton", "euiLineWrap"], outputs: ["buttonClick"] }, { kind: "component", type: i5$1.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["class", "isInvalid"] }, { kind: "component", type: i6$1.EuiInputGroupComponent, selector: "div[euiInputGroup]", inputs: ["e2eAttr", "styleClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
439
- }
440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeToolbarComponent, decorators: [{
441
- type: Component,
442
- args: [{ selector: 'eui-ux-tree-toolbar', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"isVisible\" euiInputGroup>\n <div class=\"eui-input-group-addon\">\n <div class=\"eui-input-group-addon-item\">\n <eui-icon-svg icon=\"eui-search\"></eui-icon-svg>\n </div>\n <input euiInputText euiClearable [(ngModel)]=\"filterValue\" placeholder=\"Search from tree list items...\" (change)=\"onFilter()\"/>\n\n <button *ngIf=\"!isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onExpandAll($event)\">\n <span euiLabel>Expand all</span>\n <eui-icon-svg icon=\"eui-level-down\" class=\"eui-u-ml-s\"></eui-icon-svg>\n </button>\n <button *ngIf=\"isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onCollapseAll($event)\">\n <span euiLabel>Collapse all</span>\n <eui-icon-svg icon=\"eui-level-up\" class=\"eui-u-ml-s\"></eui-icon-svg>\n </button>\n\n <!-- <button *ngIf=\"!isSelectedAll\" euiButton euiSecondary euiOutline (click)=\"selectAll()\">\n <span euiLabel>Select all</span>\n <eui-icon-svg icon=\"eui-checkbox\" class=\"eui-u-ml-s\"></eui-icon-svg>\n </button>\n <button *ngIf=\"isSelectedAll\" euiButton euiSecondary euiOutline (click)=\"deselectAll()\">\n <span euiLabel>Deselect all</span>\n <eui-icon-svg icon=\"eui-checkbox-outline\" class=\"eui-u-ml-s\"></eui-icon-svg>\n </button> -->\n </div>\n</div>\n\n<!--\n\n\n<div *ngIf=\"isVisible\" class=\"ux-a-toolbar-filter\" attr.data-e2e=\"{{ e2eAttr }}\">\n <div class=\"ux-a-toolbar-filter-content\">\n <div *ngIf=\"isFilterVisible\" class=\"ux-a-toolbar-filter-filter\">\n <div class=\"ux-input-group\">\n <span class=\"ux-input-group-prepend\">\n <span class=\"ux-input-group-text\">\n <span class=\"eui-icon eui-icon-search-m\"></span>\n </span>\n </span>\n <input\n type=\"text\"\n euiInputText\n class=\"ux-a-toolbar-filter-filter-input\"\n placeholder=\"{{ filterLabel ? filterLabel : ('eui.FILTER' | translate) }}\"\n [(ngModel)]=\"filterValue\"\n (ngModelChange)=\"onFilter($event)\" />\n </div>\n </div>\n <div *ngIf=\"isToggleVisible\" class=\"ux-a-toolbar-filter-trigger-wrapper\">\n <button\n *ngIf=\"!isToggleExpanded\"\n type=\"button\"\n euiButton\n class=\"ux-a-toolbar-filter-trigger ux-button ux-button--outline ux-button--secondary\"\n [class.ux-button--icon-only]=\"!hasLabels\"\n (click)=\"onExpandAll($event)\">\n <span class=\"eui-icon eui-icon-level-down ux-button__icon\"></span>\n <span *ngIf=\"hasLabels\">{{ expandAllLabel ? expandAllLabel : ('eui.EXPANDALL' | translate) }}</span>\n </button>\n <button\n *ngIf=\"isToggleExpanded\"\n type=\"button\"\n class=\"ux-a-toolbar-filter-trigger ux-button ux-button--outline ux-button--secondary\"\n [class.ux-button--icon-only]=\"!hasLabels\"\n (click)=\"onCollapseAll($event)\">\n <span class=\"eui-icon eui-icon-level-up ux-button__icon\"></span>\n <span *ngIf=\"hasLabels\">{{ collapseAllLabel ? collapseAllLabel : ('eui.COLLAPSEALL' | translate) }}</span>\n </button>\n <ng-content select=\"EuiUxTreeToolbarFilterButtons\"></ng-content>\n </div>\n\n <div class=\"ux-a-toolbar-filter-sub-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div> -->\n" }]
443
- }], propDecorators: { isVisible: [{
444
- type: Input
445
- }], filterLabel: [{
446
- type: Input
447
- }], expandAllLabel: [{
448
- type: Input
449
- }], collapseAllLabel: [{
450
- type: Input
451
- }], isFilterVisible: [{
452
- type: Input
453
- }], isToggleVisible: [{
454
- type: Input
455
- }], isToggleExpanded: [{
456
- type: Input
457
- }], filterValue: [{
458
- type: Input
459
- }], hasLabels: [{
460
- type: Input
461
- }], e2eAttr: [{
462
- type: Input
463
- }], filter: [{
464
- type: Output
465
- }], expandAll: [{
466
- type: Output
467
- }], collapseAll: [{
468
- type: Output
469
- }] } });
470
- class EuiUxTreeToolbarFilterButtonsTagDirective {
471
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeToolbarFilterButtonsTagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
472
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: EuiUxTreeToolbarFilterButtonsTagDirective, selector: "EuiUxTreeToolbarFilterButtons", ngImport: i0 }); }
473
- }
474
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeToolbarFilterButtonsTagDirective, decorators: [{
475
- type: Directive,
476
- args: [{ selector: 'EuiUxTreeToolbarFilterButtons' }]
477
- }] });
478
-
479
- /* eslint-disable */
480
- class EuiUxTreeComponent {
481
- constructor(cd) {
482
- this.cd = cd;
483
- this.collapsedIconClass = 'eui-icon eui-icon-plus-circle';
484
- this.expandedIconClass = 'eui-icon eui-icon-minus-circle';
485
- this.e2eAttr = 'ux-tree';
486
- this.nodeClick = new EventEmitter();
487
- this.nodeToggle = new EventEmitter();
488
- // TODO: for eUI 14 remove the [] type
489
- this.selectionChange = new EventEmitter();
490
- this.filter = new EventEmitter();
491
- this.allSelected = false;
492
- this.nbNodes = 0;
493
- this.visibleNodes = [];
494
- this.filterValue = '';
495
- this._isShowToolbar = false;
496
- this._isExpanded = false;
497
- this._isMultiselect = false;
498
- this._isRecursiveSelection = false;
499
- this._isClickTogglingNode = false;
500
- this._isShowActiveNode = false;
501
- this._isHideToggles = false;
502
- this._isHideLines = false;
503
- this._isClickSelectingNode = false;
504
- this._showFilteredChildren = false;
505
- this._expandFilteredChildren = false;
506
- this._highlightPath = false;
507
- this._autoTranslate = true;
508
- this._hasLabels = true;
509
- this._hasSelectAll = false;
510
- this._hasSelectAllFiltered = false;
511
- this._isRecursiveParentSelection = true;
512
- }
513
- get isShowToolbar() {
514
- return this._isShowToolbar;
515
- }
516
- set isShowToolbar(value) {
517
- this._isShowToolbar = coerceBooleanProperty(value);
518
- }
519
- get isExpanded() {
520
- return this._isExpanded;
521
- }
522
- set isExpanded(value) {
523
- this._isExpanded = coerceBooleanProperty(value);
524
- }
525
- get isMultiselect() {
526
- return this._isMultiselect;
527
- }
528
- set isMultiselect(value) {
529
- this._isMultiselect = coerceBooleanProperty(value);
530
- }
531
- get isRecursiveSelection() {
532
- return this._isRecursiveSelection;
533
- }
534
- set isRecursiveSelection(value) {
535
- this._isRecursiveSelection = coerceBooleanProperty(value);
536
- }
537
- get isClickTogglingNode() {
538
- return this._isClickTogglingNode;
539
- }
540
- set isClickTogglingNode(value) {
541
- this._isClickTogglingNode = coerceBooleanProperty(value);
542
- }
543
- get isShowActiveNode() {
544
- return this._isShowActiveNode;
545
- }
546
- set isShowActiveNode(value) {
547
- this._isShowActiveNode = coerceBooleanProperty(value);
548
- }
549
- get isHideToggles() {
550
- return this._isHideToggles;
551
- }
552
- set isHideToggles(value) {
553
- this._isHideToggles = coerceBooleanProperty(value);
554
- }
555
- get isHideLines() {
556
- return this._isHideLines;
557
- }
558
- set isHideLines(value) {
559
- this._isHideLines = coerceBooleanProperty(value);
560
- }
561
- get isClickSelectingNode() {
562
- return this._isClickSelectingNode;
563
- }
564
- set isClickSelectingNode(value) {
565
- this._isClickSelectingNode = coerceBooleanProperty(value);
566
- }
567
- get showFilteredChildren() {
568
- return this._showFilteredChildren;
569
- }
570
- set showFilteredChildren(value) {
571
- this._showFilteredChildren = coerceBooleanProperty(value);
572
- }
573
- get expandFilteredChildren() {
574
- return this._expandFilteredChildren;
575
- }
576
- set expandFilteredChildren(value) {
577
- this._expandFilteredChildren = coerceBooleanProperty(value);
578
- }
579
- get highlightPath() {
580
- return this._highlightPath;
581
- }
582
- set highlightPath(value) {
583
- this._highlightPath = coerceBooleanProperty(value);
584
- }
585
- get autoTranslate() {
586
- return this._autoTranslate;
587
- }
588
- set autoTranslate(value) {
589
- this._autoTranslate = coerceBooleanProperty(value);
590
- }
591
- get hasLabels() {
592
- return this._hasLabels;
593
- }
594
- set hasLabels(value) {
595
- this._hasLabels = coerceBooleanProperty(value);
596
- }
597
- get hasSelectAll() {
598
- return this._hasSelectAll;
599
- }
600
- set hasSelectAll(value) {
601
- this._hasSelectAll = coerceBooleanProperty(value);
602
- }
603
- get hasSelectAllFiltered() {
604
- return this._hasSelectAllFiltered;
605
- }
606
- set hasSelectAllFiltered(value) {
607
- this._hasSelectAllFiltered = coerceBooleanProperty(value);
608
- }
609
- get isRecursiveParentSelection() {
610
- return this._isRecursiveParentSelection;
611
- }
612
- set isRecursiveParentSelection(value) {
613
- this._isRecursiveParentSelection = coerceBooleanProperty(value);
614
- }
615
- get isMinimumOneSelected() {
616
- return this.getSelectedNodes().length > 0 && !this.allSelected;
617
- }
618
- get isAllSelected() {
619
- return this.getSelectedNodes().length === this.nbNodes;
620
- }
621
- ngOnChanges(changes) {
622
- if (changes && changes['nodes']) {
623
- this.visibleNodes = this.visible(this.nodes);
624
- }
625
- }
626
- ngOnInit() {
627
- this.getNbNodes(this.nodes);
628
- }
629
- ngAfterContentInit() {
630
- if (this.isExpanded) {
631
- this.setNodesExpandedState(this.nodes, true);
632
- }
633
- this.setParentNode(this.nodes, null);
634
- this.templates.forEach((item) => {
635
- if (item.getType() === 'nodeContent') {
636
- this.nodeContentTemplate = item.template;
637
- }
638
- });
639
- }
640
- visible(nodes) {
641
- if (this.hasSelectAllFiltered) {
642
- return this.getVisibleNodesRecursive(nodes);
643
- }
644
- else {
645
- return nodes.filter((n) => n.visible);
646
- }
647
- }
648
- getNbNodes(nodes) {
649
- nodes.forEach((node) => {
650
- this.nbNodes++;
651
- if (node.hasChildren) {
652
- node.children.forEach((link) => {
653
- this.getNbNodes([link]);
654
- });
655
- }
656
- });
657
- }
658
- onSelectAllChange(e) {
659
- this.allSelected = e.target.checked;
660
- if (!e.target.check) {
661
- this.resetSelection();
662
- }
663
- if (this.hasSelectAllFiltered) {
664
- this.setNodesSelectedFilteredState(this.visibleNodes, e.target.checked);
665
- }
666
- else {
667
- this.setNodesSelectedState(this.nodes, e.target.checked);
668
- }
669
- }
670
- getSelectedNodes() {
671
- if (this.filterValue !== '' && this.allSelected && this.hasSelectAllFiltered) {
672
- return this.visibleNodes;
673
- }
674
- else {
675
- return this.getSelectedNodesRecursive(this.nodes);
676
- }
677
- }
678
- onNodeToggle(UxLinkLegacy) {
679
- this.nodeToggle.emit(UxLinkLegacy);
680
- }
681
- onNodeClick(UxLinkLegacy) {
682
- if (!UxLinkLegacy.disabled) {
683
- this.nodeClick.emit(UxLinkLegacy);
684
- if (this.isClickTogglingNode && UxLinkLegacy.hasChildren) {
685
- this.onNodeToggle(UxLinkLegacy);
686
- }
687
- if (!this.isMultiselect && this.isShowActiveNode) {
688
- this.setNodesSelectedState(this.nodes, false);
689
- UxLinkLegacy.selected = true;
690
- }
691
- }
692
- }
693
- onExpandAll(event) {
694
- this.setNodesExpandedState(this.nodes, true);
695
- }
696
- onCollapseAll(event) {
697
- this.setNodesExpandedState(this.nodes, false);
698
- }
699
- onSelectionChange(UxLinkLegacy) {
700
- if (!UxLinkLegacy.selected) {
701
- this.allSelected = false;
702
- }
703
- this.selectionChange.next(UxLinkLegacy);
704
- }
705
- onFilter(filterValue) {
706
- if (filterValue !== '') {
707
- this.setNodesVisibleState(this.nodes, false);
708
- if (!this.expandFilteredChildren) {
709
- this.nodes.forEach((node) => {
710
- this.isFilterMatched(node, filterValue);
711
- });
712
- }
713
- if (this.expandFilteredChildren) {
714
- this.nodes.forEach((node) => {
715
- this.isFilterMatchedExpand(node, filterValue);
716
- });
717
- this.setNodesVisibleState(this.nodes, true);
718
- }
719
- if (this.showFilteredChildren) {
720
- this.nodes.forEach((node) => {
721
- this.isVisibleChildren(node, filterValue);
722
- });
723
- }
724
- if (!this.expandFilteredChildren) {
725
- this.setNodesExpandedState(this.nodes, true);
726
- }
727
- this.visibleNodes = this.visible(this.nodes);
728
- }
729
- else {
730
- this.setNodesVisibleState(this.nodes, true);
731
- this.visibleNodes = this.visible(this.nodes);
732
- this.virtualScrolling?.scrollToIndex(0);
733
- }
734
- if (this.hasSelectAllFiltered) {
735
- this.setNodesSelectedFilteredState(this.visibleNodes, this.allSelected);
736
- this.filterValue = filterValue;
737
- this.cd.detectChanges();
738
- }
739
- this.filter.emit(filterValue);
740
- }
741
- isFilterMatchedExpand(node, filterValue) {
742
- node['highlighted'] = false;
743
- if (node.label.toUpperCase().indexOf(filterValue.toUpperCase()) !== -1) {
744
- node.expanded = true;
745
- node['highlighted'] = true;
746
- }
747
- else {
748
- node.expanded = false;
749
- node['highlighted'] = false;
750
- }
751
- if (node.children) {
752
- node.children.forEach((childrenNode) => {
753
- this.isFilterMatchedExpand(childrenNode, filterValue);
754
- if (childrenNode.expanded) {
755
- node.expanded = true;
756
- node['highlighted'] = true;
757
- }
758
- });
759
- }
760
- }
761
- trackByFn(index, item) {
762
- return item.id;
763
- }
764
- checkForChildren() {
765
- return !this.nodes.some((node) => node.hasChildren);
766
- }
767
- resetSelection() {
768
- this.resetNode(this.nodes);
769
- // TODO: investigate if we can emit null instead of []
770
- this.selectionChange.emit([]);
771
- }
772
- resetNode(nodes) {
773
- nodes.forEach((node) => {
774
- node.selected = false;
775
- if (node.children && node.children.length > 0) {
776
- this.resetNode(node.children);
777
- }
778
- });
779
- }
780
- isVisibleChildren(node, filterValue) {
781
- if (node.parent && node.parent.visible === true && node.parent.label.toUpperCase().indexOf(filterValue.toUpperCase()) !== -1) {
782
- node.visible = true;
783
- }
784
- if (node.children) {
785
- node.children.forEach((childrenNode) => {
786
- this.isVisibleChildren(childrenNode, filterValue);
787
- });
788
- }
789
- }
790
- getSelectedNodesRecursive(nodes) {
791
- return (nodes || []).reduce((acc, node) => {
792
- if (node.hasChildren) {
793
- return node.selected && !node.indeterminate
794
- ? [...acc, node, ...this.getSelectedNodesRecursive(node.children)]
795
- : [...acc, ...this.getSelectedNodesRecursive(node.children)];
796
- }
797
- else {
798
- return node.selected ? [...acc, node] : [...acc];
799
- }
800
- }, []);
801
- }
802
- getVisibleNodesRecursive(nodes) {
803
- return (nodes || []).reduce((acc, node) => {
804
- if (node.hasChildren) {
805
- return node.visible
806
- ? [...acc, node, ...this.getVisibleNodesRecursive(node.children)]
807
- : [...acc, ...this.getVisibleNodesRecursive(node.children)];
808
- }
809
- else {
810
- return node.visible ? [...acc, node] : [...acc];
811
- }
812
- }, []);
813
- }
814
- isFilterMatched(node, filterValue) {
815
- if (node.label?.toUpperCase().indexOf(filterValue?.toUpperCase()) !== -1) {
816
- this.virtualScrolling?.scrollToIndex(0);
817
- node.visible = true;
818
- }
819
- else {
820
- node.visible = false;
821
- }
822
- if (node.children) {
823
- node.children.forEach((childrenNode) => {
824
- this.isFilterMatched(childrenNode, filterValue);
825
- if (childrenNode.visible) {
826
- node.visible = true;
827
- }
828
- });
829
- }
830
- }
831
- setNodesExpandedState(nodes, expanded) {
832
- nodes.forEach((node) => {
833
- node.expanded = expanded;
834
- if (node.children) {
835
- this.setNodesExpandedState(node.children, expanded);
836
- }
837
- });
838
- }
839
- setNodesVisibleState(nodes, visible) {
840
- nodes.forEach((node) => {
841
- node.visible = visible;
842
- if (node.children) {
843
- this.setNodesVisibleState(node.children, visible);
844
- }
845
- });
846
- }
847
- setNodesSelectedState(nodes, selected) {
848
- nodes.forEach((node) => {
849
- node.selected = selected;
850
- if (node.children) {
851
- this.setNodesSelectedState(node.children, selected);
852
- }
853
- if (this.hasSelectAll) {
854
- this.selectionChange.emit(node);
855
- }
856
- });
857
- }
858
- setNodesSelectedFilteredState(nodes, selected) {
859
- nodes.forEach((node) => {
860
- if (node.visible) {
861
- node.selected = selected;
862
- if (node.children) {
863
- this.setNodesSelectedFilteredState(node.children, selected);
864
- }
865
- if (this.hasSelectAllFiltered) {
866
- this.selectionChange.emit(node);
867
- }
868
- }
869
- });
870
- }
871
- setParentNode(nodes, parentNode) {
872
- nodes.forEach((node) => {
873
- if (parentNode) {
874
- node.parent = parentNode;
875
- }
876
- if (node.children) {
877
- this.setParentNode(node.children, node);
878
- }
879
- });
880
- }
881
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
882
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: EuiUxTreeComponent, selector: "eui-ux-tree", inputs: { nodes: "nodes", collapseAllLabel: "collapseAllLabel", expandAllLabel: "expandAllLabel", filterLabel: "filterLabel", collapsedIconClass: "collapsedIconClass", expandedIconClass: "expandedIconClass", setFilterValue: "setFilterValue", e2eAttr: "e2eAttr", isShowToolbar: "isShowToolbar", isExpanded: "isExpanded", isMultiselect: "isMultiselect", isRecursiveSelection: "isRecursiveSelection", isClickTogglingNode: "isClickTogglingNode", isShowActiveNode: "isShowActiveNode", isHideToggles: "isHideToggles", isHideLines: "isHideLines", isClickSelectingNode: "isClickSelectingNode", showFilteredChildren: "showFilteredChildren", expandFilteredChildren: "expandFilteredChildren", highlightPath: "highlightPath", autoTranslate: "autoTranslate", hasLabels: "hasLabels", hasSelectAll: "hasSelectAll", hasSelectAllFiltered: "hasSelectAllFiltered", isRecursiveParentSelection: "isRecursiveParentSelection" }, outputs: { nodeClick: "nodeClick", nodeToggle: "nodeToggle", selectionChange: "selectionChange", filter: "filter" }, queries: [{ propertyName: "templateVariable", first: true, predicate: TemplateRef, descendants: true }, { propertyName: "templates", predicate: EuiTemplateDirective }], viewQueries: [{ propertyName: "virtualScrolling", first: true, predicate: ["virtualScrolling"], descendants: true }, { propertyName: "treeNodes", predicate: EuiUxTreeNodeComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<eui-ux-tree-toolbar\n *ngIf=\"isShowToolbar\"\n [isVisible]=\"isShowToolbar\"\n [isToggleVisible]=\"!isHideToggles\"\n (filter)=\"onFilter($event)\"\n [filterValue]=\"setFilterValue\"\n (expandAll)=\"onExpandAll($event)\"\n (collapseAll)=\"onCollapseAll($event)\"\n filterLabel=\"{{ filterLabel }}\"\n [expandAllLabel]=\"expandAllLabel ? expandAllLabel : null\"\n collapseAllLabel=\"{{ collapseAllLabel }}\"\n [isToggleExpanded]=\"isExpanded\"\n [hasLabels]=\"hasLabels\"\n attr.data-e2e=\"{{ e2eAttr }}-a-toolbar-filter\">\n</eui-ux-tree-toolbar>\n\n<div class=\"eui-u-flex\" *ngIf=\"hasSelectAll || hasSelectAllFiltered\">\n <input\n type=\"checkbox\"\n class=\"ux-input__checkbox\"\n id=\"selectAll\"\n [checked]=\"isMinimumOneSelected ? 'checked' : null\"\n (change)=\"onSelectAllChange($event)\" />\n <label\n class=\"ux-tree__node-checkbox-label\"\n [class.checkbox-label-indeterminate]=\"isMinimumOneSelected && !isAllSelected\"\n for=\"selectAll\"\n [class.ux-tree__node-checkbox-label--onelevel]=\"checkForChildren()\">\n <ng-container *ngIf=\"!allSelected && !isMinimumOneSelected && !isAllSelected\">\n {{ 'eui.uxtree.SELECT-ALL' | translate }}\n </ng-container>\n <ng-container *ngIf=\"allSelected || isMinimumOneSelected || isAllSelected\">\n {{ 'eui.uxtree.UNSELECT-ALL' | translate }}\n </ng-container>\n </label>\n</div>\n<ng-container *ngIf=\"nodes.length > 500 && !hasSelectAll && !hasSelectAllFiltered; else noVirtualScroll\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n itemSize=\"30\"\n class=\"ux-tree__virtual-scrolling__container\"\n minBufferPx=\"2000\"\n maxBufferPx=\"2400\">\n <div *cdkVirtualFor=\"let node of visibleNodes; trackBy: trackByFn\" class=\"ux-tree__virtual-scrolling__item\">\n <ul\n class=\"ux-tree\"\n [class.ux-tree--hidelines]=\"isHideLines\"\n [class.ux-tree--multiselect]=\"isMultiselect\"\n [class.ux-tree--onelevel]=\"checkForChildren()\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <eui-ux-tree-node\n [node]=\"node\"\n (nodeClick)=\"onNodeClick($event)\"\n (nodeToggle)=\"onNodeToggle($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n [isRootNode]=\"true\"\n [isMultiselect]=\"isMultiselect\"\n [isRecursiveSelection]=\"isRecursiveSelection\"\n [isClickTogglingNode]=\"isClickTogglingNode\"\n expandedIconClass=\"{{ expandedIconClass }}\"\n collapsedIconClass=\"{{ collapsedIconClass }}\"\n [templateVariable]=\"templateVariable\"\n [nodeContentTemplate]=\"nodeContentTemplate\"\n [isShowActiveNode]=\"isShowActiveNode\"\n [autoTranslate]=\"autoTranslate\"\n [isHideToggles]=\"isHideToggles\"\n [isClickSelectingNode]=\"isClickSelectingNode\"\n [highlightPath]=\"highlightPath\"\n [isRecursiveParentSelection]=\"isRecursiveParentSelection\">\n </eui-ux-tree-node>\n </ul>\n </div>\n </cdk-virtual-scroll-viewport>\n</ng-container>\n\n<ng-template #noVirtualScroll>\n <ul\n class=\"ux-tree\"\n [class.ux-tree--hidelines]=\"isHideLines\"\n [class.ux-tree--multiselect]=\"isMultiselect\"\n [class.ux-tree--onelevel]=\"checkForChildren()\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <eui-ux-tree-node\n *ngFor=\"let node of nodes; trackBy: trackByFn\"\n [node]=\"node\"\n (nodeClick)=\"onNodeClick($event)\"\n (nodeToggle)=\"onNodeToggle($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n [isRootNode]=\"true\"\n [isMultiselect]=\"isMultiselect\"\n [isRecursiveSelection]=\"isRecursiveSelection\"\n [isClickTogglingNode]=\"isClickTogglingNode\"\n expandedIconClass=\"{{ expandedIconClass }}\"\n collapsedIconClass=\"{{ collapsedIconClass }}\"\n [templateVariable]=\"templateVariable\"\n [nodeContentTemplate]=\"nodeContentTemplate\"\n [isShowActiveNode]=\"isShowActiveNode\"\n [autoTranslate]=\"autoTranslate\"\n [isHideToggles]=\"isHideToggles\"\n [isClickSelectingNode]=\"isClickSelectingNode\"\n [highlightPath]=\"highlightPath\"\n [isRecursiveParentSelection]=\"isRecursiveParentSelection\">\n </eui-ux-tree-node>\n </ul>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.ux-tree,.ux-tree ul{list-style:none;margin:0 0 0 var(--eui-base-spacing-xs);padding:0;position:relative}.ux-tree ul{margin-left:var(--eui-base-spacing-m)}ul.ux-tree:before{content:\"\";display:block;height:calc(100% - 12px);left:0;position:absolute}.ux-tree:before,.ux-tree ul:before{border-left:1px solid var(--eui-base-color-grey-20);bottom:0;content:\"\";display:block;height:calc(100% - 12px);left:0;position:absolute;top:0;width:0}.ux-tree li{cursor:pointer;line-height:calc(1.75 * var(--eui-base-spacing-m));margin:0;padding:0 0 0 var(--eui-base-spacing-s);position:relative}.ux-tree li:before{border-top:1px solid var(--eui-base-color-grey-20);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-base-spacing-m);width:var(--eui-base-spacing-xl)}.ux-tree li.ux-tree__node--expandable:before{border-top:1px solid var(--eui-base-color-grey-20);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-base-spacing-m);width:var(--eui-base-spacing-s)}.ux-tree li.ux-tree__node--disabled{pointer-events:none;cursor:none}.ux-tree li.last-child:before{bottom:0;height:auto;top:var(--eui-base-spacing-m)}.ux-tree--onelevel .ux-tree__node{padding:0}.ux-tree__node-wrapper{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ux-tree__node-wrapper .ux-tree__parent{margin-left:var(--eui-base-spacing-2xs)}.ux-tree__node-wrapper .ux-tree__leaf{margin-left:var(--eui-base-spacing-l)}.ux-tree--onelevel .ux-tree__node-wrapper .ux-tree__leaf{margin-left:var(--eui-base-spacing-xs)!important;margin-right:var(--eui-base-spacing-xs)}.ux-tree__node-wrapper .ux-tree__custom-content{align-items:center;display:inline-flex}.ux-tree__node-wrapper .ux-tree__custom-content.ux-tree__leaf{margin-left:var(--eui-base-spacing-l)}.ux-tree__node-wrapper input[type=checkbox].ux-input__checkbox{clip:auto}.ux-tree__node-wrapper input[type=checkbox].ux-input__checkbox--selected:after{background:transparent;color:var(--eui-color-white);height:1rem;width:1rem;content:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Ctitle%3ECheckmark%3C/title%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='64' d='M416 128L192 384l-96-96'/%3E%3C/svg%3E\");position:absolute!important}.ux-tree__node-wrapper input[type=checkbox].ux-input__checkbox.checkbox-label-indeterminate:after{background:transparent;color:var(--eui-base-color-white);content:\"\\2013\"!important;position:relative;left:4px;bottom:2px}.ux-tree__node-label{margin-left:var(--eui-base-spacing-xl);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ux-tree__node-label.ux-tree__node-label-parent{margin-left:0}.ux-tree__node-label:focus,.ux-tree__node-label:hover{color:var(--eui-base-color-primary-100);text-decoration:underline}.ux-tree__node--selected .ux-tree__node-label{background-color:var(--eui-base-color-primary-5)}.ux-tree__node-label-wrapped{margin-left:var(--eui-base-spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ux-tree__node-label-wrapped:focus,.ux-tree__node-label-wrapped:hover{color:var(--eui-base-color-primary-100);text-decoration:underline}.ux-tree__node-label-wrapped .ux-tree__node-label--highlighted{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.ux-tree__node--selected .ux-tree__node-label-wrapped{background-color:var(--eui-base-color-primary-5)}.ux-tree__node-toggle-icon{color:var(--eui-base-color-primary-100)}.ux-tree__node-toggle-icon .ux-button__icon{font-size:var(--eui-base-font-size-xl)!important}.ux-tree__node-type{align-items:center;background-color:var(--eui-base-color-grey-80);color:var(--eui-base-color-white);display:inline-flex;font-size:var(--eui-base-font-size-s);height:var(--eui-base-spacing-m);margin:var(--eui-base-spacing-2xs) 0 0 var(--eui-base-spacing-xl);padding:var(--eui-base-spacing-s) var(--eui-base-spacing-2xs);text-decoration:none}.ux-tree__node-type.ux-tree__node-type-parent{margin-left:var(--eui-base-spacing-xs)}.ux-tree__node-icon{color:var(--eui-base-color-grey-90);display:inline-flex}.ux-tree__node-type--primary{background-color:var(--eui-base-color-primary-100)}.ux-tree__node-type--info{background-color:var(--eui-base-color-info-100)}.ux-tree__node-type--success{background-color:var(--eui-base-color-success-100)}.ux-tree__node-type--warning{background-color:var(--eui-base-color-warning-100);color:var(--eui-base-color-grey-100)}.ux-tree__node-type--danger{background-color:var(--eui-base-color-danger-100)}.ux-tree__node-badge{margin-left:var(--eui-base-spacing-xs);min-width:var(--eui-base-spacing-xl)}.ux-tree__node-metacontent-toggle{display:flex;font-size:var(--eui-base-font-size);margin-left:var(--eui-base-spacing-s);padding:0 var(--eui-base-spacing-3xs);box-shadow:var(--eui-base-shadow-1)}.ux-tree__node-metacontent{background-color:var(--eui-base-color-grey-5);margin-left:var(--eui-base-spacing-xl);padding:var(--eui-base-spacing-m)}.ux-tree__node-checkbox-label{margin:0!important;padding:0!important}.ux-tree__node-checkbox-label:after{left:12px!important}.ux-tree__node-checkbox-label--onelevel{margin:0 auto!important}.ux-tree--multiselect .ux-tree__node-wrapper{margin:3px 0}.ux-tree--multiselect .ux-tree__node-wrapper.ux-tree__node--selected .ux-tree__node-label{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.ux-tree--multiselect .ux-tree__node-label{margin-left:0;padding-left:var(--eui-base-spacing-s);padding-right:var(--eui-base-spacing-s)}.ux-tree--multiselect .ux-tree__node .ux-tree__parent{line-height:normal;margin-left:0}.ux-tree--multiselect .ux-tree__node .ux-tree__leaf{line-height:normal;margin-left:var(--eui-base-spacing-xl)}.ux-tree--onelevel{margin:0}.ux-tree--onelevel:before{border-left:none}.ux-tree--onelevel .ux-tree__node:before{border-top:none}.ux-tree--hidelines{margin:0}.ux-tree--hidelines .ux-tree__nodes:before{border-left:none}.ux-tree--hidelines .ux-tree__node:before{display:none}.ux-tree--hidelines:before{border-left:none}.ux-tree__virtual-scrolling__container{height:200px}.ux-tree__virtual-scrolling__item{height:30px}.ux-tree__toolbar{margin-bottom:var(--eui-base-spacing-m)}.ux-tree__toolbar-trigger{float:left;margin-right:var(--eui-base-spacing-xs)}.ux-tree__toolbar-filter{float:left;position:relative}.ux-tree__toolbar-filter-input{min-width:100px}.ux-tree__toolbar-filter-input-search-icon{position:absolute;right:var(--eui-base-spacing-s);top:var(--eui-base-spacing-s)}.ux-tree__node-wrapper input[type=checkbox].ux-input__checkbox{clip:auto;margin-right:var(--eui-base-spacing-2xs)}.ux-tree__node-wrapper input[type=checkbox].ux-input__checkbox+label:after{content:none!important}.ux-a-toolbar-filter{display:flex;padding-bottom:var(--eui-base-spacing-m);position:relative;width:100%}.ux-a-toolbar-filter-content{align-items:center;display:flex;flex-grow:1}.ux-a-toolbar-filter-sub-content{margin-left:auto}.ux-a-toolbar-filter-trigger-wrapper{display:flex;flex-shrink:0}.ux-a-toolbar-filter-trigger{margin-right:var(--eui-base-spacing-xs)}.ux-a-toolbar-filter-trigger.ux-button{border-color:var(--eui-base-color-grey-20)!important;box-shadow:none}.eui-t-compact .ux-a-toolbar-filter-trigger.ux-button.ux-button--outline{padding:8px var(--eui-base-spacing-m)}.ux-a-toolbar-filter-trigger .eui-icon{font-size:var(--eui-base-font-size-xl)}.ux-a-toolbar-filter-filter{margin-right:var(--eui-base-spacing-xs);position:relative;width:100%}.ux-a-toolbar-filter-filter .eui-icon{color:var(--eui-base-color-grey-80);font-size:var(--eui-base-font-size-xl)}.ux-a-toolbar-filter-filter-input{width:100%;width:calc(100% - 36px)!important}.ux-a-toolbar-filter-filter-input-search-icon{position:absolute;right:var(--eui-base-spacing-s);top:var(--eui-base-spacing-s)}.ux-a-toolbar-filter uxtoolbarfilterbuttons .ux-dropdown-button{border:1px solid var(--eui-base-color-grey-20);box-shadow:none}.eui-t-compact .ux-a-toolbar-filter uxtoolbarfilterbuttons .ux-dropdown-button{padding:8px var(--eui-base-spacing-s)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2$1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2$1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: EuiUxTreeNodeComponent, selector: "eui-ux-tree-node", inputs: ["expandedIconClass", "collapsedIconClass", "templateVariable", "node", "nodeContentTemplate", "e2eAttr", "isFirst", "isLast", "isRootNode", "isClickTogglingNode", "isMultiselect", "isRecursiveSelection", "isRecursiveParentSelection", "isShowActiveNode", "isHideToggles", "isClickSelectingNode", "highlightPath", "autoTranslate", "hasSelectAll"], outputs: ["nodeClick", "nodeToggle", "selectionChange"] }, { kind: "component", type: EuiUxTreeToolbarComponent, selector: "eui-ux-tree-toolbar", inputs: ["isVisible", "filterLabel", "expandAllLabel", "collapseAllLabel", "isFilterVisible", "isToggleVisible", "isToggleExpanded", "filterValue", "hasLabels", "e2eAttr"], outputs: ["filter", "expandAll", "collapseAll"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
883
- }
884
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeComponent, decorators: [{
885
- type: Component,
886
- args: [{ selector: 'eui-ux-tree', encapsulation: ViewEncapsulation.None, template: "<eui-ux-tree-toolbar\n *ngIf=\"isShowToolbar\"\n [isVisible]=\"isShowToolbar\"\n [isToggleVisible]=\"!isHideToggles\"\n (filter)=\"onFilter($event)\"\n [filterValue]=\"setFilterValue\"\n (expandAll)=\"onExpandAll($event)\"\n (collapseAll)=\"onCollapseAll($event)\"\n filterLabel=\"{{ filterLabel }}\"\n [expandAllLabel]=\"expandAllLabel ? expandAllLabel : null\"\n collapseAllLabel=\"{{ collapseAllLabel }}\"\n [isToggleExpanded]=\"isExpanded\"\n [hasLabels]=\"hasLabels\"\n attr.data-e2e=\"{{ e2eAttr }}-a-toolbar-filter\">\n</eui-ux-tree-toolbar>\n\n<div class=\"eui-u-flex\" *ngIf=\"hasSelectAll || hasSelectAllFiltered\">\n <input\n type=\"checkbox\"\n class=\"ux-input__checkbox\"\n id=\"selectAll\"\n [checked]=\"isMinimumOneSelected ? 'checked' : null\"\n (change)=\"onSelectAllChange($event)\" />\n <label\n class=\"ux-tree__node-checkbox-label\"\n [class.checkbox-label-indeterminate]=\"isMinimumOneSelected && !isAllSelected\"\n for=\"selectAll\"\n [class.ux-tree__node-checkbox-label--onelevel]=\"checkForChildren()\">\n <ng-container *ngIf=\"!allSelected && !isMinimumOneSelected && !isAllSelected\">\n {{ 'eui.uxtree.SELECT-ALL' | translate }}\n </ng-container>\n <ng-container *ngIf=\"allSelected || isMinimumOneSelected || isAllSelected\">\n {{ 'eui.uxtree.UNSELECT-ALL' | translate }}\n </ng-container>\n </label>\n</div>\n<ng-container *ngIf=\"nodes.length > 500 && !hasSelectAll && !hasSelectAllFiltered; else noVirtualScroll\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n itemSize=\"30\"\n class=\"ux-tree__virtual-scrolling__container\"\n minBufferPx=\"2000\"\n maxBufferPx=\"2400\">\n <div *cdkVirtualFor=\"let node of visibleNodes; trackBy: trackByFn\" class=\"ux-tree__virtual-scrolling__item\">\n <ul\n class=\"ux-tree\"\n [class.ux-tree--hidelines]=\"isHideLines\"\n [class.ux-tree--multiselect]=\"isMultiselect\"\n [class.ux-tree--onelevel]=\"checkForChildren()\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <eui-ux-tree-node\n [node]=\"node\"\n (nodeClick)=\"onNodeClick($event)\"\n (nodeToggle)=\"onNodeToggle($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n [isRootNode]=\"true\"\n [isMultiselect]=\"isMultiselect\"\n [isRecursiveSelection]=\"isRecursiveSelection\"\n [isClickTogglingNode]=\"isClickTogglingNode\"\n expandedIconClass=\"{{ expandedIconClass }}\"\n collapsedIconClass=\"{{ collapsedIconClass }}\"\n [templateVariable]=\"templateVariable\"\n [nodeContentTemplate]=\"nodeContentTemplate\"\n [isShowActiveNode]=\"isShowActiveNode\"\n [autoTranslate]=\"autoTranslate\"\n [isHideToggles]=\"isHideToggles\"\n [isClickSelectingNode]=\"isClickSelectingNode\"\n [highlightPath]=\"highlightPath\"\n [isRecursiveParentSelection]=\"isRecursiveParentSelection\">\n </eui-ux-tree-node>\n </ul>\n </div>\n </cdk-virtual-scroll-viewport>\n</ng-container>\n\n<ng-template #noVirtualScroll>\n <ul\n class=\"ux-tree\"\n [class.ux-tree--hidelines]=\"isHideLines\"\n [class.ux-tree--multiselect]=\"isMultiselect\"\n [class.ux-tree--onelevel]=\"checkForChildren()\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <eui-ux-tree-node\n *ngFor=\"let node of nodes; trackBy: trackByFn\"\n [node]=\"node\"\n (nodeClick)=\"onNodeClick($event)\"\n (nodeToggle)=\"onNodeToggle($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n [isRootNode]=\"true\"\n [isMultiselect]=\"isMultiselect\"\n [isRecursiveSelection]=\"isRecursiveSelection\"\n [isClickTogglingNode]=\"isClickTogglingNode\"\n expandedIconClass=\"{{ expandedIconClass }}\"\n collapsedIconClass=\"{{ collapsedIconClass }}\"\n [templateVariable]=\"templateVariable\"\n [nodeContentTemplate]=\"nodeContentTemplate\"\n [isShowActiveNode]=\"isShowActiveNode\"\n [autoTranslate]=\"autoTranslate\"\n [isHideToggles]=\"isHideToggles\"\n [isClickSelectingNode]=\"isClickSelectingNode\"\n [highlightPath]=\"highlightPath\"\n [isRecursiveParentSelection]=\"isRecursiveParentSelection\">\n </eui-ux-tree-node>\n </ul>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.ux-tree,.ux-tree ul{list-style:none;margin:0 0 0 var(--eui-base-spacing-xs);padding:0;position:relative}.ux-tree ul{margin-left:var(--eui-base-spacing-m)}ul.ux-tree:before{content:\"\";display:block;height:calc(100% - 12px);left:0;position:absolute}.ux-tree:before,.ux-tree ul:before{border-left:1px solid var(--eui-base-color-grey-20);bottom:0;content:\"\";display:block;height:calc(100% - 12px);left:0;position:absolute;top:0;width:0}.ux-tree li{cursor:pointer;line-height:calc(1.75 * var(--eui-base-spacing-m));margin:0;padding:0 0 0 var(--eui-base-spacing-s);position:relative}.ux-tree li:before{border-top:1px solid var(--eui-base-color-grey-20);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-base-spacing-m);width:var(--eui-base-spacing-xl)}.ux-tree li.ux-tree__node--expandable:before{border-top:1px solid var(--eui-base-color-grey-20);content:\"\";display:block;height:0;left:0;position:absolute;top:var(--eui-base-spacing-m);width:var(--eui-base-spacing-s)}.ux-tree li.ux-tree__node--disabled{pointer-events:none;cursor:none}.ux-tree li.last-child:before{bottom:0;height:auto;top:var(--eui-base-spacing-m)}.ux-tree--onelevel .ux-tree__node{padding:0}.ux-tree__node-wrapper{align-items:center;display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ux-tree__node-wrapper .ux-tree__parent{margin-left:var(--eui-base-spacing-2xs)}.ux-tree__node-wrapper .ux-tree__leaf{margin-left:var(--eui-base-spacing-l)}.ux-tree--onelevel .ux-tree__node-wrapper .ux-tree__leaf{margin-left:var(--eui-base-spacing-xs)!important;margin-right:var(--eui-base-spacing-xs)}.ux-tree__node-wrapper .ux-tree__custom-content{align-items:center;display:inline-flex}.ux-tree__node-wrapper .ux-tree__custom-content.ux-tree__leaf{margin-left:var(--eui-base-spacing-l)}.ux-tree__node-wrapper input[type=checkbox].ux-input__checkbox{clip:auto}.ux-tree__node-wrapper input[type=checkbox].ux-input__checkbox--selected:after{background:transparent;color:var(--eui-color-white);height:1rem;width:1rem;content:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Ctitle%3ECheckmark%3C/title%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='64' d='M416 128L192 384l-96-96'/%3E%3C/svg%3E\");position:absolute!important}.ux-tree__node-wrapper input[type=checkbox].ux-input__checkbox.checkbox-label-indeterminate:after{background:transparent;color:var(--eui-base-color-white);content:\"\\2013\"!important;position:relative;left:4px;bottom:2px}.ux-tree__node-label{margin-left:var(--eui-base-spacing-xl);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ux-tree__node-label.ux-tree__node-label-parent{margin-left:0}.ux-tree__node-label:focus,.ux-tree__node-label:hover{color:var(--eui-base-color-primary-100);text-decoration:underline}.ux-tree__node--selected .ux-tree__node-label{background-color:var(--eui-base-color-primary-5)}.ux-tree__node-label-wrapped{margin-left:var(--eui-base-spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ux-tree__node-label-wrapped:focus,.ux-tree__node-label-wrapped:hover{color:var(--eui-base-color-primary-100);text-decoration:underline}.ux-tree__node-label-wrapped .ux-tree__node-label--highlighted{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.ux-tree__node--selected .ux-tree__node-label-wrapped{background-color:var(--eui-base-color-primary-5)}.ux-tree__node-toggle-icon{color:var(--eui-base-color-primary-100)}.ux-tree__node-toggle-icon .ux-button__icon{font-size:var(--eui-base-font-size-xl)!important}.ux-tree__node-type{align-items:center;background-color:var(--eui-base-color-grey-80);color:var(--eui-base-color-white);display:inline-flex;font-size:var(--eui-base-font-size-s);height:var(--eui-base-spacing-m);margin:var(--eui-base-spacing-2xs) 0 0 var(--eui-base-spacing-xl);padding:var(--eui-base-spacing-s) var(--eui-base-spacing-2xs);text-decoration:none}.ux-tree__node-type.ux-tree__node-type-parent{margin-left:var(--eui-base-spacing-xs)}.ux-tree__node-icon{color:var(--eui-base-color-grey-90);display:inline-flex}.ux-tree__node-type--primary{background-color:var(--eui-base-color-primary-100)}.ux-tree__node-type--info{background-color:var(--eui-base-color-info-100)}.ux-tree__node-type--success{background-color:var(--eui-base-color-success-100)}.ux-tree__node-type--warning{background-color:var(--eui-base-color-warning-100);color:var(--eui-base-color-grey-100)}.ux-tree__node-type--danger{background-color:var(--eui-base-color-danger-100)}.ux-tree__node-badge{margin-left:var(--eui-base-spacing-xs);min-width:var(--eui-base-spacing-xl)}.ux-tree__node-metacontent-toggle{display:flex;font-size:var(--eui-base-font-size);margin-left:var(--eui-base-spacing-s);padding:0 var(--eui-base-spacing-3xs);box-shadow:var(--eui-base-shadow-1)}.ux-tree__node-metacontent{background-color:var(--eui-base-color-grey-5);margin-left:var(--eui-base-spacing-xl);padding:var(--eui-base-spacing-m)}.ux-tree__node-checkbox-label{margin:0!important;padding:0!important}.ux-tree__node-checkbox-label:after{left:12px!important}.ux-tree__node-checkbox-label--onelevel{margin:0 auto!important}.ux-tree--multiselect .ux-tree__node-wrapper{margin:3px 0}.ux-tree--multiselect .ux-tree__node-wrapper.ux-tree__node--selected .ux-tree__node-label{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.ux-tree--multiselect .ux-tree__node-label{margin-left:0;padding-left:var(--eui-base-spacing-s);padding-right:var(--eui-base-spacing-s)}.ux-tree--multiselect .ux-tree__node .ux-tree__parent{line-height:normal;margin-left:0}.ux-tree--multiselect .ux-tree__node .ux-tree__leaf{line-height:normal;margin-left:var(--eui-base-spacing-xl)}.ux-tree--onelevel{margin:0}.ux-tree--onelevel:before{border-left:none}.ux-tree--onelevel .ux-tree__node:before{border-top:none}.ux-tree--hidelines{margin:0}.ux-tree--hidelines .ux-tree__nodes:before{border-left:none}.ux-tree--hidelines .ux-tree__node:before{display:none}.ux-tree--hidelines:before{border-left:none}.ux-tree__virtual-scrolling__container{height:200px}.ux-tree__virtual-scrolling__item{height:30px}.ux-tree__toolbar{margin-bottom:var(--eui-base-spacing-m)}.ux-tree__toolbar-trigger{float:left;margin-right:var(--eui-base-spacing-xs)}.ux-tree__toolbar-filter{float:left;position:relative}.ux-tree__toolbar-filter-input{min-width:100px}.ux-tree__toolbar-filter-input-search-icon{position:absolute;right:var(--eui-base-spacing-s);top:var(--eui-base-spacing-s)}.ux-tree__node-wrapper input[type=checkbox].ux-input__checkbox{clip:auto;margin-right:var(--eui-base-spacing-2xs)}.ux-tree__node-wrapper input[type=checkbox].ux-input__checkbox+label:after{content:none!important}.ux-a-toolbar-filter{display:flex;padding-bottom:var(--eui-base-spacing-m);position:relative;width:100%}.ux-a-toolbar-filter-content{align-items:center;display:flex;flex-grow:1}.ux-a-toolbar-filter-sub-content{margin-left:auto}.ux-a-toolbar-filter-trigger-wrapper{display:flex;flex-shrink:0}.ux-a-toolbar-filter-trigger{margin-right:var(--eui-base-spacing-xs)}.ux-a-toolbar-filter-trigger.ux-button{border-color:var(--eui-base-color-grey-20)!important;box-shadow:none}.eui-t-compact .ux-a-toolbar-filter-trigger.ux-button.ux-button--outline{padding:8px var(--eui-base-spacing-m)}.ux-a-toolbar-filter-trigger .eui-icon{font-size:var(--eui-base-font-size-xl)}.ux-a-toolbar-filter-filter{margin-right:var(--eui-base-spacing-xs);position:relative;width:100%}.ux-a-toolbar-filter-filter .eui-icon{color:var(--eui-base-color-grey-80);font-size:var(--eui-base-font-size-xl)}.ux-a-toolbar-filter-filter-input{width:100%;width:calc(100% - 36px)!important}.ux-a-toolbar-filter-filter-input-search-icon{position:absolute;right:var(--eui-base-spacing-s);top:var(--eui-base-spacing-s)}.ux-a-toolbar-filter uxtoolbarfilterbuttons .ux-dropdown-button{border:1px solid var(--eui-base-color-grey-20);box-shadow:none}.eui-t-compact .ux-a-toolbar-filter uxtoolbarfilterbuttons .ux-dropdown-button{padding:8px var(--eui-base-spacing-s)}\n"] }]
887
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { nodes: [{
888
- type: Input
889
- }], collapseAllLabel: [{
890
- type: Input
891
- }], expandAllLabel: [{
892
- type: Input
893
- }], filterLabel: [{
894
- type: Input
895
- }], collapsedIconClass: [{
896
- type: Input
897
- }], expandedIconClass: [{
898
- type: Input
899
- }], setFilterValue: [{
900
- type: Input
901
- }], e2eAttr: [{
902
- type: Input
903
- }], nodeClick: [{
904
- type: Output
905
- }], nodeToggle: [{
906
- type: Output
907
- }], selectionChange: [{
908
- type: Output
909
- }], filter: [{
910
- type: Output
911
- }], templateVariable: [{
912
- type: ContentChild,
913
- args: [TemplateRef]
914
- }], templates: [{
915
- type: ContentChildren,
916
- args: [EuiTemplateDirective]
917
- }], treeNodes: [{
918
- type: ViewChildren,
919
- args: [EuiUxTreeNodeComponent]
920
- }], virtualScrolling: [{
921
- type: ViewChild,
922
- args: ['virtualScrolling']
923
- }], isShowToolbar: [{
924
- type: Input
925
- }], isExpanded: [{
926
- type: Input
927
- }], isMultiselect: [{
928
- type: Input
929
- }], isRecursiveSelection: [{
930
- type: Input
931
- }], isClickTogglingNode: [{
932
- type: Input
933
- }], isShowActiveNode: [{
934
- type: Input
935
- }], isHideToggles: [{
936
- type: Input
937
- }], isHideLines: [{
938
- type: Input
939
- }], isClickSelectingNode: [{
940
- type: Input
941
- }], showFilteredChildren: [{
942
- type: Input
943
- }], expandFilteredChildren: [{
944
- type: Input
945
- }], highlightPath: [{
946
- type: Input
947
- }], autoTranslate: [{
948
- type: Input
949
- }], hasLabels: [{
950
- type: Input
951
- }], hasSelectAll: [{
952
- type: Input
953
- }], hasSelectAllFiltered: [{
954
- type: Input
955
- }], isRecursiveParentSelection: [{
956
- type: Input
957
- }] } });
958
-
959
- class EuiUxTreeModule {
960
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
961
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeModule, declarations: [EuiUxTreeComponent, EuiUxTreeNodeComponent, EuiUxTreeToolbarComponent, EuiUxTreeToolbarFilterButtonsTagDirective], imports: [CommonModule,
962
- FormsModule,
963
- TranslateModule,
964
- ScrollingModule,
965
- EuiIconModule,
966
- EuiButtonModule,
967
- EuiChipModule,
968
- EuiInputTextModule,
969
- EuiInputGroupModule], exports: [EuiUxTreeComponent, EuiUxTreeNodeComponent, EuiUxTreeToolbarComponent, EuiUxTreeToolbarFilterButtonsTagDirective] }); }
970
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeModule, imports: [CommonModule,
971
- FormsModule,
972
- TranslateModule,
973
- ScrollingModule,
974
- EuiIconModule,
975
- EuiButtonModule,
976
- EuiChipModule,
977
- EuiInputTextModule,
978
- EuiInputGroupModule] }); }
979
- }
980
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EuiUxTreeModule, decorators: [{
981
- type: NgModule,
982
- args: [{
983
- imports: [
984
- CommonModule,
985
- FormsModule,
986
- TranslateModule,
987
- ScrollingModule,
988
- EuiIconModule,
989
- EuiButtonModule,
990
- EuiChipModule,
991
- EuiInputTextModule,
992
- EuiInputGroupModule,
993
- ],
994
- declarations: [EuiUxTreeComponent, EuiUxTreeNodeComponent, EuiUxTreeToolbarComponent, EuiUxTreeToolbarFilterButtonsTagDirective],
995
- exports: [EuiUxTreeComponent, EuiUxTreeNodeComponent, EuiUxTreeToolbarComponent, EuiUxTreeToolbarFilterButtonsTagDirective],
996
- }]
997
- }] });
998
-
999
- /**
1000
- * Generated bundle index. Do not edit.
1001
- */
1002
-
1003
- export { EuiUxTreeComponent, EuiUxTreeModule, EuiUxTreeNodeComponent, EuiUxTreeToolbarComponent, EuiUxTreeToolbarFilterButtonsTagDirective };
1004
- //# sourceMappingURL=eui-components-eui-ux-tree.mjs.map