@progress/kendo-vue-treeview 5.3.0-dev.202410141143 → 5.3.0-develop.2

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 (161) hide show
  1. package/README.md +26 -35
  2. package/TreeView.js +8 -0
  3. package/TreeView.mjs +294 -0
  4. package/TreeViewDragAnalyzer.js +8 -0
  5. package/TreeViewDragAnalyzer.mjs +74 -0
  6. package/TreeViewDragClue.js +8 -0
  7. package/TreeViewDragClue.mjs +56 -0
  8. package/TreeViewItem.js +8 -0
  9. package/TreeViewItem.mjs +271 -0
  10. package/dist/cdn/js/kendo-vue-treeview.js +8 -1
  11. package/handleTreeViewCheckChange.js +8 -0
  12. package/handleTreeViewCheckChange.mjs +64 -0
  13. package/index.d.mts +950 -0
  14. package/index.d.ts +950 -0
  15. package/index.js +8 -0
  16. package/index.mjs +23 -0
  17. package/moveTreeViewItem.js +8 -0
  18. package/moveTreeViewItem.mjs +45 -0
  19. package/package-metadata.js +8 -0
  20. package/package-metadata.mjs +18 -0
  21. package/package.json +25 -46
  22. package/processTreeViewItems.js +8 -0
  23. package/processTreeViewItems.mjs +90 -0
  24. package/utils/FieldsService.js +8 -0
  25. package/utils/FieldsService.mjs +59 -0
  26. package/utils/SortedPublicItemIds.js +8 -0
  27. package/utils/SortedPublicItemIds.mjs +26 -0
  28. package/utils/consts.js +8 -0
  29. package/utils/consts.mjs +20 -0
  30. package/utils/getItemIdUponKeyboardNavigation.js +8 -0
  31. package/utils/getItemIdUponKeyboardNavigation.mjs +65 -0
  32. package/utils/itemIdUtils.js +8 -0
  33. package/utils/itemIdUtils.mjs +82 -0
  34. package/utils/itemUtils.js +8 -0
  35. package/utils/itemUtils.mjs +140 -0
  36. package/utils/misc.js +8 -0
  37. package/utils/misc.mjs +21 -0
  38. package/dist/es/ItemRenderProps.d.ts +0 -13
  39. package/dist/es/ItemRenderProps.js +0 -2
  40. package/dist/es/TreeView.d.ts +0 -116
  41. package/dist/es/TreeView.js +0 -450
  42. package/dist/es/TreeViewDragAnalyzer.d.ts +0 -63
  43. package/dist/es/TreeViewDragAnalyzer.js +0 -111
  44. package/dist/es/TreeViewDragClue.d.ts +0 -78
  45. package/dist/es/TreeViewDragClue.js +0 -116
  46. package/dist/es/TreeViewItem.d.ts +0 -85
  47. package/dist/es/TreeViewItem.js +0 -415
  48. package/dist/es/TreeViewOperationDescriptors.d.ts +0 -76
  49. package/dist/es/TreeViewOperationDescriptors.js +0 -2
  50. package/dist/es/TreeViewProps.d.ts +0 -126
  51. package/dist/es/TreeViewProps.js +0 -1
  52. package/dist/es/additionalTypes.ts +0 -21
  53. package/dist/es/events.d.ts +0 -143
  54. package/dist/es/events.js +0 -2
  55. package/dist/es/handleTreeViewCheckChange.d.ts +0 -49
  56. package/dist/es/handleTreeViewCheckChange.js +0 -177
  57. package/dist/es/main.d.ts +0 -12
  58. package/dist/es/main.js +0 -8
  59. package/dist/es/moveTreeViewItem.d.ts +0 -46
  60. package/dist/es/moveTreeViewItem.js +0 -93
  61. package/dist/es/package-metadata.d.ts +0 -5
  62. package/dist/es/package-metadata.js +0 -11
  63. package/dist/es/processTreeViewItems.d.ts +0 -24
  64. package/dist/es/processTreeViewItems.js +0 -139
  65. package/dist/es/utils/FieldsService.d.ts +0 -26
  66. package/dist/es/utils/FieldsService.js +0 -50
  67. package/dist/es/utils/SortedPublicItemIds.d.ts +0 -8
  68. package/dist/es/utils/SortedPublicItemIds.js +0 -24
  69. package/dist/es/utils/consts.d.ts +0 -40
  70. package/dist/es/utils/consts.js +0 -40
  71. package/dist/es/utils/getItemIdUponKeyboardNavigation.d.ts +0 -5
  72. package/dist/es/utils/getItemIdUponKeyboardNavigation.js +0 -77
  73. package/dist/es/utils/itemIdUtils.d.ts +0 -60
  74. package/dist/es/utils/itemIdUtils.js +0 -117
  75. package/dist/es/utils/itemUtils.d.ts +0 -45
  76. package/dist/es/utils/itemUtils.js +0 -191
  77. package/dist/es/utils/misc.d.ts +0 -9
  78. package/dist/es/utils/misc.js +0 -17
  79. package/dist/esm/ItemRenderProps.d.ts +0 -13
  80. package/dist/esm/ItemRenderProps.js +0 -2
  81. package/dist/esm/TreeView.d.ts +0 -116
  82. package/dist/esm/TreeView.js +0 -450
  83. package/dist/esm/TreeViewDragAnalyzer.d.ts +0 -63
  84. package/dist/esm/TreeViewDragAnalyzer.js +0 -111
  85. package/dist/esm/TreeViewDragClue.d.ts +0 -78
  86. package/dist/esm/TreeViewDragClue.js +0 -116
  87. package/dist/esm/TreeViewItem.d.ts +0 -85
  88. package/dist/esm/TreeViewItem.js +0 -415
  89. package/dist/esm/TreeViewOperationDescriptors.d.ts +0 -76
  90. package/dist/esm/TreeViewOperationDescriptors.js +0 -2
  91. package/dist/esm/TreeViewProps.d.ts +0 -126
  92. package/dist/esm/TreeViewProps.js +0 -1
  93. package/dist/esm/additionalTypes.ts +0 -21
  94. package/dist/esm/events.d.ts +0 -143
  95. package/dist/esm/events.js +0 -2
  96. package/dist/esm/handleTreeViewCheckChange.d.ts +0 -49
  97. package/dist/esm/handleTreeViewCheckChange.js +0 -177
  98. package/dist/esm/main.d.ts +0 -12
  99. package/dist/esm/main.js +0 -8
  100. package/dist/esm/moveTreeViewItem.d.ts +0 -46
  101. package/dist/esm/moveTreeViewItem.js +0 -93
  102. package/dist/esm/package-metadata.d.ts +0 -5
  103. package/dist/esm/package-metadata.js +0 -11
  104. package/dist/esm/package.json +0 -3
  105. package/dist/esm/processTreeViewItems.d.ts +0 -24
  106. package/dist/esm/processTreeViewItems.js +0 -139
  107. package/dist/esm/utils/FieldsService.d.ts +0 -26
  108. package/dist/esm/utils/FieldsService.js +0 -50
  109. package/dist/esm/utils/SortedPublicItemIds.d.ts +0 -8
  110. package/dist/esm/utils/SortedPublicItemIds.js +0 -24
  111. package/dist/esm/utils/consts.d.ts +0 -40
  112. package/dist/esm/utils/consts.js +0 -40
  113. package/dist/esm/utils/getItemIdUponKeyboardNavigation.d.ts +0 -5
  114. package/dist/esm/utils/getItemIdUponKeyboardNavigation.js +0 -77
  115. package/dist/esm/utils/itemIdUtils.d.ts +0 -60
  116. package/dist/esm/utils/itemIdUtils.js +0 -117
  117. package/dist/esm/utils/itemUtils.d.ts +0 -45
  118. package/dist/esm/utils/itemUtils.js +0 -191
  119. package/dist/esm/utils/misc.d.ts +0 -9
  120. package/dist/esm/utils/misc.js +0 -17
  121. package/dist/npm/ItemRenderProps.d.ts +0 -13
  122. package/dist/npm/ItemRenderProps.js +0 -3
  123. package/dist/npm/TreeView.d.ts +0 -116
  124. package/dist/npm/TreeView.js +0 -457
  125. package/dist/npm/TreeViewDragAnalyzer.d.ts +0 -63
  126. package/dist/npm/TreeViewDragAnalyzer.js +0 -114
  127. package/dist/npm/TreeViewDragClue.d.ts +0 -78
  128. package/dist/npm/TreeViewDragClue.js +0 -123
  129. package/dist/npm/TreeViewItem.d.ts +0 -85
  130. package/dist/npm/TreeViewItem.js +0 -422
  131. package/dist/npm/TreeViewOperationDescriptors.d.ts +0 -76
  132. package/dist/npm/TreeViewOperationDescriptors.js +0 -3
  133. package/dist/npm/TreeViewProps.d.ts +0 -126
  134. package/dist/npm/TreeViewProps.js +0 -2
  135. package/dist/npm/additionalTypes.ts +0 -21
  136. package/dist/npm/events.d.ts +0 -143
  137. package/dist/npm/events.js +0 -3
  138. package/dist/npm/handleTreeViewCheckChange.d.ts +0 -49
  139. package/dist/npm/handleTreeViewCheckChange.js +0 -181
  140. package/dist/npm/main.d.ts +0 -12
  141. package/dist/npm/main.js +0 -17
  142. package/dist/npm/moveTreeViewItem.d.ts +0 -46
  143. package/dist/npm/moveTreeViewItem.js +0 -93
  144. package/dist/npm/package-metadata.d.ts +0 -5
  145. package/dist/npm/package-metadata.js +0 -14
  146. package/dist/npm/processTreeViewItems.d.ts +0 -24
  147. package/dist/npm/processTreeViewItems.js +0 -142
  148. package/dist/npm/utils/FieldsService.d.ts +0 -26
  149. package/dist/npm/utils/FieldsService.js +0 -52
  150. package/dist/npm/utils/SortedPublicItemIds.d.ts +0 -8
  151. package/dist/npm/utils/SortedPublicItemIds.js +0 -26
  152. package/dist/npm/utils/consts.d.ts +0 -40
  153. package/dist/npm/utils/consts.js +0 -43
  154. package/dist/npm/utils/getItemIdUponKeyboardNavigation.d.ts +0 -5
  155. package/dist/npm/utils/getItemIdUponKeyboardNavigation.js +0 -80
  156. package/dist/npm/utils/itemIdUtils.d.ts +0 -60
  157. package/dist/npm/utils/itemIdUtils.js +0 -132
  158. package/dist/npm/utils/itemUtils.d.ts +0 -45
  159. package/dist/npm/utils/itemUtils.js +0 -205
  160. package/dist/npm/utils/misc.d.ts +0 -9
  161. package/dist/npm/utils/misc.js +0 -22
