@progress/kendo-angular-treelist 21.4.1-develop.1 → 22.0.0-develop.1

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 (272) hide show
  1. package/binding-directives/base-binding.directive.d.ts +1 -1
  2. package/column-menu/column-menu-item-base.d.ts +1 -1
  3. package/columns/column-base.d.ts +1 -1
  4. package/editing-directives/editing-directive-base.d.ts +1 -1
  5. package/editing-directives/row-editing-directive-base.d.ts +1 -1
  6. package/fesm2022/progress-kendo-angular-treelist.mjs +519 -519
  7. package/filtering/base-filter-cell.component.d.ts +1 -1
  8. package/filtering/boolean-filter.component.d.ts +1 -1
  9. package/filtering/date-filter.component.d.ts +1 -1
  10. package/filtering/filter-host.directive.d.ts +1 -1
  11. package/filtering/filter-input-wrapper.component.d.ts +1 -1
  12. package/filtering/numeric-filter.component.d.ts +1 -1
  13. package/filtering/operators/filter-operator.base.d.ts +1 -1
  14. package/filtering/string-filter.component.d.ts +1 -1
  15. package/localization/messages.d.ts +1 -1
  16. package/package.json +23 -31
  17. package/schematics/ngAdd/index.js +3 -3
  18. package/esm2022/binding-directives/base-binding.directive.mjs +0 -180
  19. package/esm2022/binding-directives/data-bound-tree-component.mjs +0 -18
  20. package/esm2022/binding-directives/flat-binding.directive.mjs +0 -130
  21. package/esm2022/binding-directives/hierarchy-binding.directive.mjs +0 -109
  22. package/esm2022/column-menu/column-chooser-item-checked.directive.mjs +0 -45
  23. package/esm2022/column-menu/column-chooser.component.mjs +0 -221
  24. package/esm2022/column-menu/column-list-kb-nav.service.mjs +0 -40
  25. package/esm2022/column-menu/column-list.component.mjs +0 -380
  26. package/esm2022/column-menu/column-locked-change-event.mjs +0 -21
  27. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +0 -78
  28. package/esm2022/column-menu/column-menu-autosize.component.mjs +0 -86
  29. package/esm2022/column-menu/column-menu-chooser.component.mjs +0 -164
  30. package/esm2022/column-menu/column-menu-container.component.mjs +0 -58
  31. package/esm2022/column-menu/column-menu-expandable-item.interface.mjs +0 -5
  32. package/esm2022/column-menu/column-menu-filter.component.mjs +0 -141
  33. package/esm2022/column-menu/column-menu-item-base.mjs +0 -41
  34. package/esm2022/column-menu/column-menu-item-content-template.directive.mjs +0 -43
  35. package/esm2022/column-menu/column-menu-item.component.mjs +0 -329
  36. package/esm2022/column-menu/column-menu-item.directive.mjs +0 -147
  37. package/esm2022/column-menu/column-menu-lock.component.mjs +0 -112
  38. package/esm2022/column-menu/column-menu-settings.interface.mjs +0 -5
  39. package/esm2022/column-menu/column-menu-sort.component.mjs +0 -115
  40. package/esm2022/column-menu/column-menu-template.directive.mjs +0 -47
  41. package/esm2022/column-menu/column-menu.component.mjs +0 -470
  42. package/esm2022/column-menu/column-menu.service.mjs +0 -70
  43. package/esm2022/column-menu/column-visibility-change-event.mjs +0 -19
  44. package/esm2022/column-menu/utils.mjs +0 -44
  45. package/esm2022/column-resizing/column-handle.directive.mjs +0 -226
  46. package/esm2022/column-resizing/column-resize.interface.mjs +0 -5
  47. package/esm2022/column-resizing/column-resizing.service.mjs +0 -143
  48. package/esm2022/column-resizing/table.directive.mjs +0 -130
  49. package/esm2022/columns/checkbox-column.component.mjs +0 -88
  50. package/esm2022/columns/column-base.mjs +0 -319
  51. package/esm2022/columns/column-common.mjs +0 -73
  52. package/esm2022/columns/column-group.component.mjs +0 -115
  53. package/esm2022/columns/column-list.mjs +0 -94
  54. package/esm2022/columns/column.component.mjs +0 -165
  55. package/esm2022/columns/columns-container.mjs +0 -90
  56. package/esm2022/columns/command-column.component.mjs +0 -77
  57. package/esm2022/columns/rowreorder-column.component.mjs +0 -57
  58. package/esm2022/columns/sort-settings.mjs +0 -17
  59. package/esm2022/columns/span-column.component.mjs +0 -201
  60. package/esm2022/common/cell-click-event-args.interface.mjs +0 -5
  61. package/esm2022/common/column-info.service.mjs +0 -54
  62. package/esm2022/common/create-form-group.mjs +0 -5
  63. package/esm2022/common/default-track-by.mjs +0 -13
  64. package/esm2022/common/dom-events.service.mjs +0 -24
  65. package/esm2022/common/error-messages.mjs +0 -15
  66. package/esm2022/common/filter-descriptor-differ.mjs +0 -69
  67. package/esm2022/common/filter-operator.interface.mjs +0 -5
  68. package/esm2022/common/id.service.mjs +0 -34
  69. package/esm2022/common/option-changes.service.mjs +0 -24
  70. package/esm2022/common/pager-settings.mjs +0 -19
  71. package/esm2022/common/preventable-event.mjs +0 -28
  72. package/esm2022/common/provider.service.mjs +0 -34
  73. package/esm2022/common/remove-confirmation.mjs +0 -5
  74. package/esm2022/common/single-popup.service.mjs +0 -132
  75. package/esm2022/common/sort.service.mjs +0 -14
  76. package/esm2022/data/change-event-args.interface.mjs +0 -5
  77. package/esm2022/data/change-notification.service.mjs +0 -30
  78. package/esm2022/data/data-item.interface.mjs +0 -5
  79. package/esm2022/data/data.collection.mjs +0 -503
  80. package/esm2022/data/treelist-item.interface.mjs +0 -5
  81. package/esm2022/directives.mjs +0 -291
  82. package/esm2022/dragdrop/column-reorder-config.mjs +0 -5
  83. package/esm2022/dragdrop/column-reorder-event.mjs +0 -31
  84. package/esm2022/dragdrop/column-reorder.service.mjs +0 -20
  85. package/esm2022/dragdrop/common.mjs +0 -69
  86. package/esm2022/dragdrop/context-types.mjs +0 -5
  87. package/esm2022/dragdrop/drag-and-drop.service.mjs +0 -65
  88. package/esm2022/dragdrop/drag-hint.service.mjs +0 -137
  89. package/esm2022/dragdrop/draggable-column.directive.mjs +0 -141
  90. package/esm2022/dragdrop/drop-cue.service.mjs +0 -46
  91. package/esm2022/dragdrop/drop-target.directive.mjs +0 -71
  92. package/esm2022/editing/add-command-tool.directive.mjs +0 -60
  93. package/esm2022/editing/add-command.directive.mjs +0 -96
  94. package/esm2022/editing/add-event-args.interface.mjs +0 -5
  95. package/esm2022/editing/base-command.directive.mjs +0 -95
  96. package/esm2022/editing/cancel-command.directive.mjs +0 -97
  97. package/esm2022/editing/cancel-event-args.interface.mjs +0 -5
  98. package/esm2022/editing/cell-close-event.mjs +0 -34
  99. package/esm2022/editing/edit-command.directive.mjs +0 -96
  100. package/esm2022/editing/edit-event-args.interface.mjs +0 -5
  101. package/esm2022/editing/edit-template.directive.mjs +0 -45
  102. package/esm2022/editing/edit.service.mjs +0 -174
  103. package/esm2022/editing/remove-command.directive.mjs +0 -96
  104. package/esm2022/editing/remove-event-args.interface.mjs +0 -5
  105. package/esm2022/editing/save-command.directive.mjs +0 -96
  106. package/esm2022/editing/save-event-args.interface.mjs +0 -5
  107. package/esm2022/editing-directives/create-form-group-args.interface.mjs +0 -5
  108. package/esm2022/editing-directives/edit-service.interface.mjs +0 -5
  109. package/esm2022/editing-directives/editing-directive-base.mjs +0 -137
  110. package/esm2022/editing-directives/flat-edit.service.mjs +0 -52
  111. package/esm2022/editing-directives/hierarchy-edit.service.mjs +0 -48
  112. package/esm2022/editing-directives/in-cell-editing.directive.mjs +0 -89
  113. package/esm2022/editing-directives/local-edit.service.mjs +0 -28
  114. package/esm2022/editing-directives/reactive-editing.directive.mjs +0 -61
  115. package/esm2022/editing-directives/row-editing-directive-base.mjs +0 -39
  116. package/esm2022/editing-directives/template-editing.directive.mjs +0 -68
  117. package/esm2022/editing-directives/utils.mjs +0 -41
  118. package/esm2022/excel/excel-command-tool.directive.mjs +0 -64
  119. package/esm2022/excel/excel-command.directive.mjs +0 -97
  120. package/esm2022/excel/excel-export-data.interface.mjs +0 -5
  121. package/esm2022/excel/excel-export-event.mjs +0 -15
  122. package/esm2022/excel/excel.component.mjs +0 -277
  123. package/esm2022/excel/excel.module.mjs +0 -45
  124. package/esm2022/excel/excel.service.mjs +0 -34
  125. package/esm2022/expand-state/expand-event.mjs +0 -30
  126. package/esm2022/expand-state/expand-state.service.mjs +0 -38
  127. package/esm2022/expand-state/expandable-tree-component.mjs +0 -18
  128. package/esm2022/expand-state/expandable.directive.mjs +0 -119
  129. package/esm2022/filtering/base-filter-cell.component.mjs +0 -172
  130. package/esm2022/filtering/boolean-filter.component.mjs +0 -91
  131. package/esm2022/filtering/cell/autocomplete-filter-cell.component.mjs +0 -113
  132. package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +0 -107
  133. package/esm2022/filtering/cell/date-filter-cell.component.mjs +0 -132
  134. package/esm2022/filtering/cell/filter-cell-component.factory.mjs +0 -19
  135. package/esm2022/filtering/cell/filter-cell-host.directive.mjs +0 -33
  136. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +0 -235
  137. package/esm2022/filtering/cell/filter-cell-template.directive.mjs +0 -46
  138. package/esm2022/filtering/cell/filter-cell-wrapper.component.mjs +0 -74
  139. package/esm2022/filtering/cell/filter-cell.component.mjs +0 -91
  140. package/esm2022/filtering/cell/numeric-filter-cell.component.mjs +0 -143
  141. package/esm2022/filtering/cell/string-filter-cell.component.mjs +0 -115
  142. package/esm2022/filtering/date-filter.component.mjs +0 -176
  143. package/esm2022/filtering/filter-component.interface.mjs +0 -5
  144. package/esm2022/filtering/filter-host.directive.mjs +0 -56
  145. package/esm2022/filtering/filter-input-wrapper.component.mjs +0 -119
  146. package/esm2022/filtering/filter-input.directive.mjs +0 -114
  147. package/esm2022/filtering/filter-row.component.mjs +0 -79
  148. package/esm2022/filtering/filter.service.mjs +0 -42
  149. package/esm2022/filtering/filterable.mjs +0 -16
  150. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +0 -168
  151. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +0 -174
  152. package/esm2022/filtering/menu/date-filter-menu.component.mjs +0 -207
  153. package/esm2022/filtering/menu/filter-menu-component.factory.mjs +0 -19
  154. package/esm2022/filtering/menu/filter-menu-container.component.mjs +0 -299
  155. package/esm2022/filtering/menu/filter-menu-dropdownlist.directive.mjs +0 -44
  156. package/esm2022/filtering/menu/filter-menu-host.directive.mjs +0 -46
  157. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +0 -136
  158. package/esm2022/filtering/menu/filter-menu-template.directive.mjs +0 -43
  159. package/esm2022/filtering/menu/filter-menu.component.mjs +0 -202
  160. package/esm2022/filtering/menu/filter-radio-button.directive.mjs +0 -34
  161. package/esm2022/filtering/menu/menu-tabbing.service.mjs +0 -22
  162. package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +0 -152
  163. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +0 -224
  164. package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +0 -105
  165. package/esm2022/filtering/menu/string-filter-menu.component.mjs +0 -183
  166. package/esm2022/filtering/numeric-filter.component.mjs +0 -144
  167. package/esm2022/filtering/operators/after-eq-filter-operator.component.mjs +0 -72
  168. package/esm2022/filtering/operators/after-filter-operator.component.mjs +0 -72
  169. package/esm2022/filtering/operators/before-eq-filter-operator.component.mjs +0 -72
  170. package/esm2022/filtering/operators/before-filter-operator.component.mjs +0 -72
  171. package/esm2022/filtering/operators/contains-filter-operator.component.mjs +0 -64
  172. package/esm2022/filtering/operators/ends-with-filter-operator.component.mjs +0 -64
  173. package/esm2022/filtering/operators/eq-filter-operator.component.mjs +0 -112
  174. package/esm2022/filtering/operators/filter-operator.base.mjs +0 -98
  175. package/esm2022/filtering/operators/gt-filter-operator.component.mjs +0 -63
  176. package/esm2022/filtering/operators/gte-filter-operator.component.mjs +0 -63
  177. package/esm2022/filtering/operators/is-empty-filter-operator.component.mjs +0 -64
  178. package/esm2022/filtering/operators/is-not-empty-filter-operator.component.mjs +0 -64
  179. package/esm2022/filtering/operators/is-not-null-filter-operator.component.mjs +0 -112
  180. package/esm2022/filtering/operators/isnull-filter-operator.component.mjs +0 -112
  181. package/esm2022/filtering/operators/lt-filter-operator.component.mjs +0 -63
  182. package/esm2022/filtering/operators/lte-filter-operator.component.mjs +0 -63
  183. package/esm2022/filtering/operators/neq-filter-operator.component.mjs +0 -112
  184. package/esm2022/filtering/operators/not-contains-filter-operator.component.mjs +0 -64
  185. package/esm2022/filtering/operators/starts-with-filter-operator.component.mjs +0 -64
  186. package/esm2022/filtering/string-filter.component.mjs +0 -89
  187. package/esm2022/index.mjs +0 -146
  188. package/esm2022/layout/browser-support.service.mjs +0 -85
  189. package/esm2022/layout/resizable.directive.mjs +0 -83
  190. package/esm2022/layout/resize.service.mjs +0 -29
  191. package/esm2022/layout/responsive.service.mjs +0 -34
  192. package/esm2022/layout/row-sync.mjs +0 -47
  193. package/esm2022/localization/custom-messages.component.mjs +0 -53
  194. package/esm2022/localization/localized-messages.directive.mjs +0 -39
  195. package/esm2022/localization/messages.mjs +0 -510
  196. package/esm2022/navigation/default-focusable-element.mjs +0 -47
  197. package/esm2022/navigation/focus-group.mjs +0 -105
  198. package/esm2022/navigation/focus-root.mjs +0 -50
  199. package/esm2022/navigation/focusable-element.interface.mjs +0 -5
  200. package/esm2022/navigation/focusable.directive.mjs +0 -174
  201. package/esm2022/navigation/item-map.mjs +0 -59
  202. package/esm2022/navigation/logical-cell.directive.mjs +0 -187
  203. package/esm2022/navigation/logical-cell.interface.mjs +0 -5
  204. package/esm2022/navigation/logical-row.directive.mjs +0 -135
  205. package/esm2022/navigation/logical-row.interface.mjs +0 -5
  206. package/esm2022/navigation/model-cell.mjs +0 -37
  207. package/esm2022/navigation/navigation-cell.interface.mjs +0 -5
  208. package/esm2022/navigation/navigation-change.interface.mjs +0 -5
  209. package/esm2022/navigation/navigation-cursor.mjs +0 -176
  210. package/esm2022/navigation/navigation-metadata.mjs +0 -31
  211. package/esm2022/navigation/navigation-mode.mjs +0 -5
  212. package/esm2022/navigation/navigation-model.mjs +0 -126
  213. package/esm2022/navigation/navigation-row.interface.mjs +0 -5
  214. package/esm2022/navigation/navigation.service.mjs +0 -695
  215. package/esm2022/navigation/treelist-focusable-element.mjs +0 -28
  216. package/esm2022/package-metadata.mjs +0 -16
  217. package/esm2022/pdf/export-element.mjs +0 -129
  218. package/esm2022/pdf/pdf-command-tool.directive.mjs +0 -68
  219. package/esm2022/pdf/pdf-command.directive.mjs +0 -101
  220. package/esm2022/pdf/pdf-export-event.mjs +0 -18
  221. package/esm2022/pdf/pdf-margin.component.mjs +0 -33
  222. package/esm2022/pdf/pdf-margin.interface.mjs +0 -5
  223. package/esm2022/pdf/pdf-template.directive.mjs +0 -45
  224. package/esm2022/pdf/pdf.component.mjs +0 -269
  225. package/esm2022/pdf/pdf.module.mjs +0 -48
  226. package/esm2022/pdf/pdf.service.mjs +0 -40
  227. package/esm2022/pdf/treelist-query.mjs +0 -45
  228. package/esm2022/progress-kendo-angular-treelist.mjs +0 -8
  229. package/esm2022/rendering/cell-template.directive.mjs +0 -49
  230. package/esm2022/rendering/cell.component.mjs +0 -383
  231. package/esm2022/rendering/common/col-group.component.mjs +0 -39
  232. package/esm2022/rendering/common/dom-queries.mjs +0 -158
  233. package/esm2022/rendering/common/field-accessor.pipe.mjs +0 -48
  234. package/esm2022/rendering/common/level-items.pipe.mjs +0 -30
  235. package/esm2022/rendering/common/loading.component.mjs +0 -42
  236. package/esm2022/rendering/common/row-class.mjs +0 -5
  237. package/esm2022/rendering/common/spacer.component.mjs +0 -61
  238. package/esm2022/rendering/constants.mjs +0 -28
  239. package/esm2022/rendering/footer-template.directive.mjs +0 -45
  240. package/esm2022/rendering/header/header-template.directive.mjs +0 -45
  241. package/esm2022/rendering/header/header.component.mjs +0 -978
  242. package/esm2022/rendering/header/select-all-checkbox.directive.mjs +0 -90
  243. package/esm2022/rendering/list.component.mjs +0 -850
  244. package/esm2022/rendering/no-records-template.directive.mjs +0 -40
  245. package/esm2022/rendering/table-body.component.mjs +0 -665
  246. package/esm2022/rendering/toolbar/toolbar-focusable.directive.mjs +0 -77
  247. package/esm2022/rendering/toolbar/toolbar-navigation.service.mjs +0 -54
  248. package/esm2022/rendering/toolbar/toolbar-template.directive.mjs +0 -58
  249. package/esm2022/rendering/toolbar/toolbar.component.mjs +0 -110
  250. package/esm2022/row-reordering/flat-reorder.service.mjs +0 -48
  251. package/esm2022/row-reordering/hierarchical-reorder.service.mjs +0 -55
  252. package/esm2022/row-reordering/row-reorder.service.mjs +0 -273
  253. package/esm2022/row-reordering/types.mjs +0 -5
  254. package/esm2022/row-reordering/utils.mjs +0 -128
  255. package/esm2022/scrolling/content-scroll-event.mjs +0 -5
  256. package/esm2022/scrolling/row-height.service.mjs +0 -30
  257. package/esm2022/scrolling/scroll-bottom-event.mjs +0 -5
  258. package/esm2022/scrolling/scroll-request.service.mjs +0 -21
  259. package/esm2022/scrolling/scroll-sync.service.mjs +0 -80
  260. package/esm2022/scrolling/scroller.service.mjs +0 -112
  261. package/esm2022/scrolling/scrollmode.mjs +0 -5
  262. package/esm2022/scrolling/suspend.service.mjs +0 -17
  263. package/esm2022/selection/is-selected.mjs +0 -5
  264. package/esm2022/selection/marquee.directive.mjs +0 -196
  265. package/esm2022/selection/selectable-settings.mjs +0 -5
  266. package/esm2022/selection/selectable.directive.mjs +0 -223
  267. package/esm2022/selection/selection-change-event.mjs +0 -28
  268. package/esm2022/selection/selection-state.mjs +0 -104
  269. package/esm2022/selection/selection.service.mjs +0 -264
  270. package/esm2022/treelist.component.mjs +0 -3111
  271. package/esm2022/treelist.module.mjs +0 -183
  272. package/esm2022/utils.mjs +0 -113
