@progress/kendo-vue-grid 3.5.0 → 3.5.1-dev.202208150613

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 (231) hide show
  1. package/dist/cdn/js/kendo-vue-grid.js +1 -1
  2. package/dist/es/Grid.js +20 -24
  3. package/dist/es/ScrollMode.js +1 -0
  4. package/dist/es/columnMenu/ColumnMenu.js +2 -2
  5. package/dist/es/columnMenu/GridColumnMenuCheckboxFilter.js +9 -13
  6. package/dist/es/columnMenu/GridColumnMenuFilter.js +423 -107
  7. package/dist/es/columnMenu/GridColumnMenuFilterCell.js +74 -97
  8. package/dist/es/columnMenu/GridColumnMenuFilterOperators.d.ts +36 -0
  9. package/dist/es/columnMenu/GridColumnMenuFilterOperators.js +68 -0
  10. package/dist/es/columnMenu/GridColumnMenuItem.js +2 -2
  11. package/dist/es/filterCommon.d.ts +1 -1
  12. package/dist/es/footer/Footer.js +1 -1
  13. package/dist/es/footer/FooterRow.js +1 -1
  14. package/dist/es/header/FilterRow.js +1 -1
  15. package/dist/es/header/Header.js +1 -1
  16. package/dist/es/header/HeaderRow.js +1 -1
  17. package/dist/es/interfaces/ExtendedColumnProps.js +1 -0
  18. package/dist/es/interfaces/GridCellProps.js +1 -0
  19. package/dist/es/interfaces/GridColumnMenuColumnProps.js +1 -0
  20. package/dist/es/interfaces/GridColumnMenuExtendedFilterProps.js +1 -0
  21. package/dist/es/interfaces/GridColumnMenuFilterBaseProps.js +1 -0
  22. package/dist/es/interfaces/GridColumnMenuFilterProps.js +1 -0
  23. package/dist/es/interfaces/GridColumnMenuFilterUIProps.js +1 -0
  24. package/dist/es/interfaces/GridColumnMenuProps.js +1 -0
  25. package/dist/es/interfaces/GridColumnMenuSortBaseProps.js +1 -0
  26. package/dist/es/interfaces/GridColumnProps.js +1 -0
  27. package/dist/es/interfaces/GridDetailRowProps.js +1 -0
  28. package/dist/es/interfaces/GridFilterCellProps.js +1 -0
  29. package/dist/es/interfaces/GridFilterOperator.js +1 -0
  30. package/dist/es/interfaces/GridFilterOperators.js +1 -0
  31. package/dist/es/interfaces/GridFooterCellProps.js +1 -0
  32. package/dist/es/interfaces/GridGroupableSettings.js +1 -0
  33. package/dist/es/interfaces/GridHeaderCellProps.js +1 -0
  34. package/dist/es/interfaces/GridHeaderSelectionCellProps.js +1 -0
  35. package/dist/es/interfaces/GridNoRecordsProps.js +1 -0
  36. package/dist/es/interfaces/GridProps.js +1 -0
  37. package/dist/es/interfaces/GridRowProps.js +1 -0
  38. package/dist/es/interfaces/GridRowType.js +1 -0
  39. package/dist/es/interfaces/GridSortSettings.js +9 -7
  40. package/dist/es/interfaces/GridToolbarProps.js +1 -0
  41. package/dist/es/interfaces/events.js +1 -0
  42. package/dist/es/package-metadata.js +1 -1
  43. package/dist/es/rows/GridDetailRow.d.ts +2 -1
  44. package/dist/es/utils/index.js +4 -4
  45. package/dist/esm/Grid.d.ts +180 -0
  46. package/dist/esm/Grid.js +2086 -0
  47. package/dist/esm/GridNav.d.ts +46 -0
  48. package/dist/esm/GridNav.js +112 -0
  49. package/dist/esm/GridNoRecords.d.ts +51 -0
  50. package/dist/esm/GridNoRecords.js +83 -0
  51. package/dist/esm/GridToolbar.d.ts +58 -0
  52. package/dist/esm/GridToolbar.js +77 -0
  53. package/dist/esm/ScrollMode.d.ts +1 -0
  54. package/dist/esm/ScrollMode.js +1 -0
  55. package/dist/esm/VirtualScroll.d.ts +41 -0
  56. package/dist/esm/VirtualScroll.js +217 -0
  57. package/dist/esm/additionalTypes.ts +21 -0
  58. package/dist/esm/cells/GridCell.d.ts +30 -0
  59. package/dist/esm/cells/GridCell.js +161 -0
  60. package/dist/esm/cells/GridDetailCell.d.ts +29 -0
  61. package/dist/esm/cells/GridDetailCell.js +82 -0
  62. package/dist/esm/cells/GridDetailHierarchyCell.d.ts +24 -0
  63. package/dist/esm/cells/GridDetailHierarchyCell.js +53 -0
  64. package/dist/esm/cells/GridEditCell.d.ts +40 -0
  65. package/dist/esm/cells/GridEditCell.js +312 -0
  66. package/dist/esm/cells/GridFilterCell.d.ts +26 -0
  67. package/dist/esm/cells/GridFilterCell.js +259 -0
  68. package/dist/esm/cells/GridGroupCell.d.ts +23 -0
  69. package/dist/esm/cells/GridGroupCell.js +179 -0
  70. package/dist/esm/cells/GridHierarchyCell.d.ts +23 -0
  71. package/dist/esm/cells/GridHierarchyCell.js +162 -0
  72. package/dist/esm/cells/GridSelectionCell.d.ts +34 -0
  73. package/dist/esm/cells/GridSelectionCell.js +138 -0
  74. package/dist/esm/columnMenu/ColumnMenu.d.ts +56 -0
  75. package/dist/esm/columnMenu/ColumnMenu.js +252 -0
  76. package/dist/esm/columnMenu/ColumnMenuContent.d.ts +33 -0
  77. package/dist/esm/columnMenu/ColumnMenuContent.js +123 -0
  78. package/dist/esm/columnMenu/GridColumnMenuCheckboxFilter.d.ts +86 -0
  79. package/dist/esm/columnMenu/GridColumnMenuCheckboxFilter.js +709 -0
  80. package/dist/esm/columnMenu/GridColumnMenuFilter.d.ts +339 -0
  81. package/dist/esm/columnMenu/GridColumnMenuFilter.js +1079 -0
  82. package/dist/esm/columnMenu/GridColumnMenuFilterCell.d.ts +45 -0
  83. package/dist/esm/columnMenu/GridColumnMenuFilterCell.js +152 -0
  84. package/dist/esm/columnMenu/GridColumnMenuFilterOperators.d.ts +36 -0
  85. package/dist/esm/columnMenu/GridColumnMenuFilterOperators.js +68 -0
  86. package/dist/esm/columnMenu/GridColumnMenuFilterUI.d.ts +24 -0
  87. package/dist/esm/columnMenu/GridColumnMenuFilterUI.js +155 -0
  88. package/dist/esm/columnMenu/GridColumnMenuItem.d.ts +42 -0
  89. package/dist/esm/columnMenu/GridColumnMenuItem.js +63 -0
  90. package/dist/esm/columnMenu/GridColumnMenuItemContent.d.ts +34 -0
  91. package/dist/esm/columnMenu/GridColumnMenuItemContent.js +51 -0
  92. package/dist/esm/columnMenu/GridColumnMenuItemGroup.d.ts +19 -0
  93. package/dist/esm/columnMenu/GridColumnMenuItemGroup.js +33 -0
  94. package/dist/esm/columnMenu/GridColumnMenuSort.d.ts +283 -0
  95. package/dist/esm/columnMenu/GridColumnMenuSort.js +375 -0
  96. package/dist/esm/drag/ColumnDraggable.d.ts +43 -0
  97. package/dist/esm/drag/ColumnDraggable.js +73 -0
  98. package/dist/esm/drag/ColumnResize.d.ts +31 -0
  99. package/dist/esm/drag/ColumnResize.js +126 -0
  100. package/dist/esm/drag/ColumnResizer.d.ts +40 -0
  101. package/dist/esm/drag/ColumnResizer.js +89 -0
  102. package/dist/esm/drag/CommonDragLogic.d.ts +35 -0
  103. package/dist/esm/drag/CommonDragLogic.js +177 -0
  104. package/dist/esm/drag/DragClue.d.ts +25 -0
  105. package/dist/esm/drag/DragClue.js +52 -0
  106. package/dist/esm/drag/DropClue.d.ts +24 -0
  107. package/dist/esm/drag/DropClue.js +46 -0
  108. package/dist/esm/drag/GroupingIndicator.d.ts +51 -0
  109. package/dist/esm/drag/GroupingIndicator.js +153 -0
  110. package/dist/esm/filterCommon.d.ts +75 -0
  111. package/dist/esm/filterCommon.js +156 -0
  112. package/dist/esm/footer/Footer.d.ts +52 -0
  113. package/dist/esm/footer/Footer.js +103 -0
  114. package/dist/esm/footer/FooterRow.d.ts +30 -0
  115. package/dist/esm/footer/FooterRow.js +73 -0
  116. package/dist/esm/header/FilterRow.d.ts +36 -0
  117. package/dist/esm/header/FilterRow.js +203 -0
  118. package/dist/esm/header/GridHeaderCell.d.ts +21 -0
  119. package/dist/esm/header/GridHeaderCell.js +60 -0
  120. package/dist/esm/header/GridHeaderSelectionCell.d.ts +32 -0
  121. package/dist/esm/header/GridHeaderSelectionCell.js +81 -0
  122. package/dist/esm/header/GroupPanel.d.ts +38 -0
  123. package/dist/esm/header/GroupPanel.js +108 -0
  124. package/dist/esm/header/Header.d.ts +64 -0
  125. package/dist/esm/header/Header.js +123 -0
  126. package/dist/esm/header/HeaderRow.d.ts +86 -0
  127. package/dist/esm/header/HeaderRow.js +517 -0
  128. package/dist/esm/interfaces/ExtendedColumnProps.d.ts +20 -0
  129. package/dist/esm/interfaces/ExtendedColumnProps.js +1 -0
  130. package/dist/esm/interfaces/GridCellProps.d.ts +156 -0
  131. package/dist/esm/interfaces/GridCellProps.js +1 -0
  132. package/dist/esm/interfaces/GridColumnMenuColumnProps.d.ts +13 -0
  133. package/dist/esm/interfaces/GridColumnMenuColumnProps.js +1 -0
  134. package/dist/esm/interfaces/GridColumnMenuExtendedFilterProps.d.ts +42 -0
  135. package/dist/esm/interfaces/GridColumnMenuExtendedFilterProps.js +1 -0
  136. package/dist/esm/interfaces/GridColumnMenuFilterBaseProps.d.ts +49 -0
  137. package/dist/esm/interfaces/GridColumnMenuFilterBaseProps.js +1 -0
  138. package/dist/esm/interfaces/GridColumnMenuFilterProps.d.ts +27 -0
  139. package/dist/esm/interfaces/GridColumnMenuFilterProps.js +1 -0
  140. package/dist/esm/interfaces/GridColumnMenuFilterUIProps.d.ts +55 -0
  141. package/dist/esm/interfaces/GridColumnMenuFilterUIProps.js +1 -0
  142. package/dist/esm/interfaces/GridColumnMenuProps.d.ts +19 -0
  143. package/dist/esm/interfaces/GridColumnMenuProps.js +1 -0
  144. package/dist/esm/interfaces/GridColumnMenuSortBaseProps.d.ts +28 -0
  145. package/dist/esm/interfaces/GridColumnMenuSortBaseProps.js +1 -0
  146. package/dist/esm/interfaces/GridColumnProps.d.ts +147 -0
  147. package/dist/esm/interfaces/GridColumnProps.js +1 -0
  148. package/dist/esm/interfaces/GridDetailRowProps.d.ts +9 -0
  149. package/dist/esm/interfaces/GridDetailRowProps.js +1 -0
  150. package/dist/esm/interfaces/GridFilterCellProps.d.ts +64 -0
  151. package/dist/esm/interfaces/GridFilterCellProps.js +1 -0
  152. package/dist/esm/interfaces/GridFilterOperator.d.ts +7 -0
  153. package/dist/esm/interfaces/GridFilterOperator.js +1 -0
  154. package/dist/esm/interfaces/GridFilterOperators.d.ts +49 -0
  155. package/dist/esm/interfaces/GridFilterOperators.js +1 -0
  156. package/dist/esm/interfaces/GridFooterCellProps.d.ts +7 -0
  157. package/dist/esm/interfaces/GridFooterCellProps.js +1 -0
  158. package/dist/esm/interfaces/GridGroupableSettings.d.ts +15 -0
  159. package/dist/esm/interfaces/GridGroupableSettings.js +1 -0
  160. package/dist/esm/interfaces/GridHeaderCellProps.d.ts +37 -0
  161. package/dist/esm/interfaces/GridHeaderCellProps.js +1 -0
  162. package/dist/esm/interfaces/GridHeaderSelectionCellProps.d.ts +17 -0
  163. package/dist/esm/interfaces/GridHeaderSelectionCellProps.js +1 -0
  164. package/dist/esm/interfaces/GridNoRecordsProps.d.ts +9 -0
  165. package/dist/esm/interfaces/GridNoRecordsProps.js +1 -0
  166. package/dist/esm/interfaces/GridProps.d.ts +311 -0
  167. package/dist/esm/interfaces/GridProps.js +1 -0
  168. package/dist/esm/interfaces/GridRowProps.d.ts +55 -0
  169. package/dist/esm/interfaces/GridRowProps.js +1 -0
  170. package/dist/esm/interfaces/GridRowType.d.ts +9 -0
  171. package/dist/esm/interfaces/GridRowType.js +1 -0
  172. package/dist/esm/interfaces/GridSortSettings.d.ts +26 -0
  173. package/dist/esm/interfaces/GridSortSettings.js +20 -0
  174. package/dist/esm/interfaces/GridToolbarProps.d.ts +9 -0
  175. package/dist/esm/interfaces/GridToolbarProps.js +1 -0
  176. package/dist/esm/interfaces/events.d.ts +248 -0
  177. package/dist/esm/interfaces/events.js +1 -0
  178. package/dist/esm/main.d.ts +38 -0
  179. package/dist/esm/main.js +31 -0
  180. package/dist/esm/messages/index.d.ts +150 -0
  181. package/dist/esm/messages/index.js +151 -0
  182. package/dist/esm/package-metadata.d.ts +5 -0
  183. package/dist/esm/package-metadata.js +11 -0
  184. package/dist/esm/package.json +3 -0
  185. package/dist/esm/rows/GridDetailRow.d.ts +16 -0
  186. package/dist/esm/rows/GridDetailRow.js +29 -0
  187. package/dist/esm/rows/GridRow.d.ts +28 -0
  188. package/dist/esm/rows/GridRow.js +84 -0
  189. package/dist/esm/utils/browser-support.service.d.ts +7 -0
  190. package/dist/esm/utils/browser-support.service.js +26 -0
  191. package/dist/esm/utils/index.d.ts +91 -0
  192. package/dist/esm/utils/index.js +393 -0
  193. package/dist/npm/Grid.js +66 -70
  194. package/dist/npm/GridNav.js +1 -1
  195. package/dist/npm/GridNoRecords.js +2 -2
  196. package/dist/npm/GridToolbar.js +1 -1
  197. package/dist/npm/cells/GridCell.js +2 -2
  198. package/dist/npm/cells/GridEditCell.js +2 -2
  199. package/dist/npm/cells/GridFilterCell.js +4 -4
  200. package/dist/npm/cells/GridHierarchyCell.js +1 -1
  201. package/dist/npm/cells/GridSelectionCell.js +2 -2
  202. package/dist/npm/columnMenu/ColumnMenu.js +5 -5
  203. package/dist/npm/columnMenu/GridColumnMenuCheckboxFilter.js +14 -18
  204. package/dist/npm/columnMenu/GridColumnMenuFilter.js +445 -125
  205. package/dist/npm/columnMenu/GridColumnMenuFilterCell.js +79 -102
  206. package/dist/npm/columnMenu/GridColumnMenuFilterOperators.d.ts +36 -0
  207. package/dist/npm/columnMenu/GridColumnMenuFilterOperators.js +79 -0
  208. package/dist/npm/columnMenu/GridColumnMenuItem.js +2 -2
  209. package/dist/npm/columnMenu/GridColumnMenuItemContent.js +1 -1
  210. package/dist/npm/columnMenu/GridColumnMenuItemGroup.js +1 -1
  211. package/dist/npm/columnMenu/GridColumnMenuSort.js +5 -4
  212. package/dist/npm/drag/ColumnDraggable.js +1 -1
  213. package/dist/npm/drag/CommonDragLogic.js +2 -2
  214. package/dist/npm/drag/GroupingIndicator.js +3 -3
  215. package/dist/npm/filterCommon.d.ts +1 -1
  216. package/dist/npm/filterCommon.js +19 -12
  217. package/dist/npm/footer/Footer.js +6 -6
  218. package/dist/npm/footer/FooterRow.js +2 -2
  219. package/dist/npm/header/FilterRow.js +7 -7
  220. package/dist/npm/header/GridHeaderCell.js +1 -1
  221. package/dist/npm/header/GridHeaderSelectionCell.js +1 -1
  222. package/dist/npm/header/GroupPanel.js +1 -1
  223. package/dist/npm/header/Header.js +8 -8
  224. package/dist/npm/header/HeaderRow.js +2 -2
  225. package/dist/npm/interfaces/GridSortSettings.js +11 -8
  226. package/dist/npm/main.js +6 -2
  227. package/dist/npm/package-metadata.js +1 -1
  228. package/dist/npm/rows/GridDetailRow.d.ts +2 -1
  229. package/dist/npm/rows/GridRow.js +2 -2
  230. package/dist/npm/utils/index.js +6 -5
  231. package/package.json +20 -14
