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