@progress/kendo-vue-grid 3.0.4 → 3.0.5

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.
@@ -22,7 +22,7 @@ export declare class VirtualScroll {
22
22
  private syncTimeout;
23
23
  private tableTranslate;
24
24
  private scrollSyncing;
25
- constructor(cached: boolean);
25
+ constructor(cached: boolean, topCacheCount: number);
26
26
  /**
27
27
  * @return - The row heights in an array.
28
28
  */
@@ -5,7 +5,7 @@ exports.VirtualScroll = void 0;
5
5
  * @hidden
6
6
  */
7
7
  var VirtualScroll = /** @class */ (function () {
8
- function VirtualScroll(cached) {
8
+ function VirtualScroll(cached, topCacheCount) {
9
9
  this.containerHeight = 0;
10
10
  this.topCacheCount = 0; // 4;
11
11
  this.attendedSkip = 0; // -4;
@@ -21,7 +21,7 @@ var VirtualScroll = /** @class */ (function () {
21
21
  this.tableTranslate = 0;
22
22
  this.scrollSyncing = false;
23
23
  if (cached) {
24
- this.topCacheCount = 4;
24
+ this.topCacheCount = topCacheCount;
25
25
  this.attendedSkip = -this.topCacheCount;
26
26
  }
27
27
  this.scrollHandler = this.scrollHandler.bind(this);
@@ -50,6 +50,12 @@ var VirtualScroll = /** @class */ (function () {
50
50
  accumulate = 0;
51
51
  }
52
52
  }
53
+ if (allRows.length && !result.length) {
54
+ result.push({
55
+ line: allRows[0].scrollHeight,
56
+ acc: accumulate
57
+ });
58
+ }
53
59
  return result;
54
60
  },
55
61
  enumerable: false,
@@ -71,6 +71,7 @@ var GridGroupCellVue2 = {
71
71
  dataItem: this.$props.dataItem,
72
72
  dataIndex: this.$props.dataIndex,
73
73
  event: event,
74
+ level: this.$props.level,
74
75
  field: undefined,
75
76
  value: !expanded
76
77
  });
@@ -82,6 +83,7 @@ var GridGroupCellVue2 = {
82
83
  dataItem: dataItem,
83
84
  dataIndex: this.$props.dataIndex,
84
85
  event: e,
86
+ level: this.$props.level,
85
87
  field: undefined,
86
88
  value: !expanded
87
89
  });
@@ -276,6 +276,26 @@ export interface GridProps {
276
276
  * By default, navigation is disabled and the Grid content is accessible in the normal tab sequence.
277
277
  */
278
278
  navigatable?: boolean;
279
+ /**
280
+ * Passes the number of cached top items needed for the grouping virtualization scenario. Defaults to 4.
281
+ */
282
+ topCacheCount?: Number;
283
+ /**
284
+ * Passes the calculated height of all the items in the Grid grouped hierarchy.
285
+ */
286
+ totalGroupedHeight?: Number;
287
+ /**
288
+ * Passes the collection of all grouped items that is needed for the virtualization scenario.
289
+ */
290
+ allGroupedItems?: any[];
291
+ /**
292
+ * Passes the collection of all collapsed groups for every grouped level.
293
+ */
294
+ collapsedGroups?: any[][];
295
+ /**
296
+ * Specifies the name of the field which will provide a unique for every item identifier.
297
+ */
298
+ uniqueField?: string;
279
299
  /**
280
300
  * Fires when Grid keyboard navigation position is changed.
281
301
  */
@@ -62,6 +62,10 @@ export interface GridGroupChangeEvent extends GridEvent {
62
62
  * Represents the object of the `onExpandChange` event.
63
63
  */
64
64
  export interface GridExpandChangeEvent extends GridEvent {
65
+ /**
66
+ * The array with collapsed groups.
67
+ */
68
+ collapsed?: string[];
65
69
  /**
66
70
  * The data item that is expanded or collapsed.
67
71
  */
@@ -34,4 +34,5 @@ import { GridGroupableSettings } from './interfaces/GridGroupableSettings';
34
34
  import { GridColumnMenuItem, GridColumnMenuItemVue2 } from './columnMenu/GridColumnMenuItem';
35
35
  import { GridColumnMenuItemContent, GridColumnMenuItemContentVue2 } from './columnMenu/GridColumnMenuItemContent';
36
36
  import { GridColumnMenuItemGroup, GridColumnMenuItemGroupVue2 } from './columnMenu/GridColumnMenuItemGroup';
37
+ export * from './utils/index';
37
38
  export { Grid, GridVue2, GridProps, GridColumnProps, GridCellProps, GridCell, GridCellVue2, GridEditCell, GridEditCellVue2, GridGroupCell, GridHierarchyCell, GridGroupCellVue2, GridHierarchyCellVue2, GridDetailRow, GridDetailRowVue2, GridDetailRowProps, GridRow, GridRowVue2, GridRowProps, GridFilterCell, GridFilterCellVue2, GridFilterCellProps, GridHeaderCell, GridHeaderCellVue2, GridHeaderCellProps, Footer, FooterRow, FooterVue2, FooterRowVue2, GridFooterCellProps, GridColumnMenuProps, GridColumnMenuSort, GridColumnMenuSortVue2, sortGroupByField, GridColumnMenuFilter, GridColumnMenuFilterVue2, filterGroupByField, GridColumnMenuItem, GridColumnMenuItemVue2, GridColumnMenuItemContent, GridColumnMenuItemContentVue2, GridColumnMenuItemGroup, GridColumnMenuItemGroupVue2, GridColumnMenuFilterUI, GridColumnMenuFilterUIVue2, GridColumnMenuFilterCell, GridColumnMenuFilterCellVue2, GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterVue2, GridColumnMenuCheckboxFilterProps, GridToolbar, GridToolbarVue2, GridToolbarProps, GridNoRecords, GridNoRecordsVue2, GridNoRecordsProps, GridSortSettings, GridPagerSettings, GridGroupableSettings, GridPageChangeEvent, GridDataStateChangeEvent, GridFilterChangeEvent, GridSortChangeEvent, GridExpandChangeEvent, GridSelectionChangeEvent, GridItemChangeEvent, GridHeaderSelectionChangeEvent, GridRowClickEvent, GridColumnResizeEvent, GridColumnReorderEvent, GridGroupChangeEvent };
package/dist/npm/main.js CHANGED
@@ -1,4 +1,14 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
13
  exports.GridNoRecordsVue2 = exports.GridNoRecords = exports.GridToolbarVue2 = exports.GridToolbar = exports.GridColumnMenuCheckboxFilterVue2 = exports.GridColumnMenuCheckboxFilter = exports.GridColumnMenuFilterCellVue2 = exports.GridColumnMenuFilterCell = exports.GridColumnMenuFilterUIVue2 = exports.GridColumnMenuFilterUI = exports.GridColumnMenuItemGroupVue2 = exports.GridColumnMenuItemGroup = exports.GridColumnMenuItemContentVue2 = exports.GridColumnMenuItemContent = exports.GridColumnMenuItemVue2 = exports.GridColumnMenuItem = exports.filterGroupByField = exports.GridColumnMenuFilterVue2 = exports.GridColumnMenuFilter = exports.sortGroupByField = exports.GridColumnMenuSortVue2 = exports.GridColumnMenuSort = exports.FooterRowVue2 = exports.FooterVue2 = exports.FooterRow = exports.Footer = exports.GridHeaderCellVue2 = exports.GridHeaderCell = exports.GridFilterCellVue2 = exports.GridFilterCell = exports.GridRowVue2 = exports.GridRow = exports.GridDetailRowVue2 = exports.GridDetailRow = exports.GridHierarchyCellVue2 = exports.GridGroupCellVue2 = exports.GridHierarchyCell = exports.GridGroupCell = exports.GridEditCellVue2 = exports.GridEditCell = exports.GridCellVue2 = exports.GridCell = exports.GridVue2 = exports.Grid = void 0;
4
14
  var Grid_1 = require("./Grid");
@@ -66,6 +76,7 @@ Object.defineProperty(exports, "GridColumnMenuItemContentVue2", { enumerable: tr
66
76
  var GridColumnMenuItemGroup_1 = require("./columnMenu/GridColumnMenuItemGroup");
67
77
  Object.defineProperty(exports, "GridColumnMenuItemGroup", { enumerable: true, get: function () { return GridColumnMenuItemGroup_1.GridColumnMenuItemGroup; } });
68
78
  Object.defineProperty(exports, "GridColumnMenuItemGroupVue2", { enumerable: true, get: function () { return GridColumnMenuItemGroup_1.GridColumnMenuItemGroupVue2; } });
79
+ __exportStar(require("./utils/index"), exports);
69
80
  // Automatic installation if Vue has been added to the global scope.
70
81
  var vue = 'Vue';
71
82
  if (typeof window !== 'undefined' && window[vue] && window[vue].component) {
@@ -8,7 +8,7 @@ exports.packageMetadata = {
8
8
  name: '@progress/kendo-vue-grid',
9
9
  productName: 'Kendo UI for Vue',
10
10
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
11
- publishDate: 1643723751,
11
+ publishDate: 1644395798,
12
12
  version: '',
13
13
  licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
14
14
  };
@@ -81,3 +81,11 @@ export declare const parsers: {
81
81
  string: (value: any) => any;
82
82
  default: (value: any) => any;
83
83
  };
84
+ /**
85
+ * @hidden
86
+ */
87
+ export declare function applyExpandedState(sdata: DataResult, collapsed: any[], uniqueField: string): DataResult;
88
+ /**
89
+ * @hidden
90
+ */
91
+ export declare function groupedFirstItemValue(item: any, field: string): any;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parsers = exports.footerColumns = exports.autoGenerateColumns = exports.readColumns = exports.mapColumns = exports.checkPropCompatibility = exports.getIndex = exports.isRtl = exports.flatData = exports.getNestedValue = void 0;
3
+ exports.groupedFirstItemValue = exports.applyExpandedState = exports.parsers = exports.footerColumns = exports.autoGenerateColumns = exports.readColumns = exports.mapColumns = exports.checkPropCompatibility = exports.getIndex = exports.isRtl = exports.flatData = exports.getNestedValue = void 0;
4
4
  var kendo_vue_data_tools_1 = require("@progress/kendo-vue-data-tools");
5
5
  var kendo_vue_common_1 = require("@progress/kendo-vue-common");
6
6
  var STRING = 'string';
@@ -364,3 +364,41 @@ exports.parsers = {
364
364
  return value;
365
365
  }
366
366
  };
367
+ /**
368
+ * @hidden
369
+ */
370
+ function updateItemsExpanded(items, collapsed, uniqueField, level) {
371
+ items.forEach(function (di) {
372
+ di.expanded = collapsed[level] && !collapsed[level].includes(groupedFirstItemValue(di, uniqueField));
373
+ if (di.items && di.items.length) {
374
+ di.items = updateItemsExpanded(di.items, collapsed, uniqueField, level + 1);
375
+ }
376
+ });
377
+ return items;
378
+ }
379
+ /**
380
+ * @hidden
381
+ */
382
+ function applyExpandedState(sdata, collapsed, uniqueField) {
383
+ if (collapsed && collapsed.length) {
384
+ sdata.data.forEach(function (di) {
385
+ di.expanded = collapsed[0] && !collapsed[0].includes(groupedFirstItemValue(di, uniqueField));
386
+ if (di.items && di.items.length) {
387
+ di.items = updateItemsExpanded(di.items, collapsed, uniqueField, 1);
388
+ }
389
+ });
390
+ }
391
+ return sdata;
392
+ }
393
+ exports.applyExpandedState = applyExpandedState;
394
+ /**
395
+ * @hidden
396
+ */
397
+ function groupedFirstItemValue(item, field) {
398
+ var resultItem = item;
399
+ while (resultItem.items && resultItem.items.length) {
400
+ resultItem = resultItem.items[0];
401
+ }
402
+ return field ? resultItem[field] : item.value;
403
+ }
404
+ exports.groupedFirstItemValue = groupedFirstItemValue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-vue-grid",
3
- "version": "3.0.4",
3
+ "version": "3.0.5",
4
4
  "description": "Kendo UI for Vue Grid package",
5
5
  "repository": {
6
6
  "type": "git",
@@ -34,23 +34,23 @@
34
34
  "vue": "^2.6.12 || ^3.0.2"
35
35
  },
36
36
  "dependencies": {
37
- "@progress/kendo-vue-common": "3.0.4"
37
+ "@progress/kendo-vue-common": "3.0.5"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@progress/kendo-data-query": "^1.5.4",
41
41
  "@progress/kendo-drawing": "^1.9.3",
42
42
  "@progress/kendo-licensing": "^1.1.0",
43
- "@progress/kendo-vue-animation": "3.0.4",
44
- "@progress/kendo-vue-buttons": "3.0.4",
45
- "@progress/kendo-vue-charts": "3.0.4",
46
- "@progress/kendo-vue-data-tools": "3.0.4",
47
- "@progress/kendo-vue-dateinputs": "3.0.4",
48
- "@progress/kendo-vue-dropdowns": "3.0.4",
49
- "@progress/kendo-vue-excel-export": "3.0.4",
50
- "@progress/kendo-vue-inputs": "3.0.4",
51
- "@progress/kendo-vue-intl": "3.0.4",
52
- "@progress/kendo-vue-pdf": "3.0.4",
53
- "@progress/kendo-vue-popup": "3.0.4",
43
+ "@progress/kendo-vue-animation": "3.0.5",
44
+ "@progress/kendo-vue-buttons": "3.0.5",
45
+ "@progress/kendo-vue-charts": "3.0.5",
46
+ "@progress/kendo-vue-data-tools": "3.0.5",
47
+ "@progress/kendo-vue-dateinputs": "3.0.5",
48
+ "@progress/kendo-vue-dropdowns": "3.0.5",
49
+ "@progress/kendo-vue-excel-export": "3.0.5",
50
+ "@progress/kendo-vue-inputs": "3.0.5",
51
+ "@progress/kendo-vue-intl": "3.0.5",
52
+ "@progress/kendo-vue-pdf": "3.0.5",
53
+ "@progress/kendo-vue-popup": "3.0.5",
54
54
  "cldr-core": "^34.0.0",
55
55
  "cldr-dates-full": "^34.0.0",
56
56
  "cldr-numbers-full": "^34.0.0",