@progress/kendo-angular-grid 13.0.0-develop.13 → 13.0.0-develop.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,7 +22,7 @@ import { plusIcon, cancelIcon, lockIcon, unlockIcon, insertMiddleIcon, caretAltL
22
22
  import * as i1$3 from '@angular/platform-browser';
23
23
  import * as i3 from '@progress/kendo-angular-icons';
24
24
  import { IconsModule } from '@progress/kendo-angular-icons';
25
- import * as i40 from '@progress/kendo-angular-utils';
25
+ import * as i41 from '@progress/kendo-angular-utils';
26
26
  import { DragTargetContainerDirective, DropTargetContainerDirective, DragAndDropModule as DragAndDropModule$1 } from '@progress/kendo-angular-utils';
27
27
  import * as i4$1 from '@progress/kendo-angular-buttons';
28
28
  import { ButtonModule, ChipModule, Button } from '@progress/kendo-angular-buttons';
@@ -2076,16 +2076,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2076
2076
  * @hidden
2077
2077
  */
2078
2078
  class SelectionService {
2079
- constructor(domEvents, localDataChangesService, navigationService) {
2079
+ constructor(domEvents, localDataChangesService, navigationService, ctxService) {
2080
2080
  this.domEvents = domEvents;
2081
2081
  this.localDataChangesService = localDataChangesService;
2082
2082
  this.navigationService = navigationService;
2083
+ this.ctxService = ctxService;
2083
2084
  this.changes = new EventEmitter();
2084
- this.lastSelectionStartIndex = 0;
2085
+ this.aggregateChanges = new EventEmitter();
2085
2086
  this.currentSelection = [];
2086
2087
  this.selectAllChecked = false;
2087
2088
  this.active = false;
2088
2089
  this.dragging = false;
2090
+ this.lastSelectionData = {};
2089
2091
  this.addSubscriptions();
2090
2092
  }
2091
2093
  get enableMarquee() {
@@ -2103,7 +2105,12 @@ class SelectionService {
2103
2105
  return this.active && dragAndMultiple;
2104
2106
  }
2105
2107
  init(settings) {
2108
+ var _a, _b, _c, _d, _e, _f;
2106
2109
  this.settings = settings;
2110
+ if (!isPresent(this.lastSelectionStartIndex)) {
2111
+ this.lastSelectionStartIndex = ((_c = (_b = (_a = this.ctxService) === null || _a === void 0 ? void 0 : _a.grid.selectionDirective) === null || _b === void 0 ? void 0 : _b.rangeSelectionStartRow) === null || _c === void 0 ? void 0 : _c.index) || 0;
2112
+ this.lastSelectionData = ((_f = (_e = (_d = this.ctxService) === null || _d === void 0 ? void 0 : _d.grid.selectionDirective) === null || _e === void 0 ? void 0 : _e.rangeSelectionStartRow) === null || _f === void 0 ? void 0 : _f.dataItem) || {};
2113
+ }
2107
2114
  this.currentSelection = [];
2108
2115
  if (settings.selectable && settings.selectable.enabled !== false) {
2109
2116
  const iterator = this.getIterator();
@@ -2164,12 +2171,21 @@ class SelectionService {
2164
2171
  }
2165
2172
  ev.ctrlKey = ctrlKey;
2166
2173
  ev.shiftKey = event.shiftKey;
2174
+ if (this.options.cellAggregates) {
2175
+ this.aggregateChanges.emit(ev);
2176
+ ev.cellAggregates = this.aggregates;
2177
+ }
2178
+ if (ev.shiftKey) {
2179
+ ev.rangeStartRow = { dataItem: this.lastSelectionData, index: this.lastSelectionStartIndex };
2180
+ ev.rangeEndRow = { dataItem: item.data, index: item.index };
2181
+ }
2167
2182
  this.changes.emit(ev);
2168
2183
  }
2169
2184
  toggle(item) {
2170
2185
  const selectedRows = [];
2171
2186
  const deselectedRows = [];
2172
2187
  this.lastSelectionStartIndex = item.index;
2188
+ this.lastSelectionData = item.data;
2173
2189
  const rowArgs = { dataItem: item.data, index: item.index };
2174
2190
  if (this.isSelected(item.index)) {
2175
2191
  deselectedRows.push(rowArgs);
@@ -2208,6 +2224,7 @@ class SelectionService {
2208
2224
  const deselectedRows = [];
2209
2225
  const selectedRows = [];
2210
2226
  this.lastSelectionStartIndex = item.index;
2227
+ this.lastSelectionData = item.data;
2211
2228
  if (!this.isSelected(item.index)) {
2212
2229
  selectedRows.push({ dataItem: item.data, index: item.index });
2213
2230
  }
@@ -2318,9 +2335,15 @@ class SelectionService {
2318
2335
  }
2319
2336
  next = iterator.next();
2320
2337
  }
2338
+ let cellAggregates;
2339
+ if (this.options.cellAggregates) {
2340
+ this.aggregateChanges.emit({ selectedRows, deselectedRows });
2341
+ cellAggregates = this.aggregates;
2342
+ }
2321
2343
  return {
2322
2344
  deselectedRows: deselectedRows,
2323
- selectedRows: selectedRows
2345
+ selectedRows: selectedRows,
2346
+ cellAggregates
2324
2347
  };
2325
2348
  }
2326
2349
  get selectAllState() {
@@ -2333,6 +2356,7 @@ class SelectionService {
2333
2356
  }
2334
2357
  get options() {
2335
2358
  const defaultOptions = {
2359
+ cellAggregates: false,
2336
2360
  checkboxOnly: false,
2337
2361
  enabled: true,
2338
2362
  mode: "multiple"
@@ -2342,6 +2366,7 @@ class SelectionService {
2342
2366
  }
2343
2367
  if (typeof this.settings.selectable === 'boolean') {
2344
2368
  return {
2369
+ cellAggregates: false,
2345
2370
  checkboxOnly: false,
2346
2371
  enabled: this.settings.selectable,
2347
2372
  mode: "multiple"
@@ -2414,11 +2439,11 @@ class SelectionService {
2414
2439
  }
2415
2440
  }
2416
2441
  }
2417
- SelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService, deps: [{ token: DomEventsService }, { token: LocalDataChangesService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Injectable });
2442
+ SelectionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService, deps: [{ token: DomEventsService }, { token: LocalDataChangesService }, { token: NavigationService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
2418
2443
  SelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService });
2419
2444
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService, decorators: [{
2420
2445
  type: Injectable
2421
- }], ctorParameters: function () { return [{ type: DomEventsService }, { type: LocalDataChangesService }, { type: NavigationService }]; } });
2446
+ }], ctorParameters: function () { return [{ type: DomEventsService }, { type: LocalDataChangesService }, { type: NavigationService }, { type: ContextService }]; } });
2422
2447
 
2423
2448
  /**
2424
2449
  * @hidden
@@ -2429,6 +2454,7 @@ class CellSelectionService {
2429
2454
  this.localDataChangesService = localDataChangesService;
2430
2455
  this.navigationService = navigationService;
2431
2456
  this.changes = new EventEmitter();
2457
+ this.aggregateChanges = new EventEmitter();
2432
2458
  this.mouseUpEvent = new EventEmitter();
2433
2459
  this.currentSelection = [];
2434
2460
  this.active = false;
@@ -2514,6 +2540,14 @@ class CellSelectionService {
2514
2540
  }
2515
2541
  ev.ctrlKey = ctrlKey;
2516
2542
  ev.shiftKey = event.shiftKey;
2543
+ if (this.options.cellAggregates) {
2544
+ this.aggregateChanges.emit(ev);
2545
+ ev.cellAggregates = this.aggregates;
2546
+ }
2547
+ if (ev.shiftKey) {
2548
+ ev.rangeStartCell = this.lastSelectionItem;
2549
+ ev.rangeEndCell = Object.assign({}, this.settings.cellSelected({ dataItem: item.data, index: item.index }, item.column, item.column.leafIndex).item);
2550
+ }
2517
2551
  this.changes.emit(ev);
2518
2552
  }
2519
2553
  toggle(item) {
@@ -2617,13 +2651,20 @@ class CellSelectionService {
2617
2651
  }
2618
2652
  next = iterator.next();
2619
2653
  }
2654
+ let cellAggregates;
2655
+ if (this.options.cellAggregates) {
2656
+ this.aggregateChanges.emit({ selectedCells, deselectedCells });
2657
+ cellAggregates = this.aggregates;
2658
+ }
2620
2659
  return {
2621
2660
  deselectedCells,
2622
- selectedCells
2661
+ selectedCells,
2662
+ cellAggregates
2623
2663
  };
2624
2664
  }
2625
2665
  get options() {
2626
2666
  const defaultOptions = {
2667
+ cellAggregates: false,
2627
2668
  checkboxOnly: false,
2628
2669
  enabled: true,
2629
2670
  mode: "multiple"
@@ -2633,6 +2674,7 @@ class CellSelectionService {
2633
2674
  }
2634
2675
  if (typeof this.settings.selectable === 'boolean') {
2635
2676
  return {
2677
+ cellAggregates: false,
2636
2678
  checkboxOnly: false,
2637
2679
  enabled: this.settings.selectable,
2638
2680
  mode: "multiple"
@@ -2906,8 +2948,8 @@ const packageMetadata = {
2906
2948
  name: '@progress/kendo-angular-grid',
2907
2949
  productName: 'Kendo UI for Angular',
2908
2950
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
2909
- publishDate: 1685375852,
2910
- version: '13.0.0-develop.13',
2951
+ publishDate: 1685453775,
2952
+ version: '13.0.0-develop.15',
2911
2953
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
2912
2954
  };
2913
2955
 
@@ -4553,6 +4595,12 @@ class Selection {
4553
4595
  * @default []
4554
4596
  */
4555
4597
  this.selectedKeys = [];
4598
+ /**
4599
+ * Defines the initial shift-click range selection starting column index when cell selection is enabled.
4600
+ *
4601
+ * @default 0
4602
+ */
4603
+ this.rangeSelectionStartColumnIndex = 0;
4556
4604
  /**
4557
4605
  * Fires when the `selectedKeys` collection has been updated.
4558
4606
  */
@@ -4600,6 +4648,9 @@ class Selection {
4600
4648
  this.rowSelectionState.clear();
4601
4649
  this.cellSelectionState.clear();
4602
4650
  }
4651
+ /**
4652
+ * @hidden
4653
+ */
4603
4654
  getItemKey(row) {
4604
4655
  if (this.selectionKey) {
4605
4656
  if (typeof this.selectionKey === "string") {
@@ -4678,7 +4729,7 @@ class Selection {
4678
4729
  }
4679
4730
  }
4680
4731
  Selection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Selection, deps: [{ token: ContextService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
4681
- Selection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Selection, selector: "kendo-grid-selection-base", inputs: { selectedKeys: "selectedKeys", selectionKey: ["kendoGridSelectBy", "selectionKey"], columnKey: "columnKey" }, outputs: { selectedKeysChange: "selectedKeysChange" }, usesOnChanges: true, ngImport: i0 });
4732
+ Selection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Selection, selector: "kendo-grid-selection-base", inputs: { selectedKeys: "selectedKeys", rangeSelectionStartRow: "rangeSelectionStartRow", rangeSelectionStartColumnIndex: "rangeSelectionStartColumnIndex", selectionKey: ["kendoGridSelectBy", "selectionKey"], columnKey: "columnKey" }, outputs: { selectedKeysChange: "selectedKeysChange" }, usesOnChanges: true, ngImport: i0 });
4682
4733
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Selection, decorators: [{
4683
4734
  type: Directive,
4684
4735
  args: [{
@@ -4687,6 +4738,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4687
4738
  }]
4688
4739
  }], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedKeys: [{
4689
4740
  type: Input
4741
+ }], rangeSelectionStartRow: [{
4742
+ type: Input
4743
+ }], rangeSelectionStartColumnIndex: [{
4744
+ type: Input
4690
4745
  }], selectionKey: [{
4691
4746
  type: Input,
4692
4747
  args: ["kendoGridSelectBy"]
@@ -6497,6 +6552,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6497
6552
  type: Output
6498
6553
  }] } });
