@progress/kendo-angular-grid 19.2.0-develop.13 → 19.2.0-develop.2
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/README.md +3 -8
- package/aggregates/selection-aggregate.service.d.ts +3 -1
- package/column-menu/column-menu-item.directive.d.ts +1 -1
- package/common/provider.service.d.ts +1 -2
- package/databinding.directive.d.ts +1 -2
- package/esm2022/aggregates/selection-aggregate.service.mjs +8 -4
- package/esm2022/column-menu/column-menu-item.directive.mjs +1 -1
- package/esm2022/common/provider.service.mjs +1 -1
- package/esm2022/databinding.directive.mjs +3 -6
- package/esm2022/grid.component.mjs +11 -16
- package/esm2022/grouping/group-scroll-binding.directive.mjs +2 -2
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/rendering/list.component.mjs +31 -32
- package/esm2022/selection/selection-checkbox.directive.mjs +1 -1
- package/esm2022/selection/selection.service.mjs +4 -23
- package/esm2022/state-management/undo-redo.directive.mjs +24 -84
- package/esm2022/state-management/undo-redo.service.mjs +1 -0
- package/esm2022/state-management/undo-redo.stack.mjs +0 -6
- package/esm2022/utils.mjs +0 -4
- package/fesm2022/progress-kendo-angular-grid.mjs +84 -171
- package/grid.component.d.ts +3 -2
- package/package.json +20 -20
- package/rendering/list.component.d.ts +1 -1
- package/schematics/ngAdd/index.js +4 -4
- package/selection/selection.service.d.ts +1 -1
- package/state-management/undo-redo.directive.d.ts +2 -13
- package/state-management/undo-redo.service.d.ts +2 -0
- package/state-management/undo-redo.stack.d.ts +0 -2
|
@@ -532,9 +532,6 @@ const isMultipleRangesEnabled = (selectableSettings) => {
|
|
|
532
532
|
*/
|
|
533
533
|
const calcRowHeight = (tableBody) => {
|
|
534
534
|
let result = 0;
|
|
535
|
-
if (!isDocumentAvailable()) {
|
|
536
|
-
return result;
|
|
537
|
-
}
|
|
538
535
|
if (tableBody) {
|
|
539
536
|
const row = tableBody.insertRow(0);
|
|
540
537
|
const cell = row.insertCell(0);
|
|
@@ -868,7 +865,7 @@ class ContextService {
|
|
|
868
865
|
topToolbarNavigation;
|
|
869
866
|
bottomToolbarNavigation;
|
|
870
867
|
navigable;
|
|
871
|
-
|
|
868
|
+
groupBindingDirective;
|
|
872
869
|
constructor(renderer, localization) {
|
|
873
870
|
this.renderer = renderer;
|
|
874
871
|
this.localization = localization;
|
|
@@ -14139,7 +14136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
14139
14136
|
}] } });
|
|
14140
14137
|
|
|
14141
14138
|
/**
|
|
14142
|
-
* Represents a directive that manages keyboard navigation for a column menu item
|
|
14139
|
+
* Represents a directive that manages keyboard navigation for a column menu item. [See example](slug:columnmenu_grid#customizing-the-content).
|
|
14143
14140
|
*
|
|
14144
14141
|
* @example
|
|
14145
14142
|
* ```html
|
|
@@ -16675,6 +16672,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
16675
16672
|
*/
|
|
16676
16673
|
class CellSelectionAggregateService {
|
|
16677
16674
|
ctx;
|
|
16675
|
+
dataChanges;
|
|
16678
16676
|
columnInfoService;
|
|
16679
16677
|
selectedItems = [];
|
|
16680
16678
|
groupedAggregates = { dates: [], numbers: [], booleans: [] };
|
|
@@ -16690,8 +16688,9 @@ class CellSelectionAggregateService {
|
|
|
16690
16688
|
latest: null
|
|
16691
16689
|
};
|
|
16692
16690
|
sub = new Subscription();
|
|
16693
|
-
constructor(ctx, columnInfoService) {
|
|
16691
|
+
constructor(ctx, dataChanges, columnInfoService) {
|
|
16694
16692
|
this.ctx = ctx;
|
|
16693
|
+
this.dataChanges = dataChanges;
|
|
16695
16694
|
this.columnInfoService = columnInfoService;
|
|
16696
16695
|
}
|
|
16697
16696
|
ngOnDestroy() {
|
|
@@ -16852,12 +16851,12 @@ class CellSelectionAggregateService {
|
|
|
16852
16851
|
this.aggregates['isFalse'] = this.aggregates['isTrue'] = null;
|
|
16853
16852
|
this.aggregates['earliest'] = this.aggregates['latest'] = null;
|
|
16854
16853
|
}
|
|
16855
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellSelectionAggregateService, deps: [{ token: ContextService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16854
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellSelectionAggregateService, deps: [{ token: ContextService }, { token: LocalDataChangesService }, { token: ColumnInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16856
16855
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellSelectionAggregateService });
|
|
16857
16856
|
}
|
|
16858
16857
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellSelectionAggregateService, decorators: [{
|
|
16859
16858
|
type: Injectable
|
|
16860
|
-
}], ctorParameters: function () { return [{ type: ContextService }, { type: ColumnInfoService }]; } });
|
|
16859
|
+
}], ctorParameters: function () { return [{ type: ContextService }, { type: LocalDataChangesService }, { type: ColumnInfoService }]; } });
|
|
16861
16860
|
|
|
16862
16861
|
/**
|
|
16863
16862
|
* @hidden
|
|
@@ -16986,8 +16985,6 @@ class SelectionService {
|
|
|
16986
16985
|
if (ev.shiftKey) {
|
|
16987
16986
|
ev.rangeStartRow = { dataItem: this.lastSelectionData, index: this.lastSelectionStartIndex };
|
|
16988
16987
|
ev.rangeEndRow = { dataItem: item.data, index: item.index };
|
|
16989
|
-
this.lastSelectionData = item.data;
|
|
16990
|
-
this.lastSelectionStartIndex = item.index;
|
|
16991
16988
|
}
|
|
16992
16989
|
this.syncCurrentSelection(ev);
|
|
16993
16990
|
this.changes.emit(ev);
|
|
@@ -17076,14 +17073,13 @@ class SelectionService {
|
|
|
17076
17073
|
item = iterator.next();
|
|
17077
17074
|
}
|
|
17078
17075
|
}
|
|
17079
|
-
addAllTo(item, ctrlKey, preserveSelection = false
|
|
17076
|
+
addAllTo(item, ctrlKey, preserveSelection = false) {
|
|
17080
17077
|
const selectedRows = [];
|
|
17081
17078
|
const deselectedRows = [];
|
|
17082
17079
|
const start = Math.min(this.lastSelectionStartIndex, item.index);
|
|
17083
17080
|
const end = Math.max(this.lastSelectionStartIndex, item.index);
|
|
17084
17081
|
const iterator = this.getIterator();
|
|
17085
17082
|
let next = iterator.next();
|
|
17086
|
-
let selectedItem;
|
|
17087
17083
|
while (!next.done) {
|
|
17088
17084
|
if (next.value && next.value.type === "data") {
|
|
17089
17085
|
const idx = next.value.index;
|
|
@@ -17094,9 +17090,6 @@ class SelectionService {
|
|
|
17094
17090
|
if ((idx >= start && idx <= end) && !this.isSelected(idx) && !this.nonSelectableRows.has(idx)) {
|
|
17095
17091
|
selectedRows.push(rowArgs);
|
|
17096
17092
|
}
|
|
17097
|
-
if (idx === item.index && !this.nonSelectableRows.has(idx)) {
|
|
17098
|
-
selectedItem = rowArgs;
|
|
17099
|
-
}
|
|
17100
17093
|
}
|
|
17101
17094
|
next = iterator.next();
|
|
17102
17095
|
}
|
|
@@ -17104,23 +17097,10 @@ class SelectionService {
|
|
|
17104
17097
|
const nonSelectableRows = this.currentSelection.filter(i => this.nonSelectableRows.has(i.index));
|
|
17105
17098
|
deselectedRows.push(...nonSelectableRows);
|
|
17106
17099
|
}
|
|
17107
|
-
|
|
17108
|
-
deselectedRows,
|
|
17109
|
-
selectedRows
|
|
17100
|
+
return {
|
|
17101
|
+
deselectedRows: deselectedRows,
|
|
17102
|
+
selectedRows: selectedRows
|
|
17110
17103
|
};
|
|
17111
|
-
if (shiftKey && selectedItem) {
|
|
17112
|
-
selectionEvent.rangeStartRow = {
|
|
17113
|
-
dataItem: this.lastSelectionData,
|
|
17114
|
-
index: this.lastSelectionStartIndex
|
|
17115
|
-
};
|
|
17116
|
-
selectionEvent.rangeEndRow = {
|
|
17117
|
-
dataItem: selectedItem.dataItem,
|
|
17118
|
-
index: selectedItem.index
|
|
17119
|
-
};
|
|
17120
|
-
this.lastSelectionData = selectedItem.dataItem;
|
|
17121
|
-
this.lastSelectionStartIndex = selectedItem.index;
|
|
17122
|
-
}
|
|
17123
|
-
return selectionEvent;
|
|
17124
17104
|
}
|
|
17125
17105
|
updateAll(selectAllChecked) {
|
|
17126
17106
|
this.selectAllChecked = selectAllChecked;
|
|
@@ -19109,7 +19089,7 @@ class SelectionCheckboxDirective {
|
|
|
19109
19089
|
const ctrlKey = event.ctrlKey || event.metaKey;
|
|
19110
19090
|
if (event.shiftKey && this.selectionService.options.mode === 'multiple') {
|
|
19111
19091
|
const item = { index: this.itemIndex };
|
|
19112
|
-
ev = this.selectionService.addAllTo(item, ctrlKey
|
|
19092
|
+
ev = this.selectionService.addAllTo(item, ctrlKey);
|
|
19113
19093
|
}
|
|
19114
19094
|
else {
|
|
19115
19095
|
ev = this.selectionService.toggleByIndex(this.itemIndex);
|
|
@@ -21214,8 +21194,8 @@ const packageMetadata = {
|
|
|
21214
21194
|
productName: 'Kendo UI for Angular',
|
|
21215
21195
|
productCode: 'KENDOUIANGULAR',
|
|
21216
21196
|
productCodes: ['KENDOUIANGULAR'],
|
|
21217
|
-
publishDate:
|
|
21218
|
-
version: '19.2.0-develop.
|
|
21197
|
+
publishDate: 1750841713,
|
|
21198
|
+
version: '19.2.0-develop.2',
|
|
21219
21199
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
21220
21200
|
};
|
|
21221
21201
|
|
|
@@ -23596,8 +23576,7 @@ class ListComponent {
|
|
|
23596
23576
|
if (this.virtualColumns && (!this.viewportColumns || this.viewportWidthChange())) {
|
|
23597
23577
|
this.updateViewportColumns();
|
|
23598
23578
|
}
|
|
23599
|
-
|
|
23600
|
-
if (shouldCalculatePageSize) {
|
|
23579
|
+
if (this.isVirtual && this.ctx.grid && !this.ctx.grid.pageSize) {
|
|
23601
23580
|
const calculatedPageSize = this.calcVirtualPageSize();
|
|
23602
23581
|
if (calculatedPageSize > 0) {
|
|
23603
23582
|
this.ngZone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => {
|
|
@@ -23679,36 +23658,6 @@ class ListComponent {
|
|
|
23679
23658
|
args.preventDefault();
|
|
23680
23659
|
}
|
|
23681
23660
|
}
|
|
23682
|
-
updateViewportColumns(range) {
|
|
23683
|
-
const columns = this.columns.nonLockedLeafColumns.toArray();
|
|
23684
|
-
// eslint-disable-next-line prefer-const
|
|
23685
|
-
let { startIdx, endIdx, offset } = range || this.calculateViewportColumns();
|
|
23686
|
-
const start = Math.max(0, startIdx - bufferSize);
|
|
23687
|
-
const end = Math.min(endIdx + bufferSize, columns.length - 1);
|
|
23688
|
-
if (start < startIdx) {
|
|
23689
|
-
for (let idx = startIdx - 1; idx >= start; idx--) {
|
|
23690
|
-
offset -= columns[idx].width;
|
|
23691
|
-
}
|
|
23692
|
-
}
|
|
23693
|
-
let currentColumns = columns.slice(start, end + 1);
|
|
23694
|
-
this.viewportColumnsWidth = currentColumns.reduce((total, column) => total + column.width, 0);
|
|
23695
|
-
const stickyBeforeStart = columns.slice(0, start).filter(c => c.sticky && !currentColumns.some(col => col === c));
|
|
23696
|
-
const stickyAfterEnd = columns.slice(end, columns.length).filter(c => c.sticky && !currentColumns.some(col => col === c));
|
|
23697
|
-
currentColumns = [...stickyBeforeStart, ...currentColumns, ...stickyAfterEnd];
|
|
23698
|
-
if (start > 0) {
|
|
23699
|
-
const offsetColumn = new ColumnBase();
|
|
23700
|
-
offsetColumn.width = offset;
|
|
23701
|
-
currentColumns.unshift(offsetColumn);
|
|
23702
|
-
}
|
|
23703
|
-
this.viewportColumns = new QueryList();
|
|
23704
|
-
this.viewportColumns.reset(currentColumns);
|
|
23705
|
-
this.columnsStartIdx = start;
|
|
23706
|
-
this.columnsEndIdx = end;
|
|
23707
|
-
this.columnInfo.columnRangeChange.emit({ start, end, offset });
|
|
23708
|
-
if (!range) {
|
|
23709
|
-
this.updateColumnViewport(startIdx, endIdx);
|
|
23710
|
-
}
|
|
23711
|
-
}
|
|
23712
23661
|
detailExpand({ index, expand }) {
|
|
23713
23662
|
if (expand) {
|
|
23714
23663
|
this.rowHeightService.expandDetail(index);
|
|
@@ -23934,6 +23883,36 @@ class ListComponent {
|
|
|
23934
23883
|
})
|
|
23935
23884
|
.forEach(setHeight(this.renderer));
|
|
23936
23885
|
}
|
|
23886
|
+
updateViewportColumns(range) {
|
|
23887
|
+
const columns = this.columns.nonLockedLeafColumns.toArray();
|
|
23888
|
+
// eslint-disable-next-line prefer-const
|
|
23889
|
+
let { startIdx, endIdx, offset } = range || this.calculateViewportColumns();
|
|
23890
|
+
const start = Math.max(0, startIdx - bufferSize);
|
|
23891
|
+
const end = Math.min(endIdx + bufferSize, columns.length - 1);
|
|
23892
|
+
if (start < startIdx) {
|
|
23893
|
+
for (let idx = startIdx - 1; idx >= start; idx--) {
|
|
23894
|
+
offset -= columns[idx].width;
|
|
23895
|
+
}
|
|
23896
|
+
}
|
|
23897
|
+
let currentColumns = columns.slice(start, end + 1);
|
|
23898
|
+
this.viewportColumnsWidth = currentColumns.reduce((total, column) => total + column.width, 0);
|
|
23899
|
+
const stickyBeforeStart = columns.slice(0, start).filter(c => c.sticky && !currentColumns.some(col => col === c));
|
|
23900
|
+
const stickyAfterEnd = columns.slice(end, columns.length).filter(c => c.sticky && !currentColumns.some(col => col === c));
|
|
23901
|
+
currentColumns = [...stickyBeforeStart, ...currentColumns, ...stickyAfterEnd];
|
|
23902
|
+
if (start > 0) {
|
|
23903
|
+
const offsetColumn = new ColumnBase();
|
|
23904
|
+
offsetColumn.width = offset;
|
|
23905
|
+
currentColumns.unshift(offsetColumn);
|
|
23906
|
+
}
|
|
23907
|
+
this.viewportColumns = new QueryList();
|
|
23908
|
+
this.viewportColumns.reset(currentColumns);
|
|
23909
|
+
this.columnsStartIdx = start;
|
|
23910
|
+
this.columnsEndIdx = end;
|
|
23911
|
+
this.columnInfo.columnRangeChange.emit({ start, end, offset });
|
|
23912
|
+
if (!range) {
|
|
23913
|
+
this.updateColumnViewport(startIdx, endIdx);
|
|
23914
|
+
}
|
|
23915
|
+
}
|
|
23937
23916
|
handleColumnScroll() {
|
|
23938
23917
|
const container = this.container.nativeElement;
|
|
23939
23918
|
const scrollLeft = container.scrollLeft;
|
|
@@ -28437,8 +28416,10 @@ class GridComponent {
|
|
|
28437
28416
|
dragTargetContainer;
|
|
28438
28417
|
dropTargetContainer;
|
|
28439
28418
|
dialogContainer;
|
|
28419
|
+
/**
|
|
28420
|
+
* @hidden
|
|
28421
|
+
*/
|
|
28440
28422
|
adaptiveRenderer;
|
|
28441
|
-
listComponent;
|
|
28442
28423
|
get scrollbarWidth() {
|
|
28443
28424
|
return this.supportService.scrollbarWidth;
|
|
28444
28425
|
}
|
|
@@ -29123,12 +29104,12 @@ class GridComponent {
|
|
|
29123
29104
|
this.sort = state.sort;
|
|
29124
29105
|
this.group = state.group;
|
|
29125
29106
|
this.filter = state.filter;
|
|
29107
|
+
this.group = state.group;
|
|
29126
29108
|
this.skip = state.skip;
|
|
29127
29109
|
this.pageSize = state.take;
|
|
29128
|
-
|
|
29129
|
-
|
|
29130
|
-
|
|
29131
|
-
this.changeDetectorRef.markForCheck();
|
|
29110
|
+
this.data = state.currentData;
|
|
29111
|
+
this.changeNotification.notify();
|
|
29112
|
+
this.changeDetectorRef.detectChanges();
|
|
29132
29113
|
}
|
|
29133
29114
|
traverseColumns(columns, callback) {
|
|
29134
29115
|
columns.forEach((column) => {
|
|
@@ -29339,9 +29320,6 @@ class GridComponent {
|
|
|
29339
29320
|
source.locked = target.locked;
|
|
29340
29321
|
}
|
|
29341
29322
|
this.columnsContainer.refresh();
|
|
29342
|
-
if (this.virtualColumns) {
|
|
29343
|
-
this.listComponent.updateViewportColumns();
|
|
29344
|
-
}
|
|
29345
29323
|
this.changeDetectorRef.markForCheck();
|
|
29346
29324
|
});
|
|
29347
29325
|
}
|
|
@@ -29764,8 +29742,7 @@ class GridComponent {
|
|
|
29764
29742
|
column = toAdd.shift();
|
|
29765
29743
|
viewportColumns.push(column);
|
|
29766
29744
|
if (column.isColumnGroup) {
|
|
29767
|
-
|
|
29768
|
-
toAdd.unshift(...children);
|
|
29745
|
+
toAdd.unshift(...column.childrenArray);
|
|
29769
29746
|
}
|
|
29770
29747
|
}
|
|
29771
29748
|
const lastFromGroup = viewportColumns[viewportColumns.length - 1];
|
|
@@ -29821,8 +29798,8 @@ class GridComponent {
|
|
|
29821
29798
|
}
|
|
29822
29799
|
if (this.groupsService.isExpanded({ groupIndex: index }) !== expand) {
|
|
29823
29800
|
this.groupsService.toggleRow({ index }, false);
|
|
29824
|
-
if (this.ctx.
|
|
29825
|
-
this.ctx.
|
|
29801
|
+
if (this.ctx.groupBindingDirective) {
|
|
29802
|
+
this.ctx.groupBindingDirective[`group${expand ? 'Expand' : 'Collapse'}`]({ groupIndex: index });
|
|
29826
29803
|
}
|
|
29827
29804
|
}
|
|
29828
29805
|
}
|
|
@@ -29895,7 +29872,7 @@ class GridComponent {
|
|
|
29895
29872
|
ColumnMenuService,
|
|
29896
29873
|
MenuTabbingService,
|
|
29897
29874
|
DataMappingService
|
|
29898
|
-
], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { propertyName: "statusBarTemplateChildren", predicate: StatusBarTemplateDirective }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "adaptiveRenderer", first: true, predicate: AdaptiveRendererComponent, descendants: true }, { propertyName: "
|
|
29875
|
+
], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { propertyName: "statusBarTemplateChildren", predicate: StatusBarTemplateDirective }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "dialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "adaptiveRenderer", first: true, predicate: AdaptiveRendererComponent, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
|
|
29899
29876
|
<ng-container kendoGridLocalizedMessages
|
|
29900
29877
|
i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
|
|
29901
29878
|
groupPanelEmpty="Drag a column header and drop it here to group by that column"
|
|
@@ -31712,9 +31689,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
31712
31689
|
}], adaptiveRenderer: [{
|
|
31713
31690
|
type: ViewChild,
|
|
31714
31691
|
args: [AdaptiveRendererComponent]
|
|
31715
|
-
}], listComponent: [{
|
|
31716
|
-
type: ViewChild,
|
|
31717
|
-
args: [ListComponent]
|
|
31718
31692
|
}] } });
|
|
31719
31693
|
|
|
31720
31694
|
/**
|
|
@@ -31843,7 +31817,7 @@ class DataBindingDirective {
|
|
|
31843
31817
|
stateChangeSubscription;
|
|
31844
31818
|
dataChangedSubscription;
|
|
31845
31819
|
rowReorderSubscription;
|
|
31846
|
-
constructor(grid, changeDetector, localDataChangesService, rowReorderService
|
|
31820
|
+
constructor(grid, changeDetector, localDataChangesService, rowReorderService) {
|
|
31847
31821
|
this.grid = grid;
|
|
31848
31822
|
this.changeDetector = changeDetector;
|
|
31849
31823
|
this.localDataChangesService = localDataChangesService;
|
|
@@ -31851,7 +31825,6 @@ class DataBindingDirective {
|
|
|
31851
31825
|
if (localDataChangesService) {
|
|
31852
31826
|
this.dataChangedSubscription = this.localDataChangesService.changes.subscribe(this.rebind.bind(this));
|
|
31853
31827
|
}
|
|
31854
|
-
ctx && (ctx.dataBindingDirective = this);
|
|
31855
31828
|
}
|
|
31856
31829
|
/**
|
|
31857
31830
|
* @hidden
|
|
@@ -31946,7 +31919,7 @@ class DataBindingDirective {
|
|
|
31946
31919
|
this.grid.updateNavigationMetadata();
|
|
31947
31920
|
this.dataChanged = false;
|
|
31948
31921
|
}
|
|
31949
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataBindingDirective, deps: [{ token: GridComponent }, { token: i0.ChangeDetectorRef }, { token: LocalDataChangesService }, { token: RowReorderService }
|
|
31922
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataBindingDirective, deps: [{ token: GridComponent }, { token: i0.ChangeDetectorRef }, { token: LocalDataChangesService }, { token: RowReorderService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
31950
31923
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DataBindingDirective, isStandalone: true, selector: "[kendoGridBinding]", inputs: { skip: "skip", sort: "sort", filter: "filter", pageSize: "pageSize", group: "group", data: ["kendoGridBinding", "data"] }, exportAs: ["kendoGridBinding"], usesOnChanges: true, ngImport: i0 });
|
|
31951
31924
|
}
|
|
31952
31925
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataBindingDirective, decorators: [{
|
|
@@ -31956,7 +31929,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
31956
31929
|
exportAs: 'kendoGridBinding',
|
|
31957
31930
|
standalone: true
|
|
31958
31931
|
}]
|
|
31959
|
-
}], ctorParameters: function () { return [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }, { type: RowReorderService }
|
|
31932
|
+
}], ctorParameters: function () { return [{ type: GridComponent }, { type: i0.ChangeDetectorRef }, { type: LocalDataChangesService }, { type: RowReorderService }]; }, propDecorators: { skip: [{
|
|
31960
31933
|
type: Input
|
|
31961
31934
|
}], sort: [{
|
|
31962
31935
|
type: Input
|
|
@@ -33053,9 +33026,9 @@ class GroupBindingDirective extends DataBindingDirective {
|
|
|
33053
33026
|
groups;
|
|
33054
33027
|
gridSubs = new Subscription();
|
|
33055
33028
|
constructor(changeDetector, localDataChangesService, ctxService, groupsService) {
|
|
33056
|
-
super(ctxService.grid, changeDetector, localDataChangesService
|
|
33029
|
+
super(ctxService.grid, changeDetector, localDataChangesService);
|
|
33057
33030
|
this.groupsService = groupsService;
|
|
33058
|
-
ctxService.
|
|
33031
|
+
ctxService.groupBindingDirective = this;
|
|
33059
33032
|
}
|
|
33060
33033
|
ngOnInit() {
|
|
33061
33034
|
super.ngOnInit();
|
|
@@ -33849,12 +33822,6 @@ class UndoRedoStack {
|
|
|
33849
33822
|
this.currentNode = this.currentNode.previous;
|
|
33850
33823
|
return this.currentNode.state;
|
|
33851
33824
|
}
|
|
33852
|
-
peekNext() {
|
|
33853
|
-
return this.currentNode.next?.state || null;
|
|
33854
|
-
}
|
|
33855
|
-
peekPrev() {
|
|
33856
|
-
return this.currentNode.previous?.state || null;
|
|
33857
|
-
}
|
|
33858
33825
|
/**
|
|
33859
33826
|
* Performs a redo operation, moving to the next state
|
|
33860
33827
|
* @returns The next state or null if can't redo
|
|
@@ -33977,6 +33944,7 @@ class UndoRedoService {
|
|
|
33977
33944
|
onUndo = new Subject();
|
|
33978
33945
|
onRedo = new Subject();
|
|
33979
33946
|
stackEndReached = new Subject();
|
|
33947
|
+
setState = new Subject();
|
|
33980
33948
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoRedoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33981
33949
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoRedoService });
|
|
33982
33950
|
}
|
|
@@ -34000,17 +33968,11 @@ class UndoRedoDirective {
|
|
|
34000
33968
|
editService;
|
|
34001
33969
|
undoRedoService;
|
|
34002
33970
|
changeNotification;
|
|
34003
|
-
ctx;
|
|
34004
|
-
localDataChangesService;
|
|
34005
33971
|
/**
|
|
34006
33972
|
* Sets the maximum number of actions to keep in the undo-redo stack.
|
|
34007
33973
|
* @default 10
|
|
34008
33974
|
*/
|
|
34009
33975
|
maxStoredStates = 10;
|
|
34010
|
-
/**
|
|
34011
|
-
* Defines the property name of the data item unique key that will be used to identify the items when performing undo-redo actions.
|
|
34012
|
-
*/
|
|
34013
|
-
itemIdKey;
|
|
34014
33976
|
/**
|
|
34015
33977
|
* Fires when you perform the undo action. Provides the Grid state to apply.
|
|
34016
33978
|
*/
|
|
@@ -34028,17 +33990,24 @@ class UndoRedoDirective {
|
|
|
34028
33990
|
stack;
|
|
34029
33991
|
subs = new Subscription();
|
|
34030
33992
|
addToState = true;
|
|
34031
|
-
constructor(host, editService, undoRedoService, changeNotification
|
|
33993
|
+
constructor(host, editService, undoRedoService, changeNotification) {
|
|
34032
33994
|
this.host = host;
|
|
34033
33995
|
this.editService = editService;
|
|
34034
33996
|
this.undoRedoService = undoRedoService;
|
|
34035
33997
|
this.changeNotification = changeNotification;
|
|
34036
|
-
this.ctx = ctx;
|
|
34037
|
-
this.localDataChangesService = localDataChangesService;
|
|
34038
33998
|
this.host.undoRedoService = this.undoRedoService;
|
|
34039
33999
|
}
|
|
34040
34000
|
ngOnInit() {
|
|
34041
34001
|
this.stack = new UndoRedoStack(this.maxStoredStates);
|
|
34002
|
+
this.stack.add({
|
|
34003
|
+
originalEvent: {
|
|
34004
|
+
skip: this.host.skip,
|
|
34005
|
+
take: this.host.pageSize,
|
|
34006
|
+
sort: this.host.sort,
|
|
34007
|
+
filter: this.host.filter,
|
|
34008
|
+
group: this.host.group
|
|
34009
|
+
}, gridState: structuredClone(this.host.currentState)
|
|
34010
|
+
});
|
|
34042
34011
|
this.subs = this.host.gridStateChange.subscribe((state) => {
|
|
34043
34012
|
if (this.addToState) {
|
|
34044
34013
|
this.stack.add({
|
|
@@ -34049,7 +34018,7 @@ class UndoRedoDirective {
|
|
|
34049
34018
|
filter: state.filter,
|
|
34050
34019
|
group: state.group
|
|
34051
34020
|
},
|
|
34052
|
-
gridState: state
|
|
34021
|
+
gridState: structuredClone(state)
|
|
34053
34022
|
});
|
|
34054
34023
|
}
|
|
34055
34024
|
let stackEndPointReached;
|
|
@@ -34062,83 +34031,36 @@ class UndoRedoDirective {
|
|
|
34062
34031
|
this.undoRedoService.stackEndReached.next(stackEndPointReached);
|
|
34063
34032
|
});
|
|
34064
34033
|
this.subs.add(this.editService.changes
|
|
34065
|
-
.pipe(filter(
|
|
34034
|
+
.pipe(filter(event => event.action === 'save' || event.action === 'remove'), tap(event => this.undoRedoService.originalEvent = event))
|
|
34066
34035
|
.subscribe(event => {
|
|
34067
34036
|
this.stack.add({
|
|
34068
|
-
originalEvent:
|
|
34069
|
-
gridState: this.host.currentState
|
|
34037
|
+
originalEvent: event,
|
|
34038
|
+
gridState: structuredClone(this.host.currentState)
|
|
34070
34039
|
});
|
|
34071
34040
|
this.addToState = false;
|
|
34072
34041
|
this.host.gridStateChange.emit(this.stack.current.gridState);
|
|
34073
34042
|
this.addToState = true;
|
|
34074
34043
|
this.updateUndoRedoDisabled();
|
|
34075
34044
|
}));
|
|
34076
|
-
this.subs.add(this.changeNotification.changes.subscribe(() =>
|
|
34077
|
-
if (!this.ctx.dataBindingDirective) {
|
|
34078
|
-
this.stack.current.gridState = this.host.currentState;
|
|
34079
|
-
}
|
|
34080
|
-
}));
|
|
34045
|
+
this.subs.add(this.changeNotification.changes.subscribe(() => this.stack.current.gridState = this.host.currentState));
|
|
34081
34046
|
['Undo', 'Redo'].forEach((action) => {
|
|
34082
34047
|
this.subs.add(this.undoRedoService[`on${action}`].subscribe(() => {
|
|
34083
34048
|
if (!this.stack[`can${action}`]) {
|
|
34084
34049
|
return;
|
|
34085
34050
|
}
|
|
34086
|
-
|
|
34087
|
-
if (action === 'Undo') {
|
|
34088
|
-
const isSaveOrRemove = this.stack.current.originalEvent.action === 'save' || this.stack.current.originalEvent.action === 'remove';
|
|
34089
|
-
eventData = isSaveOrRemove ? this.stack.current : this.stack.peekPrev();
|
|
34090
|
-
}
|
|
34091
|
-
else {
|
|
34092
|
-
eventData = this.stack.peekNext();
|
|
34093
|
-
}
|
|
34094
|
-
const event = new UndoRedoEvent(eventData);
|
|
34051
|
+
this.stack[`${action.toLowerCase()}`]();
|
|
34095
34052
|
if (hasObservers(this[`on${action}`])) {
|
|
34053
|
+
const event = new UndoRedoEvent(this.stack.current);
|
|
34096
34054
|
this[`on${action}`].emit(event);
|
|
34097
34055
|
if (event.isDefaultPrevented()) {
|
|
34098
34056
|
return;
|
|
34099
34057
|
}
|
|
34100
34058
|
}
|
|
34101
|
-
this.stack[`${action.toLowerCase()}`]();
|
|
34102
34059
|
this.updateUndoRedoDisabled();
|
|
34103
|
-
|
|
34104
|
-
const isLocalData = isPresent$1(this.ctx?.dataBindingDirective);
|
|
34105
|
-
if (!isLocalData) {
|
|
34106
|
-
return;
|
|
34107
|
-
}
|
|
34108
|
-
const isSaveOrRemove = originalAction === 'save' || originalAction === 'remove';
|
|
34109
|
-
if (isSaveOrRemove) {
|
|
34110
|
-
if (originalAction === 'save') {
|
|
34111
|
-
const stateItem = this.getGridDataItems(this.stack.current.gridState.currentData).find(item => item[this.itemIdKey] === event.originalEvent.dataItem[this.itemIdKey]);
|
|
34112
|
-
this.localDataChangesService?.data.splice(event.originalEvent.rowIndex, 1, stateItem);
|
|
34113
|
-
}
|
|
34114
|
-
else if (action === 'Undo') {
|
|
34115
|
-
this.localDataChangesService?.data.splice(event.originalEvent.rowIndex, 0, event.originalEvent.dataItem);
|
|
34116
|
-
}
|
|
34117
|
-
else {
|
|
34118
|
-
this.localDataChangesService?.data.splice(event.originalEvent.rowIndex, 1);
|
|
34119
|
-
}
|
|
34120
|
-
this.localDataChangesService?.changes.emit();
|
|
34121
|
-
}
|
|
34122
|
-
else {
|
|
34123
|
-
this.host.loadState({ ...this.stack.current.gridState, currentData: null });
|
|
34124
|
-
if (this.isDataStateChangeEvent(event.originalEvent)) {
|
|
34125
|
-
const { skip, take, sort, filter, group } = event.gridState;
|
|
34126
|
-
this.host.dataStateChange.emit({ skip, take, sort, filter, group });
|
|
34127
|
-
}
|
|
34128
|
-
}
|
|
34060
|
+
this.host.loadState(this.stack.current.gridState);
|
|
34129
34061
|
}));
|
|
34130
34062
|
});
|
|
34131
|
-
|
|
34132
|
-
ngAfterViewInit() {
|
|
34133
|
-
this.stack.add({
|
|
34134
|
-
originalEvent: {
|
|
34135
|
-
skip: this.host.skip,
|
|
34136
|
-
take: this.host.pageSize,
|
|
34137
|
-
sort: this.host.sort,
|
|
34138
|
-
filter: this.host.filter,
|
|
34139
|
-
group: this.host.group
|
|
34140
|
-
}, gridState: this.host.currentState
|
|
34141
|
-
});
|
|
34063
|
+
this.subs.add(this.undoRedoService.setState.subscribe((state) => this.stack.add({ originalEvent: 'dataChange', gridState: state })));
|
|
34142
34064
|
}
|
|
34143
34065
|
ngOnDestroy() {
|
|
34144
34066
|
this.stack.clear();
|
|
@@ -34180,15 +34102,8 @@ class UndoRedoDirective {
|
|
|
34180
34102
|
}
|
|
34181
34103
|
this.undoRedoService.stackEndReached.next(false);
|
|
34182
34104
|
}
|
|
34183
|
-
|
|
34184
|
-
|
|
34185
|
-
data.data.flatMap(recursiveFlatMap);
|
|
34186
|
-
}
|
|
34187
|
-
isDataStateChangeEvent(event) {
|
|
34188
|
-
return event && ['skip', 'take', 'sort', 'filter', 'group'].some(prop => prop in event);
|
|
34189
|
-
}
|
|
34190
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoRedoDirective, deps: [{ token: GridComponent }, { token: EditService }, { token: UndoRedoService }, { token: ChangeNotificationService }, { token: ContextService }, { token: LocalDataChangesService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
34191
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: UndoRedoDirective, isStandalone: true, selector: "[kendoGridUndoRedo]", inputs: { maxStoredStates: "maxStoredStates", itemIdKey: "itemIdKey" }, outputs: { onUndo: "undo", onRedo: "redo" }, providers: [UndoRedoService], exportAs: ["kendoGridUndoRedo"], ngImport: i0 });
|
|
34105
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoRedoDirective, deps: [{ token: GridComponent }, { token: EditService }, { token: UndoRedoService }, { token: ChangeNotificationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
34106
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: UndoRedoDirective, isStandalone: true, selector: "[kendoGridUndoRedo]", inputs: { maxStoredStates: "maxStoredStates" }, outputs: { onUndo: "undo", onRedo: "redo" }, providers: [UndoRedoService], exportAs: ["kendoGridUndoRedo"], ngImport: i0 });
|
|
34192
34107
|
}
|
|
34193
34108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoRedoDirective, decorators: [{
|
|
34194
34109
|
type: Directive,
|
|
@@ -34198,9 +34113,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
34198
34113
|
exportAs: 'kendoGridUndoRedo',
|
|
34199
34114
|
providers: [UndoRedoService]
|
|
34200
34115
|
}]
|
|
34201
|
-
}], ctorParameters: function () { return [{ type: GridComponent }, { type: EditService }, { type: UndoRedoService }, { type: ChangeNotificationService }
|
|
34202
|
-
type: Input
|
|
34203
|
-
}], itemIdKey: [{
|
|
34116
|
+
}], ctorParameters: function () { return [{ type: GridComponent }, { type: EditService }, { type: UndoRedoService }, { type: ChangeNotificationService }]; }, propDecorators: { maxStoredStates: [{
|
|
34204
34117
|
type: Input
|
|
34205
34118
|
}], onUndo: [{
|
|
34206
34119
|
type: Output,
|
package/grid.component.d.ts
CHANGED
|
@@ -79,7 +79,6 @@ import { RowReorderEvent } from './row-reordering/types';
|
|
|
79
79
|
import { DragTargetContainerDirective, DragTargetDataFn, DropTargetContainerDirective } from '@progress/kendo-angular-utils';
|
|
80
80
|
import { RowReorderService } from './row-reordering/row-reorder.service';
|
|
81
81
|
import { StatusBarTemplateDirective } from './aggregates/status-bar-template.directive';
|
|
82
|
-
import { ListComponent } from './rendering/list.component';
|
|
83
82
|
import { PagerTemplateDirective } from '@progress/kendo-angular-pager';
|
|
84
83
|
import { GridResizableSettings } from './common/resizable-settings';
|
|
85
84
|
import { GridState } from './state-management/grid-state.models';
|
|
@@ -610,8 +609,10 @@ export declare class GridComponent implements AfterContentInit, AfterViewInit, O
|
|
|
610
609
|
dragTargetContainer: DragTargetContainerDirective;
|
|
611
610
|
dropTargetContainer: DropTargetContainerDirective;
|
|
612
611
|
dialogContainer: ViewContainerRef;
|
|
612
|
+
/**
|
|
613
|
+
* @hidden
|
|
614
|
+
*/
|
|
613
615
|
adaptiveRenderer: AdaptiveRendererComponent;
|
|
614
|
-
listComponent: ListComponent;
|
|
615
616
|
get scrollbarWidth(): number;
|
|
616
617
|
get showPagerInput(): boolean;
|
|
617
618
|
set showPagerInput(value: boolean);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-grid",
|
|
3
|
-
"version": "19.2.0-develop.
|
|
3
|
+
"version": "19.2.0-develop.2",
|
|
4
4
|
"description": "Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"package": {
|
|
27
27
|
"productName": "Kendo UI for Angular",
|
|
28
28
|
"productCode": "KENDOUIANGULAR",
|
|
29
|
-
"publishDate":
|
|
29
|
+
"publishDate": 1750841713,
|
|
30
30
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
31
31
|
}
|
|
32
32
|
},
|
|
@@ -39,28 +39,28 @@
|
|
|
39
39
|
"@progress/kendo-data-query": "^1.0.0",
|
|
40
40
|
"@progress/kendo-drawing": "^1.21.0",
|
|
41
41
|
"@progress/kendo-licensing": "^1.5.0",
|
|
42
|
-
"@progress/kendo-angular-buttons": "19.2.0-develop.
|
|
43
|
-
"@progress/kendo-angular-common": "19.2.0-develop.
|
|
44
|
-
"@progress/kendo-angular-dateinputs": "19.2.0-develop.
|
|
45
|
-
"@progress/kendo-angular-layout": "19.2.0-develop.
|
|
46
|
-
"@progress/kendo-angular-navigation": "19.2.0-develop.
|
|
47
|
-
"@progress/kendo-angular-dropdowns": "19.2.0-develop.
|
|
48
|
-
"@progress/kendo-angular-excel-export": "19.2.0-develop.
|
|
49
|
-
"@progress/kendo-angular-icons": "19.2.0-develop.
|
|
50
|
-
"@progress/kendo-angular-inputs": "19.2.0-develop.
|
|
51
|
-
"@progress/kendo-angular-intl": "19.2.0-develop.
|
|
52
|
-
"@progress/kendo-angular-l10n": "19.2.0-develop.
|
|
53
|
-
"@progress/kendo-angular-label": "19.2.0-develop.
|
|
54
|
-
"@progress/kendo-angular-pager": "19.2.0-develop.
|
|
55
|
-
"@progress/kendo-angular-pdf-export": "19.2.0-develop.
|
|
56
|
-
"@progress/kendo-angular-popup": "19.2.0-develop.
|
|
57
|
-
"@progress/kendo-angular-toolbar": "19.2.0-develop.
|
|
58
|
-
"@progress/kendo-angular-utils": "19.2.0-develop.
|
|
42
|
+
"@progress/kendo-angular-buttons": "19.2.0-develop.2",
|
|
43
|
+
"@progress/kendo-angular-common": "19.2.0-develop.2",
|
|
44
|
+
"@progress/kendo-angular-dateinputs": "19.2.0-develop.2",
|
|
45
|
+
"@progress/kendo-angular-layout": "19.2.0-develop.2",
|
|
46
|
+
"@progress/kendo-angular-navigation": "19.2.0-develop.2",
|
|
47
|
+
"@progress/kendo-angular-dropdowns": "19.2.0-develop.2",
|
|
48
|
+
"@progress/kendo-angular-excel-export": "19.2.0-develop.2",
|
|
49
|
+
"@progress/kendo-angular-icons": "19.2.0-develop.2",
|
|
50
|
+
"@progress/kendo-angular-inputs": "19.2.0-develop.2",
|
|
51
|
+
"@progress/kendo-angular-intl": "19.2.0-develop.2",
|
|
52
|
+
"@progress/kendo-angular-l10n": "19.2.0-develop.2",
|
|
53
|
+
"@progress/kendo-angular-label": "19.2.0-develop.2",
|
|
54
|
+
"@progress/kendo-angular-pager": "19.2.0-develop.2",
|
|
55
|
+
"@progress/kendo-angular-pdf-export": "19.2.0-develop.2",
|
|
56
|
+
"@progress/kendo-angular-popup": "19.2.0-develop.2",
|
|
57
|
+
"@progress/kendo-angular-toolbar": "19.2.0-develop.2",
|
|
58
|
+
"@progress/kendo-angular-utils": "19.2.0-develop.2",
|
|
59
59
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"tslib": "^2.3.1",
|
|
63
|
-
"@progress/kendo-angular-schematics": "19.2.0-develop.
|
|
63
|
+
"@progress/kendo-angular-schematics": "19.2.0-develop.2",
|
|
64
64
|
"@progress/kendo-common": "^1.0.1",
|
|
65
65
|
"@progress/kendo-file-saver": "^1.0.0"
|
|
66
66
|
},
|
|
@@ -138,7 +138,6 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
|
|
|
138
138
|
lockedScroll(): void;
|
|
139
139
|
lockedMousewheel(args: any): void;
|
|
140
140
|
lockedKeydown(args: any): void;
|
|
141
|
-
updateViewportColumns(range?: any): void;
|
|
142
141
|
private detailExpand;
|
|
143
142
|
private attachContainerScroll;
|
|
144
143
|
private createScroller;
|
|
@@ -154,6 +153,7 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
|
|
|
154
153
|
private cleanupScroller;
|
|
155
154
|
private initResizeService;
|
|
156
155
|
private syncContainerHeight;
|
|
156
|
+
private updateViewportColumns;
|
|
157
157
|
private handleColumnScroll;
|
|
158
158
|
private updateColumnViewport;
|
|
159
159
|
private calculateViewportColumns;
|