@sme.up/ketchup 9.2.0 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (690) hide show
  1. package/dist/cjs/bar.helpers-f46a5a83.js +372 -0
  2. package/dist/cjs/f-button-4caf541a.js +105 -0
  3. package/dist/cjs/{f-button-declarations-3fd791a8.js → f-button-declarations-51ef6d9a.js} +5 -5
  4. package/dist/cjs/f-cell-979c26ea.js +670 -0
  5. package/dist/cjs/f-checkbox-41864e53.js +29 -0
  6. package/dist/cjs/f-chip-8957940b.js +133 -0
  7. package/dist/cjs/f-image-e16fe10d.js +115 -0
  8. package/dist/cjs/f-paginator-utils-f2dd0322.js +1577 -0
  9. package/dist/cjs/f-text-field-2fac8078.js +216 -0
  10. package/dist/cjs/{f-text-field-mdc-4fda9705.js → f-text-field-mdc-08a06162.js} +19 -19
  11. package/dist/cjs/{index-d8e5eb5f.js → index-8f2f4159.js} +27 -7
  12. package/dist/cjs/index.cjs.js +4 -3
  13. package/dist/cjs/ketchup.cjs.js +3 -3
  14. package/dist/cjs/kup-accordion.cjs.entry.js +182 -181
  15. package/dist/cjs/kup-autocomplete_27.cjs.entry.js +14562 -14561
  16. package/dist/cjs/kup-box.cjs.entry.js +1231 -1230
  17. package/dist/cjs/kup-calendar.cjs.entry.js +376 -375
  18. package/dist/cjs/kup-card-list.cjs.entry.js +233 -232
  19. package/dist/cjs/kup-cell.cjs.entry.js +153 -152
  20. package/dist/cjs/kup-custom-task-list-header_4.cjs.entry.js +1317 -0
  21. package/dist/cjs/kup-dashboard.cjs.entry.js +369 -368
  22. package/dist/cjs/kup-dates-0e59b05d.js +782 -0
  23. package/dist/cjs/kup-drawer.cjs.entry.js +122 -121
  24. package/dist/cjs/kup-echart.cjs.entry.js +1192 -1191
  25. package/dist/cjs/kup-family-tree.cjs.entry.js +400 -399
  26. package/dist/cjs/kup-gantt_10.cjs.entry.js +1076 -0
  27. package/dist/cjs/kup-grid.cjs.entry.js +82 -81
  28. package/dist/cjs/kup-iframe.cjs.entry.js +80 -79
  29. package/dist/cjs/kup-image-list.cjs.entry.js +224 -223
  30. package/dist/cjs/kup-lazy.cjs.entry.js +162 -161
  31. package/dist/cjs/kup-magic-box.cjs.entry.js +270 -269
  32. package/dist/cjs/{kup-manager-7334c396.js → kup-manager-c63f4fb9.js} +5770 -6516
  33. package/dist/cjs/kup-nav-bar.cjs.entry.js +110 -109
  34. package/dist/cjs/kup-numeric-picker.cjs.entry.js +352 -351
  35. package/dist/cjs/kup-photo-frame.cjs.entry.js +126 -125
  36. package/dist/cjs/kup-planner-declarations-d3dec885.js +93 -0
  37. package/dist/cjs/kup-planner-renderer-helper-c2394940.js +410 -0
  38. package/dist/cjs/kup-planner-renderer.cjs.entry.js +278 -0
  39. package/dist/cjs/kup-planner-time-formatter-a74e70f0.js +93 -0
  40. package/dist/cjs/kup-planner.cjs.entry.js +718 -13596
  41. package/dist/cjs/kup-probe.cjs.entry.js +228 -227
  42. package/dist/cjs/kup-qlik.cjs.entry.js +126 -125
  43. package/dist/cjs/kup-snackbar.cjs.entry.js +102 -101
  44. package/dist/cjs/loader.cjs.js +2 -2
  45. package/dist/collection/assets/index.js +16 -0
  46. package/dist/collection/assets/planner-example-1.js +6337 -0
  47. package/dist/collection/assets/planner-example-2.js +5650 -0
  48. package/dist/collection/assets/planner-example-3.js +6548 -0
  49. package/dist/collection/assets/planner-example-4.js +28473 -0
  50. package/dist/collection/assets/planner.js +3255 -4900
  51. package/dist/collection/collection-manifest.json +16 -1
  52. package/dist/collection/components/kup-accordion/kup-accordion-declarations.js +3 -3
  53. package/dist/collection/components/kup-accordion/kup-accordion.js +423 -423
  54. package/dist/collection/components/kup-autocomplete/kup-autocomplete-declarations.js +14 -14
  55. package/dist/collection/components/kup-autocomplete/kup-autocomplete.js +882 -882
  56. package/dist/collection/components/kup-badge/kup-badge-declarations.js +3 -3
  57. package/dist/collection/components/kup-badge/kup-badge.js +262 -262
  58. package/dist/collection/components/kup-box/kup-box-declarations.js +26 -26
  59. package/dist/collection/components/kup-box/kup-box-state.js +13 -13
  60. package/dist/collection/components/kup-box/kup-box.js +2068 -2068
  61. package/dist/collection/components/kup-button/kup-button-declarations.js +11 -11
  62. package/dist/collection/components/kup-button/kup-button.js +560 -560
  63. package/dist/collection/components/kup-button-list/kup-button-list-declarations.js +6 -6
  64. package/dist/collection/components/kup-button-list/kup-button-list.e2e.js +141 -141
  65. package/dist/collection/components/kup-button-list/kup-button-list.js +497 -497
  66. package/dist/collection/components/kup-calendar/kup-calendar-declarations.js +17 -17
  67. package/dist/collection/components/kup-calendar/kup-calendar.js +681 -681
  68. package/dist/collection/components/kup-card/box/kup-card-box.js +161 -161
  69. package/dist/collection/components/kup-card/built-in/kup-card-built-in.js +6 -6
  70. package/dist/collection/components/kup-card/built-in/kup-card-calendar.js +324 -324
  71. package/dist/collection/components/kup-card/built-in/kup-card-clock.js +250 -250
  72. package/dist/collection/components/kup-card/built-in/kup-card-column-drop-menu.js +141 -141
  73. package/dist/collection/components/kup-card/built-in/kup-card-message-box.js +3 -3
  74. package/dist/collection/components/kup-card/built-in/kup-card-numeric.js +98 -98
  75. package/dist/collection/components/kup-card/collapsible/kup-card-collapsible.js +44 -44
  76. package/dist/collection/components/kup-card/dialog/kup-card-dialog.js +135 -135
  77. package/dist/collection/components/kup-card/free/kup-card-free.js +6 -6
  78. package/dist/collection/components/kup-card/kup-card-declarations.js +53 -53
  79. package/dist/collection/components/kup-card/kup-card-helper.js +155 -155
  80. package/dist/collection/components/kup-card/kup-card.js +767 -767
  81. package/dist/collection/components/kup-card/scalable/kup-card-scalable.js +174 -174
  82. package/dist/collection/components/kup-card/standard/kup-card-standard.js +474 -474
  83. package/dist/collection/components/kup-card-list/kup-card-list-declarations.js +16 -16
  84. package/dist/collection/components/kup-card-list/kup-card-list.js +676 -676
  85. package/dist/collection/components/kup-cell/kup-cell-declarations.js +4 -4
  86. package/dist/collection/components/kup-cell/kup-cell.js +382 -382
  87. package/dist/collection/components/kup-chart/kup-chart-builder.js +80 -80
  88. package/dist/collection/components/kup-chart/kup-chart-declarations.js +36 -36
  89. package/dist/collection/components/kup-chart/kup-chart.js +1043 -1043
  90. package/dist/collection/components/kup-checkbox/kup-checkbox-declarations.js +6 -6
  91. package/dist/collection/components/kup-checkbox/kup-checkbox.js +417 -417
  92. package/dist/collection/components/kup-chip/kup-chip-declarations.js +5 -5
  93. package/dist/collection/components/kup-chip/kup-chip.js +538 -538
  94. package/dist/collection/components/kup-color-picker/kup-color-picker-declarations.js +5 -5
  95. package/dist/collection/components/kup-color-picker/kup-color-picker.js +511 -511
  96. package/dist/collection/components/kup-combobox/kup-combobox-declarations.js +8 -8
  97. package/dist/collection/components/kup-combobox/kup-combobox.js +796 -796
  98. package/dist/collection/components/kup-dashboard/kup-dashboard-declarations.js +3 -3
  99. package/dist/collection/components/kup-dashboard/kup-dashboard.js +562 -562
  100. package/dist/collection/components/kup-data-table/kup-data-table-declarations.js +95 -95
  101. package/dist/collection/components/kup-data-table/kup-data-table-helper.js +729 -729
  102. package/dist/collection/components/kup-data-table/kup-data-table-state.js +33 -33
  103. package/dist/collection/components/kup-data-table/kup-data-table.js +5398 -5398
  104. package/dist/collection/components/kup-date-picker/kup-date-picker-declarations.js +8 -8
  105. package/dist/collection/components/kup-date-picker/kup-date-picker.js +796 -796
  106. package/dist/collection/components/kup-dialog/kup-dialog-declarations.js +7 -7
  107. package/dist/collection/components/kup-dialog/kup-dialog.js +451 -451
  108. package/dist/collection/components/kup-drawer/kup-drawer-declarations.js +2 -2
  109. package/dist/collection/components/kup-drawer/kup-drawer.e2e.js +6 -6
  110. package/dist/collection/components/kup-drawer/kup-drawer.js +374 -374
  111. package/dist/collection/components/kup-dropdown-button/kup-dropdown-button-declarations.js +11 -11
  112. package/dist/collection/components/kup-dropdown-button/kup-dropdown-button.js +776 -776
  113. package/dist/collection/components/kup-echart/kup-echart-declarations.js +40 -40
  114. package/dist/collection/components/kup-echart/kup-echart.js +1606 -1606
  115. package/dist/collection/components/kup-family-tree/kup-family-tree-declarations.js +8 -8
  116. package/dist/collection/components/kup-family-tree/kup-family-tree.js +789 -789
  117. package/dist/collection/components/kup-form/kup-form-declarations.js +16 -16
  118. package/dist/collection/components/kup-form/kup-form.js +694 -694
  119. package/dist/collection/components/kup-gauge/kup-gauge-declarations.js +19 -19
  120. package/dist/collection/components/kup-gauge/kup-gauge.js +730 -730
  121. package/dist/collection/components/kup-grid/kup-grid-declarations.js +3 -3
  122. package/dist/collection/components/kup-grid/kup-grid.js +238 -238
  123. package/dist/collection/components/kup-iframe/kup-iframe-declarations.js +3 -3
  124. package/dist/collection/components/kup-iframe/kup-iframe.js +268 -268
  125. package/dist/collection/components/kup-image/canvas/kup-image-canvas-declarations.js +167 -167
  126. package/dist/collection/components/kup-image/canvas/kup-image-canvas-helper.js +16 -16
  127. package/dist/collection/components/kup-image/canvas/kup-image-canvas.js +221 -221
  128. package/dist/collection/components/kup-image/kup-image-declarations.js +9 -9
  129. package/dist/collection/components/kup-image/kup-image.js +471 -471
  130. package/dist/collection/components/kup-image-list/kup-image-list-declarations.js +3 -3
  131. package/dist/collection/components/kup-image-list/kup-image-list-state.js +7 -7
  132. package/dist/collection/components/kup-image-list/kup-image-list.js +502 -502
  133. package/dist/collection/components/kup-lazy/kup-lazy-declarations.js +7 -7
  134. package/dist/collection/components/kup-lazy/kup-lazy.js +417 -417
  135. package/dist/collection/components/kup-list/kup-list-declarations.js +18 -18
  136. package/dist/collection/components/kup-list/kup-list-helper.js +105 -105
  137. package/dist/collection/components/kup-list/kup-list.js +914 -914
  138. package/dist/collection/components/kup-magic-box/kup-magic-box-declarations.js +10 -10
  139. package/dist/collection/components/kup-magic-box/kup-magic-box.js +405 -405
  140. package/dist/collection/components/kup-nav-bar/kup-nav-bar-declarations.js +7 -7
  141. package/dist/collection/components/kup-nav-bar/kup-nav-bar.js +304 -304
  142. package/dist/collection/components/kup-numeric-picker/kup-numeric-picker-declarations.js +9 -9
  143. package/dist/collection/components/kup-numeric-picker/kup-numeric-picker.js +847 -847
  144. package/dist/collection/components/kup-photo-frame/kup-photo-frame-declarations.js +3 -3
  145. package/dist/collection/components/kup-photo-frame/kup-photo-frame.js +359 -359
  146. package/dist/collection/components/kup-planner/kup-planner-declarations.js +69 -66
  147. package/dist/collection/components/kup-planner/kup-planner-helper.js +39 -39
  148. package/dist/collection/components/kup-planner/kup-planner-state.js +14 -14
  149. package/dist/collection/components/kup-planner/kup-planner.css +4 -482
  150. package/dist/collection/components/kup-planner/kup-planner.js +1777 -1675
  151. package/dist/collection/components/kup-planner/utils/custom-task-list-header.js +117 -0
  152. package/dist/collection/components/kup-planner/utils/custom-task-list-header.module.css +79 -0
  153. package/dist/collection/components/kup-planner/utils/custom-task-list-table.js +280 -0
  154. package/dist/collection/components/kup-planner/utils/custom-tool-tip.js +5 -0
  155. package/dist/collection/components/kup-planner/utils/gantt-table.module.css +88 -0
  156. package/dist/collection/components/kup-planner/utils/helpers/bar.helpers.js +328 -0
  157. package/dist/collection/components/kup-planner/utils/helpers/other.helpers.js +48 -0
  158. package/dist/collection/components/kup-planner/utils/kup-gantt/kup-gantt.css +40 -0
  159. package/dist/collection/components/kup-planner/utils/kup-gantt/kup-gantt.js +2302 -0
  160. package/dist/collection/components/kup-planner/utils/kup-gantt-calendar/kup-gantt-calendar.css +31 -0
  161. package/dist/collection/components/kup-planner/utils/kup-gantt-calendar/kup-gantt-calendar.js +466 -0
  162. package/dist/collection/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.css +60 -0
  163. package/dist/collection/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.js +1186 -0
  164. package/dist/collection/components/kup-planner/utils/kup-horizontal-scroll/kup-horizontal-scroll.css +36 -0
  165. package/dist/collection/components/kup-planner/utils/kup-horizontal-scroll/kup-horizontal-scroll.js +177 -0
  166. package/dist/collection/components/kup-planner/utils/kup-planner-adapted-types.js +1 -0
  167. package/dist/collection/components/kup-planner/utils/kup-planner-renderer-helper.js +396 -0
  168. package/dist/collection/components/kup-planner/utils/kup-planner-renderer.js +321 -0
  169. package/dist/collection/components/kup-planner/utils/kup-planner-time-formatter.js +87 -0
  170. package/dist/collection/components/kup-planner/utils/kup-switcher/kup-switcher.css +30 -0
  171. package/dist/collection/components/kup-planner/utils/kup-switcher/kup-switcher.js +49 -0
  172. package/dist/collection/components/kup-planner/utils/kup-task-gantt/kup-task-gantt.js +215 -0
  173. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list-header.js +112 -0
  174. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list-table.js +226 -0
  175. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list.css +67 -0
  176. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list.js +638 -0
  177. package/dist/collection/components/kup-planner/utils/kup-tooltip/kup-standard-tooltip.js +82 -0
  178. package/dist/collection/components/kup-planner/utils/kup-tooltip/kup-tooltip.css +30 -0
  179. package/dist/collection/components/kup-planner/utils/kup-tooltip/kup-tooltip.js +362 -0
  180. package/dist/collection/components/kup-planner/utils/kup-vertical-scroll/kup-vertical-scroll.css +31 -0
  181. package/dist/collection/components/kup-planner/utils/kup-vertical-scroll/kup-vertical-scroll.js +170 -0
  182. package/dist/collection/components/kup-probe/kup-probe.js +335 -335
  183. package/dist/collection/components/kup-progress-bar/kup-progress-bar-declarations.js +7 -7
  184. package/dist/collection/components/kup-progress-bar/kup-progress-bar.js +346 -346
  185. package/dist/collection/components/kup-qlik/kup-qlik.js +311 -311
  186. package/dist/collection/components/kup-radio/kup-radio-declarations.js +5 -5
  187. package/dist/collection/components/kup-radio/kup-radio.js +392 -392
  188. package/dist/collection/components/kup-rating/kup-rating-declarations.js +4 -4
  189. package/dist/collection/components/kup-rating/kup-rating.js +296 -296
  190. package/dist/collection/components/kup-snackbar/kup-snackbar-declarations.js +5 -5
  191. package/dist/collection/components/kup-snackbar/kup-snackbar.js +380 -380
  192. package/dist/collection/components/kup-spinner/kup-spinner-declarations.js +8 -8
  193. package/dist/collection/components/kup-spinner/kup-spinner.js +449 -449
  194. package/dist/collection/components/kup-state/mock-store.js +10 -10
  195. package/dist/collection/components/kup-switch/kup-switch-declarations.js +5 -5
  196. package/dist/collection/components/kup-switch/kup-switch.js +387 -387
  197. package/dist/collection/components/kup-tab-bar/kup-tab-bar-declarations.js +3 -3
  198. package/dist/collection/components/kup-tab-bar/kup-tab-bar.js +423 -423
  199. package/dist/collection/components/kup-text-field/kup-text-field-declarations.js +30 -30
  200. package/dist/collection/components/kup-text-field/kup-text-field.js +1220 -1220
  201. package/dist/collection/components/kup-time-picker/kup-time-picker-declarations.js +7 -7
  202. package/dist/collection/components/kup-time-picker/kup-time-picker.js +914 -914
  203. package/dist/collection/components/kup-tree/kup-tree-declarations.js +28 -28
  204. package/dist/collection/components/kup-tree/kup-tree-faker.js +233 -233
  205. package/dist/collection/components/kup-tree/kup-tree-state.js +13 -13
  206. package/dist/collection/components/kup-tree/kup-tree.js +2424 -2424
  207. package/dist/collection/f-components/f-button/f-button-declarations.js +5 -5
  208. package/dist/collection/f-components/f-button/f-button.js +76 -76
  209. package/dist/collection/f-components/f-cell/f-cell-declarations.js +125 -125
  210. package/dist/collection/f-components/f-cell/f-cell.js +407 -407
  211. package/dist/collection/f-components/f-checkbox/f-checkbox.js +10 -10
  212. package/dist/collection/f-components/f-chip/f-chip-declarations.js +4 -4
  213. package/dist/collection/f-components/f-chip/f-chip.js +82 -82
  214. package/dist/collection/f-components/f-image/f-image-declarations.js +1 -1
  215. package/dist/collection/f-components/f-image/f-image.js +79 -79
  216. package/dist/collection/f-components/f-paginator/f-paginator-declarations.js +2 -2
  217. package/dist/collection/f-components/f-paginator/f-paginator-utils.js +21 -21
  218. package/dist/collection/f-components/f-paginator/f-paginator.js +65 -65
  219. package/dist/collection/f-components/f-progress-bar/f-progress-bar.js +70 -70
  220. package/dist/collection/f-components/f-radio/f-radio.js +21 -21
  221. package/dist/collection/f-components/f-rating/f-rating.js +17 -17
  222. package/dist/collection/f-components/f-switch/f-switch.js +6 -6
  223. package/dist/collection/f-components/f-text-field/f-text-field-mdc.js +19 -19
  224. package/dist/collection/f-components/f-text-field/f-text-field.js +165 -165
  225. package/dist/collection/index.js +1 -1
  226. package/dist/collection/managers/kup-data/kup-data-cell-helper.js +47 -47
  227. package/dist/collection/managers/kup-data/kup-data-column-helper.js +220 -220
  228. package/dist/collection/managers/kup-data/kup-data-declarations.js +4 -4
  229. package/dist/collection/managers/kup-data/kup-data-node-helper.js +107 -107
  230. package/dist/collection/managers/kup-data/kup-data-row-helper.js +11 -11
  231. package/dist/collection/managers/kup-data/kup-data.js +468 -468
  232. package/dist/collection/managers/kup-dates/kup-dates-declarations.js +19 -19
  233. package/dist/collection/managers/kup-dates/kup-dates.js +637 -605
  234. package/dist/collection/managers/kup-debug/kup-debug-declarations.js +8 -8
  235. package/dist/collection/managers/kup-debug/kup-debug.js +626 -626
  236. package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position-declarations.js +9 -9
  237. package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position.js +232 -232
  238. package/dist/collection/managers/kup-interact/kup-interact-declarations.js +11 -11
  239. package/dist/collection/managers/kup-interact/kup-interact.js +374 -374
  240. package/dist/collection/managers/kup-language/kup-language-declarations.js +127 -127
  241. package/dist/collection/managers/kup-language/kup-language.js +132 -132
  242. package/dist/collection/managers/kup-manager/kup-manager.js +257 -257
  243. package/dist/collection/managers/kup-math/kup-math-declarations.js +7 -7
  244. package/dist/collection/managers/kup-math/kup-math-helper.js +19 -19
  245. package/dist/collection/managers/kup-math/kup-math.js +374 -374
  246. package/dist/collection/managers/kup-objects/kup-objects.js +379 -379
  247. package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.js +4 -4
  248. package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover.js +301 -301
  249. package/dist/collection/managers/kup-search/kup-search.js +65 -65
  250. package/dist/collection/managers/kup-theme/kup-theme-declarations.js +134 -134
  251. package/dist/collection/managers/kup-theme/kup-theme.js +696 -696
  252. package/dist/collection/managers/kup-toolbar/kup-toolbar-declarations.js +3 -3
  253. package/dist/collection/managers/kup-toolbar/kup-toolbar.js +93 -93
  254. package/dist/collection/managers/kup-tooltip/kup-tooltip.js +198 -198
  255. package/dist/collection/types/GenericTypes.js +47 -47
  256. package/dist/collection/utils/cell-utils.js +115 -115
  257. package/dist/collection/utils/filters/filters-column-menu.js +339 -339
  258. package/dist/collection/utils/filters/filters-declarations.js +4 -4
  259. package/dist/collection/utils/filters/filters-rows.js +215 -215
  260. package/dist/collection/utils/filters/filters-tree-items.js +96 -96
  261. package/dist/collection/utils/filters/filters.js +257 -257
  262. package/dist/collection/utils/kup-column-menu/kup-column-menu-declarations.js +14 -14
  263. package/dist/collection/utils/kup-column-menu/kup-column-menu.js +710 -710
  264. package/dist/collection/utils/utils.js +37 -37
  265. package/dist/components/custom-task-list-header.js +44 -0
  266. package/dist/components/custom-task-list-table.js +121 -0
  267. package/dist/components/index.js +1 -1
  268. package/dist/components/kup-accordion.d.ts +2 -2
  269. package/dist/components/kup-accordion.js +331 -331
  270. package/dist/components/kup-autocomplete.d.ts +2 -2
  271. package/dist/components/kup-autocomplete2.js +21534 -21533
  272. package/dist/components/kup-badge.d.ts +2 -2
  273. package/dist/components/kup-box.d.ts +2 -2
  274. package/dist/components/kup-box2.js +1416 -1416
  275. package/dist/components/kup-button-list.d.ts +2 -2
  276. package/dist/components/kup-button.d.ts +2 -2
  277. package/dist/components/kup-calendar.d.ts +2 -2
  278. package/dist/components/kup-calendar.js +534 -533
  279. package/dist/components/kup-card-list.d.ts +2 -2
  280. package/dist/components/kup-card-list.js +401 -401
  281. package/dist/components/kup-card.d.ts +2 -2
  282. package/dist/components/kup-cell.d.ts +2 -2
  283. package/dist/components/kup-cell.js +303 -303
  284. package/dist/components/kup-chart.d.ts +2 -2
  285. package/dist/components/kup-checkbox.d.ts +2 -2
  286. package/dist/components/kup-chip.d.ts +2 -2
  287. package/dist/components/kup-color-picker.d.ts +2 -2
  288. package/dist/components/kup-combobox.d.ts +2 -2
  289. package/dist/components/kup-custom-task-list-header.d.ts +11 -0
  290. package/dist/components/kup-custom-task-list-header.js +6 -0
  291. package/dist/components/kup-custom-task-list-table.d.ts +11 -0
  292. package/dist/components/kup-custom-task-list-table.js +6 -0
  293. package/dist/components/kup-dashboard.d.ts +2 -2
  294. package/dist/components/kup-dashboard.js +520 -520
  295. package/dist/components/kup-data-table.d.ts +2 -2
  296. package/dist/components/kup-date-picker.d.ts +2 -2
  297. package/dist/components/kup-dates.js +777 -0
  298. package/dist/components/kup-dialog.d.ts +2 -2
  299. package/dist/components/kup-drawer.d.ts +2 -2
  300. package/dist/components/kup-drawer.js +278 -278
  301. package/dist/components/kup-dropdown-button.d.ts +2 -2
  302. package/dist/components/kup-echart.d.ts +2 -2
  303. package/dist/components/kup-echart2.js +1358 -1358
  304. package/dist/components/kup-family-tree.d.ts +2 -2
  305. package/dist/components/kup-family-tree.js +564 -564
  306. package/dist/components/kup-form.d.ts +2 -2
  307. package/dist/components/kup-gantt-calendar.d.ts +11 -0
  308. package/dist/components/kup-gantt-calendar.js +6 -0
  309. package/dist/components/kup-gantt-calendar2.js +323 -0
  310. package/dist/components/kup-gantt.d.ts +11 -0
  311. package/dist/components/kup-gantt.js +6 -0
  312. package/dist/components/kup-gantt2.js +822 -0
  313. package/dist/components/kup-gauge.d.ts +2 -2
  314. package/dist/components/kup-grid-renderer.d.ts +11 -0
  315. package/dist/components/kup-grid-renderer.js +6 -0
  316. package/dist/components/kup-grid-renderer2.js +1416 -0
  317. package/dist/components/kup-grid.d.ts +2 -2
  318. package/dist/components/kup-grid2.js +236 -236
  319. package/dist/components/kup-horizontal-scroll.d.ts +11 -0
  320. package/dist/components/kup-horizontal-scroll.js +6 -0
  321. package/dist/components/kup-horizontal-scroll2.js +77 -0
  322. package/dist/components/kup-iframe.d.ts +2 -2
  323. package/dist/components/kup-iframe.js +234 -234
  324. package/dist/components/kup-image-list.d.ts +2 -2
  325. package/dist/components/kup-image-list.js +377 -377
  326. package/dist/components/kup-image.d.ts +2 -2
  327. package/dist/components/kup-lazy.d.ts +2 -2
  328. package/dist/components/kup-lazy.js +319 -319
  329. package/dist/components/kup-list.d.ts +2 -2
  330. package/dist/components/kup-magic-box.d.ts +2 -2
  331. package/dist/components/kup-magic-box.js +432 -432
  332. package/dist/components/kup-manager.js +5748 -6491
  333. package/dist/components/kup-nav-bar.d.ts +2 -2
  334. package/dist/components/kup-nav-bar.js +263 -263
  335. package/dist/components/kup-numeric-picker.d.ts +2 -2
  336. package/dist/components/kup-numeric-picker.js +514 -514
  337. package/dist/components/kup-photo-frame.d.ts +2 -2
  338. package/dist/components/kup-photo-frame.js +281 -281
  339. package/dist/components/kup-planner-renderer-helper.js +399 -0
  340. package/dist/components/kup-planner-renderer.d.ts +11 -0
  341. package/dist/components/kup-planner-renderer.js +6 -0
  342. package/dist/components/kup-planner-renderer2.js +390 -0
  343. package/dist/components/kup-planner.d.ts +2 -2
  344. package/dist/components/kup-planner.js +1005 -13792
  345. package/dist/components/kup-probe.d.ts +2 -2
  346. package/dist/components/kup-probe.js +379 -379
  347. package/dist/components/kup-progress-bar.d.ts +2 -2
  348. package/dist/components/kup-qlik.d.ts +2 -2
  349. package/dist/components/kup-qlik.js +282 -282
  350. package/dist/components/kup-radio.d.ts +2 -2
  351. package/dist/components/kup-rating.d.ts +2 -2
  352. package/dist/components/kup-snackbar.d.ts +2 -2
  353. package/dist/components/kup-snackbar.js +257 -257
  354. package/dist/components/kup-spinner.d.ts +2 -2
  355. package/dist/components/kup-standard-tooltip.d.ts +11 -0
  356. package/dist/components/kup-standard-tooltip.js +6 -0
  357. package/dist/components/kup-standard-tooltip2.js +37 -0
  358. package/dist/components/kup-switch.d.ts +2 -2
  359. package/dist/components/kup-switcher.d.ts +11 -0
  360. package/dist/components/kup-switcher.js +6 -0
  361. package/dist/components/kup-switcher2.js +36 -0
  362. package/dist/components/kup-tab-bar.d.ts +2 -2
  363. package/dist/components/kup-task-gantt.d.ts +11 -0
  364. package/dist/components/kup-task-gantt.js +6 -0
  365. package/dist/components/kup-task-gantt2.js +91 -0
  366. package/dist/components/kup-task-list-header.d.ts +11 -0
  367. package/dist/components/kup-task-list-header.js +6 -0
  368. package/dist/components/kup-task-list-header2.js +55 -0
  369. package/dist/components/kup-task-list-table.d.ts +11 -0
  370. package/dist/components/kup-task-list-table.js +6 -0
  371. package/dist/components/kup-task-list-table2.js +79 -0
  372. package/dist/components/kup-task-list.d.ts +11 -0
  373. package/dist/components/kup-task-list.js +6 -0
  374. package/dist/components/kup-task-list2.js +260 -0
  375. package/dist/components/kup-text-field.d.ts +2 -2
  376. package/dist/components/kup-time-picker.d.ts +2 -2
  377. package/dist/components/kup-tooltip.d.ts +11 -0
  378. package/dist/components/kup-tooltip.js +6 -0
  379. package/dist/components/kup-tooltip2.js +127 -0
  380. package/dist/components/kup-tree.d.ts +2 -2
  381. package/dist/components/kup-vertical-scroll.d.ts +11 -0
  382. package/dist/components/kup-vertical-scroll.js +6 -0
  383. package/dist/components/kup-vertical-scroll2.js +77 -0
  384. package/dist/esm/bar.helpers-0898efb9.js +363 -0
  385. package/dist/esm/f-button-5ccc2e50.js +103 -0
  386. package/dist/esm/{f-button-declarations-8a009df1.js → f-button-declarations-9bdc6f26.js} +5 -5
  387. package/dist/esm/f-cell-6f4290b2.js +664 -0
  388. package/dist/esm/f-checkbox-43481de2.js +27 -0
  389. package/dist/esm/f-chip-465aa432.js +131 -0
  390. package/dist/esm/f-image-c5063342.js +113 -0
  391. package/dist/esm/f-paginator-utils-6903534b.js +1564 -0
  392. package/dist/esm/f-text-field-28b2b26d.js +214 -0
  393. package/dist/esm/{f-text-field-mdc-1143cf21.js → f-text-field-mdc-c88bf688.js} +19 -19
  394. package/dist/esm/{index-99c17b08.js → index-59f83f91.js} +27 -8
  395. package/dist/esm/index.js +4 -3
  396. package/dist/esm/ketchup.js +4 -4
  397. package/dist/esm/kup-accordion.entry.js +182 -181
  398. package/dist/esm/kup-autocomplete_27.entry.js +14562 -14561
  399. package/dist/esm/kup-box.entry.js +1231 -1230
  400. package/dist/esm/kup-calendar.entry.js +376 -375
  401. package/dist/esm/kup-card-list.entry.js +233 -232
  402. package/dist/esm/kup-cell.entry.js +153 -152
  403. package/dist/esm/kup-custom-task-list-header_4.entry.js +1310 -0
  404. package/dist/esm/kup-dashboard.entry.js +369 -368
  405. package/dist/esm/kup-dates-15f89ea2.js +777 -0
  406. package/dist/esm/kup-drawer.entry.js +122 -121
  407. package/dist/esm/kup-echart.entry.js +1192 -1191
  408. package/dist/esm/kup-family-tree.entry.js +400 -399
  409. package/dist/esm/kup-gantt_10.entry.js +1063 -0
  410. package/dist/esm/kup-grid.entry.js +82 -81
  411. package/dist/esm/kup-iframe.entry.js +80 -79
  412. package/dist/esm/kup-image-list.entry.js +224 -223
  413. package/dist/esm/kup-lazy.entry.js +162 -161
  414. package/dist/esm/kup-magic-box.entry.js +270 -269
  415. package/dist/esm/{kup-manager-9a9d2dbb.js → kup-manager-bfea4e6f.js} +5749 -6492
  416. package/dist/esm/kup-nav-bar.entry.js +110 -109
  417. package/dist/esm/kup-numeric-picker.entry.js +352 -351
  418. package/dist/esm/kup-photo-frame.entry.js +126 -125
  419. package/dist/esm/kup-planner-declarations-b9345758.js +88 -0
  420. package/dist/esm/kup-planner-renderer-helper-2143d119.js +399 -0
  421. package/dist/esm/kup-planner-renderer.entry.js +274 -0
  422. package/dist/esm/kup-planner-time-formatter-a68e05ba.js +89 -0
  423. package/dist/esm/kup-planner.entry.js +718 -13596
  424. package/dist/esm/kup-probe.entry.js +228 -227
  425. package/dist/esm/kup-qlik.entry.js +126 -125
  426. package/dist/esm/kup-snackbar.entry.js +102 -101
  427. package/dist/esm/loader.js +3 -3
  428. package/dist/ketchup/index.esm.js +1 -1
  429. package/dist/ketchup/ketchup.esm.js +1 -1
  430. package/dist/ketchup/p-01a0b54c.js +1 -0
  431. package/dist/ketchup/{p-6a7df3d2.js → p-097500fe.js} +1 -1
  432. package/dist/ketchup/p-0cb5e9ae.entry.js +1 -0
  433. package/dist/ketchup/p-0f91d4de.entry.js +1 -0
  434. package/dist/ketchup/p-1872c92e.entry.js +1 -0
  435. package/dist/ketchup/p-20aa95ae.entry.js +1 -0
  436. package/dist/ketchup/{p-4e696daf.js → p-21c640a5.js} +1 -1
  437. package/dist/ketchup/p-4bc3b3a6.js +29 -0
  438. package/dist/ketchup/{p-ea56edbe.js → p-4c1ec006.js} +1 -1
  439. package/dist/ketchup/p-51f9b230.entry.js +1 -0
  440. package/dist/ketchup/p-612b46da.entry.js +1 -0
  441. package/dist/ketchup/p-69287f4a.entry.js +1 -0
  442. package/dist/ketchup/p-71acfd3c.entry.js +1 -0
  443. package/dist/ketchup/p-7a72c4fa.entry.js +1 -0
  444. package/dist/ketchup/p-7c5a1357.entry.js +1 -0
  445. package/dist/ketchup/p-829d7060.entry.js +1 -0
  446. package/dist/ketchup/p-84be8f0b.js +1 -0
  447. package/dist/ketchup/p-85279516.entry.js +9 -0
  448. package/dist/ketchup/p-8591ac0b.entry.js +1 -0
  449. package/dist/ketchup/p-8c3ad5ef.entry.js +1 -0
  450. package/dist/ketchup/p-8e180c01.entry.js +1 -0
  451. package/dist/ketchup/p-8e3b6de8.js +1 -0
  452. package/dist/ketchup/p-8ecdd076.entry.js +1 -0
  453. package/dist/ketchup/p-903d1b10.entry.js +1 -0
  454. package/dist/ketchup/p-924b841b.js +1 -0
  455. package/dist/ketchup/p-95272714.entry.js +1 -0
  456. package/dist/ketchup/p-b07ffd18.entry.js +16 -0
  457. package/dist/ketchup/p-c23731ca.js +1 -0
  458. package/dist/ketchup/p-cd9a4274.js +2 -0
  459. package/dist/ketchup/{p-34e4a985.js → p-ce9ef2d5.js} +1 -1
  460. package/dist/ketchup/{p-f1f82eef.entry.js → p-d7b8295a.entry.js} +1 -1
  461. package/dist/ketchup/p-db93bc06.entry.js +1 -0
  462. package/dist/ketchup/p-e46470a6.entry.js +1 -0
  463. package/dist/ketchup/p-e841c2ae.js +1 -0
  464. package/dist/ketchup/p-eae42bff.entry.js +1 -0
  465. package/dist/ketchup/p-ee6305f5.js +1 -0
  466. package/dist/ketchup/p-f1efab38.entry.js +1 -0
  467. package/dist/ketchup/p-f2df4ce9.entry.js +1 -0
  468. package/dist/ketchup/{p-7a876328.js → p-f51dbf68.js} +1 -1
  469. package/dist/types/components/kup-accordion/kup-accordion-declarations.d.ts +5 -5
  470. package/dist/types/components/kup-accordion/kup-accordion.d.ts +75 -75
  471. package/dist/types/components/kup-autocomplete/kup-autocomplete-declarations.d.ts +18 -18
  472. package/dist/types/components/kup-autocomplete/kup-autocomplete.d.ts +113 -113
  473. package/dist/types/components/kup-badge/kup-badge-declarations.d.ts +3 -3
  474. package/dist/types/components/kup-badge/kup-badge.d.ts +47 -47
  475. package/dist/types/components/kup-box/kup-box-declarations.d.ts +70 -70
  476. package/dist/types/components/kup-box/kup-box-state.d.ts +7 -7
  477. package/dist/types/components/kup-box/kup-box.d.ts +262 -262
  478. package/dist/types/components/kup-button/kup-button-declarations.d.ts +12 -12
  479. package/dist/types/components/kup-button/kup-button.d.ts +105 -105
  480. package/dist/types/components/kup-button-list/kup-button-list-declarations.d.ts +11 -11
  481. package/dist/types/components/kup-button-list/kup-button-list.d.ts +75 -75
  482. package/dist/types/components/kup-calendar/kup-calendar-declarations.d.ts +32 -32
  483. package/dist/types/components/kup-calendar/kup-calendar.d.ts +100 -100
  484. package/dist/types/components/kup-card/kup-card-declarations.d.ts +123 -123
  485. package/dist/types/components/kup-card/kup-card.d.ts +154 -154
  486. package/dist/types/components/kup-card-list/kup-card-list-declarations.d.ts +20 -20
  487. package/dist/types/components/kup-card-list/kup-card-list.d.ts +107 -107
  488. package/dist/types/components/kup-cell/kup-cell-declarations.d.ts +4 -4
  489. package/dist/types/components/kup-cell/kup-cell.d.ts +62 -62
  490. package/dist/types/components/kup-chart/kup-chart-builder.d.ts +2 -2
  491. package/dist/types/components/kup-chart/kup-chart-declarations.d.ts +99 -99
  492. package/dist/types/components/kup-chart/kup-chart.d.ts +164 -164
  493. package/dist/types/components/kup-checkbox/kup-checkbox-declarations.d.ts +8 -8
  494. package/dist/types/components/kup-checkbox/kup-checkbox.d.ts +80 -80
  495. package/dist/types/components/kup-chip/kup-chip-declarations.d.ts +8 -8
  496. package/dist/types/components/kup-chip/kup-chip.d.ts +82 -82
  497. package/dist/types/components/kup-color-picker/kup-color-picker-declarations.d.ts +6 -6
  498. package/dist/types/components/kup-color-picker/kup-color-picker.d.ts +83 -83
  499. package/dist/types/components/kup-combobox/kup-combobox-declarations.d.ts +12 -12
  500. package/dist/types/components/kup-combobox/kup-combobox.d.ts +89 -89
  501. package/dist/types/components/kup-dashboard/kup-dashboard-declarations.d.ts +28 -28
  502. package/dist/types/components/kup-dashboard/kup-dashboard.d.ts +74 -74
  503. package/dist/types/components/kup-data-table/kup-data-table-declarations.d.ts +156 -156
  504. package/dist/types/components/kup-data-table/kup-data-table-helper.d.ts +2 -2
  505. package/dist/types/components/kup-data-table/kup-data-table-state.d.ts +31 -31
  506. package/dist/types/components/kup-data-table/kup-data-table.d.ts +441 -441
  507. package/dist/types/components/kup-date-picker/kup-date-picker-declarations.d.ts +9 -9
  508. package/dist/types/components/kup-date-picker/kup-date-picker.d.ts +105 -105
  509. package/dist/types/components/kup-dialog/kup-dialog-declarations.d.ts +12 -12
  510. package/dist/types/components/kup-dialog/kup-dialog.d.ts +72 -72
  511. package/dist/types/components/kup-drawer/kup-drawer-declarations.d.ts +2 -2
  512. package/dist/types/components/kup-drawer/kup-drawer.d.ts +70 -70
  513. package/dist/types/components/kup-dropdown-button/kup-dropdown-button-declarations.d.ts +12 -12
  514. package/dist/types/components/kup-dropdown-button/kup-dropdown-button.d.ts +154 -154
  515. package/dist/types/components/kup-echart/kup-echart-declarations.d.ts +48 -48
  516. package/dist/types/components/kup-echart/kup-echart.d.ts +103 -103
  517. package/dist/types/components/kup-family-tree/kup-family-tree-declarations.d.ts +20 -20
  518. package/dist/types/components/kup-family-tree/kup-family-tree.d.ts +82 -82
  519. package/dist/types/components/kup-form/kup-form-declarations.d.ts +40 -40
  520. package/dist/types/components/kup-form/kup-form.d.ts +78 -78
  521. package/dist/types/components/kup-gauge/kup-gauge-declarations.d.ts +19 -19
  522. package/dist/types/components/kup-gauge/kup-gauge.d.ts +144 -144
  523. package/dist/types/components/kup-grid/kup-grid-declarations.d.ts +3 -3
  524. package/dist/types/components/kup-grid/kup-grid.d.ts +45 -45
  525. package/dist/types/components/kup-iframe/kup-iframe-declarations.d.ts +3 -3
  526. package/dist/types/components/kup-iframe/kup-iframe.d.ts +45 -45
  527. package/dist/types/components/kup-image/canvas/kup-image-canvas-declarations.d.ts +19 -19
  528. package/dist/types/components/kup-image/canvas/kup-image-canvas.d.ts +25 -25
  529. package/dist/types/components/kup-image/kup-image-declarations.d.ts +10 -10
  530. package/dist/types/components/kup-image/kup-image.d.ts +96 -96
  531. package/dist/types/components/kup-image-list/kup-image-list-declarations.d.ts +4 -4
  532. package/dist/types/components/kup-image-list/kup-image-list-state.d.ts +3 -3
  533. package/dist/types/components/kup-image-list/kup-image-list.d.ts +64 -64
  534. package/dist/types/components/kup-lazy/kup-lazy-declarations.d.ts +7 -7
  535. package/dist/types/components/kup-lazy/kup-lazy.d.ts +73 -73
  536. package/dist/types/components/kup-list/kup-list-declarations.d.ts +23 -23
  537. package/dist/types/components/kup-list/kup-list.d.ts +122 -122
  538. package/dist/types/components/kup-magic-box/kup-magic-box-declarations.d.ts +10 -10
  539. package/dist/types/components/kup-magic-box/kup-magic-box.d.ts +60 -60
  540. package/dist/types/components/kup-nav-bar/kup-nav-bar-declarations.d.ts +7 -7
  541. package/dist/types/components/kup-nav-bar/kup-nav-bar.d.ts +60 -60
  542. package/dist/types/components/kup-numeric-picker/kup-numeric-picker-declarations.d.ts +10 -10
  543. package/dist/types/components/kup-numeric-picker/kup-numeric-picker.d.ts +116 -116
  544. package/dist/types/components/kup-photo-frame/kup-photo-frame-declarations.d.ts +3 -3
  545. package/dist/types/components/kup-photo-frame/kup-photo-frame.d.ts +57 -57
  546. package/dist/types/components/kup-planner/kup-planner-declarations.d.ts +592 -96
  547. package/dist/types/components/kup-planner/kup-planner-state.d.ts +9 -9
  548. package/dist/types/components/kup-planner/kup-planner.d.ts +269 -259
  549. package/dist/types/components/kup-planner/utils/custom-task-list-header.d.ts +8 -0
  550. package/dist/types/components/kup-planner/utils/custom-task-list-table.d.ts +14 -0
  551. package/dist/types/components/kup-planner/utils/custom-tool-tip.d.ts +2 -0
  552. package/dist/types/components/kup-planner/utils/helpers/bar.helpers.d.ts +33 -0
  553. package/dist/types/components/kup-planner/utils/helpers/other.helpers.d.ts +6 -0
  554. package/dist/types/components/kup-planner/utils/kup-gantt/kup-gantt.d.ts +127 -0
  555. package/dist/types/components/kup-planner/utils/kup-gantt-calendar/kup-gantt-calendar.d.ts +27 -0
  556. package/dist/types/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.d.ts +59 -0
  557. package/dist/types/components/kup-planner/utils/kup-horizontal-scroll/kup-horizontal-scroll.d.ts +17 -0
  558. package/dist/types/components/kup-planner/utils/kup-planner-adapted-types.d.ts +28 -0
  559. package/dist/types/components/kup-planner/utils/kup-planner-renderer-helper.d.ts +36 -0
  560. package/dist/types/components/kup-planner/utils/kup-planner-renderer.d.ts +33 -0
  561. package/dist/types/components/kup-planner/utils/kup-planner-time-formatter.d.ts +20 -0
  562. package/dist/types/components/kup-planner/utils/kup-switcher/kup-switcher.d.ts +5 -0
  563. package/dist/types/components/kup-planner/utils/kup-task-gantt/kup-task-gantt.d.ts +20 -0
  564. package/dist/types/components/kup-planner/utils/kup-task-list/kup-task-list-header.d.ts +7 -0
  565. package/dist/types/components/kup-planner/utils/kup-task-list/kup-task-list-table.d.ts +16 -0
  566. package/dist/types/components/kup-planner/utils/kup-task-list/kup-task-list.d.ts +40 -0
  567. package/dist/types/components/kup-planner/utils/kup-tooltip/kup-standard-tooltip.d.ts +7 -0
  568. package/dist/types/components/kup-planner/utils/kup-tooltip/kup-tooltip.d.ts +26 -0
  569. package/dist/types/components/kup-planner/utils/kup-vertical-scroll/kup-vertical-scroll.d.ts +16 -0
  570. package/dist/types/components/kup-probe/kup-probe.d.ts +70 -70
  571. package/dist/types/components/kup-progress-bar/kup-progress-bar-declarations.d.ts +7 -7
  572. package/dist/types/components/kup-progress-bar/kup-progress-bar.d.ts +65 -65
  573. package/dist/types/components/kup-qlik/kup-qlik-declarations.d.ts +13 -13
  574. package/dist/types/components/kup-qlik/kup-qlik.d.ts +96 -96
  575. package/dist/types/components/kup-radio/kup-radio-declarations.d.ts +6 -6
  576. package/dist/types/components/kup-radio/kup-radio.d.ts +75 -75
  577. package/dist/types/components/kup-rating/kup-rating-declarations.d.ts +5 -5
  578. package/dist/types/components/kup-rating/kup-rating.d.ts +52 -52
  579. package/dist/types/components/kup-snackbar/kup-snackbar-declarations.d.ts +5 -5
  580. package/dist/types/components/kup-snackbar/kup-snackbar.d.ts +78 -78
  581. package/dist/types/components/kup-spinner/kup-spinner-declarations.d.ts +8 -8
  582. package/dist/types/components/kup-spinner/kup-spinner.d.ts +75 -75
  583. package/dist/types/components/kup-state/kup-state.d.ts +1 -1
  584. package/dist/types/components/kup-state/kup-store.d.ts +2 -2
  585. package/dist/types/components/kup-state/mock-store.d.ts +5 -5
  586. package/dist/types/components/kup-switch/kup-switch-declarations.d.ts +6 -6
  587. package/dist/types/components/kup-switch/kup-switch.d.ts +75 -75
  588. package/dist/types/components/kup-tab-bar/kup-tab-bar-declarations.d.ts +6 -6
  589. package/dist/types/components/kup-tab-bar/kup-tab-bar.d.ts +72 -72
  590. package/dist/types/components/kup-text-field/kup-text-field-declarations.d.ts +31 -31
  591. package/dist/types/components/kup-text-field/kup-text-field.d.ts +258 -258
  592. package/dist/types/components/kup-time-picker/kup-time-picker-declarations.d.ts +8 -8
  593. package/dist/types/components/kup-time-picker/kup-time-picker.d.ts +120 -120
  594. package/dist/types/components/kup-tree/kup-tree-declarations.d.ts +56 -56
  595. package/dist/types/components/kup-tree/kup-tree-faker.d.ts +15 -15
  596. package/dist/types/components/kup-tree/kup-tree-state.d.ts +9 -9
  597. package/dist/types/components/kup-tree/kup-tree.d.ts +351 -351
  598. package/dist/types/components.d.ts +637 -4
  599. package/dist/types/f-components/f-button/f-button-declarations.d.ts +24 -24
  600. package/dist/types/f-components/f-cell/f-cell-declarations.d.ts +117 -117
  601. package/dist/types/f-components/f-checkbox/f-checkbox-declarations.d.ts +9 -9
  602. package/dist/types/f-components/f-chip/f-chip-declarations.d.ts +12 -12
  603. package/dist/types/f-components/f-image/f-image-declarations.d.ts +14 -14
  604. package/dist/types/f-components/f-paginator/f-paginator-declarations.d.ts +12 -12
  605. package/dist/types/f-components/f-progress-bar/f-progress-bar-declarations.d.ts +10 -10
  606. package/dist/types/f-components/f-radio/f-radio-declarations.d.ts +11 -11
  607. package/dist/types/f-components/f-rating/f-rating-declarations.d.ts +4 -4
  608. package/dist/types/f-components/f-switch/f-switch-declarations.d.ts +8 -8
  609. package/dist/types/f-components/f-text-field/f-text-field-declarations.d.ts +38 -38
  610. package/dist/types/managers/kup-data/kup-data-cell-helper.d.ts +3 -3
  611. package/dist/types/managers/kup-data/kup-data-declarations.d.ts +88 -88
  612. package/dist/types/managers/kup-data/kup-data.d.ts +76 -76
  613. package/dist/types/managers/kup-dates/kup-dates-declarations.d.ts +19 -19
  614. package/dist/types/managers/kup-dates/kup-dates.d.ts +217 -192
  615. package/dist/types/managers/kup-debug/kup-debug-declarations.d.ts +18 -18
  616. package/dist/types/managers/kup-debug/kup-debug.d.ts +87 -87
  617. package/dist/types/managers/kup-dynamic-position/kup-dynamic-position-declarations.d.ts +19 -19
  618. package/dist/types/managers/kup-dynamic-position/kup-dynamic-position.d.ts +53 -53
  619. package/dist/types/managers/kup-interact/kup-interact-declarations.d.ts +37 -37
  620. package/dist/types/managers/kup-interact/kup-interact.d.ts +95 -95
  621. package/dist/types/managers/kup-language/kup-language-declarations.d.ts +133 -133
  622. package/dist/types/managers/kup-language/kup-language.d.ts +44 -44
  623. package/dist/types/managers/kup-manager/kup-manager-declarations.d.ts +63 -63
  624. package/dist/types/managers/kup-manager/kup-manager.d.ts +67 -67
  625. package/dist/types/managers/kup-math/kup-math-declarations.d.ts +16 -16
  626. package/dist/types/managers/kup-math/kup-math-helper.d.ts +1 -1
  627. package/dist/types/managers/kup-math/kup-math.d.ts +132 -132
  628. package/dist/types/managers/kup-objects/kup-objects-declarations.d.ts +4 -4
  629. package/dist/types/managers/kup-objects/kup-objects.d.ts +201 -201
  630. package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.d.ts +16 -16
  631. package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover.d.ts +55 -55
  632. package/dist/types/managers/kup-search/kup-search-declarations.d.ts +1 -1
  633. package/dist/types/managers/kup-search/kup-search.d.ts +13 -13
  634. package/dist/types/managers/kup-theme/kup-theme-declarations.d.ts +99 -99
  635. package/dist/types/managers/kup-theme/kup-theme.d.ts +119 -119
  636. package/dist/types/managers/kup-toolbar/kup-toolbar-declarations.d.ts +3 -3
  637. package/dist/types/managers/kup-toolbar/kup-toolbar.d.ts +32 -32
  638. package/dist/types/managers/kup-tooltip/kup-tooltip-declarations.d.ts +4 -4
  639. package/dist/types/managers/kup-tooltip/kup-tooltip.d.ts +43 -43
  640. package/dist/types/stencil-public-runtime.d.ts +8 -0
  641. package/dist/types/types/GenericTypes.d.ts +74 -74
  642. package/dist/types/utils/filters/filters-column-menu.d.ts +86 -86
  643. package/dist/types/utils/filters/filters-declarations.d.ts +13 -13
  644. package/dist/types/utils/filters/filters-rows.d.ts +17 -17
  645. package/dist/types/utils/filters/filters-tree-items.d.ts +7 -7
  646. package/dist/types/utils/filters/filters.d.ts +62 -62
  647. package/dist/types/utils/kup-column-menu/kup-column-menu-declarations.d.ts +14 -14
  648. package/dist/types/utils/kup-column-menu/kup-column-menu.d.ts +126 -126
  649. package/package.json +12 -16
  650. package/dist/cjs/f-button-9ccadd52.js +0 -105
  651. package/dist/cjs/f-cell-3130506f.js +0 -670
  652. package/dist/cjs/f-checkbox-9d2635d9.js +0 -29
  653. package/dist/cjs/f-chip-beb7af58.js +0 -133
  654. package/dist/cjs/f-image-66a3c3c1.js +0 -115
  655. package/dist/cjs/f-paginator-utils-c475e07f.js +0 -1576
  656. package/dist/cjs/f-text-field-c74856ff.js +0 -216
  657. package/dist/esm/f-button-0bce6587.js +0 -103
  658. package/dist/esm/f-cell-88d375e1.js +0 -664
  659. package/dist/esm/f-checkbox-31219c42.js +0 -27
  660. package/dist/esm/f-chip-ef0d4130.js +0 -131
  661. package/dist/esm/f-image-727453df.js +0 -113
  662. package/dist/esm/f-paginator-utils-4524e41c.js +0 -1563
  663. package/dist/esm/f-text-field-7b4d622c.js +0 -214
  664. package/dist/ketchup/p-042e1ed0.entry.js +0 -1
  665. package/dist/ketchup/p-0dc763af.entry.js +0 -1
  666. package/dist/ketchup/p-1ae879af.entry.js +0 -1
  667. package/dist/ketchup/p-1db0c862.entry.js +0 -1
  668. package/dist/ketchup/p-20458088.js +0 -30
  669. package/dist/ketchup/p-20c1a69f.entry.js +0 -1
  670. package/dist/ketchup/p-267dd24a.entry.js +0 -9
  671. package/dist/ketchup/p-2849af6f.js +0 -1
  672. package/dist/ketchup/p-30938d5a.entry.js +0 -1
  673. package/dist/ketchup/p-4067c71b.js +0 -2
  674. package/dist/ketchup/p-61f71872.entry.js +0 -1
  675. package/dist/ketchup/p-6b33f5de.entry.js +0 -1
  676. package/dist/ketchup/p-7f64b612.entry.js +0 -1
  677. package/dist/ketchup/p-90db42e6.entry.js +0 -1
  678. package/dist/ketchup/p-9cc1c76b.entry.js +0 -1
  679. package/dist/ketchup/p-9d3d8690.js +0 -1
  680. package/dist/ketchup/p-b4ba27da.entry.js +0 -1
  681. package/dist/ketchup/p-c046fd1c.entry.js +0 -1
  682. package/dist/ketchup/p-c120043a.entry.js +0 -1
  683. package/dist/ketchup/p-d520d757.entry.js +0 -1
  684. package/dist/ketchup/p-e9bc0749.entry.js +0 -1
  685. package/dist/ketchup/p-edd88921.entry.js +0 -1
  686. package/dist/ketchup/p-f67ee60f.entry.js +0 -25
  687. package/dist/ketchup/p-f6844304.entry.js +0 -1
  688. package/dist/ketchup/p-f8213d22.entry.js +0 -1
  689. /package/dist/ketchup/{p-cd2af1a6.js → p-b3577066.js} +0 -0
  690. /package/dist/ketchup/{p-b00f3575.js → p-c634eb82.js} +0 -0
