@progress/kendo-react-common 5.20.0-dev.202310040609 → 5.20.0-dev.202310061256

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 (35) hide show
  1. package/dist/cdn/js/kendo-react-common.js +1 -1
  2. package/dist/es/main.d.ts +5 -0
  3. package/dist/es/main.js +6 -0
  4. package/dist/es/navigation.d.ts +10 -2
  5. package/dist/es/navigation.js +4 -3
  6. package/dist/es/theme.d.ts +1 -0
  7. package/dist/es/theme.js +4 -0
  8. package/dist/es/tree-utils/FieldsService.d.ts +25 -0
  9. package/dist/es/tree-utils/FieldsService.js +50 -0
  10. package/dist/es/tree-utils/SortedPublicItemIds.d.ts +8 -0
  11. package/dist/es/tree-utils/SortedPublicItemIds.js +26 -0
  12. package/dist/es/tree-utils/itemIdUtils.d.ts +60 -0
  13. package/dist/es/tree-utils/itemIdUtils.js +117 -0
  14. package/dist/es/tree-utils/itemUtils.d.ts +45 -0
  15. package/dist/es/tree-utils/itemUtils.js +191 -0
  16. package/dist/es/tree-utils/misc.d.ts +8 -0
  17. package/dist/es/tree-utils/misc.js +17 -0
  18. package/dist/npm/main.d.ts +5 -0
  19. package/dist/npm/main.js +6 -0
  20. package/dist/npm/navigation.d.ts +10 -2
  21. package/dist/npm/navigation.js +4 -3
  22. package/dist/npm/theme.d.ts +1 -0
  23. package/dist/npm/theme.js +4 -0
  24. package/dist/npm/tree-utils/FieldsService.d.ts +25 -0
  25. package/dist/npm/tree-utils/FieldsService.js +53 -0
  26. package/dist/npm/tree-utils/SortedPublicItemIds.d.ts +8 -0
  27. package/dist/npm/tree-utils/SortedPublicItemIds.js +29 -0
  28. package/dist/npm/tree-utils/itemIdUtils.d.ts +60 -0
  29. package/dist/npm/tree-utils/itemIdUtils.js +132 -0
  30. package/dist/npm/tree-utils/itemUtils.d.ts +45 -0
  31. package/dist/npm/tree-utils/itemUtils.js +205 -0
  32. package/dist/npm/tree-utils/misc.d.ts +8 -0
  33. package/dist/npm/tree-utils/misc.js +22 -0
  34. package/dist/systemjs/kendo-react-common.js +1 -1
  35. package/package.json +12 -12
@@ -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 { TreeFieldsService } 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: TreeFieldsService): boolean | undefined;
10
+ /**
11
+ * @hidden
12
+ */
13
+ export declare function resolveItemId(publicId: any, idField: string, items: any[], childrenField: string): string | undefined;
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: TreeFieldsService): 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[]): boolean;
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 = (0, 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.SortedPublicItemIds();
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((0, 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 ((0, itemIdUtils_1.isIdZeroLevel)(itemId)) {
70
+ update(item);
71
+ }
72
+ else if (item[childrenField]) {
73
+ item[childrenField] = updateItem(item[childrenField], (0, 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 = (0, 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 = (0, 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((0, 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 ? (0, misc_1.getNestedValue)(idField, child) : (0, 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 = (0, 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 ((0, itemIdUtils_1.isIdZeroLevel)(itemId)) {
156
+ result.splice(Number(itemId), 1);
157
+ }
158
+ else {
159
+ var rootParentIndex = Number((0, itemIdUtils_1.getRootParentId)(itemId));
160
+ var rootParent = result[rootParentIndex] = __assign({}, result[rootParentIndex]);
161
+ rootParent[childrenField] = removeItem((0, 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 ((0, 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((0, itemIdUtils_1.getRootParentId)(targetItemId));
188
+ var rootParent = result[rootParentIndex] = __assign({}, result[rootParentIndex]);
189
+ rootParent[childrenField] = addItem(item, operation, childrenField, (0, 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 = (0, itemIdUtils_1.createId)(i, parentItemId);
198
+ if (publicItemIds.hasId((0, misc_1.getNestedValue)(idField, item))) {
199
+ resolvedIds.push(id);
200
+ }
201
+ if (hasChildren(item, childrenField)) {
202
+ resolveItemsIdsHelper(publicItemIds, idField, (0, misc_1.getNestedValue)(childrenField, item), id, resolvedIds, childrenField);
203
+ }
204
+ }
205
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare function getNestedValue(fieldName: string | undefined, dataItem: any): any;
5
+ /**
6
+ * @hidden
7
+ */
8
+ export declare function isArray(operation: string[] | any): 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;