6499
6554
 
6555
+ /**
6556
+ * Represents the status bar template of the Grid. Allows you to visualize the aggregates using custom rendering inside the template.
6557
+ * The template context has the following field:
6558
+ * - `aggregates`—The [SelectionAggregates]({% slug api_grid_selectionaggregates %}) object that contains all calculated aggregates.
6559
+ * Use the Angular [ngFor](link:site.data.urls.angular['ngfor']) structural directive combined with the [KeyValuePipe](https://angular.io/api/common/KeyValuePipe)
6560
+ * to loop through the aggregates as key-value pairs.
6561
+ */
6562
+ class StatusBarTemplateDirective {
6563
+ constructor(templateRef) {
6564
+ this.templateRef = templateRef;
6565
+ }
6566
+ }
6567
+ StatusBarTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6568
+ StatusBarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: StatusBarTemplateDirective, selector: "[kendoGridStatusBarTemplate]", ngImport: i0 });
6569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarTemplateDirective, decorators: [{
6570
+ type: Directive,
6571
+ args: [{
6572
+ selector: '[kendoGridStatusBarTemplate]'
6573
+ }]
6574
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
6575
+
6500
6576
  /**
6501
6577
  * @hidden
6502
6578
  */
@@ -15867,6 +15943,8 @@ class SelectionCheckboxDirective {
15867
15943
  const ev = this.selectionService.toggleByIndex(this.itemIndex);
15868
15944
  ev.ctrlKey = true;
15869
15945
  ev.shiftKey = false;
15946
+ this.selectionService.aggregateChanges.emit(ev);
15947
+ ev.cellAggregates = this.selectionService.aggregates;
15870
15948
  this.selectionService.changes.emit(ev);
15871
15949
  });
15872
15950
  }
@@ -18626,6 +18704,224 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18626
18704
  type: Input
18627
18705
  }] } });
18628
18706
 
