angular-slickgrid 9.9.0 → 9.11.0

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 CHANGED
@@ -1,4 +1,4 @@
1
- # Angular-Slickgrid
1
+ # [![Angular](https://avatars.githubusercontent.com/u/139426?s=65&v=4)](https://angular.io/) Angular-Slickgrid
2
2
 
3
3
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
4
  [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/)
@@ -67,10 +67,6 @@ export class GridComponent implements OnInit {
67
67
  [dataset]="dataset">
68
68
  </angular-slickgrid>
69
69
  ```
70
- ### Troubleshooting
71
-
72
- > [!WARNING]
73
- > Because of its use of native Custom Event, this project **does not** work well with `strictTemplates`, so please make sure to either disable `strictTemplates` or cast your event as `any` (see this [discussion](https://github.com/ghiscoding/Angular-Slickgrid/discussions/815) for more info)
74
70
 
75
71
  ### Styling Themes
76
72
 
@@ -143,7 +139,3 @@ Angular-Slickgrid uses [`ngx-translate`](https://github.com/ngx-translate/core)
143
139
 
144
140
  ### Tested with [Vitest](https://vitest.dev/) (Unit Tests) - [Cypress](https://www.cypress.io/) (E2E Tests)
145
141
  Slickgrid-Universal & Angular-Slickgrid both have **100%** Unit Test Coverage and also every Angular-Slickgrid Examples are fully tested with [Cypress](https://www.cypress.io/) as E2E tests.
146
-
147
- ## Troubleshooting Section
148
-
149
- - [`strictTemplates` error](https://ghiscoding.gitbook.io/angular-slickgrid/getting-started/troubleshooting#stricttemplates-error)
@@ -1,14 +1,14 @@
1
- import { unsubscribeAll, createDomElement, SlickRowSelectionModel, SlickEventData, castObservableToPromise, addToArrayWhenNotExists, DelimiterType, EventNamingStyle, Filters, SlickEventHandler, SlickgridConfig as SlickgridConfig$1, BackendUtilityService, GridEventService, SharedService, CollectionService, ExtensionUtility, FilterFactory, FilterService, ResizerService, SortService, TreeDataService, PaginationService, ExtensionService, GridStateService, GridService, HeaderGroupingService, emptyElement, SlickGroupItemMetadataProvider, SlickDataView, autoAddEditorFormatterToColumnsWithEditor, SlickGrid, ExtensionName, isColumnDateType } from '@slickgrid-universal/common';
1
+ import { unsubscribeAll, createDomElement, SlickHybridSelectionModel, SlickRowSelectionModel, SlickEventData, castObservableToPromise, addToArrayWhenNotExists, DelimiterType, EventNamingStyle, Filters, SlickEventHandler, SlickgridConfig as SlickgridConfig$1, BackendUtilityService, GridEventService, SharedService, CollectionService, ExtensionUtility, FilterFactory, FilterService, ResizerService, SortService, TreeDataService, PaginationService, ExtensionService, GridStateService, GridService, HeaderGroupingService, emptyElement, SlickGroupItemMetadataProvider, SlickDataView, autoAddEditorFormatterToColumnsWithEditor, SlickGrid, ExtensionName, isColumnDateType } from '@slickgrid-universal/common';
2
2
  export * from '@slickgrid-universal/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, Optional, EventEmitter, ContentChild, Input, Output, Inject, Component, NgModule } from '@angular/core';
4
+ import { Injectable, Optional, EventEmitter, output, ContentChild, Input, Output, Inject, Component, NgModule } from '@angular/core';
5
5
  import * as i1 from '@ngx-translate/core';
6
6
  import { TranslateModule } from '@ngx-translate/core';
7
7
  import { SlickRowDetailView as SlickRowDetailView$1 } from '@slickgrid-universal/row-detail-view-plugin';
8
8
  import { Observable } from 'rxjs';
9
- import { EventPubSubService } from '@slickgrid-universal/event-pub-sub';
10
- import { SlickEmptyWarningComponent } from '@slickgrid-universal/empty-warning-component';
11
9
  import { SlickFooterComponent } from '@slickgrid-universal/custom-footer-component';
10
+ import { SlickEmptyWarningComponent } from '@slickgrid-universal/empty-warning-component';
11
+ import { EventPubSubService } from '@slickgrid-universal/event-pub-sub';
12
12
  import { SlickPaginationComponent } from '@slickgrid-universal/pagination-component';
13
13
  import { RxJsResource } from '@slickgrid-universal/rxjs-observable';
14
14
  import { extend } from '@slickgrid-universal/utils';
@@ -245,8 +245,8 @@ class SlickRowDetailView extends SlickRowDetailView$1 {
245
245
  }
246
246
  init(grid) {
247
247
  this._grid = grid;
248
- super.init(this._grid);
249
- this.register(grid?.getSelectionModel());
248
+ super.init(grid);
249
+ this.register(grid.getSelectionModel());
250
250
  }
251
251
  /**
252
252
  * Create the plugin before the Grid creation, else it will behave oddly.
@@ -266,16 +266,17 @@ class SlickRowDetailView extends SlickRowDetailView$1 {
266
266
  // load the Preload & RowDetail Templates (could be straight HTML or Angular View/ViewModel)
267
267
  // when those are Angular View/ViewModel, we need to create View Component & provide the html containers to the Plugin (preTemplate/postTemplate methods)
268
268
  if (!this.gridOptions.rowDetailView.preTemplate) {
269
- this._preloadComponent = this.gridOptions?.rowDetailView?.preloadComponent;
269
+ this._preloadComponent = this.gridOptions.rowDetailView.preloadComponent;
270
270
  this.addonOptions.preTemplate = () => createDomElement('div', { className: `${PRELOAD_CONTAINER_PREFIX}` });
271
271
  }
272
272
  if (!this.gridOptions.rowDetailView.postTemplate) {
273
- this._viewComponent = this.gridOptions?.rowDetailView?.viewComponent;
273
+ this._viewComponent = this.gridOptions.rowDetailView.viewComponent;
274
274
  this.addonOptions.postTemplate = (itemDetail) => createDomElement('div', { className: `${ROW_DETAIL_CONTAINER_PREFIX}${itemDetail[this.datasetIdPropName]}` });
275
275
  }
276
276
  // this also requires the Row Selection Model to be registered as well
277
277
  if (!rowSelectionPlugin || !this._grid.getSelectionModel()) {
278
- rowSelectionPlugin = new SlickRowSelectionModel(this.gridOptions.rowSelectionOptions || { selectActiveRow: true });
278
+ const SelectionModelClass = this.gridOptions.enableHybridSelection ? SlickHybridSelectionModel : SlickRowSelectionModel;
279
+ rowSelectionPlugin = new SelectionModelClass(this.gridOptions.rowSelectionOptions || { selectActiveRow: true });
279
280
  this._grid.setSelectionModel(rowSelectionPlugin);
280
281
  }
281
282
  // hook all events
@@ -339,7 +340,7 @@ class SlickRowDetailView extends SlickRowDetailView$1 {
339
340
  // we need to redraw the open detail views if we change column position (column reorder)
340
341
  this.eventHandler.subscribe(this._grid.onColumnsReordered, this.redrawAllViewComponents.bind(this, false));
341
342
  // on row selection changed, we also need to redraw
342
- if (this.gridOptions.enableRowSelection || this.gridOptions.enableCheckboxSelector) {
343
+ if (this.gridOptions.enableRowSelection || this.gridOptions.enableHybridSelection || this.gridOptions.enableCheckboxSelector) {
343
344
  this.eventHandler.subscribe(this._grid.onSelectedRowsChanged, this.redrawAllViewComponents.bind(this, false));
344
345
  }
345
346
  // on sort, all row detail are collapsed so we can dispose of all the Views as well
@@ -949,6 +950,134 @@ class AngularSlickgridComponent {
949
950
  // make the columnDefinitions a 2-way binding so that plugin adding cols
950
951
  // are synched on user's side as well (RowMove, RowDetail, RowSelections)
951
952
  columnsChange = new EventEmitter(true);
953
+ // SlickGrid events
954
+ onActiveCellChanged = output();
955
+ onActiveCellPositionChanged = output();
956
+ onAddNewRow = output();
957
+ onAutosizeColumns = output();
958
+ onBeforeAppendCell = output();
959
+ onBeforeSearchChange = output();
960
+ onBeforeCellEditorDestroy = output();
961
+ onBeforeColumnsResize = output();
962
+ onBeforeDestroy = output();
963
+ onBeforeEditCell = output();
964
+ onBeforeHeaderCellDestroy = output();
965
+ onBeforeHeaderRowCellDestroy = output();
966
+ onBeforeFooterRowCellDestroy = output();
967
+ onBeforeSetColumns = output();
968
+ onBeforeSort = output();
969
+ onCellChange = output();
970
+ onCellCssStylesChanged = output();
971
+ onClick = output();
972
+ onColumnsDrag = output();
973
+ onColumnsReordered = output();
974
+ onColumnsResized = output();
975
+ onColumnsResizeDblClick = output();
976
+ onCompositeEditorChange = output();
977
+ onContextMenu = output();
978
+ onDrag = output();
979
+ onDragEnd = output();
980
+ onDragInit = output();
981
+ onDragStart = output();
982
+ onDragReplaceCells = output();
983
+ onDblClick = output();
984
+ onFooterContextMenu = output();
985
+ onFooterRowCellRendered = output();
986
+ onHeaderCellRendered = output();
987
+ onFooterClick = output();
988
+ onHeaderClick = output();
989
+ onHeaderContextMenu = output();
990
+ onHeaderMouseEnter = output();
991
+ onHeaderMouseLeave = output();
992
+ onHeaderRowCellRendered = output();
993
+ onHeaderRowMouseEnter = output();
994
+ onHeaderRowMouseLeave = output();
995
+ onKeyDown = output();
996
+ onMouseEnter = output();
997
+ onMouseLeave = output();
998
+ onValidationError = output();
999
+ onViewportChanged = output();
1000
+ onRendered = output();
1001
+ onSelectedRowsChanged = output();
1002
+ onSetOptions = output();
1003
+ onScroll = output();
1004
+ onSort = output();
1005
+ // DataView events
1006
+ onBeforePagingInfoChanged = output();
1007
+ onGroupExpanded = output();
1008
+ onGroupCollapsed = output();
1009
+ onPagingInfoChanged = output();
1010
+ onRowCountChanged = output();
1011
+ onRowsChanged = output();
1012
+ onRowsOrCountChanged = output();
1013
+ onSelectedRowIdsChanged = output();
1014
+ onSetItemsCalled = output();
1015
+ // other Slick Events
1016
+ onAfterMenuShow = output();
1017
+ onBeforeMenuClose = output();
1018
+ onBeforeMenuShow = output();
1019
+ onColumnsChanged = output();
1020
+ onCommand = output();
1021
+ onGridMenuColumnsChanged = output();
1022
+ onMenuClose = output();
1023
+ onCopyCells = output();
1024
+ onCopyCancelled = output();
1025
+ onPasteCells = output();
1026
+ onBeforePasteCell = output();
1027
+ // Slickgrid-Universal events
1028
+ onAfterExportToExcel = output();
1029
+ onBeforeExportToExcel = output();
1030
+ onBeforeFilterChange = output();
1031
+ onBeforeFilterClear = output();
1032
+ onBeforeSortChange = output();
1033
+ onContextMenuClearGrouping = output();
1034
+ onContextMenuCollapseAllGroups = output();
1035
+ onContextMenuExpandAllGroups = output();
1036
+ onOptionSelected = output();
1037
+ onColumnPickerColumnsChanged = output();
1038
+ onGridMenuMenuClose = output();
1039
+ onGridMenuBeforeMenuShow = output();
1040
+ onGridMenuAfterMenuShow = output();
1041
+ onGridMenuClearAllPinning = output();
1042
+ onGridMenuClearAllFilters = output();
1043
+ onGridMenuClearAllSorting = output();
1044
+ onGridMenuCommand = output();
1045
+ onHeaderButtonCommand = output();
1046
+ onHeaderMenuCommand = output();
1047
+ onHeaderMenuColumnResizeByContent = output();
1048
+ onHeaderMenuBeforeMenuShow = output();
1049
+ onHeaderMenuAfterMenuShow = output();
1050
+ onHideColumns = output();
1051
+ onItemsAdded = output();
1052
+ onItemsDeleted = output();
1053
+ onItemsUpdated = output();
1054
+ onItemsUpserted = output();
1055
+ onFullResizeByContentRequested = output();
1056
+ onGridStateChanged = output();
1057
+ onBeforePaginationChange = output();
1058
+ onPaginationChanged = output();
1059
+ onPaginationRefreshed = output();
1060
+ onPaginationVisibilityChanged = output();
1061
+ onPaginationSetCursorBased = output();
1062
+ onGridBeforeResize = output();
1063
+ onGridAfterResize = output();
1064
+ onBeforeResizeByContent = output();
1065
+ onAfterResizeByContent = output();
1066
+ onSortCleared = output();
1067
+ onFilterChanged = output();
1068
+ onFilterCleared = output();
1069
+ onSortChanged = output();
1070
+ onTreeItemToggled = output();
1071
+ onTreeFullToggleEnd = output();
1072
+ onTreeFullToggleStart = output();
1073
+ // Angular-Slickgrid specific events
1074
+ onBeforeGridCreate = output();
1075
+ onGridCreated = output();
1076
+ onDataviewCreated = output();
1077
+ onAngularGridCreated = output();
1078
+ onBeforeGridDestroy = output();
1079
+ onAfterGridDestroyed = output();
1080
+ onLanguageChange = output();
952
1081
  get dataset() {
953
1082
  return (this.customDataView ? this.slickGrid?.getData?.() : this.dataView?.getItems()) || [];
954
1083
  }
@@ -1026,8 +1155,8 @@ class AngularSlickgridComponent {
1026
1155
  get registeredResources() {
1027
1156
  return this._registeredResources;
1028
1157
  }
1029
- slickgridHeader;
1030
- slickgridFooter;
1158
+ slickgridHeader = null;
1159
+ slickgridFooter = null;
1031
1160
  constructor(angularUtilService, appRef, cd, containerService, elm, translate, translaterService, forRootConfig, externalServices) {
1032
1161
  this.angularUtilService = angularUtilService;
1033
1162
  this.appRef = appRef;
@@ -1332,7 +1461,8 @@ class AngularSlickgridComponent {
1332
1461
  }
1333
1462
  const datasetLn = this.dataView.getLength() || this._dataset?.length || 0;
1334
1463
  if (datasetLn > 0) {
1335
- if (!this._isDatasetInitialized && (this.options.enableCheckboxSelector || this.options.enableRowSelection)) {
1464
+ if (!this._isDatasetInitialized &&
1465
+ (this.options.enableCheckboxSelector || this.options.enableRowSelection || this.options.enableHybridSelection)) {
1336
1466
  this.loadRowSelectionPresetWhenExists();
1337
1467
  }
1338
1468
  this.loadFilterPresetsWhenDatasetInitialized();
@@ -1399,7 +1529,7 @@ class AngularSlickgridComponent {
1399
1529
  if (this.slickGrid &&
1400
1530
  !isSyncGridSelectionEnabled &&
1401
1531
  this.options?.backendServiceApi &&
1402
- (this.options.enableRowSelection || this.options.enableCheckboxSelector)) {
1532
+ (this.options.enableRowSelection || this.options.enableHybridSelection || this.options.enableCheckboxSelector)) {
1403
1533
  this.slickGrid.setSelectedRows([]);
1404
1534
  }
1405
1535
  const { pageNumber, pageSize } = pagination;
@@ -1551,7 +1681,7 @@ class AngularSlickgridComponent {
1551
1681
  }
1552
1682
  this.subscriptions.push(this.translate.onLangChange.subscribe(({ lang }) => {
1553
1683
  // publish event of the same name that Slickgrid-Universal uses on a language change event
1554
- this._eventPubSubService.publish('onLanguageChange');
1684
+ this._eventPubSubService.publish('onLanguageChange', lang);
1555
1685
  if (gridOptions.enableTranslate) {
1556
1686
  this.extensionService.translateAllExtensions(lang);
1557
1687
  if ((gridOptions.createPreHeaderPanel && gridOptions.createTopHeaderPanel) ||
@@ -1917,7 +2047,7 @@ class AngularSlickgridComponent {
1917
2047
  loadRowSelectionPresetWhenExists() {
1918
2048
  // if user entered some Row Selections "presets"
1919
2049
  const presets = this.options?.presets;
1920
- const enableRowSelection = this.options && (this.options.enableCheckboxSelector || this.options.enableRowSelection);
2050
+ const enableRowSelection = this.options && (this.options.enableCheckboxSelector || this.options.enableRowSelection || this.options.enableHybridSelection);
1921
2051
  if (enableRowSelection &&
1922
2052
  this.slickGrid?.getSelectionModel() &&
1923
2053
  presets?.rowSelection &&
@@ -2154,19 +2284,11 @@ class AngularSlickgridComponent {
2154
2284
  }
2155
2285
  }
2156
2286
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AngularSlickgridComponent, deps: [{ token: AngularUtilService }, { token: i0.ApplicationRef }, { token: i0.ChangeDetectorRef }, { token: ContainerService }, { token: i0.ElementRef }, { token: i1.TranslateService, optional: true }, { token: TranslaterService, optional: true }, { token: 'config' }, { token: 'externalService' }], target: i0.ɵɵFactoryTarget.Component });
2157
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: AngularSlickgridComponent, isStandalone: false, selector: "angular-slickgrid", inputs: { customDataView: "customDataView", gridId: "gridId", options: "options", paginationOptions: "paginationOptions", columns: "columns", dataset: "dataset", datasetHierarchical: "datasetHierarchical" }, outputs: { columnsChange: "columnsChange" }, providers: [
2158
- // make everything transient (non-singleton)
2159
- AngularUtilService,
2160
- TranslaterService,
2161
- ], queries: [{ propertyName: "slickgridHeader", first: true, predicate: ["slickgridHeader"], descendants: true, static: true }, { propertyName: "slickgridFooter", first: true, predicate: ["slickgridFooter"], descendants: true, static: true }], ngImport: i0, template: "<div id=\"slickGridContainer-{{ gridId }}\" class=\"gridPane\">\n <ng-container *ngTemplateOutlet=\"slickgridHeader\"></ng-container>\n <div attr.id=\"{{ gridId }}\" class=\"slickgrid-container\"></div>\n <ng-container *ngTemplateOutlet=\"slickgridFooter\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], preserveWhitespaces: true });
2287
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: AngularSlickgridComponent, isStandalone: false, selector: "angular-slickgrid", inputs: { customDataView: "customDataView", gridId: "gridId", options: "options", paginationOptions: "paginationOptions", columns: "columns", dataset: "dataset", datasetHierarchical: "datasetHierarchical" }, outputs: { columnsChange: "columnsChange", onActiveCellChanged: "onActiveCellChanged", onActiveCellPositionChanged: "onActiveCellPositionChanged", onAddNewRow: "onAddNewRow", onAutosizeColumns: "onAutosizeColumns", onBeforeAppendCell: "onBeforeAppendCell", onBeforeSearchChange: "onBeforeSearchChange", onBeforeCellEditorDestroy: "onBeforeCellEditorDestroy", onBeforeColumnsResize: "onBeforeColumnsResize", onBeforeDestroy: "onBeforeDestroy", onBeforeEditCell: "onBeforeEditCell", onBeforeHeaderCellDestroy: "onBeforeHeaderCellDestroy", onBeforeHeaderRowCellDestroy: "onBeforeHeaderRowCellDestroy", onBeforeFooterRowCellDestroy: "onBeforeFooterRowCellDestroy", onBeforeSetColumns: "onBeforeSetColumns", onBeforeSort: "onBeforeSort", onCellChange: "onCellChange", onCellCssStylesChanged: "onCellCssStylesChanged", onClick: "onClick", onColumnsDrag: "onColumnsDrag", onColumnsReordered: "onColumnsReordered", onColumnsResized: "onColumnsResized", onColumnsResizeDblClick: "onColumnsResizeDblClick", onCompositeEditorChange: "onCompositeEditorChange", onContextMenu: "onContextMenu", onDrag: "onDrag", onDragEnd: "onDragEnd", onDragInit: "onDragInit", onDragStart: "onDragStart", onDragReplaceCells: "onDragReplaceCells", onDblClick: "onDblClick", onFooterContextMenu: "onFooterContextMenu", onFooterRowCellRendered: "onFooterRowCellRendered", onHeaderCellRendered: "onHeaderCellRendered", onFooterClick: "onFooterClick", onHeaderClick: "onHeaderClick", onHeaderContextMenu: "onHeaderContextMenu", onHeaderMouseEnter: "onHeaderMouseEnter", onHeaderMouseLeave: "onHeaderMouseLeave", onHeaderRowCellRendered: "onHeaderRowCellRendered", onHeaderRowMouseEnter: "onHeaderRowMouseEnter", onHeaderRowMouseLeave: "onHeaderRowMouseLeave", onKeyDown: "onKeyDown", onMouseEnter: "onMouseEnter", onMouseLeave: "onMouseLeave", onValidationError: "onValidationError", onViewportChanged: "onViewportChanged", onRendered: "onRendered", onSelectedRowsChanged: "onSelectedRowsChanged", onSetOptions: "onSetOptions", onScroll: "onScroll", onSort: "onSort", onBeforePagingInfoChanged: "onBeforePagingInfoChanged", onGroupExpanded: "onGroupExpanded", onGroupCollapsed: "onGroupCollapsed", onPagingInfoChanged: "onPagingInfoChanged", onRowCountChanged: "onRowCountChanged", onRowsChanged: "onRowsChanged", onRowsOrCountChanged: "onRowsOrCountChanged", onSelectedRowIdsChanged: "onSelectedRowIdsChanged", onSetItemsCalled: "onSetItemsCalled", onAfterMenuShow: "onAfterMenuShow", onBeforeMenuClose: "onBeforeMenuClose", onBeforeMenuShow: "onBeforeMenuShow", onColumnsChanged: "onColumnsChanged", onCommand: "onCommand", onGridMenuColumnsChanged: "onGridMenuColumnsChanged", onMenuClose: "onMenuClose", onCopyCells: "onCopyCells", onCopyCancelled: "onCopyCancelled", onPasteCells: "onPasteCells", onBeforePasteCell: "onBeforePasteCell", onAfterExportToExcel: "onAfterExportToExcel", onBeforeExportToExcel: "onBeforeExportToExcel", onBeforeFilterChange: "onBeforeFilterChange", onBeforeFilterClear: "onBeforeFilterClear", onBeforeSortChange: "onBeforeSortChange", onContextMenuClearGrouping: "onContextMenuClearGrouping", onContextMenuCollapseAllGroups: "onContextMenuCollapseAllGroups", onContextMenuExpandAllGroups: "onContextMenuExpandAllGroups", onOptionSelected: "onOptionSelected", onColumnPickerColumnsChanged: "onColumnPickerColumnsChanged", onGridMenuMenuClose: "onGridMenuMenuClose", onGridMenuBeforeMenuShow: "onGridMenuBeforeMenuShow", onGridMenuAfterMenuShow: "onGridMenuAfterMenuShow", onGridMenuClearAllPinning: "onGridMenuClearAllPinning", onGridMenuClearAllFilters: "onGridMenuClearAllFilters", onGridMenuClearAllSorting: "onGridMenuClearAllSorting", onGridMenuCommand: "onGridMenuCommand", onHeaderButtonCommand: "onHeaderButtonCommand", onHeaderMenuCommand: "onHeaderMenuCommand", onHeaderMenuColumnResizeByContent: "onHeaderMenuColumnResizeByContent", onHeaderMenuBeforeMenuShow: "onHeaderMenuBeforeMenuShow", onHeaderMenuAfterMenuShow: "onHeaderMenuAfterMenuShow", onHideColumns: "onHideColumns", onItemsAdded: "onItemsAdded", onItemsDeleted: "onItemsDeleted", onItemsUpdated: "onItemsUpdated", onItemsUpserted: "onItemsUpserted", onFullResizeByContentRequested: "onFullResizeByContentRequested", onGridStateChanged: "onGridStateChanged", onBeforePaginationChange: "onBeforePaginationChange", onPaginationChanged: "onPaginationChanged", onPaginationRefreshed: "onPaginationRefreshed", onPaginationVisibilityChanged: "onPaginationVisibilityChanged", onPaginationSetCursorBased: "onPaginationSetCursorBased", onGridBeforeResize: "onGridBeforeResize", onGridAfterResize: "onGridAfterResize", onBeforeResizeByContent: "onBeforeResizeByContent", onAfterResizeByContent: "onAfterResizeByContent", onSortCleared: "onSortCleared", onFilterChanged: "onFilterChanged", onFilterCleared: "onFilterCleared", onSortChanged: "onSortChanged", onTreeItemToggled: "onTreeItemToggled", onTreeFullToggleEnd: "onTreeFullToggleEnd", onTreeFullToggleStart: "onTreeFullToggleStart", onBeforeGridCreate: "onBeforeGridCreate", onGridCreated: "onGridCreated", onDataviewCreated: "onDataviewCreated", onAngularGridCreated: "onAngularGridCreated", onBeforeGridDestroy: "onBeforeGridDestroy", onAfterGridDestroyed: "onAfterGridDestroyed", onLanguageChange: "onLanguageChange" }, providers: [AngularUtilService, TranslaterService], queries: [{ propertyName: "slickgridHeader", first: true, predicate: ["slickgridHeader"], descendants: true, static: true }, { propertyName: "slickgridFooter", first: true, predicate: ["slickgridFooter"], descendants: true, static: true }], ngImport: i0, template: "<div id=\"slickGridContainer-{{ gridId }}\" class=\"gridPane\">\n <ng-container *ngTemplateOutlet=\"slickgridHeader\"></ng-container>\n <div attr.id=\"{{ gridId }}\" class=\"slickgrid-container\"></div>\n <ng-container *ngTemplateOutlet=\"slickgridFooter\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], preserveWhitespaces: true });
2162
2288
  }
2163
2289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: AngularSlickgridComponent, decorators: [{
2164
2290
  type: Component,
2165
- args: [{ selector: 'angular-slickgrid', providers: [
2166
- // make everything transient (non-singleton)
2167
- AngularUtilService,
2168
- TranslaterService,
2169
- ], standalone: false, template: "<div id=\"slickGridContainer-{{ gridId }}\" class=\"gridPane\">\n <ng-container *ngTemplateOutlet=\"slickgridHeader\"></ng-container>\n <div attr.id=\"{{ gridId }}\" class=\"slickgrid-container\"></div>\n <ng-container *ngTemplateOutlet=\"slickgridFooter\"></ng-container>\n</div>\n" }]
2291
+ args: [{ selector: 'angular-slickgrid', providers: [AngularUtilService, TranslaterService], standalone: false, template: "<div id=\"slickGridContainer-{{ gridId }}\" class=\"gridPane\">\n <ng-container *ngTemplateOutlet=\"slickgridHeader\"></ng-container>\n <div attr.id=\"{{ gridId }}\" class=\"slickgrid-container\"></div>\n <ng-container *ngTemplateOutlet=\"slickgridFooter\"></ng-container>\n</div>\n" }]
2170
2292
  }], ctorParameters: () => [{ type: AngularUtilService }, { type: i0.ApplicationRef }, { type: i0.ChangeDetectorRef }, { type: ContainerService }, { type: i0.ElementRef }, { type: i1.TranslateService, decorators: [{
2171
2293
  type: Optional
2172
2294
  }] }, { type: TranslaterService, decorators: [{