@@ -1,78 +0,0 @@
1
- import { DefineComponent } from './additionalTypes';
2
- import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
3
- declare type DefaultData<V> = object | ((this: V) => {});
4
- declare type DefaultMethods<V> = {
5
- [key: string]: (this: V, ...args: any[]) => any;
6
- };
7
- /**
8
- * Represents the props of the Kendo UI for Vue TreeViewDragClue component.
9
- */
10
- export interface TreeViewDragClueProps {
11
- }
12
- /**
13
- * @hidden
14
- */
15
- export interface TreeViewDragClueState {
16
- }
17
- /**
18
- * @hidden
19
- */
20
- export interface TreeViewDragClueComputed {
21
- [key: string]: any;
22
- }
23
- /**
24
- * @hidden
25
- */
26
- export interface TreeViewDragClueMethods {
27
- [key: string]: any;
28
- }
29
- /**
30
- * @hidden
31
- */
32
- export interface TreeViewDragClueData {
33
- visible?: boolean;
34
- top?: number;
35
- left?: number;
36
- text?: string;
37
- operationClassName?: string;
38
- }
39
- /**
40
- * @hidden
41
- */
42
- export interface TreeViewDragClueAll extends Vue, TreeViewDragClueMethods, TreeViewDragClueData, TreeViewDragClueComputed, TreeViewDragClueState {
43
- }
44
- /**
45
- * @hidden
46
- */
47
- declare let TreeViewDragClueVue2: ComponentOptions<TreeViewDragClueAll, DefaultData<TreeViewDragClueData>, DefaultMethods<TreeViewDragClueAll>, TreeViewDragClueComputed, RecordPropsDefinition<TreeViewDragClueProps>>;
48
- /**
49
- * Represents the Kendo UI for Vue Native TreeViewDragClue component which renders a clue when an item is dragged.
50
- *
51
- * {% meta height:400 %}
52
- * {% embed_file drag/single/main.vue preview %}
53
- * {% embed_file drag/single/main.js %}
54
- * {% endmeta %}
55
- *
56
- * ## Methods
57
- *
58
- * ### hide
59
- * Hides the TreeViewDragClue component.
60
- *
61
- * ### show
62
- * Displays the TreeViewDragClue component.
63
- *
64
- * #### Parameters
65
- * ##### top <span class='code'>number</span>
66
- * The `top` CSS position of the component.
67
- *
68
- * ##### left <span class='code'>number</span>
69
- * The `left` CSS position of the component.
70
- *
71
- * ##### text <span class='code'>string</span>
72
- * The text of the component.
73
- *
74
- * ##### operationClassName <span class='code'>string</span>
75
- * The CSS class name which is related to the specific drop operation.
76
- */
77
- declare const TreeViewDragClue: DefineComponent<TreeViewDragClueProps, any, TreeViewDragClueData, TreeViewDragClueComputed, TreeViewDragClueMethods, {}, {}, {}, string, TreeViewDragClueProps, TreeViewDragClueProps, {}>;
78
- export { TreeViewDragClue, TreeViewDragClueVue2 };
@@ -1,123 +0,0 @@
1
- "use strict";
2
-
3
- var __assign = undefined && undefined.__assign || function () {
4
- __assign = Object.assign || function (t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) {
8
- if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9
- }
10
- }
11
- return t;
12
- };
13
- return __assign.apply(this, arguments);
14
- };
15
- Object.defineProperty(exports, "__esModule", {
16
- value: true
17
- });
18
- exports.TreeViewDragClueVue2 = exports.TreeViewDragClue = void 0;
19
- // @ts-ignore
20
- var Vue = require("vue");
21
- var allVue = Vue;
22
- var gh = allVue.h;
23
- var isV3 = allVue.version && allVue.version[0] === '3';
24
- var kendo_vue_common_1 = require("@progress/kendo-vue-common");
25
- var kendo_svg_icons_1 = require("@progress/kendo-svg-icons");
26
- /**
27
- * @hidden
28
- */
29
- var TreeViewDragClueVue2 = {
30
- name: 'KendoTreeViewDragClue',
31
- props: {},
32
- data: function data() {
33
- return {
34
- visible: false,
35
- top: 0,
36
- left: 0,
37
- text: '',
38
- operationIconName: 'cancel',
39
- operationSvg: kendo_svg_icons_1.cancelIcon
40
- };
41
- },
42
- // @ts-ignore
43
- setup: !isV3 ? undefined : function () {
44
- var v3 = !!isV3;
45
- return {
46
- v3: v3
47
- };
48
- },
49
- // @ts-ignore
50
- render: function render(createElement) {
51
- var h = gh || createElement;
52
- var defaultStyle = {
53
- display: 'block',
54
- position: 'absolute',
55
- zIndex: 20000,
56
- padding: '4px 6px'
57
- };
58
- var dynamicStyle = {
59
- top: this.top + 'px',
60
- left: this.left + 'px'
61
- };
62
- return this.visible && h("div", {
63
- "class": "k-header k-drag-clue",
64
- style: __assign(__assign({}, defaultStyle), dynamicStyle)
65
- }, [h(kendo_vue_common_1.Icon, {
66
- name: (0, kendo_vue_common_1.getIconName)(this.operationIconName),
67
- attrs: this.v3 ? undefined : {
68
- name: (0, kendo_vue_common_1.getIconName)(this.operationIconName),
69
- icon: this.operationSvg
70
- },
71
- icon: this.operationSvg,
72
- "class": 'k-drag-status'
73
- }), this.text]);
74
- },
75
- methods: {
76
- show: function show(top, left, text, operationIconName) {
77
- this.visible = true;
78
- this.top = top;
79
- this.left = left;
80
- this.text = text;
81
- if (typeof operationIconName === 'string') {
82
- this.operationIconName = operationIconName;
83
- } else {
84
- this.operationSvg = operationIconName;
85
- }
86
- },
87
- hide: function hide() {
88
- this.visible = false;
89
- }
90
- }
91
- };
92
- exports.TreeViewDragClueVue2 = TreeViewDragClueVue2;
93
- /**
94
- * Represents the Kendo UI for Vue Native TreeViewDragClue component which renders a clue when an item is dragged.
95
- *
96
- * {% meta height:400 %}
97
- * {% embed_file drag/single/main.vue preview %}
98
- * {% embed_file drag/single/main.js %}
99
- * {% endmeta %}
100
- *
101
- * ## Methods
102
- *
103
- * ### hide
104
- * Hides the TreeViewDragClue component.
105
- *
106
- * ### show
107
- * Displays the TreeViewDragClue component.
108
- *
109
- * #### Parameters
110
- * ##### top <span class='code'>number</span>
111
- * The `top` CSS position of the component.
112
- *
113
- * ##### left <span class='code'>number</span>
114
- * The `left` CSS position of the component.
115
- *
116
- * ##### text <span class='code'>string</span>
117
- * The text of the component.
118
- *
119
- * ##### operationClassName <span class='code'>string</span>
120
- * The CSS class name which is related to the specific drop operation.
121
- */
122
- var TreeViewDragClue = TreeViewDragClueVue2;
123
- exports.TreeViewDragClue = TreeViewDragClue;
@@ -1,85 +0,0 @@
1
- import { DefineComponent } from './additionalTypes';
2
- import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
3
- declare type DefaultData<V> = object | ((this: V) => {});
4
- declare type DefaultMethods<V> = {
5
- [key: string]: (this: V, ...args: any[]) => any;
6
- };
7
- import FieldsService from './utils/FieldsService';
8
- /**
9
- * @hidden
10
- */
11
- export interface TreeViewItemProps {
12
- item: any;
13
- itemId: string;
14
- treeGuid: string;
15
- animate: boolean;
16
- focusedItemId?: string;
17
- tabbableItemId: string;
18
- fieldsService: FieldsService;
19
- itemUI?: any;
20
- ariaMultiSelectable: boolean;
21
- onItemClick?: any;
22
- expandIcons?: boolean;
23
- onExpandChange?: any;
24
- onCheckChange?: any;
25
- checkboxes?: boolean;
26
- onFocusDomElNeeded?: any;
27
- draggable?: boolean;
28
- onPress?: any;
29
- onDrag?: any;
30
- onRelease?: any;
31
- size?: null | 'small' | 'medium' | 'large' | string;
32
- /**
33
- * Currently for internal usage only! Replicates the current behavior which disables all children
34
- * if the parent is disabled, which was previously achieved only though the kendo-themes,
35
- * but due to rendering changes had to be replicated programmatically!
36
- *
37
- * @hidden
38
- */
39
- disabled?: boolean;
40
- ariaLevel: number;
41
- isRtl?: boolean;
42
- }
43
- /**
44
- * @hidden
45
- */
46
- export interface TreeViewItemState {
47
- checkboxElement: any;
48
- itemGuid: any;
49
- }
50
- /**
51
- * @hidden
52
- */
53
- export interface TreeViewItemComputed {
54
- [key: string]: any;
55
- fieldsSvc: any;
56
- currentTabIndex: number;
57
- ariaExpanded?: boolean;
58
- ariaChecked?: string | boolean;
59
- ariaSelected?: boolean;
60
- }
61
- /**
62
- * @hidden
63
- */
64
- export interface TreeViewItemMethods {
65
- [key: string]: any;
66
- }
67
- /**
68
- * @hidden
69
- */
70
- export interface TreeViewItemData {
71
- }
72
- /**
73
- * @hidden
74
- */
75
- export interface TreeViewItemAll extends Vue, TreeViewItemMethods, TreeViewItemData, TreeViewItemComputed, TreeViewItemState {
76
- }
77
- /**
78
- * @hidden
79
- */
80
- declare let TreeViewItemVue2: ComponentOptions<TreeViewItemAll, DefaultData<TreeViewItemData>, DefaultMethods<TreeViewItemAll>, TreeViewItemComputed, RecordPropsDefinition<TreeViewItemProps>>;
81
- /**
82
- * @hidden
83
- */
84
- declare const TreeViewItem: DefineComponent<TreeViewItemProps, any, TreeViewItemData, TreeViewItemComputed, TreeViewItemMethods, {}, {}, {}, string, TreeViewItemProps, TreeViewItemProps, {}>;
85
- export { TreeViewItem, TreeViewItemVue2 };
@@ -1,422 +0,0 @@
1
- "use strict";
2
-
3
- var __assign = undefined && undefined.__assign || function () {
4
- __assign = Object.assign || function (t) {
5
- for (var s, i = 1, n = arguments.length; i < n; i++) {
6
- s = arguments[i];
7
- for (var p in s) {
8
- if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9
- }
10
- }
11
- return t;
12
- };
13
- return __assign.apply(this, arguments);
14
- };
15
- Object.defineProperty(exports, "__esModule", {
16
- value: true
17
- });
18
- exports.TreeViewItemVue2 = exports.TreeViewItem = void 0;
19
- // @ts-ignore
20
- var Vue = require("vue");
21
- var allVue = Vue;
22
- var gh = allVue.h;
23
- var isV3 = allVue.version && allVue.version[0] === '3';
24
- var kendo_vue_common_1 = require("@progress/kendo-vue-common");
25
- var itemIdUtils_1 = require("./utils/itemIdUtils");
26
- var itemUtils_1 = require("./utils/itemUtils");
27
- var kendo_vue_animation_1 = require("@progress/kendo-vue-animation");
28
- var consts_1 = require("./utils/consts");
29
- var kendo_svg_icons_1 = require("@progress/kendo-svg-icons");
30
- var sizeMap = kendo_vue_common_1.kendoThemeMaps.sizeMap;
31
- /**
32
- * @hidden
33
- */
34
- var TreeViewItemVue2 = {
35
- name: 'KendoTreeViewItem',
36
- props: {
37
- item: Object,
38
- itemId: String,
39
- treeGuid: String,
40
- animate: Boolean,
41
- focusedItemId: String,
42
- tabbableItemId: String,
43
- fieldsService: Object,
44
- itemUI: Object,
45
- ariaMultiSelectable: Boolean,
46
- expandIcons: Boolean,
47
- checkboxes: Boolean,
48
- onFocusDomElNeeded: Object,
49
- draggable: Boolean,
50
- isRtl: Boolean,
51
- size: {
52
- type: String,
53
- default: 'medium',
54
- validator: function validator(value) {
55
- return [null, 'small', 'medium', 'large'].includes(value);
56
- }
57
- },
58
- disabled: Boolean,
59
- ariaLevel: Number
60
- },
61
- computed: {
62
- fieldsSvc: function fieldsSvc() {
63
- return this.$props.fieldsService;
64
- },
65
- currentTabIndex: function currentTabIndex() {
66
- return (this.$props.focusedItemId || this.$props.tabbableItemId) === this.itemId ? 0 : -1;
67
- },
68
- ariaExpanded: function ariaExpanded() {
69
- return this.fieldsSvc.hasChildren(this.item) || (0, itemUtils_1.hasChildren)(this.item, this.fieldsSvc.getChildrenField()) ? Boolean(this.fieldsSvc.expanded(this.item)) : undefined;
70
- },
71
- ariaChecked: function ariaChecked() {
72
- if (this.$props.checkboxes) {
73
- if (this.fieldsSvc.checked(this.item)) {
74
- return 'true';
75
- } else {
76
- return this.fieldsSvc.checkIndeterminate(this.item) ? 'mixed' : 'false';
77
- }
78
- } else {
79
- return undefined;
80
- }
81
- },
82
- ariaSelected: function ariaSelected() {
83
- if (this.fieldsSvc.selected(this.item)) {
84
- return true;
85
- } else if (this.$props.ariaMultiSelectable) {
86
- return this.computedDisabled ? undefined : false;
87
- } else {
88
- return undefined;
89
- }
90
- },
91
- computedDisabled: function computedDisabled() {
92
- var itemDisabled = this.fieldsSvc.disabled(this.item);
93
- return itemDisabled !== undefined ? itemDisabled : this.disabled;
94
- }
95
- },
96
- created: function created() {
97
- this.itemGuid = (0, kendo_vue_common_1.guid)();
98
- this.prevFocusedItemId = this.focusedItemId;
99
- this.prevFieldsService = this.fieldsService;
100
- this.prevItem = this.item;
101
- },
102
- data: function data() {
103
- return {
104
- isMounted: false
105
- };
106
- },
107
- watch: {
108
- focusedItemId: function focusedItemId(_, oldValue) {
109
- this.prevFocusedItemId = oldValue;
110
- },
111
- fieldsService: function fieldsService(_, oldValue) {
112
- this.prevFieldsService = oldValue;
113
- },
114
- item: function item(_, oldValue) {
115
- this.prevItem = oldValue;
116
- }
117
- },
118
- mounted: function mounted() {
119
- var focusedItemId = this.$props.focusedItemId;
120
- var currentItemId = this.itemId;
121
- if (focusedItemId && focusedItemId === currentItemId) {
122
- this.$emit('focusdomelneeded', this.$el);
123
- }
124
- this.checkboxElement = (0, kendo_vue_common_1.getRef)(this, 'checkboxElement');
125
- if (this.checkboxElement) {
126
- this.checkboxElement.indeterminate = this.fieldsSvc.checkIndeterminate(this.item);
127
- }
128
- this.assignDraggableMeta(this.$refs.treemid);
129
- this.isMounted = true;
130
- },
131
- updated: function updated() {
132
- var focusedItemId = this.$props.focusedItemId;
133
- if (focusedItemId && focusedItemId !== this.prevFocusedItemId && focusedItemId === this.itemId) {
134
- this.$emit('focusdomelneeded', this.$el);
135
- }
136
- this.checkboxElement = (0, kendo_vue_common_1.getRef)(this, 'checkboxElement');
137
- if (this.checkboxElement) {
138
- var indeterminate = this.fieldsSvc.checkIndeterminate(this.item);
139
- if (indeterminate !== this.prevFieldsService.checkIndeterminate(this.prevItem)) {
140
- this.checkboxElement.indeterminate = indeterminate;
141
- }
142
- }
143
- this.assignDraggableMeta(this.$refs.treemid);
144
- },
145
- // @ts-ignore
146
- setup: !isV3 ? undefined : function () {
147
- var v3 = !!isV3;
148
- return {
149
- v3: v3
150
- };
151
- },
152
- // @ts-ignore
153
- render: function render(createElement) {
154
- var _this2 = this;
155
- var _this = this;
156
- var h = gh || createElement;
157
- var subitems = function subitems() {
158
- return (0, itemUtils_1.isItemExpandedAndWithChildren)(this.item, this.fieldsSvc) ? h("ul", {
159
- "class": "k-treeview-group",
160
- role: "group",
161
- attrs: this.v3 ? undefined : {
162
- role: "group"
163
- }
164
- }, [this.fieldsSvc.children(this.item).map(function (item, index) {
165
- return h(TreeViewItem, {
166
- item: item,
167
- attrs: this.v3 ? undefined : {
168
- item: item,
169
- itemId: (0, itemIdUtils_1.createId)(index, this.itemId),
170
- treeGuid: this.$props.treeGuid,
171
- animate: this.$props.animate,
172
- focusedItemId: this.$props.focusedItemId,
173
- tabbableItemId: this.$props.tabbableItemId,
174
- fieldsService: this.$props.fieldsService,
175
- itemUI: this.$props.itemUI,
176
- checkboxes: this.$props.checkboxes,
177
- ariaMultiSelectable: this.$props.ariaMultiSelectable,
178
- ariaLevel: this.$props.ariaLevel + 1,
179
- draggable: this.$props.draggable,
180
- expandIcons: this.$props.expandIcons,
181
- size: this.$props.size,
182
- disabled: this.computedDisabled,
183
- isRtl: this.$props.isRtl
184
- },
185
- itemId: (0, itemIdUtils_1.createId)(index, this.itemId),
186
- treeGuid: this.$props.treeGuid,
187
- animate: this.$props.animate,
188
- focusedItemId: this.$props.focusedItemId,
189
- tabbableItemId: this.$props.tabbableItemId,
190
- fieldsService: this.$props.fieldsService,
191
- itemUI: this.$props.itemUI,
192
- checkboxes: this.$props.checkboxes,
193
- ariaMultiSelectable: this.$props.ariaMultiSelectable,
194
- ariaLevel: this.$props.ariaLevel + 1,
195
- onItemclick: this.handleItemClick,
196
- on: this.v3 ? undefined : {
197
- "itemclick": this.handleItemClick,
198
- "focusdomelneeded": this.handleFocusDomElNeeded,
199
- "press": this.handlePress,
200
- "drag": this.handleDrag,
201
- "release": this.handleRelease,
202
- "expandchange": this.handleExpandChange,
203
- "checkchange": this.handleCheckChange
204
- },
205
- onFocusdomelneeded: this.handleFocusDomElNeeded,
206
- draggable: this.$props.draggable,
207
- onPress: this.handlePress,
208
- onDrag: this.handleDrag,
209
- onRelease: this.handleRelease,
210
- expandIcons: this.$props.expandIcons,
211
- onExpandchange: this.handleExpandChange,
212
- onCheckchange: this.handleCheckChange,
213
- key: index,
214
- size: this.$props.size,
215
- disabled: this.computedDisabled,
216
- isRtl: this.$props.isRtl
217
- });
218
- }, this)]) : undefined;
219
- };
220
- var renderExpandIcon = function renderExpandIcon() {
221
- var renderExpand = this.$props.expandIcons && (
222
- // If it is explicitly said that the item has children (even not loaded yet)
223
- // or if the item actually has children, then render the icon.
224
- this.fieldsSvc.hasChildren(this.item) || (0, itemUtils_1.hasChildren)(this.item, this.fieldsSvc.getChildrenField()));
225
- return renderExpand && h("span", {
226
- "class": (0, kendo_vue_common_1.classNames)('k-treeview-toggle', {
227
- 'k-disabled': this.computedDisabled
228
- })
229
- }, [h(kendo_vue_common_1.Icon, {
230
- name: this.getIconClassName(),
231
- attrs: this.v3 ? undefined : {
232
- name: this.getIconClassName(),
233
- icon: this.getIconSVG()
234
- },
235
- icon: this.getIconSVG(),
236
- onClick: this.handleExpandChange,
237
- on: this.v3 ? undefined : {
238
- "click": this.handleExpandChange
239
- }
240
- })]);
241
- };
242
- var renderCheckbox = function renderCheckbox() {
243
- var _a;
244
- if (this.$props.checkboxes) {
245
- var size = this.$props.size;
246
- return h("div", {
247
- "class": "k-checkbox-wrap",
248
- role: "presentation",
249
- attrs: this.v3 ? undefined : {
250
- role: "presentation"
251
- }
252
- }, [h("input", {
253
- type: "checkbox",
254
- attrs: this.v3 ? undefined : {
255
- type: "checkbox",
256
- "aria-label": this.item.text,
257
- id: this.itemGuid,
258
- tabindex: -1
259
- },
260
- "class": (0, kendo_vue_common_1.classNames)('k-checkbox k-rounded-md', (_a = {}, _a["k-checkbox-".concat(sizeMap[size] || size)] = size, _a['k-disabled'] = this.computedDisabled, _a)),
261
- "aria-label": this.item.text,
262
- checked: this.v3 ? Boolean(this.fieldsSvc.checked(this.item)) : null,
263
- domProps: this.v3 ? undefined : {
264
- "checked": Boolean(this.fieldsSvc.checked(this.item))
265
- },
266
- id: this.itemGuid,
267
- tabindex: -1,
268
- onChange: this.handleCheckChange,
269
- on: this.v3 ? undefined : {
270
- "change": this.handleCheckChange
271
- },
272
- ref: (0, kendo_vue_common_1.setRef)(this, 'checkboxElement')
273
- }), h("label", {
274
- "class": "k-checkbox-label",
275
- "for": this.itemGuid,
276
- attrs: this.v3 ? undefined : {
277
- "for": this.itemGuid
278
- }
279
- })]);
280
- } else {
281
- return undefined;
282
- }
283
- };
284
- var itemRender = kendo_vue_common_1.getTemplate.call(this, {
285
- h: h,
286
- template: this.$props.itemUI,
287
- defaultRendering: this.fieldsSvc.text(this.item),
288
- additionalProps: {
289
- item: this.item,
290
- itemHierarchicalIndex: this.itemId
291
- }
292
- });
293
- var itemInPart = function itemInPart() {
294
- return h("span", {
295
- "class": this.getContentClassName(),
296
- style: {
297
- touchAction: 'none'
298
- },
299
- onClick: this.handleItemClick,
300
- on: this.v3 ? undefined : {
301
- "click": this.handleItemClick
302
- }
303
- }, [h("span", {
304
- "class": "k-treeview-leaf-text"
305
- }, [itemRender])]);
306
- };
307
- return h("li", {
308
- "class": (0, kendo_vue_common_1.classNames)('k-treeview-item'),
309
- tabindex: this.currentTabIndex,
310
- attrs: this.v3 ? undefined : {
311
- tabindex: this.currentTabIndex,
312
- role: "treeitem",
313
- "aria-level": this.$props.ariaLevel,
314
- "aria-expanded": this.ariaExpanded,
315
- "aria-selected": this.ariaSelected,
316
- "aria-checked": this.ariaChecked,
317
- "aria-disabled": this.computedDisabled ? true : undefined
318
- },
319
- role: "treeitem",
320
- "aria-level": this.$props.ariaLevel,
321
- "aria-expanded": this.ariaExpanded,
322
- "aria-selected": this.ariaSelected,
323
- "aria-checked": this.ariaChecked,
324
- "aria-disabled": this.computedDisabled ? true : undefined
325
- }, [h("div", {
326
- "class": "k-treeview-mid",
327
- ref: 'treemid'
328
- }, [renderExpandIcon.call(this), renderCheckbox.call(this), this.$props.draggable ?
329
- // @ts-ignore function children
330
- h(kendo_vue_common_1.Draggable, {
331
- onPress: function onPress(e) {
332
- return _this.handlePress(e);
333
- },
334
- on: this.v3 ? undefined : {
335
- "press": function onPress(e) {
336
- return _this.handlePress(e);
337
- },
338
- "drag": function drag(e) {
339
- return _this.handleDrag(e);
340
- },
341
- "release": function release(e) {
342
- return _this.handleRelease(e);
343
- }
344
- },
345
- onDrag: function drag(e) {
346
- return _this.handleDrag(e);
347
- },
348
- onRelease: function release(e) {
349
- return _this.handleRelease(e);
350
- }
351
- }, this.v3 ? function () {
352
- return [itemInPart.call(_this2)];
353
- } : [itemInPart.call(_this2)]) : itemInPart.call(this)]), this.$props.animate && this.isMounted ?
354
- // @ts-ignore function children
355
- h(kendo_vue_animation_1.Reveal, {
356
- appear: this.ariaExpanded,
357
- attrs: this.v3 ? undefined : {
358
- appear: this.ariaExpanded,
359
- transitionEnterDuration: 200,
360
- transitionExitDuration: 200
361
- },
362
- transitionEnterDuration: 200,
363
- transitionExitDuration: 200,
364
- key: this.itemGuid + '_animation',
365
- style: {
366
- display: 'block'
367
- }
368
- }, this.v3 ? function () {
369
- return [subitems.call(_this2)];
370
- } : [subitems.call(_this2)]) : subitems.call(this)]);
371
- },
372
- methods: {
373
- handleCheckChange: function handleCheckChange(e, subItem, subItemId) {
374
- this.$emit('checkchange', e, subItem || this.item, subItemId || this.itemId);
375
- },
376
- handleExpandChange: function handleExpandChange(e, subItem, subItemId) {
377
- this.$emit('expandchange', e, subItem || this.item, subItemId || this.itemId);
378
- },
379
- handleItemClick: function handleItemClick(e, subItem, subItemId) {
380
- this.$emit('itemclick', e, subItem || this.item, subItemId || this.itemId);
381
- },
382
- handlePress: function handlePress(e, subItem, subItemId) {
383
- this.$emit('press', e, subItem || __assign({}, this.item), subItemId || this.itemId);
384
- },
385
- handleDrag: function handleDrag(e, subItem, subItemId) {
386
- this.$emit('drag', e, subItem || this.item, subItemId || this.itemId);
387
- },
388
- handleRelease: function handleRelease(e, subItem, subItemId) {
389
- this.$emit('release', e, subItem || this.item, subItemId || this.itemId);
390
- },
391
- handleFocusDomElNeeded: function handleFocusDomElNeeded(e) {
392
- this.$emit('focusdomelneeded', e);
393
- },
394
- getIconClassName: function getIconClassName() {
395
- var expanded = this.fieldsSvc.expanded(this.item);
396
- return expanded && !(0, itemUtils_1.hasChildren)(this.item, this.fieldsSvc.getChildrenField()) ? 'loading' : expanded ? 'caret-alt-down' : this.$props.isRtl ? 'caret-alt-left' : 'caret-alt-right';
397
- },
398
- getIconSVG: function getIconSVG() {
399
- var expanded = this.fieldsSvc.expanded(this.item);
400
- return expanded ? kendo_svg_icons_1.caretAltDownIcon : this.$props.isRtl ? kendo_svg_icons_1.caretAltLeftIcon : kendo_svg_icons_1.caretAltRightIcon;
401
- },
402
- getContentClassName: function getContentClassName() {
403
- return (0, kendo_vue_common_1.classNames)('k-treeview-leaf', {
404
- 'k-focus': this.$props.focusedItemId === this.itemId,
405
- 'k-selected': this.fieldsSvc.selected(this.item),
406
- 'k-disabled': this.computedDisabled
407
- });
408
- },
409
- assignDraggableMeta: function assignDraggableMeta(element) {
410
- if (element && !element[consts_1.DOM_KENDO_ITEM_ID_FIELD]) {
411
- element[consts_1.DOM_KENDO_ITEM_ID_FIELD] = this.$props.itemId;
412
- element[consts_1.DOM_KENDO_TREEVIEW_GUID_FIELD] = this.$props.treeGuid;
413
- }
414
- }
415
- }
416
- };
417
- exports.TreeViewItemVue2 = TreeViewItemVue2;
418
- /**
419
- * @hidden
420
- */
421
- var TreeViewItem = TreeViewItemVue2;
422
- exports.TreeViewItem = TreeViewItem;