18707
+ /* eslint-disable @typescript-eslint/no-explicit-any */
18708
+ ;
18709
+ /**
18710
+ * @hidden
18711
+ */
18712
+ class StatusBarComponent {
18713
+ constructor(ctx, selectionService, dataChanges, columnInfoService, cellSelectionService) {
18714
+ this.ctx = ctx;
18715
+ this.selectionService = selectionService;
18716
+ this.dataChanges = dataChanges;
18717
+ this.columnInfoService = columnInfoService;
18718
+ this.cellSelectionService = cellSelectionService;
18719
+ this.hostClasses = true;
18720
+ this.groupedAggregates = { dates: [], numbers: [], booleans: [] };
18721
+ this.aggregates = {
18722
+ sum: null,
18723
+ average: null,
18724
+ min: null,
18725
+ max: null,
18726
+ count: null,
18727
+ isTrue: null,
18728
+ isFalse: null,
18729
+ earliest: null,
18730
+ latest: null
18731
+ };
18732
+ this.subs = new Subscription();
18733
+ this.selectedItems = [];
18734
+ }
18735
+ get isStatusBarTemplate() {
18736
+ return this.statusBarTemplate ? '' : 'none';
18737
+ }
18738
+ ngOnInit() {
18739
+ if (this.selectableSettings.cellAggregates) {
18740
+ this.data = this.dataChanges.data ? this.dataChanges.data : this.ctx.grid.data;
18741
+ this.selectService = this.isRowSelection ? this.selectionService : this.cellSelectionService;
18742
+ if (this.isAggregateIncluded('count')) {
18743
+ this.aggregates['count'] = 0;
18744
+ }
18745
+ const selectionDirective = this.ctx.grid.selectionDirective;
18746
+ if (selectionDirective && !this.isRowSelection) {
18747
+ this.selectedItems = selectionDirective.selectedKeys;
18748
+ }
18749
+ this.subs.add(this.selectService.aggregateChanges.subscribe((selectionArgs) => this.onSelectionChange(selectionArgs)));
18750
+ }
18751
+ }
18752
+ ngOnDestroy() {
18753
+ this.subs.unsubscribe();
18754
+ }
18755
+ onSelectionChange(selectionArgs) {
18756
+ this.handleSelectedItems(selectionArgs);
18757
+ this.nullifyAggregates();
18758
+ this.handleAggregateChanges();
18759
+ this.selectService.aggregates = this.aggregates;
18760
+ }
18761
+ handleAggregateChanges() {
18762
+ const lockedColumns = this.columnInfoService.lockedLeafColumns.toArray();
18763
+ const nonLockedColumns = this.columnInfoService.nonLockedLeafColumns.toArray();
18764
+ const selectedItemsLength = this.selectedItems.length;
18765
+ const columns = [...lockedColumns, ...nonLockedColumns];
18766
+ const fields = columns.map(col => col.field);
18767
+ if (this.isAggregateIncluded('count')) {
18768
+ this.aggregates['count'] = this.isRowSelection ? (selectedItemsLength * columns.length) : selectedItemsLength;
18769
+ }
18770
+ this.selectedItems.forEach((item) => {
18771
+ if (this.isRowSelection) {
18772
+ fields.forEach((field) => {
18773
+ const cellValue = item.dataItem;
18774
+ if (cellValue && cellValue.hasOwnProperty(field)) {
18775
+ const cellValue = item.dataItem[field];
18776
+ this.groupAggregates(cellValue);
18777
+ }
18778
+ });
18779
+ }
18780
+ else if (this.selectService.options.cell) {
18781
+ const itemKey = this.data[item.itemKey];
18782
+ const field = fields[item.columnKey];
18783
+ if (itemKey && itemKey.hasOwnProperty(field)) {
18784
+ const cellValue = itemKey[fields[item.columnKey]];
18785
+ this.groupAggregates(cellValue);
18786
+ }
18787
+ }
18788
+ });
18789
+ this.calculateAggregates();
18790
+ }
18791
+ groupAggregates(aggregate) {
18792
+ if (typeof aggregate === 'number') {
18793
+ this.groupedAggregates.numbers.push(aggregate);
18794
+ }
18795
+ else if (typeof aggregate === 'boolean') {
18796
+ this.groupedAggregates.booleans.push(aggregate);
18797
+ }
18798
+ else if (aggregate instanceof Date) {
18799
+ this.groupedAggregates.dates.push(aggregate);
18800
+ }
18801
+ }
18802
+ calculateAggregates() {
18803
+ if (this.groupedAggregates.numbers.length > 0) {
18804
+ if (this.isAggregateIncluded('min')) {
18805
+ this.aggregates['min'] = Math.min(...this.groupedAggregates.numbers);
18806
+ }
18807
+ if (this.isAggregateIncluded('max')) {
18808
+ this.aggregates['max'] = Math.max(...this.groupedAggregates.numbers);
18809
+ }
18810
+ if (this.isAggregateIncluded('sum')) {
18811
+ this.aggregates['sum'] = this.groupedAggregates.numbers.reduce((acc, curr) => acc += curr, 0);
18812
+ }
18813
+ if (this.isAggregateIncluded('average')) {
18814
+ this.aggregates['average'] = this.aggregates['sum'] / this.groupedAggregates.numbers.length;
18815
+ }
18816
+ }
18817
+ if (this.groupedAggregates.booleans.length > 0) {
18818
+ if (this.isAggregateIncluded('isTrue')) {
18819
+ const isTrueCount = this.groupedAggregates.booleans.filter(bool => bool).length;
18820
+ this.aggregates['isTrue'] = isTrueCount > 0 ? isTrueCount : null;
18821
+ }
18822
+ if (this.isAggregateIncluded('isFalse')) {
18823
+ const isFalseCount = this.groupedAggregates.booleans.length - this.aggregates['isTrue'];
18824
+ this.aggregates['isFalse'] = isFalseCount > 0 ? isFalseCount : null;
18825
+ }
18826
+ }
18827
+ if (this.groupedAggregates.dates.length > 0) {
18828
+ if (this.isAggregateIncluded('earliest')) {
18829
+ this.aggregates['earliest'] = new Date(Math.min(...this.groupedAggregates.dates));
18830
+ }
18831
+ if (this.isAggregateIncluded('latest')) {
18832
+ this.aggregates['latest'] = new Date(Math.max(...this.groupedAggregates.dates));
18833
+ }
18834
+ }
18835
+ }
18836
+ handleSelectedItems(selectionArgs) {
18837
+ const rowOrCellSelect = `${this.isRowSelection ? 'selectedRows' : 'selectedCells'}`;
18838
+ const rowOrCellDeselect = `${this.isRowSelection ? 'deselectedRows' : 'deselectedCells'}`;
18839
+ const selectedItems = selectionArgs[rowOrCellSelect];
18840
+ const deselectedItems = selectionArgs[rowOrCellDeselect];
18841
+ if (!this.isRowSelection) {
18842
+ // Needed when we have column groups with cell selection, the deselected items are duplicated
18843
+ deselectedItems.forEach((item, index) => {
18844
+ if (index + 1 < deselectedItems.length) {
18845
+ if (item.itemKey === deselectedItems[index + 1].itemKey
18846
+ && item.columnKey === deselectedItems[index + 1].columnKey) {
18847
+ deselectedItems.splice(index, 1);
18848
+ }
18849
+ }
18850
+ });
18851
+ }
18852
+ if (selectedItems.length > 0) {
18853
+ selectedItems.forEach((item) => {
18854
+ this.selectedItems = [...this.selectedItems, item];
18855
+ });
18856
+ }
18857
+ if (deselectedItems.length > 0) {
18858
+ if (this.isRowSelection) {
18859
+ deselectedItems.forEach((row) => {
18860
+ this.selectedItems = this.selectedItems.filter((elem) => elem.dataItem !== row.dataItem);
18861
+ });
18862
+ }
18863
+ else {
18864
+ deselectedItems.forEach((cell) => {
18865
+ const index = this.selectedItems.findIndex((elem) => elem.itemKey === cell.itemKey && elem.columnKey === cell.columnKey);
18866
+ this.selectedItems.splice(index, 1);
18867
+ });
18868
+ }
18869
+ }
18870
+ }
18871
+ isAggregateIncluded(aggregate) {
18872
+ const { cellAggregates } = this.selectService.options;
18873
+ if (typeof cellAggregates !== 'boolean') {
18874
+ return cellAggregates.includes(aggregate);
18875
+ }
18876
+ return true;
18877
+ }
18878
+ nullifyAggregates() {
18879
+ this.groupedAggregates = { dates: [], numbers: [], booleans: [] };
18880
+ this.aggregates['count'] = null;
18881
+ this.aggregates['sum'] = this.aggregates['average'] = null;
18882
+ this.aggregates['max'] = this.aggregates['min'] = null;
18883
+ this.aggregates['isFalse'] = this.aggregates['isTrue'] = null;
18884
+ this.aggregates['earliest'] = this.aggregates['latest'] = null;
18885
+ }
18886
+ get isRowSelection() {
18887
+ return typeof this.selectableSettings === 'boolean' || !this.selectableSettings.cell;
18888
+ }
18889
+ }
18890
+ StatusBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarComponent, deps: [{ token: ContextService }, { token: SelectionService }, { token: LocalDataChangesService }, { token: ColumnInfoService }, { token: CellSelectionService }], target: i0.ɵɵFactoryTarget.Component });
18891
+ StatusBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: { selectableSettings: "selectableSettings", statusBarTemplate: "statusBarTemplate" }, host: { properties: { "class.k-selection-aggregates": "this.hostClasses", "class.k-grid-selection-aggregates": "this.hostClasses", "style.display": "this.isStatusBarTemplate" } }, ngImport: i0, template: `
18892
+ <ng-template
18893
+ *ngIf="statusBarTemplate"
18894
+ [ngTemplateOutlet]="statusBarTemplate?.templateRef"
18895
+ [ngTemplateOutletContext]="{ aggregates: aggregates }">
18896
+ </ng-template>
18897
+ `, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
18898
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarComponent, decorators: [{
18899
+ type: Component,
18900
+ args: [{
18901
+ selector: 'kendo-grid-status-bar',
18902
+ template: `
18903
+ <ng-template
18904
+ *ngIf="statusBarTemplate"
18905
+ [ngTemplateOutlet]="statusBarTemplate?.templateRef"
18906
+ [ngTemplateOutletContext]="{ aggregates: aggregates }">
18907
+ </ng-template>
18908
+ `
18909
+ }]
18910
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: SelectionService }, { type: LocalDataChangesService }, { type: ColumnInfoService }, { type: CellSelectionService }]; }, propDecorators: { hostClasses: [{
18911
+ type: HostBinding,
18912
+ args: ['class.k-selection-aggregates']
18913
+ }, {
18914
+ type: HostBinding,
18915
+ args: ['class.k-grid-selection-aggregates']
18916
+ }], isStatusBarTemplate: [{
18917
+ type: HostBinding,
18918
+ args: ['style.display']
18919
+ }], selectableSettings: [{
18920
+ type: Input
18921
+ }], statusBarTemplate: [{
18922
+ type: Input
18923
+ }] } });
18924
+
18629
18925
  /**
18630
18926
  * @hidden
18631
18927
  */
