@progress/kendo-vue-treelist 3.6.4 → 3.7.0-dev.202210250731

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 (77) hide show
  1. package/dist/cdn/js/kendo-vue-treelist.js +1 -1
  2. package/dist/es/TreeList.js +345 -370
  3. package/dist/es/TreeListNav.js +4 -4
  4. package/dist/es/cells/EditCells/TreeListBooleanEditor.d.ts +1 -1
  5. package/dist/es/cells/EditCells/TreeListBooleanEditor.js +20 -4
  6. package/dist/es/cells/EditCells/TreeListDateEditor.d.ts +1 -1
  7. package/dist/es/cells/EditCells/TreeListDateEditor.js +12 -5
  8. package/dist/es/cells/EditCells/TreeListNumericEditor.d.ts +1 -1
  9. package/dist/es/cells/EditCells/TreeListNumericEditor.js +12 -5
  10. package/dist/es/cells/EditCells/TreeListTextEditor.d.ts +2 -1
  11. package/dist/es/cells/EditCells/TreeListTextEditor.js +25 -6
  12. package/dist/es/cells/FilterCells/TreeListBooleanFilter.js +4 -17
  13. package/dist/es/cells/FilterCells/TreeListDateFilter.js +4 -17
  14. package/dist/es/cells/FilterCells/TreeListNumericFilter.js +4 -17
  15. package/dist/es/cells/FilterCells/TreeListTextFilter.js +4 -17
  16. package/dist/es/cells/TreeListCell.js +27 -38
  17. package/dist/es/cells/TreeListSelectionCell.js +7 -8
  18. package/dist/es/interfaces/TreeListCellProps.d.ts +4 -0
  19. package/dist/es/interfaces/TreeListProps.d.ts +31 -7
  20. package/dist/es/interfaces/events.d.ts +16 -3
  21. package/dist/es/package-metadata.js +1 -1
  22. package/dist/es/rows/{DragClue.d.ts → RowDragClue.d.ts} +0 -0
  23. package/dist/es/rows/{DragClue.js → RowDragClue.js} +14 -3
  24. package/dist/es/rows/TreeListDraggableRow.d.ts +38 -1
  25. package/dist/es/rows/TreeListDraggableRow.js +175 -123
  26. package/dist/es/rows/TreeListRow.js +39 -17
  27. package/dist/esm/TreeList.js +345 -370
  28. package/dist/esm/TreeListNav.js +4 -4
  29. package/dist/esm/cells/EditCells/TreeListBooleanEditor.d.ts +1 -1
  30. package/dist/esm/cells/EditCells/TreeListBooleanEditor.js +20 -4
  31. package/dist/esm/cells/EditCells/TreeListDateEditor.d.ts +1 -1
  32. package/dist/esm/cells/EditCells/TreeListDateEditor.js +12 -5
  33. package/dist/esm/cells/EditCells/TreeListNumericEditor.d.ts +1 -1
  34. package/dist/esm/cells/EditCells/TreeListNumericEditor.js +12 -5
  35. package/dist/esm/cells/EditCells/TreeListTextEditor.d.ts +2 -1
  36. package/dist/esm/cells/EditCells/TreeListTextEditor.js +25 -6
  37. package/dist/esm/cells/FilterCells/TreeListBooleanFilter.js +4 -17
  38. package/dist/esm/cells/FilterCells/TreeListDateFilter.js +4 -17
  39. package/dist/esm/cells/FilterCells/TreeListNumericFilter.js +4 -17
  40. package/dist/esm/cells/FilterCells/TreeListTextFilter.js +4 -17
  41. package/dist/esm/cells/TreeListCell.js +27 -38
  42. package/dist/esm/cells/TreeListSelectionCell.js +7 -8
  43. package/dist/esm/interfaces/TreeListCellProps.d.ts +4 -0
  44. package/dist/esm/interfaces/TreeListProps.d.ts +31 -7
  45. package/dist/esm/interfaces/events.d.ts +16 -3
  46. package/dist/esm/package-metadata.js +1 -1
  47. package/dist/esm/rows/{DragClue.d.ts → RowDragClue.d.ts} +0 -0
  48. package/dist/esm/rows/{DragClue.js → RowDragClue.js} +14 -3
  49. package/dist/esm/rows/TreeListDraggableRow.d.ts +38 -1
  50. package/dist/esm/rows/TreeListDraggableRow.js +175 -123
  51. package/dist/esm/rows/TreeListRow.js +39 -17
  52. package/dist/npm/TreeList.js +344 -383
  53. package/dist/npm/TreeListNav.js +6 -9
  54. package/dist/npm/cells/EditCells/TreeListBooleanEditor.d.ts +1 -1
  55. package/dist/npm/cells/EditCells/TreeListBooleanEditor.js +22 -10
  56. package/dist/npm/cells/EditCells/TreeListDateEditor.d.ts +1 -1
  57. package/dist/npm/cells/EditCells/TreeListDateEditor.js +14 -12
  58. package/dist/npm/cells/EditCells/TreeListNumericEditor.d.ts +1 -1
  59. package/dist/npm/cells/EditCells/TreeListNumericEditor.js +14 -12
  60. package/dist/npm/cells/EditCells/TreeListTextEditor.d.ts +2 -1
  61. package/dist/npm/cells/EditCells/TreeListTextEditor.js +27 -12
  62. package/dist/npm/cells/FilterCells/TreeListBooleanFilter.js +4 -22
  63. package/dist/npm/cells/FilterCells/TreeListDateFilter.js +4 -22
  64. package/dist/npm/cells/FilterCells/TreeListNumericFilter.js +4 -22
  65. package/dist/npm/cells/FilterCells/TreeListTextFilter.js +4 -22
  66. package/dist/npm/cells/TreeListCell.js +27 -43
  67. package/dist/npm/cells/TreeListSelectionCell.js +9 -15
  68. package/dist/npm/interfaces/TreeListCellProps.d.ts +4 -0
  69. package/dist/npm/interfaces/TreeListProps.d.ts +31 -7
  70. package/dist/npm/interfaces/events.d.ts +16 -3
  71. package/dist/npm/package-metadata.js +1 -1
  72. package/dist/npm/rows/{DragClue.d.ts → RowDragClue.d.ts} +0 -0
  73. package/dist/npm/rows/{DragClue.js → RowDragClue.js} +16 -6
  74. package/dist/npm/rows/TreeListDraggableRow.d.ts +38 -1
  75. package/dist/npm/rows/TreeListDraggableRow.js +182 -124
  76. package/dist/npm/rows/TreeListRow.js +41 -22
  77. package/package.json +12 -11
