@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,339 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => GridColumnMenuFilterData);
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { CompositeFilterDescriptor } from '@progress/kendo-data-query';
7
+ import { GridColumnMenuFilterBaseProps } from '../interfaces/GridColumnMenuFilterBaseProps';
8
+ /**
9
+ * @hidden
10
+ */
11
+ export declare const rootFilterOrDefault: (rootFilter: CompositeFilterDescriptor | undefined) => CompositeFilterDescriptor;
12
+ /**
13
+ * Can be used to check if filtering is applied to a specific field ([see example]({% slug column_menu_grid %}#toc-styling-the-column-menu-icon)). Useful for creating active filter indicators.
14
+ */
15
+ export declare const filterGroupByField: (field: string, filter: CompositeFilterDescriptor | undefined) => CompositeFilterDescriptor | null;
16
+ /**
17
+ * The props of the GridColumnMenuFilter component.
18
+ */
19
+ export interface GridColumnMenuFilterProps extends GridColumnMenuFilterBaseProps {
20
+ /**
21
+ * Controls the expand state of the filter component.
22
+ */
23
+ expanded?: boolean;
24
+ /**
25
+ * Triggers on each subsequent expand state of the filter component.
26
+ */
27
+ onExpandchange?: (nextExpandState: boolean) => void;
28
+ /**
29
+ * If set to `false`, the second filter operator and the input will be hidden.
30
+ */
31
+ hideSecondFilter?: boolean;
32
+ filterUI?: any;
33
+ }
34
+ /**
35
+ * @hidden
36
+ */
37
+ export interface GridColumnMenuFilterStateProps {
38
+ expanded: boolean;
39
+ filterGroup: CompositeFilterDescriptor;
40
+ }
41
+ /**
42
+ * @example
43
+ * {% meta height:410 %}
44
+ * ```html-preview
45
+ * <div id="vueapp">
46
+ * <Grid :style="{height: '280px'}"
47
+ * :data-items="gridData"
48
+ * :sortable="true"
49
+ * :sort= "sort"
50
+ * :filter="filter"
51
+ * :expand-field="'Discontinued'"
52
+ * @dataStateChange="dataStateChange"
53
+ * @expandchange="expandChange"
54
+ * :columns="columns">
55
+ * </Grid>
56
+ * </div>
57
+ * ```
58
+ * ```js
59
+ * import { Grid, GridColumnMenuFilter } from '@progress/kendo-vue-grid';
60
+ * import { process } from '@progress/kendo-data-query';
61
+ * const ColumnMenu = {
62
+ * props: {
63
+ * column: Object,
64
+ * sortable: [Boolean, Object],
65
+ * sort: {
66
+ * type: Array
67
+ * },
68
+ * filter: Object,
69
+ * filterable: Boolean
70
+ * },
71
+ * components: {
72
+ * GridColumnMenuFilter
73
+ * },
74
+ * template: `<div>
75
+ * <GridColumnMenuFilter
76
+ * :column="column"
77
+ * :filterable="filterable"
78
+ * :filter="filter"
79
+ * @closemenu ="closeMenu"
80
+ * @expandchange = "expandChange"
81
+ * @filterchange = "filterChange"
82
+ * />
83
+ * </div>`,
84
+ * methods: {
85
+ * expandChange () {
86
+ * this.$emit('expandchange');
87
+ * },
88
+ * closeMenu () {
89
+ * this.$emit('closemenu');
90
+ * },
91
+ * filterChange (newDescriptor, e) {
92
+ * this.$emit('filterchange', newDescriptor, e);
93
+ * }
94
+ * }
95
+ * };
96
+ *
97
+ * Vue.component('Grid', Grid);
98
+ * new Vue({
99
+ * el: '#vueapp',
100
+ * components: {
101
+ * Grid
102
+ * },
103
+ * created: function() {
104
+ * this.getData();
105
+ * },
106
+ * methods: {
107
+ * getData: function () {
108
+ * let dataState = {
109
+ * filter: this.filter,
110
+ * sort: this.sort
111
+ * };
112
+ * this.gridData = process([{
113
+ * "ProductID": 1,
114
+ * "ProductName": "Chai",
115
+ * "UnitsInStock": 39,
116
+ * "Discontinued": false,
117
+ * "FirstOrderedOn": new Date(1996, 8, 20)
118
+ * },{
119
+ * "ProductID": 2,
120
+ * "ProductName": "Chang",
121
+ * "UnitsInStock": 17,
122
+ * "Discontinued": false,
123
+ * "FirstOrderedOn": new Date(1996, 7, 12)
124
+ * },{
125
+ * "ProductID": 3,
126
+ * "ProductName": "Aniseed Syrup",
127
+ * "UnitsInStock": 13,
128
+ * "Discontinued": false,
129
+ * "FirstOrderedOn": new Date(1996, 8, 26)
130
+ * },{
131
+ * "ProductID": 4,
132
+ * "ProductName": "Chef Anton's Cajun Seasoning",
133
+ * "UnitsInStock": 53,
134
+ * "Discontinued": false,
135
+ * "FirstOrderedOn": new Date(1996, 9, 19)
136
+ * }], dataState);
137
+ * },
138
+ * createAppState: function(dataState) {
139
+ * this.sort = dataState.sort;
140
+ * this.filter = dataState.filter;
141
+ * this.getData();
142
+ * },
143
+ * dataStateChange: function (event) {
144
+ * this.createAppState(event.data);
145
+ * },
146
+ * expandChange: function (event) {
147
+ * Vue.set(event.dataItem, event.target.$props.expandField, event.value);
148
+ * }
149
+ * },
150
+ * data: function () {
151
+ * return {
152
+ * filter: null,
153
+ * sort: [],
154
+ * gridData: [],
155
+ * columns: [
156
+ * { field: 'ProductID'},
157
+ * { field: 'ProductName', title: 'Product Name' },
158
+ * { field: 'UnitsInStock', title: 'Units In Stock', columnMenu: ColumnMenu }
159
+ * ]
160
+ * };
161
+ * }
162
+ * } );
163
+ * ```
164
+ */
165
+ /**
166
+ * @hidden
167
+ */
168
+ export interface GridColumnMenuFilterMethods extends Vue2type {
169
+ removeGroup: (group: CompositeFilterDescriptor, rootFilter: CompositeFilterDescriptor) => CompositeFilterDescriptor;
170
+ insertGroup: (group: CompositeFilterDescriptor, rootFilter: CompositeFilterDescriptor) => CompositeFilterDescriptor;
171
+ isControlled: () => boolean;
172
+ onFilterExpand: () => void;
173
+ filterChangeHandler: (e: any, filterIndex?: number) => void;
174
+ firstFilterChange: (e: any) => void;
175
+ secondFilterChange: (e: any) => void;
176
+ filterChange: (filterIndex: number, e: {
177
+ value: number;
178
+ operator: string;
179
+ }) => void;
180
+ logicChange: (e: any) => void;
181
+ clear: (e: any) => void;
182
+ currentFilterGroup: () => CompositeFilterDescriptor;
183
+ submit: (e: any) => void;
184
+ handleFocus: (e: any) => void;
185
+ }
186
+ /**
187
+ * @hidden
188
+ */
189
+ export interface GridColumnMenuFilterData {
190
+ currentExpanded: boolean;
191
+ filterGroup: any;
192
+ }
193
+ /**
194
+ * @hidden
195
+ */
196
+ export interface GridColumnMenuFilterAll extends GridColumnMenuFilterMethods, GridColumnMenuFilterData {
197
+ }
198
+ /**
199
+ * @hidden
200
+ */
201
+ declare let GridColumnMenuFilterVue2: ComponentOptions<Vue2type, DefaultData<GridColumnMenuFilterData>, DefaultMethods<GridColumnMenuFilterAll>, {}, RecordPropsDefinition<GridColumnMenuFilterProps>>;
202
+ /**
203
+ * Represents the GridColumnMenuFilter component.
204
+ *
205
+ * {% meta height:410 %}
206
+ * ```html-preview
207
+ * <div id="vueapp">
208
+ * <Grid :style="{height: '280px'}"
209
+ * :data-items="gridData"
210
+ * :sortable="true"
211
+ * :sort= "sort"
212
+ * :filter="filter"
213
+ * :expand-field="'Discontinued'"
214
+ * @datastatechange="dataStateChange"
215
+ * @expandchange="expandChange"
216
+ * :columns="columns">
217
+ * </Grid>
218
+ * </div>
219
+ * ```
220
+ * ```js
221
+ * import { Grid, GridColumnMenuFilter } from '@progress/kendo-vue-grid';
222
+ * import { process } from '@progress/kendo-data-query';
223
+ * const ColumnMenu = {
224
+ * props: {
225
+ * column: Object,
226
+ * sortable: [Boolean, Object],
227
+ * sort: {
228
+ * type: Array
229
+ * },
230
+ * filter: Object,
231
+ * filterable: Boolean
232
+ * },
233
+ * components: {
234
+ * GridColumnMenuFilter
235
+ * },
236
+ * template: `<div>
237
+ * <GridColumnMenuFilter
238
+ * :column="column"
239
+ * :filterable="filterable"
240
+ * :filter="filter"
241
+ * @closemenu ="closeMenu"
242
+ * @expandchange = "expandChange"
243
+ * @filterchange = "filterChange"
244
+ * />
245
+ * </div>`,
246
+ * methods: {
247
+ * expandChange () {
248
+ * this.$emit('expandchange');
249
+ * },
250
+ * closeMenu () {
251
+ * this.$emit('closemenu');
252
+ * },
253
+ * filterChange (newDescriptor, e) {
254
+ * this.$emit('filterchange', newDescriptor, e);
255
+ * }
256
+ * }
257
+ * };
258
+ *
259
+ * Vue.component('Grid', Grid);
260
+ * new Vue({
261
+ * el: '#vueapp',
262
+ * components: {
263
+ * Grid
264
+ * },
265
+ * created: function() {
266
+ * this.getData();
267
+ * },
268
+ * methods: {
269
+ * getData: function () {
270
+ * let dataState = {
271
+ * filter: this.filter,
272
+ * sort: this.sort
273
+ * };
274
+ * this.gridData = process([{
275
+ * "ProductID": 1,
276
+ * "ProductName": "Chai",
277
+ * "UnitsInStock": 39,
278
+ * "Discontinued": false,
279
+ * "FirstOrderedOn": new Date(1996, 8, 20)
280
+ * },{
281
+ * "ProductID": 2,
282
+ * "ProductName": "Chang",
283
+ * "UnitsInStock": 17,
284
+ * "Discontinued": false,
285
+ * "FirstOrderedOn": new Date(1996, 7, 12)
286
+ * },{
287
+ * "ProductID": 3,
288
+ * "ProductName": "Aniseed Syrup",
289
+ * "UnitsInStock": 13,
290
+ * "Discontinued": false,
291
+ * "FirstOrderedOn": new Date(1996, 8, 26)
292
+ * },{
293
+ * "ProductID": 4,
294
+ * "ProductName": "Chef Anton's Cajun Seasoning",
295
+ * "UnitsInStock": 53,
296
+ * "Discontinued": false,
297
+ * "FirstOrderedOn": new Date(1996, 9, 19)
298
+ * }], dataState);
299
+ * },
300
+ * createAppState: function(dataState) {
301
+ * this.sort = dataState.sort;
302
+ * this.filter = dataState.filter;
303
+ * this.getData();
304
+ * },
305
+ * dataStateChange: function (event) {
306
+ * this.createAppState(event.data);
307
+ * },
308
+ * expandChange: function (event) {
309
+ * event.dataItem[event.target.$props.expandField] = event.value;
310
+ * //
311
+ * // In Vue 2 context, instead of the above line, inside the expandChange method we should have the following:
312
+ * //
313
+ * // Vue.set(
314
+ * // event.dataItem,
315
+ * // event.target.$props.expandField,
316
+ * // event.dataItem.expanded === undefined ? false : !event.dataItem.expanded
317
+ * // );
318
+ * //
319
+ * }
320
+ * },
321
+ * data: function () {
322
+ * return {
323
+ * filter: null,
324
+ * sort: [],
325
+ * gridData: [],
326
+ * columns: [
327
+ * { field: 'ProductID'},
328
+ * { field: 'ProductName', title: 'Product Name' },
329
+ * { field: 'UnitsInStock', title: 'Units In Stock', columnMenu: ColumnMenu }
330
+ * ]
331
+ * };
332
+ * }
333
+ * } );
334
+ * ```
335
+ *
336
+ * ### props <span class='code'>[GridColumnMenuFilterProps]({% slug api_grid_gridcolumnmenufilterprops %})</span>
337
+ */
338
+ declare const GridColumnMenuFilter: DefineComponent<GridColumnMenuFilterProps, any, GridColumnMenuFilterData, {}, GridColumnMenuFilterMethods, {}, {}, {}, string, GridColumnMenuFilterProps, GridColumnMenuFilterProps, {}>;
339
+ export { GridColumnMenuFilter, GridColumnMenuFilterVue2 };