@@ -1,9 +1,9 @@
1
1
  var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f)
3
- throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
5
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
6
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
2
+ if (kind === "a" && !f)
3
+ throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
5
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
6
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
7
7
  };
8
8
  var _KupTree_kupManager;
9
9
  import { forceUpdate, getAssetPath, h, Host, } from "@stencil/core";
@@ -29,2492 +29,2492 @@ import { FCell } from "../../f-components/f-cell/f-cell";
29
29
  import { KupDebugCategory } from "../../managers/kup-debug/kup-debug-declarations";
30
30
  import { FTextFieldMDC } from "../../f-components/f-text-field/f-text-field-mdc";
31
31
  export class KupTree {
32
- constructor() {
32
+ constructor() {
33
+ /*-------------------------------------------------*/
34
+ /* S t a t e s */
35
+ /*-------------------------------------------------*/
36
+ this.state = new KupTreeState();
37
+ /*-------------------------------------------------*/
38
+ /* I n t e r n a l V a r i a b l e s */
39
+ /*-------------------------------------------------*/
40
+ /**
41
+ * Instance of the KupManager class.
42
+ */
43
+ _KupTree_kupManager.set(this, kupManagerInstance());
44
+ /**
45
+ * Reference to the column menu card.
46
+ */
47
+ this.columnMenuCard = null;
48
+ this.clickTimeout = [];
49
+ this.sizedColumns = undefined;
50
+ this.filtersColumnMenuInstance = new FiltersColumnMenu();
51
+ this.filtersTreeItemsInstance = new FiltersTreeItems();
52
+ this.totalMenuCoords = null;
53
+ this.contentRefs = [];
54
+ this.oldWidth = null;
55
+ this.hold = false;
56
+ this.interactableTouch = [];
57
+ this.clickCb = null;
58
+ this.treeColumnVisible = true;
59
+ this.openedTotalMenu = null;
60
+ this.columnMenuAnchor = null;
61
+ this.stateSwitcher = false;
62
+ this.selectedNode = [];
63
+ this.asAccordion = false;
64
+ this.columns = undefined;
65
+ this.customStyle = '';
66
+ this.data = [];
67
+ this.density = FCellPadding.MEDIUM;
68
+ this.dynamicExpansionCallback = undefined;
69
+ this.editableData = false;
70
+ this.enableExtraColumns = true;
71
+ this.expanded = false;
72
+ this.expansionMode = KupTreeExpansionMode.DROPDOWN;
73
+ this.filters = {};
74
+ this.globalFilter = false;
75
+ this.globalFilterValue = '';
76
+ this.globalFilterMode = KupGlobalFilterMode.SIMPLE;
77
+ this.preventXScroll = false;
78
+ this.removableColumns = true;
79
+ this.ripple = true;
80
+ this.scrollOnHover = false;
81
+ this.showColumns = false;
82
+ this.showFilters = true;
83
+ this.showFooter = false;
84
+ this.showHeader = false;
85
+ this.showIcons = true;
86
+ this.stateId = '';
87
+ this.store = undefined;
88
+ this.useDynamicExpansion = false;
89
+ this.totals = undefined;
90
+ }
91
+ initWithPersistedState() {
92
+ if (this.store && this.stateId) {
93
+ const state = this.store.getState(this.stateId);
94
+ if (state != null) {
95
+ this.density = state.density;
96
+ this.showFilters = state.showFilters;
97
+ this.showFooter = state.showFooter;
98
+ this.globalFilter = state.globalFilter;
99
+ this.globalFilterValue = state.globalFilterValue;
100
+ this.filters = Object.assign({}, state.filters);
101
+ this.totals = Object.assign({}, state.totals);
102
+ }
103
+ }
104
+ }
105
+ persistState() {
106
+ if (this.store && this.stateId) {
107
+ let somethingChanged = false;
108
+ if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.filters, this.filters)) {
109
+ this.state.filters = Object.assign({}, this.filters);
110
+ somethingChanged = true;
111
+ }
112
+ if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.density, this.density)) {
113
+ this.state.density = this.density;
114
+ somethingChanged = true;
115
+ }
116
+ if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.showFilters, this.showFilters)) {
117
+ this.state.showFilters = this.showFilters;
118
+ somethingChanged = true;
119
+ }
120
+ if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.showFooter, this.showFooter)) {
121
+ this.state.showFooter = this.showFooter;
122
+ somethingChanged = true;
123
+ }
124
+ if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.totals, this.totals)) {
125
+ this.state.totals = Object.assign({}, this.totals);
126
+ somethingChanged = true;
127
+ }
128
+ if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.globalFilter, this.globalFilter)) {
129
+ this.state.globalFilter = this.globalFilter;
130
+ somethingChanged = true;
131
+ }
132
+ if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.globalFilterValue, this.globalFilterValue)) {
133
+ this.state.globalFilterValue = this.globalFilterValue;
134
+ somethingChanged = true;
135
+ }
136
+ if (!this.state.load) {
137
+ this.state.load = true;
138
+ return;
139
+ }
140
+ if (somethingChanged) {
141
+ this.store.persistState(this.stateId, this.state);
142
+ }
143
+ }
144
+ }
145
+ /**
146
+ * This method will get the selected nodes of the component.
147
+ */
148
+ async getSelectedNode() {
149
+ return this.selectedNode;
150
+ }
151
+ /**
152
+ * This method will set the selected rows of the component.
153
+ * @param {string|number[]} rowsIdentifiers - Array of ids (dataset) or indexes (rendered rows).
154
+ * @param {boolean} emitEvent - The event will always be emitted unless emitEvent is set to false.
155
+ */
156
+ async setSelectedNode(treeNodePath, emitEvent) {
157
+ this.selectedNode = treeNodePath
158
+ .split(',')
159
+ .map((treeNodeIndex) => parseInt(treeNodeIndex));
160
+ if (emitEvent !== false) {
161
+ this.kupTreeNodeSelected.emit({
162
+ comp: this,
163
+ id: this.rootElement.id,
164
+ treeNodePath: this.selectedNode,
165
+ treeNode: this.getTreeNode(this.selectedNode),
166
+ columnName: null,
167
+ });
168
+ }
169
+ }
33
170
  /*-------------------------------------------------*/
