@progress/kendo-vue-grid 3.0.5-dev.202202071439 → 3.0.6-dev.202202101018
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 +1 -0
- package/dist/es/Grid.js +42 -24
- package/dist/es/VirtualScroll.js +6 -0
- package/dist/es/cells/GridGroupCell.js +2 -0
- package/dist/es/interfaces/GridProps.d.ts +8 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/utils/index.d.ts +5 -1
- package/dist/es/utils/index.js +20 -18
- package/dist/npm/Grid.d.ts +1 -0
- package/dist/npm/Grid.js +41 -23
- package/dist/npm/VirtualScroll.js +6 -0
- package/dist/npm/cells/GridGroupCell.js +2 -0
- package/dist/npm/interfaces/GridProps.d.ts +8 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/utils/index.d.ts +5 -1
- package/dist/npm/utils/index.js +22 -19
- package/package.json +13 -13
package/dist/es/Grid.d.ts
CHANGED
package/dist/es/Grid.js
CHANGED
|
@@ -69,7 +69,7 @@ import { ColumnResize } from './drag/ColumnResize';
|
|
|
69
69
|
import { CommonDragLogic } from './drag/CommonDragLogic';
|
|
70
70
|
import { DragClue } from './drag/DragClue';
|
|
71
71
|
import { DropClue } from './drag/DropClue';
|
|
72
|
-
import { getNestedValue, flatData, mapColumns, readColumns, autoGenerateColumns, applyExpandedState } from './utils/index';
|
|
72
|
+
import { getNestedValue, flatData, mapColumns, readColumns, autoGenerateColumns, applyExpandedState, groupedFirstItemValue } from './utils/index';
|
|
73
73
|
import { GridCell } from './cells/GridCell';
|
|
74
74
|
import { GridGroupCell } from './cells/GridGroupCell';
|
|
75
75
|
import { GridRow } from './rows/GridRow';
|
|
@@ -86,8 +86,15 @@ var GridVue2 = {
|
|
|
86
86
|
props: {
|
|
87
87
|
topCacheCount: {
|
|
88
88
|
type: Number,
|
|
89
|
-
default:
|
|
89
|
+
default: 0
|
|
90
90
|
},
|
|
91
|
+
collapsedGroups: {
|
|
92
|
+
type: Array,
|
|
93
|
+
default: function _default() {
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
uniqueField: String,
|
|
91
98
|
totalGroupedHeight: Number,
|
|
92
99
|
allGroupedItems: Object,
|
|
93
100
|
alternatePerGroup: Boolean,
|
|
@@ -201,6 +208,21 @@ var GridVue2 = {
|
|
|
201
208
|
},
|
|
202
209
|
currentGroupable: function currentGroupable() {
|
|
203
210
|
return this.$props.groupable === true && this.$props.group && this.$props.group.length || _typeof(this.$props.groupable) === 'object' && this.$props.groupable.enabled !== false;
|
|
211
|
+
},
|
|
212
|
+
computedCollapsed: function computedCollapsed() {
|
|
213
|
+
var newCollapsed = [];
|
|
214
|
+
|
|
215
|
+
if (this.$props.group) {
|
|
216
|
+
for (var i = 0; i < this.$props.group.length; i++) {
|
|
217
|
+
if (this.$props.collapsedGroups[i]) {
|
|
218
|
+
newCollapsed.push(this.$props.collapsedGroups[i]);
|
|
219
|
+
} else {
|
|
220
|
+
newCollapsed.push([]);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
return newCollapsed;
|
|
204
226
|
}
|
|
205
227
|
},
|
|
206
228
|
methods: {
|
|
@@ -347,26 +369,25 @@ var GridVue2 = {
|
|
|
347
369
|
}
|
|
348
370
|
},
|
|
349
371
|
updateGroupCollapsed: function updateGroupCollapsed(event) {
|
|
350
|
-
var
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
var collapsed = groupToUpdate.collapsed ? __spreadArrays(groupToUpdate.collapsed) : [];
|
|
372
|
+
var collapsed = this.computedCollapsed;
|
|
373
|
+
var collapsedLevel = collapsed[event.level];
|
|
374
|
+
var uniqueItemValue = groupedFirstItemValue(event.dataItem, this.$props.uniqueField);
|
|
354
375
|
|
|
355
376
|
if (event.value) {
|
|
356
|
-
if (
|
|
357
|
-
var expandedIndex =
|
|
377
|
+
if (collapsedLevel && collapsedLevel.length) {
|
|
378
|
+
var expandedIndex = collapsedLevel.indexOf(uniqueItemValue);
|
|
358
379
|
|
|
359
380
|
if (expandedIndex > -1) {
|
|
360
|
-
|
|
381
|
+
collapsedLevel.splice(expandedIndex, 1);
|
|
361
382
|
}
|
|
362
383
|
}
|
|
363
384
|
} else {
|
|
364
|
-
if (
|
|
365
|
-
if (!
|
|
366
|
-
|
|
385
|
+
if (collapsedLevel) {
|
|
386
|
+
if (!collapsedLevel.includes(uniqueItemValue)) {
|
|
387
|
+
collapsedLevel.push(uniqueItemValue);
|
|
367
388
|
}
|
|
368
389
|
} else {
|
|
369
|
-
|
|
390
|
+
collapsedLevel = [uniqueItemValue];
|
|
370
391
|
}
|
|
371
392
|
}
|
|
372
393
|
|
|
@@ -379,9 +400,8 @@ var GridVue2 = {
|
|
|
379
400
|
var expandChange = hasListener.call(this, 'expandchange');
|
|
380
401
|
|
|
381
402
|
if (expandChange) {
|
|
382
|
-
var collapsed = this.updateGroupCollapsed(event);
|
|
383
403
|
this.$emit('expandchange', __assign(__assign({}, this.getArguments(event.event)), {
|
|
384
|
-
|
|
404
|
+
collapsedGroups: this.updateGroupCollapsed(event),
|
|
385
405
|
dataItem: event.dataItem,
|
|
386
406
|
value: event.value
|
|
387
407
|
}));
|
|
@@ -798,7 +818,7 @@ var GridVue2 = {
|
|
|
798
818
|
if (Array.isArray(this.$props.dataItems)) {
|
|
799
819
|
gridData = this.$props.dataItems;
|
|
800
820
|
} else if (this.$props.dataItems) {
|
|
801
|
-
gridData = applyExpandedState(this.$props.dataItems, this.$props.
|
|
821
|
+
gridData = applyExpandedState(this.$props.dataItems, this.computedCollapsed, this.$props.uniqueField).data;
|
|
802
822
|
total = total || this.$props.dataItems.total;
|
|
803
823
|
}
|
|
804
824
|
|
|
@@ -814,9 +834,9 @@ var GridVue2 = {
|
|
|
814
834
|
} else {
|
|
815
835
|
if (this.$props.totalGroupedHeight) {
|
|
816
836
|
this.vs.containerHeight = Math.min(1533915, this.$props.totalGroupedHeight);
|
|
817
|
-
} else if (this.$props.allGroupedItems) {
|
|
818
|
-
var
|
|
819
|
-
this.vs.containerHeight = Math.min(1533915, this.$props.rowHeight *
|
|
837
|
+
} else if (this.$props.allGroupedItems && this.$props.allGroupedItems.data) {
|
|
838
|
+
var allGroupedTotal = this.totalGroupedRows(applyExpandedState(this.$props.allGroupedItems, this.computedCollapsed, this.$props.uniqueField).data);
|
|
839
|
+
this.vs.containerHeight = Math.min(1533915, this.$props.rowHeight * allGroupedTotal);
|
|
820
840
|
} else {
|
|
821
841
|
this.vs.containerHeight = 1533915;
|
|
822
842
|
}
|
|
@@ -1218,10 +1238,8 @@ var GridVue2 = {
|
|
|
1218
1238
|
columnCellRenderFunction = templateRendering.call(this, column.cell, getListeners.call(this));
|
|
1219
1239
|
}
|
|
1220
1240
|
|
|
1221
|
-
var isCollapsed = this.
|
|
1222
|
-
return
|
|
1223
|
-
return c === item.dataItem[column.field || ''];
|
|
1224
|
-
});
|
|
1241
|
+
var isCollapsed = this.computedCollapsed && this.computedCollapsed[item.level] && this.computedCollapsed[item.level].some(function (c) {
|
|
1242
|
+
return c === groupedFirstItemValue(item.dataItem, _this.$props.uniqueField);
|
|
1225
1243
|
});
|
|
1226
1244
|
var isExpanded = isCollapsed ? !isCollapsed : item.expanded;
|
|
1227
1245
|
|
|
@@ -1432,7 +1450,7 @@ var GridVue2 = {
|
|
|
1432
1450
|
|
|
1433
1451
|
var hiddenRows = 0;
|
|
1434
1452
|
|
|
1435
|
-
if (this.$props.scrollable === 'virtual' && this.totalGroupedRows(this.currentData) > this.$props.take) {
|
|
1453
|
+
if (this.$props.scrollable === 'virtual' && this.totalGroupedRows(this.currentData) / 2 > this.$props.take) {
|
|
1436
1454
|
var topIndex = this.vs.topCacheCount + this.vs.attendedSkip - (this.$props.skip || 0);
|
|
1437
1455
|
|
|
1438
1456
|
for (var i = 0; i < topIndex; i++) {
|
package/dist/es/VirtualScroll.js
CHANGED
|
@@ -61,6 +61,7 @@ var GridGroupCellVue2 = {
|
|
|
61
61
|
dataItem: this.$props.dataItem,
|
|
62
62
|
dataIndex: this.$props.dataIndex,
|
|
63
63
|
event: event,
|
|
64
|
+
level: this.$props.level,
|
|
64
65
|
field: undefined,
|
|
65
66
|
value: !expanded
|
|
66
67
|
});
|
|
@@ -72,6 +73,7 @@ var GridGroupCellVue2 = {
|
|
|
72
73
|
dataItem: dataItem,
|
|
73
74
|
dataIndex: this.$props.dataIndex,
|
|
74
75
|
event: e,
|
|
76
|
+
level: this.$props.level,
|
|
75
77
|
field: undefined,
|
|
76
78
|
value: !expanded
|
|
77
79
|
});
|
|
@@ -288,6 +288,14 @@ export interface GridProps {
|
|
|
288
288
|
* Passes the collection of all grouped items that is needed for the virtualization scenario.
|
|
289
289
|
*/
|
|
290
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;
|
|
291
299
|
/**
|
|
292
300
|
* Fires when Grid keyboard navigation position is changed.
|
|
293
301
|
*/
|
|
@@ -5,7 +5,7 @@ export var packageMetadata = {
|
|
|
5
5
|
name: '@progress/kendo-vue-grid',
|
|
6
6
|
productName: 'Kendo UI for Vue',
|
|
7
7
|
productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
|
|
8
|
-
publishDate:
|
|
8
|
+
publishDate: 1644488047,
|
|
9
9
|
version: '',
|
|
10
10
|
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'
|
|
11
11
|
};
|
package/dist/es/utils/index.d.ts
CHANGED
|
@@ -84,4 +84,8 @@ export declare const parsers: {
|
|
|
84
84
|
/**
|
|
85
85
|
* @hidden
|
|
86
86
|
*/
|
|
87
|
-
export declare function applyExpandedState(sdata: DataResult,
|
|
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;
|
package/dist/es/utils/index.js
CHANGED
|
@@ -356,13 +356,11 @@ export var parsers = {
|
|
|
356
356
|
/**
|
|
357
357
|
* @hidden
|
|
358
358
|
*/
|
|
359
|
-
function updateItemsExpanded(items,
|
|
359
|
+
function updateItemsExpanded(items, collapsed, uniqueField, level) {
|
|
360
360
|
items.forEach(function (di) {
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
else if (di.items && di.items.length) {
|
|
365
|
-
di.items = updateItemsExpanded(di.items, field, collapsed);
|
|
361
|
+
di.expanded = collapsed[level] && !collapsed[level].includes(groupedFirstItemValue(di, uniqueField));
|
|
362
|
+
if (di.items && di.items.length) {
|
|
363
|
+
di.items = updateItemsExpanded(di.items, collapsed, uniqueField, level + 1);
|
|
366
364
|
}
|
|
367
365
|
});
|
|
368
366
|
return items;
|
|
@@ -370,20 +368,24 @@ function updateItemsExpanded(items, field, collapsed) {
|
|
|
370
368
|
/**
|
|
371
369
|
* @hidden
|
|
372
370
|
*/
|
|
373
|
-
export function applyExpandedState(sdata,
|
|
374
|
-
if (
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
di.expanded = !gr.collapsed.includes(di.value);
|
|
380
|
-
}
|
|
381
|
-
else if (di.items && di.items.length) {
|
|
382
|
-
di.items = updateItemsExpanded(di.items, gr.field, gr.collapsed);
|
|
383
|
-
}
|
|
384
|
-
});
|
|
371
|
+
export function applyExpandedState(sdata, collapsed, uniqueField) {
|
|
372
|
+
if (collapsed && collapsed.length) {
|
|
373
|
+
sdata.data.forEach(function (di) {
|
|
374
|
+
di.expanded = collapsed[0] && !collapsed[0].includes(groupedFirstItemValue(di, uniqueField));
|
|
375
|
+
if (di.items && di.items.length) {
|
|
376
|
+
di.items = updateItemsExpanded(di.items, collapsed, uniqueField, 1);
|
|
385
377
|
}
|
|
386
378
|
});
|
|
387
379
|
}
|
|
388
380
|
return sdata;
|
|
389
381
|
}
|
|
382
|
+
/**
|
|
383
|
+
* @hidden
|
|
384
|
+
*/
|
|
385
|
+
export function groupedFirstItemValue(item, field) {
|
|
386
|
+
var resultItem = item;
|
|
387
|
+
while (resultItem.items && resultItem.items.length) {
|
|
388
|
+
resultItem = resultItem.items[0];
|
|
389
|
+
}
|
|
390
|
+
return field ? resultItem[field] : item.value;
|
|
391
|
+
}
|
package/dist/npm/Grid.d.ts
CHANGED
package/dist/npm/Grid.js
CHANGED
|
@@ -122,8 +122,15 @@ var GridVue2 = {
|
|
|
122
122
|
props: {
|
|
123
123
|
topCacheCount: {
|
|
124
124
|
type: Number,
|
|
125
|
-
default:
|
|
125
|
+
default: 0
|
|
126
126
|
},
|
|
127
|
+
collapsedGroups: {
|
|
128
|
+
type: Array,
|
|
129
|
+
default: function _default() {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
uniqueField: String,
|
|
127
134
|
totalGroupedHeight: Number,
|
|
128
135
|
allGroupedItems: Object,
|
|
129
136
|
alternatePerGroup: Boolean,
|
|
@@ -237,6 +244,21 @@ var GridVue2 = {
|
|
|
237
244
|
},
|
|
238
245
|
currentGroupable: function currentGroupable() {
|
|
239
246
|
return this.$props.groupable === true && this.$props.group && this.$props.group.length || _typeof(this.$props.groupable) === 'object' && this.$props.groupable.enabled !== false;
|
|
247
|
+
},
|
|
248
|
+
computedCollapsed: function computedCollapsed() {
|
|
249
|
+
var newCollapsed = [];
|
|
250
|
+
|
|
251
|
+
if (this.$props.group) {
|
|
252
|
+
for (var i = 0; i < this.$props.group.length; i++) {
|
|
253
|
+
if (this.$props.collapsedGroups[i]) {
|
|
254
|
+
newCollapsed.push(this.$props.collapsedGroups[i]);
|
|
255
|
+
} else {
|
|
256
|
+
newCollapsed.push([]);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
return newCollapsed;
|
|
240
262
|
}
|
|
241
263
|
},
|
|
242
264
|
methods: {
|
|
@@ -383,26 +405,25 @@ var GridVue2 = {
|
|
|
383
405
|
}
|
|
384
406
|
},
|
|
385
407
|
updateGroupCollapsed: function updateGroupCollapsed(event) {
|
|
386
|
-
var
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
var collapsed = groupToUpdate.collapsed ? __spreadArrays(groupToUpdate.collapsed) : [];
|
|
408
|
+
var collapsed = this.computedCollapsed;
|
|
409
|
+
var collapsedLevel = collapsed[event.level];
|
|
410
|
+
var uniqueItemValue = index_1.groupedFirstItemValue(event.dataItem, this.$props.uniqueField);
|
|
390
411
|
|
|
391
412
|
if (event.value) {
|
|
392
|
-
if (
|
|
393
|
-
var expandedIndex =
|
|
413
|
+
if (collapsedLevel && collapsedLevel.length) {
|
|
414
|
+
var expandedIndex = collapsedLevel.indexOf(uniqueItemValue);
|
|
394
415
|
|
|
395
416
|
if (expandedIndex > -1) {
|
|
396
|
-
|
|
417
|
+
collapsedLevel.splice(expandedIndex, 1);
|
|
397
418
|
}
|
|
398
419
|
}
|
|
399
420
|
} else {
|
|
400
|
-
if (
|
|
401
|
-
if (!
|
|
402
|
-
|
|
421
|
+
if (collapsedLevel) {
|
|
422
|
+
if (!collapsedLevel.includes(uniqueItemValue)) {
|
|
423
|
+
collapsedLevel.push(uniqueItemValue);
|
|
403
424
|
}
|
|
404
425
|
} else {
|
|
405
|
-
|
|
426
|
+
collapsedLevel = [uniqueItemValue];
|
|
406
427
|
}
|
|
407
428
|
}
|
|
408
429
|
|
|
@@ -415,9 +436,8 @@ var GridVue2 = {
|
|
|
415
436
|
var expandChange = kendo_vue_common_1.hasListener.call(this, 'expandchange');
|
|
416
437
|
|
|
417
438
|
if (expandChange) {
|
|
418
|
-
var collapsed = this.updateGroupCollapsed(event);
|
|
419
439
|
this.$emit('expandchange', __assign(__assign({}, this.getArguments(event.event)), {
|
|
420
|
-
|
|
440
|
+
collapsedGroups: this.updateGroupCollapsed(event),
|
|
421
441
|
dataItem: event.dataItem,
|
|
422
442
|
value: event.value
|
|
423
443
|
}));
|
|
@@ -834,7 +854,7 @@ var GridVue2 = {
|
|
|
834
854
|
if (Array.isArray(this.$props.dataItems)) {
|
|
835
855
|
gridData = this.$props.dataItems;
|
|
836
856
|
} else if (this.$props.dataItems) {
|
|
837
|
-
gridData = index_1.applyExpandedState(this.$props.dataItems, this.$props.
|
|
857
|
+
gridData = index_1.applyExpandedState(this.$props.dataItems, this.computedCollapsed, this.$props.uniqueField).data;
|
|
838
858
|
total = total || this.$props.dataItems.total;
|
|
839
859
|
}
|
|
840
860
|
|
|
@@ -850,9 +870,9 @@ var GridVue2 = {
|
|
|
850
870
|
} else {
|
|
851
871
|
if (this.$props.totalGroupedHeight) {
|
|
852
872
|
this.vs.containerHeight = Math.min(1533915, this.$props.totalGroupedHeight);
|
|
853
|
-
} else if (this.$props.allGroupedItems) {
|
|
854
|
-
var
|
|
855
|
-
this.vs.containerHeight = Math.min(1533915, this.$props.rowHeight *
|
|
873
|
+
} else if (this.$props.allGroupedItems && this.$props.allGroupedItems.data) {
|
|
874
|
+
var allGroupedTotal = this.totalGroupedRows(index_1.applyExpandedState(this.$props.allGroupedItems, this.computedCollapsed, this.$props.uniqueField).data);
|
|
875
|
+
this.vs.containerHeight = Math.min(1533915, this.$props.rowHeight * allGroupedTotal);
|
|
856
876
|
} else {
|
|
857
877
|
this.vs.containerHeight = 1533915;
|
|
858
878
|
}
|
|
@@ -1254,10 +1274,8 @@ var GridVue2 = {
|
|
|
1254
1274
|
columnCellRenderFunction = kendo_vue_common_1.templateRendering.call(this, column.cell, kendo_vue_common_1.getListeners.call(this));
|
|
1255
1275
|
}
|
|
1256
1276
|
|
|
1257
|
-
var isCollapsed = this.
|
|
1258
|
-
return
|
|
1259
|
-
return c === item.dataItem[column.field || ''];
|
|
1260
|
-
});
|
|
1277
|
+
var isCollapsed = this.computedCollapsed && this.computedCollapsed[item.level] && this.computedCollapsed[item.level].some(function (c) {
|
|
1278
|
+
return c === index_1.groupedFirstItemValue(item.dataItem, _this.$props.uniqueField);
|
|
1261
1279
|
});
|
|
1262
1280
|
var isExpanded = isCollapsed ? !isCollapsed : item.expanded;
|
|
1263
1281
|
|
|
@@ -1468,7 +1486,7 @@ var GridVue2 = {
|
|
|
1468
1486
|
|
|
1469
1487
|
var hiddenRows = 0;
|
|
1470
1488
|
|
|
1471
|
-
if (this.$props.scrollable === 'virtual' && this.totalGroupedRows(this.currentData) > this.$props.take) {
|
|
1489
|
+
if (this.$props.scrollable === 'virtual' && this.totalGroupedRows(this.currentData) / 2 > this.$props.take) {
|
|
1472
1490
|
var topIndex = this.vs.topCacheCount + this.vs.attendedSkip - (this.$props.skip || 0);
|
|
1473
1491
|
|
|
1474
1492
|
for (var i = 0; i < topIndex; i++) {
|
|
@@ -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
|
});
|
|
@@ -288,6 +288,14 @@ export interface GridProps {
|
|
|
288
288
|
* Passes the collection of all grouped items that is needed for the virtualization scenario.
|
|
289
289
|
*/
|
|
290
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;
|
|
291
299
|
/**
|
|
292
300
|
* Fires when Grid keyboard navigation position is changed.
|
|
293
301
|
*/
|
|
@@ -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:
|
|
11
|
+
publishDate: 1644488047,
|
|
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
|
};
|
|
@@ -84,4 +84,8 @@ export declare const parsers: {
|
|
|
84
84
|
/**
|
|
85
85
|
* @hidden
|
|
86
86
|
*/
|
|
87
|
-
export declare function applyExpandedState(sdata: DataResult,
|
|
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;
|
package/dist/npm/utils/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.applyExpandedState = 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';
|
|
@@ -367,13 +367,11 @@ exports.parsers = {
|
|
|
367
367
|
/**
|
|
368
368
|
* @hidden
|
|
369
369
|
*/
|
|
370
|
-
function updateItemsExpanded(items,
|
|
370
|
+
function updateItemsExpanded(items, collapsed, uniqueField, level) {
|
|
371
371
|
items.forEach(function (di) {
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
else if (di.items && di.items.length) {
|
|
376
|
-
di.items = updateItemsExpanded(di.items, field, collapsed);
|
|
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);
|
|
377
375
|
}
|
|
378
376
|
});
|
|
379
377
|
return items;
|
|
@@ -381,21 +379,26 @@ function updateItemsExpanded(items, field, collapsed) {
|
|
|
381
379
|
/**
|
|
382
380
|
* @hidden
|
|
383
381
|
*/
|
|
384
|
-
function applyExpandedState(sdata,
|
|
385
|
-
if (
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
di.expanded = !gr.collapsed.includes(di.value);
|
|
391
|
-
}
|
|
392
|
-
else if (di.items && di.items.length) {
|
|
393
|
-
di.items = updateItemsExpanded(di.items, gr.field, gr.collapsed);
|
|
394
|
-
}
|
|
395
|
-
});
|
|
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);
|
|
396
388
|
}
|
|
397
389
|
});
|
|
398
390
|
}
|
|
399
391
|
return sdata;
|
|
400
392
|
}
|
|
401
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.
|
|
3
|
+
"version": "3.0.6-dev.202202101018",
|
|
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.
|
|
37
|
+
"@progress/kendo-vue-common": "3.0.6-dev.202202101018"
|
|
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.
|
|
44
|
-
"@progress/kendo-vue-buttons": "3.0.
|
|
45
|
-
"@progress/kendo-vue-charts": "3.0.
|
|
46
|
-
"@progress/kendo-vue-data-tools": "3.0.
|
|
47
|
-
"@progress/kendo-vue-dateinputs": "3.0.
|
|
48
|
-
"@progress/kendo-vue-dropdowns": "3.0.
|
|
49
|
-
"@progress/kendo-vue-excel-export": "3.0.
|
|
50
|
-
"@progress/kendo-vue-inputs": "3.0.
|
|
51
|
-
"@progress/kendo-vue-intl": "3.0.
|
|
52
|
-
"@progress/kendo-vue-pdf": "3.0.
|
|
53
|
-
"@progress/kendo-vue-popup": "3.0.
|
|
43
|
+
"@progress/kendo-vue-animation": "3.0.6-dev.202202101018",
|
|
44
|
+
"@progress/kendo-vue-buttons": "3.0.6-dev.202202101018",
|
|
45
|
+
"@progress/kendo-vue-charts": "3.0.6-dev.202202101018",
|
|
46
|
+
"@progress/kendo-vue-data-tools": "3.0.6-dev.202202101018",
|
|
47
|
+
"@progress/kendo-vue-dateinputs": "3.0.6-dev.202202101018",
|
|
48
|
+
"@progress/kendo-vue-dropdowns": "3.0.6-dev.202202101018",
|
|
49
|
+
"@progress/kendo-vue-excel-export": "3.0.6-dev.202202101018",
|
|
50
|
+
"@progress/kendo-vue-inputs": "3.0.6-dev.202202101018",
|
|
51
|
+
"@progress/kendo-vue-intl": "3.0.6-dev.202202101018",
|
|
52
|
+
"@progress/kendo-vue-pdf": "3.0.6-dev.202202101018",
|
|
53
|
+
"@progress/kendo-vue-popup": "3.0.6-dev.202202101018",
|
|
54
54
|
"cldr-core": "^34.0.0",
|
|
55
55
|
"cldr-dates-full": "^34.0.0",
|
|
56
56
|
"cldr-numbers-full": "^34.0.0",
|