@progress/kendo-angular-grid 19.0.0-develop.10 → 19.0.0-develop.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/column-menu/column-chooser-tool.directive.d.ts +6 -6
  2. package/columns/column-base.d.ts +5 -0
  3. package/columns/span-column.component.d.ts +2 -2
  4. package/common/toolbar-tool-base.directive.d.ts +26 -0
  5. package/directives.d.ts +11 -4
  6. package/editing/add-command-tool.directive.d.ts +7 -6
  7. package/editing/cancel-command-tool.directive.d.ts +38 -0
  8. package/editing/edit-command-tool.directive.d.ts +38 -0
  9. package/editing/edit.service.d.ts +1 -1
  10. package/editing/remove-command-tool.directive.d.ts +39 -0
  11. package/editing/save-command-tool.directive.d.ts +38 -0
  12. package/editing/toolbar-editing-tool-base.directive.d.ts +29 -0
  13. package/esm2022/column-menu/column-chooser-tool.directive.mjs +17 -30
  14. package/esm2022/column-resizing/column-handle.directive.mjs +2 -2
  15. package/esm2022/columns/column-base.mjs +9 -0
  16. package/esm2022/columns/columns-container.mjs +1 -1
  17. package/esm2022/columns/span-column.component.mjs +9 -9
  18. package/esm2022/common/toolbar-tool-base.directive.mjs +81 -0
  19. package/esm2022/directives.mjs +17 -2
  20. package/esm2022/editing/add-command-tool.directive.mjs +12 -15
  21. package/esm2022/editing/cancel-command-tool.directive.mjs +64 -0
  22. package/esm2022/editing/edit-command-tool.directive.mjs +59 -0
  23. package/esm2022/editing/remove-command-tool.directive.mjs +60 -0
  24. package/esm2022/editing/remove-command.directive.mjs +1 -0
  25. package/esm2022/editing/save-command-tool.directive.mjs +64 -0
  26. package/esm2022/editing/toolbar-editing-tool-base.directive.mjs +91 -0
  27. package/esm2022/excel/excel-command-tool.directive.mjs +12 -17
  28. package/esm2022/grid.component.mjs +155 -40
  29. package/esm2022/grid.module.mjs +114 -101
  30. package/esm2022/index.mjs +9 -0
  31. package/esm2022/localization/messages.mjs +43 -1
  32. package/esm2022/navigation/toolbar-tool-name.mjs +17 -0
  33. package/esm2022/package-metadata.mjs +2 -2
  34. package/esm2022/pdf/pdf-command-tool.directive.mjs +12 -15
  35. package/esm2022/rendering/cell.component.mjs +3 -3
  36. package/esm2022/rendering/header/header.component.mjs +1 -1
  37. package/esm2022/rendering/list.component.mjs +1 -1
  38. package/esm2022/rendering/table-body.component.mjs +1 -1
  39. package/esm2022/selection/selection.service.mjs +11 -0
  40. package/esm2022/state-management/grid-state.models.mjs +26 -0
  41. package/esm2022/state-management/redo-command-tool.mjs +66 -0
  42. package/esm2022/state-management/undo-command-tool.mjs +66 -0
  43. package/esm2022/state-management/undo-redo.directive.mjs +178 -0
  44. package/esm2022/state-management/undo-redo.service.mjs +22 -0
  45. package/esm2022/state-management/undo-redo.stack.mjs +232 -0
  46. package/esm2022/utils.mjs +13 -0
  47. package/excel/excel-command-tool.directive.d.ts +5 -5
  48. package/fesm2022/progress-kendo-angular-grid.mjs +1213 -162
  49. package/grid.component.d.ts +42 -19
  50. package/grid.module.d.ts +107 -100
  51. package/index.d.ts +8 -0
  52. package/localization/messages.d.ts +29 -1
  53. package/navigation/toolbar-tool-name.d.ts +17 -0
  54. package/package.json +20 -20
  55. package/pdf/pdf-command-tool.directive.d.ts +6 -5
  56. package/rendering/cell.component.d.ts +1 -1
  57. package/schematics/ngAdd/index.js +4 -4
  58. package/selection/selection.service.d.ts +1 -0
  59. package/state-management/grid-state.models.d.ts +58 -0
  60. package/state-management/redo-command-tool.d.ts +38 -0
  61. package/state-management/undo-command-tool.d.ts +38 -0
  62. package/state-management/undo-redo.directive.d.ts +51 -0
  63. package/state-management/undo-redo.service.d.ts +19 -0
  64. package/state-management/undo-redo.stack.d.ts +104 -0
  65. package/utils.d.ts +11 -1
