@progress/kendo-vue-treeview 5.3.0-dev.202410141143 → 5.3.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 (161) hide show
  1. package/README.md +26 -35
  2. package/TreeView.js +8 -0
  3. package/TreeView.mjs +294 -0
  4. package/TreeViewDragAnalyzer.js +8 -0
  5. package/TreeViewDragAnalyzer.mjs +74 -0
  6. package/TreeViewDragClue.js +8 -0
  7. package/TreeViewDragClue.mjs +56 -0
  8. package/TreeViewItem.js +8 -0
  9. package/TreeViewItem.mjs +271 -0
  10. package/dist/cdn/js/kendo-vue-treeview.js +8 -1
  11. package/handleTreeViewCheckChange.js +8 -0
  12. package/handleTreeViewCheckChange.mjs +64 -0
  13. package/index.d.mts +950 -0
  14. package/index.d.ts +950 -0
  15. package/index.js +8 -0
  16. package/index.mjs +23 -0
  17. package/moveTreeViewItem.js +8 -0
  18. package/moveTreeViewItem.mjs +45 -0
  19. package/package-metadata.js +8 -0
  20. package/package-metadata.mjs +18 -0
  21. package/package.json +25 -46
  22. package/processTreeViewItems.js +8 -0
  23. package/processTreeViewItems.mjs +90 -0
  24. package/utils/FieldsService.js +8 -0
  25. package/utils/FieldsService.mjs +59 -0
  26. package/utils/SortedPublicItemIds.js +8 -0
  27. package/utils/SortedPublicItemIds.mjs +26 -0
  28. package/utils/consts.js +8 -0
  29. package/utils/consts.mjs +20 -0
  30. package/utils/getItemIdUponKeyboardNavigation.js +8 -0
  31. package/utils/getItemIdUponKeyboardNavigation.mjs +65 -0
  32. package/utils/itemIdUtils.js +8 -0
  33. package/utils/itemIdUtils.mjs +82 -0
  34. package/utils/itemUtils.js +8 -0
  35. package/utils/itemUtils.mjs +140 -0
  36. package/utils/misc.js +8 -0
  37. package/utils/misc.mjs +21 -0
  38. package/dist/es/ItemRenderProps.d.ts +0 -13
  39. package/dist/es/ItemRenderProps.js +0 -2
  40. package/dist/es/TreeView.d.ts +0 -116
  41. package/dist/es/TreeView.js +0 -450
  42. package/dist/es/TreeViewDragAnalyzer.d.ts +0 -63
  43. package/dist/es/TreeViewDragAnalyzer.js +0 -111
  44. package/dist/es/TreeViewDragClue.d.ts +0 -78
  45. package/dist/es/TreeViewDragClue.js +0 -116
  46. package/dist/es/TreeViewItem.d.ts +0 -85
  47. package/dist/es/TreeViewItem.js +0 -415
  48. package/dist/es/TreeViewOperationDescriptors.d.ts +0 -76
  49. package/dist/es/TreeViewOperationDescriptors.js +0 -2
  50. package/dist/es/TreeViewProps.d.ts +0 -126
  51. package/dist/es/TreeViewProps.js +0 -1
  52. package/dist/es/additionalTypes.ts +0 -21
  53. package/dist/es/events.d.ts +0 -143
  54. package/dist/es/events.js +0 -2
  55. package/dist/es/handleTreeViewCheckChange.d.ts +0 -49
  56. package/dist/es/handleTreeViewCheckChange.js +0 -177
  57. package/dist/es/main.d.ts +0 -12
  58. package/dist/es/main.js +0 -8
  59. package/dist/es/moveTreeViewItem.d.ts +0 -46
  60. package/dist/es/moveTreeViewItem.js +0 -93
  61. package/dist/es/package-metadata.d.ts +0 -5
  62. package/dist/es/package-metadata.js +0 -11
  63. package/dist/es/processTreeViewItems.d.ts +0 -24
  64. package/dist/es/processTreeViewItems.js +0 -139
  65. package/dist/es/utils/FieldsService.d.ts +0 -26
  66. package/dist/es/utils/FieldsService.js +0 -50
  67. package/dist/es/utils/SortedPublicItemIds.d.ts +0 -8
  68. package/dist/es/utils/SortedPublicItemIds.js +0 -24
  69. package/dist/es/utils/consts.d.ts +0 -40
  70. package/dist/es/utils/consts.js +0 -40
  71. package/dist/es/utils/getItemIdUponKeyboardNavigation.d.ts +0 -5
  72. package/dist/es/utils/getItemIdUponKeyboardNavigation.js +0 -77
  73. package/dist/es/utils/itemIdUtils.d.ts +0 -60
  74. package/dist/es/utils/itemIdUtils.js +0 -117
  75. package/dist/es/utils/itemUtils.d.ts +0 -45
  76. package/dist/es/utils/itemUtils.js +0 -191
  77. package/dist/es/utils/misc.d.ts +0 -9
  78. package/dist/es/utils/misc.js +0 -17
  79. package/dist/esm/ItemRenderProps.d.ts +0 -13
  80. package/dist/esm/ItemRenderProps.js +0 -2
  81. package/dist/esm/TreeView.d.ts +0 -116
  82. package/dist/esm/TreeView.js +0 -450
  83. package/dist/esm/TreeViewDragAnalyzer.d.ts +0 -63
  84. package/dist/esm/TreeViewDragAnalyzer.js +0 -111
  85. package/dist/esm/TreeViewDragClue.d.ts +0 -78
  86. package/dist/esm/TreeViewDragClue.js +0 -116
  87. package/dist/esm/TreeViewItem.d.ts +0 -85
  88. package/dist/esm/TreeViewItem.js +0 -415
  89. package/dist/esm/TreeViewOperationDescriptors.d.ts +0 -76
  90. package/dist/esm/TreeViewOperationDescriptors.js +0 -2
  91. package/dist/esm/TreeViewProps.d.ts +0 -126
  92. package/dist/esm/TreeViewProps.js +0 -1
  93. package/dist/esm/additionalTypes.ts +0 -21
  94. package/dist/esm/events.d.ts +0 -143
  95. package/dist/esm/events.js +0 -2
  96. package/dist/esm/handleTreeViewCheckChange.d.ts +0 -49
  97. package/dist/esm/handleTreeViewCheckChange.js +0 -177
  98. package/dist/esm/main.d.ts +0 -12
  99. package/dist/esm/main.js +0 -8
  100. package/dist/esm/moveTreeViewItem.d.ts +0 -46
  101. package/dist/esm/moveTreeViewItem.js +0 -93
  102. package/dist/esm/package-metadata.d.ts +0 -5
  103. package/dist/esm/package-metadata.js +0 -11
  104. package/dist/esm/package.json +0 -3
  105. package/dist/esm/processTreeViewItems.d.ts +0 -24
  106. package/dist/esm/processTreeViewItems.js +0 -139
  107. package/dist/esm/utils/FieldsService.d.ts +0 -26
  108. package/dist/esm/utils/FieldsService.js +0 -50
  109. package/dist/esm/utils/SortedPublicItemIds.d.ts +0 -8
  110. package/dist/esm/utils/SortedPublicItemIds.js +0 -24
  111. package/dist/esm/utils/consts.d.ts +0 -40
  112. package/dist/esm/utils/consts.js +0 -40
  113. package/dist/esm/utils/getItemIdUponKeyboardNavigation.d.ts +0 -5
  114. package/dist/esm/utils/getItemIdUponKeyboardNavigation.js +0 -77
  115. package/dist/esm/utils/itemIdUtils.d.ts +0 -60
  116. package/dist/esm/utils/itemIdUtils.js +0 -117
  117. package/dist/esm/utils/itemUtils.d.ts +0 -45
  118. package/dist/esm/utils/itemUtils.js +0 -191
  119. package/dist/esm/utils/misc.d.ts +0 -9
  120. package/dist/esm/utils/misc.js +0 -17
  121. package/dist/npm/ItemRenderProps.d.ts +0 -13
  122. package/dist/npm/ItemRenderProps.js +0 -3
  123. package/dist/npm/TreeView.d.ts +0 -116
  124. package/dist/npm/TreeView.js +0 -457
  125. package/dist/npm/TreeViewDragAnalyzer.d.ts +0 -63
  126. package/dist/npm/TreeViewDragAnalyzer.js +0 -114
  127. package/dist/npm/TreeViewDragClue.d.ts +0 -78
  128. package/dist/npm/TreeViewDragClue.js +0 -123
  129. package/dist/npm/TreeViewItem.d.ts +0 -85
  130. package/dist/npm/TreeViewItem.js +0 -422
  131. package/dist/npm/TreeViewOperationDescriptors.d.ts +0 -76
  132. package/dist/npm/TreeViewOperationDescriptors.js +0 -3
  133. package/dist/npm/TreeViewProps.d.ts +0 -126
  134. package/dist/npm/TreeViewProps.js +0 -2
  135. package/dist/npm/additionalTypes.ts +0 -21
  136. package/dist/npm/events.d.ts +0 -143
  137. package/dist/npm/events.js +0 -3
  138. package/dist/npm/handleTreeViewCheckChange.d.ts +0 -49
  139. package/dist/npm/handleTreeViewCheckChange.js +0 -181
  140. package/dist/npm/main.d.ts +0 -12
  141. package/dist/npm/main.js +0 -17
  142. package/dist/npm/moveTreeViewItem.d.ts +0 -46
  143. package/dist/npm/moveTreeViewItem.js +0 -93
  144. package/dist/npm/package-metadata.d.ts +0 -5
  145. package/dist/npm/package-metadata.js +0 -14
  146. package/dist/npm/processTreeViewItems.d.ts +0 -24
  147. package/dist/npm/processTreeViewItems.js +0 -142
  148. package/dist/npm/utils/FieldsService.d.ts +0 -26
  149. package/dist/npm/utils/FieldsService.js +0 -52
  150. package/dist/npm/utils/SortedPublicItemIds.d.ts +0 -8
  151. package/dist/npm/utils/SortedPublicItemIds.js +0 -26
  152. package/dist/npm/utils/consts.d.ts +0 -40
  153. package/dist/npm/utils/consts.js +0 -43
  154. package/dist/npm/utils/getItemIdUponKeyboardNavigation.d.ts +0 -5
  155. package/dist/npm/utils/getItemIdUponKeyboardNavigation.js +0 -80
  156. package/dist/npm/utils/itemIdUtils.d.ts +0 -60
  157. package/dist/npm/utils/itemIdUtils.js +0 -132
  158. package/dist/npm/utils/itemUtils.d.ts +0 -45
  159. package/dist/npm/utils/itemUtils.js +0 -205
  160. package/dist/npm/utils/misc.d.ts +0 -9
  161. package/dist/npm/utils/misc.js +0 -22
