@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.
- package/dist/cdn/js/kendo-react-common.js +1 -1
- package/dist/es/main.d.ts +5 -0
- package/dist/es/main.js +6 -0
- package/dist/es/navigation.d.ts +10 -2
- package/dist/es/navigation.js +4 -3
- package/dist/es/theme.d.ts +1 -0
- package/dist/es/theme.js +4 -0
- package/dist/es/tree-utils/FieldsService.d.ts +25 -0
- package/dist/es/tree-utils/FieldsService.js +50 -0
- package/dist/es/tree-utils/SortedPublicItemIds.d.ts +8 -0
- package/dist/es/tree-utils/SortedPublicItemIds.js +26 -0
- package/dist/es/tree-utils/itemIdUtils.d.ts +60 -0
- package/dist/es/tree-utils/itemIdUtils.js +117 -0
- package/dist/es/tree-utils/itemUtils.d.ts +45 -0
- package/dist/es/tree-utils/itemUtils.js +191 -0
- package/dist/es/tree-utils/misc.d.ts +8 -0
- package/dist/es/tree-utils/misc.js +17 -0
- package/dist/npm/main.d.ts +5 -0
- package/dist/npm/main.js +6 -0
- package/dist/npm/navigation.d.ts +10 -2
- package/dist/npm/navigation.js +4 -3
- package/dist/npm/theme.d.ts +1 -0
- package/dist/npm/theme.js +4 -0
- package/dist/npm/tree-utils/FieldsService.d.ts +25 -0
- package/dist/npm/tree-utils/FieldsService.js +53 -0
- package/dist/npm/tree-utils/SortedPublicItemIds.d.ts +8 -0
- package/dist/npm/tree-utils/SortedPublicItemIds.js +29 -0
- package/dist/npm/tree-utils/itemIdUtils.d.ts +60 -0
- package/dist/npm/tree-utils/itemIdUtils.js +132 -0
- package/dist/npm/tree-utils/itemUtils.d.ts +45 -0
- package/dist/npm/tree-utils/itemUtils.js +205 -0
- package/dist/npm/tree-utils/misc.d.ts +8 -0
- package/dist/npm/tree-utils/misc.js +22 -0
- package/dist/systemjs/kendo-react-common.js +1 -1
- package/package.json +12 -12
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hidden
|
|
3
|
+
*/
|
|
4
|
+
export var EMPTY_ID = '';
|
|
5
|
+
/**
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
export var ZERO_LEVEL_ZERO_NODE_ID = '0';
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
export var SEPARATOR = '_';
|
|
13
|
+
/**
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
16
|
+
export function getItemById(itemId, items, childrenField) {
|
|
17
|
+
if (isIdZeroLevel(itemId)) {
|
|
18
|
+
return items[Number(itemId)];
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
var rootParentItem = items[Number(getRootParentId(itemId))];
|
|
22
|
+
var subItems = (rootParentItem && rootParentItem[childrenField]) || [];
|
|
23
|
+
return subItems.length ?
|
|
24
|
+
getItemById(getIdWithoutRootParentId(itemId), subItems, childrenField) : undefined;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
*/
|
|
30
|
+
export function getRootParentId(itemId) {
|
|
31
|
+
return isIdEmptyOrZeroLevel(itemId) ? itemId : itemId.split(SEPARATOR)[0];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @hidden
|
|
35
|
+
*/
|
|
36
|
+
export function getIdWithoutRootParentId(itemId) {
|
|
37
|
+
if (isIdEmptyOrZeroLevel(itemId)) {
|
|
38
|
+
return itemId;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
var firstSeparatorIndex = itemId.indexOf(SEPARATOR);
|
|
42
|
+
return itemId.substring(firstSeparatorIndex + 1);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @hidden
|
|
47
|
+
*/
|
|
48
|
+
export function getFirstChildId(itemId) {
|
|
49
|
+
return createId('0', itemId);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @hidden
|
|
53
|
+
*/
|
|
54
|
+
export function createId(childId, parentId) {
|
|
55
|
+
childId = childId.toString();
|
|
56
|
+
return parentId ? parentId + SEPARATOR + childId : childId;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @hidden
|
|
60
|
+
*/
|
|
61
|
+
export function getDirectParentId(itemId) {
|
|
62
|
+
var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);
|
|
63
|
+
return lastSeparatorIndex < 0 ? EMPTY_ID : itemId.substring(0, lastSeparatorIndex);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @hidden
|
|
67
|
+
*/
|
|
68
|
+
export function isIdEmptyOrZeroLevel(itemId) {
|
|
69
|
+
return itemId === EMPTY_ID || itemId.indexOf(SEPARATOR) < 0;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @hidden
|
|
73
|
+
*/
|
|
74
|
+
export function isIdZeroLevel(itemId) {
|
|
75
|
+
return itemId !== EMPTY_ID && itemId.indexOf(SEPARATOR) < 0;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @hidden
|
|
79
|
+
*/
|
|
80
|
+
export function getAllShortIds(itemId) {
|
|
81
|
+
return itemId.split(SEPARATOR);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* @hidden
|
|
85
|
+
*/
|
|
86
|
+
export function getShortId(itemId) {
|
|
87
|
+
var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);
|
|
88
|
+
return lastSeparatorIndex < 0 ? itemId : itemId.substring(lastSeparatorIndex + 1);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @hidden
|
|
92
|
+
*/
|
|
93
|
+
export function isItemFirstFromSiblings(itemId) {
|
|
94
|
+
return getShortId(itemId) === ZERO_LEVEL_ZERO_NODE_ID;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* @hidden
|
|
98
|
+
*/
|
|
99
|
+
export function getDecrementedItemIdAfterRemoval(removedItemId, itemId) {
|
|
100
|
+
var preservedItemId = itemId;
|
|
101
|
+
removedItemId = 'r' + SEPARATOR + removedItemId;
|
|
102
|
+
itemId = 'r' + SEPARATOR + itemId;
|
|
103
|
+
var itemSharedPath = getDirectParentId(removedItemId) + SEPARATOR;
|
|
104
|
+
if (itemId.startsWith(itemSharedPath)) {
|
|
105
|
+
var itemNotSharedPath = itemId.substring(itemSharedPath.length);
|
|
106
|
+
if (itemNotSharedPath) {
|
|
107
|
+
var siblingShortId = getRootParentId(itemNotSharedPath);
|
|
108
|
+
if (Number(getShortId(removedItemId)) < Number(siblingShortId)) {
|
|
109
|
+
var decrementedId = itemSharedPath +
|
|
110
|
+
(Number(siblingShortId) - 1).toString() +
|
|
111
|
+
itemNotSharedPath.substring(siblingShortId.length);
|
|
112
|
+
return getIdWithoutRootParentId(decrementedId);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return preservedItemId;
|
|
117
|
+
}
|
|
@@ -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,191 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { EMPTY_ID, isIdZeroLevel, createId, getRootParentId, getIdWithoutRootParentId, getAllShortIds } from './itemIdUtils';
|
|
13
|
+
import { SortedPublicItemIds } from './SortedPublicItemIds';
|
|
14
|
+
import { getNestedValue } from './misc';
|
|
15
|
+
/**
|
|
16
|
+
* @hidden
|
|
17
|
+
*/
|
|
18
|
+
export function hasChildren(item, childrenField) {
|
|
19
|
+
var children = getNestedValue(childrenField, item);
|
|
20
|
+
return Boolean(children && children.length);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @hidden
|
|
24
|
+
*/
|
|
25
|
+
export function isItemExpandedAndWithChildren(item, fieldsSvc) {
|
|
26
|
+
return fieldsSvc.expanded(item) && hasChildren(item, fieldsSvc.getChildrenField());
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
31
|
+
export function resolveItemId(publicId, idField, items, childrenField) {
|
|
32
|
+
var resolvedIds = resolveItemsIds([publicId], idField, items, childrenField);
|
|
33
|
+
return resolvedIds.length ? resolvedIds[0] : undefined;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @hidden
|
|
37
|
+
*/
|
|
38
|
+
export function resolveItemsIds(publicIds, idField, items, childrenField) {
|
|
39
|
+
var result = [];
|
|
40
|
+
var sortedIds = new SortedPublicItemIds();
|
|
41
|
+
sortedIds.init(publicIds);
|
|
42
|
+
resolveItemsIdsHelper(sortedIds, idField, items, EMPTY_ID, result, childrenField);
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @hidden
|
|
47
|
+
*/
|
|
48
|
+
export function updateItem(items, itemId, update, cloneField, childrenField) {
|
|
49
|
+
var _a;
|
|
50
|
+
var itemIndex = Number(getRootParentId(itemId));
|
|
51
|
+
if (itemIndex >= items.length) {
|
|
52
|
+
return items;
|
|
53
|
+
}
|
|
54
|
+
var result = items;
|
|
55
|
+
var item = items[itemIndex];
|
|
56
|
+
// Clone the item before updating it.
|
|
57
|
+
if (!item[cloneField]) {
|
|
58
|
+
result = items.slice();
|
|
59
|
+
item = result[itemIndex] = Object.assign({}, item, (_a = {}, _a[cloneField] = true, _a));
|
|
60
|
+
}
|
|
61
|
+
// Directly update the item.
|
|
62
|
+
if (isIdZeroLevel(itemId)) {
|
|
63
|
+
update(item);
|
|
64
|
+
}
|
|
65
|
+
else if (item[childrenField]) {
|
|
66
|
+
item[childrenField] = updateItem(item[childrenField], getIdWithoutRootParentId(itemId), update, cloneField, childrenField);
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @hidden
|
|
72
|
+
*/
|
|
73
|
+
export function isEnabledAndAllParentsEnabled(itemId, items, fieldsSvc) {
|
|
74
|
+
var ids = getAllShortIds(itemId);
|
|
75
|
+
var currentItems = items;
|
|
76
|
+
for (var i = 0; i < ids.length; i++) {
|
|
77
|
+
var currentItem = currentItems[Number(ids[i])];
|
|
78
|
+
if (fieldsSvc.disabled(currentItem)) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
currentItems = currentItem[fieldsSvc.getChildrenField()];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @hidden
|
|
89
|
+
*/
|
|
90
|
+
export function getAllDirectIndirectChildrenIds(item, itemId, childrenField, idField) {
|
|
91
|
+
return idField ? getChildrenPublicIds(item) : getChildrenHierarchicalIndices(item, itemId);
|
|
92
|
+
function getChildrenHierarchicalIndices(startItem, startItemId) {
|
|
93
|
+
var result = [];
|
|
94
|
+
var children = startItem[childrenField] || [];
|
|
95
|
+
for (var i = 0; i < children.length; i++) {
|
|
96
|
+
var id = createId(i, startItemId);
|
|
97
|
+
result.push(id);
|
|
98
|
+
result = result.concat(getChildrenHierarchicalIndices(children[i], id));
|
|
99
|
+
}
|
|
100
|
+
return result;
|
|
101
|
+
}
|
|
102
|
+
function getChildrenPublicIds(startItem) {
|
|
103
|
+
var result = [];
|
|
104
|
+
var children = startItem[childrenField] || [];
|
|
105
|
+
for (var i = 0; i < children.length; i++) {
|
|
106
|
+
result.push(getNestedValue(idField, children[i]));
|
|
107
|
+
result = result.concat(getChildrenPublicIds(children[i]));
|
|
108
|
+
}
|
|
109
|
+
return result;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* @hidden
|
|
114
|
+
*/
|
|
115
|
+
export function areAllDirectChildrenChecked(item, itemId, idField, childrenField, check) {
|
|
116
|
+
var children = item[childrenField] || [];
|
|
117
|
+
return children.every(function (child, index) {
|
|
118
|
+
return check.indexOf(idField ? getNestedValue(idField, child) : createId(index, itemId)) > -1;
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* @hidden
|
|
123
|
+
*/
|
|
124
|
+
export function getAllParents(itemId, childrenField, items) {
|
|
125
|
+
var result = [];
|
|
126
|
+
var ids = getAllShortIds(itemId);
|
|
127
|
+
var currentItems = items;
|
|
128
|
+
for (var i = 0; i < ids.length - 1; i++) {
|
|
129
|
+
if (!currentItems) {
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
var currentItem = currentItems[Number(ids[i])];
|
|
133
|
+
result.push(currentItem);
|
|
134
|
+
currentItems = currentItem[childrenField];
|
|
135
|
+
}
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* @hidden
|
|
140
|
+
*/
|
|
141
|
+
export function removeItem(itemId, childrenField, items) {
|
|
142
|
+
var result = items.slice();
|
|
143
|
+
if (isIdZeroLevel(itemId)) {
|
|
144
|
+
result.splice(Number(itemId), 1);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
var rootParentIndex = Number(getRootParentId(itemId));
|
|
148
|
+
var rootParent = result[rootParentIndex] = __assign({}, result[rootParentIndex]);
|
|
149
|
+
rootParent[childrenField] = removeItem(getIdWithoutRootParentId(itemId), childrenField, rootParent[childrenField]);
|
|
150
|
+
}
|
|
151
|
+
return result;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* @hidden
|
|
155
|
+
*/
|
|
156
|
+
export function addItem(item, operation, childrenField, targetItemId, items) {
|
|
157
|
+
var result = items.slice();
|
|
158
|
+
if (isIdZeroLevel(targetItemId)) {
|
|
159
|
+
if (operation === 'child') {
|
|
160
|
+
var targetItem = result[Number(targetItemId)] = __assign({}, result[Number(targetItemId)]);
|
|
161
|
+
if (targetItem[childrenField]) {
|
|
162
|
+
targetItem[childrenField] = targetItem[childrenField].slice();
|
|
163
|
+
targetItem[childrenField].push(item);
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
targetItem[childrenField] = [item];
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
result.splice(Number(targetItemId) + (operation === 'after' ? 1 : 0), 0, item);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
var rootParentIndex = Number(getRootParentId(targetItemId));
|
|
175
|
+
var rootParent = result[rootParentIndex] = __assign({}, result[rootParentIndex]);
|
|
176
|
+
rootParent[childrenField] = addItem(item, operation, childrenField, getIdWithoutRootParentId(targetItemId), rootParent[childrenField]);
|
|
177
|
+
}
|
|
178
|
+
return result;
|
|
179
|
+
}
|
|
180
|
+
function resolveItemsIdsHelper(publicItemIds, idField, items, parentItemId, resolvedIds, childrenField) {
|
|
181
|
+
for (var i = 0; i < items.length; i++) {
|
|
182
|
+
var item = items[i];
|
|
183
|
+
var id = createId(i, parentItemId);
|
|
184
|
+
if (publicItemIds.hasId(getNestedValue(idField, item))) {
|
|
185
|
+
resolvedIds.push(id);
|
|
186
|
+
}
|
|
187
|
+
if (hasChildren(item, childrenField)) {
|
|
188
|
+
resolveItemsIdsHelper(publicItemIds, idField, getNestedValue(childrenField, item), id, resolvedIds, childrenField);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hidden
|
|
3
|
+
*/
|
|
4
|
+
export function getNestedValue(fieldName, dataItem) {
|
|
5
|
+
var path = (fieldName || '').split('.');
|
|
6
|
+
var data = dataItem;
|
|
7
|
+
path.forEach(function (p) {
|
|
8
|
+
data = data ? data[p] : undefined;
|
|
9
|
+
});
|
|
10
|
+
return data;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @hidden
|
|
14
|
+
*/
|
|
15
|
+
export function isArray(operation) {
|
|
16
|
+
return operation.length !== undefined;
|
|
17
|
+
}
|
package/dist/npm/main.d.ts
CHANGED
|
@@ -51,3 +51,8 @@ export * from './theme';
|
|
|
51
51
|
export * from './memoize';
|
|
52
52
|
export * from './navigation';
|
|
53
53
|
export * from './getActiveElement';
|
|
54
|
+
export * from './tree-utils/FieldsService';
|
|
55
|
+
export * from './tree-utils/SortedPublicItemIds';
|
|
56
|
+
export * as treeIdUtils from './tree-utils/itemIdUtils';
|
|
57
|
+
export * from './tree-utils/itemUtils';
|
|
58
|
+
export * from './tree-utils/misc';
|
package/dist/npm/main.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.treeIdUtils = void 0;
|
|
17
18
|
__exportStar(require("./contexts/ZIndexContext"), exports);
|
|
18
19
|
__exportStar(require("./browser-support.service"), exports);
|
|
19
20
|
__exportStar(require("./canUseDOM"), exports);
|
|
@@ -67,3 +68,8 @@ __exportStar(require("./theme"), exports);
|
|
|
67
68
|
__exportStar(require("./memoize"), exports);
|
|
68
69
|
__exportStar(require("./navigation"), exports);
|
|
69
70
|
__exportStar(require("./getActiveElement"), exports);
|
|
71
|
+
__exportStar(require("./tree-utils/FieldsService"), exports);
|
|
72
|
+
__exportStar(require("./tree-utils/SortedPublicItemIds"), exports);
|
|
73
|
+
exports.treeIdUtils = require("./tree-utils/itemIdUtils");
|
|
74
|
+
__exportStar(require("./tree-utils/itemUtils"), exports);
|
|
75
|
+
__exportStar(require("./tree-utils/misc"), exports);
|
package/dist/npm/navigation.d.ts
CHANGED
|
@@ -25,6 +25,10 @@ export interface NavigationOptions {
|
|
|
25
25
|
* Configures if the roving tabIndex technique will be used in the [Navigation]({% slug api_common_navigation %}).
|
|
26
26
|
*/
|
|
27
27
|
rovingTabIndex?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Sets the options of the focus methods that is used. Defaults to `{ preventScroll: true }`.
|
|
30
|
+
*/
|
|
31
|
+
focusOptions?: FocusOptions;
|
|
28
32
|
/**
|
|
29
33
|
* Sets the mouse events handlers.
|
|
30
34
|
*/
|
|
@@ -60,13 +64,17 @@ export declare class Navigation {
|
|
|
60
64
|
*/
|
|
61
65
|
keyboardEvents: {
|
|
62
66
|
[type: string]: {
|
|
63
|
-
[key: string]: (target: HTMLElement, nav: Navigation, ev: React.KeyboardEvent<HTMLElement
|
|
67
|
+
[key: string]: (target: HTMLElement, nav: Navigation, ev: React.KeyboardEvent<HTMLElement>, options?: any) => void;
|
|
64
68
|
};
|
|
65
69
|
};
|
|
66
70
|
/**
|
|
67
71
|
* @hidden
|
|
68
72
|
*/
|
|
69
73
|
tabIndex: number;
|
|
74
|
+
/**
|
|
75
|
+
* @hidden
|
|
76
|
+
*/
|
|
77
|
+
focusOptions: FocusOptions;
|
|
70
78
|
/**
|
|
71
79
|
* @hidden
|
|
72
80
|
*/
|
|
@@ -103,7 +111,7 @@ export declare class Navigation {
|
|
|
103
111
|
/**
|
|
104
112
|
* The keyboard events handler.
|
|
105
113
|
*/
|
|
106
|
-
triggerKeyboardEvent(ev: React.KeyboardEvent<HTMLElement
|
|
114
|
+
triggerKeyboardEvent(ev: React.KeyboardEvent<HTMLElement>, options?: any): void;
|
|
107
115
|
/**
|
|
108
116
|
* The mouse events handler.
|
|
109
117
|
*/
|
package/dist/npm/navigation.js
CHANGED
|
@@ -45,6 +45,7 @@ var Navigation = /** @class */ (function () {
|
|
|
45
45
|
this.tabIndex = options.tabIndex || 0;
|
|
46
46
|
this.root = options.root;
|
|
47
47
|
this.selectors = options.selectors;
|
|
48
|
+
this.focusOptions = options.focusOptions || { preventScroll: true };
|
|
48
49
|
this.rovingTabIndex = options.rovingTabIndex !== undefined ? options.rovingTabIndex : true;
|
|
49
50
|
this.mouseEvents = options.mouseEvents || {};
|
|
50
51
|
this.keyboardEvents = options.keyboardEvents || {};
|
|
@@ -105,12 +106,12 @@ var Navigation = /** @class */ (function () {
|
|
|
105
106
|
/**
|
|
106
107
|
* The keyboard events handler.
|
|
107
108
|
*/
|
|
108
|
-
Navigation.prototype.triggerKeyboardEvent = function (ev) {
|
|
109
|
+
Navigation.prototype.triggerKeyboardEvent = function (ev, options) {
|
|
109
110
|
var target = ev.target instanceof Element && ev.target.closest(this.selectors.join(','));
|
|
110
111
|
var key = ev.key === ' ' ? 'Space' : ev.key;
|
|
111
112
|
var eventType = ev.nativeEvent.type;
|
|
112
113
|
if (target && this.keyboardEvents[eventType][key]) {
|
|
113
|
-
this.keyboardEvents[eventType][key].call(undefined, target, this, ev);
|
|
114
|
+
this.keyboardEvents[eventType][key].call(undefined, target, this, ev, options);
|
|
114
115
|
}
|
|
115
116
|
};
|
|
116
117
|
/**
|
|
@@ -137,7 +138,7 @@ var Navigation = /** @class */ (function () {
|
|
|
137
138
|
if (this.rovingTabIndex) {
|
|
138
139
|
element.setAttribute('tabindex', String(this.tabIndex));
|
|
139
140
|
}
|
|
140
|
-
element.focus(
|
|
141
|
+
element.focus(this.focusOptions);
|
|
141
142
|
}
|
|
142
143
|
};
|
|
143
144
|
return Navigation;
|
package/dist/npm/theme.d.ts
CHANGED
package/dist/npm/theme.js
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hidden
|
|
3
|
+
*/
|
|
4
|
+
export declare class TreeFieldsService {
|
|
5
|
+
focusIdField: string | undefined;
|
|
6
|
+
private expandField;
|
|
7
|
+
private selectField;
|
|
8
|
+
private childrenField;
|
|
9
|
+
private hasChildrenField;
|
|
10
|
+
private textField;
|
|
11
|
+
private disableField;
|
|
12
|
+
private checkField;
|
|
13
|
+
private checkIndeterminateField;
|
|
14
|
+
constructor(treeViewProps: any);
|
|
15
|
+
expanded(item: any): boolean | undefined;
|
|
16
|
+
selected(item: any): boolean | undefined;
|
|
17
|
+
text(item: any): string | undefined;
|
|
18
|
+
disabled(item: any): boolean | undefined;
|
|
19
|
+
hasChildren(item: any): boolean | undefined;
|
|
20
|
+
children(item: any): any[];
|
|
21
|
+
checked(item: any): boolean | undefined;
|
|
22
|
+
checkIndeterminate(item: any): boolean | undefined;
|
|
23
|
+
focusId(item: any): any;
|
|
24
|
+
getChildrenField(): string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TreeFieldsService = void 0;
|
|
4
|
+
var misc_1 = require("./misc");
|
|
5
|
+
/**
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
var TreeFieldsService = /** @class */ (function () {
|
|
9
|
+
function TreeFieldsService(treeViewProps) {
|
|
10
|
+
this.expandField = treeViewProps.expandField;
|
|
11
|
+
this.selectField = treeViewProps.selectField;
|
|
12
|
+
this.hasChildrenField = treeViewProps.hasChildrenField;
|
|
13
|
+
this.childrenField = treeViewProps.childrenField;
|
|
14
|
+
this.textField = treeViewProps.textField;
|
|
15
|
+
this.disableField = treeViewProps.disableField;
|
|
16
|
+
this.checkField = treeViewProps.checkField;
|
|
17
|
+
this.checkIndeterminateField = treeViewProps.checkIndeterminateField;
|
|
18
|
+
this.focusIdField = treeViewProps.focusIdField;
|
|
19
|
+
}
|
|
20
|
+
TreeFieldsService.prototype.expanded = function (item) {
|
|
21
|
+
return (0, misc_1.getNestedValue)(this.expandField, item);
|
|
22
|
+
};
|
|
23
|
+
TreeFieldsService.prototype.selected = function (item) {
|
|
24
|
+
return (0, misc_1.getNestedValue)(this.selectField, item);
|
|
25
|
+
};
|
|
26
|
+
TreeFieldsService.prototype.text = function (item) {
|
|
27
|
+
return (0, misc_1.getNestedValue)(this.textField, item);
|
|
28
|
+
};
|
|
29
|
+
TreeFieldsService.prototype.disabled = function (item) {
|
|
30
|
+
return (0, misc_1.getNestedValue)(this.disableField, item);
|
|
31
|
+
};
|
|
32
|
+
TreeFieldsService.prototype.hasChildren = function (item) {
|
|
33
|
+
return (0, misc_1.getNestedValue)(this.hasChildrenField, item);
|
|
34
|
+
};
|
|
35
|
+
TreeFieldsService.prototype.children = function (item) {
|
|
36
|
+
var children = (0, misc_1.getNestedValue)(this.childrenField, item);
|
|
37
|
+
return children ? children : [];
|
|
38
|
+
};
|
|
39
|
+
TreeFieldsService.prototype.checked = function (item) {
|
|
40
|
+
return (0, misc_1.getNestedValue)(this.checkField, item);
|
|
41
|
+
};
|
|
42
|
+
TreeFieldsService.prototype.checkIndeterminate = function (item) {
|
|
43
|
+
return (0, misc_1.getNestedValue)(this.checkIndeterminateField, item);
|
|
44
|
+
};
|
|
45
|
+
TreeFieldsService.prototype.focusId = function (item) {
|
|
46
|
+
return this.focusIdField && (0, misc_1.getNestedValue)(this.focusIdField, item);
|
|
47
|
+
};
|
|
48
|
+
TreeFieldsService.prototype.getChildrenField = function () {
|
|
49
|
+
return this.childrenField;
|
|
50
|
+
};
|
|
51
|
+
return TreeFieldsService;
|
|
52
|
+
}());
|
|
53
|
+
exports.TreeFieldsService = TreeFieldsService;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SortedPublicItemIds = void 0;
|
|
4
|
+
var PROPS_COUNT_LIMIT = 50000;
|
|
5
|
+
/**
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
// An alternative is to use array.sort() and
|
|
9
|
+
// implement a binary search function.
|
|
10
|
+
var SortedPublicItemIds = /** @class */ (function () {
|
|
11
|
+
function SortedPublicItemIds() {
|
|
12
|
+
this.objects = [];
|
|
13
|
+
}
|
|
14
|
+
SortedPublicItemIds.prototype.init = function (publicItemIds) {
|
|
15
|
+
var currentObj;
|
|
16
|
+
for (var i = 0; i < publicItemIds.length; i++) {
|
|
17
|
+
if (i % PROPS_COUNT_LIMIT === 0) {
|
|
18
|
+
currentObj = {};
|
|
19
|
+
this.objects.push(currentObj);
|
|
20
|
+
}
|
|
21
|
+
currentObj[publicItemIds[i]] = true;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
SortedPublicItemIds.prototype.hasId = function (publicItemId) {
|
|
25
|
+
return this.objects.some(function (obj) { return obj[publicItemId]; });
|
|
26
|
+
};
|
|
27
|
+
return SortedPublicItemIds;
|
|
28
|
+
}());
|
|
29
|
+
exports.SortedPublicItemIds = SortedPublicItemIds;
|
|
@@ -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;
|