@@ -2,14 +2,16 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Directive } from '@angular/core';
5
+ import { ChangeDetectorRef, Directive, NgZone } from '@angular/core';
6
6
  import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
7
- import { Subscription } from 'rxjs';
8
- import { fileExcelIcon } from '@progress/kendo-svg-icons';
9
7
  import { ExcelService } from './excel.service';
8
+ import { ContextService } from '../common/provider.service';
9
+ import { ToolbarToolBase } from '../common/toolbar-tool-base.directive';
10
+ import { ToolbarToolName } from '../navigation/toolbar-tool-name';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "./excel.service";
12
13
  import * as i2 from "@progress/kendo-angular-toolbar";
14
+ import * as i3 from "../common/provider.service";
13
15
  /**
14
16
  * Represents the `export-to-Excel` toolbar tool of the Grid.
15
17
  * You can apply this directive to any `kendo-toolbar-button` element inside a
@@ -30,22 +32,15 @@ import * as i2 from "@progress/kendo-angular-toolbar";
30
32
  * </kendo-grid>
31
33
  * ```
32
34
  */
33
- export class ExcelCommandToolbarDirective {
35
+ export class ExcelCommandToolbarDirective extends ToolbarToolBase {
34
36
  excelService;
35
- host;
36
- clickSub = new Subscription();
37
- constructor(excelService, host) {
37
+ constructor(excelService, host, ctx, zone, cdr) {
38
+ super(host, ToolbarToolName.excelExport, ctx, zone, cdr);
38
39
  this.excelService = excelService;
39
- this.host = host;
40
40
  }
41
41
  ngOnInit() {
42
- this.clickSub = this.host.click.subscribe(e => this.onClick(e));
42
+ super.ngOnInit();
43
43
  this.host.className = 'k-grid-excel';
44
- this.host.svgIcon = fileExcelIcon;
45
- this.host.icon = 'file-excel';
46
- }
47
- ngOnDestroy() {
48
- this.clickSub.unsubscribe();
49
44
  }
50
45
  /**
51
46
  * @hidden
@@ -54,8 +49,8 @@ export class ExcelCommandToolbarDirective {
54
49
  e.preventDefault();
55
50
  this.excelService.exportClick.emit();
56
51
  }
57
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelCommandToolbarDirective, deps: [{ token: i1.ExcelService }, { token: i2.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
58
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ExcelCommandToolbarDirective, isStandalone: true, selector: "[kendoGridExcelTool]", ngImport: i0 });
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelCommandToolbarDirective, deps: [{ token: i1.ExcelService }, { token: i2.ToolBarButtonComponent }, { token: i3.ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
53
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ExcelCommandToolbarDirective, isStandalone: true, selector: "[kendoGridExcelTool]", usesInheritance: true, ngImport: i0 });
59
54
  }
60
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelCommandToolbarDirective, decorators: [{
61
56
  type: Directive,
@@ -63,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
63
58
  selector: '[kendoGridExcelTool]',
64
59
  standalone: true
65
60
  }]
66
- }], ctorParameters: function () { return [{ type: i1.ExcelService }, { type: i2.ToolBarButtonComponent }]; } });
61
+ }], ctorParameters: function () { return [{ type: i1.ExcelService }, { type: i2.ToolBarButtonComponent }, { type: i3.ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
@@ -6,7 +6,7 @@ import { Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Inpu
6
6
  import { ZoneAwareEventEmitter } from './common/event-emitter';
7
7
  import { FormControl, FormGroup } from '@angular/forms';
8
8
  import { merge } from 'rxjs';
9
- import { map, tap, take, filter, switchMap, takeUntil } from 'rxjs/operators';
9
+ import { map, tap, take, filter, switchMap, takeUntil, flatMap } from 'rxjs/operators';
10
10
  import { validatePackage } from '@progress/kendo-licensing';
11
11
  import { packageMetadata } from './package-metadata';
12
12
  import { ColumnComponent, isColumnComponent } from './columns/column.component';
@@ -14,7 +14,7 @@ import { isSpanColumnComponent } from './columns/span-column.component';
14
14
  import { isColumnGroupComponent, ColumnGroupComponent } from './columns/column-group.component';
15
15
  import { DetailTemplateDirective } from './rendering/details/detail-template.directive';
16
16
  import { normalize } from './common/pager-settings';
17
- import { isArray, anyChanged, isChanged, isPresent, isUniversal, observe, isTruthy, createPromise, hasObservers, roundDown } from './utils';
17
+ import { isArray, anyChanged, isChanged, isPresent, isUniversal, observe, isTruthy, createPromise, hasObservers, roundDown, recursiveColumnsFlatMap } from './utils';
18
18
  import { BrowserSupportService } from './layout/browser-support.service';
19
19
  import { DataResultIterator, DataCollection } from './data/data.collection';
20
20
  import { SelectionService } from './selection/selection.service';
@@ -572,6 +572,21 @@ export class GridComponent {
572
572
  this.defaultSelection ? this.defaultSelection.stateToArray() : this.selectionDirective.stateToArray() :
573
573
  [];
574
574
  }
575
+ /**
576
+ * The current Grid `GridState` objects. Contains the information about data operations and column state, required
577
+ * to store and restore the Grid state.
578
+ */
579
+ get currentState() {
580
+ return {
581
+ filter: this.filter,
582
+ group: this.group,
583
+ sort: this.sort,
584
+ skip: this.skip,
585
+ take: this.pageSize,
586
+ columnsState: this.columns.toArray().flatMap(recursiveColumnsFlatMap),
587
+ currentData: structuredClone(this.data)
588
+ };
589
+ }
575
590
  /**
576
591
  * If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells
577
592
  * ([see example]({% slug resizing_columns_grid %})).
@@ -610,6 +625,31 @@ export class GridComponent {
610
625
  * @default false
611
626
  */
612
627
  hideHeader = false;
628
+ /**
629
+ * Specifies if the currently inactive toolbar tools will be visible. Applicable when the toolbar is configured using the <kendo-toolbar> component. By default, such tools are hidden.
630
+ *
631
+ * @default false
632
+ */
633
+ showInactiveTools = false;
634
+ /**
635
+ * A function which determines if a specific row is expanded.
636
+ */
637
+ set isDetailExpanded(callback) {
638
+ this.detailsService.userCallback = callback;
639
+ }
640
+ get isDetailExpanded() {
641
+ return this.detailsService.userCallback;
642
+ }
643
+ /**
644
+ * A function which determines if a specific group row is expanded.
645
+ */
646
+ set isGroupExpanded(callback) {
647
+ this.groupsService.userCallback = callback;
648
+ this.groupable = isPresent(callback);
649
+ }
650
+ get isGroupExpanded() {
651
+ return this.groupsService.userCallback;
652
+ }
613
653
  /**
614
654
  * Fires when the Grid filter is modified through the UI.
615
655
  * You have to handle the event yourself and filter the data.
@@ -642,6 +682,10 @@ export class GridComponent {
642
682
  * Fires when the data state of the Grid is changed.
643
683
  */
644
684
  dataStateChange = new EventEmitter();
685
+ /**
686
+ * Fires when the data or columns state of the Grid is changed.
687
+ */
688
+ gridStateChange = new EventEmitter();
645
689
  /**
646
690
  * Fires when the user expands a group header.
647
691
  */
@@ -888,6 +932,12 @@ export class GridComponent {
888
932
  get navigation() {
889
933
  return this.navigationService;
890
934
  }
935
+ /**
936
+ * @hidden
937
+ */
938
+ get flatData() {
939
+ return isArray(this.data) ? this.data : this.data.data;
940
+ }
891
941
  shouldGenerateColumns = true;
892
942
  direction;
893
943
  notifyTimeout = null;
@@ -998,6 +1048,7 @@ export class GridComponent {
998
1048
  * @hidden
999
1049
  */
1000
1050
  blockArrowSelection = false;
1051
+ undoRedoService;
1001
1052
  selectionSubscription;
1002
1053
  stateChangeSubscription;
1003
1054
  groupExpandCollapseSubscription;
@@ -1169,6 +1220,7 @@ export class GridComponent {
1169
1220
  }
1170
1221
  this.initSelectionService();
1171
1222
  this.updateNavigationMetadata();
1223
+ this.currentState.currentData = this.data;
1172
1224
  }
1173
1225
  ngOnChanges(changes) {
1174
1226
  if (isChanged("data", changes)) {
@@ -1378,6 +1430,12 @@ export class GridComponent {
1378
1430
  const target = isNaN(columnIndex) ? row : `${row} td[data-kendo-grid-column-index="${columnIndex}"]`;
1379
1431
  this.focusEditElement(target);
1380
1432
  }
1433
+ /**
1434
+ * @hidden
1435
+ */
1436
+ handleReorderEvents(ev, evType) {
1437
+ this.rowReorderService[evType](ev);
1438
+ }
1381
1439
  /**
1382
1440
  * Closes the editor for a given row ([see example]({% slug inline_editing_grid %}#toc-canceling-editing-1)).
1383
1441
  *
@@ -1471,6 +1529,42 @@ export class GridComponent {
1471
1529
  saveAsExcel() {
1472
1530
  this.excelService.save(this);
1473
1531
  }
1532
+ /**
1533
+ * Applies the provided `GridState` object to the Grid.
1534
+ */
1535
+ loadState(state) {
1536
+ this.traverseColumns(this.columns, (column) => {
1537
+ const columnState = state.columnsState.find((col) => col.id === column.id);
1538
+ if (columnState) {
1539
+ column.width = columnState.width;
1540
+ column.hidden = columnState.hidden;
1541
+ column.locked = columnState.locked;
1542
+ column.sticky = columnState.sticky;
1543
+ column.orderIndex = columnState.orderIndex;
1544
+ }
1545
+ });
1546
+ this.columns.reset(this.columns.toArray());
1547
+ this.columnsContainer.refresh();
1548
+ this.sort = state.sort;
1549
+ this.group = state.group;
1550
+ this.filter = state.filter;
1551
+ this.group = state.group;
1552
+ this.skip = state.skip;
1553
+ this.pageSize = state.take;
1554
+ this.data = state.currentData;
1555
+ this.changeNotification.notify();
1556
+ this.changeDetectorRef.detectChanges();
1557
+ }
1558
+ traverseColumns(columns, callback) {
1559
+ columns.forEach((column) => {
1560
+ if (column.isColumnGroup || column.isSpanColumn) {
1561
+ this.traverseColumns(column.children, callback);
1562
+ }
1563
+ else {
1564
+ callback(column);
1565
+ }
1566
+ });
1567
+ }
1474
1568
  /**
1475
1569
  * Applies the minimum possible width for the specified column,
1476
1570
  * so that the whole text fits without wrapping. This method expects the Grid
@@ -1621,7 +1715,7 @@ export class GridComponent {
1621
1715
  return;
1622
1716
  }
1623
1717
  if (isSpanColumnComponent(target) && !options.before) {
1624
- target = target.childColumns.last;
1718
+ target = target.children.last;
1625
1719
  }
1626
1720
  this.reorder({
1627
1721
  before: options.before,
@@ -1629,37 +1723,6 @@ export class GridComponent {
1629
1723
  target: target
1630
1724
  });
1631
1725
  }
1632
- /**
1633
- * A function which determines if a specific row is expanded.
1634
- */
1635
- set isDetailExpanded(callback) {
1636
- this.detailsService.userCallback = callback;
1637
- }
1638
- get isDetailExpanded() {
1639
- return this.detailsService.userCallback;
1640
- }
1641
- /**
1642
- * A function which determines if a specific group row is expanded.
1643
- */
1644
- set isGroupExpanded(callback) {
1645
- this.groupsService.userCallback = callback;
1646
- this.groupable = isPresent(callback);
1647
- }
1648
- get isGroupExpanded() {
1649
- return this.groupsService.userCallback;
1650
- }
1651
- /**
1652
- * @hidden
1653
- */
1654
- handleReorderEvents(ev, evType) {
1655
- this.rowReorderService[evType](ev);
1656
- }
1657
- /**
1658
- * @hidden
1659
- */
1660
- get flatData() {
1661
- return isArray(this.data) ? this.data : this.data.data;
1662
- }
1663
1726
  /**
1664
1727
  * @hidden
1665
1728
  */
@@ -1713,7 +1776,7 @@ export class GridComponent {
1713
1776
  let toSkip = 1;
1714
1777
  // Possible only when called from the API.
1715
1778
  if (source.isSpanColumn) {
1716
- toSkip += source.childColumns.length;
1779
+ toSkip += source.children.length;
1717
1780
  }
1718
1781
  let i = 0;
1719
1782
  while (i < expandedColumns.length) {
@@ -1909,7 +1972,13 @@ export class GridComponent {
1909
1972
  this.blockArrowSelection = true;
1910
1973
  }
1911
1974
  this.dataStateChange.emit(x);
1975
+ this.gridStateChange.emit({ ...x, columnsState: this.currentState.columnsState, currentData: this.currentState.currentData });
1976
+ if (this.undoRedoService) {
1977
+ this.undoRedoService.originalEvent = x;
1978
+ }
1912
1979
  });
1980
+ this.stateChangeSubscription.add(merge(this.columnReorder, this.columnResize, this.columnVisibilityChange, this.columnLockedChange, this.columnStickyChange).pipe(flatMap(() => this.ngZone.onStable.pipe(take(1))))
1981
+ .subscribe(() => this.ngZone.run(() => this.gridStateChange.emit(this.currentState))));
1913
1982
  }
1914
1983
  attachEditHandlers() {
1915
1984
  if (!this.editService) {
@@ -2203,7 +2272,7 @@ export class GridComponent {
2203
2272
  this.dropTargetContainer?.notify();
2204
2273
  }
2205
2274
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, deps: [{ token: i1.BrowserSupportService }, { token: i2.SelectionService }, { token: i3.CellSelectionService }, { token: i0.ElementRef }, { token: i4.GroupInfoService }, { token: i5.GroupsService }, { token: i6.ChangeNotificationService }, { token: i7.DetailsService }, { token: i8.EditService }, { token: i9.FilterService }, { token: i10.PDFService }, { token: i11.ResponsiveService }, { token: i0.Renderer2 }, { token: i12.ExcelService }, { token: i0.NgZone }, { token: i13.ScrollSyncService }, { token: i14.DomEventsService }, { token: i15.ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: i16.ColumnReorderService }, { token: i17.ColumnInfoService }, { token: i18.NavigationService }, { token: i19.SortService }, { token: i20.ScrollRequestService }, { token: i21.LocalizationService }, { token: i22.ContextService }, { token: i23.SizingOptionsService }, { token: i24.RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
2206
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridComponent, isStandalone: true, selector: "kendo-grid", inputs: { data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", skip: "skip", scrollable: "scrollable", selectable: "selectable", sort: "sort", size: "size", trackBy: "trackBy", filter: "filter", group: "group", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", groupable: "groupable", gridResizable: "gridResizable", rowReorderable: "rowReorderable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", rowSticky: "rowSticky", rowSelected: "rowSelected", isRowSelectable: "isRowSelectable", cellSelected: "cellSelected", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", isDetailExpanded: "isDetailExpanded", isGroupExpanded: "isGroupExpanded" }, outputs: { filterChange: "filterChange", pageChange: "pageChange", groupChange: "groupChange", sortChange: "sortChange", selectionChange: "selectionChange", rowReorder: "rowReorder", dataStateChange: "dataStateChange", groupExpand: "groupExpand", groupCollapse: "groupCollapse", detailExpand: "detailExpand", detailCollapse: "detailCollapse", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", columnStickyChange: "columnStickyChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClass", "class.k-grid-sm": "this.sizeSmallClass", "class.k-grid-md": "this.sizeMediumClass", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass", "class.k-grid-resizable": "this.isResizable", "style.minWidth": "this.minWidth", "style.maxWidth": "this.maxWidth", "style.minHeight": "this.minHeight", "style.maxHeight": "this.maxHeight" } }, providers: [
2275
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridComponent, isStandalone: true, selector: "kendo-grid", inputs: { data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", skip: "skip", scrollable: "scrollable", selectable: "selectable", sort: "sort", size: "size", trackBy: "trackBy", filter: "filter", group: "group", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", groupable: "groupable", gridResizable: "gridResizable", rowReorderable: "rowReorderable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", rowSticky: "rowSticky", rowSelected: "rowSelected", isRowSelectable: "isRowSelectable", cellSelected: "cellSelected", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", showInactiveTools: "showInactiveTools", isDetailExpanded: "isDetailExpanded", isGroupExpanded: "isGroupExpanded" }, outputs: { filterChange: "filterChange", pageChange: "pageChange", groupChange: "groupChange", sortChange: "sortChange", selectionChange: "selectionChange", rowReorder: "rowReorder", dataStateChange: "dataStateChange", gridStateChange: "gridStateChange", groupExpand: "groupExpand", groupCollapse: "groupCollapse", detailExpand: "detailExpand", detailCollapse: "detailCollapse", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", columnStickyChange: "columnStickyChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClass", "class.k-grid-sm": "this.sizeSmallClass", "class.k-grid-md": "this.sizeMediumClass", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass", "class.k-grid-resizable": "this.isResizable", "style.minWidth": "this.minWidth", "style.maxWidth": "this.maxWidth", "style.minHeight": "this.minHeight", "style.maxHeight": "this.maxHeight" } }, providers: [
2207
2276
  BrowserSupportService,
2208
2277
  LocalizationService,
2209
2278
  ColumnInfoService,
@@ -2489,6 +2558,27 @@ export class GridComponent {
2489
2558
  i18n-bottomToolbarLabel="kendo.grid.bottomToolbarLabel|The label for the Grid bottom toolbar"
2490
2559
  bottomToolbarLabel="Bottom toolbar"
2491
2560
 
2561
+ i18n-editToolbarToolText="kendo.grid.editToolbarToolText|The text for the Grid Edit toolbar tool"
2562
+ editToolbarToolText="Edit"
2563
+
2564
+ i18n-saveToolbarToolText="kendo.grid.saveToolbarToolText|The text for the Grid Save toolbar tool"
2565
+ saveToolbarToolText="Save"
2566
+
2567
+ i18n-addToolbarToolText="kendo.grid.addToolbarToolText|The text for the Grid Add toolbar tool"
2568
+ addToolbarToolText="Add"
2569
+
2570
+ i18n-cancelToolbarToolText="kendo.grid.cancelToolbarToolText|The text for the Grid Cancel toolbar tool"
2571
+ cancelToolbarToolText="Cancel"
2572
+
2573
+ i18n-removeToolbarToolText="kendo.grid.removeToolbarToolText|The text for the Grid Remove toolbar tool"
2574
+ removeToolbarToolText="Delete"
2575
+
2576
+ i18n-excelExportToolbarToolText="kendo.grid.excelExportToolbarToolText|The text for the Grid Excel export toolbar tool"
2577
+ excelExportToolbarToolText="Excel Export"
2578
+
2579
+ i18n-pdfExportToolbarToolText="kendo.grid.pdfExportToolbarToolText|The text for the Grid PDF export toolbar tool"
2580
+ pdfExportToolbarToolText="PDF Export"
2581
+
2492
2582
  i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
2493
2583
  groupPanelLabel="Group panel"
2494
2584
 
@@ -3237,6 +3327,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3237
3327
  i18n-bottomToolbarLabel="kendo.grid.bottomToolbarLabel|The label for the Grid bottom toolbar"
3238
3328
  bottomToolbarLabel="Bottom toolbar"
3239
3329
 
3330
+ i18n-editToolbarToolText="kendo.grid.editToolbarToolText|The text for the Grid Edit toolbar tool"
3331
+ editToolbarToolText="Edit"
3332
+
3333
+ i18n-saveToolbarToolText="kendo.grid.saveToolbarToolText|The text for the Grid Save toolbar tool"
3334
+ saveToolbarToolText="Save"
3335
+
3336
+ i18n-addToolbarToolText="kendo.grid.addToolbarToolText|The text for the Grid Add toolbar tool"
3337
+ addToolbarToolText="Add"
3338
+
3339
+ i18n-cancelToolbarToolText="kendo.grid.cancelToolbarToolText|The text for the Grid Cancel toolbar tool"
3340
+ cancelToolbarToolText="Cancel"
3341
+
3342
+ i18n-removeToolbarToolText="kendo.grid.removeToolbarToolText|The text for the Grid Remove toolbar tool"
3343
+ removeToolbarToolText="Delete"
3344
+
3345
+ i18n-excelExportToolbarToolText="kendo.grid.excelExportToolbarToolText|The text for the Grid Excel export toolbar tool"
3346
+ excelExportToolbarToolText="Excel Export"
3347
+
3348
+ i18n-pdfExportToolbarToolText="kendo.grid.pdfExportToolbarToolText|The text for the Grid PDF export toolbar tool"
3349
+ pdfExportToolbarToolText="PDF Export"
3350
+
3240
3351
  i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
3241
3352
  groupPanelLabel="Group panel"
3242
3353
 
@@ -3766,6 +3877,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3766
3877
  type: Input
3767
3878
  }], hideHeader: [{
3768
3879
  type: Input
3880
+ }], showInactiveTools: [{
3881
+ type: Input
3882
+ }], isDetailExpanded: [{
3883
+ type: Input
3884
+ }], isGroupExpanded: [{
3885
+ type: Input
3769
3886
  }], filterChange: [{
3770
3887
  type: Output
3771
3888
  }], pageChange: [{
@@ -3780,6 +3897,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3780
3897
  type: Output
3781
3898
  }], dataStateChange: [{
3782
3899
  type: Output
3900
+ }], gridStateChange: [{
3901
+ type: Output
3783
3902
  }], groupExpand: [{
3784
3903
  type: Output
3785
3904
  }], groupCollapse: [{
@@ -3904,8 +4023,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3904
4023
  }], dialogContainer: [{
3905
4024
  type: ViewChild,
3906
4025
  args: ['dialogContainer', { read: ViewContainerRef }]
3907
- }], isDetailExpanded: [{
3908
- type: Input
3909
- }], isGroupExpanded: [{
3910
- type: Input
3911
4026
  }] } });