@@ -1,457 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TreeViewVue2 = exports.TreeView = void 0;
7
- // @ts-ignore
8
- var Vue = require("vue");
9
- var allVue = Vue;
10
- var gh = allVue.h;
11
- var isV3 = allVue.version && allVue.version[0] === '3';
12
- var kendo_vue_common_1 = require("@progress/kendo-vue-common");
13
- var getItemIdUponKeyboardNavigation_1 = require("./utils/getItemIdUponKeyboardNavigation");
14
- var itemUtils_1 = require("./utils/itemUtils");
15
- var TreeViewItem_1 = require("./TreeViewItem");
16
- var itemIdUtils_1 = require("./utils/itemIdUtils");
17
- var FieldsService_1 = require("./utils/FieldsService");
18
- var package_metadata_1 = require("./package-metadata");
19
- var consts_1 = require("./utils/consts");
20
- var sizeMap = kendo_vue_common_1.kendoThemeMaps.sizeMap;
21
- /**
22
- * @hidden
23
- */
24
- var TreeViewVue2 = {
25
- name: 'KendoTreeView',
26
- // @ts-ignore
27
- emits: {
28
- blur: null,
29
- focus: null,
30
- itemdragstart: null,
31
- itemdragover: null,
32
- itemdragend: null,
33
- keydown: null,
34
- itemclick: null,
35
- expandchange: null,
36
- checkchange: null
37
- },
38
- props: {
39
- dataItems: Array,
40
- animate: {
41
- type: Boolean,
42
- default: true
43
- },
44
- id: String,
45
- draggable: Boolean,
46
- tabIndex: Number,
47
- focusIdField: String,
48
- getFocusHierarchicalIndex: Function,
49
- expandField: {
50
- type: String,
51
- default: consts_1.EXPAND_FIELD
52
- },
53
- selectField: {
54
- type: String,
55
- default: consts_1.SELECT_FIELD
56
- },
57
- childrenField: {
58
- type: String,
59
- default: consts_1.CHILDREN_FIELD
60
- },
61
- hasChildrenField: {
62
- type: String,
63
- default: consts_1.HAS_CHILDREN_FIELD
64
- },
65
- expandIcons: Boolean,
66
- checkboxes: Boolean,
67
- textField: {
68
- type: String,
69
- default: consts_1.TEXT_FIELD
70
- },
71
- disableField: {
72
- type: String,
73
- default: consts_1.DISABLED_FIELD
74
- },
75
- checkField: {
76
- type: String,
77
- default: consts_1.CHECK_FIELD
78
- },
79
- checkIndeterminateField: {
80
- type: String,
81
- default: consts_1.CHECK_INDETERMINATE_FIELD
82
- },
83
- item: [Object, String, Function],
84
- ariaMultiSelectable: [String, Boolean],
85
- ariaLabel: String,
86
- ariaLabelledby: String,
87
- size: {
88
- type: String,
89
- default: 'medium',
90
- validator: function validator(value) {
91
- return [null, 'small', 'medium', 'large'].includes(value);
92
- }
93
- }
94
- },
95
- data: function data() {
96
- return {
97
- currentRtl: false,
98
- focusedItemId: undefined,
99
- focusedItemPublicId: undefined,
100
- tabbableItemId: itemIdUtils_1.ZERO_LEVEL_ZERO_NODE_ID
101
- };
102
- },
103
- mounted: function mounted() {
104
- this.currentRtl = (0, kendo_vue_common_1.isRtl)(this.$el);
105
- },
106
- computed: {
107
- treeGuid: function treeGuid() {
108
- return this.id || this.innerId;
109
- }
110
- },
111
- created: function created() {
112
- (0, kendo_vue_common_1.validatePackage)(package_metadata_1.packageMetadata);
113
- this.allowExplicitFocus = false;
114
- this.innerId = (0, kendo_vue_common_1.guid)();
115
- },
116
- updated: function updated() {
117
- this.allowExplicitFocus = false;
118
- this.refocusDueToFocusIdField();
119
- },
120
- // @ts-ignore
121
- setup: !isV3 ? undefined : function () {
122
- var v3 = !!isV3;
123
- return {
124
- v3: v3
125
- };
126
- },
127
- // @ts-ignore
128
- render: function render(createElement) {
129
- var _a;
130
- var h = gh || createElement;
131
- this.fieldsSvc = new FieldsService_1.default(this.$props);
132
- var size = this.$props.size;
133
- return h("div", {
134
- "class": (0, kendo_vue_common_1.classNames)('k-treeview', (_a = {}, _a["k-treeview-".concat(sizeMap[size] || size)] = size, _a['k-user-select-none'] = this.draggable, _a['k-rtl'] = this.currentRtl, _a)),
135
- onKeydown: this.onKeyDown,
136
- on: this.v3 ? undefined : {
137
- "keydown": this.onKeyDown,
138
- "focusin": this.onFocus,
139
- "focusout": this.onBlur
140
- },
141
- onFocusin: this.onFocus,
142
- onFocusout: this.onBlur,
143
- "aria-multiselectable": this.ariaMultiSelectable ? true : undefined,
144
- attrs: this.v3 ? undefined : {
145
- "aria-multiselectable": this.ariaMultiSelectable ? true : undefined,
146
- "aria-label": this.$props['aria-label'],
147
- "aria-labelledby": this.$props['aria-labelledby'],
148
- tabindex: this.$props.tabIndex
149
- },
150
- "aria-label": this.$props['aria-label'],
151
- "aria-labelledby": this.$props['aria-labelledby'],
152
- tabindex: this.$props.tabIndex,
153
- style: {
154
- userSelect: this.draggable ? 'none' : undefined
155
- }
156
- }, [h("ul", {
157
- "class": "k-treeview-lines k-treeview-group",
158
- role: "tree",
159
- attrs: this.v3 ? undefined : {
160
- role: "tree"
161
- }
162
- }, [this.dataItems.map(function (item, index) {
163
- var itemTemplate = kendo_vue_common_1.templateRendering.call(this, this.item, kendo_vue_common_1.getListeners.call(this));
164
- return h(TreeViewItem_1.TreeViewItem, {
165
- item: item,
166
- attrs: this.v3 ? undefined : {
167
- item: item,
168
- itemId: index.toString(),
169
- treeGuid: this.treeGuid,
170
- animate: this.$props.animate,
171
- focusedItemId: this.focusedItemId,
172
- tabbableItemId: this.tabbableItemId,
173
- fieldsService: this.fieldsSvc,
174
- itemUI: itemTemplate,
175
- checkboxes: this.$props.checkboxes,
176
- ariaMultiSelectable: this.ariaMultiSelectable,
177
- draggable: this.$props.draggable,
178
- expandIcons: this.$props.expandIcons,
179
- size: size,
180
- ariaLevel: 1,
181
- isRtl: this.currentRtl
182
- },
183
- itemId: index.toString(),
184
- treeGuid: this.treeGuid,
185
- animate: this.$props.animate,
186
- focusedItemId: this.focusedItemId,
187
- tabbableItemId: this.tabbableItemId,
188
- fieldsService: this.fieldsSvc,
189
- itemUI: itemTemplate,
190
- checkboxes: this.$props.checkboxes,
191
- ariaMultiSelectable: this.ariaMultiSelectable,
192
- onItemclick: this.onItemClick,
193
- on: this.v3 ? undefined : {
194
- "itemclick": this.onItemClick,
195
- "focusdomelneeded": this.onFocusDomElNeeded,
196
- "press": this.onPress,
197
- "drag": this.onDrag,
198
- "release": this.onRelease,
199
- "expandchange": this.onExpandChange,
200
- "checkchange": this.onCheckChange
201
- },
202
- onFocusdomelneeded: this.onFocusDomElNeeded,
203
- draggable: this.$props.draggable,
204
- onPress: this.onPress,
205
- onDrag: this.onDrag,
206
- onRelease: this.onRelease,
207
- expandIcons: this.$props.expandIcons,
208
- onExpandchange: this.onExpandChange,
209
- onCheckchange: this.onCheckChange,
210
- key: index,
211
- size: size,
212
- ariaLevel: 1,
213
- isRtl: this.currentRtl
214
- });
215
- }, this)])]);
216
- },
217
- methods: {
218
- onFocusDomElNeeded: function onFocusDomElNeeded(domItem) {
219
- if (this.allowExplicitFocus) {
220
- this.focusDomItem(domItem);
221
- }
222
- },
223
- onCheckChange: function onCheckChange(event, item, itemId) {
224
- this.setFocus(itemId);
225
- this.dispatchCheckChange(event, item, itemId);
226
- },
227
- onExpandChange: function onExpandChange(event, item, itemId) {
228
- this.setFocus(itemId);
229
- this.dispatchExpandChange(event, item, itemId);
230
- },
231
- onPress: function onPress(_event, item, itemId) {
232
- this.$emit('itemdragstart', {
233
- target: this,
234
- item: item,
235
- itemHierarchicalIndex: itemId
236
- });
237
- },
238
- onDrag: function onDrag(event, item, itemId) {
239
- var pageX = event.pageX,
240
- pageY = event.pageY,
241
- clientX = event.clientX,
242
- clientY = event.clientY;
243
- this.$emit('itemdragover', {
244
- target: this,
245
- item: item,
246
- itemHierarchicalIndex: itemId,
247
- pageX: pageX,
248
- pageY: pageY,
249
- clientX: clientX,
250
- clientY: clientY
251
- });
252
- },
253
- onRelease: function onRelease(event, item, itemId) {
254
- var pageX = event.pageX,
255
- pageY = event.pageY,
256
- clientX = event.clientX,
257
- clientY = event.clientY;
258
- this.$emit('itemdragend', {
259
- target: this,
260
- item: item,
261
- itemHierarchicalIndex: itemId,
262
- pageX: pageX,
263
- pageY: pageY,
264
- clientX: clientX,
265
- clientY: clientY
266
- });
267
- },
268
- onItemClick: function onItemClick(event, item, itemId) {
269
- this.setFocus(itemId);
270
- this.dispatchItemClick(event, item, itemId);
271
- },
272
- onFocus: function onFocus(e) {
273
- clearTimeout(this.blurRequest);
274
- if (this.focusedItemId === undefined && this.dataItems.length) {
275
- this.setFocus(this.tabbableItemId);
276
- }
277
- this.$emit('focus', e);
278
- },
279
- onBlur: function onBlur(e) {
280
- var _this = this;
281
- clearTimeout(this.blurRequest);
282
- if (kendo_vue_common_1.canUseDOM) {
283
- this.blurRequest = window.setTimeout(function () {
284
- return _this.setFocus(undefined);
285
- }, 0);
286
- }
287
- this.$emit('blur', e);
288
- },
289
- onKeyDown: function onKeyDown(event) {
290
- var focusedItem = this.getFocusedItem();
291
- if (focusedItem) {
292
- var newItemId = (0, getItemIdUponKeyboardNavigation_1.default)(focusedItem, this.focusedItemId, this.dataItems, event.keyCode, this.fieldsSvc);
293
- if (newItemId !== this.focusedItemId) {
294
- // This disables the auto-scroll. The scroll is achieved via item focusing.
295
- event.preventDefault();
296
- this.allowExplicitFocus = true;
297
- this.setFocus(newItemId);
298
- }
299
- this.dispatchEventsOnKeyDown(event, focusedItem);
300
- }
301
- this.$emit('keydown', event);
302
- },
303
- dispatchEventsOnKeyDown: function dispatchEventsOnKeyDown(event, focusedItem) {
304
- var _this = this;
305
- // isEnabled is the most expensive op and that is why is left last.
306
- var isEnabled = function isEnabled() {
307
- return (0, itemUtils_1.isEnabledAndAllParentsEnabled)(_this.focusedItemId, _this.dataItems, _this.fieldsSvc);
308
- };
309
- var currentDisabled = this.fieldsSvc.disabled(focusedItem);
310
- if (event.keyCode === kendo_vue_common_1.Keys.left && this.fieldsSvc.expanded(focusedItem) && isEnabled()) {
311
- this.dispatchExpandChange(event, focusedItem, this.focusedItemId);
312
- } else if (event.keyCode === kendo_vue_common_1.Keys.right && !this.fieldsSvc.expanded(focusedItem) && (this.fieldsSvc.hasChildren(focusedItem) || (0, itemUtils_1.hasChildren)(focusedItem, this.$props.childrenField)) && isEnabled()) {
313
- this.dispatchExpandChange(event, focusedItem, this.focusedItemId);
314
- } else if (event.keyCode === kendo_vue_common_1.Keys.enter && !currentDisabled) {
315
- this.dispatchItemClick(event, focusedItem, this.focusedItemId);
316
- } else if (event.keyCode === kendo_vue_common_1.Keys.space && !currentDisabled) {
317
- // W/o preventDefault() long TreeViews gets incorrectly scrolled.
318
- event.preventDefault();
319
- this.dispatchCheckChange(event, focusedItem, this.focusedItemId);
320
- }
321
- },
322
- setFocus: function setFocus(focusedItemId) {
323
- if (focusedItemId) {
324
- if (this.fieldsSvc.focusIdField) {
325
- var item = this.getItemById(focusedItemId);
326
- this.focusedItemId = focusedItemId;
327
- this.focusedItemPublicId = this.fieldsSvc.focusId(item);
328
- } else {
329
- this.focusedItemId = focusedItemId;
330
- }
331
- } else {
332
- var tempId = this.focusedItemId;
333
- this.focusedItemId = undefined;
334
- this.focusedItemPublicId = undefined;
335
- this.tabbableItemId = tempId;
336
- }
337
- },
338
- getFocusedItem: function getFocusedItem() {
339
- return this.focusedItemId ? this.getItemById(this.focusedItemId) : undefined;
340
- },
341
- getItemById: function getItemById(itemId) {
342
- return (0, itemIdUtils_1.getItemById)(itemId, this.dataItems, this.$props.childrenField || consts_1.CHILDREN_FIELD);
343
- },
344
- dispatchCheckChange: function dispatchCheckChange(dispatchedEvent, item, itemId) {
345
- this.$emit('checkchange', {
346
- item: item,
347
- itemHierarchicalIndex: itemId,
348
- event: dispatchedEvent
349
- });
350
- },
351
- dispatchExpandChange: function dispatchExpandChange(dispatchedEvent, item, itemId) {
352
- this.$emit('expandchange', {
353
- item: item,
354
- itemHierarchicalIndex: itemId,
355
- event: dispatchedEvent
356
- });
357
- },
358
- dispatchItemClick: function dispatchItemClick(dispatchedEvent, item, itemId) {
359
- this.$emit('itemclick', {
360
- item: item,
361
- itemHierarchicalIndex: itemId,
362
- event: dispatchedEvent
363
- });
364
- },
365
- refocusDueToFocusIdField: function refocusDueToFocusIdField() {
366
- if (this.fieldsSvc.focusIdField) {
367
- var focusedItemPublicId = this.focusedItemPublicId;
368
- if (focusedItemPublicId) {
369
- var focusedItemId = this.$props.getFocusHierarchicalIndex ? this.$props.getFocusHierarchicalIndex(focusedItemPublicId) : (0, itemUtils_1.resolveItemId)(focusedItemPublicId, this.fieldsSvc.focusIdField, this.dataItems, this.$props.childrenField);
370
- if (focusedItemId !== this.focusedItemId) {
371
- this.allowExplicitFocus = true;
372
- this.focusedItemId = focusedItemId;
373
- }
374
- }
375
- }
376
- },
377
- // private get ariaMultiSelectable() {
378
- // return this.$props['aria-multiselectable'] === true || this.$props['aria-multiselectable'] === 'true';
379
- // }
380
- focusDomItem: function focusDomItem(domItem) {
381
- domItem.focus();
382
- },
383
- guid: function guid() {
384
- return this.treeGuid;
385
- }
386
- }
387
- };
388
- exports.TreeViewVue2 = TreeViewVue2;
389
- /**
390
- *
391
- *
392
- * Represents the [Kendo UI for Vue Native TreeView component]({% slug overview_treeview %}).
393
- *
394
- * ```jsx
395
- * <template>
396
- * <div>
397
- * <TreeView :dataItems="tree" />
398
- * </div>
399
- * </template>
400
- *
401
- * <script>
402
- * import { TreeView } from '@progress/kendo-vue-treeview';
403
- *
404
- * export default {
405
- * components: {
406
- * TreeView,
407
- * },
408
- * data() {
409
- * return {
410
- * tree: [
411
- * {
412
- * text: 'Furniture',
413
- * expanded: true,
414
- * items: [
415
- * {
416
- * text: 'Tables & Chairs',
417
- * },
418
- * {
419
- * text: 'Sofas',
420
- * },
421
- * {
422
- * text: 'Occasional Furniture',
423
- * },
424
- * ],
425
- * },
426
- * {
427
- * text: 'Decor',
428
- * expanded: true,
429
- * items: [
430
- * {
431
- * text: 'Bed Linen',
432
- * },
433
- * {
434
- * text: 'Curtains & Blinds',
435
- * },
436
- * {
437
- * text: 'Carpets',
438
- * },
439
- * ],
440
- * },
441
- * ],
442
- * };
443
- * },
444
- * };
445
- * </script>
446
- * ```
447
- *
448
- *
449
- *
450
- * ### props <span class='code'>Readonly&lt;[TreeViewProps]({% slug api_treeview_treeviewprops %})&gt;</span>
451
- * The props of the TreeView component.
452
- *
453
- * ### guid <span class='code'>string</span>
454
- * Returns the `guid` which is associated with the TreeView.
455
- */
456
- var TreeView = TreeViewVue2;
457
- exports.TreeView = TreeView;
@@ -1,63 +0,0 @@
1
- import { TreeViewItemDragOverEvent, TreeViewItemDragEndEvent } from './events';
2
- /**
3
- * A class which provides an API for analyzing the `drag` events
4
- * of the TreeView.
5
- *
6
- * {% meta height:400 %}
7
- * {% embed_file drag/single/main.vue preview %}
8
- * {% embed_file drag/single/main.js %}
9
- * {% endmeta %}
10
- *
11
- * ### destinationMeta <span class='code'>{ itemHierarchicalIndex: string; treeViewGuid: string; }</span>
12
- * Returns an object which contains:
13
- * * The `itemHierarchicalIndex` of the destination item (the item below the dragged item) and
14
- * * The `guid` of the destination TreeView (the TreeView which renders the destination item).
15
- *
16
- * ### isDropAllowed <span class='code'>boolean</span>
17
- * Returns `true` if dropping is allowed. Otherwise, returns `false`.
18
- */
19
- declare class TreeViewDragAnalyzer {
20
- private event;
21
- private itemId;
22
- private treeViewGuid;
23
- private initialized;
24
- private destDomNodeWithMeta;
25
- private destItemId;
26
- private destTreeViewGuid;
27
- /**
28
- * @param event - The event that will be analyzed.
29
- */
30
- constructor(event: TreeViewItemDragOverEvent | TreeViewItemDragEndEvent);
31
- /**
32
- * The method which initializes the analyzer.
33
- * Invoke the method before you call any other methods.
34
- *
35
- * @returns - The analyzer object of the `drag` event.
36
- */
37
- init(): this;
38
- /**
39
- * Returns `true` if dropping is allowed. Otherwise, returns `false`.
40
- */
41
- get isDropAllowed(): boolean;
42
- /**
43
- * Returns an object which contains:
44
- * * The `itemHierarchicalIndex` of the destination item (the item below the dragged item) and
45
- * * The `guid` of the destination TreeView (the TreeView which renders the destination item).
46
- */
47
- get destinationMeta(): {
48
- itemHierarchicalIndex: string;
49
- treeViewGuid: string;
50
- };
51
- /**
52
- * Returns the specific drop operation.
53
- *
54
- * @returns - The following values are returned:
55
- * * `before`&mdash;Indicates that the dragged item is positioned at the beginning of the destination item.
56
- * * `after`&mdash;Indicates that the dragged item is positioned at the end of the destination item.
57
- * * `child`&mdash;Indicates that the dragged item is positioned in the middle of the destination item.
58
- * * `undefined`&mdash;Indicates that dropping is not allowed.
59
- */
60
- getDropOperation(): "before" | "after" | "child";
61
- private setDestimationMeta;
62
- }
63
- export { TreeViewDragAnalyzer };
@@ -1,114 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TreeViewDragAnalyzer = void 0;
4
- var consts_1 = require("./utils/consts");
5
- var DROPZONE_BOUNDARY_DELTA = 6;
6
- /**
7
- * A class which provides an API for analyzing the `drag` events
8
- * of the TreeView.
9
- *
10
- * {% meta height:400 %}
11
- * {% embed_file drag/single/main.vue preview %}
12
- * {% embed_file drag/single/main.js %}
13
- * {% endmeta %}
14
- *
15
- * ### destinationMeta <span class='code'>{ itemHierarchicalIndex: string; treeViewGuid: string; }</span>
16
- * Returns an object which contains:
17
- * * The `itemHierarchicalIndex` of the destination item (the item below the dragged item) and
18
- * * The `guid` of the destination TreeView (the TreeView which renders the destination item).
19
- *
20
- * ### isDropAllowed <span class='code'>boolean</span>
21
- * Returns `true` if dropping is allowed. Otherwise, returns `false`.
22
- */
23
- var TreeViewDragAnalyzer = /** @class */ (function () {
24
- /**
25
- * @param event - The event that will be analyzed.
26
- */
27
- function TreeViewDragAnalyzer(event) {
28
- this.event = event;
29
- this.initialized = false;
30
- this.itemId = event.itemHierarchicalIndex;
31
- this.treeViewGuid = event.target.guid();
32
- }
33
- /**
34
- * The method which initializes the analyzer.
35
- * Invoke the method before you call any other methods.
36
- *
37
- * @returns - The analyzer object of the `drag` event.
38
- */
39
- TreeViewDragAnalyzer.prototype.init = function () {
40
- if (!this.initialized) {
41
- this.setDestimationMeta(document.elementFromPoint(this.event.clientX, this.event.clientY));
42
- this.initialized = true;
43
- }
44
- return this;
45
- };
46
- Object.defineProperty(TreeViewDragAnalyzer.prototype, "isDropAllowed", {
47
- /**
48
- * Returns `true` if dropping is allowed. Otherwise, returns `false`.
49
- */
50
- get: function () {
51
- if (this.initialized && this.destItemId && this.destTreeViewGuid) {
52
- // Disallow circular references.
53
- return !(("".concat(this.destTreeViewGuid, "_").concat(this.destItemId, "_")).
54
- startsWith("".concat(this.treeViewGuid, "_").concat(this.itemId, "_")));
55
- }
56
- else {
57
- return false;
58
- }
59
- },
60
- enumerable: false,
61
- configurable: true
62
- });
63
- Object.defineProperty(TreeViewDragAnalyzer.prototype, "destinationMeta", {
64
- /**
65
- * Returns an object which contains:
66
- * * The `itemHierarchicalIndex` of the destination item (the item below the dragged item) and
67
- * * The `guid` of the destination TreeView (the TreeView which renders the destination item).
68
- */
69
- get: function () {
70
- return { itemHierarchicalIndex: this.destItemId, treeViewGuid: this.destTreeViewGuid };
71
- },
72
- enumerable: false,
73
- configurable: true
74
- });
75
- /**
76
- * Returns the specific drop operation.
77
- *
78
- * @returns - The following values are returned:
79
- * * `before`&mdash;Indicates that the dragged item is positioned at the beginning of the destination item.
80
- * * `after`&mdash;Indicates that the dragged item is positioned at the end of the destination item.
81
- * * `child`&mdash;Indicates that the dragged item is positioned in the middle of the destination item.
82
- * * `undefined`&mdash;Indicates that dropping is not allowed.
83
- */
84
- TreeViewDragAnalyzer.prototype.getDropOperation = function () {
85
- if (this.initialized && this.isDropAllowed) {
86
- var _a = this.destDomNodeWithMeta.getBoundingClientRect(), top_1 = _a.top, height = _a.height;
87
- if (top_1 + height - this.event.clientY < DROPZONE_BOUNDARY_DELTA) {
88
- return 'after';
89
- }
90
- else if (this.event.clientY - top_1 < DROPZONE_BOUNDARY_DELTA) {
91
- return 'before';
92
- }
93
- else {
94
- return 'child';
95
- }
96
- }
97
- else {
98
- return undefined;
99
- }
100
- };
101
- TreeViewDragAnalyzer.prototype.setDestimationMeta = function (element) {
102
- var node = element;
103
- while (node && !node[consts_1.DOM_KENDO_ITEM_ID_FIELD]) {
104
- node = node.parentNode;
105
- }
106
- if (node && node[consts_1.DOM_KENDO_ITEM_ID_FIELD]) {
107
- this.destDomNodeWithMeta = node;
108
- this.destItemId = node[consts_1.DOM_KENDO_ITEM_ID_FIELD];
109
- this.destTreeViewGuid = node[consts_1.DOM_KENDO_TREEVIEW_GUID_FIELD];
110
- }
111
- };
112
- return TreeViewDragAnalyzer;
113
- }());
114
- exports.TreeViewDragAnalyzer = TreeViewDragAnalyzer;