@progress/kendo-vue-treeview 3.2.2-dev.202204181420

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 (87) hide show
  1. package/LICENSE.md +11 -0
  2. package/NOTICE.txt +86 -0
  3. package/README.md +53 -0
  4. package/dist/cdn/js/kendo-vue-treeview.js +1 -0
  5. package/dist/es/ItemRenderProps.d.ts +13 -0
  6. package/dist/es/ItemRenderProps.js +1 -0
  7. package/dist/es/TreeView.d.ts +45 -0
  8. package/dist/es/TreeView.js +359 -0
  9. package/dist/es/TreeViewDragAnalyzer.d.ts +135 -0
  10. package/dist/es/TreeViewDragAnalyzer.js +184 -0
  11. package/dist/es/TreeViewDragClue.d.ts +135 -0
  12. package/dist/es/TreeViewDragClue.js +78 -0
  13. package/dist/es/TreeViewItem.d.ts +69 -0
  14. package/dist/es/TreeViewItem.js +359 -0
  15. package/dist/es/TreeViewOperationDescriptors.d.ts +76 -0
  16. package/dist/es/TreeViewOperationDescriptors.js +1 -0
  17. package/dist/es/TreeViewProps.d.ts +122 -0
  18. package/dist/es/TreeViewProps.js +0 -0
  19. package/dist/es/additionalTypes.ts +9 -0
  20. package/dist/es/events.d.ts +135 -0
  21. package/dist/es/events.js +0 -0
  22. package/dist/es/handleTreeViewCheckChange.d.ts +67 -0
  23. package/dist/es/handleTreeViewCheckChange.js +195 -0
  24. package/dist/es/main.d.ts +12 -0
  25. package/dist/es/main.js +8 -0
  26. package/dist/es/moveTreeViewItem.d.ts +109 -0
  27. package/dist/es/moveTreeViewItem.js +156 -0
  28. package/dist/es/package-metadata.d.ts +5 -0
  29. package/dist/es/package-metadata.js +11 -0
  30. package/dist/es/processTreeViewItems.d.ts +51 -0
  31. package/dist/es/processTreeViewItems.js +166 -0
  32. package/dist/es/utils/FieldsService.d.ts +26 -0
  33. package/dist/es/utils/FieldsService.js +50 -0
  34. package/dist/es/utils/SortedPublicItemIds.d.ts +8 -0
  35. package/dist/es/utils/SortedPublicItemIds.js +26 -0
  36. package/dist/es/utils/consts.d.ts +40 -0
  37. package/dist/es/utils/consts.js +40 -0
  38. package/dist/es/utils/getItemIdUponKeyboardNavigation.d.ts +5 -0
  39. package/dist/es/utils/getItemIdUponKeyboardNavigation.js +77 -0
  40. package/dist/es/utils/itemIdUtils.d.ts +60 -0
  41. package/dist/es/utils/itemIdUtils.js +117 -0
  42. package/dist/es/utils/itemUtils.d.ts +45 -0
  43. package/dist/es/utils/itemUtils.js +191 -0
  44. package/dist/es/utils/misc.d.ts +9 -0
  45. package/dist/es/utils/misc.js +17 -0
  46. package/dist/npm/ItemRenderProps.d.ts +13 -0
  47. package/dist/npm/ItemRenderProps.js +3 -0
  48. package/dist/npm/TreeView.d.ts +45 -0
  49. package/dist/npm/TreeView.js +376 -0
  50. package/dist/npm/TreeViewDragAnalyzer.d.ts +135 -0
  51. package/dist/npm/TreeViewDragAnalyzer.js +186 -0
  52. package/dist/npm/TreeViewDragClue.d.ts +135 -0
  53. package/dist/npm/TreeViewDragClue.js +88 -0
  54. package/dist/npm/TreeViewItem.d.ts +69 -0
  55. package/dist/npm/TreeViewItem.js +373 -0
  56. package/dist/npm/TreeViewOperationDescriptors.d.ts +76 -0
  57. package/dist/npm/TreeViewOperationDescriptors.js +3 -0
  58. package/dist/npm/TreeViewProps.d.ts +122 -0
  59. package/dist/npm/TreeViewProps.js +2 -0
  60. package/dist/npm/additionalTypes.ts +9 -0
  61. package/dist/npm/events.d.ts +135 -0
  62. package/dist/npm/events.js +2 -0
  63. package/dist/npm/handleTreeViewCheckChange.d.ts +67 -0
  64. package/dist/npm/handleTreeViewCheckChange.js +199 -0
  65. package/dist/npm/main.d.ts +12 -0
  66. package/dist/npm/main.js +17 -0
  67. package/dist/npm/moveTreeViewItem.d.ts +109 -0
  68. package/dist/npm/moveTreeViewItem.js +159 -0
  69. package/dist/npm/package-metadata.d.ts +5 -0
  70. package/dist/npm/package-metadata.js +14 -0
  71. package/dist/npm/processTreeViewItems.d.ts +51 -0
  72. package/dist/npm/processTreeViewItems.js +169 -0
  73. package/dist/npm/utils/FieldsService.d.ts +26 -0
  74. package/dist/npm/utils/FieldsService.js +52 -0
  75. package/dist/npm/utils/SortedPublicItemIds.d.ts +8 -0
  76. package/dist/npm/utils/SortedPublicItemIds.js +28 -0
  77. package/dist/npm/utils/consts.d.ts +40 -0
  78. package/dist/npm/utils/consts.js +43 -0
  79. package/dist/npm/utils/getItemIdUponKeyboardNavigation.d.ts +5 -0
  80. package/dist/npm/utils/getItemIdUponKeyboardNavigation.js +80 -0
  81. package/dist/npm/utils/itemIdUtils.d.ts +60 -0
  82. package/dist/npm/utils/itemIdUtils.js +132 -0
  83. package/dist/npm/utils/itemUtils.d.ts +45 -0
  84. package/dist/npm/utils/itemUtils.js +205 -0
  85. package/dist/npm/utils/misc.d.ts +9 -0
  86. package/dist/npm/utils/misc.js +22 -0
  87. package/package.json +56 -0
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DOM_KENDO_TREEVIEW_GUID_FIELD = exports.DOM_KENDO_ITEM_ID_FIELD = exports.CHECK_INDETERMINATE_FIELD = exports.CHECK_FIELD = exports.SELECT_FIELD = exports.HAS_CHILDREN_FIELD = exports.CHILDREN_FIELD = exports.DISABLED_FIELD = exports.TEXT_FIELD = exports.EXPAND_FIELD = void 0;
4
+ /**
5
+ * @hidden
6
+ */
7
+ exports.EXPAND_FIELD = 'expanded';
8
+ /**
9
+ * @hidden
10
+ */
11
+ exports.TEXT_FIELD = 'text';
12
+ /**
13
+ * @hidden
14
+ */
15
+ exports.DISABLED_FIELD = 'disabled';
16
+ /**
17
+ * @hidden
18
+ */
19
+ exports.CHILDREN_FIELD = 'items';
20
+ /**
21
+ * @hidden
22
+ */
23
+ exports.HAS_CHILDREN_FIELD = 'hasChildren';
24
+ /**
25
+ * @hidden
26
+ */
27
+ exports.SELECT_FIELD = 'selected';
28
+ /**
29
+ * @hidden
30
+ */
31
+ exports.CHECK_FIELD = 'checked';
32
+ /**
33
+ * @hidden
34
+ */
35
+ exports.CHECK_INDETERMINATE_FIELD = 'checkIndeterminate';
36
+ /**
37
+ * @hidden
38
+ */
39
+ exports.DOM_KENDO_ITEM_ID_FIELD = '_kendoItemId';
40
+ /**
41
+ * @hidden
42
+ */
43
+ exports.DOM_KENDO_TREEVIEW_GUID_FIELD = '_kendoTreeViewGuid';
@@ -0,0 +1,5 @@
1
+ import FieldsService from './FieldsService';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export default function getItemIdUponKeyboardNavigation(item: any, itemId: string, items: any[], keyCode: number, fieldsSvc: FieldsService): any;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var kendo_vue_common_1 = require("@progress/kendo-vue-common");
4
+ var idUtils = require("./itemIdUtils");
5
+ var itemUtils_1 = require("./itemUtils");
6
+ /**
7
+ * @hidden
8
+ */
9
+ function getItemIdUponKeyboardNavigation(item, itemId, items, keyCode, fieldsSvc) {
10
+ switch (keyCode) {
11
+ case kendo_vue_common_1.Keys.left:
12
+ return getIdUponLeftKey();
13
+ case kendo_vue_common_1.Keys.right:
14
+ return getIdUponRightKey();
15
+ case kendo_vue_common_1.Keys.up:
16
+ return getIdUponUpKey();
17
+ case kendo_vue_common_1.Keys.down:
18
+ return getIdUponDownKey();
19
+ case kendo_vue_common_1.Keys.home:
20
+ return idUtils.ZERO_LEVEL_ZERO_NODE_ID;
21
+ case kendo_vue_common_1.Keys.end:
22
+ return getIdUponEndKey();
23
+ default:
24
+ return itemId;
25
+ }
26
+ function getIdUponLeftKey() {
27
+ return idUtils.isIdZeroLevel(itemId)
28
+ // For expanded disabled items, navigate directly to the parent.
29
+ // Collapse cannot happen because an event is not fired to the client.
30
+ || (fieldsSvc.expanded(item) && itemUtils_1.isEnabledAndAllParentsEnabled(itemId, items, fieldsSvc)) ?
31
+ itemId : idUtils.getDirectParentId(itemId);
32
+ }
33
+ function getIdUponRightKey() {
34
+ return itemUtils_1.isItemExpandedAndWithChildren(item, fieldsSvc) ? idUtils.getFirstChildId(itemId) : itemId;
35
+ }
36
+ function getIdUponUpKey() {
37
+ var index = Number(idUtils.getShortId(itemId));
38
+ var parentId = idUtils.getDirectParentId(itemId);
39
+ return index ? getLastNotOpenedChildId(idUtils.createId(index - 1, parentId), items, fieldsSvc) :
40
+ idUtils.isIdZeroLevel(itemId) ? itemId : parentId;
41
+ }
42
+ function getIdUponDownKey() {
43
+ if (itemUtils_1.isItemExpandedAndWithChildren(item, fieldsSvc)) {
44
+ return idUtils.getFirstChildId(itemId);
45
+ }
46
+ else {
47
+ return getNextItemId(itemId, items, fieldsSvc) || itemId;
48
+ }
49
+ }
50
+ function getIdUponEndKey() {
51
+ var result = (items.length - 1).toString();
52
+ var currentItem = items[items.length - 1];
53
+ var children;
54
+ while (itemUtils_1.isItemExpandedAndWithChildren(currentItem, fieldsSvc)) {
55
+ children = currentItem[fieldsSvc.getChildrenField()];
56
+ result = idUtils.createId(children.length - 1, result);
57
+ currentItem = children[children.length - 1];
58
+ }
59
+ return result;
60
+ }
61
+ }
62
+ exports.default = getItemIdUponKeyboardNavigation;
63
+ function getNextItemId(itemId, items, fieldsSvc) {
64
+ var parentId = idUtils.getDirectParentId(itemId);
65
+ var parent = parentId ? idUtils.getItemById(parentId, items, fieldsSvc.getChildrenField()) : undefined;
66
+ var siblings = parent ? parent[fieldsSvc.getChildrenField()] : items;
67
+ var index = Number(idUtils.getShortId(itemId));
68
+ return index < siblings.length - 1 ?
69
+ idUtils.createId(index + 1, parentId) :
70
+ parent ? getNextItemId(parentId, items, fieldsSvc) : undefined;
71
+ }
72
+ function getLastNotOpenedChildId(itemId, items, fieldsSvc) {
73
+ var item = idUtils.getItemById(itemId, items, fieldsSvc.getChildrenField());
74
+ if (itemUtils_1.isItemExpandedAndWithChildren(item, fieldsSvc)) {
75
+ return getLastNotOpenedChildId(idUtils.createId(item[fieldsSvc.getChildrenField()].length - 1, itemId), items, fieldsSvc);
76
+ }
77
+ else {
78
+ return itemId;
79
+ }
80
+ }
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare const EMPTY_ID = "";
5
+ /**
6
+ * @hidden
7
+ */
8
+ export declare const ZERO_LEVEL_ZERO_NODE_ID = "0";
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare const SEPARATOR = "_";
13
+ /**
14
+ * @hidden
15
+ */
16
+ export declare function getItemById(itemId: string, items: any, childrenField: string): any;
17
+ /**
18
+ * @hidden
19
+ */
20
+ export declare function getRootParentId(itemId: string): string;
21
+ /**
22
+ * @hidden
23
+ */
24
+ export declare function getIdWithoutRootParentId(itemId: string): string;
25
+ /**
26
+ * @hidden
27
+ */
28
+ export declare function getFirstChildId(itemId: string): string;
29
+ /**
30
+ * @hidden
31
+ */
32
+ export declare function createId(childId: string | number, parentId?: string): string;
33
+ /**
34
+ * @hidden
35
+ */
36
+ export declare function getDirectParentId(itemId: string): string;
37
+ /**
38
+ * @hidden
39
+ */
40
+ export declare function isIdEmptyOrZeroLevel(itemId: string): boolean;
41
+ /**
42
+ * @hidden
43
+ */
44
+ export declare function isIdZeroLevel(itemId: string): boolean;
45
+ /**
46
+ * @hidden
47
+ */
48
+ export declare function getAllShortIds(itemId: string): string[];
49
+ /**
50
+ * @hidden
51
+ */
52
+ export declare function getShortId(itemId: string): string;
53
+ /**
54
+ * @hidden
55
+ */
56
+ export declare function isItemFirstFromSiblings(itemId: string): boolean;
57
+ /**
58
+ * @hidden
59
+ */
60
+ export declare function getDecrementedItemIdAfterRemoval(removedItemId: string, itemId: string): string;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDecrementedItemIdAfterRemoval = exports.isItemFirstFromSiblings = exports.getShortId = exports.getAllShortIds = exports.isIdZeroLevel = exports.isIdEmptyOrZeroLevel = exports.getDirectParentId = exports.createId = exports.getFirstChildId = exports.getIdWithoutRootParentId = exports.getRootParentId = exports.getItemById = exports.SEPARATOR = exports.ZERO_LEVEL_ZERO_NODE_ID = exports.EMPTY_ID = void 0;
4
+ /**
5
+ * @hidden
6
+ */
7
+ exports.EMPTY_ID = '';
8
+ /**
9
+ * @hidden
10
+ */
11
+ exports.ZERO_LEVEL_ZERO_NODE_ID = '0';
12
+ /**
13
+ * @hidden
14
+ */
15
+ exports.SEPARATOR = '_';
16
+ /**
17
+ * @hidden
18
+ */
19
+ function getItemById(itemId, items, childrenField) {
20
+ if (isIdZeroLevel(itemId)) {
21
+ return items[Number(itemId)];
22
+ }
23
+ else {
24
+ var rootParentItem = items[Number(getRootParentId(itemId))];
25
+ var subItems = (rootParentItem && rootParentItem[childrenField]) || [];
26
+ return subItems.length ?
27
+ getItemById(getIdWithoutRootParentId(itemId), subItems, childrenField) : undefined;
28
+ }
29
+ }
30
+ exports.getItemById = getItemById;
31
+ /**
32
+ * @hidden
33
+ */
34
+ function getRootParentId(itemId) {
35
+ return isIdEmptyOrZeroLevel(itemId) ? itemId : itemId.split(exports.SEPARATOR)[0];
36
+ }
37
+ exports.getRootParentId = getRootParentId;
38
+ /**
39
+ * @hidden
40
+ */
41
+ function getIdWithoutRootParentId(itemId) {
42
+ if (isIdEmptyOrZeroLevel(itemId)) {
43
+ return itemId;
44
+ }
45
+ else {
46
+ var firstSeparatorIndex = itemId.indexOf(exports.SEPARATOR);
47
+ return itemId.substring(firstSeparatorIndex + 1);
48
+ }
49
+ }
50
+ exports.getIdWithoutRootParentId = getIdWithoutRootParentId;
51
+ /**
52
+ * @hidden
53
+ */
54
+ function getFirstChildId(itemId) {
55
+ return createId('0', itemId);
56
+ }
57
+ exports.getFirstChildId = getFirstChildId;
58
+ /**
59
+ * @hidden
60
+ */
61
+ function createId(childId, parentId) {
62
+ childId = childId.toString();
63
+ return parentId ? parentId + exports.SEPARATOR + childId : childId;
64
+ }
65
+ exports.createId = createId;
66
+ /**
67
+ * @hidden
68
+ */
69
+ function getDirectParentId(itemId) {
70
+ var lastSeparatorIndex = itemId.lastIndexOf(exports.SEPARATOR);
71
+ return lastSeparatorIndex < 0 ? exports.EMPTY_ID : itemId.substring(0, lastSeparatorIndex);
72
+ }
73
+ exports.getDirectParentId = getDirectParentId;
74
+ /**
75
+ * @hidden
76
+ */
77
+ function isIdEmptyOrZeroLevel(itemId) {
78
+ return itemId === exports.EMPTY_ID || itemId.indexOf(exports.SEPARATOR) < 0;
79
+ }
80
+ exports.isIdEmptyOrZeroLevel = isIdEmptyOrZeroLevel;
81
+ /**
82
+ * @hidden
83
+ */
84
+ function isIdZeroLevel(itemId) {
85
+ return itemId !== exports.EMPTY_ID && itemId.indexOf(exports.SEPARATOR) < 0;
86
+ }
87
+ exports.isIdZeroLevel = isIdZeroLevel;
88
+ /**
89
+ * @hidden
90
+ */
91
+ function getAllShortIds(itemId) {
92
+ return itemId.split(exports.SEPARATOR);
93
+ }
94
+ exports.getAllShortIds = getAllShortIds;
95
+ /**
96
+ * @hidden
97
+ */
98
+ function getShortId(itemId) {
99
+ var lastSeparatorIndex = itemId.lastIndexOf(exports.SEPARATOR);
100
+ return lastSeparatorIndex < 0 ? itemId : itemId.substring(lastSeparatorIndex + 1);
101
+ }
102
+ exports.getShortId = getShortId;
103
+ /**
104
+ * @hidden
105
+ */
106
+ function isItemFirstFromSiblings(itemId) {
107
+ return getShortId(itemId) === exports.ZERO_LEVEL_ZERO_NODE_ID;
108
+ }
109
+ exports.isItemFirstFromSiblings = isItemFirstFromSiblings;
110
+ /**
111
+ * @hidden
112
+ */
113
+ function getDecrementedItemIdAfterRemoval(removedItemId, itemId) {
114
+ var preservedItemId = itemId;
115
+ removedItemId = 'r' + exports.SEPARATOR + removedItemId;
116
+ itemId = 'r' + exports.SEPARATOR + itemId;
117
+ var itemSharedPath = getDirectParentId(removedItemId) + exports.SEPARATOR;
118
+ if (itemId.startsWith(itemSharedPath)) {
119
+ var itemNotSharedPath = itemId.substring(itemSharedPath.length);
120
+ if (itemNotSharedPath) {
121
+ var siblingShortId = getRootParentId(itemNotSharedPath);
122
+ if (Number(getShortId(removedItemId)) < Number(siblingShortId)) {
123
+ var decrementedId = itemSharedPath +
124
+ (Number(siblingShortId) - 1).toString() +
125
+ itemNotSharedPath.substring(siblingShortId.length);
126
+ return getIdWithoutRootParentId(decrementedId);
127
+ }
128
+ }
129
+ }
130
+ return preservedItemId;
131
+ }
132
+ exports.getDecrementedItemIdAfterRemoval = getDecrementedItemIdAfterRemoval;
@@ -0,0 +1,45 @@
1
+ import FieldsService from './FieldsService';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export declare function hasChildren(item: any, childrenField: string): boolean;
6
+ /**
7
+ * @hidden
8
+ */
9
+ export declare function isItemExpandedAndWithChildren(item: any, fieldsSvc: FieldsService): boolean;
10
+ /**
11
+ * @hidden
12
+ */
13
+ export declare function resolveItemId(publicId: any, idField: string, items: any[], childrenField: string): string;
14
+ /**
15
+ * @hidden
16
+ */
17
+ export declare function resolveItemsIds(publicIds: any[], idField: string, items: any[], childrenField: string): string[];
18
+ /**
19
+ * @hidden
20
+ */
21
+ export declare function updateItem(items: any[], itemId: string, update: (item: any) => void, cloneField: string, childrenField: string): any[];
22
+ /**
23
+ * @hidden
24
+ */
25
+ export declare function isEnabledAndAllParentsEnabled(itemId: string, items: any, fieldsSvc: FieldsService): any;
26
+ /**
27
+ * @hidden
28
+ */
29
+ export declare function getAllDirectIndirectChildrenIds(item: any, itemId: string, childrenField: string, idField: string | undefined): any[];
30
+ /**
31
+ * @hidden
32
+ */
33
+ export declare function areAllDirectChildrenChecked(item: any, itemId: any, idField: string | undefined, childrenField: string, check: string[]): any;
34
+ /**
35
+ * @hidden
36
+ */
37
+ export declare function getAllParents(itemId: string, childrenField: string, items: any[]): any[];
38
+ /**
39
+ * @hidden
40
+ */
41
+ export declare function removeItem(itemId: string, childrenField: string, items: any[]): any[];
42
+ /**
43
+ * @hidden
44
+ */
45
+ export declare function addItem(item: any, operation: 'before' | 'after' | 'child', childrenField: string, targetItemId: string, items: any[]): any[];
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.addItem = exports.removeItem = exports.getAllParents = exports.areAllDirectChildrenChecked = exports.getAllDirectIndirectChildrenIds = exports.isEnabledAndAllParentsEnabled = exports.updateItem = exports.resolveItemsIds = exports.resolveItemId = exports.isItemExpandedAndWithChildren = exports.hasChildren = void 0;
15
+ var itemIdUtils_1 = require("./itemIdUtils");
16
+ var SortedPublicItemIds_1 = require("./SortedPublicItemIds");
17
+ var misc_1 = require("./misc");
18
+ /**
19
+ * @hidden
20
+ */
21
+ function hasChildren(item, childrenField) {
22
+ var children = misc_1.getNestedValue(childrenField, item);
23
+ return Boolean(children && children.length);
24
+ }
25
+ exports.hasChildren = hasChildren;
26
+ /**
27
+ * @hidden
28
+ */
29
+ function isItemExpandedAndWithChildren(item, fieldsSvc) {
30
+ return fieldsSvc.expanded(item) && hasChildren(item, fieldsSvc.getChildrenField());
31
+ }
32
+ exports.isItemExpandedAndWithChildren = isItemExpandedAndWithChildren;
33
+ /**
34
+ * @hidden
35
+ */
36
+ function resolveItemId(publicId, idField, items, childrenField) {
37
+ var resolvedIds = resolveItemsIds([publicId], idField, items, childrenField);
38
+ return resolvedIds.length ? resolvedIds[0] : undefined;
39
+ }
40
+ exports.resolveItemId = resolveItemId;
41
+ /**
42
+ * @hidden
43
+ */
44
+ function resolveItemsIds(publicIds, idField, items, childrenField) {
45
+ var result = [];
46
+ var sortedIds = new SortedPublicItemIds_1.default();
47
+ sortedIds.init(publicIds);
48
+ resolveItemsIdsHelper(sortedIds, idField, items, itemIdUtils_1.EMPTY_ID, result, childrenField);
49
+ return result;
50
+ }
51
+ exports.resolveItemsIds = resolveItemsIds;
52
+ /**
53
+ * @hidden
54
+ */
55
+ function updateItem(items, itemId, update, cloneField, childrenField) {
56
+ var _a;
57
+ var itemIndex = Number(itemIdUtils_1.getRootParentId(itemId));
58
+ if (itemIndex >= items.length) {
59
+ return items;
60
+ }
61
+ var result = items;
62
+ var item = items[itemIndex];
63
+ // Clone the item before updating it.
64
+ if (!item[cloneField]) {
65
+ result = items.slice();
66
+ item = result[itemIndex] = Object.assign({}, item, (_a = {}, _a[cloneField] = true, _a));
67
+ }
68
+ // Directly update the item.
69
+ if (itemIdUtils_1.isIdZeroLevel(itemId)) {
70
+ update(item);
71
+ }
72
+ else if (item[childrenField]) {
73
+ item[childrenField] = updateItem(item[childrenField], itemIdUtils_1.getIdWithoutRootParentId(itemId), update, cloneField, childrenField);
74
+ }
75
+ return result;
76
+ }
77
+ exports.updateItem = updateItem;
78
+ /**
79
+ * @hidden
80
+ */
81
+ function isEnabledAndAllParentsEnabled(itemId, items, fieldsSvc) {
82
+ var ids = itemIdUtils_1.getAllShortIds(itemId);
83
+ var currentItems = items;
84
+ for (var i = 0; i < ids.length; i++) {
85
+ var currentItem = currentItems[Number(ids[i])];
86
+ if (fieldsSvc.disabled(currentItem)) {
87
+ return false;
88
+ }
89
+ else {
90
+ currentItems = currentItem[fieldsSvc.getChildrenField()];
91
+ }
92
+ }
93
+ return true;
94
+ }
95
+ exports.isEnabledAndAllParentsEnabled = isEnabledAndAllParentsEnabled;
96
+ /**
97
+ * @hidden
98
+ */
99
+ function getAllDirectIndirectChildrenIds(item, itemId, childrenField, idField) {
100
+ return idField ? getChildrenPublicIds(item) : getChildrenHierarchicalIndices(item, itemId);
101
+ function getChildrenHierarchicalIndices(startItem, startItemId) {
102
+ var result = [];
103
+ var children = startItem[childrenField] || [];
104
+ for (var i = 0; i < children.length; i++) {
105
+ var id = itemIdUtils_1.createId(i, startItemId);
106
+ result.push(id);
107
+ result = result.concat(getChildrenHierarchicalIndices(children[i], id));
108
+ }
109
+ return result;
110
+ }
111
+ function getChildrenPublicIds(startItem) {
112
+ var result = [];
113
+ var children = startItem[childrenField] || [];
114
+ for (var i = 0; i < children.length; i++) {
115
+ result.push(misc_1.getNestedValue(idField, children[i]));
116
+ result = result.concat(getChildrenPublicIds(children[i]));
117
+ }
118
+ return result;
119
+ }
120
+ }
121
+ exports.getAllDirectIndirectChildrenIds = getAllDirectIndirectChildrenIds;
122
+ /**
123
+ * @hidden
124
+ */
125
+ function areAllDirectChildrenChecked(item, itemId, idField, childrenField, check) {
126
+ var children = item[childrenField] || [];
127
+ return children.every(function (child, index) {
128
+ return check.indexOf(idField ? misc_1.getNestedValue(idField, child) : itemIdUtils_1.createId(index, itemId)) > -1;
129
+ });
130
+ }
131
+ exports.areAllDirectChildrenChecked = areAllDirectChildrenChecked;
132
+ /**
133
+ * @hidden
134
+ */
135
+ function getAllParents(itemId, childrenField, items) {
136
+ var result = [];
137
+ var ids = itemIdUtils_1.getAllShortIds(itemId);
138
+ var currentItems = items;
139
+ for (var i = 0; i < ids.length - 1; i++) {
140
+ if (!currentItems) {
141
+ break;
142
+ }
143
+ var currentItem = currentItems[Number(ids[i])];
144
+ result.push(currentItem);
145
+ currentItems = currentItem[childrenField];
146
+ }
147
+ return result;
148
+ }
149
+ exports.getAllParents = getAllParents;
150
+ /**
151
+ * @hidden
152
+ */
153
+ function removeItem(itemId, childrenField, items) {
154
+ var result = items.slice();
155
+ if (itemIdUtils_1.isIdZeroLevel(itemId)) {
156
+ result.splice(Number(itemId), 1);
157
+ }
158
+ else {
159
+ var rootParentIndex = Number(itemIdUtils_1.getRootParentId(itemId));
160
+ var rootParent = result[rootParentIndex] = __assign({}, result[rootParentIndex]);
161
+ rootParent[childrenField] = removeItem(itemIdUtils_1.getIdWithoutRootParentId(itemId), childrenField, rootParent[childrenField]);
162
+ }
163
+ return result;
164
+ }
165
+ exports.removeItem = removeItem;
166
+ /**
167
+ * @hidden
168
+ */
169
+ function addItem(item, operation, childrenField, targetItemId, items) {
170
+ var result = items.slice();
171
+ if (itemIdUtils_1.isIdZeroLevel(targetItemId)) {
172
+ if (operation === 'child') {
173
+ var targetItem = result[Number(targetItemId)] = __assign({}, result[Number(targetItemId)]);
174
+ if (targetItem[childrenField]) {
175
+ targetItem[childrenField] = targetItem[childrenField].slice();
176
+ targetItem[childrenField].push(item);
177
+ }
178
+ else {
179
+ targetItem[childrenField] = [item];
180
+ }
181
+ }
182
+ else {
183
+ result.splice(Number(targetItemId) + (operation === 'after' ? 1 : 0), 0, item);
184
+ }
185
+ }
186
+ else {
187
+ var rootParentIndex = Number(itemIdUtils_1.getRootParentId(targetItemId));
188
+ var rootParent = result[rootParentIndex] = __assign({}, result[rootParentIndex]);
189
+ rootParent[childrenField] = addItem(item, operation, childrenField, itemIdUtils_1.getIdWithoutRootParentId(targetItemId), rootParent[childrenField]);
190
+ }
191
+ return result;
192
+ }
193
+ exports.addItem = addItem;
194
+ function resolveItemsIdsHelper(publicItemIds, idField, items, parentItemId, resolvedIds, childrenField) {
195
+ for (var i = 0; i < items.length; i++) {
196
+ var item = items[i];
197
+ var id = itemIdUtils_1.createId(i, parentItemId);
198
+ if (publicItemIds.hasId(misc_1.getNestedValue(idField, item))) {
199
+ resolvedIds.push(id);
200
+ }
201
+ if (hasChildren(item, childrenField)) {
202
+ resolveItemsIdsHelper(publicItemIds, idField, misc_1.getNestedValue(childrenField, item), id, resolvedIds, childrenField);
203
+ }
204
+ }
205
+ }
@@ -0,0 +1,9 @@
1
+ import { TreeViewOperationDescriptor } from '../TreeViewOperationDescriptors';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export declare function getNestedValue(fieldName: string | undefined, dataItem: any): any;
6
+ /**
7
+ * @hidden
8
+ */
9
+ export declare function isArray(operation: string[] | TreeViewOperationDescriptor): operation is any[];
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isArray = exports.getNestedValue = void 0;
4
+ /**
5
+ * @hidden
6
+ */
7
+ function getNestedValue(fieldName, dataItem) {
8
+ var path = (fieldName || '').split('.');
9
+ var data = dataItem;
10
+ path.forEach(function (p) {
11
+ data = data ? data[p] : undefined;
12
+ });
13
+ return data;
14
+ }
15
+ exports.getNestedValue = getNestedValue;
16
+ /**
17
+ * @hidden
18
+ */
19
+ function isArray(operation) {
20
+ return operation.length !== undefined;
21
+ }
22
+ exports.isArray = isArray;
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@progress/kendo-vue-treeview",
3
+ "version": "3.2.2-dev.202204181420",
4
+ "description": "Kendo Ui for Vue TreeView package",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/telerik/kendo-vue.git"
8
+ },
9
+ "main": "dist/npm/main.js",
10
+ "types": "dist/npm/main.d.ts",
11
+ "module": "dist/es/main.js",
12
+ "jsnext:main": "dist/es/main.js",
13
+ "scripts": {
14
+ "test": "cd ../../ && npm run test -- --testPathPattern=/packages/treeview/.*",
15
+ "start": "gulp start",
16
+ "build-package": "gulp build-package"
17
+ },
18
+ "homepage": "https://www.telerik.com/kendo-vue-ui/",
19
+ "keywords": [
20
+ "Kendo UI",
21
+ "Vue",
22
+ "Progress",
23
+ "TreeView",
24
+ "Kendo Ui for Vue",
25
+ "vuejs",
26
+ "UI",
27
+ "components",
28
+ "Vue component",
29
+ "Telerik"
30
+ ],
31
+ "peerDependencies": {
32
+ "@progress/kendo-licensing": "^1.0.1",
33
+ "@progress/kendo-vue-animation": "^3.2.1",
34
+ "vue": "^2.6.12 || ^3.0.2"
35
+ },
36
+ "dependencies": {
37
+ "@progress/kendo-vue-common": "3.2.2-dev.202204181420"
38
+ },
39
+ "devDependencies": {
40
+ "@progress/kendo-licensing": "^1.0.1",
41
+ "@progress/kendo-vue-animation": "3.2.2-dev.202204181420",
42
+ "@progress/kendo-vue-dropdowns": "3.2.2-dev.202204181420",
43
+ "@progress/kendo-vue-inputs": "3.2.2-dev.202204181420",
44
+ "@progress/kendo-vue-intl": "3.2.2-dev.202204181420"
45
+ },
46
+ "@progress": {
47
+ "friendlyName": "TreeView",
48
+ "framework": "Kendo Ui for Vue"
49
+ },
50
+ "author": "Progress",
51
+ "license": "SEE LICENSE IN LICENSE.md",
52
+ "publishConfig": {
53
+ "access": "public"
54
+ },
55
+ "sideEffects": false
56
+ }