@@ -1,123 +1,175 @@
1
- // import { Draggable, canUseDOM } from '@progress/kendo-vue-common';
2
- // import { TreeListRow } from './TreeListRow.js';
3
- // import { TreeListRowProps } from '../interfaces/TreeListRowProps.js';
4
- // function targetRowIndex(event: any, parent: (Node & ParentNode) | null, currentDocument: Document) {
5
- // if (!event.originalEvent) {
6
- // return -1;
7
- // }
8
- // let row = targetElement<HTMLTableRowElement>(event, 'tr', currentDocument);
9
- // if (row) {
10
- // const rows = parent ? parent.childNodes : [];
11
- // for (let i = 0; i < rows.length; i++) {
12
- // if (rows[i] === row) {
13
- // return i;
14
- // }
15
- // }
16
- // }
17
- // return -1;
18
- // }
19
- // function targetElement<T extends Element>(event: any, closest: string, currentDocument: Document): T | null {
20
- // let target: Element | null = currentDocument
21
- // ? currentDocument.elementFromPoint(event.clientX, event.originalEvent.clientY)
22
- // : null;
23
- // return ((closest && target) ? target.closest(closest) : null) as T | null;
24
- // }
25
- // const treelist = '.k-widget.k-grid';
26
- // interface TreeListRowState {
27
- // clueProps: RowDragClueProps;
28
- // }
29
- // const defaultClueState: RowDragClueProps = {
30
- // visible: false,
31
- // top: 0,
32
- // left: 0,
33
- // text: '',
34
- // allowDrop: false
35
- // };
36
- // /**
37
- // * The TreeList draggable row component.
38
- // */
39
- // export class TreeListDraggableRow extends Component<TreeListRowProps, TreeListRowState> {
40
- // /**
41
- // * @hidden
42
- // */
43
- // readonly state: TreeListRowState = {
44
- // clueProps: { ...defaultClueState }
45
- // };
46
- // private draggable = createRef<Draggable>();
47
- // private dragged: number[] | null = null;
48
- // private draggedOver: number[] | null = null;
49
- // /**
50
- // * @hidden
51
- // */
52
- // render() {
53
- // const { clueProps } = this.state;
54
- // return (
55
- // <>
56
- // <Draggable
57
- // ref={this.draggable}
58
- // onPress={this.onPress}
59
- // onDrag={this.onDrag}
60
- // onRelease={this.onRelease}
61
- // >
62
- // <TreeListRow {...this.props} />
63
- // </Draggable>
64
- // <RowDragClue {...clueProps} />
65
- // </>
66
- // );
67
- // }
68
- // private onPress = () => this.dragged = this.props.level;
69
- // private onDrag = (args) => {
70
- // if (!canUseDOM){ return; }
71
- // const element = this.draggable.current && this.draggable.current.element;
72
- // const ownerDocument = element ? element.ownerDocument : document;
73
- // if (!ownerDocument) { return; }
74
- // const event = args.event;
75
- // const dragged = this.dragged;
76
- // if (element && dragged) {
77
- // if (!event.isTouch) {
78
- // event.originalEvent.preventDefault();
79
- // }
80
- // const hovered = this.props.levels[targetRowIndex(event, element.parentNode, ownerDocument)];
81
- // this.draggedOver = hovered;
82
- // const allowDrop = hovered ?
83
- // !dragged.every((num, i) => num === hovered[i]) :
84
- // Boolean(targetElement(event, treelist, ownerDocument));
85
- // this.setState({
86
- // clueProps: {
87
- // visible: true,
88
- // top: (event.pageY + 10),
89
- // left: event.pageX,
90
- // text: element.innerText,
91
- // allowDrop
92
- // }
93
- // });
94
- // if (this.props.onDrag) {
95
- // this.props.onDrag.call(undefined, {
96
- // nativeEvent: event.originalEvent,
97
- // dragged,
98
- // draggedOver: hovered,
99
- // draggedItem: this.props.dataItem
100
- // });
101
- // }
102
- // }
103
- // };
104
- // private onRelease = (args) => {
105
- // const event = args.event;
106
- // if (this.dragged) {
107
- // const dragged = [...this.dragged];
108
- // const draggedOver = this.draggedOver && [...this.draggedOver];
109
- // const allowDrop = this.state.clueProps.allowDrop;
110
- // this.dragged = null;
111
- // this.draggedOver = null;
112
- // this.setState({ clueProps: { ...defaultClueState } });
113
- // const draggedItem = this.props.dataItem;
114
- // if (allowDrop && this.props.onDrop) {
115
- // this.props.onDrop.call(undefined, {
116
- // nativeEvent: event.originalEvent,
117
- // dragged, draggedOver,
118
- // draggedItem
119
- // });
120
- // }
121
- // }
122
- // };
123
- // }
1
+ var __assign = this && this.__assign || function () {
2
+ __assign = Object.assign || function (t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) {
6
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
7
+ }
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ // @ts-ignore
23
+ import * as Vue from 'vue';
24
+ var allVue = Vue;
25
+ var gh = allVue.h;
26
+ var isV3 = allVue.version && allVue.version[0] === '3';
27
+ import { getDefaultSlots, Draggable, canUseDOM } from '@progress/kendo-vue-common';
28
+ import { TreeListRow } from './TreeListRow.js';
29
+ function targetRowIndex(event, parent, currentDocument) {
30
+ if (!event.originalEvent) {
31
+ return -1;
32
+ }
33
+ var row = targetElement(event, 'tr', currentDocument);
34
+ if (row) {
35
+ var rows = parent ? parent.children : [];
36
+ for (var i = 0; i < rows.length; i++) {
37
+ if (rows[i] === row) {
38
+ return i;
39
+ }
40
+ }
41
+ }
42
+ return -1;
43
+ }
44
+ function targetElement(event, closest, currentDocument) {
45
+ var target = currentDocument ? currentDocument.elementFromPoint(event.clientX, event.originalEvent.clientY) : null;
46
+ return closest && target ? target.closest(closest) : null;
47
+ }
48
+ var treelist = '.k-widget.k-grid';
49
+ /**
50
+ * @hidden
51
+ */
52
+ var TreeListDraggableRowVue2 = {
53
+ props: __assign(__assign({}, TreeListRow.props), {
54
+ clueProps: {
55
+ type: Object,
56
+ default: function _default() {
57
+ return {};
58
+ }
59
+ }
60
+ }),
61
+ // @ts-ignore
62
+ emits: {
63
+ press: null,
64
+ drag: null,
65
+ drop: null
66
+ },
67
+ created: function created() {
68
+ this.allowDrop = false;
69
+ this.dragged = null;
70
+ this.draggedOver = null;
71
+ },
72
+ mounted: function mounted() {
73
+ if (this.$el) {
74
+ this.draggable = this.$refs.draggable;
75
+ }
76
+ },
77
+ methods: {
78
+ onPress: function onPress(event) {
79
+ var element = this.draggable && this.draggable.element;
80
+ if (element) {
81
+ this.dragged = this.$props.level;
82
+ this.$emit('press', event, element);
83
+ }
84
+ },
85
+ onDrag: function onDrag(event) {
86
+ var element = this.draggable && this.draggable.element;
87
+ if (!canUseDOM) {
88
+ return;
89
+ }
90
+ var ownerDocument = element ? element.ownerDocument : document;
91
+ if (!ownerDocument) {
92
+ return;
93
+ }
94
+ var dragged = this.dragged;
95
+ if (element && dragged) {
96
+ if (!event.isTouch) {
97
+ event.originalEvent.preventDefault();
98
+ }
99
+ var hovered_1 = this.$props.levels[targetRowIndex(event, element.parentNode, ownerDocument)];
100
+ this.draggedOver = hovered_1;
101
+ this.allowDrop = hovered_1 ? !dragged.every(function (num, i) {
102
+ return num === hovered_1[i];
103
+ }) : Boolean(targetElement(event, treelist, ownerDocument));
104
+ this.$emit('drag', {
105
+ nativeEvent: event.originalEvent,
106
+ dragged: dragged,
107
+ draggedOver: hovered_1,
108
+ draggedItem: this.$props.dataItem,
109
+ clueProps: {
110
+ visible: true,
111
+ top: event.pageY + 10,
112
+ left: event.pageX,
113
+ text: element.innerText,
114
+ allowDrop: this.allowDrop
115
+ }
116
+ });
117
+ }
118
+ },
119
+ onRelease: function onRelease(event) {
120
+ var element = this.draggable && this.draggable.element;
121
+ if (element) {
122
+ if (this.dragged) {
123
+ var dragged = __spreadArray([], this.dragged, true);
124
+ var draggedOver = this.draggedOver && __spreadArray([], this.draggedOver, true);
125
+ this.dragged = null;
126
+ this.draggedOver = null;
127
+ var draggedItem = this.$props.dataItem;
128
+ this.$emit('drop', {
129
+ nativeEvent: event.originalEvent,
130
+ dragged: dragged,
131
+ draggedOver: draggedOver,
132
+ draggedItem: draggedItem,
133
+ clueProps: {
134
+ allowDrop: this.allowDrop
135
+ }
136
+ });
137
+ this.allowDrop = false;
138
+ }
139
+ }
140
+ }
141
+ },
142
+ // @ts-ignore
143
+ setup: !isV3 ? undefined : function () {
144
+ var v3 = !!isV3;
145
+ return {
146
+ v3: v3
147
+ };
148
+ },
149
+ // @ts-ignore
150
+ render: function render(createElement) {
151
+ var h = gh || createElement;
152
+ var defaultSlot = getDefaultSlots(this);
153
+ return (
154
+ // @ts-ignore function children
155
+ h(Draggable, {
156
+ onPress: this.onPress,
157
+ on: this.v3 ? undefined : {
158
+ "press": this.onPress,
159
+ "drag": this.onDrag,
160
+ "release": this.onRelease
161
+ },
162
+ onDrag: this.onDrag,
163
+ onRelease: this.onRelease,
164
+ ref: 'draggable'
165
+ }, this.v3 ? function () {
166
+ return [defaultSlot];
167
+ } : [defaultSlot])
168
+ );
169
+ }
170
+ };
171
+ /**
172
+ * @hidden
173
+ */
174
+ var TreeListDraggableRow = TreeListDraggableRowVue2;
175
+ export { TreeListDraggableRow, TreeListDraggableRowVue2 };
@@ -7,14 +7,17 @@ import { getTemplate, getDefaultSlots } from '@progress/kendo-vue-common';
7
7
  /**
8
8
  * @hidden
9
9
  */
10
-
11
10
  var TreeListRowVue2 = {
12
11
  name: 'KendoTreeListRow',
13
12
  // @ts-ignore
14
13
  emits: {
15
- 'rowclick': null,
16
- 'rowdblclick': null,
17
- 'contextmenu': null
14
+ 'click': null,
15
+ 'dblclick': null,
16
+ 'contextmenu': null,
17
+ 'focus': null,
18
+ 'blur': null,
19
+ 'mousedown': null,
20
+ 'mouseup': null
18
21
  },
19
22
  props: {
20
23
  level: Array,
@@ -35,8 +38,8 @@ var TreeListRowVue2 = {
35
38
  computed: {
36
39
  wrapperClass: function wrapperClass() {
37
40
  var _a = this.$props,
38
- isSelected = _a.isSelected,
39
- isAltRow = _a.isAltRow;
41
+ isSelected = _a.isSelected,
42
+ isAltRow = _a.isAltRow;
40
43
  return {
41
44
  'k-master-row': true,
42
45
  'k-selected': isSelected,
@@ -47,13 +50,25 @@ var TreeListRowVue2 = {
47
50
  },
48
51
  methods: {
49
52
  handleClick: function handleClick(e) {
50
- this.$emit('rowclick', e);
53
+ this.$emit('click', e);
51
54
  },
52
55
  handleDoubleClick: function handleDoubleClick(e) {
53
- this.$emit('rowdblclick', e);
56
+ this.$emit('dblclick', e);
54
57
  },
55
58
  handleContextMenu: function handleContextMenu(e) {
56
59
  this.$emit('contextmenu', e);
60
+ },
61
+ handleFocus: function handleFocus(e) {
62
+ this.$emit('focus', e);
63
+ },
64
+ handleBlur: function handleBlur(e) {
65
+ this.$emit('blur', e);
66
+ },
67
+ handleMousedown: function handleMousedown(e) {
68
+ this.$emit('mousedown', e);
69
+ },
70
+ handleMouseup: function handleMouseup(e) {
71
+ this.$emit('mouseup', e);
57
72
  }
58
73
  },
59
74
  // @ts-ignore
@@ -68,22 +83,30 @@ var TreeListRowVue2 = {
68
83
  var h = gh || createElement;
69
84
  var defaultSlot = getDefaultSlots(this);
70
85
  var _a = this.$props,
71
- rowHeight = _a.rowHeight,
72
- expanded = _a.expanded,
73
- ariaRowIndex = _a.ariaRowIndex,
74
- level = _a.level,
75
- ariaSetSize = _a.ariaSetSize,
76
- ariaPosInSet = _a.ariaPosInSet,
77
- rowIndex = _a.rowIndex;
86
+ rowHeight = _a.rowHeight,
87
+ expanded = _a.expanded,
88
+ ariaRowIndex = _a.ariaRowIndex,
89
+ level = _a.level,
90
+ ariaSetSize = _a.ariaSetSize,
91
+ ariaPosInSet = _a.ariaPosInSet,
92
+ rowIndex = _a.rowIndex;
78
93
  var defaultRendering = h("tr", {
79
94
  onClick: this.handleClick,
80
95
  on: this.v3 ? undefined : {
81
96
  "click": this.handleClick,
82
97
  "dblclick": this.handleDoubleClick,
83
- "contextmenu": this.handleContextMenu
98
+ "contextmenu": this.handleContextMenu,
99
+ "focus": this.handleFocus,
100
+ "blur": this.handleBlur,
101
+ "mousedown": this.handleMousedown,
102
+ "mouseup": this.handleMouseup
84
103
  },
85
104
  onDblclick: this.handleDoubleClick,
86
105
  onContextmenu: this.handleContextMenu,
106
+ onFocus: this.handleFocus,
107
+ onBlur: this.handleBlur,
108
+ onMousedown: this.handleMousedown,
109
+ onMouseup: this.handleMouseup,
87
110
  "class": this.wrapperClass,
88
111
  style: rowHeight !== undefined ? {
89
112
  height: rowHeight + 'px'
@@ -121,6 +144,5 @@ var TreeListRowVue2 = {
121
144
  /**
122
145
  * @hidden
123
146
  */
124
-
125
147
  var TreeListRow = TreeListRowVue2;
126
148
  export { TreeListRow, TreeListRowVue2 };