@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,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,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,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
+ }
@@ -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);
@@ -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>) => void;
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>): void;
114
+ triggerKeyboardEvent(ev: React.KeyboardEvent<HTMLElement>, options?: any): void;
107
115
  /**
108
116
  * The mouse events handler.
109
117
  */
@@ -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({ preventScroll: true });
141
+ element.focus(this.focusOptions);
141
142
  }
142
143
  };
143
144
  return Navigation;
@@ -2,6 +2,7 @@
2
2
  export interface KendoThemeMaps {
3
3
  sizeMap: Record<Exclude<any, null>, String>;
4
4
  roundedMap: Record<Exclude<any, null>, String>;
5
+ orientationMap: Record<Exclude<any, null>, String>;
5
6
  }
6
7
  /** @hidden */
7
8
  export declare const kendoThemeMaps: KendoThemeMaps;
package/dist/npm/theme.js CHANGED
@@ -12,5 +12,9 @@ exports.kendoThemeMaps = {
12
12
  small: 'sm',
13
13
  medium: 'md',
14
14
  large: 'lg'
15
+ },
16
+ orientationMap: {
17
+ vertical: 'vstack',
18
+ horizontal: 'hstack'
15
19
  }
16
20
  };
@@ -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,8 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare class SortedPublicItemIds {
5
+ private objects;
6
+ init(publicItemIds: any[]): void;
7
+ hasId(publicItemId: any): boolean;
8
+ }
@@ -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;