@@ -0,0 +1,312 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ var inject = allVue.inject;
7
+ import { getNestedValue } from './../utils.js';
8
+ import { guid, getTemplate, noop } from '@progress/kendo-vue-common';
9
+ import { NumericTextBox } from '@progress/kendo-vue-inputs';
10
+ import { DatePicker } from '@progress/kendo-vue-dateinputs';
11
+ import { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '@progress/kendo-vue-data-tools';
12
+ /**
13
+ * @hidden
14
+ */
15
+
16
+ var GridEditCellVue2 = {
17
+ props: {
18
+ id: String,
19
+ field: String,
20
+ dataItem: Object,
21
+ format: String,
22
+ type: String,
23
+ className: String,
24
+ colSpan: Number,
25
+ columnIndex: Number,
26
+ columnsCount: Number,
27
+ rowType: String,
28
+ level: Number,
29
+ expanded: Boolean,
30
+ editor: String,
31
+ isSelected: Boolean,
32
+ ariaColumnIndex: Number,
33
+ render: [String, Function, Object]
34
+ },
35
+ // @ts-ignore
36
+ emits: {
37
+ change: null,
38
+ cellkeydown: null,
39
+ edit: null,
40
+ add: null,
41
+ cancel: null,
42
+ save: null,
43
+ remove: null
44
+ },
45
+ inject: {
46
+ kendoIntlService: {
47
+ default: null
48
+ },
49
+ getKeyboardNavigationAttributes: {
50
+ default: noop
51
+ }
52
+ },
53
+ data: function data() {
54
+ return {
55
+ inputId: guid()
56
+ };
57
+ },
58
+ methods: {
59
+ triggerKeydown: function triggerKeydown(e) {
60
+ this.$emit('cellkeydown', {
61
+ event: e,
62
+ dataItem: this.$props.dataItem,
63
+ field: this.$props.field
64
+ });
65
+ },
66
+ triggerEdit: function triggerEdit(dataItem) {
67
+ this.$emit('edit', dataItem);
68
+ },
69
+ triggerAdd: function triggerAdd(dataItem) {
70
+ this.$emit('add', dataItem);
71
+ },
72
+ triggerCancel: function triggerCancel(dataItem) {
73
+ this.$emit('cancel', dataItem);
74
+ },
75
+ triggerSave: function triggerSave(dataItem) {
76
+ this.$emit('save', dataItem);
77
+ },
78
+ triggerRemove: function triggerRemove(dataItem) {
79
+ this.$emit('remove', dataItem);
80
+ },
81
+ changeHandler: function changeHandler(event, value) {
82
+ if (!value) {
83
+ if (event.target.type === 'checkbox') {
84
+ value = event.target.checked;
85
+ } else {
86
+ value = event.target.valueAsDate ? event.target.valueAsDate : event.target.value;
87
+ }
88
+ }
89
+
90
+ this.$emit('change', {
91
+ dataItem: this.$props.dataItem,
92
+ field: this.$props.field,
93
+ event: event,
94
+ value: value
95
+ });
96
+ }
97
+ },
98
+ // @ts-ignore
99
+ setup: !isV3 ? undefined : function () {
100
+ var v3 = !!isV3;
101
+ var kendoIntlService = inject('kendoIntlService', {});
102
+ return {
103
+ v3: v3,
104
+ kendoIntlService: kendoIntlService
105
+ };
106
+ },
107
+ // @ts-ignore
108
+ render: function render(createElement) {
109
+ var h = gh || createElement;
110
+ var data = getNestedValue(this.$props.field, this.$props.dataItem);
111
+ var navAttrs = this.getKeyboardNavigationAttributes(this.$props.id);
112
+ var defaultRendering = null;
113
+
114
+ switch (this.$props.editor) {
115
+ case 'numeric':
116
+ defaultRendering = h("td", {
117
+ onKeydown: this.triggerKeydown,
118
+ on: this.v3 ? undefined : {
119
+ "keydown": this.triggerKeydown
120
+ },
121
+ colspan: this.$props.colSpan,
122
+ attrs: this.v3 ? undefined : {
123
+ colspan: this.$props.colSpan,
124
+ role: 'gridcell',
125
+ "aria-colindex": this.$props.ariaColumnIndex,
126
+ "aria-selected": this.$props.isSelected,
127
+ "data-grid-col-index": this.$props.columnIndex,
128
+ tabindex: navAttrs.tabIndex,
129
+ "data-keyboardnavlevel": navAttrs[KEYBOARD_NAV_DATA_LEVEL],
130
+ "data-keyboardnavid": navAttrs[KEYBOARD_NAV_DATA_ID]
131
+ },
132
+ "class": this.$props.className,
133
+ role: 'gridcell',
134
+ "aria-colindex": this.$props.ariaColumnIndex,
135
+ "aria-selected": this.$props.isSelected,
136
+ "data-grid-col-index": this.$props.columnIndex,
137
+ tabindex: navAttrs.tabIndex,
138
+ "data-keyboardnavlevel": navAttrs[KEYBOARD_NAV_DATA_LEVEL],
139
+ "data-keyboardnavid": navAttrs[KEYBOARD_NAV_DATA_ID]
140
+ }, [// @ts-ignore
141
+ h(NumericTextBox, {
142
+ style: {
143
+ width: '100%'
144
+ },
145
+ value: data === undefined ? null : data,
146
+ attrs: this.v3 ? undefined : {
147
+ value: data === undefined ? null : data
148
+ },
149
+ onChange: this.changeHandler,
150
+ on: this.v3 ? undefined : {
151
+ "change": this.changeHandler
152
+ }
153
+ })]);
154
+ break;
155
+
156
+ case 'date':
157
+ defaultRendering = h("td", {
158
+ onKeydown: this.triggerKeydown,
159
+ on: this.v3 ? undefined : {
160
+ "keydown": this.triggerKeydown
161
+ },
162
+ colspan: this.$props.colSpan,
163
+ attrs: this.v3 ? undefined : {
164
+ colspan: this.$props.colSpan,
165
+ role: 'gridcell',
166
+ "aria-colindex": this.$props.ariaColumnIndex,
167
+ "aria-selected": this.$props.isSelected,
168
+ "data-grid-col-index": this.$props.columnIndex,
169
+ tabindex: navAttrs.tabIndex,
170
+ "data-keyboardnavlevel": navAttrs[KEYBOARD_NAV_DATA_LEVEL],
171
+ "data-keyboardnavid": navAttrs[KEYBOARD_NAV_DATA_ID]
172
+ },
173
+ "class": this.$props.className,
174
+ role: 'gridcell',
175
+ "aria-colindex": this.$props.ariaColumnIndex,
176
+ "aria-selected": this.$props.isSelected,
177
+ "data-grid-col-index": this.$props.columnIndex,
178
+ tabindex: navAttrs.tabIndex,
179
+ "data-keyboardnavlevel": navAttrs[KEYBOARD_NAV_DATA_LEVEL],
180
+ "data-keyboardnavid": navAttrs[KEYBOARD_NAV_DATA_ID]
181
+ }, [// @ts-ignore
182
+ h(DatePicker, {
183
+ style: {
184
+ width: '100%'
185
+ },
186
+ value: data,
187
+ attrs: this.v3 ? undefined : {
188
+ value: data
189
+ },
190
+ onChange: this.changeHandler,
191
+ on: this.v3 ? undefined : {
192
+ "change": this.changeHandler
193
+ }
194
+ })]);
195
+ break;
196
+
197
+ case 'boolean':
198
+ defaultRendering = h("td", {
199
+ onKeydown: this.triggerKeydown,
200
+ on: this.v3 ? undefined : {
201
+ "keydown": this.triggerKeydown
202
+ },
203
+ colspan: this.$props.colSpan,
204
+ attrs: this.v3 ? undefined : {
205
+ colspan: this.$props.colSpan,
206
+ role: 'gridcell',
207
+ "aria-colindex": this.$props.ariaColumnIndex,
208
+ "aria-selected": this.$props.isSelected,
209
+ "data-grid-col-index": this.$props.columnIndex,
210
+ tabindex: navAttrs.tabIndex,
211
+ "data-keyboardnavlevel": navAttrs[KEYBOARD_NAV_DATA_LEVEL],
212
+ "data-keyboardnavid": navAttrs[KEYBOARD_NAV_DATA_ID]
213
+ },
214
+ "class": this.$props.className,
215
+ role: 'gridcell',
216
+ "aria-colindex": this.$props.ariaColumnIndex,
217
+ "aria-selected": this.$props.isSelected,
218
+ "data-grid-col-index": this.$props.columnIndex,
219
+ tabindex: navAttrs.tabIndex,
220
+ "data-keyboardnavlevel": navAttrs[KEYBOARD_NAV_DATA_LEVEL],
221
+ "data-keyboardnavid": navAttrs[KEYBOARD_NAV_DATA_ID]
222
+ }, [h("input", {
223
+ checked: this.v3 ? data || false : null,
224
+ domProps: this.v3 ? undefined : {
225
+ "checked": data || false
226
+ },
227
+ id: this.inputId,
228
+ attrs: this.v3 ? undefined : {
229
+ id: this.inputId,
230
+ type: "checkbox"
231
+ },
232
+ type: "checkbox",
233
+ "class": "k-checkbox k-checkbox-md k-rounded-md",
234
+ onChange: this.changeHandler,
235
+ on: this.v3 ? undefined : {
236
+ "change": this.changeHandler
237
+ }
238
+ }), h("label", {
239
+ "class": "k-checkbox-label",
240
+ "for": this.inputId,
241
+ attrs: this.v3 ? undefined : {
242
+ "for": this.inputId
243
+ }
244
+ })]);
245
+ break;
246
+
247
+ default:
248
+ defaultRendering = h("td", {
249
+ onKeydown: this.triggerKeydown,
250
+ on: this.v3 ? undefined : {
251
+ "keydown": this.triggerKeydown
252
+ },
253
+ colspan: this.$props.colSpan,
254
+ attrs: this.v3 ? undefined : {
255
+ colspan: this.$props.colSpan,
256
+ role: 'gridcell',
257
+ "aria-colindex": this.$props.ariaColumnIndex,
258
+ "aria-selected": this.$props.isSelected,
259
+ "data-grid-col-index": this.$props.columnIndex,
260
+ tabindex: navAttrs.tabIndex,
261
+ "data-keyboardnavlevel": navAttrs[KEYBOARD_NAV_DATA_LEVEL],
262
+ "data-keyboardnavid": navAttrs[KEYBOARD_NAV_DATA_ID]
263
+ },
264
+ "class": this.$props.className,
265
+ role: 'gridcell',
266
+ "aria-colindex": this.$props.ariaColumnIndex,
267
+ "aria-selected": this.$props.isSelected,
268
+ "data-grid-col-index": this.$props.columnIndex,
269
+ tabindex: navAttrs.tabIndex,
270
+ "data-keyboardnavlevel": navAttrs[KEYBOARD_NAV_DATA_LEVEL],
271
+ "data-keyboardnavid": navAttrs[KEYBOARD_NAV_DATA_ID]
272
+ }, [h("span", {
273
+ "class": "k-textbox k-input k-input-md k-rounded-md k-input-solid"
274
+ }, [h("input", {
275
+ style: {
276
+ width: '100%'
277
+ },
278
+ "class": "k-input-inner",
279
+ value: this.v3 ? data !== null && data !== void 0 ? data : '' : null,
280
+ domProps: this.v3 ? undefined : {
281
+ "value": data !== null && data !== void 0 ? data : ''
282
+ },
283
+ onChange: this.changeHandler,
284
+ on: this.v3 ? undefined : {
285
+ "change": this.changeHandler
286
+ }
287
+ })])]);
288
+ }
289
+
290
+ return getTemplate.call(this, {
291
+ h: h,
292
+ template: this.$props.render,
293
+ defaultRendering: defaultRendering,
294
+ additionalProps: this.$props,
295
+ additionalListeners: {
296
+ change: this.changeHandler,
297
+ keydown: this.triggerKeydown,
298
+ edit: this.triggerEdit,
299
+ add: this.triggerAdd,
300
+ cancel: this.triggerCancel,
301
+ save: this.triggerSave,
302
+ remove: this.triggerRemove
303
+ }
304
+ });
305
+ }
306
+ };
307
+ /**
308
+ * @hidden
309
+ */
310
+
311
+ var GridEditCell = GridEditCellVue2;
312
+ export { GridEditCell, GridEditCellVue2 };
@@ -0,0 +1,26 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { GridFilterCellProps } from '../interfaces/GridFilterCellProps';
7
+ /**
8
+ * @hidden
9
+ */
10
+ export interface GridFilterCellMethods extends Vue2type {
11
+ triggerClick: () => void;
12
+ inputChange: (value: any, e: any) => void;
13
+ operatorChange: (operatorValue: any, e: any) => void;
14
+ boolDropdownChange: (value: any, e: any) => void;
15
+ clear: (e: any) => void;
16
+ triggerChange: (filter: any) => void;
17
+ }
18
+ /**
19
+ * @hidden
20
+ */
21
+ declare let GridFilterCellVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<GridFilterCellMethods>, {}, RecordPropsDefinition<GridFilterCellProps>>;
22
+ /**
23
+ * @hidden
24
+ */
25
+ declare const GridFilterCell: DefineComponent<GridFilterCellProps, any, {}, {}, GridFilterCellMethods, {}, {}, {}, string, GridFilterCellProps, GridFilterCellProps, {}>;
26
+ export { GridFilterCell, GridFilterCellVue2 };
@@ -0,0 +1,259 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ var inject = allVue.inject;
7
+ import { Button } from '@progress/kendo-vue-buttons';
8
+ import { messages, filterClearButton, filterChooseOperator } from '../messages.js';
9
+ import { DropDownList } from '@progress/kendo-vue-dropdowns';
10
+ import { NumericTextBox } from '@progress/kendo-vue-inputs';
11
+ import { DatePicker } from '@progress/kendo-vue-dateinputs';
12
+ import { provideLocalizationService } from '@progress/kendo-vue-intl';
13
+ import { cellBoolDropdownChange, cellInputChange, cellOperatorChange } from '../filterCommon.js';
14
+ import { templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';
15
+ /**
16
+ * @hidden
17
+ */
18
+
19
+ var GridFilterCellVue2 = {
20
+ name: 'KendoGridFilterCell',
21
+ props: {
22
+ id: String,
23
+ grid: Object,
24
+ field: String,
25
+ filterType: String,
26
+ colSpan: Number,
27
+ title: String,
28
+ value: [String, Number, Boolean, Date],
29
+ operator: [String, Function],
30
+ operators: Array,
31
+ booleanValues: Array,
32
+ onChange: Function,
33
+ render: [String, Function, Object]
34
+ },
35
+ inject: {
36
+ kendoLocalizationService: {
37
+ default: null
38
+ },
39
+ kendoIntlService: {
40
+ default: null
41
+ }
42
+ },
43
+ methods: {
44
+ inputChange: function inputChange(value, e) {
45
+ var filter = cellInputChange(value, e, this.$props);
46
+ this.triggerChange(filter);
47
+ },
48
+ operatorChange: function operatorChange(operatorValue, e) {
49
+ var filter = cellOperatorChange(operatorValue.value.operator, e, this.$props.value);
50
+ this.triggerChange(filter);
51
+ },
52
+ boolDropdownChange: function boolDropdownChange(value, e) {
53
+ var filter = cellBoolDropdownChange(value.value.operator, e);
54
+ this.triggerChange(filter);
55
+ },
56
+ clear: function clear(e) {
57
+ e.preventDefault();
58
+ this.triggerChange({
59
+ value: '',
60
+ operator: '',
61
+ event: e
62
+ });
63
+ },
64
+ triggerChange: function triggerChange(filter) {
65
+ filter.field = this.$props.field;
66
+ this.$emit('change', filter);
67
+ }
68
+ },
69
+ // @ts-ignore
70
+ setup: !isV3 ? undefined : function () {
71
+ var v3 = !!isV3;
72
+ var kendoIntlService = inject('kendoIntlService', {});
73
+ var kendoLocalizationService = inject('kendoLocalizationService', {});
74
+ return {
75
+ v3: v3,
76
+ kendoIntlService: kendoIntlService,
77
+ kendoLocalizationService: kendoLocalizationService
78
+ };
79
+ },
80
+ // @ts-ignore
81
+ render: function render(createElement) {
82
+ var _this = this;
83
+
84
+ var h = gh || createElement;
85
+ var localizationService = provideLocalizationService(this);
86
+ var selectedOperator = this.$props.operators.find(function (item) {
87
+ return item.operator === _this.$props.operator;
88
+ }) || null;
89
+
90
+ var renderOperatorEditor = function renderOperatorEditor() {
91
+ if (this.$props.filterType === 'boolean') {
92
+ return;
93
+ }
94
+
95
+ return (// @ts-ignore
96
+ h(DropDownList, {
97
+ onChange: this.operatorChange,
98
+ on: this.v3 ? undefined : {
99
+ "change": this.operatorChange
100
+ },
101
+ value: selectedOperator,
102
+ attrs: this.v3 ? undefined : {
103
+ value: selectedOperator,
104
+ iconClassName: "k-i-filter k-icon",
105
+ "data-items": this.$props.operators,
106
+ textField: "text",
107
+ title: localizationService.toLanguageString(filterChooseOperator, messages[filterChooseOperator]),
108
+ popupSettings: {
109
+ width: ''
110
+ }
111
+ },
112
+ "class": "k-dropdown-operator",
113
+ iconClassName: "k-i-filter k-icon",
114
+ "data-items": this.$props.operators,
115
+ textField: "text",
116
+ title: localizationService.toLanguageString(filterChooseOperator, messages[filterChooseOperator]),
117
+ popupSettings: {
118
+ width: ''
119
+ }
120
+ })
121
+ );
122
+ };
123
+
124
+ var filterComponent = function filterComponent(filterType, value) {
125
+ var _this = this;
126
+
127
+ switch (filterType) {
128
+ case 'numeric':
129
+ return (// @ts-ignore
130
+ h(NumericTextBox, {
131
+ value: value,
132
+ attrs: this.v3 ? undefined : {
133
+ value: value,
134
+ title: this.$props.title
135
+ },
136
+ onChange: function onChange(e) {
137
+ _this.inputChange(e.value, e.event);
138
+ },
139
+ on: this.v3 ? undefined : {
140
+ "change": function onChange(e) {
141
+ _this.inputChange(e.value, e.event);
142
+ }
143
+ },
144
+ title: this.$props.title
145
+ })
146
+ );
147
+
148
+ case 'date':
149
+ return (// @ts-ignore
150
+ h(DatePicker, {
151
+ value: value,
152
+ attrs: this.v3 ? undefined : {
153
+ value: value,
154
+ title: this.$props.title
155
+ },
156
+ onChange: function onChange(e) {
157
+ _this.inputChange(e.value, e);
158
+ },
159
+ on: this.v3 ? undefined : {
160
+ "change": function onChange(e) {
161
+ _this.inputChange(e.value, e);
162
+ }
163
+ },
164
+ title: this.$props.title
165
+ })
166
+ );
167
+
168
+ case 'boolean':
169
+ var booleanValues = this.$props.booleanValues;
170
+ return (// @ts-ignore
171
+ h(DropDownList, {
172
+ onChange: this.boolDropdownChange,
173
+ on: this.v3 ? undefined : {
174
+ "change": this.boolDropdownChange
175
+ },
176
+ value: booleanValues.find(function (item) {
177
+ return item.operator === (value || '');
178
+ }),
179
+ attrs: this.v3 ? undefined : {
180
+ value: booleanValues.find(function (item) {
181
+ return item.operator === (value || '');
182
+ }),
183
+ "data-items": booleanValues,
184
+ textField: "text",
185
+ title: this.$props.title
186
+ },
187
+ "data-items": booleanValues,
188
+ textField: "text",
189
+ title: this.$props.title
190
+ })
191
+ );
192
+
193
+ default:
194
+ return h("span", {
195
+ "class": "k-textbox k-input k-input-md k-rounded-md k-input-solid"
196
+ }, [h("input", {
197
+ "class": "k-input-inner",
198
+ value: this.v3 ? value || '' : null,
199
+ domProps: this.v3 ? undefined : {
200
+ "value": value || ''
201
+ },
202
+ onInput: function onInput(e) {
203
+ _this.inputChange(e.target.value, e);
204
+ },
205
+ on: this.v3 ? undefined : {
206
+ "input": function onInput(e) {
207
+ _this.inputChange(e.target.value, e);
208
+ }
209
+ },
210
+ title: this.$props.title,
211
+ attrs: this.v3 ? undefined : {
212
+ title: this.$props.title
213
+ }
214
+ })]);
215
+ }
216
+ };
217
+
218
+ var defaultRendering = h("div", {
219
+ "class": "k-filtercell"
220
+ }, [h("div", {
221
+ "class": "k-filtercell-wrapper"
222
+ }, [filterComponent.call(this, this.$props.filterType, this.$props.value), renderOperatorEditor.call(this), // @ts-ignore function children
223
+ h(Button, {
224
+ type: "button",
225
+ attrs: this.v3 ? undefined : {
226
+ type: "button",
227
+ icon: 'filter-clear',
228
+ title: localizationService.toLanguageString(filterClearButton, messages[filterClearButton])
229
+ },
230
+ icon: 'filter-clear',
231
+ "class": {
232
+ /* button is always visible if there is either value or operator */
233
+ 'k-disabled': !(!(this.$props.value === null || this.$props.value === '') || this.$props.operator)
234
+ },
235
+ title: localizationService.toLanguageString(filterClearButton, messages[filterClearButton]),
236
+ onClick: this.clear,
237
+ on: this.v3 ? undefined : {
238
+ "click": this.clear
239
+ }
240
+ })])]);
241
+ var gridListeners = this.$props.grid ? getListeners.call(this.$props.grid) : null;
242
+ var cellRenderFunction = templateRendering.call(this.$props.grid, this.$props.render, gridListeners);
243
+ return getTemplate.call(this, {
244
+ h: h,
245
+ template: cellRenderFunction,
246
+ defaultRendering: defaultRendering,
247
+ additionalProps: this.$props,
248
+ additionalListeners: {
249
+ change: this.triggerChange
250
+ }
251
+ });
252
+ }
253
+ };
254
+ /**
255
+ * @hidden
256
+ */
257
+
258
+ var GridFilterCell = GridFilterCellVue2;
259
+ export { GridFilterCell, GridFilterCellVue2 };
@@ -0,0 +1,23 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ import { GridCellProps } from '../interfaces/GridCellProps';
3
+ declare type DefaultData<V> = object | ((this: V) => {});
4
+ declare type DefaultMethods<V> = {
5
+ [key: string]: (this: V, ...args: any[]) => any;
6
+ };
7
+ /**
8
+ * @hidden
9
+ */
10
+ export interface GridGroupCellMethods extends Vue2type {
11
+ triggerKeydown: (e: any, expanded: boolean | undefined) => void;
12
+ clickHandler: (e: any, dataItem: any, expanded: boolean | undefined) => void;
13
+ getKeyboardNavigationAttributes: (id: string) => any;
14
+ }
15
+ /**
16
+ * @hidden
17
+ */
18
+ declare let GridGroupCellVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<GridGroupCellMethods>, {}, RecordPropsDefinition<GridCellProps>>;
19
+ /**
20
+ * @hidden
21
+ */
22
+ declare const GridGroupCell: DefineComponent<GridCellProps, any, {}, {}, GridGroupCellMethods, {}, {}, {}, string, GridCellProps, GridCellProps, {}>;
23
+ export { GridGroupCell, GridGroupCellVue2 };