@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,50 +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 { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * @hidden
9
- */
10
- export const FOCUS_ROOT_ACTIVE = new InjectionToken('focus-root-initial-active-state');
11
- /**
12
- * @hidden
13
- */
14
- export class FocusRoot {
15
- active;
16
- groups = new Set();
17
- constructor(active = false) {
18
- this.active = active;
19
- }
20
- registerGroup(group) {
21
- if (this.active) {
22
- this.groups.add(group);
23
- }
24
- }
25
- unregisterGroup(group) {
26
- if (this.active) {
27
- this.groups.delete(group);
28
- }
29
- }
30
- activate() {
31
- if (this.active) {
32
- this.groups.forEach(f => f.activate());
33
- }
34
- }
35
- deactivate() {
36
- if (this.active) {
37
- this.groups.forEach(f => f.deactivate());
38
- }
39
- }
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FocusRoot, deps: [{ token: FOCUS_ROOT_ACTIVE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
41
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FocusRoot });
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FocusRoot, decorators: [{
44
- type: Injectable
45
- }], ctorParameters: () => [{ type: undefined, decorators: [{
46
- type: Optional
47
- }, {
48
- type: Inject,
49
- args: [FOCUS_ROOT_ACTIVE]
50
- }] }] });
@@ -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,174 +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 { Directive, ElementRef, Input, Optional, Renderer2 } from '@angular/core';
6
- import { DefaultFocusableElement } from './default-focusable-element';
7
- import { FocusGroup } from './focus-group';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "./focus-group";
10
- /**
11
- * Represents a directive that controls how focusable cell elements receive focus in a [navigable TreeList]({% slug keyboard_navigation_treelist %}).
12
- *
13
- * Use this directive to manage focus behavior for cell elements. Pass the `cellContext` from the cell template as input.
14
- *
15
- * @example
16
- * ```html
17
- * <kendo-treelist-column>
18
- * <ng-template kendoTreeListCellTemplate let-cellContext="cellContext">
19
- * <input [kendoTreeListFocusable]="cellContext" />
20
- * </ng-template>
21
- * </kendo-treelist-column>
22
- * ```
23
- */
24
- export class FocusableDirective {
25
- hostElement;
26
- renderer;
27
- group;
28
- /**
29
- * Provides the cell context from the template.
30
- */
31
- cellContext;
32
- /**
33
- * @hidden
34
- */
35
- set enabled(value) {
36
- if (value !== this.enabled) {
37
- this._enabled = value;
38
- if (this.element) {
39
- this.element.toggle(this.active && value);
40
- }
41
- }
42
- }
43
- get enabled() {
44
- return this._enabled;
45
- }
46
- /**
47
- * @hidden
48
- */
49
- set addCellContext(value) { this.cellContext = value; this.enabled = true; }
50
- /**
51
- * @hidden
52
- */
53
- set editCellContext(value) { this.cellContext = value; this.enabled = true; }
54
- /**
55
- * @hidden
56
- */
57
- set removeCellContext(value) { this.cellContext = value; this.enabled = true; }
58
- /**
59
- * @hidden
60
- */
61
- set saveCellContext(value) { this.cellContext = value; this.enabled = true; }
62
- /**
63
- * @hidden
64
- */
65
- set cancelCellContext(value) { this.cellContext = value; this.enabled = true; }
66
- active = true;
67
- _enabled = true;
68
- element;
69
- constructor(hostElement, renderer, group) {
70
- this.hostElement = hostElement;
71
- this.renderer = renderer;
72
- this.group = group;
73
- }
74
- ngOnInit() {
75
- if (this.cellContext && this.cellContext.focusGroup) {
76
- this.group = this.cellContext.focusGroup;
77
- }
78
- if (this.group) {
79
- this.group.registerElement(this);
80
- }
81
- }
82
- ngAfterViewInit() {
83
- if (!this.element) {
84
- this.element = new DefaultFocusableElement(this.hostElement, this.renderer);
85
- }
86
- if (this.group) {
87
- const isActive = this.group.isActive;
88
- this.toggle(isActive);
89
- }
90
- }
91
- ngOnDestroy() {
92
- if (this.group) {
93
- this.group.unregisterElement(this);
94
- }
95
- }
96
- /**
97
- * @hidden
98
- */
99
- toggle(active) {
100
- if (this.element && active !== this.active) {
101
- this.active = active;
102
- this.element.toggle(this.enabled && active);
103
- }
104
- }
105
- /**
106
- * @hidden
107
- */
108
- canFocus() {
109
- return this.enabled && this.element && this.element.canFocus();
110
- }
111
- /**
112
- * @hidden
113
- */
114
- isNavigable() {
115
- return this.enabled && this.element && this.element.isNavigable();
116
- }
117
- /**
118
- * @hidden
119
- */
120
- focus() {
121
- if (this.enabled && this.element) {
122
- this.element.focus();
123
- }
124
- }
125
- /**
126
- * @hidden
127
- */
128
- hasFocus() {
129
- return this.enabled && this.element && this.element.hasFocus();
130
- }
131
- /**
132
- * @hidden
133
- */
134
- registerElement(element) {
135
- this.element = element;
136
- }
137
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FocusableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.FocusGroup, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
138
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FocusableDirective, isStandalone: true, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: { cellContext: ["kendoTreeListFocusable", "cellContext"], enabled: "enabled", addCellContext: ["kendoTreeListAddCommand", "addCellContext"], editCellContext: ["kendoTreeListEditCommand", "editCellContext"], removeCellContext: ["kendoTreeListRemoveCommand", "removeCellContext"], saveCellContext: ["kendoTreeListSaveCommand", "saveCellContext"], cancelCellContext: ["kendoTreeListCancelCommand", "cancelCellContext"] }, ngImport: i0 });
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FocusableDirective, decorators: [{
141
- type: Directive,
142
- args: [{
143
- selector: '[kendoTreeListFocusable]' + `,
144
- [kendoTreeListAddCommand],
145
- [kendoTreeListEditCommand],
146
- [kendoTreeListRemoveCommand],
147
- [kendoTreeListSaveCommand],
148
- [kendoTreeListCancelCommand]
149
- `,
150
- standalone: true
151
- }]
152
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.FocusGroup, decorators: [{
153
- type: Optional
154
- }] }], propDecorators: { cellContext: [{
155
- type: Input,
156
- args: ['kendoTreeListFocusable']
157
- }], enabled: [{
158
- type: Input
159
- }], addCellContext: [{
160
- type: Input,
161
- args: ['kendoTreeListAddCommand']
162
- }], editCellContext: [{
163
- type: Input,
164
- args: ['kendoTreeListEditCommand']
165
- }], removeCellContext: [{
166
- type: Input,
167
- args: ['kendoTreeListRemoveCommand']
168
- }], saveCellContext: [{
169
- type: Input,
170
- args: ['kendoTreeListSaveCommand']
171
- }], cancelCellContext: [{
172
- type: Input,
173
- args: ['kendoTreeListCancelCommand']
174
- }] } });
@@ -1,59 +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
- /**
6
- * @hidden
7
- */
8
- export class ItemMap {
9
- count = 0;
10
- items = {};
11
- get first() {
12
- if (this.count > 0) {
13
- let result;
14
- this.forEach(item => {
15
- result = item;
16
- return true;
17
- });
18
- return result;
19
- }
20
- }
21
- get last() {
22
- if (this.count > 0) {
23
- const keys = Object.keys(this.items);
24
- return this.items[keys[keys.length - 1]];
25
- }
26
- }
27
- removeItem(key) {
28
- if (this.items[key]) {
29
- delete this.items[key];
30
- this.count--;
31
- }
32
- }
33
- setItem(key, item) {
34
- if (!this.items[key]) {
35
- this.count++;
36
- }
37
- this.items[key] = item;
38
- }
39
- getItem(key) {
40
- return this.items[key];
41
- }
42
- toArray() {
43
- const result = [];
44
- this.forEach(item => {
45
- result.push(item);
46
- });
47
- return result;
48
- }
49
- forEach(callback) {
50
- for (const key in this.items) {
51
- if (this.items.hasOwnProperty(key) && callback(this.items[key])) {
52
- return this.items[key];
53
- }
54
- }
55
- }
56
- find(callback) {
57
- return this.forEach(callback);
58
- }
59
- }
@@ -1,187 +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 { Directive, ElementRef, HostBinding, Input, NgZone, Renderer2 } from '@angular/core';
6
- import { FocusGroup } from './focus-group';
7
- import { FocusRoot } from './focus-root';
8
- import { NavigationService } from './navigation.service';
9
- import { ColumnInfoService } from '../common/column-info.service';
10
- import { IdService } from '../common/id.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "./focus-group";
13
- import * as i2 from "../common/column-info.service";
14
- import * as i3 from "../common/id.service";
15
- import * as i4 from "./navigation.service";
16
- let id = 0;
17
- function nextId() {
18
- return id++;
19
- }
20
- /**
21
- * @hidden
22
- */
23
- export class LogicalCellDirective {
24
- focusGroup;
25
- element;
26
- columnInfoService;
27
- idService;
28
- navigationService;
29
- renderer;
30
- zone;
31
- logicalColIndex;
32
- logicalRowIndex;
33
- logicalSlaveCell = false;
34
- column;
35
- colIndex;
36
- colSpan = 1;
37
- rowSpan = 1;
38
- dataRowIndex = -1;
39
- dataItem;
40
- expandable = false;
41
- headerLabelText;
42
- uid = nextId();
43
- get id() {
44
- if (!this.logicalSlaveCell && this.columnInfoService.isLocked) {
45
- return this.idService.cellId(this.logicalRowIndex, this.logicalColIndex);
46
- }
47
- }
48
- get ariaColIndex() {
49
- if (this.logicalSlaveCell || this.logicalColIndex === -1) {
50
- return undefined;
51
- }
52
- return this.logicalColIndex + 1;
53
- }
54
- navigationChange;
55
- constructor(focusGroup, element, columnInfoService, idService, navigationService, renderer, zone) {
56
- this.focusGroup = focusGroup;
57
- this.element = element;
58
- this.columnInfoService = columnInfoService;
59
- this.idService = idService;
60
- this.navigationService = navigationService;
61
- this.renderer = renderer;
62
- this.zone = zone;
63
- }
64
- ngOnInit() {
65
- if (!this.navigationService.enabled) {
66
- return;
67
- }
68
- this.navigationChange = this.navigationService.changes.subscribe((e) => this.onNavigationChange(e));
69
- }
70
- ngDoCheck() {
71
- if (!this.navigationService.enabled || this.logicalColIndex === -1) {
72
- return;
73
- }
74
- this.registerNoChanges();
75
- }
76
- ngOnChanges(changes) {
77
- if (!this.navigationService.enabled) {
78
- return;
79
- }
80
- if (this.logicalColIndex === -1) {
81
- return;
82
- }
83
- const indexChange = changes['logicalColIndex'];
84
- const rowIndexChange = changes['logicalRowIndex'];
85
- const index = indexChange && !indexChange.isFirstChange() ? indexChange.previousValue : this.logicalColIndex;
86
- const rowIndex = rowIndexChange && !rowIndexChange.isFirstChange() ? rowIndexChange.previousValue : this.logicalRowIndex;
87
- this.navigationService.unregisterCell(index, rowIndex, this);
88
- this.registerChanges();
89
- this.updateElement();
90
- }
91
- ngOnDestroy() {
92
- if (this.navigationChange) {
93
- this.navigationChange.unsubscribe();
94
- }
95
- this.navigationService.unregisterCell(this.logicalColIndex, this.logicalRowIndex, this);
96
- }
97
- onNavigationChange(e) {
98
- const active = this.logicalColIndex === e.colIndex && this.logicalRowIndex === e.rowIndex;
99
- const wasActive = this.logicalColIndex === e.prevColIndex && this.logicalRowIndex === e.prevRowIndex;
100
- if (active || wasActive) {
101
- this.updateElement();
102
- }
103
- }
104
- updateElement() {
105
- const el = this.element.nativeElement;
106
- this.renderer.setAttribute(el, 'tabIndex', this.isFocusable() && !this.logicalSlaveCell ? '0' : '-1');
107
- if (this.isFocused()) {
108
- if (this.focusGroup.isNavigable()) {
109
- this.focusGroup.focus();
110
- }
111
- else {
112
- if (!this.logicalSlaveCell && this.navigationService.autoFocusCell(this.logicalColIndex, this.logicalColIndex + this.colSpan - 1)) {
113
- this.microtask(() => this.isFocused() && el.focus());
114
- }
115
- this.renderer.addClass(el, 'k-focus');
116
- }
117
- }
118
- else {
119
- this.renderer.removeClass(el, 'k-focus');
120
- }
121
- }
122
- microtask(callback) {
123
- this.zone.runOutsideAngular(() => Promise.resolve(null).then(callback));
124
- }
125
- registerChanges() {
126
- if (!this.logicalSlaveCell) {
127
- this.navigationService.registerCell(this);
128
- }
129
- }
130
- registerNoChanges() {
131
- if (!this.logicalSlaveCell) {
132
- this.navigationService.registerCellOnCurrentRow(this);
133
- }
134
- }
135
- isFocusable() {
136
- return this.navigationService.isCellFocusable(this);
137
- }
138
- isFocused() {
139
- return this.navigationService.isCellFocused(this);
140
- }
141
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LogicalCellDirective, deps: [{ token: i1.FocusGroup }, { token: i0.ElementRef }, { token: i2.ColumnInfoService }, { token: i3.IdService }, { token: i4.NavigationService }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
142
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: LogicalCellDirective, isStandalone: true, selector: "[kendoTreeListLogicalCell]", inputs: { logicalColIndex: "logicalColIndex", logicalRowIndex: "logicalRowIndex", logicalSlaveCell: "logicalSlaveCell", column: "column", colIndex: "colIndex", colSpan: "colSpan", rowSpan: "rowSpan", dataRowIndex: "dataRowIndex", dataItem: "dataItem", expandable: "expandable", headerLabelText: "headerLabelText" }, host: { properties: { "attr.id": "this.id", "attr.aria-colindex": "this.ariaColIndex" } }, providers: [{
143
- provide: FocusGroup,
144
- deps: [FocusRoot],
145
- useClass: FocusGroup
146
- }], usesOnChanges: true, ngImport: i0 });
147
- }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LogicalCellDirective, decorators: [{
149
- type: Directive,
150
- args: [{
151
- providers: [{
152
- provide: FocusGroup,
153
- deps: [FocusRoot],
154
- useClass: FocusGroup
155
- }],
156
- selector: '[kendoTreeListLogicalCell]',
157
- standalone: true
158
- }]
159
- }], ctorParameters: () => [{ type: i1.FocusGroup }, { type: i0.ElementRef }, { type: i2.ColumnInfoService }, { type: i3.IdService }, { type: i4.NavigationService }, { type: i0.Renderer2 }, { type: i0.NgZone }], propDecorators: { logicalColIndex: [{
160
- type: Input
161
- }], logicalRowIndex: [{
162
- type: Input
163
- }], logicalSlaveCell: [{
164
- type: Input
165
- }], column: [{
166
- type: Input
167
- }], colIndex: [{
168
- type: Input
169
- }], colSpan: [{
170
- type: Input
171
- }], rowSpan: [{
172
- type: Input
173
- }], dataRowIndex: [{
174
- type: Input
175
- }], dataItem: [{
176
- type: Input
177
- }], expandable: [{
178
- type: Input
179
- }], headerLabelText: [{
180
- type: Input
181
- }], id: [{
182
- type: HostBinding,
183
- args: ['attr.id']
184
- }], ariaColIndex: [{
185
- type: HostBinding,
186
- args: ['attr.aria-colindex']
187
- }] } });
@@ -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,135 +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 { Directive, HostBinding, Input } from '@angular/core';
6
- import { IdService } from '../common/id.service';
7
- import { NavigationService } from './navigation.service';
8
- import { anyChanged } from '@progress/kendo-angular-common';
9
- import { ColumnsContainer } from '../columns/columns-container';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../common/id.service";
12
- import * as i2 from "./navigation.service";
13
- let id = 0;
14
- function nextId() {
15
- return id++;
16
- }
17
- /**
18
- * @hidden
19
- */
20
- export class LogicalRowDirective {
21
- idService;
22
- navigation;
23
- logicalRowIndex;
24
- logicalSlaveRow = false;
25
- logicalCellsCount;
26
- logicalSlaveCellsCount = 0;
27
- dataRowIndex = -1;
28
- dataItem;
29
- isNew = false;
30
- totalColumns;
31
- uid = nextId();
32
- get hostRole() {
33
- return this.logicalSlaveRow ? 'presentation' : 'row';
34
- }
35
- get ariaRowIndex() {
36
- return this.logicalSlaveRow ? null : this.logicalRowIndex + 1;
37
- }
38
- get rowIndex() {
39
- return this.logicalSlaveRow ? this.logicalRowIndex + 1 : null;
40
- }
41
- get ariaOwns() {
42
- if (this.logicalSlaveRow || this.logicalSlaveCellsCount === 0) {
43
- return undefined;
44
- }
45
- const ids = [];
46
- if (this.dataRowIndex < 0) {
47
- let total = this.logicalCellsCount + this.logicalSlaveCellsCount;
48
- this.columnsArray.forEach(column => {
49
- if (column.isSpanColumn) {
50
- total += column.colspan - 1;
51
- }
52
- });
53
- for (let cellIndex = this.logicalCellsCount; cellIndex < total; cellIndex++) {
54
- ids.push(this.idService.cellId(this.logicalRowIndex, cellIndex));
55
- }
56
- }
57
- else {
58
- let columnIndex = 0;
59
- this.columnsArray.forEach(column => {
60
- if (!column.isLocked) {
61
- ids.push(this.idService.cellId(this.logicalRowIndex, columnIndex));
62
- }
63
- columnIndex += column.isSpanColumn ? column.colspan : 1;
64
- });
65
- }
66
- return ids.join(' ');
67
- }
68
- tableRowClass = true;
69
- constructor(idService, navigation) {
70
- this.idService = idService;
71
- this.navigation = navigation;
72
- }
73
- ngOnChanges(changes) {
74
- if (!this.navigation.enabled || this.logicalSlaveRow) {
75
- return;
76
- }
77
- const indexChange = changes.logicalRowIndex;
78
- const logicalSlaveRowChange = changes.logicalSlaveRow;
79
- const isNewChange = changes.isNew;
80
- if (indexChange || logicalSlaveRowChange || isNewChange) {
81
- const index = indexChange && !indexChange.isFirstChange() ? indexChange.previousValue : this.logicalRowIndex;
82
- this.navigation.unregisterRow(index, this);
83
- this.navigation.registerRow(this);
84
- }
85
- else if (anyChanged(['dataRowIndex', 'dataItem'], changes)) {
86
- this.navigation.updateRow(this);
87
- }
88
- }
89
- ngOnDestroy() {
90
- this.navigation.unregisterRow(this.logicalRowIndex, this);
91
- }
92
- get columnsArray() {
93
- return this.totalColumns?.allColumns.toArray() || [];
94
- }
95
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LogicalRowDirective, deps: [{ token: i1.IdService }, { token: i2.NavigationService }], target: i0.ɵɵFactoryTarget.Directive });
96
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: LogicalRowDirective, isStandalone: true, selector: "[kendoTreeListLogicalRow]", inputs: { logicalRowIndex: "logicalRowIndex", logicalSlaveRow: "logicalSlaveRow", logicalCellsCount: "logicalCellsCount", logicalSlaveCellsCount: "logicalSlaveCellsCount", dataRowIndex: "dataRowIndex", dataItem: "dataItem", isNew: "isNew", totalColumns: "totalColumns" }, host: { properties: { "attr.role": "this.hostRole", "attr.aria-rowindex": "this.ariaRowIndex", "attr.data-kendo-treelist-row-index": "this.rowIndex", "attr.aria-owns": "this.ariaOwns", "class.k-table-row": "this.tableRowClass" } }, usesOnChanges: true, ngImport: i0 });
97
- }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LogicalRowDirective, decorators: [{
99
- type: Directive,
100
- args: [{
101
- selector: '[kendoTreeListLogicalRow]',
102
- standalone: true
103
- }]
104
- }], ctorParameters: () => [{ type: i1.IdService }, { type: i2.NavigationService }], propDecorators: { logicalRowIndex: [{
105
- type: Input
106
- }], logicalSlaveRow: [{
107
- type: Input
108
- }], logicalCellsCount: [{
109
- type: Input
110
- }], logicalSlaveCellsCount: [{
111
- type: Input
112
- }], dataRowIndex: [{
113
- type: Input
114
- }], dataItem: [{
115
- type: Input
116
- }], isNew: [{
117
- type: Input
118
- }], totalColumns: [{
119
- type: Input
120
- }], hostRole: [{
121
- type: HostBinding,
122
- args: ['attr.role']
123
- }], ariaRowIndex: [{
124
- type: HostBinding,
125
- args: ['attr.aria-rowindex']
126
- }], rowIndex: [{
127
- type: HostBinding,
128
- args: ['attr.data-kendo-treelist-row-index']
129
- }], ariaOwns: [{
130
- type: HostBinding,
131
- args: ['attr.aria-owns']
132
- }], tableRowClass: [{
133
- type: HostBinding,
134
- args: ['class.k-table-row']
135
- }] } });
@@ -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,37 +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
- /**
6
- * @hidden
7
- */
8
- export class ModelCell {
9
- uid;
10
- column;
11
- colIndex;
12
- rowIndex;
13
- colSpan;
14
- rowSpan;
15
- dataRowIndex;
16
- dataItem;
17
- parent;
18
- focusGroup;
19
- expandable;
20
- constructor(modelRow, cell) {
21
- this.uid = cell.uid;
22
- this.column = cell.column;
23
- this.colIndex = cell.logicalColIndex;
24
- this.rowIndex = modelRow.index;
25
- this.colSpan = cell.colSpan;
26
- this.rowSpan = cell.rowSpan;
27
- this.dataItem = modelRow.dataItem;
28
- this.dataRowIndex = modelRow.dataRowIndex;
29
- this.focusGroup = cell.focusGroup;
30
- this.expandable = cell.expandable;
31
- }
32
- focusContent() {
33
- if (this.focusGroup) {
34
- this.focusGroup.focus();
35
- }
36
- }
37
- }
@@ -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,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 {};