34
- /* S t a t e s */
171
+ /* W a t c h e r s */
35
172
  /*-------------------------------------------------*/
36
- this.state = new KupTreeState();
173
+ enrichDataWhenChanged(newData, oldData) {
174
+ if (!newData) {
175
+ newData = [];
176
+ }
177
+ if (newData !== oldData) {
178
+ this.refreshStructureState();
179
+ }
180
+ }
181
+ enrichStructureStateWhenChanged(newValue, oldValue) {
182
+ if (newValue !== oldValue) {
183
+ this.refreshStructureState();
184
+ }
185
+ }
37
186
  /*-------------------------------------------------*/
38
- /* I n t e r n a l V a r i a b l e s */
187
+ /* P u b l i c M e t h o d s */
39
188
  /*-------------------------------------------------*/
40
189
  /**
41
- * Instance of the KupManager class.
190
+ * True if there aren't visible nodes
42
191
  */
43
- _KupTree_kupManager.set(this, kupManagerInstance());
192
+ async isEmpty() {
193
+ return this.visibleNodes == 0;
194
+ }
44
195
  /**
45
- * Reference to the column menu card.
196
+ * Closes any opened column menu.
46
197
  */
47
- this.columnMenuCard = null;
48
- this.clickTimeout = [];
49
- this.sizedColumns = undefined;
50
- this.filtersColumnMenuInstance = new FiltersColumnMenu();
51
- this.filtersTreeItemsInstance = new FiltersTreeItems();
52
- this.totalMenuCoords = null;
53
- this.contentRefs = [];
54
- this.oldWidth = null;
55
- this.hold = false;
56
- this.interactableTouch = [];
57
- this.clickCb = null;
58
- this.treeColumnVisible = true;
59
- this.openedTotalMenu = null;
60
- this.columnMenuAnchor = null;
61
- this.stateSwitcher = false;
62
- this.selectedNode = [];
63
- this.asAccordion = false;
64
- this.columns = undefined;
65
- this.customStyle = '';
66
- this.data = [];
67
- this.density = FCellPadding.MEDIUM;
68
- this.dynamicExpansionCallback = undefined;
69
- this.editableData = false;
70
- this.enableExtraColumns = true;
71
- this.expanded = false;
72
- this.expansionMode = KupTreeExpansionMode.DROPDOWN;
73
- this.filters = {};
74
- this.globalFilter = false;
75
- this.globalFilterValue = '';
76
- this.globalFilterMode = KupGlobalFilterMode.SIMPLE;
77
- this.preventXScroll = false;
78
- this.removableColumns = true;
79
- this.ripple = true;
80
- this.scrollOnHover = false;
81
- this.showColumns = false;
82
- this.showFilters = true;
83
- this.showFooter = false;
84
- this.showHeader = false;
85
- this.showIcons = true;
86
- this.stateId = '';
87
- this.store = undefined;
88
- this.useDynamicExpansion = false;
89
- this.totals = undefined;
90
- }
91
- initWithPersistedState() {
92
- if (this.store && this.stateId) {
93
- const state = this.store.getState(this.stateId);
94
- if (state != null) {
95
- this.density = state.density;
96
- this.showFilters = state.showFilters;
97
- this.showFooter = state.showFooter;
98
- this.globalFilter = state.globalFilter;
99
- this.globalFilterValue = state.globalFilterValue;
100
- this.filters = Object.assign({}, state.filters);
101
- this.totals = Object.assign({}, state.totals);
102
- }
103
- }
104
- }
105
- persistState() {
106
- if (this.store && this.stateId) {
107
- let somethingChanged = false;
108
- if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.filters, this.filters)) {
109
- this.state.filters = Object.assign({}, this.filters);
110
- somethingChanged = true;
111
- }
112
- if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.density, this.density)) {
113
- this.state.density = this.density;
114
- somethingChanged = true;
115
- }
116
- if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.showFilters, this.showFilters)) {
117
- this.state.showFilters = this.showFilters;
118
- somethingChanged = true;
119
- }
120
- if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.showFooter, this.showFooter)) {
121
- this.state.showFooter = this.showFooter;
122
- somethingChanged = true;
123
- }
124
- if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.totals, this.totals)) {
125
- this.state.totals = Object.assign({}, this.totals);
126
- somethingChanged = true;
127
- }
128
- if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.globalFilter, this.globalFilter)) {
129
- this.state.globalFilter = this.globalFilter;
130
- somethingChanged = true;
131
- }
132
- if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.deepEqual(this.state.globalFilterValue, this.globalFilterValue)) {
133
- this.state.globalFilterValue = this.globalFilterValue;
134
- somethingChanged = true;
135
- }
136
- if (!this.state.load) {
137
- this.state.load = true;
138
- return;
139
- }
140
- if (somethingChanged) {
141
- this.store.persistState(this.stateId, this.state);
142
- }
143
- }
144
- }
145
- /**
146
- * This method will get the selected nodes of the component.
147
- */
148
- async getSelectedNode() {
149
- return this.selectedNode;
150
- }
151
- /**
152
- * This method will set the selected rows of the component.
153
- * @param {string|number[]} rowsIdentifiers - Array of ids (dataset) or indexes (rendered rows).
154
- * @param {boolean} emitEvent - The event will always be emitted unless emitEvent is set to false.
155
- */
156
- async setSelectedNode(treeNodePath, emitEvent) {
157
- this.selectedNode = treeNodePath
158
- .split(',')
159
- .map((treeNodeIndex) => parseInt(treeNodeIndex));
160
- if (emitEvent !== false) {
161
- this.kupTreeNodeSelected.emit({
162
- comp: this,
163
- id: this.rootElement.id,
164
- treeNodePath: this.selectedNode,
165
- treeNode: this.getTreeNode(this.selectedNode),
166
- columnName: null,
167
- });
168
- }
169
- }
170
- /*-------------------------------------------------*/
171
- /* W a t c h e r s */
172
- /*-------------------------------------------------*/
173
- enrichDataWhenChanged(newData, oldData) {
174
- if (!newData) {
175
- newData = [];
176
- }
177
- if (newData !== oldData) {
178
- this.refreshStructureState();
179
- }
180
- }
181
- enrichStructureStateWhenChanged(newValue, oldValue) {
182
- if (newValue !== oldValue) {
183
- this.refreshStructureState();
184
- }
185
- }
186
- /*-------------------------------------------------*/
187
- /* P u b l i c M e t h o d s */
188
- /*-------------------------------------------------*/
189
- /**
190
- * True if there aren't visible nodes
191
- */
192
- async isEmpty() {
193
- return this.visibleNodes == 0;
194
- }
195
- /**
196
- * Closes any opened column menu.
197
- */
198
- async closeColumnMenu() {
199
- this.columnMenuAnchor = null;
200
- if (this.columnMenuCard) {
201
- this.columnMenuCard.data = null;
202
- }
203
- this.columnMenuInstance.close(this.columnMenuCard);
204
- this.kupTreeColumnMenu.emit({
205
- comp: this,
206
- id: this.rootElement.id,
207
- card: this.columnMenuCard,
208
- event: null,
209
- open: false,
210
- });
211
- }
212
- /**
213
- * Collapses all nodes.
214
- */
215
- async collapseAll() {
216
- if (!this.useDynamicExpansion) {
217
- for (let index = 0; index < this.data.length; index++) {
218
- this.data[index].isExpanded = false;
219
- this.handleChildren(this.data[index], false);
220
- }
221
- }
222
- else {
223
- this.kupTreeDynamicMassExpansion.emit({
224
- comp: this,
225
- id: this.rootElement.id,
226
- expandAll: false,
227
- });
228
- }
229
- this.refresh();
230
- }
231
- /**
232
- * Expands all nodes.
233
- */
234
- async expandAll() {
235
- if (!this.useDynamicExpansion) {
236
- for (let index = 0; index < this.data.length; index++) {
237
- this.data[index].isExpanded = true;
238
- this.handleChildren(this.data[index], true);
239
- }
240
- }
241
- else {
242
- this.kupTreeDynamicMassExpansion.emit({
243
- comp: this,
244
- id: this.rootElement.id,
245
- expandAll: true,
246
- });
247
- }
248
- this.refresh();
249
- }
250
- /**
251
- * Used to retrieve component's props values.
252
- * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.
253
- * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.
254
- */
255
- async getProps(descriptions) {
256
- return getProps(this, KupTreeProps, descriptions);
257
- }
258
- /**
259
- * Hides the given column.
260
- * @param {KupDataColumn} column - Column to hide.
261
- */
262
- async hideColumn(column) {
263
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").data.column.hide(this.columns, [column.name]);
264
- this.kupColumnRemove.emit({
265
- comp: this,
266
- id: this.rootElement.id,
267
- column: column,
268
- });
269
- this.refresh();
270
- }
271
- /**
272
- * Opens the column menu of the given column.
273
- * @param {string} column - Name of the column.
274
- */
275
- async openColumnMenu(column) {
276
- this.columnMenuAnchor = column;
277
- if (!this.columnMenuCard) {
278
- this.columnMenuCard = document.createElement('kup-card');
279
- this.columnMenuCard.isMenu = true;
280
- this.columnMenuCard.layoutNumber = 12;
281
- this.columnMenuCard.sizeX = 'auto';
282
- this.columnMenuCard.sizeY = 'auto';
283
- this.columnMenuCard.addEventListener('kup-card-click', (e) => {
284
- this.kupTreeColumnMenu.emit({
285
- comp: this,
286
- id: this.rootElement.id,
287
- card: this.columnMenuCard,
288
- event: e,
289
- open: this.columnMenuCard.menuVisible,
290
- });
291
- });
292
- this.columnMenuCard.addEventListener('kup-card-event', (e) => {
293
- this.columnMenuInstance.eventHandlers(e, this);
198
+ async closeColumnMenu() {
199
+ this.columnMenuAnchor = null;
200
+ if (this.columnMenuCard) {
201
+ this.columnMenuCard.data = null;
202
+ }
203
+ this.columnMenuInstance.close(this.columnMenuCard);
294
204
  this.kupTreeColumnMenu.emit({
295
- comp: this,
296
- id: this.rootElement.id,
297
- card: this.columnMenuCard,
298
- event: e,
299
- open: this.columnMenuCard.menuVisible,
300
- });
301
- });
302
- }
303
- this.columnMenuCard.setAttribute('data-column', column);
304
- this.columnMenuCard.data = this.columnMenuInstance.prepData(this, getColumnByName(this.getVisibleColumns(), column));
305
- this.columnMenuInstance.open(this, column);
306
- this.columnMenuInstance.reposition(this, this.columnMenuCard);
307
- this.kupTreeColumnMenu.emit({
308
- comp: this,
309
- id: this.rootElement.id,
310
- card: this.columnMenuCard,
311
- event: null,
312
- open: true,
313
- });
314
- }
315
- /**
316
- * This method is used to trigger a new render of the component.
317
- */
318
- async refresh() {
319
- forceUpdate(this);
320
- }
321
- /**
322
- * This method is invoked by KupManager whenever the component changes size.
323
- */
324
- async resizeCallback() {
325
- if (this.rootElement.clientWidth !== this.oldWidth) {
326
- window.clearTimeout(this.resizeTimeout);
327
- this.resizeTimeout = window.setTimeout(() => this.refresh(), 300);
328
- }
329
- }
330
- /**
331
- * Sets the props to the component.
332
- * @param {GenericObject} props - Object containing props that will be set to the component.
333
- */
334
- async setProps(props) {
335
- setProps(this, KupTreeProps, props);
336
- }
337
- /*-------------------------------------------------*/
338
- /* P r i v a t e M e t h o d s */
339
- /*-------------------------------------------------*/
340
- setTreeColumnVisibility(value) {
341
- this.treeColumnVisible = value;
342
- }
343
- isTreeColumnVisible() {
344
- return this.treeColumnVisible;
345
- }
346
- checkScrollOnHover() {
347
- if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").scrollOnHover.isRegistered(this.treeWrapperRef)) {
348
- if (this.scrollOnHover) {
349
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").scrollOnHover.register(this.treeWrapperRef);
350
- }
351
- }
352
- else {
353
- if (!this.scrollOnHover) {
354
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").scrollOnHover.unregister(this.treeWrapperRef);
355
- }
356
- }
357
- }
358
- onKupTreeNodeDblClick(treeNodeData, treeNodePath) {
359
- for (let index = 0; index < this.clickTimeout.length; index++) {
360
- clearTimeout(this.clickTimeout[index]);
361
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logMessage(this, 'Cleared hdlTreeNodeClick timeout(' +
362
- this.clickTimeout[index] +
363
- ').');
364
- }
365
- this.clickTimeout = [];
366
- this.kupTreeNodeDblClick.emit({
367
- comp: this,
368
- id: this.rootElement.id,
369
- treeNodePath: treeNodePath
370
- .split(',')
371
- .map((treeNodeIndex) => parseInt(treeNodeIndex)),
372
- treeNode: treeNodeData,
373
- });
374
- }
375
- nodesToRows() {
376
- function children(TreeNode) {
377
- for (let index = 0; index < TreeNode.children.length; index++) {
378
- const node = TreeNode.children[index];
379
- rows.push({
380
- cells: TreeNode.children[index].cells,
205
+ comp: this,
206
+ id: this.rootElement.id,
207
+ card: this.columnMenuCard,
208
+ event: null,
209
+ open: false,
381
210
  });
382
- if (node.children) {
383
- children(node);
384
- }
385
- }
386
- }
387
- let rows = [];
388
- for (let index = 0; index < this.data.length; index++) {
389
- const node = this.data[index];
390
- rows.push({
391
- cells: this.data[index].cells,
392
- });
393
- if (node.children) {
394
- children(this.data[index]);
395
- }
396
- }
397
- return rows;
398
- }
399
- setDynPosElements() {
400
- // Column menu
401
- if (this.columnMenuCard && this.columnMenuCard.data) {
402
- this.columnMenuCard.data = this.columnMenuInstance.prepData(this, getColumnByName(this.getVisibleColumns(), this.columnMenuAnchor), this.columnMenuCard.data);
403
- }
404
- }
405
- expandCollapseNode(treeNode, expandNode = false) {
406
- this.filtersTreeItemsInstance.expandCollapseNode(treeNode, expandNode);
407
- }
408
- expandCollapseAllNodes(treeNode, expandNode = false) {
409
- this.filtersTreeItemsInstance.expandCollapseAllNodes(treeNode, expandNode);
410
- }
411
- getColumns() {
412
- return this.columns ? this.columns : [{ title: '', name: '' }];
413
- }
414
- getSizedColumns() {
415
- let columns = this.getColumns();
416
- let sizedColumns = [];
417
- for (let j = 0; j < columns.length; j++) {
418
- if (columns[j].size !== null &&
419
- columns[j].size !== undefined &&
420
- columns[j].size !== '') {
421
- sizedColumns.push(columns[j]);
422
- }
423
- }
424
- if (sizedColumns.length > 0) {
425
- return sizedColumns;
426
- }
427
- else {
428
- return undefined;
429
- }
430
- }
431
- getVisibleColumns() {
432
- return this.getColumns().filter((column) => column.hasOwnProperty('visible') ? column.visible : true);
433
- }
434
- getHeadingColumns() {
435
- const firstColum = {
436
- name: treeMainColumnName,
437
- title: '',
438
- };
439
- const visibleColumns = this.getVisibleColumns();
440
- return [firstColum, ...visibleColumns];
441
- }
442
- /*
443
- *For launch the event when selected node
444
- */
445
- launchNodeEvent(treeNodePath, treeNode) {
446
- if (treeNodePath && treeNodePath.length > 0) {
447
- if (treeNodePath[0] != -1) {
448
- var tn = treeNode.children[treeNodePath[0]];
449
- if (!tn) {
450
- tn = treeNode;
451
- }
452
- if (treeNodePath.length > 1) {
453
- treeNodePath = treeNodePath.slice(1);
454
- this.launchNodeEvent(treeNodePath, tn);
211
+ }
212
+ /**
213
+ * Collapses all nodes.
214
+ */
215
+ async collapseAll() {
216
+ if (!this.useDynamicExpansion) {
217
+ for (let index = 0; index < this.data.length; index++) {
218
+ this.data[index].isExpanded = false;
219
+ this.handleChildren(this.data[index], false);
220
+ }
455
221
  }
456
222
  else {
457
- this.hdlTreeNodeClick(null, tn, this.selectedNodeToString(this.selectedNode));
458
- }
459
- }
460
- }
461
- }
462
- openTotalMenu(column) {
463
- this.openedTotalMenu = column.name;
464
- }
465
- onTotalMenuOpen(column) {
466
- this.closeTotalMenu();
467
- this.openTotalMenu(column);
468
- }
469
- getEventDetails(path, e) {
470
- let isHeader, isBody, isFooter, td, th, tr, filterRemove;
471
- if (path) {
472
- for (let i = path.length - 1; i >= 0; i--) {
473
- let p = path[i];
474
- if (!p.tagName) {
475
- continue;
476
- }
477
- switch (p.tagName.toUpperCase()) {
478
- case 'THEAD': {
479
- isHeader = true;
480
- break;
481
- }
482
- case 'TBODY': {
483
- isBody = true;
484
- break;
485
- }
486
- case 'TFOOT': {
487
- isFooter = true;
488
- break;
489
- }
490
- case 'TD': {
491
- td = p;
492
- break;
493
- }
494
- case 'TH': {
495
- th = p;
496
- break;
497
- }
498
- case 'TR': {
499
- tr = p;
500
- break;
501
- }
502
- default: {
503
- if (p.classList.contains(KupThemeIconValues.FILTER_REMOVE.replace('--', ''))) {
504
- filterRemove = p;
505
- }
506
- break;
507
- }
508
- }
509
- }
510
- }
511
- let cell = null, column = null, row = null;
512
- if (isBody) {
513
- if (td) {
514
- cell = td['data-cell'];
515
- }
516
- if (tr) {
517
- row = tr['data-row'];
518
- }
519
- }
520
- if (isHeader || isBody || isFooter) {
521
- const columnName = td
522
- ? td.dataset.column
523
- : th
524
- ? th.dataset.column
525
- : null;
526
- if (columnName) {
527
- column = getColumnByName(this.getColumns(), columnName);
528
- }
529
- }
530
- return {
531
- area: isHeader
532
- ? 'header'
533
- : isBody
534
- ? 'body'
535
- : isFooter
536
- ? 'footer'
537
- : null,
538
- cell: cell ? cell : null,
539
- column: column ? column : null,
540
- filterRemove: filterRemove ? filterRemove : null,
541
- originalEvent: e,
542
- row: row ? row : null,
543
- td: td ? td : null,
544
- th: th ? th : null,
545
- tr: tr ? tr : null,
546
- };
547
- }
548
- contextMenuHandler(e) {
549
- e.preventDefault();
550
- const details = this.getEventDetails(__classPrivateFieldGet(this, _KupTree_kupManager, "f").getEventPath(e.target, this.rootElement), e);
551
- if (details.area === 'header') {
552
- if (details.th && details.column) {
553
- this.openColumnMenu(details.column.name);
554
- return details;
555
- }
556
- }
557
- else if (details.area === 'footer') {
558
- if (details.td && details.column) {
559
- this.totalMenuCoords = { x: e.clientX, y: e.clientY };
560
- this.onTotalMenuOpen(details.column);
561
- return details;
562
- }
563
- }
564
- return details;
565
- }
566
- // When a TreeNode can be selected
567
- hdlTreeNodeClick(e, treeNodeData, treeNodePath) {
568
- if (this.expansionMode.toLowerCase() ===
569
- KupTreeExpansionMode.DROPDOWN ||
570
- (this.expansionMode.toLowerCase() === KupTreeExpansionMode.NODE &&
571
- !treeNodeData.expandable)) {
572
- const td = e
573
- ? __classPrivateFieldGet(this, _KupTree_kupManager, "f")
574
- .getEventPath(e.target, this.rootElement)
575
- .find((el) => {
576
- if (el.tagName === 'TD')
577
- return el;
578
- })
579
- : null;
580
- // If this TreeNode is not disabled, then it can be selected and an event is emitted
581
- if (treeNodeData && !treeNodeData.disabled) {
582
- this.selectedNode = treeNodePath
583
- .split(',')
584
- .map((treeNodeIndex) => parseInt(treeNodeIndex));
585
- this.kupTreeNodeSelected.emit({
586
- comp: this,
587
- id: this.rootElement.id,
588
- treeNodePath: this.selectedNode,
589
- treeNode: treeNodeData,
590
- columnName: td ? td.dataset.column : null,
591
- });
592
- }
593
- }
594
- // If KupTreeExpansionMode.NODE then click is a collapse/expand click
595
- if (this.expansionMode.toLowerCase() === KupTreeExpansionMode.NODE) {
596
- this.hdlTreeNodeExpanderClick(treeNodeData, treeNodePath, e ? e.ctrlKey : false);
597
- }
598
- }
599
- // When a TreeNode must be expanded or closed.
600
- hdlTreeNodeExpanderClick(treeNodeData, treeNodePath, ctrlKey) {
601
- // If the node is expandable
602
- if (treeNodeData.expandable) {
603
- // Always composes the tree node path as an array
604
- const arrayTreeNodePath = treeNodePath
605
- .split(',')
606
- .map((index) => parseInt(index));
607
- // There are already children set in this TreeNode -> expand or collapse node and emit appropriate event
608
- if (treeNodeData.children && treeNodeData.children.length) {
609
- // Updates expanded state and force rerender
610
- treeNodeData.isExpanded = !treeNodeData.isExpanded;
611
- if (ctrlKey) {
612
- this.handleChildren(treeNodeData, treeNodeData.isExpanded);
223
+ this.kupTreeDynamicMassExpansion.emit({
224
+ comp: this,
225
+ id: this.rootElement.id,
226
+ expandAll: false,
227
+ });
613
228
  }
614
229
  this.refresh();
615
- if (treeNodeData.isExpanded) {
616
- // TreeNode is now expanded -> Fires expanded event
617
- this.kupTreeNodeExpand.emit({
618
- comp: this,
619
- id: this.rootElement.id,
620
- treeNodePath: arrayTreeNodePath,
621
- treeNode: treeNodeData,
622
- usesDynamicExpansion: this.useDynamicExpansion,
623
- });
230
+ }
231
+ /**
232
+ * Expands all nodes.
233
+ */
234
+ async expandAll() {
235
+ if (!this.useDynamicExpansion) {
236
+ for (let index = 0; index < this.data.length; index++) {
237
+ this.data[index].isExpanded = true;
238
+ this.handleChildren(this.data[index], true);
239
+ }
624
240
  }
625
241
  else {
626
- // TreeNode is now collapsed -> Fires collapsed event
627
- this.kupTreeNodeCollapse.emit({
628
- comp: this,
629
- id: this.rootElement.id,
630
- treeNodePath: arrayTreeNodePath,
631
- treeNode: treeNodeData,
632
- });
242
+ this.kupTreeDynamicMassExpansion.emit({
243
+ comp: this,
244
+ id: this.rootElement.id,
245
+ expandAll: true,
246
+ });
633
247
  }
634
- }
635
- else if (this.useDynamicExpansion) {
636
- if (ctrlKey) {
637
- this.kupTreeDynamicMassExpansion.emit({
248
+ this.refresh();
249
+ }
250
+ /**
251
+ * Used to retrieve component's props values.
252
+ * @param {boolean} descriptions - When provided and true, the result will be the list of props with their description.
253
+ * @returns {Promise<GenericObject>} List of props as object, each key will be a prop.
254
+ */
255
+ async getProps(descriptions) {
256
+ return getProps(this, KupTreeProps, descriptions);
257
+ }
258
+ /**
259
+ * Hides the given column.
260
+ * @param {KupDataColumn} column - Column to hide.
261
+ */
262
+ async hideColumn(column) {
263
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").data.column.hide(this.columns, [column.name]);
264
+ this.kupColumnRemove.emit({
638
265
  comp: this,
639
266
  id: this.rootElement.id,
640
- treeNodePath: arrayTreeNodePath,
641
- treeNode: treeNodeData,
642
- });
643
- }
644
- // When the component must use the dynamic expansion feature
645
- // Currently it does not support the expanded prop
646
- // Checks if we have a dynamicExpansionCallback or not
647
- if (this.dynamicExpansionCallback) {
648
- // We have a callback: invokes it and after the result is returned updates the tree
649
- this.dynamicExpansionCallback(treeNodeData, arrayTreeNodePath)
650
- .then((childrenTreeNodes) => {
651
- // Children returned successfully
652
- treeNodeData.children = childrenTreeNodes;
653
- treeNodeData.isExpanded = !treeNodeData.isExpanded;
654
- this.refresh();
655
- // TreeNode is now expanded -> Fires expanded event
656
- this.kupTreeNodeExpand.emit({
657
- comp: this,
658
- id: this.rootElement.id,
659
- treeNodePath: arrayTreeNodePath,
660
- treeNode: treeNodeData,
661
- usesDynamicExpansion: true,
267
+ column: column,
268
+ });
269
+ this.refresh();
270
+ }
271
+ /**
272
+ * Opens the column menu of the given column.
273
+ * @param {string} column - Name of the column.
274
+ */
275
+ async openColumnMenu(column) {
276
+ this.columnMenuAnchor = column;
277
+ if (!this.columnMenuCard) {
278
+ this.columnMenuCard = document.createElement('kup-card');
279
+ this.columnMenuCard.isMenu = true;
280
+ this.columnMenuCard.layoutNumber = 12;
281
+ this.columnMenuCard.sizeX = 'auto';
282
+ this.columnMenuCard.sizeY = 'auto';
283
+ this.columnMenuCard.addEventListener('kup-card-click', (e) => {
284
+ this.kupTreeColumnMenu.emit({
285
+ comp: this,
286
+ id: this.rootElement.id,
287
+ card: this.columnMenuCard,
288
+ event: e,
289
+ open: this.columnMenuCard.menuVisible,
290
+ });
291
+ });
292
+ this.columnMenuCard.addEventListener('kup-card-event', (e) => {
293
+ this.columnMenuInstance.eventHandlers(e, this);
294
+ this.kupTreeColumnMenu.emit({
295
+ comp: this,
296
+ id: this.rootElement.id,
297
+ card: this.columnMenuCard,
298
+ event: e,
299
+ open: this.columnMenuCard.menuVisible,
300
+ });
662
301
  });
663
- })
664
- .catch((err) => {
665
- console.error('KupTree: An error occurred when trying to fetch dynamicExpansion nodes data', err, treeNodeData);
666
- });
667
302
  }
668
- else {
669
- // we do NOT have a callback set.
670
- // Fires the expand request for the given TreeNode and set the appropriate flag
671
- this.kupTreeNodeExpand.emit({
303
+ this.columnMenuCard.setAttribute('data-column', column);
304
+ this.columnMenuCard.data = this.columnMenuInstance.prepData(this, getColumnByName(this.getVisibleColumns(), column));
305
+ this.columnMenuInstance.open(this, column);
306
+ this.columnMenuInstance.reposition(this, this.columnMenuCard);
307
+ this.kupTreeColumnMenu.emit({
672
308
  comp: this,
673
309
  id: this.rootElement.id,
674
- treeNode: treeNodeData,
675
- treeNodePath: arrayTreeNodePath,
676
- usesDynamicExpansion: true,
677
- dynamicExpansionRequireChildren: true,
678
- });
679
- treeNodeData.isExpanded = !treeNodeData.isExpanded;
680
- }
681
- }
682
- }
683
- }
684
- hasTotals() {
685
- return this.totals && Object.keys(this.totals).length > 0;
686
- }
687
- handleChildren(treeNode, expand) {
688
- for (let index = 0; index < treeNode.children.length; index++) {
689
- let node = treeNode.children[index];
690
- if (!node.disabled) {
691
- node.isExpanded = expand;
692
- if (node.children) {
693
- this.handleChildren(node, expand);
694
- }
695
- }
696
- }
697
- }
698
- /**
699
- * Given a nodePath, transform that array into
700
- * @param nodePath
701
- */
702
- selectedNodeToString(nodePath) {
703
- let strToRet = '';
704
- if (nodePath && nodePath.length) {
705
- strToRet = nodePath[0].toString();
706
- for (let i = 1; i < nodePath.length; i++) {
707
- strToRet += `,${nodePath[i]}`;
708
- }
709
- }
710
- return strToRet;
711
- }
712
- getFilterValueForTooltip(column) {
713
- return this.filtersColumnMenuInstance.getFilterValueForTooltip(this.filters, column);
714
- }
715
- getTreeNode(nodePath) {
716
- if (!nodePath || nodePath.length == 0) {
717
- return null;
718
- }
719
- let father = this.data;
720
- let node = null;
721
- for (let index = 0; index < nodePath.length; index++) {
722
- if (node) {
723
- father = node.children;
724
- }
725
- const nodeIndex = nodePath[index];
726
- node = father[nodeIndex];
727
- }
728
- return node;
729
- }
730
- onRemoveFilter(column) {
731
- const newFilters = Object.assign({}, this.filters);
732
- this.filtersColumnMenuInstance.removeFilter(newFilters, column.name);
733
- this.filters = newFilters;
734
- }
735
- onGlobalFilterChange({ detail }) {
736
- let value = '';
737
- if (detail && detail.value) {
738
- value = detail.value;
739
- }
740
- this.globalFilterValue = value;
741
- }
742
- getColumnValues(column) {
743
- return this.filtersTreeItemsInstance.getColumnValues(this, column, this.globalFilterValue, this.filtersColumnMenuInstance);
744
- }
745
- getRows() {
746
- return this.data ? this.data : [];
747
- }
748
- filterNodes() {
749
- let items = this.filtersTreeItemsInstance.filterRows(this.getRows(), this.filters, this.globalFilterValue, this.getColumns(), this.filtersColumnMenuInstance);
750
- this.visibleNodes = this.calculateVisibleNodes(items);
751
- }
752
- calculateVisibleNodes(items) {
753
- let count = 0;
754
- if (items) {
755
- items.forEach((element) => {
756
- if (element.visible) {
757
- count++;
758
- }
759
- count += this.calculateVisibleNodes(element.children);
760
- });
761
- }
762
- return count;
763
- }
764
- refreshStructureState() {
765
- if (this.data) {
766
- if (this.data.columns) {
767
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logMessage(this, 'Detected KupDataDataset: setting up tree as grid.', KupDebugCategory.WARNING);
768
- const data = this.data;
769
- this.columns = data.columns;
770
- this.data = __classPrivateFieldGet(this, _KupTree_kupManager, "f").data.row.toNode(data);
771
- this.showColumns = true;
772
- this.showHeader = true;
773
- }
774
- // When the nodes must be expanded upon loading and the tree is not using a dynamicExpansion (and the current TreeNode is not disabled)
775
- // the default value of the treeExpandedPropName is set to true
776
- this.data.forEach((rootNode) => {
777
- this.expandCollapseAllNodes(rootNode, this.expanded && !this.useDynamicExpansion);
778
- });
779
- this.selectedNode = [];
780
- }
781
- }
782
- createIconElement(CSSClass, icon, iconColor) {
783
- if (icon.indexOf('.') > -1 ||
784
- icon.indexOf('/') > -1 ||
785
- icon.indexOf('\\') > -1) {
786
- CSSClass += ' is-image';
787
- return (h("span", { class: CSSClass }, h("img", { src: icon })));
788
- }
789
- else {
790
- let svg = `url('${getAssetPath(`./assets/svg/${icon}.svg`)}') no-repeat center`;
791
- CSSClass += ' kup-icon';
792
- let iconStyle = Object.assign(Object.assign({}, (iconColor ? { background: iconColor } : {})), { mask: svg, webkitMask: svg });
793
- return h("span", { style: iconStyle, class: CSSClass });
794
- }
795
- }
796
- getCellStyle(colName, cellStyle) {
797
- // Controls if there are columns with a specified width
798
- if (this.sizedColumns) {
799
- let colWidth = '';
800
- // Search if this column has a specified width
801
- for (let j = 0; j < this.sizedColumns.length; j++) {
802
- if (colName === this.sizedColumns[j].name) {
803
- colWidth = this.sizedColumns[j].size;
804
- break;
805
- }
806
- }
807
- // Specific width has been found
808
- if (colWidth) {
809
- if (!cellStyle) {
810
- cellStyle = {};
811
- }
812
- // Sets the width.
813
- cellStyle['max-width'] = colWidth;
814
- cellStyle['min-width'] = colWidth;
815
- cellStyle['width'] = colWidth;
816
- cellStyle['overflow'] = 'hidden';
817
- }
818
- }
819
- return cellStyle;
820
- }
821
- /**
822
- * Renders the header of the tree when it must be displayed as a table.
823
- * @returns An array of table header cells.
824
- */
825
- renderHeader() {
826
- return this.getHeadingColumns().map((column) => {
827
- if (!this.isTreeColumnVisible() &&
828
- column.name === treeMainColumnName)
829
- return;
830
- //---- Filter ----
831
- let filter = null;
832
- if (this.filtersColumnMenuInstance.hasFiltersForColumn(this.filters, column)) {
833
- const svgLabel = __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageGeneric.REMOVE_FILTERS) + `: '${this.getFilterValueForTooltip(column)}'`;
834
- /**
835
- * When column has a filter but filters must not be displayed, shows an icon to remove the filter.
836
- * Upon click, the filter gets removed.
837
- */
838
- filter = (h("span", { title: svgLabel, class: `kup-icon ${KupThemeIconValues.FILTER_REMOVE.replace('--', '')}`, onClick: (e) => {
839
- e.stopPropagation();
840
- this.onRemoveFilter(column);
841
- } }));
842
- }
843
- return (h("th", { "data-column": column.name, style: this.getCellStyle(column.name, null) }, h("span", { class: "column-title" }, column.title), filter));
844
- });
845
- }
846
- /**
847
- * Renders a content with a part highlighted.
848
- * NOTE: same in kup-accordion and in kup-tree
849
- */
850
- renderHighlightedContent(content, highlight, styleClass) {
851
- let contentSlices = [];
852
- if (highlight && content) {
853
- let contentPart = content;
854
- let end = contentPart
855
- .toLowerCase()
856
- .indexOf(highlight.toLowerCase());
857
- while (end > -1) {
858
- contentSlices.push(contentPart.substring(0, end));
859
- contentSlices.push(h("span", { class: styleClass + '--highlighted' }, contentPart.substring(end, end + highlight.length)));
860
- contentPart = contentPart.substring(end + highlight.length, contentPart.length);
861
- end = contentPart
862
- .toLowerCase()
863
- .indexOf(highlight.toLowerCase());
864
- }
865
- if (end < contentPart.length) {
866
- contentSlices.push(contentPart.substring(end, contentPart.length));
867
- }
868
- }
869
- else {
870
- contentSlices.push(content);
871
- }
872
- return (h("span", { class: styleClass, ref: (el) => this.contentRefs.push(el), title: this.preventXScroll ? content : null }, contentSlices));
873
- }
874
- /**
875
- * Given a KupTreeNode, reads through its data then composes and returns its JSX object.
876
- * @param treeNodeData - The KupTreeNode object to parse.
877
- * @param treeNodePath - A string containing the comma(,) separated indexes of the KupTreeNodes to use,
878
- * sorted from left to right, to access the current KupTreeNode starting from the data prop children object.
879
- * @param treeNodeDepth - An integer to keep track of the depth level of the current KupTreeNode. Used for indentation.
880
- * @returns The the JSX created from the current tree node.
881
- */
882
- renderTreeNode(treeNodeData, treeNodePath, treeNodeDepth = 0) {
883
- // Creates the indentation of the current element. Use a css variable to specify padding.
884
- let indent = treeNodeDepth ? (h("span", { class: "kup-tree__indent", style: {
885
- ['--kup_tree_node_depth']: this.asAccordion
886
- ? (treeNodeDepth - 1).toString()
887
- : treeNodeDepth.toString(),
888
- } })) : null;
889
- // If the tree node is expandable, adds the icon to show the expansion.
890
- // If expandable, also add the callback on the click action.
891
- // If it is not expandable, we simply add a placeholder with no icons.
892
- const hasExpandIcon = !!(treeNodeData.expandable &&
893
- ((treeNodeData.children && treeNodeData.children.length) ||
894
- this.useDynamicExpansion));
895
- let expandClass = 'expand-icon kup-tree__icon kup-tree__node__expander';
896
- if (hasExpandIcon) {
897
- expandClass += ' kup-icon';
898
- if (this.asAccordion && treeNodeDepth === 0) {
899
- expandClass += ` ${KupThemeIconValues.DROPDOWN.replace('--', '')}`;
900
- }
901
- else if (treeNodeData.isExpanded) {
902
- expandClass += ` ${KupThemeIconValues.EXPANDED.replace('--', '')}`;
903
- }
904
- else {
905
- expandClass += ` ${KupThemeIconValues.COLLAPSED.replace('--', '')}`;
906
- }
907
- }
908
- let treeExpandIcon = (h("span", { title: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageGeneric.EXPAND) +
909
- '/' +
910
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageGeneric.COLLAPSE) +
911
- ' (CTRL + Click)', class: expandClass, onClick: this.expansionMode.toLowerCase() ===
912
- KupTreeExpansionMode.DROPDOWN && !treeNodeData.disabled
913
- ? (event) => {
914
- event.stopPropagation();
915
- this.hdlTreeNodeExpanderClick(treeNodeData, treeNodePath, event.ctrlKey);
916
- }
917
- : null }));
918
- // When TreeNode icons are visible, creates the icon if one is specified
919
- let treeNodeIcon = null;
920
- if (this.showIcons) {
921
- if (treeNodeData.icon) {
922
- if (treeNodeData.icon === '') {
923
- treeNodeIcon = h("span", { class: "kup-tree__icon" });
310
+ card: this.columnMenuCard,
311
+ event: null,
312
+ open: true,
313
+ });
314
+ }
315
+ /**
316
+ * This method is used to trigger a new render of the component.
317
+ */
318
+ async refresh() {
319
+ forceUpdate(this);
320
+ }
321
+ /**
322
+ * This method is invoked by KupManager whenever the component changes size.
323
+ */
324
+ async resizeCallback() {
325
+ if (this.rootElement.clientWidth !== this.oldWidth) {
326
+ window.clearTimeout(this.resizeTimeout);
327
+ this.resizeTimeout = window.setTimeout(() => this.refresh(), 300);
924
328
  }
925
- else {
926
- treeNodeIcon = this.createIconElement('kup-tree__icon', treeNodeData.icon, treeNodeData.iconColor);
927
- }
928
- }
929
- else {
930
- treeNodeIcon = null;
931
- }
932
- }
933
- // Composes additional options for the tree node element
934
- let treeNodeOptions = {};
935
- if (treeNodeData.hasOwnProperty('isExpanded') &&
936
- treeNodeData.isExpanded &&
937
- hasExpandIcon) {
938
- // If the node is expanded it has this attribute set to if this node is expanded or not.
939
- treeNodeOptions['data-is-expanded'] = treeNodeData.isExpanded;
940
- }
941
- // When can be expanded OR selected
942
- if (!treeNodeData.disabled) {
943
- treeNodeOptions['onClick'] = (e) => {
944
- // Note: event must be cloned
945
- // otherwise inside setTimeout will be exiting the Shadow DOM scope(causing loss of information, including target).
946
- const clone = {};
947
- for (const key in e) {
948
- clone[key] = e[key];
949
- }
950
- this.clickTimeout.push(setTimeout(() => this.hdlTreeNodeClick(clone, treeNodeData, treeNodePath), 300));
951
- };
952
- }
953
- // When a tree node is displayed as a table
954
- let treeNodeCells = null;
955
- let visibleCols = this.getVisibleColumns();
956
- if (this.showColumns && visibleCols && visibleCols.length) {
957
- treeNodeCells = [];
958
- // Renders all the cells
959
- for (let j = 0; j < visibleCols.length; j++) {
960
- const column = visibleCols[j];
961
- if (treeNodeData.cells && treeNodeData.cells[column.name]) {
962
- const cell = treeNodeData.cells[column.name]
963
- ? treeNodeData.cells[column.name]
964
- : null;
965
- const cellProps = {
966
- cell: cell,
967
- column: column,
968
- component: this,
969
- density: this.density,
970
- editable: this.editableData,
971
- renderKup: true,
972
- row: treeNodeData,
973
- setSizes: true,
974
- };
975
- treeNodeCells.push(h("td", { class: `grid-cell`, "data-cell": cell, "data-column": column.name }, h(FCell, Object.assign({}, cellProps))));
329
+ }
330
+ /**
331
+ * Sets the props to the component.
332
+ * @param {GenericObject} props - Object containing props that will be set to the component.
333
+ */
334
+ async setProps(props) {
335
+ setProps(this, KupTreeProps, props);
336
+ }
337
+ /*-------------------------------------------------*/
338
+ /* P r i v a t e M e t h o d s */
339
+ /*-------------------------------------------------*/
340
+ setTreeColumnVisibility(value) {
341
+ this.treeColumnVisible = value;
342
+ }
343
+ isTreeColumnVisible() {
344
+ return this.treeColumnVisible;
345
+ }
346
+ checkScrollOnHover() {
347
+ if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").scrollOnHover.isRegistered(this.treeWrapperRef)) {
348
+ if (this.scrollOnHover) {
349
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").scrollOnHover.register(this.treeWrapperRef);
350
+ }
976
351
  }
977
352
  else {
978
- treeNodeCells.push(h("td", { class: `grid-cell` }));
979
- }
980
- }
981
- }
982
- let title = undefined;
983
- if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.isEmptyKupObj(treeNodeData.obj) &&
984
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.isDebug()) {
985
- title =
986
- treeNodeData.obj.t +
987
- '; ' +
988
- treeNodeData.obj.p +
989
- '; ' +
990
- treeNodeData.obj.k +
991
- ';';
992
- }
993
- let treeNodeCell = null;
994
- if (this.isTreeColumnVisible()) {
995
- let content = '';
996
- if (KupGlobalFilterMode.HIGHLIGHT === this.globalFilterMode) {
997
- content = this.renderHighlightedContent(treeNodeData.value, this.globalFilterValue, 'cell-content');
998
- }
999
- else {
1000
- content = (h("span", { ref: (el) => this.contentRefs.push(el), class: "cell-content", title: this.preventXScroll ? treeNodeData.value : null }, treeNodeData.value));
1001
- }
1002
- treeNodeCell = (h("td", { class: {
1003
- 'first-node': treeNodeDepth === 0 ? true : false,
1004
- 'mdc-ripple-surface': this.ripple &&
1005
- !this.showColumns &&
1006
- !treeNodeData.disabled,
1007
- 'is-obj': !__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.isEmptyKupObj(treeNodeData.obj),
1008
- }, style: treeNodeData.style || null, title: title, onDblClick: () => {
1009
- this.onKupTreeNodeDblClick(treeNodeData, treeNodePath);
1010
- } }, this.asAccordion && !treeNodeDepth
1011
- ? [
1012
- treeNodeIcon,
1013
- content,
1014
- hasExpandIcon ? treeExpandIcon : null,
1015
- ]
1016
- : [indent, treeExpandIcon, treeNodeIcon, content]));
1017
- }
1018
- return (h("tr", Object.assign({ class: {
1019
- 'kup-tree__node': true,
1020
- 'with-dyn': !treeNodeData.disabled,
1021
- 'kup-tree__node--disabled': treeNodeData.disabled,
1022
- 'kup-tree__node--first': treeNodeDepth ? false : true,
1023
- 'kup-tree__node--selected': !treeNodeData.disabled &&
1024
- treeNodePath ===
1025
- this.selectedNodeToString(this.selectedNode),
1026
- }, "data-row": treeNodeData, "data-tree-path": treeNodePath }, treeNodeOptions), treeNodeCell, treeNodeCells));
1027
- }
1028
- closeTotalMenu() {
1029
- this.openedTotalMenu = null;
1030
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").removeClickCallback(this.clickCb);
1031
- }
1032
- isOpenedTotalMenuForColumn(column) {
1033
- return this.openedTotalMenu === column;
1034
- }
1035
- onTotalsChange(event, column) {
1036
- // close menu
1037
- this.closeTotalMenu();
1038
- if (column) {
1039
- // must do this
1040
- // otherwise does not fire the watcher
1041
- const totalsCopy = Object.assign({}, this.totals);
1042
- const value = event.detail.selected.id;
1043
- if (value === TotalLabel.CANC) {
1044
- if (this.totals && this.totals[column.name]) {
1045
- delete totalsCopy[column.name];
1046
- }
1047
- }
1048
- else {
1049
- totalsCopy[column.name] = value;
1050
- }
1051
- this.totals = totalsCopy;
1052
- }
1053
- }
1054
- renderFooter() {
1055
- const nodesCell = h("td", null);
1056
- const footerCells = this.getVisibleColumns().map((column) => {
1057
- let totalMenu = undefined;
1058
- let menuLabel = TotalLabel.CALC;
1059
- const translation = {
1060
- [TotalLabel.AVERAGE]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.AVERAGE),
1061
- [TotalLabel.CALC]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.CALCULATE),
1062
- [TotalLabel.CANC]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.CANCEL),
1063
- [TotalLabel.COUNT]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.COUNT),
1064
- [TotalLabel.DISTINCT]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.DISTINCT),
1065
- [TotalLabel.MATH]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.FORMULA),
1066
- [TotalLabel.MAX]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.MAXIMUM),
1067
- [TotalLabel.MIN]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.MINIMUM),
1068
- [TotalLabel.SUM]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.SUM),
1069
- };
1070
- if (this.totals) {
1071
- const totalValue = this.totals[column.name];
1072
- if (totalValue) {
1073
- if (totalValue.startsWith(TotalMode.MATH)) {
1074
- menuLabel = TotalLabel.MATH;
1075
- }
1076
- else {
1077
- switch (totalValue) {
1078
- case TotalMode.COUNT:
1079
- menuLabel = TotalLabel.COUNT;
1080
- break;
1081
- case TotalMode.DISTINCT:
1082
- menuLabel = TotalLabel.DISTINCT;
1083
- break;
1084
- case TotalMode.SUM:
1085
- menuLabel = TotalLabel.SUM;
1086
- break;
1087
- case TotalMode.AVERAGE:
1088
- menuLabel = TotalLabel.AVERAGE;
1089
- break;
1090
- case TotalMode.MIN:
1091
- menuLabel = TotalLabel.MIN;
1092
- break;
1093
- case TotalMode.MAX:
1094
- menuLabel = TotalLabel.MAX;
1095
- break;
1096
- default:
1097
- break;
353
+ if (!this.scrollOnHover) {
354
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").scrollOnHover.unregister(this.treeWrapperRef);
1098
355
  }
1099
- }
1100
- }
1101
- }
1102
- if (this.isOpenedTotalMenuForColumn(column.name)) {
1103
- let listData = [
1104
- {
1105
- id: TotalMode.COUNT,
1106
- value: translation[TotalLabel.COUNT],
1107
- },
1108
- {
1109
- id: TotalMode.DISTINCT,
1110
- value: translation[TotalLabel.DISTINCT],
1111
- },
1112
- ];
1113
- if (__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.isNumber(column.obj)) {
1114
- listData.push({
1115
- id: TotalMode.SUM,
1116
- value: translation[TotalLabel.SUM],
1117
- }, {
1118
- id: TotalMode.AVERAGE,
1119
- value: translation[TotalLabel.AVERAGE],
1120
- }, {
1121
- id: TotalMode.MIN,
1122
- value: translation[TotalLabel.MIN],
1123
- }, {
1124
- id: TotalMode.MAX,
1125
- value: translation[TotalLabel.MAX],
1126
- });
1127
- }
1128
- let selectedItem = listData.find((item) => item.value === menuLabel);
1129
- if (selectedItem) {
1130
- selectedItem.selected = true;
1131
- listData.push({
1132
- id: TotalLabel.CANC,
1133
- separator: true,
1134
- value: translation[TotalLabel.CANC],
1135
- });
1136
- }
1137
- totalMenu = (h("kup-list", { class: `total-menu`, data: listData, id: "totals-menu", "is-menu": true, keyboardNavigation: true, "menu-visible": true, "onkup-list-click": (event) => this.onTotalsChange(event, column) }));
1138
- }
1139
- let value;
1140
- if (menuLabel === TotalLabel.COUNT ||
1141
- menuLabel === TotalLabel.DISTINCT) {
1142
- value = this.footer[column.name];
1143
- }
1144
- else {
1145
- value = __classPrivateFieldGet(this, _KupTree_kupManager, "f").math.numberToFormattedString(this.footer[column.name], column.decimals, column.obj ? column.obj.p : '');
1146
- }
1147
- return (h("td", { "data-column": column.name }, totalMenu, h("span", { class: "totals-value", title: translation[menuLabel] }, value)));
1148
- });
1149
- return (h("tfoot", null, h("tr", null, nodesCell, footerCells)));
1150
- }
1151
- didLoadInteractables() {
1152
- this.interactableTouch.push(this.treeWrapperRef);
1153
- const tapCb = (e) => {
1154
- if (this.hold) {
1155
- this.hold = false;
1156
- return;
1157
- }
1158
- switch (e.button) {
1159
- // right click
1160
- case 2:
1161
- this.kupTreeContextMenu.emit({
356
+ }
357
+ }
358
+ onKupTreeNodeDblClick(treeNodeData, treeNodePath) {
359
+ for (let index = 0; index < this.clickTimeout.length; index++) {
360
+ clearTimeout(this.clickTimeout[index]);
361
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logMessage(this, 'Cleared hdlTreeNodeClick timeout(' +
362
+ this.clickTimeout[index] +
363
+ ').');
364
+ }
365
+ this.clickTimeout = [];
366
+ this.kupTreeNodeDblClick.emit({
1162
367
  comp: this,
1163
368
  id: this.rootElement.id,
1164
- details: this.contextMenuHandler(e),
1165
- });
1166
- break;
1167
- }
1168
- };
1169
- const holdCb = (e) => {
1170
- if (e.pointerType === 'pen' || e.pointerType === 'touch') {
1171
- this.hold = true;
1172
- this.kupTreeContextMenu.emit({
1173
- comp: this,
1174
- id: this.rootElement.id,
1175
- details: this.contextMenuHandler(e),
369
+ treeNodePath: treeNodePath
370
+ .split(',')
371
+ .map((treeNodeIndex) => parseInt(treeNodeIndex)),
372
+ treeNode: treeNodeData,
1176
373
  });
1177
- }
1178
- };
1179
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").interact.on(this.treeWrapperRef, KupPointerEventTypes.TAP, tapCb);
1180
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").interact.on(this.treeWrapperRef, KupPointerEventTypes.HOLD, holdCb);
1181
- }
1182
- totalMenuPosition() {
1183
- if (this.rootElement.shadowRoot) {
1184
- const menu = this.rootElement.shadowRoot.querySelector('#totals-menu');
1185
- if (menu) {
1186
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").dynamicPosition.register(menu, this.totalMenuCoords);
1187
- if (!this.clickCb) {
1188
- this.clickCb = {
1189
- cb: () => {
1190
- this.closeTotalMenu();
1191
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").dynamicPosition.stop(menu);
1192
- },
1193
- el: menu,
1194
- };
1195
- }
1196
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").addClickCallback(this.clickCb, true);
1197
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").dynamicPosition.start(menu);
1198
- menu.menuVisible = true;
1199
- }
1200
- }
1201
- }
1202
- /**
1203
- * Given a KupTreeNode, reads through its data to compose and return the KupTreeNodes of the root of this KupTreeNode
1204
- * and its children nodes, composing an array of JSX KupTreeNodes.
1205
- * @param treeNodeData - The KupTreeNode object to parse.
1206
- * @param treeNodePath - A string containing the comma(,) separated indexes of the KupTreeNodes to use,
1207
- * sorted from left to right, to access the current KupTreeNode starting from the data prop children object.
1208
- * @param treeNodeDepth - An integer to keep track of the depth level of the current KupTreeNode. Used for indentation.
1209
- * @returns An array of JSX KupTreeNodes created from the given treeNodeData.
1210
- */
1211
- renderTree(treeNodeData, treeNodePath, treeNodeDepth = 0) {
1212
- let treeNodes = [];
1213
- if (treeNodeData && treeNodeData.visible == true) {
1214
- // Creates and adds the root of the current tree
1215
- treeNodes.push(this.renderTreeNode(treeNodeData, treeNodePath, treeNodeDepth));
1216
- // Checks if the current node can be expanded, has children object, has children and is expanded
1217
- if (treeNodeData.expandable &&
1218
- treeNodeData.children &&
1219
- treeNodeData.children.length &&
1220
- treeNodeData.isExpanded) {
1221
- for (let i = 0; i < treeNodeData.children.length; i++) {
1222
- treeNodes = treeNodes.concat(this.renderTree(treeNodeData.children[i], treeNodePath + ',' + i, treeNodeDepth + 1));
1223
- }
1224
- }
1225
- }
1226
- return treeNodes;
1227
- }
1228
- setEllipsis() {
1229
- const treeRect = this.rootElement.getBoundingClientRect();
1230
- for (let index = 0; index < this.contentRefs.length; index++) {
1231
- const content = this.contentRefs[index];
1232
- if (content) {
1233
- const cell = content.parentNode;
1234
- if (this.asAccordion && cell.classList.contains('first-node')) {
1235
- cell.style.width = treeRect.width + 'px';
374
+ }
375
+ nodesToRows() {
376
+ function children(TreeNode) {
377
+ for (let index = 0; index < TreeNode.children.length; index++) {
378
+ const node = TreeNode.children[index];
379
+ rows.push({
380
+ cells: TreeNode.children[index].cells,
381
+ });
382
+ if (node.children) {
383
+ children(node);
384
+ }
385
+ }
386
+ }
387
+ let rows = [];
388
+ for (let index = 0; index < this.data.length; index++) {
389
+ const node = this.data[index];
390
+ rows.push({
391
+ cells: this.data[index].cells,
392
+ });
393
+ if (node.children) {
394
+ children(this.data[index]);
395
+ }
396
+ }
397
+ return rows;
398
+ }
399
+ setDynPosElements() {
400
+ // Column menu
401
+ if (this.columnMenuCard && this.columnMenuCard.data) {
402
+ this.columnMenuCard.data = this.columnMenuInstance.prepData(this, getColumnByName(this.getVisibleColumns(), this.columnMenuAnchor), this.columnMenuCard.data);
403
+ }
404
+ }
405
+ expandCollapseNode(treeNode, expandNode = false) {
406
+ this.filtersTreeItemsInstance.expandCollapseNode(treeNode, expandNode);
407
+ }
408
+ expandCollapseAllNodes(treeNode, expandNode = false) {
409
+ this.filtersTreeItemsInstance.expandCollapseAllNodes(treeNode, expandNode);
410
+ }
411
+ getColumns() {
412
+ return this.columns ? this.columns : [{ title: '', name: '' }];
413
+ }
414
+ getSizedColumns() {
415
+ let columns = this.getColumns();
416
+ let sizedColumns = [];
417
+ for (let j = 0; j < columns.length; j++) {
418
+ if (columns[j].size !== null &&
419
+ columns[j].size !== undefined &&
420
+ columns[j].size !== '') {
421
+ sizedColumns.push(columns[j]);
422
+ }
423
+ }
424
+ if (sizedColumns.length > 0) {
425
+ return sizedColumns;
1236
426
  }
1237
427
  else {
1238
- content.classList.remove('cell-content--ellipsis');
1239
- content.style.setProperty('--kup_tree_content_width', ``);
1240
- const rect = content.getBoundingClientRect();
1241
- if (rect.right > treeRect.right) {
1242
- const failsafeOffset = 5;
1243
- const delta = rect.right - treeRect.right;
1244
- content.classList.add('cell-content--ellipsis');
1245
- content.style.setProperty('--kup_tree_content_width', `${rect.width - delta - failsafeOffset}px`);
1246
- }
1247
- }
1248
- }
1249
- }
1250
- }
1251
- /*-------------------------------------------------*/
1252
- /* L i f e c y c l e H o o k s */
1253
- /*-------------------------------------------------*/
1254
- componentWillLoad() {
1255
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logLoad(this, false);
1256
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.register(this);
1257
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").theme.register(this);
1258
- this.columnMenuInstance = new KupColumnMenu();
1259
- this.refreshStructureState();
1260
- }
1261
- componentDidLoad() {
1262
- this.didLoadInteractables();
1263
- this.kupDidLoad.emit({ comp: this, id: this.rootElement.id });
1264
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").resize.observe(this.rootElement);
1265
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logLoad(this, true);
1266
- }
1267
- componentWillRender() {
1268
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logRender(this, false);
1269
- if (this.showFooter && this.columns) {
1270
- this.footer = calcTotals(normalizeRows(this.getColumns(), this.nodesToRows()), this.totals);
1271
- }
1272
- this.filterNodes();
1273
- }
1274
- componentDidRender() {
1275
- const root = this.rootElement.shadowRoot;
1276
- if (root && this.ripple) {
1277
- const rippleCells = root.querySelectorAll('.mdc-ripple-surface:not(.mdc-ripple-upgraded)');
1278
- if (rippleCells) {
1279
- for (let i = 0; i < rippleCells.length; i++) {
1280
- MDCRipple.attachTo(rippleCells[i]);
1281
- }
1282
- }
1283
- }
1284
- if (root) {
1285
- const fs = root.querySelectorAll('.f-text-field');
1286
- for (let index = 0; index < fs.length; index++) {
1287
- FTextFieldMDC(fs[index]);
1288
- }
1289
- }
1290
- if (this.preventXScroll) {
1291
- this.setEllipsis();
1292
- }
1293
- this.totalMenuPosition();
1294
- this.checkScrollOnHover();
1295
- this.setDynPosElements();
1296
- // *** Store
1297
- this.persistState();
1298
- // ***
1299
- this.oldWidth = this.rootElement.clientWidth;
1300
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logRender(this, true);
1301
- }
1302
- render() {
1303
- this.contentRefs = [];
1304
- this.sizedColumns = this.getSizedColumns();
1305
- let wrapperClass = 'density-medium';
1306
- switch (this.density) {
1307
- case FCellPadding.DENSE:
1308
- wrapperClass = 'density-dense';
1309
- break;
1310
- case FCellPadding.WIDE:
1311
- wrapperClass = 'density-wide';
1312
- break;
1313
- }
1314
- // Composes TreeNodes
1315
- let treeNodes = [];
1316
- if (this.data && this.data.length) {
1317
- this.data.forEach((zeroDepthNode, index) => {
1318
- treeNodes = treeNodes.concat(this.renderTree(zeroDepthNode, index.toString()));
1319
- });
1320
- }
1321
- else {
1322
- // There are no TreeNodes, so we print a single cell with a caption
1323
- treeNodes.push(h("tr", null, h("td", null, __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageGeneric.EMPTY_DATA))));
1324
- }
1325
- // Calculates if header must be shown or not
1326
- const visibleHeader = this.showHeader && this.showColumns;
1327
- let filterField = null;
1328
- if (this.globalFilter &&
1329
- this.data &&
1330
- this.data.length &&
1331
- this.data.length > 0) {
1332
- filterField = (h("div", { id: "global-filter" }, h("kup-text-field", { fullWidth: true, label: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageSearch.SEARCH), icon: KupThemeIconValues.SEARCH, initialValue: this.globalFilterValue, "onkup-textfield-input": (event) => {
1333
- window.clearTimeout(this.globalFilterTimeout);
1334
- this.globalFilterTimeout = window.setTimeout(() => this.onGlobalFilterChange(event), 600);
1335
- } })));
1336
- }
1337
- return (h(Host, null, h("style", null, __classPrivateFieldGet(this, _KupTree_kupManager, "f").theme.setKupStyle(this.rootElement)), h("div", { id: componentWrapperId, class: wrapperClass }, filterField, h("div", { class: "wrapper", ref: (el) => (this.treeWrapperRef =
1338
- el) }, h("table", { class: "kup-tree", "data-show-columns": this.showColumns, onContextMenu: (e) => {
428
+ return undefined;
429
+ }
430
+ }
431
+ getVisibleColumns() {
432
+ return this.getColumns().filter((column) => column.hasOwnProperty('visible') ? column.visible : true);
433
+ }
434
+ getHeadingColumns() {
435
+ const firstColum = {
436
+ name: treeMainColumnName,
437
+ title: '',
438
+ };
439
+ const visibleColumns = this.getVisibleColumns();
440
+ return [firstColum, ...visibleColumns];
441
+ }
442
+ /*
443
+ *For launch the event when selected node
444
+ */
445
+ launchNodeEvent(treeNodePath, treeNode) {
446
+ if (treeNodePath && treeNodePath.length > 0) {
447
+ if (treeNodePath[0] != -1) {
448
+ var tn = treeNode.children[treeNodePath[0]];
449
+ if (!tn) {
450
+ tn = treeNode;
451
+ }
452
+ if (treeNodePath.length > 1) {
453
+ treeNodePath = treeNodePath.slice(1);
454
+ this.launchNodeEvent(treeNodePath, tn);
455
+ }
456
+ else {
457
+ this.hdlTreeNodeClick(null, tn, this.selectedNodeToString(this.selectedNode));
458
+ }
459
+ }
460
+ }
461
+ }
462
+ openTotalMenu(column) {
463
+ this.openedTotalMenu = column.name;
464
+ }
465
+ onTotalMenuOpen(column) {
466
+ this.closeTotalMenu();
467
+ this.openTotalMenu(column);
468
+ }
469
+ getEventDetails(path, e) {
470
+ let isHeader, isBody, isFooter, td, th, tr, filterRemove;
471
+ if (path) {
472
+ for (let i = path.length - 1; i >= 0; i--) {
473
+ let p = path[i];
474
+ if (!p.tagName) {
475
+ continue;
476
+ }
477
+ switch (p.tagName.toUpperCase()) {
478
+ case 'THEAD': {
479
+ isHeader = true;
480
+ break;
481
+ }
482
+ case 'TBODY': {
483
+ isBody = true;
484
+ break;
485
+ }
486
+ case 'TFOOT': {
487
+ isFooter = true;
488
+ break;
489
+ }
490
+ case 'TD': {
491
+ td = p;
492
+ break;
493
+ }
494
+ case 'TH': {
495
+ th = p;
496
+ break;
497
+ }
498
+ case 'TR': {
499
+ tr = p;
500
+ break;
501
+ }
502
+ default: {
503
+ if (p.classList.contains(KupThemeIconValues.FILTER_REMOVE.replace('--', ''))) {
504
+ filterRemove = p;
505
+ }
506
+ break;
507
+ }
508
+ }
509
+ }
510
+ }
511
+ let cell = null, column = null, row = null;
512
+ if (isBody) {
513
+ if (td) {
514
+ cell = td['data-cell'];
515
+ }
516
+ if (tr) {
517
+ row = tr['data-row'];
518
+ }
519
+ }
520
+ if (isHeader || isBody || isFooter) {
521
+ const columnName = td
522
+ ? td.dataset.column
523
+ : th
524
+ ? th.dataset.column
525
+ : null;
526
+ if (columnName) {
527
+ column = getColumnByName(this.getColumns(), columnName);
528
+ }
529
+ }
530
+ return {
531
+ area: isHeader
532
+ ? 'header'
533
+ : isBody
534
+ ? 'body'
535
+ : isFooter
536
+ ? 'footer'
537
+ : null,
538
+ cell: cell ? cell : null,
539
+ column: column ? column : null,
540
+ filterRemove: filterRemove ? filterRemove : null,
541
+ originalEvent: e,
542
+ row: row ? row : null,
543
+ td: td ? td : null,
544
+ th: th ? th : null,
545
+ tr: tr ? tr : null,
546
+ };
547
+ }
548
+ contextMenuHandler(e) {
1339
549
  e.preventDefault();
1340
- } }, h("thead", { class: {
1341
- 'header--is-visible': visibleHeader,
1342
- } }, h("tr", null, visibleHeader ? this.renderHeader() : null)), h("tbody", null, treeNodes), (this.showFooter || this.hasTotals()) &&
1343
- this.columns
1344
- ? this.renderFooter()
1345
- : null)))));
1346
- }
1347
- disconnectedCallback() {
1348
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.register(this);
1349
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").resize.unobserve(this.rootElement);
1350
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").theme.unregister(this);
1351
- const dynamicPositionElements = this.rootElement.shadowRoot.querySelectorAll('[' + kupDynamicPositionAttribute + ']');
1352
- if (dynamicPositionElements.length > 0) {
1353
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").dynamicPosition.unregister(Array.prototype.slice.call(dynamicPositionElements));
1354
- }
1355
- if (this.columnMenuCard) {
1356
- this.columnMenuCard.remove();
1357
- }
1358
- if (this.scrollOnHover) {
1359
- __classPrivateFieldGet(this, _KupTree_kupManager, "f").scrollOnHover.unregister(this.treeWrapperRef);
1360
- }
1361
- this.kupDidUnload.emit({ comp: this, id: this.rootElement.id });
1362
- }
1363
- static get is() { return "kup-tree"; }
1364
- static get encapsulation() { return "shadow"; }
1365
- static get originalStyleUrls() {
1366
- return {
1367
- "$": ["kup-tree.scss"]
1368
- };
1369
- }
1370
- static get styleUrls() {
1371
- return {
1372
- "$": ["kup-tree.css"]
1373
- };
1374
- }
1375
- static get properties() {
1376
- return {
1377
- "asAccordion": {
1378
- "type": "boolean",
1379
- "mutable": false,
1380
- "complexType": {
1381
- "original": "boolean",
1382
- "resolved": "boolean",
1383
- "references": {}
1384
- },
1385
- "required": false,
1386
- "optional": false,
1387
- "docs": {
1388
- "tags": [{
1389
- "name": "default",
1390
- "text": "false"
1391
- }],
1392
- "text": "When enabled, the first level of depth will give an accordion look to nodes."
1393
- },
1394
- "attribute": "as-accordion",
1395
- "reflect": true,
1396
- "defaultValue": "false"
1397
- },
1398
- "columns": {
1399
- "type": "unknown",
1400
- "mutable": true,
1401
- "complexType": {
1402
- "original": "KupDataColumn[]",
1403
- "resolved": "KupDataColumn[]",
1404
- "references": {
1405
- "KupDataColumn": {
1406
- "location": "import",
1407
- "path": "../../managers/kup-data/kup-data-declarations",
1408
- "id": "src/managers/kup-data/kup-data-declarations.ts::KupDataColumn"
550
+ const details = this.getEventDetails(__classPrivateFieldGet(this, _KupTree_kupManager, "f").getEventPath(e.target, this.rootElement), e);
551
+ if (details.area === 'header') {
552
+ if (details.th && details.column) {
553
+ this.openColumnMenu(details.column.name);
554
+ return details;
1409
555
  }
1410
- }
1411
- },
1412
- "required": false,
1413
- "optional": true,
1414
- "docs": {
1415
- "tags": [],
1416
- "text": "The columns of the tree when tree visualization is active."
1417
- }
1418
- },
1419
- "customStyle": {
1420
- "type": "string",
1421
- "mutable": false,
1422
- "complexType": {
1423
- "original": "string",
1424
- "resolved": "string",
1425
- "references": {}
1426
- },
1427
- "required": false,
1428
- "optional": false,
1429
- "docs": {
1430
- "tags": [{
1431
- "name": "default",
1432
- "text": "\"\""
1433
- }, {
1434
- "name": "see",
1435
- "text": "https://ketchup.smeup.com/ketchup-showcase/#/customization"
1436
- }],
1437
- "text": "Custom style of the component."
1438
- },
1439
- "attribute": "custom-style",
1440
- "reflect": false,
1441
- "defaultValue": "''"
1442
- },
1443
- "data": {
1444
- "type": "unknown",
1445
- "mutable": true,
1446
- "complexType": {
1447
- "original": "KupTreeNode[]",
1448
- "resolved": "KupTreeNode[]",
1449
- "references": {
1450
- "KupTreeNode": {
1451
- "location": "import",
1452
- "path": "./kup-tree-declarations",
1453
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNode"
556
+ }
557
+ else if (details.area === 'footer') {
558
+ if (details.td && details.column) {
559
+ this.totalMenuCoords = { x: e.clientX, y: e.clientY };
560
+ this.onTotalMenuOpen(details.column);
561
+ return details;
1454
562
  }
1455
- }
1456
- },
1457
- "required": false,
1458
- "optional": false,
1459
- "docs": {
1460
- "tags": [],
1461
- "text": "The json data used to populate the tree view: the basic, always visible tree nodes."
1462
- },
1463
- "defaultValue": "[]"
1464
- },
1465
- "density": {
1466
- "type": "string",
1467
- "mutable": false,
1468
- "complexType": {
1469
- "original": "FCellPadding",
1470
- "resolved": "FCellPadding.DENSE | FCellPadding.MEDIUM | FCellPadding.NONE | FCellPadding.WIDE",
1471
- "references": {
1472
- "FCellPadding": {
1473
- "location": "import",
1474
- "path": "../../f-components/f-cell/f-cell-declarations",
1475
- "id": "src/f-components/f-cell/f-cell-declarations.ts::FCellPadding"
563
+ }
564
+ return details;
565
+ }
566
+ // When a TreeNode can be selected
567
+ hdlTreeNodeClick(e, treeNodeData, treeNodePath) {
568
+ if (this.expansionMode.toLowerCase() ===
569
+ KupTreeExpansionMode.DROPDOWN ||
570
+ (this.expansionMode.toLowerCase() === KupTreeExpansionMode.NODE &&
571
+ !treeNodeData.expandable)) {
572
+ const td = e
573
+ ? __classPrivateFieldGet(this, _KupTree_kupManager, "f")
574
+ .getEventPath(e.target, this.rootElement)
575
+ .find((el) => {
576
+ if (el.tagName === 'TD')
577
+ return el;
578
+ })
579
+ : null;
580
+ // If this TreeNode is not disabled, then it can be selected and an event is emitted
581
+ if (treeNodeData && !treeNodeData.disabled) {
582
+ this.selectedNode = treeNodePath
583
+ .split(',')
584
+ .map((treeNodeIndex) => parseInt(treeNodeIndex));
585
+ this.kupTreeNodeSelected.emit({
586
+ comp: this,
587
+ id: this.rootElement.id,
588
+ treeNodePath: this.selectedNode,
589
+ treeNode: treeNodeData,
590
+ columnName: td ? td.dataset.column : null,
591
+ });
1476
592
  }
1477
- }
1478
- },
1479
- "required": false,
1480
- "optional": false,
1481
- "docs": {
1482
- "tags": [],
1483
- "text": "The density of the rows, defaults at 'medium' and can also be set to 'dense' or 'wide'."
1484
- },
1485
- "attribute": "density",
1486
- "reflect": false,
1487
- "defaultValue": "FCellPadding.MEDIUM"
1488
- },
1489
- "dynamicExpansionCallback": {
1490
- "type": "unknown",
1491
- "mutable": false,
1492
- "complexType": {
1493
- "original": "(\r\n treeNodeToExpand: KupTreeNode,\r\n treeNodePath: TreeNodePath\r\n ) => Promise<KupTreeNode[]> | undefined",
1494
- "resolved": "(treeNodeToExpand: KupTreeNode, treeNodePath: TreeNodePath) => Promise<KupTreeNode[]>",
1495
- "references": {
1496
- "KupTreeNode": {
1497
- "location": "import",
1498
- "path": "./kup-tree-declarations",
1499
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNode"
1500
- },
1501
- "TreeNodePath": {
1502
- "location": "import",
1503
- "path": "./kup-tree-declarations",
1504
- "id": "src/components/kup-tree/kup-tree-declarations.ts::TreeNodePath"
1505
- },
1506
- "Promise": {
1507
- "location": "global",
1508
- "id": "global::Promise"
593
+ }
594
+ // If KupTreeExpansionMode.NODE then click is a collapse/expand click
595
+ if (this.expansionMode.toLowerCase() === KupTreeExpansionMode.NODE) {
596
+ this.hdlTreeNodeExpanderClick(treeNodeData, treeNodePath, e ? e.ctrlKey : false);
597
+ }
598
+ }
599
+ // When a TreeNode must be expanded or closed.
600
+ hdlTreeNodeExpanderClick(treeNodeData, treeNodePath, ctrlKey) {
601
+ // If the node is expandable
602
+ if (treeNodeData.expandable) {
603
+ // Always composes the tree node path as an array
604
+ const arrayTreeNodePath = treeNodePath
605
+ .split(',')
606
+ .map((index) => parseInt(index));
607
+ // There are already children set in this TreeNode -> expand or collapse node and emit appropriate event
608
+ if (treeNodeData.children && treeNodeData.children.length) {
609
+ // Updates expanded state and force rerender
610
+ treeNodeData.isExpanded = !treeNodeData.isExpanded;
611
+ if (ctrlKey) {
612
+ this.handleChildren(treeNodeData, treeNodeData.isExpanded);
613
+ }
614
+ this.refresh();
615
+ if (treeNodeData.isExpanded) {
616
+ // TreeNode is now expanded -> Fires expanded event
617
+ this.kupTreeNodeExpand.emit({
618
+ comp: this,
619
+ id: this.rootElement.id,
620
+ treeNodePath: arrayTreeNodePath,
621
+ treeNode: treeNodeData,
622
+ usesDynamicExpansion: this.useDynamicExpansion,
623
+ });
624
+ }
625
+ else {
626
+ // TreeNode is now collapsed -> Fires collapsed event
627
+ this.kupTreeNodeCollapse.emit({
628
+ comp: this,
629
+ id: this.rootElement.id,
630
+ treeNodePath: arrayTreeNodePath,
631
+ treeNode: treeNodeData,
632
+ });
633
+ }
1509
634
  }
1510
- }
1511
- },
1512
- "required": false,
1513
- "optional": false,
1514
- "docs": {
1515
- "tags": [{
1516
- "name": "see",
1517
- "text": "useDynamicExpansion"
1518
- }],
1519
- "text": "Function that gets invoked when a new set of nodes must be loaded as children of a node.\r\n\r\nWhen useDynamicExpansion is set, the tree component will have two different behaviors depending on the value of this prop.\r\n1 - If this prop is set to null, no callback to download data is available:\r\n the component will emit an event requiring the parent to load the children of the given node.\r\n2 - If this prop is set to have a callback, then the component will automatically make requests to load children of\r\n a given node. After the load has been completed, a different event will be fired to alert the parent of the change."
1520
- },
1521
- "defaultValue": "undefined"
1522
- },
1523
- "editableData": {
1524
- "type": "boolean",
1525
- "mutable": false,
1526
- "complexType": {
1527
- "original": "boolean",
1528
- "resolved": "boolean",
1529
- "references": {}
1530
- },
1531
- "required": false,
1532
- "optional": false,
1533
- "docs": {
1534
- "tags": [{
1535
- "name": "default",
1536
- "text": "false"
1537
- }],
1538
- "text": "When set to true, editable cells will be rendered using input components."
1539
- },
1540
- "attribute": "editable-data",
1541
- "reflect": false,
1542
- "defaultValue": "false"
1543
- },
1544
- "enableExtraColumns": {
1545
- "type": "boolean",
1546
- "mutable": false,
1547
- "complexType": {
1548
- "original": "boolean",
1549
- "resolved": "boolean",
1550
- "references": {}
1551
- },
1552
- "required": false,
1553
- "optional": false,
1554
- "docs": {
1555
- "tags": [],
1556
- "text": "Enables the extracolumns add buttons."
1557
- },
1558
- "attribute": "enable-extra-columns",
1559
- "reflect": false,
1560
- "defaultValue": "true"
1561
- },
1562
- "expanded": {
1563
- "type": "boolean",
1564
- "mutable": false,
1565
- "complexType": {
1566
- "original": "boolean",
1567
- "resolved": "boolean",
1568
- "references": {}
1569
- },
1570
- "required": false,
1571
- "optional": false,
1572
- "docs": {
1573
- "tags": [],
1574
- "text": "Flag: the nodes of the whole tree must be already expanded upon loading. Disabled nodes do NOT get expanded."
1575
- },
1576
- "attribute": "expanded",
1577
- "reflect": false,
1578
- "defaultValue": "false"
1579
- },
1580
- "expansionMode": {
1581
- "type": "string",
1582
- "mutable": false,
1583
- "complexType": {
1584
- "original": "KupTreeExpansionMode",
1585
- "resolved": "KupTreeExpansionMode.DROPDOWN | KupTreeExpansionMode.NODE",
1586
- "references": {
1587
- "KupTreeExpansionMode": {
1588
- "location": "import",
1589
- "path": "./kup-tree-declarations",
1590
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeExpansionMode"
635
+ else if (this.useDynamicExpansion) {
636
+ if (ctrlKey) {
637
+ this.kupTreeDynamicMassExpansion.emit({
638
+ comp: this,
639
+ id: this.rootElement.id,
640
+ treeNodePath: arrayTreeNodePath,
641
+ treeNode: treeNodeData,
642
+ });
643
+ }
644
+ // When the component must use the dynamic expansion feature
645
+ // Currently it does not support the expanded prop
646
+ // Checks if we have a dynamicExpansionCallback or not
647
+ if (this.dynamicExpansionCallback) {
648
+ // We have a callback: invokes it and after the result is returned updates the tree
649
+ this.dynamicExpansionCallback(treeNodeData, arrayTreeNodePath)
650
+ .then((childrenTreeNodes) => {
651
+ // Children returned successfully
652
+ treeNodeData.children = childrenTreeNodes;
653
+ treeNodeData.isExpanded = !treeNodeData.isExpanded;
654
+ this.refresh();
655
+ // TreeNode is now expanded -> Fires expanded event
656
+ this.kupTreeNodeExpand.emit({
657
+ comp: this,
658
+ id: this.rootElement.id,
659
+ treeNodePath: arrayTreeNodePath,
660
+ treeNode: treeNodeData,
661
+ usesDynamicExpansion: true,
662
+ });
663
+ })
664
+ .catch((err) => {
665
+ console.error('KupTree: An error occurred when trying to fetch dynamicExpansion nodes data', err, treeNodeData);
666
+ });
667
+ }
668
+ else {
669
+ // we do NOT have a callback set.
670
+ // Fires the expand request for the given TreeNode and set the appropriate flag
671
+ this.kupTreeNodeExpand.emit({
672
+ comp: this,
673
+ id: this.rootElement.id,
674
+ treeNode: treeNodeData,
675
+ treeNodePath: arrayTreeNodePath,
676
+ usesDynamicExpansion: true,
677
+ dynamicExpansionRequireChildren: true,
678
+ });
679
+ treeNodeData.isExpanded = !treeNodeData.isExpanded;
680
+ }
1591
681
  }
1592
- }
1593
- },
1594
- "required": false,
1595
- "optional": false,
1596
- "docs": {
1597
- "tags": [{
1598
- "name": "default",
1599
- "text": "KupTreeExpansionMode.DROPDOWN"
1600
- }],
1601
- "text": "Behavior of nodes' expansion: it can be chosen between expanding a node by clicking on the dropdown icon, or by clicking on the whole node."
1602
- },
1603
- "attribute": "expansion-mode",
1604
- "reflect": false,
1605
- "defaultValue": "KupTreeExpansionMode.DROPDOWN"
1606
- },
1607
- "filters": {
1608
- "type": "unknown",
1609
- "mutable": true,
1610
- "complexType": {
1611
- "original": "GenericFilter",
1612
- "resolved": "GenericFilter",
1613
- "references": {
1614
- "GenericFilter": {
1615
- "location": "import",
1616
- "path": "../../utils/filters/filters-declarations",
1617
- "id": "src/utils/filters/filters-declarations.ts::GenericFilter"
682
+ }
683
+ }
684
+ hasTotals() {
685
+ return this.totals && Object.keys(this.totals).length > 0;
686
+ }
687
+ handleChildren(treeNode, expand) {
688
+ for (let index = 0; index < treeNode.children.length; index++) {
689
+ let node = treeNode.children[index];
690
+ if (!node.disabled) {
691
+ node.isExpanded = expand;
692
+ if (node.children) {
693
+ this.handleChildren(node, expand);
694
+ }
1618
695
  }
1619
- }
1620
- },
1621
- "required": false,
1622
- "optional": false,
1623
- "docs": {
1624
- "tags": [],
1625
- "text": "List of filters set by the user."
1626
- },
1627
- "defaultValue": "{}"
1628
- },
1629
- "globalFilter": {
1630
- "type": "boolean",
1631
- "mutable": false,
1632
- "complexType": {
1633
- "original": "boolean",
1634
- "resolved": "boolean",
1635
- "references": {}
1636
- },
1637
- "required": false,
1638
- "optional": false,
1639
- "docs": {
1640
- "tags": [],
1641
- "text": "When set to true it activates the global filter."
1642
- },
1643
- "attribute": "global-filter",
1644
- "reflect": false,
1645
- "defaultValue": "false"
1646
- },
1647
- "globalFilterValue": {
1648
- "type": "string",
1649
- "mutable": true,
1650
- "complexType": {
1651
- "original": "string",
1652
- "resolved": "string",
1653
- "references": {}
1654
- },
1655
- "required": false,
1656
- "optional": false,
1657
- "docs": {
1658
- "tags": [],
1659
- "text": "The value of the global filter."
1660
- },
1661
- "attribute": "global-filter-value",
1662
- "reflect": true,
1663
- "defaultValue": "''"
1664
- },
1665
- "globalFilterMode": {
1666
- "type": "string",
1667
- "mutable": false,
1668
- "complexType": {
1669
- "original": "KupGlobalFilterMode",
1670
- "resolved": "KupGlobalFilterMode.HIGHLIGHT | KupGlobalFilterMode.SIMPLE",
1671
- "references": {
1672
- "KupGlobalFilterMode": {
1673
- "location": "import",
1674
- "path": "../../utils/filters/filters-declarations",
1675
- "id": "src/utils/filters/filters-declarations.ts::KupGlobalFilterMode"
696
+ }
697
+ }
698
+ /**
699
+ * Given a nodePath, transform that array into
700
+ * @param nodePath
701
+ */
702
+ selectedNodeToString(nodePath) {
703
+ let strToRet = '';
704
+ if (nodePath && nodePath.length) {
705
+ strToRet = nodePath[0].toString();
706
+ for (let i = 1; i < nodePath.length; i++) {
707
+ strToRet += `,${nodePath[i]}`;
1676
708
  }
1677
- }
1678
- },
1679
- "required": false,
1680
- "optional": false,
1681
- "docs": {
1682
- "tags": [],
1683
- "text": "The mode of the global filter (default SIMPLE)"
1684
- },
1685
- "attribute": "global-filter-mode",
1686
- "reflect": false,
1687
- "defaultValue": "KupGlobalFilterMode.SIMPLE"
1688
- },
1689
- "preventXScroll": {
1690
- "type": "boolean",
1691
- "mutable": false,
1692
- "complexType": {
1693
- "original": "boolean",
1694
- "resolved": "boolean",
1695
- "references": {}
1696
- },
1697
- "required": false,
1698
- "optional": false,
1699
- "docs": {
1700
- "tags": [{
1701
- "name": "default",
1702
- "text": "false;"
1703
- }],
1704
- "text": "Experimental feature: when active, the tree will try to prevent horizontal overflowing elements by setting a width on the content of the table cells.\r\nIt works only on cells of the main column."
1705
- },
1706
- "attribute": "prevent-x-scroll",
1707
- "reflect": true,
1708
- "defaultValue": "false"
1709
- },
1710
- "removableColumns": {
1711
- "type": "boolean",
1712
- "mutable": false,
1713
- "complexType": {
1714
- "original": "boolean",
1715
- "resolved": "boolean",
1716
- "references": {}
1717
- },
1718
- "required": false,
1719
- "optional": false,
1720
- "docs": {
1721
- "tags": [],
1722
- "text": "Sets the possibility to remove the selected column."
1723
- },
1724
- "attribute": "removable-columns",
1725
- "reflect": false,
1726
- "defaultValue": "true"
1727
- },
1728
- "ripple": {
1729
- "type": "boolean",
1730
- "mutable": false,
1731
- "complexType": {
1732
- "original": "boolean",
1733
- "resolved": "boolean",
1734
- "references": {}
1735
- },
1736
- "required": false,
1737
- "optional": false,
1738
- "docs": {
1739
- "tags": [{
1740
- "name": "default",
1741
- "text": "true"
1742
- }],
1743
- "text": "When enabled displays Material's ripple effect on nodes (only when no columns are displayed)."
1744
- },
1745
- "attribute": "ripple",
1746
- "reflect": false,
1747
- "defaultValue": "true"
1748
- },
1749
- "scrollOnHover": {
1750
- "type": "boolean",
1751
- "mutable": false,
1752
- "complexType": {
1753
- "original": "boolean",
1754
- "resolved": "boolean",
1755
- "references": {}
1756
- },
1757
- "required": false,
1758
- "optional": false,
1759
- "docs": {
1760
- "tags": [],
1761
- "text": "Activates the scroll on hover function."
1762
- },
1763
- "attribute": "scroll-on-hover",
1764
- "reflect": false,
1765
- "defaultValue": "false"
1766
- },
1767
- "showColumns": {
1768
- "type": "boolean",
1769
- "mutable": true,
1770
- "complexType": {
1771
- "original": "boolean",
1772
- "resolved": "boolean",
1773
- "references": {}
1774
- },
1775
- "required": false,
1776
- "optional": false,
1777
- "docs": {
1778
- "tags": [],
1779
- "text": "Shows the tree data as a table."
1780
- },
1781
- "attribute": "show-columns",
1782
- "reflect": false,
1783
- "defaultValue": "false"
1784
- },
1785
- "showFilters": {
1786
- "type": "boolean",
1787
- "mutable": false,
1788
- "complexType": {
1789
- "original": "boolean",
1790
- "resolved": "boolean",
1791
- "references": {}
1792
- },
1793
- "required": false,
1794
- "optional": false,
1795
- "docs": {
1796
- "tags": [],
1797
- "text": "When set to true enables the column filters."
1798
- },
1799
- "attribute": "show-filters",
1800
- "reflect": false,
1801
- "defaultValue": "true"
1802
- },
1803
- "showFooter": {
1804
- "type": "boolean",
1805
- "mutable": false,
1806
- "complexType": {
1807
- "original": "boolean",
1808
- "resolved": "boolean",
1809
- "references": {}
1810
- },
1811
- "required": false,
1812
- "optional": false,
1813
- "docs": {
1814
- "tags": [],
1815
- "text": "When set to true shows the footer."
1816
- },
1817
- "attribute": "show-footer",
1818
- "reflect": false,
1819
- "defaultValue": "false"
1820
- },
1821
- "showHeader": {
1822
- "type": "boolean",
1823
- "mutable": true,
1824
- "complexType": {
1825
- "original": "boolean",
1826
- "resolved": "boolean",
1827
- "references": {}
1828
- },
1829
- "required": false,
1830
- "optional": false,
1831
- "docs": {
1832
- "tags": [{
1833
- "name": "see",
1834
- "text": "showColumns"
1835
- }],
1836
- "text": "Flag: shows the header of the tree when the tree is displayed as a table."
1837
- },
1838
- "attribute": "show-header",
1839
- "reflect": false,
1840
- "defaultValue": "false"
1841
- },
1842
- "showIcons": {
1843
- "type": "boolean",
1844
- "mutable": false,
1845
- "complexType": {
1846
- "original": "boolean",
1847
- "resolved": "boolean",
1848
- "references": {}
1849
- },
1850
- "required": false,
1851
- "optional": false,
1852
- "docs": {
1853
- "tags": [],
1854
- "text": "Shows the icons of the nodes."
1855
- },
1856
- "attribute": "show-icons",
1857
- "reflect": false,
1858
- "defaultValue": "true"
1859
- },
1860
- "stateId": {
1861
- "type": "string",
1862
- "mutable": false,
1863
- "complexType": {
1864
- "original": "string",
1865
- "resolved": "string",
1866
- "references": {}
1867
- },
1868
- "required": false,
1869
- "optional": false,
1870
- "docs": {
1871
- "tags": [],
1872
- "text": ""
1873
- },
1874
- "attribute": "state-id",
1875
- "reflect": false,
1876
- "defaultValue": "''"
1877
- },
1878
- "store": {
1879
- "type": "unknown",
1880
- "mutable": false,
1881
- "complexType": {
1882
- "original": "KupStore",
1883
- "resolved": "KupStore",
1884
- "references": {
1885
- "KupStore": {
1886
- "location": "import",
1887
- "path": "../kup-state/kup-store",
1888
- "id": "src/components/kup-state/kup-store.ts::KupStore"
709
+ }
710
+ return strToRet;
711
+ }
712
+ getFilterValueForTooltip(column) {
713
+ return this.filtersColumnMenuInstance.getFilterValueForTooltip(this.filters, column);
714
+ }
715
+ getTreeNode(nodePath) {
716
+ if (!nodePath || nodePath.length == 0) {
717
+ return null;
718
+ }
719
+ let father = this.data;
720
+ let node = null;
721
+ for (let index = 0; index < nodePath.length; index++) {
722
+ if (node) {
723
+ father = node.children;
1889
724
  }
1890
- }
1891
- },
1892
- "required": false,
1893
- "optional": false,
1894
- "docs": {
1895
- "tags": [],
1896
- "text": ""
1897
- }
1898
- },
1899
- "useDynamicExpansion": {
1900
- "type": "boolean",
1901
- "mutable": false,
1902
- "complexType": {
1903
- "original": "boolean",
1904
- "resolved": "boolean",
1905
- "references": {}
1906
- },
1907
- "required": false,
1908
- "optional": false,
1909
- "docs": {
1910
- "tags": [{
1911
- "name": "see",
1912
- "text": "dynamicExpansionCallback"
1913
- }],
1914
- "text": "When the component must use the dynamic expansion feature to open its nodes, it means that not all the nodes of the\r\ntree have been passed inside the data property.\r\n\r\nTherefore, when expanding a node, the tree must emit an event (or run a given callback)\r\nand wait for the child nodes to be downloaded from the server.\r\n\r\nFor more information:"
1915
- },
1916
- "attribute": "use-dynamic-expansion",
1917
- "reflect": false,
1918
- "defaultValue": "false"
1919
- },
1920
- "totals": {
1921
- "type": "unknown",
1922
- "mutable": true,
1923
- "complexType": {
1924
- "original": "TotalsMap",
1925
- "resolved": "TotalsMap",
1926
- "references": {
1927
- "TotalsMap": {
1928
- "location": "import",
1929
- "path": "./../kup-data-table/kup-data-table-declarations",
1930
- "id": "src/components/kup-data-table/kup-data-table-declarations.ts::TotalsMap"
725
+ const nodeIndex = nodePath[index];
726
+ node = father[nodeIndex];
727
+ }
728
+ return node;
729
+ }
730
+ onRemoveFilter(column) {
731
+ const newFilters = Object.assign({}, this.filters);
732
+ this.filtersColumnMenuInstance.removeFilter(newFilters, column.name);
733
+ this.filters = newFilters;
734
+ }
735
+ onGlobalFilterChange({ detail }) {
736
+ let value = '';
737
+ if (detail && detail.value) {
738
+ value = detail.value;
739
+ }
740
+ this.globalFilterValue = value;
741
+ }
742
+ getColumnValues(column) {
743
+ return this.filtersTreeItemsInstance.getColumnValues(this, column, this.globalFilterValue, this.filtersColumnMenuInstance);
744
+ }
745
+ getRows() {
746
+ return this.data ? this.data : [];
747
+ }
748
+ filterNodes() {
749
+ let items = this.filtersTreeItemsInstance.filterRows(this.getRows(), this.filters, this.globalFilterValue, this.getColumns(), this.filtersColumnMenuInstance);
750
+ this.visibleNodes = this.calculateVisibleNodes(items);
751
+ }
752
+ calculateVisibleNodes(items) {
753
+ let count = 0;
754
+ if (items) {
755
+ items.forEach((element) => {
756
+ if (element.visible) {
757
+ count++;
758
+ }
759
+ count += this.calculateVisibleNodes(element.children);
760
+ });
761
+ }
762
+ return count;
763
+ }
764
+ refreshStructureState() {
765
+ if (this.data) {
766
+ if (this.data.columns) {
767
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logMessage(this, 'Detected KupDataDataset: setting up tree as grid.', KupDebugCategory.WARNING);
768
+ const data = this.data;
769
+ this.columns = data.columns;
770
+ this.data = __classPrivateFieldGet(this, _KupTree_kupManager, "f").data.row.toNode(data);
771
+ this.showColumns = true;
772
+ this.showHeader = true;
1931
773
  }
1932
- }
1933
- },
1934
- "required": false,
1935
- "optional": false,
1936
- "docs": {
1937
- "tags": [],
1938
- "text": "Defines the current totals options."
1939
- }
1940
- }
1941
- };
1942
- }
1943
- static get states() {
1944
- return {
1945
- "treeColumnVisible": {},
1946
- "openedTotalMenu": {},
1947
- "columnMenuAnchor": {},
1948
- "stateSwitcher": {},
1949
- "selectedNode": {}
1950
- };
1951
- }
1952
- static get events() {
1953
- return [{
1954
- "method": "kupTreeNodeCollapse",
1955
- "name": "kup-tree-nodecollapse",
1956
- "bubbles": true,
1957
- "cancelable": false,
1958
- "composed": true,
1959
- "docs": {
1960
- "tags": [],
1961
- "text": "Fired when a KupTreeNode gets collapsed (closed)."
1962
- },
1963
- "complexType": {
1964
- "original": "KupTreeNodeCollapseEventPayload",
1965
- "resolved": "KupTreeNodeCollapseEventPayload",
1966
- "references": {
1967
- "KupTreeNodeCollapseEventPayload": {
1968
- "location": "import",
1969
- "path": "./kup-tree-declarations",
1970
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNodeCollapseEventPayload"
774
+ // When the nodes must be expanded upon loading and the tree is not using a dynamicExpansion (and the current TreeNode is not disabled)
775
+ // the default value of the treeExpandedPropName is set to true
776
+ this.data.forEach((rootNode) => {
777
+ this.expandCollapseAllNodes(rootNode, this.expanded && !this.useDynamicExpansion);
778
+ });
779
+ this.selectedNode = [];
780
+ }
781
+ }
782
+ createIconElement(CSSClass, icon, iconColor) {
783
+ if (icon.indexOf('.') > -1 ||
784
+ icon.indexOf('/') > -1 ||
785
+ icon.indexOf('\\') > -1) {
786
+ CSSClass += ' is-image';
787
+ return (h("span", { class: CSSClass }, h("img", { src: icon })));
788
+ }
789
+ else {
790
+ let svg = `url('${getAssetPath(`./assets/svg/${icon}.svg`)}') no-repeat center`;
791
+ CSSClass += ' kup-icon';
792
+ let iconStyle = Object.assign(Object.assign({}, (iconColor ? { background: iconColor } : {})), { mask: svg, webkitMask: svg });
793
+ return h("span", { style: iconStyle, class: CSSClass });
794
+ }
795
+ }
796
+ getCellStyle(colName, cellStyle) {
797
+ // Controls if there are columns with a specified width
798
+ if (this.sizedColumns) {
799
+ let colWidth = '';
800
+ // Search if this column has a specified width
801
+ for (let j = 0; j < this.sizedColumns.length; j++) {
802
+ if (colName === this.sizedColumns[j].name) {
803
+ colWidth = this.sizedColumns[j].size;
804
+ break;
805
+ }
1971
806
  }
1972
- }
1973
- }
1974
- }, {
1975
- "method": "kupTreeNodeExpand",
1976
- "name": "kup-tree-nodeexpand",
1977
- "bubbles": true,
1978
- "cancelable": false,
1979
- "composed": true,
1980
- "docs": {
1981
- "tags": [{
1982
- "name": "event",
1983
- "text": "kup-tree-nodeexpand"
1984
- }, {
1985
- "name": "type",
1986
- "text": "{object}"
1987
- }, {
1988
- "name": "property",
1989
- "text": "{TreeNodePath} treeNodePath - The array of indexes to retrieve the current treeNode inside the data prop."
1990
- }, {
1991
- "name": "property",
1992
- "text": "{KupTreeNode} treeNode - Reference to the KupTreeNode data object which is being expanded (passed through the data prop)."
1993
- }, {
1994
- "name": "property",
1995
- "text": "{boolean} usesDynamicExpansion - Flag to notify that the component is running in dynamicExpansion mode."
1996
- }, {
1997
- "name": "property",
1998
- "text": "{boolean} dynamicExpansionRequireChildren - Flag to notify that the current dynamicExpansion event\r\nrequires the parent component to add KupTreeNode children to the given KupTreeNode."
1999
- }, {
2000
- "name": "see",
2001
- "text": "useDynamicExpansion *"
2002
- }, {
2003
- "name": "see",
2004
- "text": "dynamicExpansionCallback *"
2005
- }, {
2006
- "name": "since",
2007
- "text": "1.0.0"
2008
- }],
2009
- "text": "Fired when a node expansion ion has been triggered.\r\nContains additional data when the tree is using the dynamicExpansion feature."
2010
- },
2011
- "complexType": {
2012
- "original": "KupTreeNodeExpandEventPayload",
2013
- "resolved": "KupTreeNodeExpandEventPayload",
2014
- "references": {
2015
- "KupTreeNodeExpandEventPayload": {
2016
- "location": "import",
2017
- "path": "./kup-tree-declarations",
2018
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNodeExpandEventPayload"
807
+ // Specific width has been found
808
+ if (colWidth) {
809
+ if (!cellStyle) {
810
+ cellStyle = {};
811
+ }
812
+ // Sets the width.
813
+ cellStyle['max-width'] = colWidth;
814
+ cellStyle['min-width'] = colWidth;
815
+ cellStyle['width'] = colWidth;
816
+ cellStyle['overflow'] = 'hidden';
2019
817
  }
2020
- }
2021
- }
2022
- }, {
2023
- "method": "kupTreeNodeSelected",
2024
- "name": "kup-tree-nodeselected",
2025
- "bubbles": true,
2026
- "cancelable": false,
2027
- "composed": true,
2028
- "docs": {
2029
- "tags": [],
2030
- "text": "Fired when a node of the tree has been selected"
2031
- },
2032
- "complexType": {
2033
- "original": "KupTreeNodeSelectedEventPayload",
2034
- "resolved": "KupTreeNodeSelectedEventPayload",
2035
- "references": {
2036
- "KupTreeNodeSelectedEventPayload": {
2037
- "location": "import",
2038
- "path": "./kup-tree-declarations",
2039
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNodeSelectedEventPayload"
818
+ }
819
+ return cellStyle;
820
+ }
821
+ /**
822
+ * Renders the header of the tree when it must be displayed as a table.
823
+ * @returns An array of table header cells.
824
+ */
825
+ renderHeader() {
826
+ return this.getHeadingColumns().map((column) => {
827
+ if (!this.isTreeColumnVisible() &&
828
+ column.name === treeMainColumnName)
829
+ return;
830
+ //---- Filter ----
831
+ let filter = null;
832
+ if (this.filtersColumnMenuInstance.hasFiltersForColumn(this.filters, column)) {
833
+ const svgLabel = __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageGeneric.REMOVE_FILTERS) + `: '${this.getFilterValueForTooltip(column)}'`;
834
+ /**
835
+ * When column has a filter but filters must not be displayed, shows an icon to remove the filter.
836
+ * Upon click, the filter gets removed.
837
+ */
838
+ filter = (h("span", { title: svgLabel, class: `kup-icon ${KupThemeIconValues.FILTER_REMOVE.replace('--', '')}`, onClick: (e) => {
839
+ e.stopPropagation();
840
+ this.onRemoveFilter(column);
841
+ } }));
842
+ }
843
+ return (h("th", { "data-column": column.name, style: this.getCellStyle(column.name, null) }, h("span", { class: "column-title" }, column.title), filter));
844
+ });
845
+ }
846
+ /**
847
+ * Renders a content with a part highlighted.
848
+ * NOTE: same in kup-accordion and in kup-tree
849
+ */
850
+ renderHighlightedContent(content, highlight, styleClass) {
851
+ let contentSlices = [];
852
+ if (highlight && content) {
853
+ let contentPart = content;
854
+ let end = contentPart
855
+ .toLowerCase()
856
+ .indexOf(highlight.toLowerCase());
857
+ while (end > -1) {
858
+ contentSlices.push(contentPart.substring(0, end));
859
+ contentSlices.push(h("span", { class: styleClass + '--highlighted' }, contentPart.substring(end, end + highlight.length)));
860
+ contentPart = contentPart.substring(end + highlight.length, contentPart.length);
861
+ end = contentPart
862
+ .toLowerCase()
863
+ .indexOf(highlight.toLowerCase());
864
+ }
865
+ if (end < contentPart.length) {
866
+ contentSlices.push(contentPart.substring(end, contentPart.length));
867
+ }
868
+ }
869
+ else {
870
+ contentSlices.push(content);
871
+ }
872
+ return (h("span", { class: styleClass, ref: (el) => this.contentRefs.push(el), title: this.preventXScroll ? content : null }, contentSlices));
873
+ }
874
+ /**
875
+ * Given a KupTreeNode, reads through its data then composes and returns its JSX object.
876
+ * @param treeNodeData - The KupTreeNode object to parse.
877
+ * @param treeNodePath - A string containing the comma(,) separated indexes of the KupTreeNodes to use,
878
+ * sorted from left to right, to access the current KupTreeNode starting from the data prop children object.
879
+ * @param treeNodeDepth - An integer to keep track of the depth level of the current KupTreeNode. Used for indentation.
880
+ * @returns The the JSX created from the current tree node.
881
+ */
882
+ renderTreeNode(treeNodeData, treeNodePath, treeNodeDepth = 0) {
883
+ // Creates the indentation of the current element. Use a css variable to specify padding.
884
+ let indent = treeNodeDepth ? (h("span", { class: "kup-tree__indent", style: {
885
+ ['--kup_tree_node_depth']: this.asAccordion
886
+ ? (treeNodeDepth - 1).toString()
887
+ : treeNodeDepth.toString(),
888
+ } })) : null;
889
+ // If the tree node is expandable, adds the icon to show the expansion.
890
+ // If expandable, also add the callback on the click action.
891
+ // If it is not expandable, we simply add a placeholder with no icons.
892
+ const hasExpandIcon = !!(treeNodeData.expandable &&
893
+ ((treeNodeData.children && treeNodeData.children.length) ||
894
+ this.useDynamicExpansion));
895
+ let expandClass = 'expand-icon kup-tree__icon kup-tree__node__expander';
896
+ if (hasExpandIcon) {
897
+ expandClass += ' kup-icon';
898
+ if (this.asAccordion && treeNodeDepth === 0) {
899
+ expandClass += ` ${KupThemeIconValues.DROPDOWN.replace('--', '')}`;
900
+ }
901
+ else if (treeNodeData.isExpanded) {
902
+ expandClass += ` ${KupThemeIconValues.EXPANDED.replace('--', '')}`;
2040
903
  }
2041
- }
2042
- }
2043
- }, {
2044
- "method": "kupTreeNodeButtonClick",
2045
- "name": "kup-tree-buttonclick",
2046
- "bubbles": true,
2047
- "cancelable": false,
2048
- "composed": true,
2049
- "docs": {
2050
- "tags": [],
2051
- "text": ""
2052
- },
2053
- "complexType": {
2054
- "original": "KupTreeNodeButtonClickEventPayload",
2055
- "resolved": "KupTreeNodeButtonClickEventPayload",
2056
- "references": {
2057
- "KupTreeNodeButtonClickEventPayload": {
2058
- "location": "import",
2059
- "path": "./kup-tree-declarations",
2060
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNodeButtonClickEventPayload"
904
+ else {
905
+ expandClass += ` ${KupThemeIconValues.COLLAPSED.replace('--', '')}`;
2061
906
  }
2062
- }
2063
- }
2064
- }, {
2065
- "method": "kupTreeContextMenu",
2066
- "name": "kup-tree-contextmenu",
2067
- "bubbles": true,
2068
- "cancelable": false,
2069
- "composed": true,
2070
- "docs": {
2071
- "tags": [],
2072
- "text": "Generic right click event on tree."
2073
- },
2074
- "complexType": {
2075
- "original": "KupTreeContextMenuEventPayload",
2076
- "resolved": "KupTreeContextMenuEventPayload",
2077
- "references": {
2078
- "KupTreeContextMenuEventPayload": {
2079
- "location": "import",
2080
- "path": "./kup-tree-declarations",
2081
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeContextMenuEventPayload"
907
+ }
908
+ let treeExpandIcon = (h("span", { title: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageGeneric.EXPAND) +
909
+ '/' +
910
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageGeneric.COLLAPSE) +
911
+ ' (CTRL + Click)', class: expandClass, onClick: this.expansionMode.toLowerCase() ===
912
+ KupTreeExpansionMode.DROPDOWN && !treeNodeData.disabled
913
+ ? (event) => {
914
+ event.stopPropagation();
915
+ this.hdlTreeNodeExpanderClick(treeNodeData, treeNodePath, event.ctrlKey);
916
+ }
917
+ : null }));
918
+ // When TreeNode icons are visible, creates the icon if one is specified
919
+ let treeNodeIcon = null;
920
+ if (this.showIcons) {
921
+ if (treeNodeData.icon) {
922
+ if (treeNodeData.icon === '') {
923
+ treeNodeIcon = h("span", { class: "kup-tree__icon" });
924
+ }
925
+ else {
926
+ treeNodeIcon = this.createIconElement('kup-tree__icon', treeNodeData.icon, treeNodeData.iconColor);
927
+ }
2082
928
  }
2083
- }
2084
- }
2085
- }, {
2086
- "method": "kupTreeColumnMenu",
2087
- "name": "kup-tree-columnmenu",
2088
- "bubbles": true,
2089
- "cancelable": false,
2090
- "composed": true,
2091
- "docs": {
2092
- "tags": [],
2093
- "text": "When the column menu is being opened/closed."
2094
- },
2095
- "complexType": {
2096
- "original": "KupTreeColumnMenuEventPayload",
2097
- "resolved": "KupTreeColumnMenuEventPayload",
2098
- "references": {
2099
- "KupTreeColumnMenuEventPayload": {
2100
- "location": "import",
2101
- "path": "./kup-tree-declarations",
2102
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeColumnMenuEventPayload"
929
+ else {
930
+ treeNodeIcon = null;
2103
931
  }
2104
- }
2105
- }
2106
- }, {
2107
- "method": "kupDidLoad",
2108
- "name": "kup-tree-didload",
2109
- "bubbles": true,
2110
- "cancelable": false,
2111
- "composed": true,
2112
- "docs": {
2113
- "tags": [],
2114
- "text": ""
2115
- },
2116
- "complexType": {
2117
- "original": "KupEventPayload",
2118
- "resolved": "KupEventPayload",
2119
- "references": {
2120
- "KupEventPayload": {
2121
- "location": "import",
2122
- "path": "../../types/GenericTypes",
2123
- "id": "src/types/GenericTypes.ts::KupEventPayload"
932
+ }
933
+ // Composes additional options for the tree node element
934
+ let treeNodeOptions = {};
935
+ if (treeNodeData.hasOwnProperty('isExpanded') &&
936
+ treeNodeData.isExpanded &&
937
+ hasExpandIcon) {
938
+ // If the node is expanded it has this attribute set to if this node is expanded or not.
939
+ treeNodeOptions['data-is-expanded'] = treeNodeData.isExpanded;
940
+ }
941
+ // When can be expanded OR selected
942
+ if (!treeNodeData.disabled) {
943
+ treeNodeOptions['onClick'] = (e) => {
944
+ // Note: event must be cloned
945
+ // otherwise inside setTimeout will be exiting the Shadow DOM scope(causing loss of information, including target).
946
+ const clone = {};
947
+ for (const key in e) {
948
+ clone[key] = e[key];
949
+ }
950
+ this.clickTimeout.push(setTimeout(() => this.hdlTreeNodeClick(clone, treeNodeData, treeNodePath), 300));
951
+ };
952
+ }
953
+ // When a tree node is displayed as a table
954
+ let treeNodeCells = null;
955
+ let visibleCols = this.getVisibleColumns();
956
+ if (this.showColumns && visibleCols && visibleCols.length) {
957
+ treeNodeCells = [];
958
+ // Renders all the cells
959
+ for (let j = 0; j < visibleCols.length; j++) {
960
+ const column = visibleCols[j];
961
+ if (treeNodeData.cells && treeNodeData.cells[column.name]) {
962
+ const cell = treeNodeData.cells[column.name]
963
+ ? treeNodeData.cells[column.name]
964
+ : null;
965
+ const cellProps = {
966
+ cell: cell,
967
+ column: column,
968
+ component: this,
969
+ density: this.density,
970
+ editable: this.editableData,
971
+ renderKup: true,
972
+ row: treeNodeData,
973
+ setSizes: true,
974
+ };
975
+ treeNodeCells.push(h("td", { class: `grid-cell`, "data-cell": cell, "data-column": column.name }, h(FCell, Object.assign({}, cellProps))));
976
+ }
977
+ else {
978
+ treeNodeCells.push(h("td", { class: `grid-cell` }));
979
+ }
2124
980
  }
2125
- }
2126
- }
2127
- }, {
2128
- "method": "kupDidUnload",
2129
- "name": "kup-tree-didunload",
2130
- "bubbles": true,
2131
- "cancelable": false,
2132
- "composed": true,
2133
- "docs": {
2134
- "tags": [],
2135
- "text": "Triggered when stop propagation event"
2136
- },
2137
- "complexType": {
2138
- "original": "KupEventPayload",
2139
- "resolved": "KupEventPayload",
2140
- "references": {
2141
- "KupEventPayload": {
2142
- "location": "import",
2143
- "path": "../../types/GenericTypes",
2144
- "id": "src/types/GenericTypes.ts::KupEventPayload"
981
+ }
982
+ let title = undefined;
983
+ if (!__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.isEmptyKupObj(treeNodeData.obj) &&
984
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.isDebug()) {
985
+ title =
986
+ treeNodeData.obj.t +
987
+ '; ' +
988
+ treeNodeData.obj.p +
989
+ '; ' +
990
+ treeNodeData.obj.k +
991
+ ';';
992
+ }
993
+ let treeNodeCell = null;
994
+ if (this.isTreeColumnVisible()) {
995
+ let content = '';
996
+ if (KupGlobalFilterMode.HIGHLIGHT === this.globalFilterMode) {
997
+ content = this.renderHighlightedContent(treeNodeData.value, this.globalFilterValue, 'cell-content');
2145
998
  }
2146
- }
2147
- }
2148
- }, {
2149
- "method": "kupTreeNodeDblClick",
2150
- "name": "kup-tree-nodedblclick",
2151
- "bubbles": true,
2152
- "cancelable": false,
2153
- "composed": true,
2154
- "docs": {
2155
- "tags": [],
2156
- "text": ""
2157
- },
2158
- "complexType": {
2159
- "original": "KupTreeNodeCollapseEventPayload",
2160
- "resolved": "KupTreeNodeCollapseEventPayload",
2161
- "references": {
2162
- "KupTreeNodeCollapseEventPayload": {
2163
- "location": "import",
2164
- "path": "./kup-tree-declarations",
2165
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNodeCollapseEventPayload"
999
+ else {
1000
+ content = (h("span", { ref: (el) => this.contentRefs.push(el), class: "cell-content", title: this.preventXScroll ? treeNodeData.value : null }, treeNodeData.value));
2166
1001
  }
2167
- }
2168
- }
2169
- }, {
2170
- "method": "kupTreeDynamicMassExpansion",
2171
- "name": "kup-tree-dynamicmassexpansion",
2172
- "bubbles": true,
2173
- "cancelable": false,
2174
- "composed": true,
2175
- "docs": {
2176
- "tags": [],
2177
- "text": ""
2178
- },
2179
- "complexType": {
2180
- "original": "KupTreeDynamicMassExpansionEventPayload",
2181
- "resolved": "KupTreeDynamicMassExpansionEventPayload",
2182
- "references": {
2183
- "KupTreeDynamicMassExpansionEventPayload": {
2184
- "location": "import",
2185
- "path": "./kup-tree-declarations",
2186
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeDynamicMassExpansionEventPayload"
1002
+ treeNodeCell = (h("td", { class: {
1003
+ 'first-node': treeNodeDepth === 0 ? true : false,
1004
+ 'mdc-ripple-surface': this.ripple &&
1005
+ !this.showColumns &&
1006
+ !treeNodeData.disabled,
1007
+ 'is-obj': !__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.isEmptyKupObj(treeNodeData.obj),
1008
+ }, style: treeNodeData.style || null, title: title, onDblClick: () => {
1009
+ this.onKupTreeNodeDblClick(treeNodeData, treeNodePath);
1010
+ } }, this.asAccordion && !treeNodeDepth
1011
+ ? [
1012
+ treeNodeIcon,
1013
+ content,
1014
+ hasExpandIcon ? treeExpandIcon : null,
1015
+ ]
1016
+ : [indent, treeExpandIcon, treeNodeIcon, content]));
1017
+ }
1018
+ return (h("tr", Object.assign({ class: {
1019
+ 'kup-tree__node': true,
1020
+ 'with-dyn': !treeNodeData.disabled,
1021
+ 'kup-tree__node--disabled': treeNodeData.disabled,
1022
+ 'kup-tree__node--first': treeNodeDepth ? false : true,
1023
+ 'kup-tree__node--selected': !treeNodeData.disabled &&
1024
+ treeNodePath ===
1025
+ this.selectedNodeToString(this.selectedNode),
1026
+ }, "data-row": treeNodeData, "data-tree-path": treeNodePath }, treeNodeOptions), treeNodeCell, treeNodeCells));
1027
+ }
1028
+ closeTotalMenu() {
1029
+ this.openedTotalMenu = null;
1030
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").removeClickCallback(this.clickCb);
1031
+ }
1032
+ isOpenedTotalMenuForColumn(column) {
1033
+ return this.openedTotalMenu === column;
1034
+ }
1035
+ onTotalsChange(event, column) {
1036
+ // close menu
1037
+ this.closeTotalMenu();
1038
+ if (column) {
1039
+ // must do this
1040
+ // otherwise does not fire the watcher
1041
+ const totalsCopy = Object.assign({}, this.totals);
1042
+ const value = event.detail.selected.id;
1043
+ if (value === TotalLabel.CANC) {
1044
+ if (this.totals && this.totals[column.name]) {
1045
+ delete totalsCopy[column.name];
1046
+ }
2187
1047
  }
2188
- }
2189
- }
2190
- }, {
2191
- "method": "kupColumnRemove",
2192
- "name": "kup-tree-columnremove",
2193
- "bubbles": true,
2194
- "cancelable": false,
2195
- "composed": true,
2196
- "docs": {
2197
- "tags": [],
2198
- "text": "Event fired when columns are removed (set to hidden)."
2199
- },
2200
- "complexType": {
2201
- "original": "KupTreeColumnRemoveEventPayload",
2202
- "resolved": "KupTreeColumnRemoveEventPayload",
2203
- "references": {
2204
- "KupTreeColumnRemoveEventPayload": {
2205
- "location": "import",
2206
- "path": "./kup-tree-declarations",
2207
- "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeColumnRemoveEventPayload"
1048
+ else {
1049
+ totalsCopy[column.name] = value;
2208
1050
  }
2209
- }
2210
- }
2211
- }];
2212
- }
2213
- static get methods() {
2214
- return {
2215
- "getSelectedNode": {
2216
- "complexType": {
2217
- "signature": "() => Promise<TreeNodePath>",
2218
- "parameters": [],
2219
- "references": {
2220
- "Promise": {
2221
- "location": "global",
2222
- "id": "global::Promise"
2223
- },
2224
- "TreeNodePath": {
2225
- "location": "import",
2226
- "path": "./kup-tree-declarations",
2227
- "id": "src/components/kup-tree/kup-tree-declarations.ts::TreeNodePath"
1051
+ this.totals = totalsCopy;
1052
+ }
1053
+ }
1054
+ renderFooter() {
1055
+ const nodesCell = h("td", null);
1056
+ const footerCells = this.getVisibleColumns().map((column) => {
1057
+ let totalMenu = undefined;
1058
+ let menuLabel = TotalLabel.CALC;
1059
+ const translation = {
1060
+ [TotalLabel.AVERAGE]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.AVERAGE),
1061
+ [TotalLabel.CALC]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.CALCULATE),
1062
+ [TotalLabel.CANC]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.CANCEL),
1063
+ [TotalLabel.COUNT]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.COUNT),
1064
+ [TotalLabel.DISTINCT]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.DISTINCT),
1065
+ [TotalLabel.MATH]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.FORMULA),
1066
+ [TotalLabel.MAX]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.MAXIMUM),
1067
+ [TotalLabel.MIN]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.MINIMUM),
1068
+ [TotalLabel.SUM]: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageTotals.SUM),
1069
+ };
1070
+ if (this.totals) {
1071
+ const totalValue = this.totals[column.name];
1072
+ if (totalValue) {
1073
+ if (totalValue.startsWith(TotalMode.MATH)) {
1074
+ menuLabel = TotalLabel.MATH;
1075
+ }
1076
+ else {
1077
+ switch (totalValue) {
1078
+ case TotalMode.COUNT:
1079
+ menuLabel = TotalLabel.COUNT;
1080
+ break;
1081
+ case TotalMode.DISTINCT:
1082
+ menuLabel = TotalLabel.DISTINCT;
1083
+ break;
1084
+ case TotalMode.SUM:
1085
+ menuLabel = TotalLabel.SUM;
1086
+ break;
1087
+ case TotalMode.AVERAGE:
1088
+ menuLabel = TotalLabel.AVERAGE;
1089
+ break;
1090
+ case TotalMode.MIN:
1091
+ menuLabel = TotalLabel.MIN;
1092
+ break;
1093
+ case TotalMode.MAX:
1094
+ menuLabel = TotalLabel.MAX;
1095
+ break;
1096
+ default:
1097
+ break;
1098
+ }
1099
+ }
1100
+ }
2228
1101
  }
2229
- },
2230
- "return": "Promise<TreeNodePath>"
2231
- },
2232
- "docs": {
2233
- "text": "This method will get the selected nodes of the component.",
2234
- "tags": []
2235
- }
2236
- },
2237
- "setSelectedNode": {
2238
- "complexType": {
2239
- "signature": "(treeNodePath: string, emitEvent?: boolean) => Promise<void>",
2240
- "parameters": [{
2241
- "tags": [],
2242
- "text": ""
2243
- }, {
2244
- "tags": [{
2245
- "name": "param",
2246
- "text": "emitEvent - The event will always be emitted unless emitEvent is set to false."
2247
- }],
2248
- "text": "- The event will always be emitted unless emitEvent is set to false."
2249
- }],
2250
- "references": {
2251
- "Promise": {
2252
- "location": "global",
2253
- "id": "global::Promise"
1102
+ if (this.isOpenedTotalMenuForColumn(column.name)) {
1103
+ let listData = [
1104
+ {
1105
+ id: TotalMode.COUNT,
1106
+ value: translation[TotalLabel.COUNT],
1107
+ },
1108
+ {
1109
+ id: TotalMode.DISTINCT,
1110
+ value: translation[TotalLabel.DISTINCT],
1111
+ },
1112
+ ];
1113
+ if (__classPrivateFieldGet(this, _KupTree_kupManager, "f").objects.isNumber(column.obj)) {
1114
+ listData.push({
1115
+ id: TotalMode.SUM,
1116
+ value: translation[TotalLabel.SUM],
1117
+ }, {
1118
+ id: TotalMode.AVERAGE,
1119
+ value: translation[TotalLabel.AVERAGE],
1120
+ }, {
1121
+ id: TotalMode.MIN,
1122
+ value: translation[TotalLabel.MIN],
1123
+ }, {
1124
+ id: TotalMode.MAX,
1125
+ value: translation[TotalLabel.MAX],
1126
+ });
1127
+ }
1128
+ let selectedItem = listData.find((item) => item.value === menuLabel);
1129
+ if (selectedItem) {
1130
+ selectedItem.selected = true;
1131
+ listData.push({
1132
+ id: TotalLabel.CANC,
1133
+ separator: true,
1134
+ value: translation[TotalLabel.CANC],
1135
+ });
1136
+ }
1137
+ totalMenu = (h("kup-list", { class: `total-menu`, data: listData, id: "totals-menu", "is-menu": true, keyboardNavigation: true, "menu-visible": true, "onkup-list-click": (event) => this.onTotalsChange(event, column) }));
2254
1138
  }
2255
- },
2256
- "return": "Promise<void>"
2257
- },
2258
- "docs": {
2259
- "text": "This method will set the selected rows of the component.",
2260
- "tags": [{
2261
- "name": "param",
2262
- "text": "rowsIdentifiers - Array of ids (dataset) or indexes (rendered rows)."
2263
- }, {
2264
- "name": "param",
2265
- "text": "emitEvent - The event will always be emitted unless emitEvent is set to false."
2266
- }]
2267
- }
2268
- },
2269
- "isEmpty": {
2270
- "complexType": {
2271
- "signature": "() => Promise<boolean>",
2272
- "parameters": [],
2273
- "references": {
2274
- "Promise": {
2275
- "location": "global",
2276
- "id": "global::Promise"
1139
+ let value;
1140
+ if (menuLabel === TotalLabel.COUNT ||
1141
+ menuLabel === TotalLabel.DISTINCT) {
1142
+ value = this.footer[column.name];
2277
1143
  }
2278
- },
2279
- "return": "Promise<boolean>"
2280
- },
2281
- "docs": {
2282
- "text": "True if there aren't visible nodes",
2283
- "tags": []
2284
- }
2285
- },
2286
- "closeColumnMenu": {
2287
- "complexType": {
2288
- "signature": "() => Promise<void>",
2289
- "parameters": [],
2290
- "references": {
2291
- "Promise": {
2292
- "location": "global",
2293
- "id": "global::Promise"
1144
+ else {
1145
+ value = __classPrivateFieldGet(this, _KupTree_kupManager, "f").math.numberToFormattedString(this.footer[column.name], column.decimals, column.obj ? column.obj.p : '');
1146
+ }
1147
+ return (h("td", { "data-column": column.name }, totalMenu, h("span", { class: "totals-value", title: translation[menuLabel] }, value)));
1148
+ });
1149
+ return (h("tfoot", null, h("tr", null, nodesCell, footerCells)));
1150
+ }
1151
+ didLoadInteractables() {
1152
+ this.interactableTouch.push(this.treeWrapperRef);
1153
+ const tapCb = (e) => {
1154
+ if (this.hold) {
1155
+ this.hold = false;
1156
+ return;
2294
1157
  }
2295
- },
2296
- "return": "Promise<void>"
2297
- },
2298
- "docs": {
2299
- "text": "Closes any opened column menu.",
2300
- "tags": []
2301
- }
2302
- },
2303
- "collapseAll": {
2304
- "complexType": {
2305
- "signature": "() => Promise<void>",
2306
- "parameters": [],
2307
- "references": {
2308
- "Promise": {
2309
- "location": "global",
2310
- "id": "global::Promise"
1158
+ switch (e.button) {
1159
+ // right click
1160
+ case 2:
1161
+ this.kupTreeContextMenu.emit({
1162
+ comp: this,
1163
+ id: this.rootElement.id,
1164
+ details: this.contextMenuHandler(e),
1165
+ });
1166
+ break;
2311
1167
  }
2312
- },
2313
- "return": "Promise<void>"
2314
- },
2315
- "docs": {
2316
- "text": "Collapses all nodes.",
2317
- "tags": []
2318
- }
2319
- },
2320
- "expandAll": {
2321
- "complexType": {
2322
- "signature": "() => Promise<void>",
2323
- "parameters": [],
2324
- "references": {
2325
- "Promise": {
2326
- "location": "global",
2327
- "id": "global::Promise"
1168
+ };
1169
+ const holdCb = (e) => {
1170
+ if (e.pointerType === 'pen' || e.pointerType === 'touch') {
1171
+ this.hold = true;
1172
+ this.kupTreeContextMenu.emit({
1173
+ comp: this,
1174
+ id: this.rootElement.id,
1175
+ details: this.contextMenuHandler(e),
1176
+ });
2328
1177
  }
2329
- },
2330
- "return": "Promise<void>"
2331
- },
2332
- "docs": {
2333
- "text": "Expands all nodes.",
2334
- "tags": []
2335
- }
2336
- },
2337
- "getProps": {
2338
- "complexType": {
2339
- "signature": "(descriptions?: boolean) => Promise<GenericObject>",
2340
- "parameters": [{
2341
- "tags": [{
2342
- "name": "param",
2343
- "text": "descriptions - When provided and true, the result will be the list of props with their description."
2344
- }],
2345
- "text": "- When provided and true, the result will be the list of props with their description."
2346
- }],
2347
- "references": {
2348
- "Promise": {
2349
- "location": "global",
2350
- "id": "global::Promise"
1178
+ };
1179
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").interact.on(this.treeWrapperRef, KupPointerEventTypes.TAP, tapCb);
1180
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").interact.on(this.treeWrapperRef, KupPointerEventTypes.HOLD, holdCb);
1181
+ }
1182
+ totalMenuPosition() {
1183
+ if (this.rootElement.shadowRoot) {
1184
+ const menu = this.rootElement.shadowRoot.querySelector('#totals-menu');
1185
+ if (menu) {
1186
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").dynamicPosition.register(menu, this.totalMenuCoords);
1187
+ if (!this.clickCb) {
1188
+ this.clickCb = {
1189
+ cb: () => {
1190
+ this.closeTotalMenu();
1191
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").dynamicPosition.stop(menu);
1192
+ },
1193
+ el: menu,
1194
+ };
1195
+ }
1196
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").addClickCallback(this.clickCb, true);
1197
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").dynamicPosition.start(menu);
1198
+ menu.menuVisible = true;
1199
+ }
1200
+ }
1201
+ }
1202
+ /**
1203
+ * Given a KupTreeNode, reads through its data to compose and return the KupTreeNodes of the root of this KupTreeNode
1204
+ * and its children nodes, composing an array of JSX KupTreeNodes.
1205
+ * @param treeNodeData - The KupTreeNode object to parse.
1206
+ * @param treeNodePath - A string containing the comma(,) separated indexes of the KupTreeNodes to use,
1207
+ * sorted from left to right, to access the current KupTreeNode starting from the data prop children object.
1208
+ * @param treeNodeDepth - An integer to keep track of the depth level of the current KupTreeNode. Used for indentation.
1209
+ * @returns An array of JSX KupTreeNodes created from the given treeNodeData.
1210
+ */
1211
+ renderTree(treeNodeData, treeNodePath, treeNodeDepth = 0) {
1212
+ let treeNodes = [];
1213
+ if (treeNodeData && treeNodeData.visible == true) {
1214
+ // Creates and adds the root of the current tree
1215
+ treeNodes.push(this.renderTreeNode(treeNodeData, treeNodePath, treeNodeDepth));
1216
+ // Checks if the current node can be expanded, has children object, has children and is expanded
1217
+ if (treeNodeData.expandable &&
1218
+ treeNodeData.children &&
1219
+ treeNodeData.children.length &&
1220
+ treeNodeData.isExpanded) {
1221
+ for (let i = 0; i < treeNodeData.children.length; i++) {
1222
+ treeNodes = treeNodes.concat(this.renderTree(treeNodeData.children[i], treeNodePath + ',' + i, treeNodeDepth + 1));
1223
+ }
1224
+ }
1225
+ }
1226
+ return treeNodes;
1227
+ }
1228
+ setEllipsis() {
1229
+ const treeRect = this.rootElement.getBoundingClientRect();
1230
+ for (let index = 0; index < this.contentRefs.length; index++) {
1231
+ const content = this.contentRefs[index];
1232
+ if (content) {
1233
+ const cell = content.parentNode;
1234
+ if (this.asAccordion && cell.classList.contains('first-node')) {
1235
+ cell.style.width = treeRect.width + 'px';
1236
+ }
1237
+ else {
1238
+ content.classList.remove('cell-content--ellipsis');
1239
+ content.style.setProperty('--kup_tree_content_width', ``);
1240
+ const rect = content.getBoundingClientRect();
1241
+ if (rect.right > treeRect.right) {
1242
+ const failsafeOffset = 5;
1243
+ const delta = rect.right - treeRect.right;
1244
+ content.classList.add('cell-content--ellipsis');
1245
+ content.style.setProperty('--kup_tree_content_width', `${rect.width - delta - failsafeOffset}px`);
1246
+ }
1247
+ }
1248
+ }
1249
+ }
1250
+ }
1251
+ /*-------------------------------------------------*/
1252
+ /* L i f e c y c l e H o o k s */
1253
+ /*-------------------------------------------------*/
1254
+ componentWillLoad() {
1255
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logLoad(this, false);
1256
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.register(this);
1257
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").theme.register(this);
1258
+ this.columnMenuInstance = new KupColumnMenu();
1259
+ this.refreshStructureState();
1260
+ }
1261
+ componentDidLoad() {
1262
+ this.didLoadInteractables();
1263
+ this.kupDidLoad.emit({ comp: this, id: this.rootElement.id });
1264
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").resize.observe(this.rootElement);
1265
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logLoad(this, true);
1266
+ }
1267
+ componentWillRender() {
1268
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logRender(this, false);
1269
+ if (this.showFooter && this.columns) {
1270
+ this.footer = calcTotals(normalizeRows(this.getColumns(), this.nodesToRows()), this.totals);
1271
+ }
1272
+ this.filterNodes();
1273
+ }
1274
+ componentDidRender() {
1275
+ const root = this.rootElement.shadowRoot;
1276
+ if (root && this.ripple) {
1277
+ const rippleCells = root.querySelectorAll('.mdc-ripple-surface:not(.mdc-ripple-upgraded)');
1278
+ if (rippleCells) {
1279
+ for (let i = 0; i < rippleCells.length; i++) {
1280
+ MDCRipple.attachTo(rippleCells[i]);
1281
+ }
1282
+ }
1283
+ }
1284
+ if (root) {
1285
+ const fs = root.querySelectorAll('.f-text-field');
1286
+ for (let index = 0; index < fs.length; index++) {
1287
+ FTextFieldMDC(fs[index]);
1288
+ }
1289
+ }
1290
+ if (this.preventXScroll) {
1291
+ this.setEllipsis();
1292
+ }
1293
+ this.totalMenuPosition();
1294
+ this.checkScrollOnHover();
1295
+ this.setDynPosElements();
1296
+ // *** Store
1297
+ this.persistState();
1298
+ // ***
1299
+ this.oldWidth = this.rootElement.clientWidth;
1300
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").debug.logRender(this, true);
1301
+ }
1302
+ render() {
1303
+ this.contentRefs = [];
1304
+ this.sizedColumns = this.getSizedColumns();
1305
+ let wrapperClass = 'density-medium';
1306
+ switch (this.density) {
1307
+ case FCellPadding.DENSE:
1308
+ wrapperClass = 'density-dense';
1309
+ break;
1310
+ case FCellPadding.WIDE:
1311
+ wrapperClass = 'density-wide';
1312
+ break;
1313
+ }
1314
+ // Composes TreeNodes
1315
+ let treeNodes = [];
1316
+ if (this.data && this.data.length) {
1317
+ this.data.forEach((zeroDepthNode, index) => {
1318
+ treeNodes = treeNodes.concat(this.renderTree(zeroDepthNode, index.toString()));
1319
+ });
1320
+ }
1321
+ else {
1322
+ // There are no TreeNodes, so we print a single cell with a caption
1323
+ treeNodes.push(h("tr", null, h("td", null, __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageGeneric.EMPTY_DATA))));
1324
+ }
1325
+ // Calculates if header must be shown or not
1326
+ const visibleHeader = this.showHeader && this.showColumns;
1327
+ let filterField = null;
1328
+ if (this.globalFilter &&
1329
+ this.data &&
1330
+ this.data.length &&
1331
+ this.data.length > 0) {
1332
+ filterField = (h("div", { id: "global-filter" }, h("kup-text-field", { fullWidth: true, label: __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.translate(KupLanguageSearch.SEARCH), icon: KupThemeIconValues.SEARCH, initialValue: this.globalFilterValue, "onkup-textfield-input": (event) => {
1333
+ window.clearTimeout(this.globalFilterTimeout);
1334
+ this.globalFilterTimeout = window.setTimeout(() => this.onGlobalFilterChange(event), 600);
1335
+ } })));
1336
+ }
1337
+ return (h(Host, null, h("style", null, __classPrivateFieldGet(this, _KupTree_kupManager, "f").theme.setKupStyle(this.rootElement)), h("div", { id: componentWrapperId, class: wrapperClass }, filterField, h("div", { class: "wrapper", ref: (el) => (this.treeWrapperRef =
1338
+ el) }, h("table", { class: "kup-tree", "data-show-columns": this.showColumns, onContextMenu: (e) => {
1339
+ e.preventDefault();
1340
+ } }, h("thead", { class: {
1341
+ 'header--is-visible': visibleHeader,
1342
+ } }, h("tr", null, visibleHeader ? this.renderHeader() : null)), h("tbody", null, treeNodes), (this.showFooter || this.hasTotals()) &&
1343
+ this.columns
1344
+ ? this.renderFooter()
1345
+ : null)))));
1346
+ }
1347
+ disconnectedCallback() {
1348
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").language.register(this);
1349
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").resize.unobserve(this.rootElement);
1350
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").theme.unregister(this);
1351
+ const dynamicPositionElements = this.rootElement.shadowRoot.querySelectorAll('[' + kupDynamicPositionAttribute + ']');
1352
+ if (dynamicPositionElements.length > 0) {
1353
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").dynamicPosition.unregister(Array.prototype.slice.call(dynamicPositionElements));
1354
+ }
1355
+ if (this.columnMenuCard) {
1356
+ this.columnMenuCard.remove();
1357
+ }
1358
+ if (this.scrollOnHover) {
1359
+ __classPrivateFieldGet(this, _KupTree_kupManager, "f").scrollOnHover.unregister(this.treeWrapperRef);
1360
+ }
1361
+ this.kupDidUnload.emit({ comp: this, id: this.rootElement.id });
1362
+ }
1363
+ static get is() { return "kup-tree"; }
1364
+ static get encapsulation() { return "shadow"; }
1365
+ static get originalStyleUrls() {
1366
+ return {
1367
+ "$": ["kup-tree.scss"]
1368
+ };
1369
+ }
1370
+ static get styleUrls() {
1371
+ return {
1372
+ "$": ["kup-tree.css"]
1373
+ };
1374
+ }
1375
+ static get properties() {
1376
+ return {
1377
+ "asAccordion": {
1378
+ "type": "boolean",
1379
+ "mutable": false,
1380
+ "complexType": {
1381
+ "original": "boolean",
1382
+ "resolved": "boolean",
1383
+ "references": {}
1384
+ },
1385
+ "required": false,
1386
+ "optional": false,
1387
+ "docs": {
1388
+ "tags": [{
1389
+ "name": "default",
1390
+ "text": "false"
1391
+ }],
1392
+ "text": "When enabled, the first level of depth will give an accordion look to nodes."
1393
+ },
1394
+ "attribute": "as-accordion",
1395
+ "reflect": true,
1396
+ "defaultValue": "false"
1397
+ },
1398
+ "columns": {
1399
+ "type": "unknown",
1400
+ "mutable": true,
1401
+ "complexType": {
1402
+ "original": "KupDataColumn[]",
1403
+ "resolved": "KupDataColumn[]",
1404
+ "references": {
1405
+ "KupDataColumn": {
1406
+ "location": "import",
1407
+ "path": "../../managers/kup-data/kup-data-declarations",
1408
+ "id": "src/managers/kup-data/kup-data-declarations.ts::KupDataColumn"
1409
+ }
1410
+ }
1411
+ },
1412
+ "required": false,
1413
+ "optional": true,
1414
+ "docs": {
1415
+ "tags": [],
1416
+ "text": "The columns of the tree when tree visualization is active."
1417
+ }
1418
+ },
1419
+ "customStyle": {
1420
+ "type": "string",
1421
+ "mutable": false,
1422
+ "complexType": {
1423
+ "original": "string",
1424
+ "resolved": "string",
1425
+ "references": {}
1426
+ },
1427
+ "required": false,
1428
+ "optional": false,
1429
+ "docs": {
1430
+ "tags": [{
1431
+ "name": "default",
1432
+ "text": "\"\""
1433
+ }, {
1434
+ "name": "see",
1435
+ "text": "https://ketchup.smeup.com/ketchup-showcase/#/customization"
1436
+ }],
1437
+ "text": "Custom style of the component."
1438
+ },
1439
+ "attribute": "custom-style",
1440
+ "reflect": false,
1441
+ "defaultValue": "''"
1442
+ },
1443
+ "data": {
1444
+ "type": "unknown",
1445
+ "mutable": true,
1446
+ "complexType": {
1447
+ "original": "KupTreeNode[]",
1448
+ "resolved": "KupTreeNode[]",
1449
+ "references": {
1450
+ "KupTreeNode": {
1451
+ "location": "import",
1452
+ "path": "./kup-tree-declarations",
1453
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNode"
1454
+ }
1455
+ }
1456
+ },
1457
+ "required": false,
1458
+ "optional": false,
1459
+ "docs": {
1460
+ "tags": [],
1461
+ "text": "The json data used to populate the tree view: the basic, always visible tree nodes."
1462
+ },
1463
+ "defaultValue": "[]"
1464
+ },
1465
+ "density": {
1466
+ "type": "string",
1467
+ "mutable": false,
1468
+ "complexType": {
1469
+ "original": "FCellPadding",
1470
+ "resolved": "FCellPadding.DENSE | FCellPadding.MEDIUM | FCellPadding.NONE | FCellPadding.WIDE",
1471
+ "references": {
1472
+ "FCellPadding": {
1473
+ "location": "import",
1474
+ "path": "../../f-components/f-cell/f-cell-declarations",
1475
+ "id": "src/f-components/f-cell/f-cell-declarations.ts::FCellPadding"
1476
+ }
1477
+ }
1478
+ },
1479
+ "required": false,
1480
+ "optional": false,
1481
+ "docs": {
1482
+ "tags": [],
1483
+ "text": "The density of the rows, defaults at 'medium' and can also be set to 'dense' or 'wide'."
1484
+ },
1485
+ "attribute": "density",
1486
+ "reflect": false,
1487
+ "defaultValue": "FCellPadding.MEDIUM"
1488
+ },
1489
+ "dynamicExpansionCallback": {
1490
+ "type": "unknown",
1491
+ "mutable": false,
1492
+ "complexType": {
1493
+ "original": "(\r\n treeNodeToExpand: KupTreeNode,\r\n treeNodePath: TreeNodePath\r\n ) => Promise<KupTreeNode[]> | undefined",
1494
+ "resolved": "(treeNodeToExpand: KupTreeNode, treeNodePath: TreeNodePath) => Promise<KupTreeNode[]>",
1495
+ "references": {
1496
+ "KupTreeNode": {
1497
+ "location": "import",
1498
+ "path": "./kup-tree-declarations",
1499
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNode"
1500
+ },
1501
+ "TreeNodePath": {
1502
+ "location": "import",
1503
+ "path": "./kup-tree-declarations",
1504
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::TreeNodePath"
1505
+ },
1506
+ "Promise": {
1507
+ "location": "global",
1508
+ "id": "global::Promise"
1509
+ }
1510
+ }
1511
+ },
1512
+ "required": false,
1513
+ "optional": false,
1514
+ "docs": {
1515
+ "tags": [{
1516
+ "name": "see",
1517
+ "text": "useDynamicExpansion"
1518
+ }],
1519
+ "text": "Function that gets invoked when a new set of nodes must be loaded as children of a node.\r\n\r\nWhen useDynamicExpansion is set, the tree component will have two different behaviors depending on the value of this prop.\r\n1 - If this prop is set to null, no callback to download data is available:\r\n the component will emit an event requiring the parent to load the children of the given node.\r\n2 - If this prop is set to have a callback, then the component will automatically make requests to load children of\r\n a given node. After the load has been completed, a different event will be fired to alert the parent of the change."
1520
+ },
1521
+ "defaultValue": "undefined"
1522
+ },
1523
+ "editableData": {
1524
+ "type": "boolean",
1525
+ "mutable": false,
1526
+ "complexType": {
1527
+ "original": "boolean",
1528
+ "resolved": "boolean",
1529
+ "references": {}
1530
+ },
1531
+ "required": false,
1532
+ "optional": false,
1533
+ "docs": {
1534
+ "tags": [{
1535
+ "name": "default",
1536
+ "text": "false"
1537
+ }],
1538
+ "text": "When set to true, editable cells will be rendered using input components."
1539
+ },
1540
+ "attribute": "editable-data",
1541
+ "reflect": false,
1542
+ "defaultValue": "false"
1543
+ },
1544
+ "enableExtraColumns": {
1545
+ "type": "boolean",
1546
+ "mutable": false,
1547
+ "complexType": {
1548
+ "original": "boolean",
1549
+ "resolved": "boolean",
1550
+ "references": {}
1551
+ },
1552
+ "required": false,
1553
+ "optional": false,
1554
+ "docs": {
1555
+ "tags": [],
1556
+ "text": "Enables the extracolumns add buttons."
1557
+ },
1558
+ "attribute": "enable-extra-columns",
1559
+ "reflect": false,
1560
+ "defaultValue": "true"
1561
+ },
1562
+ "expanded": {
1563
+ "type": "boolean",
1564
+ "mutable": false,
1565
+ "complexType": {
1566
+ "original": "boolean",
1567
+ "resolved": "boolean",
1568
+ "references": {}
1569
+ },
1570
+ "required": false,
1571
+ "optional": false,
1572
+ "docs": {
1573
+ "tags": [],
1574
+ "text": "Flag: the nodes of the whole tree must be already expanded upon loading. Disabled nodes do NOT get expanded."
1575
+ },
1576
+ "attribute": "expanded",
1577
+ "reflect": false,
1578
+ "defaultValue": "false"
1579
+ },
1580
+ "expansionMode": {
1581
+ "type": "string",
1582
+ "mutable": false,
1583
+ "complexType": {
1584
+ "original": "KupTreeExpansionMode",
1585
+ "resolved": "KupTreeExpansionMode.DROPDOWN | KupTreeExpansionMode.NODE",
1586
+ "references": {
1587
+ "KupTreeExpansionMode": {
1588
+ "location": "import",
1589
+ "path": "./kup-tree-declarations",
1590
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeExpansionMode"
1591
+ }
1592
+ }
1593
+ },
1594
+ "required": false,
1595
+ "optional": false,
1596
+ "docs": {
1597
+ "tags": [{
1598
+ "name": "default",
1599
+ "text": "KupTreeExpansionMode.DROPDOWN"
1600
+ }],
1601
+ "text": "Behavior of nodes' expansion: it can be chosen between expanding a node by clicking on the dropdown icon, or by clicking on the whole node."
1602
+ },
1603
+ "attribute": "expansion-mode",
1604
+ "reflect": false,
1605
+ "defaultValue": "KupTreeExpansionMode.DROPDOWN"
1606
+ },
1607
+ "filters": {
1608
+ "type": "unknown",
1609
+ "mutable": true,
1610
+ "complexType": {
1611
+ "original": "GenericFilter",
1612
+ "resolved": "GenericFilter",
1613
+ "references": {
1614
+ "GenericFilter": {
1615
+ "location": "import",
1616
+ "path": "../../utils/filters/filters-declarations",
1617
+ "id": "src/utils/filters/filters-declarations.ts::GenericFilter"
1618
+ }
1619
+ }
1620
+ },
1621
+ "required": false,
1622
+ "optional": false,
1623
+ "docs": {
1624
+ "tags": [],
1625
+ "text": "List of filters set by the user."
1626
+ },
1627
+ "defaultValue": "{}"
1628
+ },
1629
+ "globalFilter": {
1630
+ "type": "boolean",
1631
+ "mutable": false,
1632
+ "complexType": {
1633
+ "original": "boolean",
1634
+ "resolved": "boolean",
1635
+ "references": {}
1636
+ },
1637
+ "required": false,
1638
+ "optional": false,
1639
+ "docs": {
1640
+ "tags": [],
1641
+ "text": "When set to true it activates the global filter."
1642
+ },
1643
+ "attribute": "global-filter",
1644
+ "reflect": false,
1645
+ "defaultValue": "false"
2351
1646
  },
2352
- "GenericObject": {
2353
- "location": "import",
2354
- "path": "../../types/GenericTypes",
2355
- "id": "src/types/GenericTypes.ts::GenericObject"
1647
+ "globalFilterValue": {
1648
+ "type": "string",
1649
+ "mutable": true,
1650
+ "complexType": {
1651
+ "original": "string",
1652
+ "resolved": "string",
1653
+ "references": {}
1654
+ },
1655
+ "required": false,
1656
+ "optional": false,
1657
+ "docs": {
1658
+ "tags": [],
1659
+ "text": "The value of the global filter."
1660
+ },
1661
+ "attribute": "global-filter-value",
1662
+ "reflect": true,
1663
+ "defaultValue": "''"
1664
+ },
1665
+ "globalFilterMode": {
1666
+ "type": "string",
1667
+ "mutable": false,
1668
+ "complexType": {
1669
+ "original": "KupGlobalFilterMode",
1670
+ "resolved": "KupGlobalFilterMode.HIGHLIGHT | KupGlobalFilterMode.SIMPLE",
1671
+ "references": {
1672
+ "KupGlobalFilterMode": {
1673
+ "location": "import",
1674
+ "path": "../../utils/filters/filters-declarations",
1675
+ "id": "src/utils/filters/filters-declarations.ts::KupGlobalFilterMode"
1676
+ }
1677
+ }
1678
+ },
1679
+ "required": false,
1680
+ "optional": false,
1681
+ "docs": {
1682
+ "tags": [],
1683
+ "text": "The mode of the global filter (default SIMPLE)"
1684
+ },
1685
+ "attribute": "global-filter-mode",
1686
+ "reflect": false,
1687
+ "defaultValue": "KupGlobalFilterMode.SIMPLE"
1688
+ },
1689
+ "preventXScroll": {
1690
+ "type": "boolean",
1691
+ "mutable": false,
1692
+ "complexType": {
1693
+ "original": "boolean",
1694
+ "resolved": "boolean",
1695
+ "references": {}
1696
+ },
1697
+ "required": false,
1698
+ "optional": false,
1699
+ "docs": {
1700
+ "tags": [{
1701
+ "name": "default",
1702
+ "text": "false;"
1703
+ }],
1704
+ "text": "Experimental feature: when active, the tree will try to prevent horizontal overflowing elements by setting a width on the content of the table cells.\r\nIt works only on cells of the main column."
1705
+ },
1706
+ "attribute": "prevent-x-scroll",
1707
+ "reflect": true,
1708
+ "defaultValue": "false"
1709
+ },
1710
+ "removableColumns": {
1711
+ "type": "boolean",
1712
+ "mutable": false,
1713
+ "complexType": {
1714
+ "original": "boolean",
1715
+ "resolved": "boolean",
1716
+ "references": {}
1717
+ },
1718
+ "required": false,
1719
+ "optional": false,
1720
+ "docs": {
1721
+ "tags": [],
1722
+ "text": "Sets the possibility to remove the selected column."
1723
+ },
1724
+ "attribute": "removable-columns",
1725
+ "reflect": false,
1726
+ "defaultValue": "true"
1727
+ },
1728
+ "ripple": {
1729
+ "type": "boolean",
1730
+ "mutable": false,
1731
+ "complexType": {
1732
+ "original": "boolean",
1733
+ "resolved": "boolean",
1734
+ "references": {}
1735
+ },
1736
+ "required": false,
1737
+ "optional": false,
1738
+ "docs": {
1739
+ "tags": [{
1740
+ "name": "default",
1741
+ "text": "true"
1742
+ }],
1743
+ "text": "When enabled displays Material's ripple effect on nodes (only when no columns are displayed)."
1744
+ },
1745
+ "attribute": "ripple",
1746
+ "reflect": false,
1747
+ "defaultValue": "true"
1748
+ },
1749
+ "scrollOnHover": {
1750
+ "type": "boolean",
1751
+ "mutable": false,
1752
+ "complexType": {
1753
+ "original": "boolean",
1754
+ "resolved": "boolean",
1755
+ "references": {}
1756
+ },
1757
+ "required": false,
1758
+ "optional": false,
1759
+ "docs": {
1760
+ "tags": [],
1761
+ "text": "Activates the scroll on hover function."
1762
+ },
1763
+ "attribute": "scroll-on-hover",
1764
+ "reflect": false,
1765
+ "defaultValue": "false"
1766
+ },
1767
+ "showColumns": {
1768
+ "type": "boolean",
1769
+ "mutable": true,
1770
+ "complexType": {
1771
+ "original": "boolean",
1772
+ "resolved": "boolean",
1773
+ "references": {}
1774
+ },
1775
+ "required": false,
1776
+ "optional": false,
1777
+ "docs": {
1778
+ "tags": [],
1779
+ "text": "Shows the tree data as a table."
1780
+ },
1781
+ "attribute": "show-columns",
1782
+ "reflect": false,
1783
+ "defaultValue": "false"
1784
+ },
1785
+ "showFilters": {
1786
+ "type": "boolean",
1787
+ "mutable": false,
1788
+ "complexType": {
1789
+ "original": "boolean",
1790
+ "resolved": "boolean",
1791
+ "references": {}
1792
+ },
1793
+ "required": false,
1794
+ "optional": false,
1795
+ "docs": {
1796
+ "tags": [],
1797
+ "text": "When set to true enables the column filters."
1798
+ },
1799
+ "attribute": "show-filters",
1800
+ "reflect": false,
1801
+ "defaultValue": "true"
1802
+ },
1803
+ "showFooter": {
1804
+ "type": "boolean",
1805
+ "mutable": false,
1806
+ "complexType": {
1807
+ "original": "boolean",
1808
+ "resolved": "boolean",
1809
+ "references": {}
1810
+ },
1811
+ "required": false,
1812
+ "optional": false,
1813
+ "docs": {
1814
+ "tags": [],
1815
+ "text": "When set to true shows the footer."
1816
+ },
1817
+ "attribute": "show-footer",
1818
+ "reflect": false,
1819
+ "defaultValue": "false"
1820
+ },
1821
+ "showHeader": {
1822
+ "type": "boolean",
1823
+ "mutable": true,
1824
+ "complexType": {
1825
+ "original": "boolean",
1826
+ "resolved": "boolean",
1827
+ "references": {}
1828
+ },
1829
+ "required": false,
1830
+ "optional": false,
1831
+ "docs": {
1832
+ "tags": [{
1833
+ "name": "see",
1834
+ "text": "showColumns"
1835
+ }],
1836
+ "text": "Flag: shows the header of the tree when the tree is displayed as a table."
1837
+ },
1838
+ "attribute": "show-header",
1839
+ "reflect": false,
1840
+ "defaultValue": "false"
1841
+ },
1842
+ "showIcons": {
1843
+ "type": "boolean",
1844
+ "mutable": false,
1845
+ "complexType": {
1846
+ "original": "boolean",
1847
+ "resolved": "boolean",
1848
+ "references": {}
1849
+ },
1850
+ "required": false,
1851
+ "optional": false,
1852
+ "docs": {
1853
+ "tags": [],
1854
+ "text": "Shows the icons of the nodes."
1855
+ },
1856
+ "attribute": "show-icons",
1857
+ "reflect": false,
1858
+ "defaultValue": "true"
1859
+ },
1860
+ "stateId": {
1861
+ "type": "string",
1862
+ "mutable": false,
1863
+ "complexType": {
1864
+ "original": "string",
1865
+ "resolved": "string",
1866
+ "references": {}
1867
+ },
1868
+ "required": false,
1869
+ "optional": false,
1870
+ "docs": {
1871
+ "tags": [],
1872
+ "text": ""
1873
+ },
1874
+ "attribute": "state-id",
1875
+ "reflect": false,
1876
+ "defaultValue": "''"
1877
+ },
1878
+ "store": {
1879
+ "type": "unknown",
1880
+ "mutable": false,
1881
+ "complexType": {
1882
+ "original": "KupStore",
1883
+ "resolved": "KupStore",
1884
+ "references": {
1885
+ "KupStore": {
1886
+ "location": "import",
1887
+ "path": "../kup-state/kup-store",
1888
+ "id": "src/components/kup-state/kup-store.ts::KupStore"
1889
+ }
1890
+ }
1891
+ },
1892
+ "required": false,
1893
+ "optional": false,
1894
+ "docs": {
1895
+ "tags": [],
1896
+ "text": ""
1897
+ }
1898
+ },
1899
+ "useDynamicExpansion": {
1900
+ "type": "boolean",
1901
+ "mutable": false,
1902
+ "complexType": {
1903
+ "original": "boolean",
1904
+ "resolved": "boolean",
1905
+ "references": {}
1906
+ },
1907
+ "required": false,
1908
+ "optional": false,
1909
+ "docs": {
1910
+ "tags": [{
1911
+ "name": "see",
1912
+ "text": "dynamicExpansionCallback"
1913
+ }],
1914
+ "text": "When the component must use the dynamic expansion feature to open its nodes, it means that not all the nodes of the\r\ntree have been passed inside the data property.\r\n\r\nTherefore, when expanding a node, the tree must emit an event (or run a given callback)\r\nand wait for the child nodes to be downloaded from the server.\r\n\r\nFor more information:"
1915
+ },
1916
+ "attribute": "use-dynamic-expansion",
1917
+ "reflect": false,
1918
+ "defaultValue": "false"
1919
+ },
1920
+ "totals": {
1921
+ "type": "unknown",
1922
+ "mutable": true,
1923
+ "complexType": {
1924
+ "original": "TotalsMap",
1925
+ "resolved": "TotalsMap",
1926
+ "references": {
1927
+ "TotalsMap": {
1928
+ "location": "import",
1929
+ "path": "./../kup-data-table/kup-data-table-declarations",
1930
+ "id": "src/components/kup-data-table/kup-data-table-declarations.ts::TotalsMap"
1931
+ }
1932
+ }
1933
+ },
1934
+ "required": false,
1935
+ "optional": false,
1936
+ "docs": {
1937
+ "tags": [],
1938
+ "text": "Defines the current totals options."
1939
+ }
2356
1940
  }
2357
- },
2358
- "return": "Promise<GenericObject>"
2359
- },
2360
- "docs": {
2361
- "text": "Used to retrieve component's props values.",
2362
- "tags": [{
2363
- "name": "param",
2364
- "text": "descriptions - When provided and true, the result will be the list of props with their description."
1941
+ };
1942
+ }
1943
+ static get states() {
1944
+ return {
1945
+ "treeColumnVisible": {},
1946
+ "openedTotalMenu": {},
1947
+ "columnMenuAnchor": {},
1948
+ "stateSwitcher": {},
1949
+ "selectedNode": {}
1950
+ };
1951
+ }
1952
+ static get events() {
1953
+ return [{
1954
+ "method": "kupTreeNodeCollapse",
1955
+ "name": "kup-tree-nodecollapse",
1956
+ "bubbles": true,
1957
+ "cancelable": false,
1958
+ "composed": true,
1959
+ "docs": {
1960
+ "tags": [],
1961
+ "text": "Fired when a KupTreeNode gets collapsed (closed)."
1962
+ },
1963
+ "complexType": {
1964
+ "original": "KupTreeNodeCollapseEventPayload",
1965
+ "resolved": "KupTreeNodeCollapseEventPayload",
1966
+ "references": {
1967
+ "KupTreeNodeCollapseEventPayload": {
1968
+ "location": "import",
1969
+ "path": "./kup-tree-declarations",
1970
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNodeCollapseEventPayload"
1971
+ }
1972
+ }
1973
+ }
1974
+ }, {
1975
+ "method": "kupTreeNodeExpand",
1976
+ "name": "kup-tree-nodeexpand",
1977
+ "bubbles": true,
1978
+ "cancelable": false,
1979
+ "composed": true,
1980
+ "docs": {
1981
+ "tags": [{
1982
+ "name": "event",
1983
+ "text": "kup-tree-nodeexpand"
1984
+ }, {
1985
+ "name": "type",
1986
+ "text": "{object}"
1987
+ }, {
1988
+ "name": "property",
1989
+ "text": "{TreeNodePath} treeNodePath - The array of indexes to retrieve the current treeNode inside the data prop."
1990
+ }, {
1991
+ "name": "property",
1992
+ "text": "{KupTreeNode} treeNode - Reference to the KupTreeNode data object which is being expanded (passed through the data prop)."
1993
+ }, {
1994
+ "name": "property",
1995
+ "text": "{boolean} usesDynamicExpansion - Flag to notify that the component is running in dynamicExpansion mode."
1996
+ }, {
1997
+ "name": "property",
1998
+ "text": "{boolean} dynamicExpansionRequireChildren - Flag to notify that the current dynamicExpansion event\r\nrequires the parent component to add KupTreeNode children to the given KupTreeNode."
1999
+ }, {
2000
+ "name": "see",
2001
+ "text": "useDynamicExpansion *"
2002
+ }, {
2003
+ "name": "see",
2004
+ "text": "dynamicExpansionCallback *"
2005
+ }, {
2006
+ "name": "since",
2007
+ "text": "1.0.0"
2008
+ }],
2009
+ "text": "Fired when a node expansion ion has been triggered.\r\nContains additional data when the tree is using the dynamicExpansion feature."
2010
+ },
2011
+ "complexType": {
2012
+ "original": "KupTreeNodeExpandEventPayload",
2013
+ "resolved": "KupTreeNodeExpandEventPayload",
2014
+ "references": {
2015
+ "KupTreeNodeExpandEventPayload": {
2016
+ "location": "import",
2017
+ "path": "./kup-tree-declarations",
2018
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNodeExpandEventPayload"
2019
+ }
2020
+ }
2021
+ }
2022
+ }, {
2023
+ "method": "kupTreeNodeSelected",
2024
+ "name": "kup-tree-nodeselected",
2025
+ "bubbles": true,
2026
+ "cancelable": false,
2027
+ "composed": true,
2028
+ "docs": {
2029
+ "tags": [],
2030
+ "text": "Fired when a node of the tree has been selected"
2031
+ },
2032
+ "complexType": {
2033
+ "original": "KupTreeNodeSelectedEventPayload",
2034
+ "resolved": "KupTreeNodeSelectedEventPayload",
2035
+ "references": {
2036
+ "KupTreeNodeSelectedEventPayload": {
2037
+ "location": "import",
2038
+ "path": "./kup-tree-declarations",
2039
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNodeSelectedEventPayload"
2040
+ }
2041
+ }
2042
+ }
2043
+ }, {
2044
+ "method": "kupTreeNodeButtonClick",
2045
+ "name": "kup-tree-buttonclick",
2046
+ "bubbles": true,
2047
+ "cancelable": false,
2048
+ "composed": true,
2049
+ "docs": {
2050
+ "tags": [],
2051
+ "text": ""
2052
+ },
2053
+ "complexType": {
2054
+ "original": "KupTreeNodeButtonClickEventPayload",
2055
+ "resolved": "KupTreeNodeButtonClickEventPayload",
2056
+ "references": {
2057
+ "KupTreeNodeButtonClickEventPayload": {
2058
+ "location": "import",
2059
+ "path": "./kup-tree-declarations",
2060
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNodeButtonClickEventPayload"
2061
+ }
2062
+ }
2063
+ }
2064
+ }, {
2065
+ "method": "kupTreeContextMenu",
2066
+ "name": "kup-tree-contextmenu",
2067
+ "bubbles": true,
2068
+ "cancelable": false,
2069
+ "composed": true,
2070
+ "docs": {
2071
+ "tags": [],
2072
+ "text": "Generic right click event on tree."
2073
+ },
2074
+ "complexType": {
2075
+ "original": "KupTreeContextMenuEventPayload",
2076
+ "resolved": "KupTreeContextMenuEventPayload",
2077
+ "references": {
2078
+ "KupTreeContextMenuEventPayload": {
2079
+ "location": "import",
2080
+ "path": "./kup-tree-declarations",
2081
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeContextMenuEventPayload"
2082
+ }
2083
+ }
2084
+ }
2365
2085
  }, {
2366
- "name": "returns",
2367
- "text": "List of props as object, each key will be a prop."
2368
- }]
2369
- }
2370
- },
2371
- "hideColumn": {
2372
- "complexType": {
2373
- "signature": "(column: KupDataColumn) => Promise<void>",
2374
- "parameters": [{
2375
- "tags": [{
2376
- "name": "param",
2377
- "text": "column - Column to hide."
2378
- }],
2379
- "text": "- Column to hide."
2380
- }],
2381
- "references": {
2382
- "Promise": {
2383
- "location": "global",
2384
- "id": "global::Promise"
2086
+ "method": "kupTreeColumnMenu",
2087
+ "name": "kup-tree-columnmenu",
2088
+ "bubbles": true,
2089
+ "cancelable": false,
2090
+ "composed": true,
2091
+ "docs": {
2092
+ "tags": [],
2093
+ "text": "When the column menu is being opened/closed."
2094
+ },
2095
+ "complexType": {
2096
+ "original": "KupTreeColumnMenuEventPayload",
2097
+ "resolved": "KupTreeColumnMenuEventPayload",
2098
+ "references": {
2099
+ "KupTreeColumnMenuEventPayload": {
2100
+ "location": "import",
2101
+ "path": "./kup-tree-declarations",
2102
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeColumnMenuEventPayload"
2103
+ }
2104
+ }
2105
+ }
2106
+ }, {
2107
+ "method": "kupDidLoad",
2108
+ "name": "kup-tree-didload",
2109
+ "bubbles": true,
2110
+ "cancelable": false,
2111
+ "composed": true,
2112
+ "docs": {
2113
+ "tags": [],
2114
+ "text": ""
2115
+ },
2116
+ "complexType": {
2117
+ "original": "KupEventPayload",
2118
+ "resolved": "KupEventPayload",
2119
+ "references": {
2120
+ "KupEventPayload": {
2121
+ "location": "import",
2122
+ "path": "../../types/GenericTypes",
2123
+ "id": "src/types/GenericTypes.ts::KupEventPayload"
2124
+ }
2125
+ }
2126
+ }
2127
+ }, {
2128
+ "method": "kupDidUnload",
2129
+ "name": "kup-tree-didunload",
2130
+ "bubbles": true,
2131
+ "cancelable": false,
2132
+ "composed": true,
2133
+ "docs": {
2134
+ "tags": [],
2135
+ "text": "Triggered when stop propagation event"
2136
+ },
2137
+ "complexType": {
2138
+ "original": "KupEventPayload",
2139
+ "resolved": "KupEventPayload",
2140
+ "references": {
2141
+ "KupEventPayload": {
2142
+ "location": "import",
2143
+ "path": "../../types/GenericTypes",
2144
+ "id": "src/types/GenericTypes.ts::KupEventPayload"
2145
+ }
2146
+ }
2147
+ }
2148
+ }, {
2149
+ "method": "kupTreeNodeDblClick",
2150
+ "name": "kup-tree-nodedblclick",
2151
+ "bubbles": true,
2152
+ "cancelable": false,
2153
+ "composed": true,
2154
+ "docs": {
2155
+ "tags": [],
2156
+ "text": ""
2157
+ },
2158
+ "complexType": {
2159
+ "original": "KupTreeNodeCollapseEventPayload",
2160
+ "resolved": "KupTreeNodeCollapseEventPayload",
2161
+ "references": {
2162
+ "KupTreeNodeCollapseEventPayload": {
2163
+ "location": "import",
2164
+ "path": "./kup-tree-declarations",
2165
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeNodeCollapseEventPayload"
2166
+ }
2167
+ }
2168
+ }
2169
+ }, {
2170
+ "method": "kupTreeDynamicMassExpansion",
2171
+ "name": "kup-tree-dynamicmassexpansion",
2172
+ "bubbles": true,
2173
+ "cancelable": false,
2174
+ "composed": true,
2175
+ "docs": {
2176
+ "tags": [],
2177
+ "text": ""
2178
+ },
2179
+ "complexType": {
2180
+ "original": "KupTreeDynamicMassExpansionEventPayload",
2181
+ "resolved": "KupTreeDynamicMassExpansionEventPayload",
2182
+ "references": {
2183
+ "KupTreeDynamicMassExpansionEventPayload": {
2184
+ "location": "import",
2185
+ "path": "./kup-tree-declarations",
2186
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeDynamicMassExpansionEventPayload"
2187
+ }
2188
+ }
2189
+ }
2190
+ }, {
2191
+ "method": "kupColumnRemove",
2192
+ "name": "kup-tree-columnremove",
2193
+ "bubbles": true,
2194
+ "cancelable": false,
2195
+ "composed": true,
2196
+ "docs": {
2197
+ "tags": [],
2198
+ "text": "Event fired when columns are removed (set to hidden)."
2199
+ },
2200
+ "complexType": {
2201
+ "original": "KupTreeColumnRemoveEventPayload",
2202
+ "resolved": "KupTreeColumnRemoveEventPayload",
2203
+ "references": {
2204
+ "KupTreeColumnRemoveEventPayload": {
2205
+ "location": "import",
2206
+ "path": "./kup-tree-declarations",
2207
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::KupTreeColumnRemoveEventPayload"
2208
+ }
2209
+ }
2210
+ }
2211
+ }];
2212
+ }
2213
+ static get methods() {
2214
+ return {
2215
+ "getSelectedNode": {
2216
+ "complexType": {
2217
+ "signature": "() => Promise<TreeNodePath>",
2218
+ "parameters": [],
2219
+ "references": {
2220
+ "Promise": {
2221
+ "location": "global",
2222
+ "id": "global::Promise"
2223
+ },
2224
+ "TreeNodePath": {
2225
+ "location": "import",
2226
+ "path": "./kup-tree-declarations",
2227
+ "id": "src/components/kup-tree/kup-tree-declarations.ts::TreeNodePath"
2228
+ }
2229
+ },
2230
+ "return": "Promise<TreeNodePath>"
2231
+ },
2232
+ "docs": {
2233
+ "text": "This method will get the selected nodes of the component.",
2234
+ "tags": []
2235
+ }
2385
2236
  },
2386
- "KupDataColumn": {
2387
- "location": "import",
2388
- "path": "../../managers/kup-data/kup-data-declarations",
2389
- "id": "src/managers/kup-data/kup-data-declarations.ts::KupDataColumn"
2390
- }
2391
- },
2392
- "return": "Promise<void>"
2393
- },
2394
- "docs": {
2395
- "text": "Hides the given column.",
2396
- "tags": [{
2397
- "name": "param",
2398
- "text": "column - Column to hide."
2399
- }]
2400
- }
2401
- },
2402
- "openColumnMenu": {
2403
- "complexType": {
2404
- "signature": "(column: string) => Promise<void>",
2405
- "parameters": [{
2406
- "tags": [{
2407
- "name": "param",
2408
- "text": "column - Name of the column."
2409
- }],
2410
- "text": "- Name of the column."
2411
- }],
2412
- "references": {
2413
- "Promise": {
2414
- "location": "global",
2415
- "id": "global::Promise"
2237
+ "setSelectedNode": {
2238
+ "complexType": {
2239
+ "signature": "(treeNodePath: string, emitEvent?: boolean) => Promise<void>",
2240
+ "parameters": [{
2241
+ "tags": [],
2242
+ "text": ""
2243
+ }, {
2244
+ "tags": [{
2245
+ "name": "param",
2246
+ "text": "emitEvent - The event will always be emitted unless emitEvent is set to false."
2247
+ }],
2248
+ "text": "- The event will always be emitted unless emitEvent is set to false."
2249
+ }],
2250
+ "references": {
2251
+ "Promise": {
2252
+ "location": "global",
2253
+ "id": "global::Promise"
2254
+ }
2255
+ },
2256
+ "return": "Promise<void>"
2257
+ },
2258
+ "docs": {
2259
+ "text": "This method will set the selected rows of the component.",
2260
+ "tags": [{
2261
+ "name": "param",
2262
+ "text": "rowsIdentifiers - Array of ids (dataset) or indexes (rendered rows)."
2263
+ }, {
2264
+ "name": "param",
2265
+ "text": "emitEvent - The event will always be emitted unless emitEvent is set to false."
2266
+ }]
2267
+ }
2416
2268
  },
2417
- "CustomEvent": {
2418
- "location": "global",
2419
- "id": "global::CustomEvent"
2269
+ "isEmpty": {
2270
+ "complexType": {
2271
+ "signature": "() => Promise<boolean>",
2272
+ "parameters": [],
2273
+ "references": {
2274
+ "Promise": {
2275
+ "location": "global",
2276
+ "id": "global::Promise"
2277
+ }
2278
+ },
2279
+ "return": "Promise<boolean>"
2280
+ },
2281
+ "docs": {
2282
+ "text": "True if there aren't visible nodes",
2283
+ "tags": []
2284
+ }
2420
2285
  },
2421
- "KupEventPayload": {
2422
- "location": "import",
2423
- "path": "../../types/GenericTypes",
2424
- "id": "src/types/GenericTypes.ts::KupEventPayload"
2286
+ "closeColumnMenu": {
2287
+ "complexType": {
2288
+ "signature": "() => Promise<void>",
2289
+ "parameters": [],
2290
+ "references": {
2291
+ "Promise": {
2292
+ "location": "global",
2293
+ "id": "global::Promise"
2294
+ }
2295
+ },
2296
+ "return": "Promise<void>"
2297
+ },
2298
+ "docs": {
2299
+ "text": "Closes any opened column menu.",
2300
+ "tags": []
2301
+ }
2425
2302
  },
2426
- "KupCardEventPayload": {
2427
- "location": "import",
2428
- "path": "../kup-card/kup-card-declarations",
2429
- "id": "src/components/kup-card/kup-card-declarations.ts::KupCardEventPayload"
2430
- }
2431
- },
2432
- "return": "Promise<void>"
2433
- },
2434
- "docs": {
2435
- "text": "Opens the column menu of the given column.",
2436
- "tags": [{
2437
- "name": "param",
2438
- "text": "column - Name of the column."
2439
- }]
2440
- }
2441
- },
2442
- "refresh": {
2443
- "complexType": {
2444
- "signature": "() => Promise<void>",
2445
- "parameters": [],
2446
- "references": {
2447
- "Promise": {
2448
- "location": "global",
2449
- "id": "global::Promise"
2450
- }
2451
- },
2452
- "return": "Promise<void>"
2453
- },
2454
- "docs": {
2455
- "text": "This method is used to trigger a new render of the component.",
2456
- "tags": []
2457
- }
2458
- },
2459
- "resizeCallback": {
2460
- "complexType": {
2461
- "signature": "() => Promise<void>",
2462
- "parameters": [],
2463
- "references": {
2464
- "Promise": {
2465
- "location": "global",
2466
- "id": "global::Promise"
2467
- }
2468
- },
2469
- "return": "Promise<void>"
2470
- },
2471
- "docs": {
2472
- "text": "This method is invoked by KupManager whenever the component changes size.",
2473
- "tags": []
2474
- }
2475
- },
2476
- "setProps": {
2477
- "complexType": {
2478
- "signature": "(props: GenericObject) => Promise<void>",
2479
- "parameters": [{
2480
- "tags": [{
2481
- "name": "param",
2482
- "text": "props - Object containing props that will be set to the component."
2483
- }],
2484
- "text": "- Object containing props that will be set to the component."
2485
- }],
2486
- "references": {
2487
- "Promise": {
2488
- "location": "global",
2489
- "id": "global::Promise"
2303
+ "collapseAll": {
2304
+ "complexType": {
2305
+ "signature": "() => Promise<void>",
2306
+ "parameters": [],
2307
+ "references": {
2308
+ "Promise": {
2309
+ "location": "global",
2310
+ "id": "global::Promise"
2311
+ }
2312
+ },
2313
+ "return": "Promise<void>"
2314
+ },
2315
+ "docs": {
2316
+ "text": "Collapses all nodes.",
2317
+ "tags": []
2318
+ }
2490
2319
  },
2491
- "GenericObject": {
2492
- "location": "import",
2493
- "path": "../../types/GenericTypes",
2494
- "id": "src/types/GenericTypes.ts::GenericObject"
2320
+ "expandAll": {
2321
+ "complexType": {
2322
+ "signature": "() => Promise<void>",
2323
+ "parameters": [],
2324
+ "references": {
2325
+ "Promise": {
2326
+ "location": "global",
2327
+ "id": "global::Promise"
2328
+ }
2329
+ },
2330
+ "return": "Promise<void>"
2331
+ },
2332
+ "docs": {
2333
+ "text": "Expands all nodes.",
2334
+ "tags": []
2335
+ }
2336
+ },
2337
+ "getProps": {
2338
+ "complexType": {
2339
+ "signature": "(descriptions?: boolean) => Promise<GenericObject>",
2340
+ "parameters": [{
2341
+ "tags": [{
2342
+ "name": "param",
2343
+ "text": "descriptions - When provided and true, the result will be the list of props with their description."
2344
+ }],
2345
+ "text": "- When provided and true, the result will be the list of props with their description."
2346
+ }],
2347
+ "references": {
2348
+ "Promise": {
2349
+ "location": "global",
2350
+ "id": "global::Promise"
2351
+ },
2352
+ "GenericObject": {
2353
+ "location": "import",
2354
+ "path": "../../types/GenericTypes",
2355
+ "id": "src/types/GenericTypes.ts::GenericObject"
2356
+ }
2357
+ },
2358
+ "return": "Promise<GenericObject>"
2359
+ },
2360
+ "docs": {
2361
+ "text": "Used to retrieve component's props values.",
2362
+ "tags": [{
2363
+ "name": "param",
2364
+ "text": "descriptions - When provided and true, the result will be the list of props with their description."
2365
+ }, {
2366
+ "name": "returns",
2367
+ "text": "List of props as object, each key will be a prop."
2368
+ }]
2369
+ }
2370
+ },
2371
+ "hideColumn": {
2372
+ "complexType": {
2373
+ "signature": "(column: KupDataColumn) => Promise<void>",
2374
+ "parameters": [{
2375
+ "tags": [{
2376
+ "name": "param",
2377
+ "text": "column - Column to hide."
2378
+ }],
2379
+ "text": "- Column to hide."
2380
+ }],
2381
+ "references": {
2382
+ "Promise": {
2383
+ "location": "global",
2384
+ "id": "global::Promise"
2385
+ },
2386
+ "KupDataColumn": {
2387
+ "location": "import",
2388
+ "path": "../../managers/kup-data/kup-data-declarations",
2389
+ "id": "src/managers/kup-data/kup-data-declarations.ts::KupDataColumn"
2390
+ }
2391
+ },
2392
+ "return": "Promise<void>"
2393
+ },
2394
+ "docs": {
2395
+ "text": "Hides the given column.",
2396
+ "tags": [{
2397
+ "name": "param",
2398
+ "text": "column - Column to hide."
2399
+ }]
2400
+ }
2401
+ },
2402
+ "openColumnMenu": {
2403
+ "complexType": {
2404
+ "signature": "(column: string) => Promise<void>",
2405
+ "parameters": [{
2406
+ "tags": [{
2407
+ "name": "param",
2408
+ "text": "column - Name of the column."
2409
+ }],
2410
+ "text": "- Name of the column."
2411
+ }],
2412
+ "references": {
2413
+ "Promise": {
2414
+ "location": "global",
2415
+ "id": "global::Promise"
2416
+ },
2417
+ "CustomEvent": {
2418
+ "location": "global",
2419
+ "id": "global::CustomEvent"
2420
+ },
2421
+ "KupEventPayload": {
2422
+ "location": "import",
2423
+ "path": "../../types/GenericTypes",
2424
+ "id": "src/types/GenericTypes.ts::KupEventPayload"
2425
+ },
2426
+ "KupCardEventPayload": {
2427
+ "location": "import",
2428
+ "path": "../kup-card/kup-card-declarations",
2429
+ "id": "src/components/kup-card/kup-card-declarations.ts::KupCardEventPayload"
2430
+ }
2431
+ },
2432
+ "return": "Promise<void>"
2433
+ },
2434
+ "docs": {
2435
+ "text": "Opens the column menu of the given column.",
2436
+ "tags": [{
2437
+ "name": "param",
2438
+ "text": "column - Name of the column."
2439
+ }]
2440
+ }
2441
+ },
2442
+ "refresh": {
2443
+ "complexType": {
2444
+ "signature": "() => Promise<void>",
2445
+ "parameters": [],
2446
+ "references": {
2447
+ "Promise": {
2448
+ "location": "global",
2449
+ "id": "global::Promise"
2450
+ }
2451
+ },
2452
+ "return": "Promise<void>"
2453
+ },
2454
+ "docs": {
2455
+ "text": "This method is used to trigger a new render of the component.",
2456
+ "tags": []
2457
+ }
2458
+ },
2459
+ "resizeCallback": {
2460
+ "complexType": {
2461
+ "signature": "() => Promise<void>",
2462
+ "parameters": [],
2463
+ "references": {
2464
+ "Promise": {
2465
+ "location": "global",
2466
+ "id": "global::Promise"
2467
+ }
2468
+ },
2469
+ "return": "Promise<void>"
2470
+ },
2471
+ "docs": {
2472
+ "text": "This method is invoked by KupManager whenever the component changes size.",
2473
+ "tags": []
2474
+ }
2475
+ },
2476
+ "setProps": {
2477
+ "complexType": {
2478
+ "signature": "(props: GenericObject) => Promise<void>",
2479
+ "parameters": [{
2480
+ "tags": [{
2481
+ "name": "param",
2482
+ "text": "props - Object containing props that will be set to the component."
2483
+ }],
2484
+ "text": "- Object containing props that will be set to the component."
2485
+ }],
2486
+ "references": {
2487
+ "Promise": {
2488
+ "location": "global",
2489
+ "id": "global::Promise"
2490
+ },
2491
+ "GenericObject": {
2492
+ "location": "import",
2493
+ "path": "../../types/GenericTypes",
2494
+ "id": "src/types/GenericTypes.ts::GenericObject"
2495
+ }
2496
+ },
2497
+ "return": "Promise<void>"
2498
+ },
2499
+ "docs": {
2500
+ "text": "Sets the props to the component.",
2501
+ "tags": [{
2502
+ "name": "param",
2503
+ "text": "props - Object containing props that will be set to the component."
2504
+ }]
2505
+ }
2495
2506
  }
2496
- },
2497
- "return": "Promise<void>"
2498
- },
2499
- "docs": {
2500
- "text": "Sets the props to the component.",
2501
- "tags": [{
2502
- "name": "param",
2503
- "text": "props - Object containing props that will be set to the component."
2504
- }]
2505
- }
2506
- }
2507
- };
2508
- }
2509
- static get elementRef() { return "rootElement"; }
2510
- static get watchers() {
2511
- return [{
2512
- "propName": "data",
2513
- "methodName": "enrichDataWhenChanged"
2514
- }, {
2515
- "propName": "expanded",
2516
- "methodName": "enrichStructureStateWhenChanged"
2517
- }];
2518
- }
2507
+ };
2508
+ }
2509
+ static get elementRef() { return "rootElement"; }
2510
+ static get watchers() {
2511
+ return [{
2512
+ "propName": "data",
2513
+ "methodName": "enrichDataWhenChanged"
2514
+ }, {
2515
+ "propName": "expanded",
2516
+ "methodName": "enrichStructureStateWhenChanged"
2517
+ }];
2518
+ }
2519
2519
  }
2520
2520
  _KupTree_kupManager = new WeakMap();