@progress/kendo-vue-grid 3.3.4 → 3.3.6-dev.202206170937
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/js/kendo-vue-grid.js +1 -1
- package/dist/es/Grid.d.ts +35 -2
- package/dist/es/Grid.js +41 -9
- package/dist/es/GridNav.d.ts +4 -1
- package/dist/es/GridNav.js +5 -1
- package/dist/es/GridNoRecords.d.ts +4 -1
- package/dist/es/GridNoRecords.js +30 -26
- package/dist/es/GridToolbar.d.ts +46 -4
- package/dist/es/GridToolbar.js +48 -6
- package/dist/es/additionalTypes.ts +11 -0
- package/dist/es/cells/GridCell.d.ts +4 -1
- package/dist/es/cells/GridCell.js +5 -1
- package/dist/es/cells/GridDetailCell.d.ts +4 -1
- package/dist/es/cells/GridDetailCell.js +5 -1
- package/dist/es/cells/GridDetailHierarchyCell.d.ts +4 -1
- package/dist/es/cells/GridDetailHierarchyCell.js +5 -1
- package/dist/es/cells/GridEditCell.d.ts +4 -1
- package/dist/es/cells/GridEditCell.js +5 -1
- package/dist/es/cells/GridFilterCell.d.ts +4 -1
- package/dist/es/cells/GridFilterCell.js +5 -1
- package/dist/es/cells/GridGroupCell.d.ts +4 -1
- package/dist/es/cells/GridGroupCell.js +5 -1
- package/dist/es/cells/GridHierarchyCell.d.ts +4 -1
- package/dist/es/cells/GridHierarchyCell.js +5 -1
- package/dist/es/cells/GridSelectionCell.d.ts +4 -1
- package/dist/es/cells/GridSelectionCell.js +5 -1
- package/dist/es/columnMenu/ColumnMenu.d.ts +4 -1
- package/dist/es/columnMenu/ColumnMenu.js +5 -1
- package/dist/es/columnMenu/ColumnMenuContent.d.ts +4 -1
- package/dist/es/columnMenu/ColumnMenuContent.js +5 -1
- package/dist/es/columnMenu/GridColumnMenuCheckboxFilter.d.ts +4 -1
- package/dist/es/columnMenu/GridColumnMenuCheckboxFilter.js +5 -1
- package/dist/es/columnMenu/GridColumnMenuFilter.d.ts +138 -2
- package/dist/es/columnMenu/GridColumnMenuFilter.js +139 -2
- package/dist/es/columnMenu/GridColumnMenuFilterCell.d.ts +4 -1
- package/dist/es/columnMenu/GridColumnMenuFilterCell.js +5 -1
- package/dist/es/columnMenu/GridColumnMenuFilterUI.d.ts +4 -1
- package/dist/es/columnMenu/GridColumnMenuFilterUI.js +5 -1
- package/dist/es/columnMenu/GridColumnMenuItem.d.ts +4 -1
- package/dist/es/columnMenu/GridColumnMenuItem.js +5 -1
- package/dist/es/columnMenu/GridColumnMenuItemContent.d.ts +4 -1
- package/dist/es/columnMenu/GridColumnMenuItemContent.js +5 -1
- package/dist/es/columnMenu/GridColumnMenuItemGroup.d.ts +4 -1
- package/dist/es/columnMenu/GridColumnMenuItemGroup.js +5 -1
- package/dist/es/columnMenu/GridColumnMenuSort.d.ts +135 -2
- package/dist/es/columnMenu/GridColumnMenuSort.js +136 -2
- package/dist/es/drag/ColumnDraggable.d.ts +4 -1
- package/dist/es/drag/ColumnDraggable.js +5 -1
- package/dist/es/drag/ColumnResizer.d.ts +4 -1
- package/dist/es/drag/ColumnResizer.js +5 -1
- package/dist/es/drag/DragClue.d.ts +4 -1
- package/dist/es/drag/DragClue.js +5 -1
- package/dist/es/drag/DropClue.d.ts +4 -1
- package/dist/es/drag/DropClue.js +5 -1
- package/dist/es/drag/GroupingIndicator.d.ts +4 -1
- package/dist/es/drag/GroupingIndicator.js +5 -1
- package/dist/es/footer/Footer.d.ts +6 -0
- package/dist/es/footer/Footer.js +8 -0
- package/dist/es/footer/FooterRow.d.ts +6 -0
- package/dist/es/footer/FooterRow.js +8 -0
- package/dist/es/header/FilterRow.d.ts +4 -1
- package/dist/es/header/FilterRow.js +5 -1
- package/dist/es/header/GridHeaderCell.d.ts +4 -1
- package/dist/es/header/GridHeaderCell.js +5 -1
- package/dist/es/header/GridHeaderSelectionCell.d.ts +4 -1
- package/dist/es/header/GridHeaderSelectionCell.js +5 -1
- package/dist/es/header/GroupPanel.d.ts +4 -1
- package/dist/es/header/GroupPanel.js +5 -1
- package/dist/es/header/Header.d.ts +4 -1
- package/dist/es/header/Header.js +5 -1
- package/dist/es/header/HeaderRow.d.ts +4 -1
- package/dist/es/header/HeaderRow.js +5 -1
- package/dist/es/interfaces/GridCellProps.d.ts +2 -2
- package/dist/es/interfaces/GridColumnProps.d.ts +2 -2
- package/dist/es/interfaces/GridDetailRowProps.d.ts +0 -4
- package/dist/es/interfaces/GridFilterCellProps.d.ts +1 -1
- package/dist/es/interfaces/GridGroupableSettings.d.ts +1 -1
- package/dist/es/interfaces/GridProps.d.ts +27 -27
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/rows/GridDetailRow.d.ts +2 -5
- package/dist/es/rows/GridDetailRow.js +4 -7
- package/dist/es/rows/GridRow.d.ts +4 -1
- package/dist/es/rows/GridRow.js +5 -1
- package/dist/npm/Grid.d.ts +35 -2
- package/dist/npm/Grid.js +40 -8
- package/dist/npm/GridNav.d.ts +4 -1
- package/dist/npm/GridNav.js +5 -1
- package/dist/npm/GridNoRecords.d.ts +4 -1
- package/dist/npm/GridNoRecords.js +32 -28
- package/dist/npm/GridToolbar.d.ts +46 -4
- package/dist/npm/GridToolbar.js +48 -6
- package/dist/npm/additionalTypes.ts +11 -0
- package/dist/npm/cells/GridCell.d.ts +4 -1
- package/dist/npm/cells/GridCell.js +5 -1
- package/dist/npm/cells/GridDetailCell.d.ts +4 -1
- package/dist/npm/cells/GridDetailCell.js +5 -1
- package/dist/npm/cells/GridDetailHierarchyCell.d.ts +4 -1
- package/dist/npm/cells/GridDetailHierarchyCell.js +5 -1
- package/dist/npm/cells/GridEditCell.d.ts +4 -1
- package/dist/npm/cells/GridEditCell.js +5 -1
- package/dist/npm/cells/GridFilterCell.d.ts +4 -1
- package/dist/npm/cells/GridFilterCell.js +5 -1
- package/dist/npm/cells/GridGroupCell.d.ts +4 -1
- package/dist/npm/cells/GridGroupCell.js +5 -1
- package/dist/npm/cells/GridHierarchyCell.d.ts +4 -1
- package/dist/npm/cells/GridHierarchyCell.js +5 -1
- package/dist/npm/cells/GridSelectionCell.d.ts +4 -1
- package/dist/npm/cells/GridSelectionCell.js +5 -1
- package/dist/npm/columnMenu/ColumnMenu.d.ts +4 -1
- package/dist/npm/columnMenu/ColumnMenu.js +5 -1
- package/dist/npm/columnMenu/ColumnMenuContent.d.ts +4 -1
- package/dist/npm/columnMenu/ColumnMenuContent.js +5 -1
- package/dist/npm/columnMenu/GridColumnMenuCheckboxFilter.d.ts +4 -1
- package/dist/npm/columnMenu/GridColumnMenuCheckboxFilter.js +5 -1
- package/dist/npm/columnMenu/GridColumnMenuFilter.d.ts +138 -2
- package/dist/npm/columnMenu/GridColumnMenuFilter.js +139 -2
- package/dist/npm/columnMenu/GridColumnMenuFilterCell.d.ts +4 -1
- package/dist/npm/columnMenu/GridColumnMenuFilterCell.js +5 -1
- package/dist/npm/columnMenu/GridColumnMenuFilterUI.d.ts +4 -1
- package/dist/npm/columnMenu/GridColumnMenuFilterUI.js +5 -1
- package/dist/npm/columnMenu/GridColumnMenuItem.d.ts +4 -1
- package/dist/npm/columnMenu/GridColumnMenuItem.js +5 -1
- package/dist/npm/columnMenu/GridColumnMenuItemContent.d.ts +4 -1
- package/dist/npm/columnMenu/GridColumnMenuItemContent.js +5 -1
- package/dist/npm/columnMenu/GridColumnMenuItemGroup.d.ts +4 -1
- package/dist/npm/columnMenu/GridColumnMenuItemGroup.js +5 -1
- package/dist/npm/columnMenu/GridColumnMenuSort.d.ts +135 -2
- package/dist/npm/columnMenu/GridColumnMenuSort.js +136 -2
- package/dist/npm/drag/ColumnDraggable.d.ts +4 -1
- package/dist/npm/drag/ColumnDraggable.js +5 -1
- package/dist/npm/drag/ColumnResizer.d.ts +4 -1
- package/dist/npm/drag/ColumnResizer.js +5 -1
- package/dist/npm/drag/DragClue.d.ts +4 -1
- package/dist/npm/drag/DragClue.js +5 -1
- package/dist/npm/drag/DropClue.d.ts +4 -1
- package/dist/npm/drag/DropClue.js +5 -1
- package/dist/npm/drag/GroupingIndicator.d.ts +4 -1
- package/dist/npm/drag/GroupingIndicator.js +5 -1
- package/dist/npm/footer/Footer.d.ts +6 -0
- package/dist/npm/footer/Footer.js +8 -0
- package/dist/npm/footer/FooterRow.d.ts +6 -0
- package/dist/npm/footer/FooterRow.js +8 -0
- package/dist/npm/header/FilterRow.d.ts +4 -1
- package/dist/npm/header/FilterRow.js +5 -1
- package/dist/npm/header/GridHeaderCell.d.ts +4 -1
- package/dist/npm/header/GridHeaderCell.js +5 -1
- package/dist/npm/header/GridHeaderSelectionCell.d.ts +4 -1
- package/dist/npm/header/GridHeaderSelectionCell.js +5 -1
- package/dist/npm/header/GroupPanel.d.ts +4 -1
- package/dist/npm/header/GroupPanel.js +5 -1
- package/dist/npm/header/Header.d.ts +4 -1
- package/dist/npm/header/Header.js +5 -1
- package/dist/npm/header/HeaderRow.d.ts +4 -1
- package/dist/npm/header/HeaderRow.js +5 -1
- package/dist/npm/interfaces/GridCellProps.d.ts +2 -2
- package/dist/npm/interfaces/GridColumnProps.d.ts +2 -2
- package/dist/npm/interfaces/GridDetailRowProps.d.ts +0 -4
- package/dist/npm/interfaces/GridFilterCellProps.d.ts +1 -1
- package/dist/npm/interfaces/GridGroupableSettings.d.ts +1 -1
- package/dist/npm/interfaces/GridProps.d.ts +27 -27
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/rows/GridDetailRow.d.ts +2 -5
- package/dist/npm/rows/GridDetailRow.js +4 -7
- package/dist/npm/rows/GridRow.d.ts +4 -1
- package/dist/npm/rows/GridRow.js +5 -1
- package/package.json +14 -14
|
@@ -10,7 +10,7 @@ import { GridColumnMenuFilterBaseProps } from '../interfaces/GridColumnMenuFilte
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const rootFilterOrDefault: (rootFilter: CompositeFilterDescriptor | undefined) => CompositeFilterDescriptor;
|
|
12
12
|
/**
|
|
13
|
-
* Can be used to check if filtering is applied to a specific field ([see example]({% slug
|
|
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
14
|
*/
|
|
15
15
|
export declare const filterGroupByField: (field: string, filter: CompositeFilterDescriptor | undefined) => CompositeFilterDescriptor | null;
|
|
16
16
|
/**
|
|
@@ -196,8 +196,144 @@ export interface GridColumnMenuFilterData {
|
|
|
196
196
|
export interface GridColumnMenuFilterAll extends GridColumnMenuFilterMethods, GridColumnMenuFilterData {
|
|
197
197
|
}
|
|
198
198
|
/**
|
|
199
|
-
*
|
|
199
|
+
* @hidden
|
|
200
200
|
*/
|
|
201
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_columnmenufilterprops %})</span>
|
|
337
|
+
*/
|
|
202
338
|
declare const GridColumnMenuFilter: DefineComponent<GridColumnMenuFilterProps, any, GridColumnMenuFilterData, {}, GridColumnMenuFilterMethods, {}, {}, {}, string, GridColumnMenuFilterProps, GridColumnMenuFilterProps, {}>;
|
|
203
339
|
export { GridColumnMenuFilter, GridColumnMenuFilterVue2 };
|
|
@@ -73,7 +73,7 @@ exports.rootFilterOrDefault = function (rootFilter) {
|
|
|
73
73
|
}; // tslint:disable:max-line-length
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
|
-
* Can be used to check if filtering is applied to a specific field ([see example]({% slug
|
|
76
|
+
* 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.
|
|
77
77
|
*/
|
|
78
78
|
// tslint:enable:max-line-length
|
|
79
79
|
|
|
@@ -92,7 +92,7 @@ exports.filterGroupByField = function (field, filter) {
|
|
|
92
92
|
return compositeFilters[0] || null;
|
|
93
93
|
};
|
|
94
94
|
/**
|
|
95
|
-
*
|
|
95
|
+
* @hidden
|
|
96
96
|
*/
|
|
97
97
|
|
|
98
98
|
|
|
@@ -642,5 +642,142 @@ var GridColumnMenuFilterVue2 = {
|
|
|
642
642
|
}
|
|
643
643
|
};
|
|
644
644
|
exports.GridColumnMenuFilterVue2 = GridColumnMenuFilterVue2;
|
|
645
|
+
/**
|
|
646
|
+
* Represents the GridColumnMenuFilter component.
|
|
647
|
+
*
|
|
648
|
+
* {% meta height:410 %}
|
|
649
|
+
* ```html-preview
|
|
650
|
+
* <div id="vueapp">
|
|
651
|
+
* <Grid :style="{height: '280px'}"
|
|
652
|
+
* :data-items="gridData"
|
|
653
|
+
* :sortable="true"
|
|
654
|
+
* :sort= "sort"
|
|
655
|
+
* :filter="filter"
|
|
656
|
+
* :expand-field="'Discontinued'"
|
|
657
|
+
* @datastatechange="dataStateChange"
|
|
658
|
+
* @expandchange="expandChange"
|
|
659
|
+
* :columns="columns">
|
|
660
|
+
* </Grid>
|
|
661
|
+
* </div>
|
|
662
|
+
* ```
|
|
663
|
+
* ```js
|
|
664
|
+
* import { Grid, GridColumnMenuFilter } from '@progress/kendo-vue-grid';
|
|
665
|
+
* import { process } from '@progress/kendo-data-query';
|
|
666
|
+
* const ColumnMenu = {
|
|
667
|
+
* props: {
|
|
668
|
+
* column: Object,
|
|
669
|
+
* sortable: [Boolean, Object],
|
|
670
|
+
* sort: {
|
|
671
|
+
* type: Array
|
|
672
|
+
* },
|
|
673
|
+
* filter: Object,
|
|
674
|
+
* filterable: Boolean
|
|
675
|
+
* },
|
|
676
|
+
* components: {
|
|
677
|
+
* GridColumnMenuFilter
|
|
678
|
+
* },
|
|
679
|
+
* template: `<div>
|
|
680
|
+
* <GridColumnMenuFilter
|
|
681
|
+
* :column="column"
|
|
682
|
+
* :filterable="filterable"
|
|
683
|
+
* :filter="filter"
|
|
684
|
+
* @closemenu ="closeMenu"
|
|
685
|
+
* @expandchange = "expandChange"
|
|
686
|
+
* @filterchange = "filterChange"
|
|
687
|
+
* />
|
|
688
|
+
* </div>`,
|
|
689
|
+
* methods: {
|
|
690
|
+
* expandChange () {
|
|
691
|
+
* this.$emit('expandchange');
|
|
692
|
+
* },
|
|
693
|
+
* closeMenu () {
|
|
694
|
+
* this.$emit('closemenu');
|
|
695
|
+
* },
|
|
696
|
+
* filterChange (newDescriptor, e) {
|
|
697
|
+
* this.$emit('filterchange', newDescriptor, e);
|
|
698
|
+
* }
|
|
699
|
+
* }
|
|
700
|
+
* };
|
|
701
|
+
*
|
|
702
|
+
* Vue.component('Grid', Grid);
|
|
703
|
+
* new Vue({
|
|
704
|
+
* el: '#vueapp',
|
|
705
|
+
* components: {
|
|
706
|
+
* Grid
|
|
707
|
+
* },
|
|
708
|
+
* created: function() {
|
|
709
|
+
* this.getData();
|
|
710
|
+
* },
|
|
711
|
+
* methods: {
|
|
712
|
+
* getData: function () {
|
|
713
|
+
* let dataState = {
|
|
714
|
+
* filter: this.filter,
|
|
715
|
+
* sort: this.sort
|
|
716
|
+
* };
|
|
717
|
+
* this.gridData = process([{
|
|
718
|
+
* "ProductID": 1,
|
|
719
|
+
* "ProductName": "Chai",
|
|
720
|
+
* "UnitsInStock": 39,
|
|
721
|
+
* "Discontinued": false,
|
|
722
|
+
* "FirstOrderedOn": new Date(1996, 8, 20)
|
|
723
|
+
* },{
|
|
724
|
+
* "ProductID": 2,
|
|
725
|
+
* "ProductName": "Chang",
|
|
726
|
+
* "UnitsInStock": 17,
|
|
727
|
+
* "Discontinued": false,
|
|
728
|
+
* "FirstOrderedOn": new Date(1996, 7, 12)
|
|
729
|
+
* },{
|
|
730
|
+
* "ProductID": 3,
|
|
731
|
+
* "ProductName": "Aniseed Syrup",
|
|
732
|
+
* "UnitsInStock": 13,
|
|
733
|
+
* "Discontinued": false,
|
|
734
|
+
* "FirstOrderedOn": new Date(1996, 8, 26)
|
|
735
|
+
* },{
|
|
736
|
+
* "ProductID": 4,
|
|
737
|
+
* "ProductName": "Chef Anton's Cajun Seasoning",
|
|
738
|
+
* "UnitsInStock": 53,
|
|
739
|
+
* "Discontinued": false,
|
|
740
|
+
* "FirstOrderedOn": new Date(1996, 9, 19)
|
|
741
|
+
* }], dataState);
|
|
742
|
+
* },
|
|
743
|
+
* createAppState: function(dataState) {
|
|
744
|
+
* this.sort = dataState.sort;
|
|
745
|
+
* this.filter = dataState.filter;
|
|
746
|
+
* this.getData();
|
|
747
|
+
* },
|
|
748
|
+
* dataStateChange: function (event) {
|
|
749
|
+
* this.createAppState(event.data);
|
|
750
|
+
* },
|
|
751
|
+
* expandChange: function (event) {
|
|
752
|
+
* event.dataItem[event.target.$props.expandField] = event.value;
|
|
753
|
+
* //
|
|
754
|
+
* // In Vue 2 context, instead of the above line, inside the expandChange method we should have the following:
|
|
755
|
+
* //
|
|
756
|
+
* // Vue.set(
|
|
757
|
+
* // event.dataItem,
|
|
758
|
+
* // event.target.$props.expandField,
|
|
759
|
+
* // event.dataItem.expanded === undefined ? false : !event.dataItem.expanded
|
|
760
|
+
* // );
|
|
761
|
+
* //
|
|
762
|
+
* }
|
|
763
|
+
* },
|
|
764
|
+
* data: function () {
|
|
765
|
+
* return {
|
|
766
|
+
* filter: null,
|
|
767
|
+
* sort: [],
|
|
768
|
+
* gridData: [],
|
|
769
|
+
* columns: [
|
|
770
|
+
* { field: 'ProductID'},
|
|
771
|
+
* { field: 'ProductName', title: 'Product Name' },
|
|
772
|
+
* { field: 'UnitsInStock', title: 'Units In Stock', columnMenu: ColumnMenu }
|
|
773
|
+
* ]
|
|
774
|
+
* };
|
|
775
|
+
* }
|
|
776
|
+
* } );
|
|
777
|
+
* ```
|
|
778
|
+
*
|
|
779
|
+
* ### props <span class='code'>[GridColumnMenuFilterProps]({% slug api_grid_columnmenufilterprops %})</span>
|
|
780
|
+
*/
|
|
781
|
+
|
|
645
782
|
var GridColumnMenuFilter = GridColumnMenuFilterVue2;
|
|
646
783
|
exports.GridColumnMenuFilter = GridColumnMenuFilter;
|
|
@@ -35,8 +35,11 @@ export interface GridColumnMenuFilterCellMethods extends Vue2type {
|
|
|
35
35
|
boolDropdownChange: (value: any, e: any) => void;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* @hidden
|
|
39
39
|
*/
|
|
40
40
|
declare let GridColumnMenuFilterCellVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<GridColumnMenuFilterCellMethods>, {}, RecordPropsDefinition<ColumnMenuFilterCellProps>>;
|
|
41
|
+
/**
|
|
42
|
+
* @hidden
|
|
43
|
+
*/
|
|
41
44
|
declare const GridColumnMenuFilterCell: DefineComponent<ColumnMenuFilterCellProps, any, {}, {}, GridColumnMenuFilterCellMethods, {}, {}, {}, string, ColumnMenuFilterCellProps, ColumnMenuFilterCellProps, {}>;
|
|
42
45
|
export { GridColumnMenuFilterCell, GridColumnMenuFilterCellVue2 };
|
|
@@ -18,7 +18,7 @@ var kendo_vue_dateinputs_1 = require("@progress/kendo-vue-dateinputs");
|
|
|
18
18
|
|
|
19
19
|
var filterCommon_1 = require("../filterCommon");
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* @hidden
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
|
|
@@ -179,5 +179,9 @@ var GridColumnMenuFilterCellVue2 = {
|
|
|
179
179
|
}
|
|
180
180
|
};
|
|
181
181
|
exports.GridColumnMenuFilterCellVue2 = GridColumnMenuFilterCellVue2;
|
|
182
|
+
/**
|
|
183
|
+
* @hidden
|
|
184
|
+
*/
|
|
185
|
+
|
|
182
186
|
var GridColumnMenuFilterCell = GridColumnMenuFilterCellVue2;
|
|
183
187
|
exports.GridColumnMenuFilterCell = GridColumnMenuFilterCell;
|
|
@@ -14,8 +14,11 @@ export interface GridColumnMenuFilterUIMethods extends Vue2type {
|
|
|
14
14
|
logicChange: (e: any) => void;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* @hidden
|
|
18
18
|
*/
|
|
19
19
|
declare let GridColumnMenuFilterUIVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<GridColumnMenuFilterUIMethods>, {}, RecordPropsDefinition<GridColumnMenuFilterUIProps>>;
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
20
23
|
declare const GridColumnMenuFilterUI: DefineComponent<GridColumnMenuFilterUIProps, any, {}, {}, GridColumnMenuFilterUIMethods, {}, {}, {}, string, GridColumnMenuFilterUIProps, GridColumnMenuFilterUIProps, {}>;
|
|
21
24
|
export { GridColumnMenuFilterUI, GridColumnMenuFilterUIVue2 };
|
|
@@ -16,7 +16,7 @@ var kendo_vue_dropdowns_1 = require("@progress/kendo-vue-dropdowns");
|
|
|
16
16
|
|
|
17
17
|
var kendo_vue_common_1 = require("@progress/kendo-vue-common");
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* @hidden
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
|
|
@@ -158,5 +158,9 @@ var GridColumnMenuFilterUIVue2 = {
|
|
|
158
158
|
}
|
|
159
159
|
};
|
|
160
160
|
exports.GridColumnMenuFilterUIVue2 = GridColumnMenuFilterUIVue2;
|
|
161
|
+
/**
|
|
162
|
+
* @hidden
|
|
163
|
+
*/
|
|
164
|
+
|
|
161
165
|
var GridColumnMenuFilterUI = GridColumnMenuFilterUIVue2;
|
|
162
166
|
exports.GridColumnMenuFilterUI = GridColumnMenuFilterUI;
|
|
@@ -32,8 +32,11 @@ export interface GridColumnMenuItemMethods extends Vue2type {
|
|
|
32
32
|
onKeyDown: () => void;
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* @hidden
|
|
36
36
|
*/
|
|
37
37
|
declare let GridColumnMenuItemVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<GridColumnMenuItemMethods>, {}, RecordPropsDefinition<GridColumnMenuItemProps>>;
|
|
38
|
+
/**
|
|
39
|
+
* @hidden
|
|
40
|
+
*/
|
|
38
41
|
declare const GridColumnMenuItem: DefineComponent<GridColumnMenuItemProps, any, {}, {}, GridColumnMenuItemMethods, {}, {}, {}, string, GridColumnMenuItemProps, GridColumnMenuItemProps, {}>;
|
|
39
42
|
export { GridColumnMenuItem, GridColumnMenuItemVue2 };
|
|
@@ -12,7 +12,7 @@ var gh = allVue.h;
|
|
|
12
12
|
|
|
13
13
|
var kendo_vue_common_1 = require("@progress/kendo-vue-common");
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* @hidden
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
|
|
@@ -64,5 +64,9 @@ var GridColumnMenuItemVue2 = {
|
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
66
|
exports.GridColumnMenuItemVue2 = GridColumnMenuItemVue2;
|
|
67
|
+
/**
|
|
68
|
+
* @hidden
|
|
69
|
+
*/
|
|
70
|
+
|
|
67
71
|
var GridColumnMenuItem = GridColumnMenuItemVue2;
|
|
68
72
|
exports.GridColumnMenuItem = GridColumnMenuItem;
|
|
@@ -24,8 +24,11 @@ export interface GridColumnMenuItemContentMethods extends Vue2type {
|
|
|
24
24
|
triggerRemove: (dataItem: any) => void;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* @hidden
|
|
28
28
|
*/
|
|
29
29
|
declare let GridColumnMenuItemContentVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<GridColumnMenuItemContentMethods>, {}, RecordPropsDefinition<GridColumnMenuItemContentProps>>;
|
|
30
|
+
/**
|
|
31
|
+
* @hidden
|
|
32
|
+
*/
|
|
30
33
|
declare const GridColumnMenuItemContent: DefineComponent<GridColumnMenuItemContentProps, any, {}, {}, GridColumnMenuItemContentMethods, {}, {}, {}, string, GridColumnMenuItemContentProps, GridColumnMenuItemContentProps, {}>;
|
|
31
34
|
export { GridColumnMenuItemContent, GridColumnMenuItemContentVue2 };
|
|
@@ -14,7 +14,7 @@ var kendo_vue_common_1 = require("@progress/kendo-vue-common");
|
|
|
14
14
|
|
|
15
15
|
var kendo_vue_animation_1 = require("@progress/kendo-vue-animation");
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* @hidden
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
|
|
@@ -53,5 +53,9 @@ var GridColumnMenuItemContentVue2 = {
|
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
55
|
exports.GridColumnMenuItemContentVue2 = GridColumnMenuItemContentVue2;
|
|
56
|
+
/**
|
|
57
|
+
* @hidden
|
|
58
|
+
*/
|
|
59
|
+
|
|
56
60
|
var GridColumnMenuItemContent = GridColumnMenuItemContentVue2;
|
|
57
61
|
exports.GridColumnMenuItemContent = GridColumnMenuItemContent;
|
|
@@ -9,8 +9,11 @@ declare type DefaultMethods<V> = {
|
|
|
9
9
|
export interface GridColumnMenuItemGroupProps {
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* @hidden
|
|
13
13
|
*/
|
|
14
14
|
declare let GridColumnMenuItemGroupVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<{}>, {}, RecordPropsDefinition<GridColumnMenuItemGroupProps>>;
|
|
15
|
+
/**
|
|
16
|
+
* @hidden
|
|
17
|
+
*/
|
|
15
18
|
declare const GridColumnMenuItemGroup: DefineComponent<GridColumnMenuItemGroupProps, any, {}, {}, {}, {}, {}, {}, string, GridColumnMenuItemGroupProps, GridColumnMenuItemGroupProps, {}>;
|
|
16
19
|
export { GridColumnMenuItemGroup, GridColumnMenuItemGroupVue2 };
|
|
@@ -12,7 +12,7 @@ var gh = allVue.h;
|
|
|
12
12
|
|
|
13
13
|
var kendo_vue_common_1 = require("@progress/kendo-vue-common");
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* @hidden
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
|
|
@@ -34,5 +34,9 @@ var GridColumnMenuItemGroupVue2 = {
|
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
exports.GridColumnMenuItemGroupVue2 = GridColumnMenuItemGroupVue2;
|
|
37
|
+
/**
|
|
38
|
+
* @hidden
|
|
39
|
+
*/
|
|
40
|
+
|
|
37
41
|
var GridColumnMenuItemGroup = GridColumnMenuItemGroupVue2;
|
|
38
42
|
exports.GridColumnMenuItemGroup = GridColumnMenuItemGroup;
|
|
@@ -6,7 +6,7 @@ declare type DefaultMethods<V> = {
|
|
|
6
6
|
import { SortDescriptor } from '@progress/kendo-data-query';
|
|
7
7
|
import { GridColumnMenuSortBaseProps } from '../interfaces/GridColumnMenuSortBaseProps';
|
|
8
8
|
/**
|
|
9
|
-
* Can be used to check if sorting is applied to a specific field ([see example]({% slug
|
|
9
|
+
* Can be used to check if sorting is applied to a specific field ([see example]({% slug column_menu_grid %}#toc-styling-the-column-menu-icon)). Useful for creating active sort indicators.
|
|
10
10
|
*/
|
|
11
11
|
export declare const sortGroupByField: (field: string, sort?: SortDescriptor[]) => boolean;
|
|
12
12
|
/**
|
|
@@ -143,8 +143,141 @@ export interface GridColumnMenuSortMethods extends Vue2type {
|
|
|
143
143
|
onSort: (e: any, selectedDir: 'asc' | 'desc') => void;
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
|
-
*
|
|
146
|
+
* @hidden
|
|
147
147
|
*/
|
|
148
148
|
declare let GridColumnMenuSortVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<GridColumnMenuSortMethods>, {}, RecordPropsDefinition<GridColumnMenuSortProps>>;
|
|
149
|
+
/**
|
|
150
|
+
*
|
|
151
|
+
*
|
|
152
|
+
* {% meta height:410 %}
|
|
153
|
+
* ```html-preview
|
|
154
|
+
* <div id="vueapp">
|
|
155
|
+
* <Grid :style="{height: '280px'}"
|
|
156
|
+
* :data-items="gridData"
|
|
157
|
+
* :sortable="true"
|
|
158
|
+
* :sort= "sort"
|
|
159
|
+
* :filter="filter"
|
|
160
|
+
* :expand-field="'Discontinued'"
|
|
161
|
+
* @datastatechange="dataStateChange"
|
|
162
|
+
* @expandchange="expandChange"
|
|
163
|
+
* :columns="columns">
|
|
164
|
+
* </Grid>
|
|
165
|
+
* </div>
|
|
166
|
+
* ```
|
|
167
|
+
* ```js
|
|
168
|
+
* import { Grid, GridColumnMenuSort } from '@progress/kendo-vue-grid';
|
|
169
|
+
* import { process } from '@progress/kendo-data-query';
|
|
170
|
+
* const ColumnMenu = {
|
|
171
|
+
* props: {
|
|
172
|
+
* column: Object,
|
|
173
|
+
* sortable: [Boolean, Object],
|
|
174
|
+
* sort: {
|
|
175
|
+
* type: Array
|
|
176
|
+
* },
|
|
177
|
+
* filter: Object,
|
|
178
|
+
* filterable: Boolean
|
|
179
|
+
* },
|
|
180
|
+
* components: {
|
|
181
|
+
* GridColumnMenuSort
|
|
182
|
+
* },
|
|
183
|
+
* template: `<div>
|
|
184
|
+
* <GridColumnMenuSort
|
|
185
|
+
* :column="column"
|
|
186
|
+
* :filterable="filterable"
|
|
187
|
+
* :filter="filter"
|
|
188
|
+
* @closemenu ="closeMenu"
|
|
189
|
+
* @sortchange = "sortChange"
|
|
190
|
+
* />
|
|
191
|
+
* </div>`,
|
|
192
|
+
* methods: {
|
|
193
|
+
* closeMenu () {
|
|
194
|
+
* this.$emit('closemenu');
|
|
195
|
+
* },
|
|
196
|
+
* sortChange (newDescriptor, e) {
|
|
197
|
+
* this.$emit('filterchange', newDescriptor, e);
|
|
198
|
+
* }
|
|
199
|
+
* }
|
|
200
|
+
* };
|
|
201
|
+
*
|
|
202
|
+
* Vue.component('Grid', Grid);
|
|
203
|
+
* new Vue({
|
|
204
|
+
* el: '#vueapp',
|
|
205
|
+
* components: {
|
|
206
|
+
* Grid
|
|
207
|
+
* },
|
|
208
|
+
* created: function() {
|
|
209
|
+
* this.getData();
|
|
210
|
+
* },
|
|
211
|
+
* methods: {
|
|
212
|
+
* getData: function () {
|
|
213
|
+
* let dataState = {
|
|
214
|
+
* filter: this.filter,
|
|
215
|
+
* sort: this.sort
|
|
216
|
+
* };
|
|
217
|
+
* this.gridData = process([{
|
|
218
|
+
* "ProductID": 1,
|
|
219
|
+
* "ProductName": "Chai",
|
|
220
|
+
* "UnitsInStock": 39,
|
|
221
|
+
* "Discontinued": false,
|
|
222
|
+
* "FirstOrderedOn": new Date(1996, 8, 20)
|
|
223
|
+
* },{
|
|
224
|
+
* "ProductID": 2,
|
|
225
|
+
* "ProductName": "Chang",
|
|
226
|
+
* "UnitsInStock": 17,
|
|
227
|
+
* "Discontinued": false,
|
|
228
|
+
* "FirstOrderedOn": new Date(1996, 7, 12)
|
|
229
|
+
* },{
|
|
230
|
+
* "ProductID": 3,
|
|
231
|
+
* "ProductName": "Aniseed Syrup",
|
|
232
|
+
* "UnitsInStock": 13,
|
|
233
|
+
* "Discontinued": false,
|
|
234
|
+
* "FirstOrderedOn": new Date(1996, 8, 26)
|
|
235
|
+
* },{
|
|
236
|
+
* "ProductID": 4,
|
|
237
|
+
* "ProductName": "Chef Anton's Cajun Seasoning",
|
|
238
|
+
* "UnitsInStock": 53,
|
|
239
|
+
* "Discontinued": false,
|
|
240
|
+
* "FirstOrderedOn": new Date(1996, 9, 19)
|
|
241
|
+
* }], dataState);
|
|
242
|
+
* },
|
|
243
|
+
* createAppState: function(dataState) {
|
|
244
|
+
* this.sort = dataState.sort;
|
|
245
|
+
* this.filter = dataState.filter;
|
|
246
|
+
* this.getData();
|
|
247
|
+
* },
|
|
248
|
+
* dataStateChange: function (event) {
|
|
249
|
+
* this.createAppState(event.data);
|
|
250
|
+
* },
|
|
251
|
+
* expandChange: function (event) {
|
|
252
|
+
* event.dataItem[event.target.$props.expandField] = event.value;
|
|
253
|
+
* //
|
|
254
|
+
* // In Vue 2 context, instead of the above line, inside the expandChange method we should have the following:
|
|
255
|
+
* //
|
|
256
|
+
* // Vue.set(
|
|
257
|
+
* // event.dataItem,
|
|
258
|
+
* // event.target.$props.expandField,
|
|
259
|
+
* // event.dataItem.expanded === undefined ? false : !event.dataItem.expanded
|
|
260
|
+
* // );
|
|
261
|
+
* //
|
|
262
|
+
* }
|
|
263
|
+
* },
|
|
264
|
+
* data: function () {
|
|
265
|
+
* return {
|
|
266
|
+
* filter: null,
|
|
267
|
+
* sort: [],
|
|
268
|
+
* gridData: [],
|
|
269
|
+
* columns: [
|
|
270
|
+
* { field: 'ProductID'},
|
|
271
|
+
* { field: 'ProductName', title: 'Product Name' },
|
|
272
|
+
* { field: 'UnitsInStock', title: 'Units In Stock', columnMenu: ColumnMenu }
|
|
273
|
+
* ]
|
|
274
|
+
* };
|
|
275
|
+
* }
|
|
276
|
+
* } );
|
|
277
|
+
* ```
|
|
278
|
+
*
|
|
279
|
+
*
|
|
280
|
+
* ### props <span class='code'>[GridColumnMenuSortProps]({% slug api_grid_columnmenusortprops %})</span>
|
|
281
|
+
*/
|
|
149
282
|
declare const GridColumnMenuSort: DefineComponent<GridColumnMenuSortProps, any, {}, {}, GridColumnMenuSortMethods, {}, {}, {}, string, GridColumnMenuSortProps, GridColumnMenuSortProps, {}>;
|
|
150
283
|
export { GridColumnMenuSort, GridColumnMenuSortVue2 };
|