@@ -19219,6 +19515,12 @@ class GridComponent {
19219
19515
  get group() {
19220
19516
  return this._group;
19221
19517
  }
19518
+ /**
19519
+ * @hidden
19520
+ */
19521
+ get showStatusBar() {
19522
+ return !!(this.selectable);
19523
+ }
19222
19524
  /**
19223
19525
  * @hidden
19224
19526
  */
@@ -19453,6 +19755,15 @@ class GridComponent {
19453
19755
  set loadingTemplate(loadingTemplate) {
19454
19756
  this._loadingTemplate = loadingTemplate;
19455
19757
  }
19758
+ get statusBarTemplate() {
19759
+ if (this._statusBarTemplate) {
19760
+ return this._statusBarTemplate;
19761
+ }
19762
+ return this.statusBarTemplateChildren ? this.statusBarTemplateChildren.first : undefined;
19763
+ }
19764
+ set statusBarTemplate(statusBarTemplate) {
19765
+ this._statusBarTemplate = statusBarTemplate;
19766
+ }
19456
19767
  get noRecordsTemplate() {
19457
19768
  if (this._customNoRecordsTemplate) {
19458
19769
  return this._customNoRecordsTemplate;
@@ -20716,7 +21027,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20716
21027
  ContextService,
20717
21028
  SizingOptionsService,
20718
21029
  RowReorderService
20719
- ], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "detailTemplateChildren", predicate: DetailTemplateDirective }, { propertyName: "cellLoadingTemplateChildren", predicate: CellLoadingTemplateDirective }, { propertyName: "loadingTemplateChildren", predicate: LoadingTemplateDirective }, { 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: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
21030
+ ], 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: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoGrid"], usesOnChanges: true, ngImport: i0, template: `
20720
21031
  <ng-container kendoGridLocalizedMessages
20721
21032
  i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
20722
21033
  groupPanelEmpty="Drag a column header and drop it here to group by that column"
@@ -20964,285 +21275,288 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20964
21275
  [navigable]="navigation.toolbarEnabled"
20965
21276
  [attr.aria-controls]="ariaRootId"
20966
21277
  position="top"></kendo-grid-toolbar>
20967
- <kendo-pager
20968
- *ngIf="showTopPager"
20969
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
20970
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
20971
- class="k-grid-pager-top k-pager"
20972
- [template]="pagerTemplate"
20973
- [pageSize]="pageSize"
20974
- [total]="view.total"
20975
- [skip]="skip"
20976
- [size]="size"
20977
- [options]="pageable"
20978
- (pageChange)="notifyPageChange('pager', $event)">
20979
- </kendo-pager>
20980
- <kendo-grid-group-panel
20981
- *ngIf="showGroupPanel"
20982
- [navigable]="navigation.toolbarEnabled"
20983
- [text]="groupableEmptyText"
20984
- [groups]="group"
20985
- role="toolbar"
20986
- [attr.aria-label]="messageFor('groupPanelLabel')"
20987
- [attr.aria-controls]="ariaRootId"
20988
- (change)="groupChange.emit($event)">
20989
- </kendo-grid-group-panel>
20990
- <div #ariaRoot
20991
- class="k-grid-aria-root"
20992
- role="grid"
20993
- [id]="ariaRootId"
20994
- [attr.aria-label]="ariaLabel"
20995
- [attr.aria-rowcount]="ariaRowCount"
20996
- [attr.aria-colcount]="ariaColCount">
20997
- <ng-container *ngIf="isScrollable">
20998
- <div *ngIf="!hideHeader"
20999
- class="k-grid-header"
21000
- role="presentation"
21001
- [style.padding]="headerPadding">
21002
- <div *ngIf="isLocked"
21003
- #lockedHeader
21004
- role="presentation"
21005
- class="k-grid-header-locked"
21006
- [style.width.px]="lockedWidth">
21007
- <table
21008
- [locked]="true"
21278
+ <kendo-pager
21279
+ *ngIf="showTopPager"
21280
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21281
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21282
+ class="k-grid-pager-top k-pager"
21283
+ [template]="pagerTemplate"
21284
+ [pageSize]="pageSize"
21285
+ [total]="view.total"
21286
+ [skip]="skip"
21287
+ [size]="size"
21288
+ [options]="pageable"
21289
+ (pageChange)="notifyPageChange('pager', $event)">
21290
+ </kendo-pager>
21291
+ <kendo-grid-group-panel
21292
+ *ngIf="showGroupPanel"
21293
+ [navigable]="navigation.toolbarEnabled"
21294
+ [text]="groupableEmptyText"
21295
+ [groups]="group"
21296
+ role="toolbar"
21297
+ [attr.aria-label]="messageFor('groupPanelLabel')"
21298
+ [attr.aria-controls]="ariaRootId"
21299
+ (change)="groupChange.emit($event)">
21300
+ </kendo-grid-group-panel>
21301
+ <div #ariaRoot
21302
+ class="k-grid-aria-root"
21303
+ role="grid"
21304
+ [id]="ariaRootId"
21305
+ [attr.aria-label]="ariaLabel"
21306
+ [attr.aria-rowcount]="ariaRowCount"
21307
+ [attr.aria-colcount]="ariaColCount">
21308
+ <ng-container *ngIf="isScrollable">
21309
+ <div *ngIf="!hideHeader"
21310
+ class="k-grid-header"
21311
+ role="presentation"
21312
+ [style.padding]="headerPadding">
21313
+ <div *ngIf="isLocked"
21314
+ #lockedHeader
21009
21315
  role="presentation"
21010
- class="k-grid-header-table"
21011
- [style.width.px]="lockedWidth"
21012
- kendoGridTable
21013
- [size]="size">
21014
- <colgroup kendoGridColGroup
21316
+ class="k-grid-header-locked"
21317
+ [style.width.px]="lockedWidth">
21318
+ <table
21319
+ [locked]="true"
21015
21320
  role="presentation"
21016
- [columns]="$any(lockedLeafColumns)"
21017
- [groups]="group"
21018
- [detailTemplate]="detailTemplate">
21019
- </colgroup>
21020
- <thead kendoGridHeader
21021
- role="rowgroup"
21022
- [resizable]="resizable"
21023
- [scrollable]="true"
21024
- [columns]="$any(lockedColumns)"
21025
- [totalColumnLevels]="totalColumnLevels"
21026
- [sort]="sort"
21027
- [groups]="group"
21028
- [filter]="filter"
21029
- [filterable]="filterable"
21030
- [groupable]="showGroupPanel"
21031
- [reorderable]="reorderable"
21032
- [sortable]="sortable"
21033
- [columnMenu]="columnMenuOptions"
21034
- [columnMenuTemplate]="columnMenuTemplate"
21035
- [totalColumnsCount]="leafColumns.length"
21036
- [detailTemplate]="detailTemplate"
21037
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21038
- </thead>
21039
- </table>
21040
- </div>
21041
- <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21042
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21043
- [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21044
- <table
21045
- role="presentation"
21046
- class="k-grid-header-table"
21047
- [style.width.px]="nonLockedWidth"
21048
- [virtualColumns]="virtualColumns"
21049
- kendoGridTable
21050
- [size]="size">
21051
- <colgroup kendoGridColGroup
21321
+ class="k-grid-header-table"
21322
+ [style.width.px]="lockedWidth"
21323
+ kendoGridTable
21324
+ [size]="size">
21325
+ <colgroup kendoGridColGroup
21326
+ role="presentation"
21327
+ [columns]="$any(lockedLeafColumns)"
21328
+ [groups]="group"
21329
+ [detailTemplate]="detailTemplate">
21330
+ </colgroup>
21331
+ <thead kendoGridHeader
21332
+ role="rowgroup"
21333
+ [resizable]="resizable"
21334
+ [scrollable]="true"
21335
+ [columns]="$any(lockedColumns)"
21336
+ [totalColumnLevels]="totalColumnLevels"
21337
+ [sort]="sort"
21338
+ [groups]="group"
21339
+ [filter]="filter"
21340
+ [filterable]="filterable"
21341
+ [groupable]="showGroupPanel"
21342
+ [reorderable]="reorderable"
21343
+ [sortable]="sortable"
21344
+ [columnMenu]="columnMenuOptions"
21345
+ [columnMenuTemplate]="columnMenuTemplate"
21346
+ [totalColumnsCount]="leafColumns.length"
21347
+ [detailTemplate]="detailTemplate"
21348
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21349
+ </thead>
21350
+ </table>
21351
+ </div>
21352
+ <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21353
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21354
+ [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21355
+ <table
21052
21356
  role="presentation"
21053
- [columns]="headerLeafColumns"
21054
- [groups]="isLocked ? [] : group"
21055
- [detailTemplate]="detailTemplate">
21056
- </colgroup>
21057
- <thead kendoGridHeader
21058
- [resizable]="resizable"
21059
- role="rowgroup"
21060
- [scrollable]="true"
21061
- [columns]="headerColumns"
21062
- [totalColumnLevels]="totalColumnLevels"
21063
- [sort]="sort"
21064
- [filter]="filter"
21065
- [filterable]="filterable"
21066
- [groupable]="showGroupPanel"
21067
- [reorderable]="reorderable"
21068
- [groups]="isLocked ? [] : group"
21069
- [sortable]="sortable"
21070
- [columnMenu]="columnMenuOptions"
21071
- [columnMenuTemplate]="columnMenuTemplate"
21072
- [lockedColumnsCount]="lockedLeafColumns.length"
21073
- [totalColumnsCount]="leafColumns.length"
21074
- [detailTemplate]="detailTemplate"
21075
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21076
- </thead>
21077
- </table>
21078
- <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21079
- <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21357
+ class="k-grid-header-table"
21358
+ [style.width.px]="nonLockedWidth"
21359
+ [virtualColumns]="virtualColumns"
21360
+ kendoGridTable
21361
+ [size]="size">
21362
+ <colgroup kendoGridColGroup
21363
+ role="presentation"
21364
+ [columns]="headerLeafColumns"
21365
+ [groups]="isLocked ? [] : group"
21366
+ [detailTemplate]="detailTemplate">
21367
+ </colgroup>
21368
+ <thead kendoGridHeader
21369
+ [resizable]="resizable"
21370
+ role="rowgroup"
21371
+ [scrollable]="true"
21372
+ [columns]="headerColumns"
21373
+ [totalColumnLevels]="totalColumnLevels"
21374
+ [sort]="sort"
21375
+ [filter]="filter"
21376
+ [filterable]="filterable"
21377
+ [groupable]="showGroupPanel"
21378
+ [reorderable]="reorderable"
21379
+ [groups]="isLocked ? [] : group"
21380
+ [sortable]="sortable"
21381
+ [columnMenu]="columnMenuOptions"
21382
+ [columnMenuTemplate]="columnMenuTemplate"
21383
+ [lockedColumnsCount]="lockedLeafColumns.length"
21384
+ [totalColumnsCount]="leafColumns.length"
21385
+ [detailTemplate]="detailTemplate"
21386
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21387
+ </thead>
21388
+ </table>
21389
+ <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21390
+ <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21391
+ </div>
21080
21392
  </div>
21081
21393
  </div>
21082
- </div>
21083
- <kendo-grid-list
21084
- kendoDragTargetContainer
21085
- kendoDropTargetContainer
21086
- mode="manual"
21087
- [dragDisabled]="!rowReorderable"
21088
- [dropDisabled]="!rowReorderable"
21089
- [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21090
- [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21091
- [dragHandle]="getDefaultSelectors('handle')"
21092
- [hint]="{hintTemplate: defaultHint}"
21093
- (onPress)="handleReorderEvents($event, 'press')"
21094
- (onDragStart)="handleReorderEvents($event, 'dragStart')"
21095
- (onDrag)="handleReorderEvents($event, 'drag')"
21096
- (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21097
- (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21098
- (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21099
- (onDrop)="handleReorderEvents($event, 'drop')"
21100
- [dragData]="gridData"
21101
- [data]="$any(view)"
21102
- [rowHeight]="rowHeight"
21103
- [detailRowHeight]="detailRowHeight"
21104
- [total]="totalCount"
21105
- [take]="pageSize"
21106
- [groups]="group"
21107
- [groupable]="groupable"
21108
- [skip]="skip"
21109
- [trackBy]="trackBy"
21110
- [columns]="columnsContainer"
21111
- [selectable]="selectable"
21112
- [filterable]="filterable"
21113
- [detailTemplate]="detailTemplate"
21114
- [noRecordsTemplate]="noRecordsTemplate"
21115
- [size]="size"
21116
- (pageChange)="notifyPageChange('list', $event)"
21117
- [rowClass]="rowClass"
21118
- [rowSticky]="rowSticky"
21119
- [loading]="loading"
21120
- [isVirtual]="isVirtual"
21121
- [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21122
- [loadingTemplate]="loadingTemplate?.templateRef"
21123
- [virtualColumns]="virtualColumns"
21124
- (scrollBottom)="notifyScrollBottom()"
21125
- (contentScroll)="contentScroll.emit($event)"
21126
- kendoDraggable
21127
- kendoGridSelectionMarquee
21128
- [enableDrag]="marqueeSelection"
21129
- [sort]="sort"
21130
- >
21131
- </kendo-grid-list>
21132
- <div
21133
- *ngIf="showFooter"
21134
- class="k-grid-footer"
21135
- [style.padding]="headerPadding">
21136
- <div
21137
- *ngIf="lockedLeafColumns.length"
21138
- class="k-grid-footer-locked"
21139
- [style.width.px]="lockedWidth">
21140
- <table
21141
- role="presentation"
21142
- class="k-grid-footer-table"
21143
- [locked]="true"
21144
- [style.width.px]="lockedWidth"
21145
- kendoGridTable
21146
- [size]="size">
21147
- <colgroup kendoGridColGroup
21148
- [columns]="$any(lockedLeafColumns)"
21149
- [groups]="group"
21150
- [detailTemplate]="detailTemplate">
21151
- </colgroup>
21152
- <tfoot kendoGridFooter
21153
- [scrollable]="true"
21154
- [groups]="group"
21155
- [columns]="$any(lockedLeafColumns)"
21156
- [detailTemplate]="detailTemplate"
21157
- [logicalRowIndex]="ariaRowCount">
21158
- </tfoot>
21159
- </table>
21160
- </div>
21161
- <div #footer
21162
- class="k-grid-footer-wrap" data-scrollable
21163
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21164
- [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21165
- <table
21166
- role="presentation"
21167
- class="k-grid-footer-table"
21168
- [style.width.px]="nonLockedWidth"
21169
- kendoGridTable
21170
- [size]="size">
21171
- <colgroup kendoGridColGroup
21172
- [columns]="$any(nonLockedLeafColumns)"
21173
- [groups]="isLocked ? [] : group"
21174
- [detailTemplate]="detailTemplate">
21175
- </colgroup>
21176
- <tfoot kendoGridFooter
21177
- [logicalRowIndex]="ariaRowCount"
21178
- [scrollable]="true"
21179
- [groups]="isLocked ? [] : group"
21180
- [columns]="$any(nonLockedLeafColumns)"
21181
- [lockedColumnsCount]="lockedLeafColumns.length"
21182
- [detailTemplate]="detailTemplate">
21183
- </tfoot>
21184
- </table>
21185
- </div>
21186
- </div>
21187
- </ng-container>
21188
- <ng-container *ngIf="!isScrollable">
21189
- <table
21190
- [style.table-layout]="resizable ? 'fixed' : null"
21191
- kendoGridTable
21192
- [size]="size">
21193
- <colgroup kendoGridColGroup
21194
- [columns]="$any(leafColumns)"
21195
- [groups]="group"
21196
- [detailTemplate]="detailTemplate">
21197
- </colgroup>
21198
- <thead kendoGridHeader
21199
- *ngIf="!hideHeader"
21200
- [resizable]="resizable"
21201
- [scrollable]="false"
21202
- [columns]="$any(visibleColumns)"
21203
- [totalColumnLevels]="totalColumnLevels"
21204
- [groups]="group"
21205
- [groupable]="showGroupPanel"
21206
- [reorderable]="reorderable"
21207
- [sort]="sort"
21208
- [sortable]="sortable"
21209
- [filter]="filter"
21210
- [filterable]="filterable"
21211
- [columnMenu]="columnMenuOptions"
21212
- [columnMenuTemplate]="columnMenuTemplate"
21213
- [detailTemplate]="detailTemplate"
21214
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21215
- </thead>
21216
- <tbody kendoGridTableBody
21217
- [isLoading]="loading"
21218
- [groups]="group"
21394
+ <kendo-grid-list
21395
+ kendoDragTargetContainer
21396
+ kendoDropTargetContainer
21397
+ mode="manual"
21398
+ [dragDisabled]="!rowReorderable"
21399
+ [dropDisabled]="!rowReorderable"
21400
+ [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21401
+ [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21402
+ [dragHandle]="getDefaultSelectors('handle')"
21403
+ [hint]="{hintTemplate: defaultHint}"
21404
+ (onPress)="handleReorderEvents($event, 'press')"
21405
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
21406
+ (onDrag)="handleReorderEvents($event, 'drag')"
21407
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21408
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21409
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21410
+ (onDrop)="handleReorderEvents($event, 'drop')"
21411
+ [dragData]="gridData"
21219
21412
  [data]="$any(view)"
21413
+ [rowHeight]="rowHeight"
21414
+ [detailRowHeight]="detailRowHeight"
21415
+ [total]="totalCount"
21416
+ [take]="pageSize"
21417
+ [groups]="group"
21418
+ [groupable]="groupable"
21220
21419
  [skip]="skip"
21221
- [columns]="$any(leafColumns)"
21420
+ [trackBy]="trackBy"
21421
+ [columns]="columnsContainer"
21222
21422
  [selectable]="selectable"
21223
21423
  [filterable]="filterable"
21224
- [noRecordsTemplate]="noRecordsTemplate"
21225
21424
  [detailTemplate]="detailTemplate"
21226
- [showGroupFooters]="showGroupFooters"
21227
- [trackBy]="trackBy"
21425
+ [noRecordsTemplate]="noRecordsTemplate"
21426
+ [size]="size"
21427
+ (pageChange)="notifyPageChange('list', $event)"
21228
21428
  [rowClass]="rowClass"
21429
+ [rowSticky]="rowSticky"
21430
+ [loading]="loading"
21431
+ [isVirtual]="isVirtual"
21432
+ [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21433
+ [loadingTemplate]="loadingTemplate?.templateRef"
21434
+ [virtualColumns]="virtualColumns"
21435
+ (scrollBottom)="notifyScrollBottom()"
21436
+ (contentScroll)="contentScroll.emit($event)"
21229
21437
  kendoDraggable
21230
21438
  kendoGridSelectionMarquee
21231
- [enableDrag]="marqueeSelection">
21232
- </tbody>
21233
- <tfoot kendoGridFooter
21439
+ [enableDrag]="marqueeSelection"
21440
+ [sort]="sort">
21441
+ </kendo-grid-list>
21442
+ <div
21234
21443
  *ngIf="showFooter"
21235
- [scrollable]="false"
21236
- [logicalRowIndex]="ariaRowCount"
21237
- [groups]="group"
21238
- [columns]="$any(leafColumns)"
21239
- [detailTemplate]="detailTemplate">
21240
- </tfoot>
21241
- </table>
21242
- </ng-container>
21243
- <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading>
21244
- </div>
21444
+ class="k-grid-footer"
21445
+ [style.padding]="headerPadding">
21446
+ <div
21447
+ *ngIf="lockedLeafColumns.length"
21448
+ class="k-grid-footer-locked"
21449
+ [style.width.px]="lockedWidth">
21450
+ <table
21451
+ role="presentation"
21452
+ class="k-grid-footer-table"
21453
+ [locked]="true"
21454
+ [style.width.px]="lockedWidth"
21455
+ kendoGridTable
21456
+ [size]="size">
21457
+ <colgroup kendoGridColGroup
21458
+ [columns]="$any(lockedLeafColumns)"
21459
+ [groups]="group"
21460
+ [detailTemplate]="detailTemplate">
21461
+ </colgroup>
21462
+ <tfoot kendoGridFooter
21463
+ [scrollable]="true"
21464
+ [groups]="group"
21465
+ [columns]="$any(lockedLeafColumns)"
21466
+ [detailTemplate]="detailTemplate"
21467
+ [logicalRowIndex]="ariaRowCount">
21468
+ </tfoot>
21469
+ </table>
21470
+ </div>
21471
+ <div #footer
21472
+ class="k-grid-footer-wrap" data-scrollable
21473
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21474
+ [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21475
+ <table
21476
+ role="presentation"
21477
+ class="k-grid-footer-table"
21478
+ [style.width.px]="nonLockedWidth"
21479
+ kendoGridTable
21480
+ [size]="size">
21481
+ <colgroup kendoGridColGroup
21482
+ [columns]="$any(nonLockedLeafColumns)"
21483
+ [groups]="isLocked ? [] : group"
21484
+ [detailTemplate]="detailTemplate">
21485
+ </colgroup>
21486
+ <tfoot kendoGridFooter
21487
+ [logicalRowIndex]="ariaRowCount"
21488
+ [scrollable]="true"
21489
+ [groups]="isLocked ? [] : group"
21490
+ [columns]="$any(nonLockedLeafColumns)"
21491
+ [lockedColumnsCount]="lockedLeafColumns.length"
21492
+ [detailTemplate]="detailTemplate">
21493
+ </tfoot>
21494
+ </table>
21495
+ </div>
21496
+ </div>
21497
+ </ng-container>
21498
+ <ng-container *ngIf="!isScrollable">
21499
+ <table
21500
+ [style.table-layout]="resizable ? 'fixed' : null"
21501
+ kendoGridTable
21502
+ [size]="size">
21503
+ <colgroup kendoGridColGroup
21504
+ [columns]="$any(leafColumns)"
21505
+ [groups]="group"
21506
+ [detailTemplate]="detailTemplate">
21507
+ </colgroup>
21508
+ <thead kendoGridHeader
21509
+ *ngIf="!hideHeader"
21510
+ [resizable]="resizable"
21511
+ [scrollable]="false"
21512
+ [columns]="$any(visibleColumns)"
21513
+ [totalColumnLevels]="totalColumnLevels"
21514
+ [groups]="group"
21515
+ [groupable]="showGroupPanel"
21516
+ [reorderable]="reorderable"
21517
+ [sort]="sort"
21518
+ [sortable]="sortable"
21519
+ [filter]="filter"
21520
+ [filterable]="filterable"
21521
+ [columnMenu]="columnMenuOptions"
21522
+ [columnMenuTemplate]="columnMenuTemplate"
21523
+ [detailTemplate]="detailTemplate"
21524
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21525
+ </thead>
21526
+ <tbody kendoGridTableBody
21527
+ [isLoading]="loading"
21528
+ [groups]="group"
21529
+ [data]="$any(view)"
21530
+ [skip]="skip"
21531
+ [columns]="$any(leafColumns)"
21532
+ [selectable]="selectable"
21533
+ [filterable]="filterable"
21534
+ [noRecordsTemplate]="noRecordsTemplate"
21535
+ [detailTemplate]="detailTemplate"
21536
+ [showGroupFooters]="showGroupFooters"
21537
+ [trackBy]="trackBy"
21538
+ [rowClass]="rowClass"
21539
+ kendoDraggable
21540
+ kendoGridSelectionMarquee
21541
+ [enableDrag]="marqueeSelection">
21542
+ </tbody>
21543
+ <tfoot kendoGridFooter
21544
+ *ngIf="showFooter"
21545
+ [scrollable]="false"
21546
+ [logicalRowIndex]="ariaRowCount"
21547
+ [groups]="group"
21548
+ [columns]="$any(leafColumns)"
21549
+ [detailTemplate]="detailTemplate">
21550
+ </tfoot>
21551
+ </table>
21552
+ </ng-container>
21553
+ <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading></div>
21245
21554
  </div>
21555
+ <kendo-grid-status-bar
21556
+ *ngIf="showStatusBar"
21557
+ [selectableSettings]="selectable"
21558
+ [statusBarTemplate]="statusBarTemplate">
21559
+ </kendo-grid-status-bar>
21246
21560
  <kendo-pager
21247
21561
  *ngIf="showBottomPager"
21248
21562
  [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
@@ -21274,7 +21588,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
21274
21588
  </kendo-icon-wrapper>
21275
21589
  {{hintText}}
21276
21590
  </ng-template>
21277
- `, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { type: PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "size", "template"], outputs: ["pageChange"] }, { type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "tabIndex", "size"] }, { type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex"] }, { type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { type: i40.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i40.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
21591
+ `, isInline: true, components: [{ type: ToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { type: PagerComponent, selector: "kendo-pager", inputs: ["total", "skip", "pageSize", "options", "size", "template"], outputs: ["pageChange"] }, { type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "tabIndex", "size"] }, { type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex"] }, { type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "rowClass"] }, { type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["selectableSettings", "statusBarTemplate"] }, { type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { type: i41.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i41.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { type: i1$1.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }], encapsulation: i0.ViewEncapsulation.None });
21278
21592
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, decorators: [{
21279
21593
  type: Component,
21280
21594
  args: [{
@@ -21573,285 +21887,288 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21573
21887
  [navigable]="navigation.toolbarEnabled"
21574
21888
  [attr.aria-controls]="ariaRootId"
21575
21889
  position="top"></kendo-grid-toolbar>
21576
- <kendo-pager
21577
- *ngIf="showTopPager"
21578
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21579
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21580
- class="k-grid-pager-top k-pager"
21581
- [template]="pagerTemplate"
21582
- [pageSize]="pageSize"
21583
- [total]="view.total"
21584
- [skip]="skip"
21585
- [size]="size"
21586
- [options]="pageable"
21587
- (pageChange)="notifyPageChange('pager', $event)">
21588
- </kendo-pager>
21589
- <kendo-grid-group-panel
21590
- *ngIf="showGroupPanel"
21591
- [navigable]="navigation.toolbarEnabled"
21592
- [text]="groupableEmptyText"
21593
- [groups]="group"
21594
- role="toolbar"
21595
- [attr.aria-label]="messageFor('groupPanelLabel')"
21596
- [attr.aria-controls]="ariaRootId"
21597
- (change)="groupChange.emit($event)">
21598
- </kendo-grid-group-panel>
21599
- <div #ariaRoot
21600
- class="k-grid-aria-root"
21601
- role="grid"
21602
- [id]="ariaRootId"
21603
- [attr.aria-label]="ariaLabel"
21604
- [attr.aria-rowcount]="ariaRowCount"
21605
- [attr.aria-colcount]="ariaColCount">
21606
- <ng-container *ngIf="isScrollable">
21607
- <div *ngIf="!hideHeader"
21608
- class="k-grid-header"
21609
- role="presentation"
21610
- [style.padding]="headerPadding">
21611
- <div *ngIf="isLocked"
21612
- #lockedHeader
21613
- role="presentation"
21614
- class="k-grid-header-locked"
21615
- [style.width.px]="lockedWidth">
21616
- <table
21617
- [locked]="true"
21890
+ <kendo-pager
21891
+ *ngIf="showTopPager"
21892
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21893
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21894
+ class="k-grid-pager-top k-pager"
21895
+ [template]="pagerTemplate"
21896
+ [pageSize]="pageSize"
21897
+ [total]="view.total"
21898
+ [skip]="skip"
21899
+ [size]="size"
21900
+ [options]="pageable"
21901
+ (pageChange)="notifyPageChange('pager', $event)">
21902
+ </kendo-pager>
21903
+ <kendo-grid-group-panel
21904
+ *ngIf="showGroupPanel"
21905
+ [navigable]="navigation.toolbarEnabled"
21906
+ [text]="groupableEmptyText"
21907
+ [groups]="group"
21908
+ role="toolbar"
21909
+ [attr.aria-label]="messageFor('groupPanelLabel')"
21910
+ [attr.aria-controls]="ariaRootId"
21911
+ (change)="groupChange.emit($event)">
21912
+ </kendo-grid-group-panel>
21913
+ <div #ariaRoot
21914
+ class="k-grid-aria-root"
21915
+ role="grid"
21916
+ [id]="ariaRootId"
21917
+ [attr.aria-label]="ariaLabel"
21918
+ [attr.aria-rowcount]="ariaRowCount"
21919
+ [attr.aria-colcount]="ariaColCount">
21920
+ <ng-container *ngIf="isScrollable">
21921
+ <div *ngIf="!hideHeader"
21922
+ class="k-grid-header"
21923
+ role="presentation"
21924
+ [style.padding]="headerPadding">
21925
+ <div *ngIf="isLocked"
21926
+ #lockedHeader
21618
21927
  role="presentation"
21619
- class="k-grid-header-table"
21620
- [style.width.px]="lockedWidth"
21621
- kendoGridTable
21622
- [size]="size">
21623
- <colgroup kendoGridColGroup
21928
+ class="k-grid-header-locked"
21929
+ [style.width.px]="lockedWidth">
21930
+ <table
21931
+ [locked]="true"
21624
21932
  role="presentation"
21625
- [columns]="$any(lockedLeafColumns)"
21626
- [groups]="group"
21627
- [detailTemplate]="detailTemplate">
21628
- </colgroup>
21629
- <thead kendoGridHeader
21630
- role="rowgroup"
21631
- [resizable]="resizable"
21632
- [scrollable]="true"
21633
- [columns]="$any(lockedColumns)"
21634
- [totalColumnLevels]="totalColumnLevels"
21635
- [sort]="sort"
21636
- [groups]="group"
21637
- [filter]="filter"
21638
- [filterable]="filterable"
21639
- [groupable]="showGroupPanel"
21640
- [reorderable]="reorderable"
21641
- [sortable]="sortable"
21642
- [columnMenu]="columnMenuOptions"
21643
- [columnMenuTemplate]="columnMenuTemplate"
21644
- [totalColumnsCount]="leafColumns.length"
21645
- [detailTemplate]="detailTemplate"
21646
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21647
- </thead>
21648
- </table>
21649
- </div>
21650
- <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21651
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21652
- [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21653
- <table
21654
- role="presentation"
21655
- class="k-grid-header-table"
21656
- [style.width.px]="nonLockedWidth"
21657
- [virtualColumns]="virtualColumns"
21658
- kendoGridTable
21659
- [size]="size">
21660
- <colgroup kendoGridColGroup
21933
+ class="k-grid-header-table"
21934
+ [style.width.px]="lockedWidth"
21935
+ kendoGridTable
21936
+ [size]="size">
21937
+ <colgroup kendoGridColGroup
21938
+ role="presentation"
21939
+ [columns]="$any(lockedLeafColumns)"
21940
+ [groups]="group"
21941
+ [detailTemplate]="detailTemplate">
21942
+ </colgroup>
21943
+ <thead kendoGridHeader
21944
+ role="rowgroup"
21945
+ [resizable]="resizable"
21946
+ [scrollable]="true"
21947
+ [columns]="$any(lockedColumns)"
21948
+ [totalColumnLevels]="totalColumnLevels"
21949
+ [sort]="sort"
21950
+ [groups]="group"
21951
+ [filter]="filter"
21952
+ [filterable]="filterable"
21953
+ [groupable]="showGroupPanel"
21954
+ [reorderable]="reorderable"
21955
+ [sortable]="sortable"
21956
+ [columnMenu]="columnMenuOptions"
21957
+ [columnMenuTemplate]="columnMenuTemplate"
21958
+ [totalColumnsCount]="leafColumns.length"
21959
+ [detailTemplate]="detailTemplate"
21960
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21961
+ </thead>
21962
+ </table>
21963
+ </div>
21964
+ <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21965
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21966
+ [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21967
+ <table
21661
21968
  role="presentation"
21662
- [columns]="headerLeafColumns"
21663
- [groups]="isLocked ? [] : group"
21664
- [detailTemplate]="detailTemplate">
21665
- </colgroup>
21666
- <thead kendoGridHeader
21667
- [resizable]="resizable"
21668
- role="rowgroup"
21669
- [scrollable]="true"
21670
- [columns]="headerColumns"
21671
- [totalColumnLevels]="totalColumnLevels"
21672
- [sort]="sort"
21673
- [filter]="filter"
21674
- [filterable]="filterable"
21675
- [groupable]="showGroupPanel"
21676
- [reorderable]="reorderable"
21677
- [groups]="isLocked ? [] : group"
21678
- [sortable]="sortable"
21679
- [columnMenu]="columnMenuOptions"
21680
- [columnMenuTemplate]="columnMenuTemplate"
21681
- [lockedColumnsCount]="lockedLeafColumns.length"
21682
- [totalColumnsCount]="leafColumns.length"
21683
- [detailTemplate]="detailTemplate"
21684
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21685
- </thead>
21686
- </table>
21687
- <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21688
- <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21969
+ class="k-grid-header-table"
21970
+ [style.width.px]="nonLockedWidth"
21971
+ [virtualColumns]="virtualColumns"
21972
+ kendoGridTable
21973
+ [size]="size">
21974
+ <colgroup kendoGridColGroup
21975
+ role="presentation"
21976
+ [columns]="headerLeafColumns"
21977
+ [groups]="isLocked ? [] : group"
21978
+ [detailTemplate]="detailTemplate">
21979
+ </colgroup>
21980
+ <thead kendoGridHeader
21981
+ [resizable]="resizable"
21982
+ role="rowgroup"
21983
+ [scrollable]="true"
21984
+ [columns]="headerColumns"
21985
+ [totalColumnLevels]="totalColumnLevels"
21986
+ [sort]="sort"
21987
+ [filter]="filter"
21988
+ [filterable]="filterable"
21989
+ [groupable]="showGroupPanel"
21990
+ [reorderable]="reorderable"
21991
+ [groups]="isLocked ? [] : group"
21992
+ [sortable]="sortable"
21993
+ [columnMenu]="columnMenuOptions"
21994
+ [columnMenuTemplate]="columnMenuTemplate"
21995
+ [lockedColumnsCount]="lockedLeafColumns.length"
21996
+ [totalColumnsCount]="leafColumns.length"
21997
+ [detailTemplate]="detailTemplate"
21998
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21999
+ </thead>
22000
+ </table>
22001
+ <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
22002
+ <div [style.width.px]="columnsContainer.unlockedWidth"></div>
22003
+ </div>
21689
22004
  </div>
21690
22005
  </div>
21691
- </div>
21692
- <kendo-grid-list
21693
- kendoDragTargetContainer
21694
- kendoDropTargetContainer
21695
- mode="manual"
21696
- [dragDisabled]="!rowReorderable"
21697
- [dropDisabled]="!rowReorderable"
21698
- [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21699
- [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21700
- [dragHandle]="getDefaultSelectors('handle')"
21701
- [hint]="{hintTemplate: defaultHint}"
21702
- (onPress)="handleReorderEvents($event, 'press')"
21703
- (onDragStart)="handleReorderEvents($event, 'dragStart')"
21704
- (onDrag)="handleReorderEvents($event, 'drag')"
21705
- (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21706
- (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21707
- (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21708
- (onDrop)="handleReorderEvents($event, 'drop')"
21709
- [dragData]="gridData"
21710
- [data]="$any(view)"
21711
- [rowHeight]="rowHeight"
21712
- [detailRowHeight]="detailRowHeight"
21713
- [total]="totalCount"
21714
- [take]="pageSize"
21715
- [groups]="group"
21716
- [groupable]="groupable"
21717
- [skip]="skip"
21718
- [trackBy]="trackBy"
21719
- [columns]="columnsContainer"
21720
- [selectable]="selectable"
21721
- [filterable]="filterable"
21722
- [detailTemplate]="detailTemplate"
21723
- [noRecordsTemplate]="noRecordsTemplate"
21724
- [size]="size"
21725
- (pageChange)="notifyPageChange('list', $event)"
21726
- [rowClass]="rowClass"
21727
- [rowSticky]="rowSticky"
21728
- [loading]="loading"
21729
- [isVirtual]="isVirtual"
21730
- [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21731
- [loadingTemplate]="loadingTemplate?.templateRef"
21732
- [virtualColumns]="virtualColumns"
21733
- (scrollBottom)="notifyScrollBottom()"
21734
- (contentScroll)="contentScroll.emit($event)"
21735
- kendoDraggable
21736
- kendoGridSelectionMarquee
21737
- [enableDrag]="marqueeSelection"
21738
- [sort]="sort"
21739
- >
21740
- </kendo-grid-list>
21741
- <div
21742
- *ngIf="showFooter"
21743
- class="k-grid-footer"
21744
- [style.padding]="headerPadding">
21745
- <div
21746
- *ngIf="lockedLeafColumns.length"
21747
- class="k-grid-footer-locked"
21748
- [style.width.px]="lockedWidth">
21749
- <table
21750
- role="presentation"
21751
- class="k-grid-footer-table"
21752
- [locked]="true"
21753
- [style.width.px]="lockedWidth"
21754
- kendoGridTable
21755
- [size]="size">
21756
- <colgroup kendoGridColGroup
21757
- [columns]="$any(lockedLeafColumns)"
21758
- [groups]="group"
21759
- [detailTemplate]="detailTemplate">
21760
- </colgroup>
21761
- <tfoot kendoGridFooter
21762
- [scrollable]="true"
21763
- [groups]="group"
21764
- [columns]="$any(lockedLeafColumns)"
21765
- [detailTemplate]="detailTemplate"
21766
- [logicalRowIndex]="ariaRowCount">
21767
- </tfoot>
21768
- </table>
21769
- </div>
21770
- <div #footer
21771
- class="k-grid-footer-wrap" data-scrollable
21772
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21773
- [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21774
- <table
21775
- role="presentation"
21776
- class="k-grid-footer-table"
21777
- [style.width.px]="nonLockedWidth"
21778
- kendoGridTable
21779
- [size]="size">
21780
- <colgroup kendoGridColGroup
21781
- [columns]="$any(nonLockedLeafColumns)"
21782
- [groups]="isLocked ? [] : group"
21783
- [detailTemplate]="detailTemplate">
21784
- </colgroup>
21785
- <tfoot kendoGridFooter
21786
- [logicalRowIndex]="ariaRowCount"
21787
- [scrollable]="true"
21788
- [groups]="isLocked ? [] : group"
21789
- [columns]="$any(nonLockedLeafColumns)"
21790
- [lockedColumnsCount]="lockedLeafColumns.length"
21791
- [detailTemplate]="detailTemplate">
21792
- </tfoot>
21793
- </table>
21794
- </div>
21795
- </div>
21796
- </ng-container>
21797
- <ng-container *ngIf="!isScrollable">
21798
- <table
21799
- [style.table-layout]="resizable ? 'fixed' : null"
21800
- kendoGridTable
21801
- [size]="size">
21802
- <colgroup kendoGridColGroup
21803
- [columns]="$any(leafColumns)"
21804
- [groups]="group"
21805
- [detailTemplate]="detailTemplate">
21806
- </colgroup>
21807
- <thead kendoGridHeader
21808
- *ngIf="!hideHeader"
21809
- [resizable]="resizable"
21810
- [scrollable]="false"
21811
- [columns]="$any(visibleColumns)"
21812
- [totalColumnLevels]="totalColumnLevels"
21813
- [groups]="group"
21814
- [groupable]="showGroupPanel"
21815
- [reorderable]="reorderable"
21816
- [sort]="sort"
21817
- [sortable]="sortable"
21818
- [filter]="filter"
21819
- [filterable]="filterable"
21820
- [columnMenu]="columnMenuOptions"
21821
- [columnMenuTemplate]="columnMenuTemplate"
21822
- [detailTemplate]="detailTemplate"
21823
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21824
- </thead>
21825
- <tbody kendoGridTableBody
21826
- [isLoading]="loading"
21827
- [groups]="group"
22006
+ <kendo-grid-list
22007
+ kendoDragTargetContainer
22008
+ kendoDropTargetContainer
22009
+ mode="manual"
22010
+ [dragDisabled]="!rowReorderable"
22011
+ [dropDisabled]="!rowReorderable"
22012
+ [dragTargetFilter]="getDefaultSelectors('dragTarget')"
22013
+ [dropTargetFilter]="getDefaultSelectors('dropTarget')"
22014
+ [dragHandle]="getDefaultSelectors('handle')"
22015
+ [hint]="{hintTemplate: defaultHint}"
22016
+ (onPress)="handleReorderEvents($event, 'press')"
22017
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
22018
+ (onDrag)="handleReorderEvents($event, 'drag')"
22019
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
22020
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
22021
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
22022
+ (onDrop)="handleReorderEvents($event, 'drop')"
22023
+ [dragData]="gridData"
21828
22024
  [data]="$any(view)"
22025
+ [rowHeight]="rowHeight"
22026
+ [detailRowHeight]="detailRowHeight"
22027
+ [total]="totalCount"
22028
+ [take]="pageSize"
22029
+ [groups]="group"
22030
+ [groupable]="groupable"
21829
22031
  [skip]="skip"
21830
- [columns]="$any(leafColumns)"
22032
+ [trackBy]="trackBy"
22033
+ [columns]="columnsContainer"
21831
22034
  [selectable]="selectable"
21832
22035
  [filterable]="filterable"
21833
- [noRecordsTemplate]="noRecordsTemplate"
21834
22036
  [detailTemplate]="detailTemplate"
21835
- [showGroupFooters]="showGroupFooters"
21836
- [trackBy]="trackBy"
22037
+ [noRecordsTemplate]="noRecordsTemplate"
22038
+ [size]="size"
22039
+ (pageChange)="notifyPageChange('list', $event)"
21837
22040
  [rowClass]="rowClass"
22041
+ [rowSticky]="rowSticky"
22042
+ [loading]="loading"
22043
+ [isVirtual]="isVirtual"
22044
+ [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
22045
+ [loadingTemplate]="loadingTemplate?.templateRef"
22046
+ [virtualColumns]="virtualColumns"
22047
+ (scrollBottom)="notifyScrollBottom()"
22048
+ (contentScroll)="contentScroll.emit($event)"
21838
22049
  kendoDraggable
21839
22050
  kendoGridSelectionMarquee
21840
- [enableDrag]="marqueeSelection">
21841
- </tbody>
21842
- <tfoot kendoGridFooter
22051
+ [enableDrag]="marqueeSelection"
22052
+ [sort]="sort">
22053
+ </kendo-grid-list>
22054
+ <div
21843
22055
  *ngIf="showFooter"
21844
- [scrollable]="false"
21845
- [logicalRowIndex]="ariaRowCount"
21846
- [groups]="group"
21847
- [columns]="$any(leafColumns)"
21848
- [detailTemplate]="detailTemplate">
21849
- </tfoot>
21850
- </table>
21851
- </ng-container>
21852
- <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading>
21853
- </div>
22056
+ class="k-grid-footer"
22057
+ [style.padding]="headerPadding">
22058
+ <div
22059
+ *ngIf="lockedLeafColumns.length"
22060
+ class="k-grid-footer-locked"
22061
+ [style.width.px]="lockedWidth">
22062
+ <table
22063
+ role="presentation"
22064
+ class="k-grid-footer-table"
22065
+ [locked]="true"
22066
+ [style.width.px]="lockedWidth"
22067
+ kendoGridTable
22068
+ [size]="size">
22069
+ <colgroup kendoGridColGroup
22070
+ [columns]="$any(lockedLeafColumns)"
22071
+ [groups]="group"
22072
+ [detailTemplate]="detailTemplate">
22073
+ </colgroup>
22074
+ <tfoot kendoGridFooter
22075
+ [scrollable]="true"
22076
+ [groups]="group"
22077
+ [columns]="$any(lockedLeafColumns)"
22078
+ [detailTemplate]="detailTemplate"
22079
+ [logicalRowIndex]="ariaRowCount">
22080
+ </tfoot>
22081
+ </table>
22082
+ </div>
22083
+ <div #footer
22084
+ class="k-grid-footer-wrap" data-scrollable
22085
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
22086
+ [lockedWidth]="lockedWidth + scrollbarWidth + 3">
22087
+ <table
22088
+ role="presentation"
22089
+ class="k-grid-footer-table"
22090
+ [style.width.px]="nonLockedWidth"
22091
+ kendoGridTable
22092
+ [size]="size">
22093
+ <colgroup kendoGridColGroup
22094
+ [columns]="$any(nonLockedLeafColumns)"
22095
+ [groups]="isLocked ? [] : group"
22096
+ [detailTemplate]="detailTemplate">
22097
+ </colgroup>
22098
+ <tfoot kendoGridFooter
22099
+ [logicalRowIndex]="ariaRowCount"
22100
+ [scrollable]="true"
22101
+ [groups]="isLocked ? [] : group"
22102
+ [columns]="$any(nonLockedLeafColumns)"
22103
+ [lockedColumnsCount]="lockedLeafColumns.length"
22104
+ [detailTemplate]="detailTemplate">
22105
+ </tfoot>
22106
+ </table>
22107
+ </div>
22108
+ </div>
22109
+ </ng-container>
22110
+ <ng-container *ngIf="!isScrollable">
22111
+ <table
22112
+ [style.table-layout]="resizable ? 'fixed' : null"
22113
+ kendoGridTable
22114
+ [size]="size">
22115
+ <colgroup kendoGridColGroup
22116
+ [columns]="$any(leafColumns)"
22117
+ [groups]="group"
22118
+ [detailTemplate]="detailTemplate">
22119
+ </colgroup>
22120
+ <thead kendoGridHeader
22121
+ *ngIf="!hideHeader"
22122
+ [resizable]="resizable"
22123
+ [scrollable]="false"
22124
+ [columns]="$any(visibleColumns)"
22125
+ [totalColumnLevels]="totalColumnLevels"
22126
+ [groups]="group"
22127
+ [groupable]="showGroupPanel"
22128
+ [reorderable]="reorderable"
22129
+ [sort]="sort"
22130
+ [sortable]="sortable"
22131
+ [filter]="filter"
22132
+ [filterable]="filterable"
22133
+ [columnMenu]="columnMenuOptions"
22134
+ [columnMenuTemplate]="columnMenuTemplate"
22135
+ [detailTemplate]="detailTemplate"
22136
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
22137
+ </thead>
22138
+ <tbody kendoGridTableBody
22139
+ [isLoading]="loading"
22140
+ [groups]="group"
22141
+ [data]="$any(view)"
22142
+ [skip]="skip"
22143
+ [columns]="$any(leafColumns)"
22144
+ [selectable]="selectable"
22145
+ [filterable]="filterable"
22146
+ [noRecordsTemplate]="noRecordsTemplate"
22147
+ [detailTemplate]="detailTemplate"
22148
+ [showGroupFooters]="showGroupFooters"
22149
+ [trackBy]="trackBy"
22150
+ [rowClass]="rowClass"
22151
+ kendoDraggable
22152
+ kendoGridSelectionMarquee
22153
+ [enableDrag]="marqueeSelection">
22154
+ </tbody>
22155
+ <tfoot kendoGridFooter
22156
+ *ngIf="showFooter"
22157
+ [scrollable]="false"
22158
+ [logicalRowIndex]="ariaRowCount"
22159
+ [groups]="group"
22160
+ [columns]="$any(leafColumns)"
22161
+ [detailTemplate]="detailTemplate">
22162
+ </tfoot>
22163
+ </table>
22164
+ </ng-container>
22165
+ <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading></div>
21854
22166
  </div>
22167
+ <kendo-grid-status-bar
22168
+ *ngIf="showStatusBar"
22169
+ [selectableSettings]="selectable"
22170
+ [statusBarTemplate]="statusBarTemplate">
22171
+ </kendo-grid-status-bar>
21855
22172
  <kendo-pager
21856
22173
  *ngIf="showBottomPager"
21857
22174
  [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
@@ -22034,6 +22351,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
22034
22351
  }], loadingTemplateChildren: [{
22035
22352
  type: ContentChildren,
22036
22353
  args: [LoadingTemplateDirective]
22354
+ }], statusBarTemplateChildren: [{
22355
+ type: ContentChildren,
22356
+ args: [StatusBarTemplateDirective]
22037
22357
  }], noRecordsTemplateChildren: [{
22038
22358
  type: ContentChildren,
22039
22359
  args: [NoRecordsTemplateDirective]
@@ -25355,6 +25675,7 @@ const exportedModules$1 = [
25355
25675
  ToolbarTemplateDirective,
25356
25676
  ToolbarComponent,
25357
25677
  GridSpacerComponent,
25678
+ StatusBarTemplateDirective,
25358
25679
  DataBindingDirective,
25359
25680
  SelectionDirective,
25360
25681
  CustomMessagesComponent,
@@ -25392,7 +25713,9 @@ const declarations$2 = [
25392
25713
  GroupBindingDirective,
25393
25714
  GridMarqueeDirective,
25394
25715
  GridSpacerComponent,
25395
- GridToolbarFocusableDirective
25716
+ GridToolbarFocusableDirective,
25717
+ StatusBarComponent,
25718
+ StatusBarTemplateDirective
25396
25719
  ];
25397
25720
  /**
25398
25721
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
@@ -25434,7 +25757,9 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
25434
25757
  GroupBindingDirective,
25435
25758
  GridMarqueeDirective,
25436
25759
  GridSpacerComponent,
25437
- GridToolbarFocusableDirective], imports: [CommonModule,
25760
+ GridToolbarFocusableDirective,
25761
+ StatusBarComponent,
25762
+ StatusBarTemplateDirective], imports: [CommonModule,
25438
25763
  GroupModule,
25439
25764
  SharedModule,
25440
25765
  BodyModule,
@@ -25449,6 +25774,7 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
25449
25774
  ToolbarTemplateDirective,
25450
25775
  ToolbarComponent,
25451
25776
  GridSpacerComponent,
25777
+ StatusBarTemplateDirective,
25452
25778
  DataBindingDirective,
25453
25779
  SelectionDirective,
25454
25780
  CustomMessagesComponent,
@@ -26346,5 +26672,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
26346
26672
  * Generated bundle index. Do not edit.
26347
26673
  */
26348
26674
 
26349
- export { AddCommandDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BodyModule, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditService, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuModule, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterModule, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupModule, GroupPanelComponent, GroupsService, HeaderComponent, HeaderModule, HeaderTemplateDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PagerComponent, PagerContextService, PagerDropDownListDirective, PagerInfoComponent, PagerInputComponent, PagerInputDirective, PagerModule, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerPageSizesComponent, PagerPrevButtonsComponent, PagerTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RemoveCommandDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowEditingDirectiveBase, RowFilterModule, RowReorderColumnComponent, SaveCommandDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SharedFilterModule, SharedModule, SinglePopupService, SizingOptionsService, Skip, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateContextDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
26675
+ export { AddCommandDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BodyModule, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditService, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuModule, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterModule, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupModule, GroupPanelComponent, GroupsService, HeaderComponent, HeaderModule, HeaderTemplateDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PagerComponent, PagerContextService, PagerDropDownListDirective, PagerInfoComponent, PagerInputComponent, PagerInputDirective, PagerModule, PagerNextButtonsComponent, PagerNumericButtonsComponent, PagerPageSizesComponent, PagerPrevButtonsComponent, PagerTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RemoveCommandDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowEditingDirectiveBase, RowFilterModule, RowReorderColumnComponent, SaveCommandDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SharedFilterModule, SharedModule, SinglePopupService, SizingOptionsService, Skip, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateContextDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
26350
26676