@progress/kendo-vue-treeview 5.3.0-dev.202410141143 → 5.3.0-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -35
- package/TreeView.js +8 -0
- package/TreeView.mjs +294 -0
- package/TreeViewDragAnalyzer.js +8 -0
- package/TreeViewDragAnalyzer.mjs +74 -0
- package/TreeViewDragClue.js +8 -0
- package/TreeViewDragClue.mjs +56 -0
- package/TreeViewItem.js +8 -0
- package/TreeViewItem.mjs +271 -0
- package/dist/cdn/js/kendo-vue-treeview.js +8 -1
- package/handleTreeViewCheckChange.js +8 -0
- package/handleTreeViewCheckChange.mjs +64 -0
- package/index.d.mts +950 -0
- package/index.d.ts +950 -0
- package/index.js +8 -0
- package/index.mjs +23 -0
- package/moveTreeViewItem.js +8 -0
- package/moveTreeViewItem.mjs +45 -0
- package/package-metadata.js +8 -0
- package/package-metadata.mjs +18 -0
- package/package.json +25 -46
- package/processTreeViewItems.js +8 -0
- package/processTreeViewItems.mjs +90 -0
- package/utils/FieldsService.js +8 -0
- package/utils/FieldsService.mjs +59 -0
- package/utils/SortedPublicItemIds.js +8 -0
- package/utils/SortedPublicItemIds.mjs +26 -0
- package/utils/consts.js +8 -0
- package/utils/consts.mjs +20 -0
- package/utils/getItemIdUponKeyboardNavigation.js +8 -0
- package/utils/getItemIdUponKeyboardNavigation.mjs +65 -0
- package/utils/itemIdUtils.js +8 -0
- package/utils/itemIdUtils.mjs +82 -0
- package/utils/itemUtils.js +8 -0
- package/utils/itemUtils.mjs +140 -0
- package/utils/misc.js +8 -0
- package/utils/misc.mjs +21 -0
- package/dist/es/ItemRenderProps.d.ts +0 -13
- package/dist/es/ItemRenderProps.js +0 -2
- package/dist/es/TreeView.d.ts +0 -116
- package/dist/es/TreeView.js +0 -450
- package/dist/es/TreeViewDragAnalyzer.d.ts +0 -63
- package/dist/es/TreeViewDragAnalyzer.js +0 -111
- package/dist/es/TreeViewDragClue.d.ts +0 -78
- package/dist/es/TreeViewDragClue.js +0 -116
- package/dist/es/TreeViewItem.d.ts +0 -85
- package/dist/es/TreeViewItem.js +0 -415
- package/dist/es/TreeViewOperationDescriptors.d.ts +0 -76
- package/dist/es/TreeViewOperationDescriptors.js +0 -2
- package/dist/es/TreeViewProps.d.ts +0 -126
- package/dist/es/TreeViewProps.js +0 -1
- package/dist/es/additionalTypes.ts +0 -21
- package/dist/es/events.d.ts +0 -143
- package/dist/es/events.js +0 -2
- package/dist/es/handleTreeViewCheckChange.d.ts +0 -49
- package/dist/es/handleTreeViewCheckChange.js +0 -177
- package/dist/es/main.d.ts +0 -12
- package/dist/es/main.js +0 -8
- package/dist/es/moveTreeViewItem.d.ts +0 -46
- package/dist/es/moveTreeViewItem.js +0 -93
- package/dist/es/package-metadata.d.ts +0 -5
- package/dist/es/package-metadata.js +0 -11
- package/dist/es/processTreeViewItems.d.ts +0 -24
- package/dist/es/processTreeViewItems.js +0 -139
- package/dist/es/utils/FieldsService.d.ts +0 -26
- package/dist/es/utils/FieldsService.js +0 -50
- package/dist/es/utils/SortedPublicItemIds.d.ts +0 -8
- package/dist/es/utils/SortedPublicItemIds.js +0 -24
- package/dist/es/utils/consts.d.ts +0 -40
- package/dist/es/utils/consts.js +0 -40
- package/dist/es/utils/getItemIdUponKeyboardNavigation.d.ts +0 -5
- package/dist/es/utils/getItemIdUponKeyboardNavigation.js +0 -77
- package/dist/es/utils/itemIdUtils.d.ts +0 -60
- package/dist/es/utils/itemIdUtils.js +0 -117
- package/dist/es/utils/itemUtils.d.ts +0 -45
- package/dist/es/utils/itemUtils.js +0 -191
- package/dist/es/utils/misc.d.ts +0 -9
- package/dist/es/utils/misc.js +0 -17
- package/dist/esm/ItemRenderProps.d.ts +0 -13
- package/dist/esm/ItemRenderProps.js +0 -2
- package/dist/esm/TreeView.d.ts +0 -116
- package/dist/esm/TreeView.js +0 -450
- package/dist/esm/TreeViewDragAnalyzer.d.ts +0 -63
- package/dist/esm/TreeViewDragAnalyzer.js +0 -111
- package/dist/esm/TreeViewDragClue.d.ts +0 -78
- package/dist/esm/TreeViewDragClue.js +0 -116
- package/dist/esm/TreeViewItem.d.ts +0 -85
- package/dist/esm/TreeViewItem.js +0 -415
- package/dist/esm/TreeViewOperationDescriptors.d.ts +0 -76
- package/dist/esm/TreeViewOperationDescriptors.js +0 -2
- package/dist/esm/TreeViewProps.d.ts +0 -126
- package/dist/esm/TreeViewProps.js +0 -1
- package/dist/esm/additionalTypes.ts +0 -21
- package/dist/esm/events.d.ts +0 -143
- package/dist/esm/events.js +0 -2
- package/dist/esm/handleTreeViewCheckChange.d.ts +0 -49
- package/dist/esm/handleTreeViewCheckChange.js +0 -177
- package/dist/esm/main.d.ts +0 -12
- package/dist/esm/main.js +0 -8
- package/dist/esm/moveTreeViewItem.d.ts +0 -46
- package/dist/esm/moveTreeViewItem.js +0 -93
- package/dist/esm/package-metadata.d.ts +0 -5
- package/dist/esm/package-metadata.js +0 -11
- package/dist/esm/package.json +0 -3
- package/dist/esm/processTreeViewItems.d.ts +0 -24
- package/dist/esm/processTreeViewItems.js +0 -139
- package/dist/esm/utils/FieldsService.d.ts +0 -26
- package/dist/esm/utils/FieldsService.js +0 -50
- package/dist/esm/utils/SortedPublicItemIds.d.ts +0 -8
- package/dist/esm/utils/SortedPublicItemIds.js +0 -24
- package/dist/esm/utils/consts.d.ts +0 -40
- package/dist/esm/utils/consts.js +0 -40
- package/dist/esm/utils/getItemIdUponKeyboardNavigation.d.ts +0 -5
- package/dist/esm/utils/getItemIdUponKeyboardNavigation.js +0 -77
- package/dist/esm/utils/itemIdUtils.d.ts +0 -60
- package/dist/esm/utils/itemIdUtils.js +0 -117
- package/dist/esm/utils/itemUtils.d.ts +0 -45
- package/dist/esm/utils/itemUtils.js +0 -191
- package/dist/esm/utils/misc.d.ts +0 -9
- package/dist/esm/utils/misc.js +0 -17
- package/dist/npm/ItemRenderProps.d.ts +0 -13
- package/dist/npm/ItemRenderProps.js +0 -3
- package/dist/npm/TreeView.d.ts +0 -116
- package/dist/npm/TreeView.js +0 -457
- package/dist/npm/TreeViewDragAnalyzer.d.ts +0 -63
- package/dist/npm/TreeViewDragAnalyzer.js +0 -114
- package/dist/npm/TreeViewDragClue.d.ts +0 -78
- package/dist/npm/TreeViewDragClue.js +0 -123
- package/dist/npm/TreeViewItem.d.ts +0 -85
- package/dist/npm/TreeViewItem.js +0 -422
- package/dist/npm/TreeViewOperationDescriptors.d.ts +0 -76
- package/dist/npm/TreeViewOperationDescriptors.js +0 -3
- package/dist/npm/TreeViewProps.d.ts +0 -126
- package/dist/npm/TreeViewProps.js +0 -2
- package/dist/npm/additionalTypes.ts +0 -21
- package/dist/npm/events.d.ts +0 -143
- package/dist/npm/events.js +0 -3
- package/dist/npm/handleTreeViewCheckChange.d.ts +0 -49
- package/dist/npm/handleTreeViewCheckChange.js +0 -181
- package/dist/npm/main.d.ts +0 -12
- package/dist/npm/main.js +0 -17
- package/dist/npm/moveTreeViewItem.d.ts +0 -46
- package/dist/npm/moveTreeViewItem.js +0 -93
- package/dist/npm/package-metadata.d.ts +0 -5
- package/dist/npm/package-metadata.js +0 -14
- package/dist/npm/processTreeViewItems.d.ts +0 -24
- package/dist/npm/processTreeViewItems.js +0 -142
- package/dist/npm/utils/FieldsService.d.ts +0 -26
- package/dist/npm/utils/FieldsService.js +0 -52
- package/dist/npm/utils/SortedPublicItemIds.d.ts +0 -8
- package/dist/npm/utils/SortedPublicItemIds.js +0 -26
- package/dist/npm/utils/consts.d.ts +0 -40
- package/dist/npm/utils/consts.js +0 -43
- package/dist/npm/utils/getItemIdUponKeyboardNavigation.d.ts +0 -5
- package/dist/npm/utils/getItemIdUponKeyboardNavigation.js +0 -80
- package/dist/npm/utils/itemIdUtils.d.ts +0 -60
- package/dist/npm/utils/itemIdUtils.js +0 -132
- package/dist/npm/utils/itemUtils.d.ts +0 -45
- package/dist/npm/utils/itemUtils.js +0 -205
- package/dist/npm/utils/misc.d.ts +0 -9
- package/dist/npm/utils/misc.js +0 -22
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { addItem, removeItem } from './utils/itemUtils';
|
|
2
|
-
import { getDecrementedItemIdAfterRemoval, getItemById } from './utils/itemIdUtils';
|
|
3
|
-
import { CHILDREN_FIELD } from './utils/consts';
|
|
4
|
-
/**
|
|
5
|
-
* A helper function which moves a TreeView item in an immutable way.
|
|
6
|
-
*
|
|
7
|
-
* {% meta height:400 %}
|
|
8
|
-
* {% embed_file drag/single/main.vue preview %}
|
|
9
|
-
* {% embed_file drag/single/main.js %}
|
|
10
|
-
* {% endmeta %}
|
|
11
|
-
*
|
|
12
|
-
* #### Parameters
|
|
13
|
-
* ##### sourceItemHierarchicalIndex <span class='code'>string</span>
|
|
14
|
-
* The hierarchical index of the item that will be moved.
|
|
15
|
-
*
|
|
16
|
-
* ##### sourceData <span class='code'>any[] | null | undefined</span>
|
|
17
|
-
* The tree which contains the item that will be moved.
|
|
18
|
-
*
|
|
19
|
-
* ##### operation <span class='code'>"before" | "after" | "child"</span>
|
|
20
|
-
* The specific move operation.
|
|
21
|
-
*
|
|
22
|
-
* The available options are:
|
|
23
|
-
* * `before`—Indicates that the source item will become the previous sibling of the target item.
|
|
24
|
-
* * `after`—Indicates that the source item will become the next sibling of the target item.
|
|
25
|
-
* * `child`—Indicates that the source item will become a child of the target item.
|
|
26
|
-
*
|
|
27
|
-
* ##### targetItemHierarchicalIndex <span class='code'>string</span>
|
|
28
|
-
* The hierarchical index of the item next to which the source item will be moved.
|
|
29
|
-
*
|
|
30
|
-
* ##### targetData? <span class='code'>any[] | null</span>
|
|
31
|
-
* The tree which contains the target item.
|
|
32
|
-
* If the argument is skipped, then the move operation will be executed within the same tree.
|
|
33
|
-
* Setting the `sourceData` and `targetData` arguments to the same tree is also supported.
|
|
34
|
-
*
|
|
35
|
-
* ##### childrenField? <span class='code'>string</span>
|
|
36
|
-
* The field that points to the dataItem sub items. Defaults to `items`.
|
|
37
|
-
*
|
|
38
|
-
* #### Returns
|
|
39
|
-
* <span class='code'>any[] | { sourceData: any[]; targetData: any[]; }</span> - The updated copies of the `sourceData` and `targetData` input arguments.
|
|
40
|
-
* If `targetData` is not passed, then only the updated copy of the `sourceData` will be returned.
|
|
41
|
-
*/
|
|
42
|
-
var moveTreeViewItem = function (sourceItemHierarchicalIndex, sourceData, operation, targetItemHierarchicalIndex, targetData, childrenField) {
|
|
43
|
-
var subItemsField = childrenField || CHILDREN_FIELD;
|
|
44
|
-
if (!validateInput()) {
|
|
45
|
-
return prepareInputDataForReturn();
|
|
46
|
-
}
|
|
47
|
-
var sourceItem = getItemById(sourceItemHierarchicalIndex, sourceData, subItemsField);
|
|
48
|
-
if (!sourceItem) {
|
|
49
|
-
return prepareInputDataForReturn();
|
|
50
|
-
}
|
|
51
|
-
// The source and the target tree are the same.
|
|
52
|
-
if (!targetData || targetData === sourceData) {
|
|
53
|
-
if (!validateNoCircularReference()) {
|
|
54
|
-
return prepareInputDataForReturn();
|
|
55
|
-
}
|
|
56
|
-
var updatedSourceData = removeItem(sourceItemHierarchicalIndex, subItemsField, sourceData);
|
|
57
|
-
var resultData = addItem(sourceItem, operation, subItemsField, getDecrementedItemIdAfterRemoval(sourceItemHierarchicalIndex, targetItemHierarchicalIndex), updatedSourceData);
|
|
58
|
-
// A simpler output is explicitly returned when the source and the target tree are
|
|
59
|
-
// the same, that is, the targetData argument is skipped.
|
|
60
|
-
return targetData ? { sourceData: resultData, targetData: resultData } : resultData;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
var updatedSource = removeItem(sourceItemHierarchicalIndex, subItemsField, sourceData);
|
|
64
|
-
var updatedTarget = addItem(sourceItem, operation, subItemsField, targetItemHierarchicalIndex, targetData);
|
|
65
|
-
return { sourceData: updatedSource, targetData: updatedTarget };
|
|
66
|
-
}
|
|
67
|
-
function prepareInputDataForReturn() {
|
|
68
|
-
return targetData ? { sourceData: sourceData, targetData: targetData } : sourceData;
|
|
69
|
-
}
|
|
70
|
-
function validateNoCircularReference() {
|
|
71
|
-
return !"".concat(targetItemHierarchicalIndex, "_").startsWith("".concat(sourceItemHierarchicalIndex, "_"));
|
|
72
|
-
}
|
|
73
|
-
function validateInput() {
|
|
74
|
-
if (!sourceData || !sourceData.length ||
|
|
75
|
-
!sourceItemHierarchicalIndex || !targetItemHierarchicalIndex) {
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
if (targetData && !targetData.length) {
|
|
79
|
-
// Dropping over an empty tree is not supported.
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
// Validate that the target item exists.
|
|
83
|
-
var data = !targetData || targetData === sourceData ? sourceData : targetData;
|
|
84
|
-
if (!getItemById(targetItemHierarchicalIndex, data, subItemsField)) {
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
|
-
return true;
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
/**
|
|
91
|
-
* @hidden
|
|
92
|
-
*/
|
|
93
|
-
export { moveTreeViewItem };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @hidden
|
|
3
|
-
*/
|
|
4
|
-
export var packageMetadata = {
|
|
5
|
-
name: '@progress/kendo-vue-treeview',
|
|
6
|
-
productName: 'Kendo UI for Vue',
|
|
7
|
-
productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
|
|
8
|
-
publishDate: 1728905682,
|
|
9
|
-
version: '',
|
|
10
|
-
licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
|
|
11
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { TreeViewOperationDescriptors } from './TreeViewOperationDescriptors';
|
|
2
|
-
/**
|
|
3
|
-
* A helper function which applies the specified operation descriptors to the data.
|
|
4
|
-
* [Expanding and collapsing items]({% slug expansion_ways_treeview %}#toc-using-a-helper-function)
|
|
5
|
-
* [Selecting and deselecting items]({% slug selection_ways_treeview %}#toc-using-a-helper-function)
|
|
6
|
-
* [Checking and unchecking items]({% slug check_helper_funcs_treeview %})
|
|
7
|
-
*
|
|
8
|
-
* {% meta height:350 %}
|
|
9
|
-
* {% embed_file select/selection-update-helper-function/main.vue preview %}
|
|
10
|
-
* {% embed_file select/selection-update-helper-function/main.js %}
|
|
11
|
-
* {% endmeta %}
|
|
12
|
-
*
|
|
13
|
-
* #### Parameters
|
|
14
|
-
* ##### data <span class='code'>any[] | null | undefined</span>
|
|
15
|
-
* The data that will be processed.
|
|
16
|
-
*
|
|
17
|
-
* ##### operations <span class='code'>[TreeViewOperationDescriptors]({% slug api_treeview_treeviewoperationdescriptors %})</span>
|
|
18
|
-
* The operation descriptors that will be applied to the data.
|
|
19
|
-
*
|
|
20
|
-
* #### Returns
|
|
21
|
-
* <span class='code'>any[]</span> - The processed copy of the input data.
|
|
22
|
-
*/
|
|
23
|
-
declare const processTreeViewItems: (data: any[] | null | undefined, operations: TreeViewOperationDescriptors) => any[];
|
|
24
|
-
export { processTreeViewItems };
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-len */
|
|
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
|
-
import { updateItem, resolveItemsIds } from './utils/itemUtils';
|
|
14
|
-
import { EXPAND_FIELD, SELECT_FIELD, CHECK_FIELD, CHECK_INDETERMINATE_FIELD, CHILDREN_FIELD } from './utils/consts';
|
|
15
|
-
import { getNestedValue, isArray } from './utils/misc';
|
|
16
|
-
/**
|
|
17
|
-
* A helper function which applies the specified operation descriptors to the data.
|
|
18
|
-
* [Expanding and collapsing items]({% slug expansion_ways_treeview %}#toc-using-a-helper-function)
|
|
19
|
-
* [Selecting and deselecting items]({% slug selection_ways_treeview %}#toc-using-a-helper-function)
|
|
20
|
-
* [Checking and unchecking items]({% slug check_helper_funcs_treeview %})
|
|
21
|
-
*
|
|
22
|
-
* {% meta height:350 %}
|
|
23
|
-
* {% embed_file select/selection-update-helper-function/main.vue preview %}
|
|
24
|
-
* {% embed_file select/selection-update-helper-function/main.js %}
|
|
25
|
-
* {% endmeta %}
|
|
26
|
-
*
|
|
27
|
-
* #### Parameters
|
|
28
|
-
* ##### data <span class='code'>any[] | null | undefined</span>
|
|
29
|
-
* The data that will be processed.
|
|
30
|
-
*
|
|
31
|
-
* ##### operations <span class='code'>[TreeViewOperationDescriptors]({% slug api_treeview_treeviewoperationdescriptors %})</span>
|
|
32
|
-
* The operation descriptors that will be applied to the data.
|
|
33
|
-
*
|
|
34
|
-
* #### Returns
|
|
35
|
-
* <span class='code'>any[]</span> - The processed copy of the input data.
|
|
36
|
-
*/
|
|
37
|
-
var processTreeViewItems = function (data, operations) {
|
|
38
|
-
if (!data || !data.length) {
|
|
39
|
-
return [];
|
|
40
|
-
}
|
|
41
|
-
var result = data;
|
|
42
|
-
var cloneField = operations.cloneField || 'cloned';
|
|
43
|
-
var expandField = operations.expandField || EXPAND_FIELD;
|
|
44
|
-
var selectField = operations.selectField || SELECT_FIELD;
|
|
45
|
-
var checkField = operations.checkField || CHECK_FIELD;
|
|
46
|
-
var childrenField = operations.childrenField || CHILDREN_FIELD;
|
|
47
|
-
result = handleOperation(result, expandField, operations.expand, cloneField, childrenField);
|
|
48
|
-
result = handleOperation(result, selectField, operations.select, cloneField, childrenField);
|
|
49
|
-
result = handleOperation(result, checkField, operations.check, cloneField, childrenField);
|
|
50
|
-
applyCheckIndeterminate(result, childrenField, operations.check);
|
|
51
|
-
return result;
|
|
52
|
-
};
|
|
53
|
-
function handleOperation(items, defaultField, operation, cloneField, childrenField) {
|
|
54
|
-
if (operation) {
|
|
55
|
-
var _a = parseOperation(operation, defaultField), ids = _a.ids, field = _a.field;
|
|
56
|
-
var indices = !isArray(operation) && operation.idField
|
|
57
|
-
? resolveItemsIds(ids, operation.idField, items, childrenField)
|
|
58
|
-
: ids;
|
|
59
|
-
return raiseFlags(items, indices, field, cloneField, childrenField);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
return items;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
function parseOperation(operation, defaultField) {
|
|
66
|
-
var ids;
|
|
67
|
-
var field;
|
|
68
|
-
if (isArray(operation)) {
|
|
69
|
-
ids = operation;
|
|
70
|
-
field = defaultField;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
ids = operation.ids || [];
|
|
74
|
-
field = operation.operationField || defaultField;
|
|
75
|
-
}
|
|
76
|
-
return { ids: ids, field: field };
|
|
77
|
-
}
|
|
78
|
-
function raiseFlags(items, indices, field, cloneField, childrenField) {
|
|
79
|
-
var result = items;
|
|
80
|
-
indices.forEach(function (itemIndex) {
|
|
81
|
-
result = updateItem(result, itemIndex, function (item) { return raiseNestedFlag(field, item); }, cloneField, childrenField);
|
|
82
|
-
});
|
|
83
|
-
return result;
|
|
84
|
-
}
|
|
85
|
-
function raiseNestedFlag(fieldName, dataItem) {
|
|
86
|
-
var fields = (fieldName || '').split('.');
|
|
87
|
-
var item = dataItem;
|
|
88
|
-
for (var index = 0; index < fields.length; index++) {
|
|
89
|
-
var field = fields[index];
|
|
90
|
-
if (index === fields.length - 1) {
|
|
91
|
-
item[field] = true;
|
|
92
|
-
}
|
|
93
|
-
else if (item[field] !== undefined) {
|
|
94
|
-
item[field] = __assign({}, item[field]);
|
|
95
|
-
item = item[field];
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
function applyCheckIndeterminate(items, childrenField, check) {
|
|
103
|
-
if (check && !isArray(check) && check.applyCheckIndeterminate) {
|
|
104
|
-
var checkField = parseOperation(check, CHECK_FIELD).field;
|
|
105
|
-
var checkIndeterminateField = check.checkIndeterminateField || CHECK_INDETERMINATE_FIELD;
|
|
106
|
-
for (var i = 0; i < items.length; i++) {
|
|
107
|
-
var item = items[i];
|
|
108
|
-
var subItems = item[childrenField];
|
|
109
|
-
if (subItems) {
|
|
110
|
-
applyCheckIndeterminateHelper(subItems, getNestedValue(checkField, item) ? [] : [item], childrenField, checkField, checkIndeterminateField);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
function applyCheckIndeterminateHelper(data, parents, childrenField, checkField, checkIndeterminateField) {
|
|
116
|
-
// The updates will be direct because the corresponding items
|
|
117
|
-
// are already cloned because of their checked children.
|
|
118
|
-
var parentsAlreadyUpdated = false;
|
|
119
|
-
for (var i = 0; i < data.length; i++) {
|
|
120
|
-
var item = data[i];
|
|
121
|
-
if (getNestedValue(checkField, item)) {
|
|
122
|
-
if (!parentsAlreadyUpdated) {
|
|
123
|
-
for (var j = 0; j < parents.length; j++) {
|
|
124
|
-
raiseNestedFlag(checkIndeterminateField, parents[j]);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
parentsAlreadyUpdated = true;
|
|
128
|
-
if (item[childrenField]) {
|
|
129
|
-
applyCheckIndeterminateHelper(item[childrenField], [], childrenField, checkField, checkIndeterminateField);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
if (item[childrenField]) {
|
|
134
|
-
applyCheckIndeterminateHelper(item[childrenField], parentsAlreadyUpdated ? [item] : parents.concat([item]), childrenField, checkField, checkIndeterminateField);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
export { processTreeViewItems };
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { TreeViewProps } from '../TreeViewProps';
|
|
2
|
-
/**
|
|
3
|
-
* @hidden
|
|
4
|
-
*/
|
|
5
|
-
export default class FieldsService {
|
|
6
|
-
focusIdField: string | undefined;
|
|
7
|
-
private expandField;
|
|
8
|
-
private selectField;
|
|
9
|
-
private childrenField;
|
|
10
|
-
private hasChildrenField;
|
|
11
|
-
private textField;
|
|
12
|
-
private disableField;
|
|
13
|
-
private checkField;
|
|
14
|
-
private checkIndeterminateField;
|
|
15
|
-
constructor(treeViewProps: TreeViewProps);
|
|
16
|
-
expanded(item: any): boolean | undefined;
|
|
17
|
-
selected(item: any): boolean | undefined;
|
|
18
|
-
text(item: any): string | undefined;
|
|
19
|
-
disabled(item: any): boolean | undefined;
|
|
20
|
-
hasChildren(item: any): boolean | undefined;
|
|
21
|
-
children(item: any): any[];
|
|
22
|
-
checked(item: any): boolean | undefined;
|
|
23
|
-
checkIndeterminate(item: any): boolean | undefined;
|
|
24
|
-
focusId(item: any): any;
|
|
25
|
-
getChildrenField(): string;
|
|
26
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { getNestedValue } from './misc';
|
|
2
|
-
/**
|
|
3
|
-
* @hidden
|
|
4
|
-
*/
|
|
5
|
-
var FieldsService = /** @class */ (function () {
|
|
6
|
-
function FieldsService(treeViewProps) {
|
|
7
|
-
this.expandField = treeViewProps.expandField;
|
|
8
|
-
this.selectField = treeViewProps.selectField;
|
|
9
|
-
this.hasChildrenField = treeViewProps.hasChildrenField;
|
|
10
|
-
this.childrenField = treeViewProps.childrenField;
|
|
11
|
-
this.textField = treeViewProps.textField;
|
|
12
|
-
this.disableField = treeViewProps.disableField;
|
|
13
|
-
this.checkField = treeViewProps.checkField;
|
|
14
|
-
this.checkIndeterminateField = treeViewProps.checkIndeterminateField;
|
|
15
|
-
this.focusIdField = treeViewProps.focusIdField;
|
|
16
|
-
}
|
|
17
|
-
FieldsService.prototype.expanded = function (item) {
|
|
18
|
-
return getNestedValue(this.expandField, item);
|
|
19
|
-
};
|
|
20
|
-
FieldsService.prototype.selected = function (item) {
|
|
21
|
-
return getNestedValue(this.selectField, item);
|
|
22
|
-
};
|
|
23
|
-
FieldsService.prototype.text = function (item) {
|
|
24
|
-
return getNestedValue(this.textField, item);
|
|
25
|
-
};
|
|
26
|
-
FieldsService.prototype.disabled = function (item) {
|
|
27
|
-
return getNestedValue(this.disableField, item);
|
|
28
|
-
};
|
|
29
|
-
FieldsService.prototype.hasChildren = function (item) {
|
|
30
|
-
return getNestedValue(this.hasChildrenField, item);
|
|
31
|
-
};
|
|
32
|
-
FieldsService.prototype.children = function (item) {
|
|
33
|
-
var children = getNestedValue(this.childrenField, item);
|
|
34
|
-
return children ? children : [];
|
|
35
|
-
};
|
|
36
|
-
FieldsService.prototype.checked = function (item) {
|
|
37
|
-
return getNestedValue(this.checkField, item);
|
|
38
|
-
};
|
|
39
|
-
FieldsService.prototype.checkIndeterminate = function (item) {
|
|
40
|
-
return getNestedValue(this.checkIndeterminateField, item);
|
|
41
|
-
};
|
|
42
|
-
FieldsService.prototype.focusId = function (item) {
|
|
43
|
-
return this.focusIdField && getNestedValue(this.focusIdField, item);
|
|
44
|
-
};
|
|
45
|
-
FieldsService.prototype.getChildrenField = function () {
|
|
46
|
-
return this.childrenField;
|
|
47
|
-
};
|
|
48
|
-
return FieldsService;
|
|
49
|
-
}());
|
|
50
|
-
export default FieldsService;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
var PROPS_COUNT_LIMIT = 50000;
|
|
2
|
-
/**
|
|
3
|
-
* @hidden
|
|
4
|
-
*/
|
|
5
|
-
var SortedPublicItemIds = /** @class */ (function () {
|
|
6
|
-
function SortedPublicItemIds() {
|
|
7
|
-
this.objects = [];
|
|
8
|
-
}
|
|
9
|
-
SortedPublicItemIds.prototype.init = function (publicItemIds) {
|
|
10
|
-
var currentObj;
|
|
11
|
-
for (var i = 0; i < publicItemIds.length; i++) {
|
|
12
|
-
if (i % PROPS_COUNT_LIMIT === 0) {
|
|
13
|
-
currentObj = {};
|
|
14
|
-
this.objects.push(currentObj);
|
|
15
|
-
}
|
|
16
|
-
currentObj[publicItemIds[i]] = true;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
SortedPublicItemIds.prototype.hasId = function (publicItemId) {
|
|
20
|
-
return this.objects.some(function (obj) { return obj[publicItemId]; });
|
|
21
|
-
};
|
|
22
|
-
return SortedPublicItemIds;
|
|
23
|
-
}());
|
|
24
|
-
export default SortedPublicItemIds;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @hidden
|
|
3
|
-
*/
|
|
4
|
-
export declare const EXPAND_FIELD = "expanded";
|
|
5
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
export declare const TEXT_FIELD = "text";
|
|
9
|
-
/**
|
|
10
|
-
* @hidden
|
|
11
|
-
*/
|
|
12
|
-
export declare const DISABLED_FIELD = "disabled";
|
|
13
|
-
/**
|
|
14
|
-
* @hidden
|
|
15
|
-
*/
|
|
16
|
-
export declare const CHILDREN_FIELD = "items";
|
|
17
|
-
/**
|
|
18
|
-
* @hidden
|
|
19
|
-
*/
|
|
20
|
-
export declare const HAS_CHILDREN_FIELD = "hasChildren";
|
|
21
|
-
/**
|
|
22
|
-
* @hidden
|
|
23
|
-
*/
|
|
24
|
-
export declare const SELECT_FIELD = "selected";
|
|
25
|
-
/**
|
|
26
|
-
* @hidden
|
|
27
|
-
*/
|
|
28
|
-
export declare const CHECK_FIELD = "checked";
|
|
29
|
-
/**
|
|
30
|
-
* @hidden
|
|
31
|
-
*/
|
|
32
|
-
export declare const CHECK_INDETERMINATE_FIELD = "checkIndeterminate";
|
|
33
|
-
/**
|
|
34
|
-
* @hidden
|
|
35
|
-
*/
|
|
36
|
-
export declare const DOM_KENDO_ITEM_ID_FIELD = "_kendoItemId";
|
|
37
|
-
/**
|
|
38
|
-
* @hidden
|
|
39
|
-
*/
|
|
40
|
-
export declare const DOM_KENDO_TREEVIEW_GUID_FIELD = "_kendoTreeViewGuid";
|
package/dist/es/utils/consts.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @hidden
|
|
3
|
-
*/
|
|
4
|
-
export var EXPAND_FIELD = 'expanded';
|
|
5
|
-
/**
|
|
6
|
-
* @hidden
|
|
7
|
-
*/
|
|
8
|
-
export var TEXT_FIELD = 'text';
|
|
9
|
-
/**
|
|
10
|
-
* @hidden
|
|
11
|
-
*/
|
|
12
|
-
export var DISABLED_FIELD = 'disabled';
|
|
13
|
-
/**
|
|
14
|
-
* @hidden
|
|
15
|
-
*/
|
|
16
|
-
export var CHILDREN_FIELD = 'items';
|
|
17
|
-
/**
|
|
18
|
-
* @hidden
|
|
19
|
-
*/
|
|
20
|
-
export var HAS_CHILDREN_FIELD = 'hasChildren';
|
|
21
|
-
/**
|
|
22
|
-
* @hidden
|
|
23
|
-
*/
|
|
24
|
-
export var SELECT_FIELD = 'selected';
|
|
25
|
-
/**
|
|
26
|
-
* @hidden
|
|
27
|
-
*/
|
|
28
|
-
export var CHECK_FIELD = 'checked';
|
|
29
|
-
/**
|
|
30
|
-
* @hidden
|
|
31
|
-
*/
|
|
32
|
-
export var CHECK_INDETERMINATE_FIELD = 'checkIndeterminate';
|
|
33
|
-
/**
|
|
34
|
-
* @hidden
|
|
35
|
-
*/
|
|
36
|
-
export var DOM_KENDO_ITEM_ID_FIELD = '_kendoItemId';
|
|
37
|
-
/**
|
|
38
|
-
* @hidden
|
|
39
|
-
*/
|
|
40
|
-
export var DOM_KENDO_TREEVIEW_GUID_FIELD = '_kendoTreeViewGuid';
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Keys } from '@progress/kendo-vue-common';
|
|
2
|
-
import * as idUtils from './itemIdUtils';
|
|
3
|
-
import { isItemExpandedAndWithChildren, isEnabledAndAllParentsEnabled } from './itemUtils';
|
|
4
|
-
/**
|
|
5
|
-
* @hidden
|
|
6
|
-
*/
|
|
7
|
-
export default function getItemIdUponKeyboardNavigation(item, itemId, items, keyCode, fieldsSvc) {
|
|
8
|
-
switch (keyCode) {
|
|
9
|
-
case Keys.left:
|
|
10
|
-
return getIdUponLeftKey();
|
|
11
|
-
case Keys.right:
|
|
12
|
-
return getIdUponRightKey();
|
|
13
|
-
case Keys.up:
|
|
14
|
-
return getIdUponUpKey();
|
|
15
|
-
case Keys.down:
|
|
16
|
-
return getIdUponDownKey();
|
|
17
|
-
case Keys.home:
|
|
18
|
-
return idUtils.ZERO_LEVEL_ZERO_NODE_ID;
|
|
19
|
-
case Keys.end:
|
|
20
|
-
return getIdUponEndKey();
|
|
21
|
-
default:
|
|
22
|
-
return itemId;
|
|
23
|
-
}
|
|
24
|
-
function getIdUponLeftKey() {
|
|
25
|
-
return idUtils.isIdZeroLevel(itemId)
|
|
26
|
-
// For expanded disabled items, navigate directly to the parent.
|
|
27
|
-
// Collapse cannot happen because an event is not fired to the client.
|
|
28
|
-
|| (fieldsSvc.expanded(item) && isEnabledAndAllParentsEnabled(itemId, items, fieldsSvc)) ?
|
|
29
|
-
itemId : idUtils.getDirectParentId(itemId);
|
|
30
|
-
}
|
|
31
|
-
function getIdUponRightKey() {
|
|
32
|
-
return isItemExpandedAndWithChildren(item, fieldsSvc) ? idUtils.getFirstChildId(itemId) : itemId;
|
|
33
|
-
}
|
|
34
|
-
function getIdUponUpKey() {
|
|
35
|
-
var index = Number(idUtils.getShortId(itemId));
|
|
36
|
-
var parentId = idUtils.getDirectParentId(itemId);
|
|
37
|
-
return index ? getLastNotOpenedChildId(idUtils.createId(index - 1, parentId), items, fieldsSvc) :
|
|
38
|
-
idUtils.isIdZeroLevel(itemId) ? itemId : parentId;
|
|
39
|
-
}
|
|
40
|
-
function getIdUponDownKey() {
|
|
41
|
-
if (isItemExpandedAndWithChildren(item, fieldsSvc)) {
|
|
42
|
-
return idUtils.getFirstChildId(itemId);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
return getNextItemId(itemId, items, fieldsSvc) || itemId;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
function getIdUponEndKey() {
|
|
49
|
-
var result = (items.length - 1).toString();
|
|
50
|
-
var currentItem = items[items.length - 1];
|
|
51
|
-
var children;
|
|
52
|
-
while (isItemExpandedAndWithChildren(currentItem, fieldsSvc)) {
|
|
53
|
-
children = currentItem[fieldsSvc.getChildrenField()];
|
|
54
|
-
result = idUtils.createId(children.length - 1, result);
|
|
55
|
-
currentItem = children[children.length - 1];
|
|
56
|
-
}
|
|
57
|
-
return result;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
function getNextItemId(itemId, items, fieldsSvc) {
|
|
61
|
-
var parentId = idUtils.getDirectParentId(itemId);
|
|
62
|
-
var parent = parentId ? idUtils.getItemById(parentId, items, fieldsSvc.getChildrenField()) : undefined;
|
|
63
|
-
var siblings = parent ? parent[fieldsSvc.getChildrenField()] : items;
|
|
64
|
-
var index = Number(idUtils.getShortId(itemId));
|
|
65
|
-
return index < siblings.length - 1 ?
|
|
66
|
-
idUtils.createId(index + 1, parentId) :
|
|
67
|
-
parent ? getNextItemId(parentId, items, fieldsSvc) : undefined;
|
|
68
|
-
}
|
|
69
|
-
function getLastNotOpenedChildId(itemId, items, fieldsSvc) {
|
|
70
|
-
var item = idUtils.getItemById(itemId, items, fieldsSvc.getChildrenField());
|
|
71
|
-
if (isItemExpandedAndWithChildren(item, fieldsSvc)) {
|
|
72
|
-
return getLastNotOpenedChildId(idUtils.createId(item[fieldsSvc.getChildrenField()].length - 1, itemId), items, fieldsSvc);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
return itemId;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
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;
|