@@ -1,97 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, HostListener, HostBinding, ElementRef, Renderer2 as Renderer, NgZone } from '@angular/core';
6
- import { NgClass } from '@angular/common';
7
- import { Button } from '@progress/kendo-angular-buttons';
8
- import { LocalizationService } from '@progress/kendo-angular-l10n';
9
- import { IconWrapperComponent } from '@progress/kendo-angular-icons';
10
- import { ExcelService } from './excel.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "./excel.service";
13
- import * as i2 from "@progress/kendo-angular-l10n";
14
- /**
15
- * Represents the `export-to-Excel` command of the TreeList. Apply this directive to any `button` element inside a [`ToolbarTemplate`](slug:toolbartemplate_treelist).
16
- * When the user clicks a button with this directive, the [`excelExport`]({% slug api_treelist_treelistcomponent %}#toc-excelexport) event fires ([see example]({% slug excelexport_treelist %})).
17
- *
18
- * @example
19
- * ```html
20
- * <kendo-treelist ...>
21
- * <ng-template kendoTreeListToolbarTemplate>
22
- * <button kendoTreeListExcelCommand>Export to Excel</button>
23
- * </ng-template>
24
- * <kendo-treelist-excel fileName="TreeList.xlsx"> </kendo-treelist-excel>
25
- * </kendo-treelist>
26
- * ```
27
- */
28
- export class ExcelCommandDirective extends Button {
29
- excelService;
30
- /**
31
- * @hidden
32
- */
33
- onClick(e) {
34
- e.preventDefault();
35
- this.excelService.exportClick.emit();
36
- }
37
- /**
38
- * @hidden
39
- */
40
- get excelClass() {
41
- return true;
42
- }
43
- constructor(excelService, element, renderer, localization, ngZone) {
44
- super(element, renderer, null, localization, ngZone);
45
- this.excelService = excelService;
46
- this.ngZone = ngZone;
47
- }
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelCommandDirective, deps: [{ token: i1.ExcelService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
49
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ExcelCommandDirective, isStandalone: true, selector: "[kendoTreeListExcelCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-grid-excel": "this.excelClass" } }, usesInheritance: true, ngImport: i0, template: `
50
- @if (icon || svgIcon) {
51
- <kendo-icon-wrapper
52
- innerCssClass="k-button-icon"
53
- [name]="icon"
54
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
55
- }
56
- @if (imageUrl) {
57
- <span class="k-button-icon k-icon">
58
- <img [src]="imageUrl" class="k-image" role="presentation" />
59
- </span>
60
- }
61
- @if (iconClass) {
62
- <span class="k-button-icon" [ngClass]="iconClass"></span>
63
- }
64
- <span class="k-button-text"><ng-content></ng-content></span>
65
- `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
66
- }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelCommandDirective, decorators: [{
68
- type: Component,
69
- args: [{
70
- selector: '[kendoTreeListExcelCommand]',
71
- template: `
72
- @if (icon || svgIcon) {
73
- <kendo-icon-wrapper
74
- innerCssClass="k-button-icon"
75
- [name]="icon"
76
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
77
- }
78
- @if (imageUrl) {
79
- <span class="k-button-icon k-icon">
80
- <img [src]="imageUrl" class="k-image" role="presentation" />
81
- </span>
82
- }
83
- @if (iconClass) {
84
- <span class="k-button-icon" [ngClass]="iconClass"></span>
85
- }
86
- <span class="k-button-text"><ng-content></ng-content></span>
87
- `,
88
- standalone: true,
89
- imports: [IconWrapperComponent, NgClass]
90
- }]
91
- }], ctorParameters: () => [{ type: i1.ExcelService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.LocalizationService }, { type: i0.NgZone }], propDecorators: { onClick: [{
92
- type: HostListener,
93
- args: ['click', ['$event']]
94
- }], excelClass: [{
95
- type: HostBinding,
96
- args: ['class.k-grid-excel']
97
- }] } });
@@ -1,5 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- export {};
@@ -1,15 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { PreventableEvent } from '../common/preventable-event';
6
- /**
7
- * Arguments for the `excelExport` event. [See example](slug:excelexport_treelist#toc-customizing-generated-workbooks).
8
- */
9
- export class ExcelExportEvent extends PreventableEvent {
10
- workbook;
11
- constructor(workbook) {
12
- super();
13
- this.workbook = workbook;
14
- }
15
- }
@@ -1,277 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Component, Input, ContentChildren, QueryList, NgZone } from '@angular/core';
6
- import { isObservable } from 'rxjs';
7
- import { take } from 'rxjs/operators';
8
- import { saveAs } from '@progress/kendo-file-saver';
9
- import { toDataURL, workbookOptions, ColumnBase } from '@progress/kendo-angular-excel-export';
10
- import { ExcelService } from './excel.service';
11
- import { ExcelExportEvent } from './excel-export-event';
12
- import { LocalizationService } from '@progress/kendo-angular-l10n';
13
- import { orderBy } from '@progress/kendo-data-query';
14
- import { sortColumns } from '../columns/column-common';
15
- import { ViewCollection, EXPANDED_STATE } from '../data/data.collection';
16
- import { hasObservers } from '@progress/kendo-angular-common';
17
- import * as i0 from "@angular/core";
18
- import * as i1 from "./excel.service";
19
- import * as i2 from "@progress/kendo-angular-l10n";
20
- const hierarchyData = (view) => {
21
- const data = view.data;
22
- const levels = {};
23
- const aggregates = {};
24
- const items = [];
25
- let depth = 0;
26
- for (let idx = 0, dataIndex = 0; idx < data.length; idx++) {
27
- const item = data[idx];
28
- if (item.type === 'data') {
29
- items.push(item.data);
30
- levels[dataIndex] = item.level;
31
- depth = Math.max(depth, item.level);
32
- dataIndex++;
33
- }
34
- else {
35
- aggregates[item.parentIndex] = item.aggregates;
36
- }
37
- }
38
- return {
39
- itemId: (_item, idx) => idx,
40
- itemLevel: (_item, idx) => levels[idx],
41
- depth: depth + 1,
42
- aggregates,
43
- data: items
44
- };
45
- };
46
- const toExcelColumn = (column) => {
47
- return {
48
- title: column.title,
49
- field: column.field,
50
- locked: Boolean(column.locked),
51
- width: column.width,
52
- level: column.level,
53
- hidden: !column.isVisible,
54
- footerTemplate: column.footerTemplate
55
- };
56
- };
57
- const toExcelColumns = (columns) => {
58
- const result = [];
59
- sortColumns(columns)
60
- .forEach((column) => {
61
- if (column.isSpanColumn) {
62
- result.push(...toExcelColumns(column.childrenArray));
63
- }
64
- else {
65
- const excelColumn = toExcelColumn(column);
66
- if (column.isColumnGroup) {
67
- excelColumn.children = [excelColumn].concat(toExcelColumns(column.childrenArray));
68
- }
69
- result.push(excelColumn);
70
- }
71
- });
72
- return result;
73
- };
74
- const componentColumns = (component) => {
75
- const columns = toExcelColumns(component.columns.toArray());
76
- return orderBy(columns, [{ field: 'locked', dir: 'desc' }]);
77
- };
78
- /**
79
- * Configures the settings for exporting the TreeList to Excel. [See example]({% slug excelexport_treelist %}).
80
- *
81
- * @example
82
- * ```html
83
- * <kendo-treelist [data]="data" [height]="500">
84
- * <kendo-treelist-excel fileName="Employees.xlsx"></kendo-treelist-excel>
85
- * </kendo-treelist>
86
- * ```
87
- */
88
- export class ExcelComponent {
89
- excelService;
90
- localization;
91
- zone;
92
- /**
93
- * Specifies the file name of the exported Excel file.
94
- * @default "Export.xlsx"
95
- */
96
- fileName = 'Export.xlsx';
97
- /**
98
- * Enables or disables column filtering in the Excel file. This is different from the TreeList filtering feature.
99
- */
100
- filterable;
101
- /**
102
- * Sets the author of the workbook.
103
- */
104
- creator;
105
- /**
106
- * Sets the date the workbook was created. Defaults to `new Date()`.
107
- */
108
- date;
109
- /**
110
- * If set to `true`, forwards the content to `proxyURL` even if the browser supports saving files locally.
111
- */
112
- forceProxy;
113
- /**
114
- * The URL of the server-side proxy that streams the file to the user.
115
- * Use a proxy if the browser cannot save files locally.
116
- *
117
- * Optionally, set up a proxy to reduce memory usage. This avoids copying the file contents into memory,
118
- * but transmits it over the network instead. For this use case, set [forceProxy](#toc-forceproxy) to `true`
119
- * to skip client-side saving even in browsers that support it.
120
- *
121
- * The proxy receives a POST request with specific parameters in the request body. [See example](slug:server_proxy#toc-implementations).
122
- * The proxy returns the decoded file with the `"Content-Disposition"` header set to `attachment; filename="<fileName.xslx>"`.
123
- *
124
- * For details on server-side proxy usage and implementation, see the [File Saver]({% slug overview_filesaver %}) documentation.
125
- */
126
- proxyURL;
127
- /**
128
- * The function used to get the exported data options. By default, uses the current TreeList data.
129
- * To export data different from the current TreeList data, provide a custom function.
130
- */
131
- fetchData;
132
- /**
133
- * Specifies if item levels in the Excel file are collapsible. Applies only if the TreeList has footers.
134
- */
135
- collapsible;
136
- /**
137
- * Specifies if export should include all pages.
138
- * @default true
139
- */
140
- allPages = true;
141
- /**
142
- * Specifies if the export should expand all items or use the current TreeList state.
143
- * @default true
144
- */
145
- expandAll = true;
146
- /**
147
- * The options for the cells inserted before the data to indicate the hierarchy.
148
- */
149
- paddingCellOptions;
150
- /**
151
- * @hidden
152
- */
153
- columns = new QueryList();
154
- saveSubscription;
155
- dataSubscription;
156
- constructor(excelService, localization, zone) {
157
- this.excelService = excelService;
158
- this.localization = localization;
159
- this.zone = zone;
160
- this.saveSubscription = excelService.saveToExcel.subscribe(this.save.bind(this));
161
- }
162
- ngOnDestroy() {
163
- this.saveSubscription.unsubscribe();
164
- if (this.dataSubscription) {
165
- this.dataSubscription.unsubscribe();
166
- }
167
- }
168
- save(component) {
169
- const result = this.fetchData ? this.fetchData(component) : null;
170
- this.excelService.toggleLoading(true);
171
- this.zone.runOutsideAngular(() => {
172
- if (result && isObservable(result.data)) {
173
- this.dataSubscription = result.data.pipe(take(1)).subscribe((data) => {
174
- this.dataSubscription = null;
175
- this.exportData(component, {
176
- data: data,
177
- fetchChildren: result.fetchChildren,
178
- hasChildren: result.hasChildren
179
- });
180
- });
181
- }
182
- else {
183
- // allow the loading to be shown
184
- setTimeout(() => {
185
- this.exportData(component, result);
186
- });
187
- }
188
- });
189
- }
190
- exportData(component, result) {
191
- const viewOptions = result ? {
192
- fields: result,
193
- expandState: this.expandAll ? EXPANDED_STATE : component.expandStateService
194
- } : this.componentViewOptions(component);
195
- ViewCollection.loadView(viewOptions).subscribe((view) => {
196
- if (!view) {
197
- return;
198
- }
199
- const hierarchy = hierarchyData(view);
200
- const options = workbookOptions({
201
- columns: this.columns.length ? this.columns : componentColumns(component),
202
- data: hierarchy.data,
203
- aggregates: hierarchy.aggregates,
204
- filterable: this.filterable,
205
- creator: this.creator,
206
- date: this.date,
207
- rtl: this.localization.rtl,
208
- collapsible: this.collapsible,
209
- hierarchy: hierarchy,
210
- paddingCellOptions: this.paddingCellOptions
211
- });
212
- const args = new ExcelExportEvent(options);
213
- if (hasObservers(component.excelExport)) {
214
- this.zone.run(() => {
215
- component.excelExport.emit(args);
216
- });
217
- }
218
- this.excelService.toggleLoading(false);
219
- if (!args.isDefaultPrevented()) {
220
- this.saveFile(options);
221
- }
222
- });
223
- }
224
- saveFile(options) {
225
- toDataURL(options).then((dataURL) => {
226
- saveAs(dataURL, this.fileName, {
227
- forceProxy: this.forceProxy,
228
- proxyURL: this.proxyURL
229
- });
230
- });
231
- }
232
- componentViewOptions(component) {
233
- return {
234
- fields: Object.assign(component.viewFieldAccessor(), {
235
- pageable: !this.allPages,
236
- skip: this.allPages ? 0 : component.skip
237
- }),
238
- expandState: !this.expandAll || (!this.allPages && component.pageable) ? component.expandStateService : EXPANDED_STATE,
239
- loaded: new Map(component.view.loaded)
240
- };
241
- }
242
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelComponent, deps: [{ token: i1.ExcelService }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
243
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExcelComponent, isStandalone: true, selector: "kendo-treelist-excel", inputs: { fileName: "fileName", filterable: "filterable", creator: "creator", date: "date", forceProxy: "forceProxy", proxyURL: "proxyURL", fetchData: "fetchData", collapsible: "collapsible", allPages: "allPages", expandAll: "expandAll", paddingCellOptions: "paddingCellOptions" }, queries: [{ propertyName: "columns", predicate: ColumnBase, descendants: true }], ngImport: i0, template: ``, isInline: true });
244
- }
245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelComponent, decorators: [{
246
- type: Component,
247
- args: [{
248
- selector: 'kendo-treelist-excel',
249
- template: ``,
250
- standalone: true
251
- }]
252
- }], ctorParameters: () => [{ type: i1.ExcelService }, { type: i2.LocalizationService }, { type: i0.NgZone }], propDecorators: { fileName: [{
253
- type: Input
254
- }], filterable: [{
255
- type: Input
256
- }], creator: [{
257
- type: Input
258
- }], date: [{
259
- type: Input
260
- }], forceProxy: [{
261
- type: Input
262
- }], proxyURL: [{
263
- type: Input
264
- }], fetchData: [{
265
- type: Input
266
- }], collapsible: [{
267
- type: Input
268
- }], allPages: [{
269
- type: Input
270
- }], expandAll: [{
271
- type: Input
272
- }], paddingCellOptions: [{
273
- type: Input
274
- }], columns: [{
275
- type: ContentChildren,
276
- args: [ColumnBase, { descendants: true }]
277
- }] } });
@@ -1,45 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { NgModule } from '@angular/core';
6
- import { IconsService } from '@progress/kendo-angular-icons';
7
- import { KENDO_TREELIST_EXCEL_EXPORT } from '../directives';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "./excel.component";
10
- import * as i2 from "./excel-command.directive";
11
- import * as i3 from "./excel-command-tool.directive";
12
- import * as i4 from "@progress/kendo-angular-excel-export";
13
- // IMPORTANT: NgModule export kept for backwards compatibility
14
- /**
15
- * Represents the [`NgModule`](link:site.data.urls.angular['ngmoduleapi'])
16
- * definition for the Excel component of the TreeList.
17
- *
18
- * @example
19
- * ```ts
20
- * import { NgModule } from '@angular/core';
21
- * import { BrowserModule } from "@angular/platform-browser";
22
- * import { TreeListModule, ExcelModule } from '@progress/kendo-angular-treelist';
23
- * import { AppComponent } from './app.component';
24
- *
25
- * @NgModule({
26
- * declarations: [AppComponent],
27
- * imports: [BrowserModule, TreeListModule, ExcelModule],
28
- * bootstrap: [AppComponent]
29
- * })
30
- * export class AppModule {}
31
- * ```
32
- */
33
- export class ExcelModule {
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, imports: [i1.ExcelComponent, i2.ExcelCommandDirective, i3.ExcelCommandToolbarDirective, i4.ColumnComponent, i4.ColumnGroupComponent, i4.FooterTemplateDirective, i4.GroupFooterTemplateDirective, i4.GroupHeaderColumnTemplateDirective, i4.GroupHeaderTemplateDirective], exports: [i1.ExcelComponent, i2.ExcelCommandDirective, i3.ExcelCommandToolbarDirective, i4.ColumnComponent, i4.ColumnGroupComponent, i4.FooterTemplateDirective, i4.GroupFooterTemplateDirective, i4.GroupHeaderColumnTemplateDirective, i4.GroupHeaderTemplateDirective] });
36
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, providers: [IconsService], imports: [i2.ExcelCommandDirective, i4.ColumnComponent, i4.ColumnGroupComponent] });
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, decorators: [{
39
- type: NgModule,
40
- args: [{
41
- imports: [...KENDO_TREELIST_EXCEL_EXPORT],
42
- exports: [...KENDO_TREELIST_EXCEL_EXPORT],
43
- providers: [IconsService]
44
- }]
45
- }] });
@@ -1,34 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { EventEmitter, Injectable, isDevMode } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * @hidden
9
- */
10
- export class ExcelService {
11
- saveToExcel = new EventEmitter();
12
- exportClick = new EventEmitter();
13
- loadingChange = new EventEmitter();
14
- loading;
15
- save(component) {
16
- if (this.saveToExcel.observers.length === 0) {
17
- if (isDevMode()) {
18
- throw new Error('Saving excel requires including the ExcelModule and adding the <kendo-treelist-excel> component.');
19
- }
20
- }
21
- else {
22
- this.saveToExcel.emit(component);
23
- }
24
- }
25
- toggleLoading(value) {
26
- this.loading = value;
27
- this.loadingChange.emit();
28
- }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelService });
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelService, decorators: [{
33
- type: Injectable
34
- }] });
@@ -1,30 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { PreventableEvent } from '../common/preventable-event';
6
- /**
7
- * Arguments for the TreeList expand and collapse events. [See example]({% slug treelist_expanded_state %}).
8
- */
9
- export class ExpandEvent extends PreventableEvent {
10
- /**
11
- * The expanded or collapsed data item.
12
- */
13
- dataItem;
14
- /**
15
- * The TreeList component that triggers the event.
16
- */
17
- sender;
18
- /**
19
- * @hidden
20
- */
21
- expand;
22
- /**
23
- * @hidden
24
- */
25
- constructor(args) {
26
- super();
27
- this.expand = args.expand;
28
- this.dataItem = args.dataItem;
29
- }
30
- }
@@ -1,38 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Injectable } from '@angular/core';
6
- import { ExpandEvent } from './expand-event';
7
- import { Subject } from "rxjs";
8
- import * as i0 from "@angular/core";
9
- /**
10
- * @hidden
11
- */
12
- export const defaultExpanded = (_item) => true;
13
- /**
14
- * @hidden
15
- */
16
- export class ExpandStateService {
17
- changes = new Subject();
18
- isExpanded = defaultExpanded;
19
- toggleState(dataItem) {
20
- const isExpanded = this.isExpanded(dataItem);
21
- this.changes.next(new ExpandEvent({ dataItem: dataItem, expand: !isExpanded }));
22
- }
23
- expand(dataItem) {
24
- if (!this.isExpanded(dataItem)) {
25
- this.changes.next(new ExpandEvent({ dataItem: dataItem, expand: true }));
26
- }
27
- }
28
- collapse(dataItem) {
29
- if (this.isExpanded(dataItem)) {
30
- this.changes.next(new ExpandEvent({ dataItem: dataItem, expand: false }));
31
- }
32
- }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandStateService });
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandStateService, decorators: [{
37
- type: Injectable
38
- }] });
@@ -1,18 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Injectable } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * @hidden
9
- *
10
- * An injection token used by the expand-directive to interface with the TreeList or the Gantt.
11
- */
12
- export class ExpandableTreeComponent {
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandableTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandableTreeComponent });
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExpandableTreeComponent, decorators: [{
17
- type: Injectable
18
- }] });