@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 * as i1$3 from '@angular/platform-browser';
22
22
  import * as i3 from '@progress/kendo-angular-icons';
23
23
  import { IconsModule } from '@progress/kendo-angular-icons';
24
24
  import { plusIcon, cancelIcon, lockIcon, unlockIcon, insertMiddleIcon, caretAltLeftIcon, caretAltToLeftIcon, caretAltRightIcon, caretAltToRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterIcon, stickIcon, unstickIcon, setColumnPositionIcon, columnsIcon, maxWidthIcon, displayInlineFlexIcon, moreHorizontalIcon, moreVerticalIcon, filterClearIcon, reorderIcon, caretAltDownIcon, minusIcon } from '@progress/kendo-svg-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';
@@ -2069,16 +2069,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2069
2069
  * @hidden
2070
2070
  */
2071
2071
  class SelectionService {
2072
- constructor(domEvents, localDataChangesService, navigationService) {
2072
+ constructor(domEvents, localDataChangesService, navigationService, ctxService) {
2073
2073
  this.domEvents = domEvents;
2074
2074
  this.localDataChangesService = localDataChangesService;
2075
2075
  this.navigationService = navigationService;
2076
+ this.ctxService = ctxService;
2076
2077
  this.changes = new EventEmitter();
2077
- this.lastSelectionStartIndex = 0;
2078
+ this.aggregateChanges = new EventEmitter();
2078
2079
  this.currentSelection = [];
2079
2080
  this.selectAllChecked = false;
2080
2081
  this.active = false;
2081
2082
  this.dragging = false;
2083
+ this.lastSelectionData = {};
2082
2084
  this.addSubscriptions();
2083
2085
  }
2084
2086
  get enableMarquee() {
@@ -2097,6 +2099,10 @@ class SelectionService {
2097
2099
  }
2098
2100
  init(settings) {
2099
2101
  this.settings = settings;
2102
+ if (!isPresent(this.lastSelectionStartIndex)) {
2103
+ this.lastSelectionStartIndex = this.ctxService?.grid.selectionDirective?.rangeSelectionStartRow?.index || 0;
2104
+ this.lastSelectionData = this.ctxService?.grid.selectionDirective?.rangeSelectionStartRow?.dataItem || {};
2105
+ }
2100
2106
  this.currentSelection = [];
2101
2107
  if (settings.selectable && settings.selectable.enabled !== false) {
2102
2108
  const iterator = this.getIterator();
@@ -2157,12 +2163,21 @@ class SelectionService {
2157
2163
  }
2158
2164
  ev.ctrlKey = ctrlKey;
2159
2165
  ev.shiftKey = event.shiftKey;
2166
+ if (this.options.cellAggregates) {
2167
+ this.aggregateChanges.emit(ev);
2168
+ ev.cellAggregates = this.aggregates;
2169
+ }
2170
+ if (ev.shiftKey) {
2171
+ ev.rangeStartRow = { dataItem: this.lastSelectionData, index: this.lastSelectionStartIndex };
2172
+ ev.rangeEndRow = { dataItem: item.data, index: item.index };
2173
+ }
2160
2174
  this.changes.emit(ev);
2161
2175
  }
2162
2176
  toggle(item) {
2163
2177
  const selectedRows = [];
2164
2178
  const deselectedRows = [];
2165
2179
  this.lastSelectionStartIndex = item.index;
2180
+ this.lastSelectionData = item.data;
2166
2181
  const rowArgs = { dataItem: item.data, index: item.index };
2167
2182
  if (this.isSelected(item.index)) {
2168
2183
  deselectedRows.push(rowArgs);
@@ -2201,6 +2216,7 @@ class SelectionService {
2201
2216
  const deselectedRows = [];
2202
2217
  const selectedRows = [];
2203
2218
  this.lastSelectionStartIndex = item.index;
2219
+ this.lastSelectionData = item.data;
2204
2220
  if (!this.isSelected(item.index)) {
2205
2221
  selectedRows.push({ dataItem: item.data, index: item.index });
2206
2222
  }
@@ -2311,9 +2327,15 @@ class SelectionService {
2311
2327
  }
2312
2328
  next = iterator.next();
2313
2329
  }
2330
+ let cellAggregates;
2331
+ if (this.options.cellAggregates) {
2332
+ this.aggregateChanges.emit({ selectedRows, deselectedRows });
2333
+ cellAggregates = this.aggregates;
2334
+ }
2314
2335
  return {
2315
2336
  deselectedRows: deselectedRows,
2316
- selectedRows: selectedRows
2337
+ selectedRows: selectedRows,
2338
+ cellAggregates
2317
2339
  };
2318
2340
  }
2319
2341
  get selectAllState() {
@@ -2326,6 +2348,7 @@ class SelectionService {
2326
2348
  }
2327
2349
  get options() {
2328
2350
  const defaultOptions = {
2351
+ cellAggregates: false,
2329
2352
  checkboxOnly: false,
2330
2353
  enabled: true,
2331
2354
  mode: "multiple"
@@ -2335,6 +2358,7 @@ class SelectionService {
2335
2358
  }
2336
2359
  if (typeof this.settings.selectable === 'boolean') {
2337
2360
  return {
2361
+ cellAggregates: false,
2338
2362
  checkboxOnly: false,
2339
2363
  enabled: this.settings.selectable,
2340
2364
  mode: "multiple"
@@ -2407,11 +2431,11 @@ class SelectionService {
2407
2431
  }
2408
2432
  }
2409
2433
  }
2410
- 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 });
2434
+ 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 });
2411
2435
  SelectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService });
2412
2436
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectionService, decorators: [{
2413
2437
  type: Injectable
2414
- }], ctorParameters: function () { return [{ type: DomEventsService }, { type: LocalDataChangesService }, { type: NavigationService }]; } });
2438
+ }], ctorParameters: function () { return [{ type: DomEventsService }, { type: LocalDataChangesService }, { type: NavigationService }, { type: ContextService }]; } });
2415
2439
 
2416
2440
  /**
2417
2441
  * @hidden
@@ -2422,6 +2446,7 @@ class CellSelectionService {
2422
2446
  this.localDataChangesService = localDataChangesService;
2423
2447
  this.navigationService = navigationService;
2424
2448
  this.changes = new EventEmitter();
2449
+ this.aggregateChanges = new EventEmitter();
2425
2450
  this.mouseUpEvent = new EventEmitter();
2426
2451
  this.currentSelection = [];
2427
2452
  this.active = false;
@@ -2507,6 +2532,16 @@ class CellSelectionService {
2507
2532
  }
2508
2533
  ev.ctrlKey = ctrlKey;
2509
2534
  ev.shiftKey = event.shiftKey;
2535
+ if (this.options.cellAggregates) {
2536
+ this.aggregateChanges.emit(ev);
2537
+ ev.cellAggregates = this.aggregates;
2538
+ }
2539
+ if (ev.shiftKey) {
2540
+ ev.rangeStartCell = this.lastSelectionItem;
2541
+ ev.rangeEndCell = {
2542
+ ...this.settings.cellSelected({ dataItem: item.data, index: item.index }, item.column, item.column.leafIndex).item
2543
+ };
2544
+ }
2510
2545
  this.changes.emit(ev);
2511
2546
  }
2512
2547
  toggle(item) {
@@ -2610,13 +2645,20 @@ class CellSelectionService {
2610
2645
  }
2611
2646
  next = iterator.next();
2612
2647
  }
2648
+ let cellAggregates;
2649
+ if (this.options.cellAggregates) {
2650
+ this.aggregateChanges.emit({ selectedCells, deselectedCells });
2651
+ cellAggregates = this.aggregates;
2652
+ }
2613
2653
  return {
2614
2654
  deselectedCells,
2615
- selectedCells
2655
+ selectedCells,
2656
+ cellAggregates
2616
2657
  };
2617
2658
  }
2618
2659
  get options() {
2619
2660
  const defaultOptions = {
2661
+ cellAggregates: false,
2620
2662
  checkboxOnly: false,
2621
2663
  enabled: true,
2622
2664
  mode: "multiple"
@@ -2626,6 +2668,7 @@ class CellSelectionService {
2626
2668
  }
2627
2669
  if (typeof this.settings.selectable === 'boolean') {
2628
2670
  return {
2671
+ cellAggregates: false,
2629
2672
  checkboxOnly: false,
2630
2673
  enabled: this.settings.selectable,
2631
2674
  mode: "multiple"
@@ -2899,8 +2942,8 @@ const packageMetadata = {
2899
2942
  name: '@progress/kendo-angular-grid',
2900
2943
  productName: 'Kendo UI for Angular',
2901
2944
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
2902
- publishDate: 1685375852,
2903
- version: '13.0.0-develop.13',
2945
+ publishDate: 1685453775,
2946
+ version: '13.0.0-develop.15',
2904
2947
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
2905
2948
  };
2906
2949
 
@@ -4518,6 +4561,12 @@ class Selection {
4518
4561
  * @default []
4519
4562
  */
4520
4563
  this.selectedKeys = [];
4564
+ /**
4565
+ * Defines the initial shift-click range selection starting column index when cell selection is enabled.
4566
+ *
4567
+ * @default 0
4568
+ */
4569
+ this.rangeSelectionStartColumnIndex = 0;
4521
4570
  /**
4522
4571
  * Fires when the `selectedKeys` collection has been updated.
4523
4572
  */
@@ -4565,6 +4614,9 @@ class Selection {
4565
4614
  this.rowSelectionState.clear();
4566
4615
  this.cellSelectionState.clear();
4567
4616
  }
4617
+ /**
4618
+ * @hidden
4619
+ */
4568
4620
  getItemKey(row) {
4569
4621
  if (this.selectionKey) {
4570
4622
  if (typeof this.selectionKey === "string") {
@@ -4643,7 +4695,7 @@ class Selection {
4643
4695
  }
4644
4696
  }
4645
4697
  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 });
4646
- 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 });
4698
+ 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 });
4647
4699
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Selection, decorators: [{
4648
4700
  type: Directive,
4649
4701
  args: [{
@@ -4652,6 +4704,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4652
4704
  }]
4653
4705
  }], ctorParameters: function () { return [{ type: ContextService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedKeys: [{
4654
4706
  type: Input
4707
+ }], rangeSelectionStartRow: [{
4708
+ type: Input
4709
+ }], rangeSelectionStartColumnIndex: [{
4710
+ type: Input
4655
4711
  }], selectionKey: [{
4656
4712
  type: Input,
4657
4713
  args: ["kendoGridSelectBy"]
@@ -6450,6 +6506,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6450
6506
  type: Output
6451
6507
  }] } });
6452
6508
 
6509
+ /**
6510
+ * Represents the status bar template of the Grid. Allows you to visualize the aggregates using custom rendering inside the template.
6511
+ * The template context has the following field:
6512
+ * - `aggregates`—The [SelectionAggregates]({% slug api_grid_selectionaggregates %}) object that contains all calculated aggregates.
6513
+ * Use the Angular [ngFor](link:site.data.urls.angular['ngfor']) structural directive combined with the [KeyValuePipe](https://angular.io/api/common/KeyValuePipe)
6514
+ * to loop through the aggregates as key-value pairs.
6515
+ */
6516
+ class StatusBarTemplateDirective {
6517
+ constructor(templateRef) {
6518
+ this.templateRef = templateRef;
6519
+ }
6520
+ }
6521
+ StatusBarTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
6522
+ StatusBarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: StatusBarTemplateDirective, selector: "[kendoGridStatusBarTemplate]", ngImport: i0 });
6523
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarTemplateDirective, decorators: [{
6524
+ type: Directive,
6525
+ args: [{
6526
+ selector: '[kendoGridStatusBarTemplate]'
6527
+ }]
6528
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
6529
+
6453
6530
  /**
6454
6531
  * @hidden
6455
6532
  */
@@ -15798,6 +15875,8 @@ class SelectionCheckboxDirective {
15798
15875
  const ev = this.selectionService.toggleByIndex(this.itemIndex);
15799
15876
  ev.ctrlKey = true;
15800
15877
  ev.shiftKey = false;
15878
+ this.selectionService.aggregateChanges.emit(ev);
15879
+ ev.cellAggregates = this.selectionService.aggregates;
15801
15880
  this.selectionService.changes.emit(ev);
15802
15881
  });
15803
15882
  }
@@ -18553,6 +18632,224 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
18553
18632
  type: Input
18554
18633
  }] } });
18555
18634
 
18635
+ /* eslint-disable @typescript-eslint/no-explicit-any */
18636
+ ;
18637
+ /**
18638
+ * @hidden
18639
+ */
18640
+ class StatusBarComponent {
18641
+ constructor(ctx, selectionService, dataChanges, columnInfoService, cellSelectionService) {
18642
+ this.ctx = ctx;
18643
+ this.selectionService = selectionService;
18644
+ this.dataChanges = dataChanges;
18645
+ this.columnInfoService = columnInfoService;
18646
+ this.cellSelectionService = cellSelectionService;
18647
+ this.hostClasses = true;
18648
+ this.groupedAggregates = { dates: [], numbers: [], booleans: [] };
18649
+ this.aggregates = {
18650
+ sum: null,
18651
+ average: null,
18652
+ min: null,
18653
+ max: null,
18654
+ count: null,
18655
+ isTrue: null,
18656
+ isFalse: null,
18657
+ earliest: null,
18658
+ latest: null
18659
+ };
18660
+ this.subs = new Subscription();
18661
+ this.selectedItems = [];
18662
+ }
18663
+ get isStatusBarTemplate() {
18664
+ return this.statusBarTemplate ? '' : 'none';
18665
+ }
18666
+ ngOnInit() {
18667
+ if (this.selectableSettings.cellAggregates) {
18668
+ this.data = this.dataChanges.data ? this.dataChanges.data : this.ctx.grid.data;
18669
+ this.selectService = this.isRowSelection ? this.selectionService : this.cellSelectionService;
18670
+ if (this.isAggregateIncluded('count')) {
18671
+ this.aggregates['count'] = 0;
18672
+ }
18673
+ const selectionDirective = this.ctx.grid.selectionDirective;
18674
+ if (selectionDirective && !this.isRowSelection) {
18675
+ this.selectedItems = selectionDirective.selectedKeys;
18676
+ }
18677
+ this.subs.add(this.selectService.aggregateChanges.subscribe((selectionArgs) => this.onSelectionChange(selectionArgs)));
18678
+ }
18679
+ }
18680
+ ngOnDestroy() {
18681
+ this.subs.unsubscribe();
18682
+ }
18683
+ onSelectionChange(selectionArgs) {
18684
+ this.handleSelectedItems(selectionArgs);
18685
+ this.nullifyAggregates();
18686
+ this.handleAggregateChanges();
18687
+ this.selectService.aggregates = this.aggregates;
18688
+ }
18689
+ handleAggregateChanges() {
18690
+ const lockedColumns = this.columnInfoService.lockedLeafColumns.toArray();
18691
+ const nonLockedColumns = this.columnInfoService.nonLockedLeafColumns.toArray();
18692
+ const selectedItemsLength = this.selectedItems.length;
18693
+ const columns = [...lockedColumns, ...nonLockedColumns];
18694
+ const fields = columns.map(col => col.field);
18695
+ if (this.isAggregateIncluded('count')) {
18696
+ this.aggregates['count'] = this.isRowSelection ? (selectedItemsLength * columns.length) : selectedItemsLength;
18697
+ }
18698
+ this.selectedItems.forEach((item) => {
18699
+ if (this.isRowSelection) {
18700
+ fields.forEach((field) => {
18701
+ const cellValue = item.dataItem;
18702
+ if (cellValue && cellValue.hasOwnProperty(field)) {
18703
+ const cellValue = item.dataItem[field];
18704
+ this.groupAggregates(cellValue);
18705
+ }
18706
+ });
18707
+ }
18708
+ else if (this.selectService.options.cell) {
18709
+ const itemKey = this.data[item.itemKey];
18710
+ const field = fields[item.columnKey];
18711
+ if (itemKey && itemKey.hasOwnProperty(field)) {
18712
+ const cellValue = itemKey[fields[item.columnKey]];
18713
+ this.groupAggregates(cellValue);
18714
+ }
18715
+ }
18716
+ });
18717
+ this.calculateAggregates();
18718
+ }
18719
+ groupAggregates(aggregate) {
18720
+ if (typeof aggregate === 'number') {
18721
+ this.groupedAggregates.numbers.push(aggregate);
18722
+ }
18723
+ else if (typeof aggregate === 'boolean') {
18724
+ this.groupedAggregates.booleans.push(aggregate);
18725
+ }
18726
+ else if (aggregate instanceof Date) {
18727
+ this.groupedAggregates.dates.push(aggregate);
18728
+ }
18729
+ }
18730
+ calculateAggregates() {
18731
+ if (this.groupedAggregates.numbers.length > 0) {
18732
+ if (this.isAggregateIncluded('min')) {
18733
+ this.aggregates['min'] = Math.min(...this.groupedAggregates.numbers);
18734
+ }
18735
+ if (this.isAggregateIncluded('max')) {
18736
+ this.aggregates['max'] = Math.max(...this.groupedAggregates.numbers);
18737
+ }
18738
+ if (this.isAggregateIncluded('sum')) {
18739
+ this.aggregates['sum'] = this.groupedAggregates.numbers.reduce((acc, curr) => acc += curr, 0);
18740
+ }
18741
+ if (this.isAggregateIncluded('average')) {
18742
+ this.aggregates['average'] = this.aggregates['sum'] / this.groupedAggregates.numbers.length;
18743
+ }
18744
+ }
18745
+ if (this.groupedAggregates.booleans.length > 0) {
18746
+ if (this.isAggregateIncluded('isTrue')) {
18747
+ const isTrueCount = this.groupedAggregates.booleans.filter(bool => bool).length;
18748
+ this.aggregates['isTrue'] = isTrueCount > 0 ? isTrueCount : null;
18749
+ }
18750
+ if (this.isAggregateIncluded('isFalse')) {
18751
+ const isFalseCount = this.groupedAggregates.booleans.length - this.aggregates['isTrue'];
18752
+ this.aggregates['isFalse'] = isFalseCount > 0 ? isFalseCount : null;
18753
+ }
18754
+ }
18755
+ if (this.groupedAggregates.dates.length > 0) {
18756
+ if (this.isAggregateIncluded('earliest')) {
18757
+ this.aggregates['earliest'] = new Date(Math.min(...this.groupedAggregates.dates));
18758
+ }
18759
+ if (this.isAggregateIncluded('latest')) {
18760
+ this.aggregates['latest'] = new Date(Math.max(...this.groupedAggregates.dates));
18761
+ }
18762
+ }
18763
+ }
18764
+ handleSelectedItems(selectionArgs) {
18765
+ const rowOrCellSelect = `${this.isRowSelection ? 'selectedRows' : 'selectedCells'}`;
18766
+ const rowOrCellDeselect = `${this.isRowSelection ? 'deselectedRows' : 'deselectedCells'}`;
18767
+ const selectedItems = selectionArgs[rowOrCellSelect];
18768
+ const deselectedItems = selectionArgs[rowOrCellDeselect];
18769
+ if (!this.isRowSelection) {
18770
+ // Needed when we have column groups with cell selection, the deselected items are duplicated
18771
+ deselectedItems.forEach((item, index) => {
18772
+ if (index + 1 < deselectedItems.length) {
18773
+ if (item.itemKey === deselectedItems[index + 1].itemKey
18774
+ && item.columnKey === deselectedItems[index + 1].columnKey) {
18775
+ deselectedItems.splice(index, 1);
18776
+ }
18777
+ }
18778
+ });
18779
+ }
18780
+ if (selectedItems.length > 0) {
18781
+ selectedItems.forEach((item) => {
18782
+ this.selectedItems = [...this.selectedItems, item];
18783
+ });
18784
+ }
18785
+ if (deselectedItems.length > 0) {
18786
+ if (this.isRowSelection) {
18787
+ deselectedItems.forEach((row) => {
18788
+ this.selectedItems = this.selectedItems.filter((elem) => elem.dataItem !== row.dataItem);
18789
+ });
18790
+ }
18791
+ else {
18792
+ deselectedItems.forEach((cell) => {
18793
+ const index = this.selectedItems.findIndex((elem) => elem.itemKey === cell.itemKey && elem.columnKey === cell.columnKey);
18794
+ this.selectedItems.splice(index, 1);
18795
+ });
18796
+ }
18797
+ }
18798
+ }
18799
+ isAggregateIncluded(aggregate) {
18800
+ const { cellAggregates } = this.selectService.options;
18801
+ if (typeof cellAggregates !== 'boolean') {
18802
+ return cellAggregates.includes(aggregate);
18803
+ }
18804
+ return true;
18805
+ }
18806
+ nullifyAggregates() {
18807
+ this.groupedAggregates = { dates: [], numbers: [], booleans: [] };
18808
+ this.aggregates['count'] = null;
18809
+ this.aggregates['sum'] = this.aggregates['average'] = null;
18810
+ this.aggregates['max'] = this.aggregates['min'] = null;
18811
+ this.aggregates['isFalse'] = this.aggregates['isTrue'] = null;
18812
+ this.aggregates['earliest'] = this.aggregates['latest'] = null;
18813
+ }
18814
+ get isRowSelection() {
18815
+ return typeof this.selectableSettings === 'boolean' || !this.selectableSettings.cell;
18816
+ }
18817
+ }
18818
+ 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 });
18819
+ 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: `
18820
+ <ng-template
18821
+ *ngIf="statusBarTemplate"
18822
+ [ngTemplateOutlet]="statusBarTemplate?.templateRef"
18823
+ [ngTemplateOutletContext]="{ aggregates: aggregates }">
18824
+ </ng-template>
18825
+ `, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
18826
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StatusBarComponent, decorators: [{
18827
+ type: Component,
18828
+ args: [{
18829
+ selector: 'kendo-grid-status-bar',
18830
+ template: `
18831
+ <ng-template
18832
+ *ngIf="statusBarTemplate"
18833
+ [ngTemplateOutlet]="statusBarTemplate?.templateRef"
18834
+ [ngTemplateOutletContext]="{ aggregates: aggregates }">
18835
+ </ng-template>
18836
+ `
18837
+ }]
18838
+ }], ctorParameters: function () { return [{ type: ContextService }, { type: SelectionService }, { type: LocalDataChangesService }, { type: ColumnInfoService }, { type: CellSelectionService }]; }, propDecorators: { hostClasses: [{
18839
+ type: HostBinding,
18840
+ args: ['class.k-selection-aggregates']
18841
+ }, {
18842
+ type: HostBinding,
18843
+ args: ['class.k-grid-selection-aggregates']
18844
+ }], isStatusBarTemplate: [{
18845
+ type: HostBinding,
18846
+ args: ['style.display']
18847
+ }], selectableSettings: [{
18848
+ type: Input
18849
+ }], statusBarTemplate: [{
18850
+ type: Input
18851
+ }] } });
18852
+
18556
18853
  /**
18557
18854
  * @hidden
18558
18855
  */
@@ -19146,6 +19443,12 @@ class GridComponent {
19146
19443
  get group() {
19147
19444
  return this._group;
19148
19445
  }
19446
+ /**
19447
+ * @hidden
19448
+ */
19449
+ get showStatusBar() {
19450
+ return !!(this.selectable);
19451
+ }
19149
19452
  /**
19150
19453
  * @hidden
19151
19454
  */
@@ -19379,6 +19682,15 @@ class GridComponent {
19379
19682
  set loadingTemplate(loadingTemplate) {
19380
19683
  this._loadingTemplate = loadingTemplate;
19381
19684
  }
19685
+ get statusBarTemplate() {
19686
+ if (this._statusBarTemplate) {
19687
+ return this._statusBarTemplate;
19688
+ }
19689
+ return this.statusBarTemplateChildren ? this.statusBarTemplateChildren.first : undefined;
19690
+ }
19691
+ set statusBarTemplate(statusBarTemplate) {
19692
+ this._statusBarTemplate = statusBarTemplate;
19693
+ }
19382
19694
  get noRecordsTemplate() {
19383
19695
  if (this._customNoRecordsTemplate) {
19384
19696
  return this._customNoRecordsTemplate;
@@ -20640,7 +20952,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20640
20952
  ContextService,
20641
20953
  SizingOptionsService,
20642
20954
  RowReorderService
20643
- ], 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: `
20955
+ ], 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: `
20644
20956
  <ng-container kendoGridLocalizedMessages
20645
20957
  i18n-groupPanelEmpty="kendo.grid.groupPanelEmpty|The label visible in the Grid group panel when it is empty"
20646
20958
  groupPanelEmpty="Drag a column header and drop it here to group by that column"
@@ -20888,285 +21200,288 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
20888
21200
  [navigable]="navigation.toolbarEnabled"
20889
21201
  [attr.aria-controls]="ariaRootId"
20890
21202
  position="top"></kendo-grid-toolbar>
20891
- <kendo-pager
20892
- *ngIf="showTopPager"
20893
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
20894
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
20895
- class="k-grid-pager-top k-pager"
20896
- [template]="pagerTemplate"
20897
- [pageSize]="pageSize"
20898
- [total]="view.total"
20899
- [skip]="skip"
20900
- [size]="size"
20901
- [options]="pageable"
20902
- (pageChange)="notifyPageChange('pager', $event)">
20903
- </kendo-pager>
20904
- <kendo-grid-group-panel
20905
- *ngIf="showGroupPanel"
20906
- [navigable]="navigation.toolbarEnabled"
20907
- [text]="groupableEmptyText"
20908
- [groups]="group"
20909
- role="toolbar"
20910
- [attr.aria-label]="messageFor('groupPanelLabel')"
20911
- [attr.aria-controls]="ariaRootId"
20912
- (change)="groupChange.emit($event)">
20913
- </kendo-grid-group-panel>
20914
- <div #ariaRoot
20915
- class="k-grid-aria-root"
20916
- role="grid"
20917
- [id]="ariaRootId"
20918
- [attr.aria-label]="ariaLabel"
20919
- [attr.aria-rowcount]="ariaRowCount"
20920
- [attr.aria-colcount]="ariaColCount">
20921
- <ng-container *ngIf="isScrollable">
20922
- <div *ngIf="!hideHeader"
20923
- class="k-grid-header"
20924
- role="presentation"
20925
- [style.padding]="headerPadding">
20926
- <div *ngIf="isLocked"
20927
- #lockedHeader
20928
- role="presentation"
20929
- class="k-grid-header-locked"
20930
- [style.width.px]="lockedWidth">
20931
- <table
20932
- [locked]="true"
21203
+ <kendo-pager
21204
+ *ngIf="showTopPager"
21205
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21206
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21207
+ class="k-grid-pager-top k-pager"
21208
+ [template]="pagerTemplate"
21209
+ [pageSize]="pageSize"
21210
+ [total]="view.total"
21211
+ [skip]="skip"
21212
+ [size]="size"
21213
+ [options]="pageable"
21214
+ (pageChange)="notifyPageChange('pager', $event)">
21215
+ </kendo-pager>
21216
+ <kendo-grid-group-panel
21217
+ *ngIf="showGroupPanel"
21218
+ [navigable]="navigation.toolbarEnabled"
21219
+ [text]="groupableEmptyText"
21220
+ [groups]="group"
21221
+ role="toolbar"
21222
+ [attr.aria-label]="messageFor('groupPanelLabel')"
21223
+ [attr.aria-controls]="ariaRootId"
21224
+ (change)="groupChange.emit($event)">
21225
+ </kendo-grid-group-panel>
21226
+ <div #ariaRoot
21227
+ class="k-grid-aria-root"
21228
+ role="grid"
21229
+ [id]="ariaRootId"
21230
+ [attr.aria-label]="ariaLabel"
21231
+ [attr.aria-rowcount]="ariaRowCount"
21232
+ [attr.aria-colcount]="ariaColCount">
21233
+ <ng-container *ngIf="isScrollable">
21234
+ <div *ngIf="!hideHeader"
21235
+ class="k-grid-header"
21236
+ role="presentation"
21237
+ [style.padding]="headerPadding">
21238
+ <div *ngIf="isLocked"
21239
+ #lockedHeader
20933
21240
  role="presentation"
20934
- class="k-grid-header-table"
20935
- [style.width.px]="lockedWidth"
20936
- kendoGridTable
20937
- [size]="size">
20938
- <colgroup kendoGridColGroup
21241
+ class="k-grid-header-locked"
21242
+ [style.width.px]="lockedWidth">
21243
+ <table
21244
+ [locked]="true"
20939
21245
  role="presentation"
20940
- [columns]="$any(lockedLeafColumns)"
20941
- [groups]="group"
20942
- [detailTemplate]="detailTemplate">
20943
- </colgroup>
20944
- <thead kendoGridHeader
20945
- role="rowgroup"
20946
- [resizable]="resizable"
20947
- [scrollable]="true"
20948
- [columns]="$any(lockedColumns)"
20949
- [totalColumnLevels]="totalColumnLevels"
20950
- [sort]="sort"
20951
- [groups]="group"
20952
- [filter]="filter"
20953
- [filterable]="filterable"
20954
- [groupable]="showGroupPanel"
20955
- [reorderable]="reorderable"
20956
- [sortable]="sortable"
20957
- [columnMenu]="columnMenuOptions"
20958
- [columnMenuTemplate]="columnMenuTemplate"
20959
- [totalColumnsCount]="leafColumns.length"
20960
- [detailTemplate]="detailTemplate"
20961
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
20962
- </thead>
20963
- </table>
20964
- </div>
20965
- <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
20966
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
20967
- [lockedWidth]="lockedWidth + scrollbarWidth + 2">
20968
- <table
20969
- role="presentation"
20970
- class="k-grid-header-table"
20971
- [style.width.px]="nonLockedWidth"
20972
- [virtualColumns]="virtualColumns"
20973
- kendoGridTable
20974
- [size]="size">
20975
- <colgroup kendoGridColGroup
21246
+ class="k-grid-header-table"
21247
+ [style.width.px]="lockedWidth"
21248
+ kendoGridTable
21249
+ [size]="size">
21250
+ <colgroup kendoGridColGroup
21251
+ role="presentation"
21252
+ [columns]="$any(lockedLeafColumns)"
21253
+ [groups]="group"
21254
+ [detailTemplate]="detailTemplate">
21255
+ </colgroup>
21256
+ <thead kendoGridHeader
21257
+ role="rowgroup"
21258
+ [resizable]="resizable"
21259
+ [scrollable]="true"
21260
+ [columns]="$any(lockedColumns)"
21261
+ [totalColumnLevels]="totalColumnLevels"
21262
+ [sort]="sort"
21263
+ [groups]="group"
21264
+ [filter]="filter"
21265
+ [filterable]="filterable"
21266
+ [groupable]="showGroupPanel"
21267
+ [reorderable]="reorderable"
21268
+ [sortable]="sortable"
21269
+ [columnMenu]="columnMenuOptions"
21270
+ [columnMenuTemplate]="columnMenuTemplate"
21271
+ [totalColumnsCount]="leafColumns.length"
21272
+ [detailTemplate]="detailTemplate"
21273
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21274
+ </thead>
21275
+ </table>
21276
+ </div>
21277
+ <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21278
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21279
+ [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21280
+ <table
20976
21281
  role="presentation"
20977
- [columns]="headerLeafColumns"
20978
- [groups]="isLocked ? [] : group"
20979
- [detailTemplate]="detailTemplate">
20980
- </colgroup>
20981
- <thead kendoGridHeader
20982
- [resizable]="resizable"
20983
- role="rowgroup"
20984
- [scrollable]="true"
20985
- [columns]="headerColumns"
20986
- [totalColumnLevels]="totalColumnLevels"
20987
- [sort]="sort"
20988
- [filter]="filter"
20989
- [filterable]="filterable"
20990
- [groupable]="showGroupPanel"
20991
- [reorderable]="reorderable"
20992
- [groups]="isLocked ? [] : group"
20993
- [sortable]="sortable"
20994
- [columnMenu]="columnMenuOptions"
20995
- [columnMenuTemplate]="columnMenuTemplate"
20996
- [lockedColumnsCount]="lockedLeafColumns.length"
20997
- [totalColumnsCount]="leafColumns.length"
20998
- [detailTemplate]="detailTemplate"
20999
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21000
- </thead>
21001
- </table>
21002
- <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21003
- <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21282
+ class="k-grid-header-table"
21283
+ [style.width.px]="nonLockedWidth"
21284
+ [virtualColumns]="virtualColumns"
21285
+ kendoGridTable
21286
+ [size]="size">
21287
+ <colgroup kendoGridColGroup
21288
+ role="presentation"
21289
+ [columns]="headerLeafColumns"
21290
+ [groups]="isLocked ? [] : group"
21291
+ [detailTemplate]="detailTemplate">
21292
+ </colgroup>
21293
+ <thead kendoGridHeader
21294
+ [resizable]="resizable"
21295
+ role="rowgroup"
21296
+ [scrollable]="true"
21297
+ [columns]="headerColumns"
21298
+ [totalColumnLevels]="totalColumnLevels"
21299
+ [sort]="sort"
21300
+ [filter]="filter"
21301
+ [filterable]="filterable"
21302
+ [groupable]="showGroupPanel"
21303
+ [reorderable]="reorderable"
21304
+ [groups]="isLocked ? [] : group"
21305
+ [sortable]="sortable"
21306
+ [columnMenu]="columnMenuOptions"
21307
+ [columnMenuTemplate]="columnMenuTemplate"
21308
+ [lockedColumnsCount]="lockedLeafColumns.length"
21309
+ [totalColumnsCount]="leafColumns.length"
21310
+ [detailTemplate]="detailTemplate"
21311
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21312
+ </thead>
21313
+ </table>
21314
+ <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21315
+ <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21316
+ </div>
21004
21317
  </div>
21005
21318
  </div>
21006
- </div>
21007
- <kendo-grid-list
21008
- kendoDragTargetContainer
21009
- kendoDropTargetContainer
21010
- mode="manual"
21011
- [dragDisabled]="!rowReorderable"
21012
- [dropDisabled]="!rowReorderable"
21013
- [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21014
- [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21015
- [dragHandle]="getDefaultSelectors('handle')"
21016
- [hint]="{hintTemplate: defaultHint}"
21017
- (onPress)="handleReorderEvents($event, 'press')"
21018
- (onDragStart)="handleReorderEvents($event, 'dragStart')"
21019
- (onDrag)="handleReorderEvents($event, 'drag')"
21020
- (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21021
- (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21022
- (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21023
- (onDrop)="handleReorderEvents($event, 'drop')"
21024
- [dragData]="gridData"
21025
- [data]="$any(view)"
21026
- [rowHeight]="rowHeight"
21027
- [detailRowHeight]="detailRowHeight"
21028
- [total]="totalCount"
21029
- [take]="pageSize"
21030
- [groups]="group"
21031
- [groupable]="groupable"
21032
- [skip]="skip"
21033
- [trackBy]="trackBy"
21034
- [columns]="columnsContainer"
21035
- [selectable]="selectable"
21036
- [filterable]="filterable"
21037
- [detailTemplate]="detailTemplate"
21038
- [noRecordsTemplate]="noRecordsTemplate"
21039
- [size]="size"
21040
- (pageChange)="notifyPageChange('list', $event)"
21041
- [rowClass]="rowClass"
21042
- [rowSticky]="rowSticky"
21043
- [loading]="loading"
21044
- [isVirtual]="isVirtual"
21045
- [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21046
- [loadingTemplate]="loadingTemplate?.templateRef"
21047
- [virtualColumns]="virtualColumns"
21048
- (scrollBottom)="notifyScrollBottom()"
21049
- (contentScroll)="contentScroll.emit($event)"
21050
- kendoDraggable
21051
- kendoGridSelectionMarquee
21052
- [enableDrag]="marqueeSelection"
21053
- [sort]="sort"
21054
- >
21055
- </kendo-grid-list>
21056
- <div
21057
- *ngIf="showFooter"
21058
- class="k-grid-footer"
21059
- [style.padding]="headerPadding">
21060
- <div
21061
- *ngIf="lockedLeafColumns.length"
21062
- class="k-grid-footer-locked"
21063
- [style.width.px]="lockedWidth">
21064
- <table
21065
- role="presentation"
21066
- class="k-grid-footer-table"
21067
- [locked]="true"
21068
- [style.width.px]="lockedWidth"
21069
- kendoGridTable
21070
- [size]="size">
21071
- <colgroup kendoGridColGroup
21072
- [columns]="$any(lockedLeafColumns)"
21073
- [groups]="group"
21074
- [detailTemplate]="detailTemplate">
21075
- </colgroup>
21076
- <tfoot kendoGridFooter
21077
- [scrollable]="true"
21078
- [groups]="group"
21079
- [columns]="$any(lockedLeafColumns)"
21080
- [detailTemplate]="detailTemplate"
21081
- [logicalRowIndex]="ariaRowCount">
21082
- </tfoot>
21083
- </table>
21084
- </div>
21085
- <div #footer
21086
- class="k-grid-footer-wrap" data-scrollable
21087
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21088
- [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21089
- <table
21090
- role="presentation"
21091
- class="k-grid-footer-table"
21092
- [style.width.px]="nonLockedWidth"
21093
- kendoGridTable
21094
- [size]="size">
21095
- <colgroup kendoGridColGroup
21096
- [columns]="$any(nonLockedLeafColumns)"
21097
- [groups]="isLocked ? [] : group"
21098
- [detailTemplate]="detailTemplate">
21099
- </colgroup>
21100
- <tfoot kendoGridFooter
21101
- [logicalRowIndex]="ariaRowCount"
21102
- [scrollable]="true"
21103
- [groups]="isLocked ? [] : group"
21104
- [columns]="$any(nonLockedLeafColumns)"
21105
- [lockedColumnsCount]="lockedLeafColumns.length"
21106
- [detailTemplate]="detailTemplate">
21107
- </tfoot>
21108
- </table>
21109
- </div>
21110
- </div>
21111
- </ng-container>
21112
- <ng-container *ngIf="!isScrollable">
21113
- <table
21114
- [style.table-layout]="resizable ? 'fixed' : null"
21115
- kendoGridTable
21116
- [size]="size">
21117
- <colgroup kendoGridColGroup
21118
- [columns]="$any(leafColumns)"
21119
- [groups]="group"
21120
- [detailTemplate]="detailTemplate">
21121
- </colgroup>
21122
- <thead kendoGridHeader
21123
- *ngIf="!hideHeader"
21124
- [resizable]="resizable"
21125
- [scrollable]="false"
21126
- [columns]="$any(visibleColumns)"
21127
- [totalColumnLevels]="totalColumnLevels"
21128
- [groups]="group"
21129
- [groupable]="showGroupPanel"
21130
- [reorderable]="reorderable"
21131
- [sort]="sort"
21132
- [sortable]="sortable"
21133
- [filter]="filter"
21134
- [filterable]="filterable"
21135
- [columnMenu]="columnMenuOptions"
21136
- [columnMenuTemplate]="columnMenuTemplate"
21137
- [detailTemplate]="detailTemplate"
21138
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21139
- </thead>
21140
- <tbody kendoGridTableBody
21141
- [isLoading]="loading"
21142
- [groups]="group"
21319
+ <kendo-grid-list
21320
+ kendoDragTargetContainer
21321
+ kendoDropTargetContainer
21322
+ mode="manual"
21323
+ [dragDisabled]="!rowReorderable"
21324
+ [dropDisabled]="!rowReorderable"
21325
+ [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21326
+ [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21327
+ [dragHandle]="getDefaultSelectors('handle')"
21328
+ [hint]="{hintTemplate: defaultHint}"
21329
+ (onPress)="handleReorderEvents($event, 'press')"
21330
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
21331
+ (onDrag)="handleReorderEvents($event, 'drag')"
21332
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21333
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21334
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21335
+ (onDrop)="handleReorderEvents($event, 'drop')"
21336
+ [dragData]="gridData"
21143
21337
  [data]="$any(view)"
21338
+ [rowHeight]="rowHeight"
21339
+ [detailRowHeight]="detailRowHeight"
21340
+ [total]="totalCount"
21341
+ [take]="pageSize"
21342
+ [groups]="group"
21343
+ [groupable]="groupable"
21144
21344
  [skip]="skip"
21145
- [columns]="$any(leafColumns)"
21345
+ [trackBy]="trackBy"
21346
+ [columns]="columnsContainer"
21146
21347
  [selectable]="selectable"
21147
21348
  [filterable]="filterable"
21148
- [noRecordsTemplate]="noRecordsTemplate"
21149
21349
  [detailTemplate]="detailTemplate"
21150
- [showGroupFooters]="showGroupFooters"
21151
- [trackBy]="trackBy"
21350
+ [noRecordsTemplate]="noRecordsTemplate"
21351
+ [size]="size"
21352
+ (pageChange)="notifyPageChange('list', $event)"
21152
21353
  [rowClass]="rowClass"
21354
+ [rowSticky]="rowSticky"
21355
+ [loading]="loading"
21356
+ [isVirtual]="isVirtual"
21357
+ [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21358
+ [loadingTemplate]="loadingTemplate?.templateRef"
21359
+ [virtualColumns]="virtualColumns"
21360
+ (scrollBottom)="notifyScrollBottom()"
21361
+ (contentScroll)="contentScroll.emit($event)"
21153
21362
  kendoDraggable
21154
21363
  kendoGridSelectionMarquee
21155
- [enableDrag]="marqueeSelection">
21156
- </tbody>
21157
- <tfoot kendoGridFooter
21364
+ [enableDrag]="marqueeSelection"
21365
+ [sort]="sort">
21366
+ </kendo-grid-list>
21367
+ <div
21158
21368
  *ngIf="showFooter"
21159
- [scrollable]="false"
21160
- [logicalRowIndex]="ariaRowCount"
21161
- [groups]="group"
21162
- [columns]="$any(leafColumns)"
21163
- [detailTemplate]="detailTemplate">
21164
- </tfoot>
21165
- </table>
21166
- </ng-container>
21167
- <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading>
21168
- </div>
21369
+ class="k-grid-footer"
21370
+ [style.padding]="headerPadding">
21371
+ <div
21372
+ *ngIf="lockedLeafColumns.length"
21373
+ class="k-grid-footer-locked"
21374
+ [style.width.px]="lockedWidth">
21375
+ <table
21376
+ role="presentation"
21377
+ class="k-grid-footer-table"
21378
+ [locked]="true"
21379
+ [style.width.px]="lockedWidth"
21380
+ kendoGridTable
21381
+ [size]="size">
21382
+ <colgroup kendoGridColGroup
21383
+ [columns]="$any(lockedLeafColumns)"
21384
+ [groups]="group"
21385
+ [detailTemplate]="detailTemplate">
21386
+ </colgroup>
21387
+ <tfoot kendoGridFooter
21388
+ [scrollable]="true"
21389
+ [groups]="group"
21390
+ [columns]="$any(lockedLeafColumns)"
21391
+ [detailTemplate]="detailTemplate"
21392
+ [logicalRowIndex]="ariaRowCount">
21393
+ </tfoot>
21394
+ </table>
21395
+ </div>
21396
+ <div #footer
21397
+ class="k-grid-footer-wrap" data-scrollable
21398
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21399
+ [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21400
+ <table
21401
+ role="presentation"
21402
+ class="k-grid-footer-table"
21403
+ [style.width.px]="nonLockedWidth"
21404
+ kendoGridTable
21405
+ [size]="size">
21406
+ <colgroup kendoGridColGroup
21407
+ [columns]="$any(nonLockedLeafColumns)"
21408
+ [groups]="isLocked ? [] : group"
21409
+ [detailTemplate]="detailTemplate">
21410
+ </colgroup>
21411
+ <tfoot kendoGridFooter
21412
+ [logicalRowIndex]="ariaRowCount"
21413
+ [scrollable]="true"
21414
+ [groups]="isLocked ? [] : group"
21415
+ [columns]="$any(nonLockedLeafColumns)"
21416
+ [lockedColumnsCount]="lockedLeafColumns.length"
21417
+ [detailTemplate]="detailTemplate">
21418
+ </tfoot>
21419
+ </table>
21420
+ </div>
21421
+ </div>
21422
+ </ng-container>
21423
+ <ng-container *ngIf="!isScrollable">
21424
+ <table
21425
+ [style.table-layout]="resizable ? 'fixed' : null"
21426
+ kendoGridTable
21427
+ [size]="size">
21428
+ <colgroup kendoGridColGroup
21429
+ [columns]="$any(leafColumns)"
21430
+ [groups]="group"
21431
+ [detailTemplate]="detailTemplate">
21432
+ </colgroup>
21433
+ <thead kendoGridHeader
21434
+ *ngIf="!hideHeader"
21435
+ [resizable]="resizable"
21436
+ [scrollable]="false"
21437
+ [columns]="$any(visibleColumns)"
21438
+ [totalColumnLevels]="totalColumnLevels"
21439
+ [groups]="group"
21440
+ [groupable]="showGroupPanel"
21441
+ [reorderable]="reorderable"
21442
+ [sort]="sort"
21443
+ [sortable]="sortable"
21444
+ [filter]="filter"
21445
+ [filterable]="filterable"
21446
+ [columnMenu]="columnMenuOptions"
21447
+ [columnMenuTemplate]="columnMenuTemplate"
21448
+ [detailTemplate]="detailTemplate"
21449
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21450
+ </thead>
21451
+ <tbody kendoGridTableBody
21452
+ [isLoading]="loading"
21453
+ [groups]="group"
21454
+ [data]="$any(view)"
21455
+ [skip]="skip"
21456
+ [columns]="$any(leafColumns)"
21457
+ [selectable]="selectable"
21458
+ [filterable]="filterable"
21459
+ [noRecordsTemplate]="noRecordsTemplate"
21460
+ [detailTemplate]="detailTemplate"
21461
+ [showGroupFooters]="showGroupFooters"
21462
+ [trackBy]="trackBy"
21463
+ [rowClass]="rowClass"
21464
+ kendoDraggable
21465
+ kendoGridSelectionMarquee
21466
+ [enableDrag]="marqueeSelection">
21467
+ </tbody>
21468
+ <tfoot kendoGridFooter
21469
+ *ngIf="showFooter"
21470
+ [scrollable]="false"
21471
+ [logicalRowIndex]="ariaRowCount"
21472
+ [groups]="group"
21473
+ [columns]="$any(leafColumns)"
21474
+ [detailTemplate]="detailTemplate">
21475
+ </tfoot>
21476
+ </table>
21477
+ </ng-container>
21478
+ <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading></div>
21169
21479
  </div>
21480
+ <kendo-grid-status-bar
21481
+ *ngIf="showStatusBar"
21482
+ [selectableSettings]="selectable"
21483
+ [statusBarTemplate]="statusBarTemplate">
21484
+ </kendo-grid-status-bar>
21170
21485
  <kendo-pager
21171
21486
  *ngIf="showBottomPager"
21172
21487
  [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
@@ -21198,7 +21513,7 @@ GridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
21198
21513
  </kendo-icon-wrapper>
21199
21514
  {{hintText}}
21200
21515
  </ng-template>
21201
- `, 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 });
21516
+ `, 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 });
21202
21517
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GridComponent, decorators: [{
21203
21518
  type: Component,
21204
21519
  args: [{
@@ -21497,285 +21812,288 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21497
21812
  [navigable]="navigation.toolbarEnabled"
21498
21813
  [attr.aria-controls]="ariaRootId"
21499
21814
  position="top"></kendo-grid-toolbar>
21500
- <kendo-pager
21501
- *ngIf="showTopPager"
21502
- [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21503
- [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21504
- class="k-grid-pager-top k-pager"
21505
- [template]="pagerTemplate"
21506
- [pageSize]="pageSize"
21507
- [total]="view.total"
21508
- [skip]="skip"
21509
- [size]="size"
21510
- [options]="pageable"
21511
- (pageChange)="notifyPageChange('pager', $event)">
21512
- </kendo-pager>
21513
- <kendo-grid-group-panel
21514
- *ngIf="showGroupPanel"
21515
- [navigable]="navigation.toolbarEnabled"
21516
- [text]="groupableEmptyText"
21517
- [groups]="group"
21518
- role="toolbar"
21519
- [attr.aria-label]="messageFor('groupPanelLabel')"
21520
- [attr.aria-controls]="ariaRootId"
21521
- (change)="groupChange.emit($event)">
21522
- </kendo-grid-group-panel>
21523
- <div #ariaRoot
21524
- class="k-grid-aria-root"
21525
- role="grid"
21526
- [id]="ariaRootId"
21527
- [attr.aria-label]="ariaLabel"
21528
- [attr.aria-rowcount]="ariaRowCount"
21529
- [attr.aria-colcount]="ariaColCount">
21530
- <ng-container *ngIf="isScrollable">
21531
- <div *ngIf="!hideHeader"
21532
- class="k-grid-header"
21533
- role="presentation"
21534
- [style.padding]="headerPadding">
21535
- <div *ngIf="isLocked"
21536
- #lockedHeader
21537
- role="presentation"
21538
- class="k-grid-header-locked"
21539
- [style.width.px]="lockedWidth">
21540
- <table
21541
- [locked]="true"
21815
+ <kendo-pager
21816
+ *ngIf="showTopPager"
21817
+ [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
21818
+ [attr.role]="navigation.pagerEnabled ? 'application' : undefined"
21819
+ class="k-grid-pager-top k-pager"
21820
+ [template]="pagerTemplate"
21821
+ [pageSize]="pageSize"
21822
+ [total]="view.total"
21823
+ [skip]="skip"
21824
+ [size]="size"
21825
+ [options]="pageable"
21826
+ (pageChange)="notifyPageChange('pager', $event)">
21827
+ </kendo-pager>
21828
+ <kendo-grid-group-panel
21829
+ *ngIf="showGroupPanel"
21830
+ [navigable]="navigation.toolbarEnabled"
21831
+ [text]="groupableEmptyText"
21832
+ [groups]="group"
21833
+ role="toolbar"
21834
+ [attr.aria-label]="messageFor('groupPanelLabel')"
21835
+ [attr.aria-controls]="ariaRootId"
21836
+ (change)="groupChange.emit($event)">
21837
+ </kendo-grid-group-panel>
21838
+ <div #ariaRoot
21839
+ class="k-grid-aria-root"
21840
+ role="grid"
21841
+ [id]="ariaRootId"
21842
+ [attr.aria-label]="ariaLabel"
21843
+ [attr.aria-rowcount]="ariaRowCount"
21844
+ [attr.aria-colcount]="ariaColCount">
21845
+ <ng-container *ngIf="isScrollable">
21846
+ <div *ngIf="!hideHeader"
21847
+ class="k-grid-header"
21848
+ role="presentation"
21849
+ [style.padding]="headerPadding">
21850
+ <div *ngIf="isLocked"
21851
+ #lockedHeader
21542
21852
  role="presentation"
21543
- class="k-grid-header-table"
21544
- [style.width.px]="lockedWidth"
21545
- kendoGridTable
21546
- [size]="size">
21547
- <colgroup kendoGridColGroup
21853
+ class="k-grid-header-locked"
21854
+ [style.width.px]="lockedWidth">
21855
+ <table
21856
+ [locked]="true"
21548
21857
  role="presentation"
21549
- [columns]="$any(lockedLeafColumns)"
21550
- [groups]="group"
21551
- [detailTemplate]="detailTemplate">
21552
- </colgroup>
21553
- <thead kendoGridHeader
21554
- role="rowgroup"
21555
- [resizable]="resizable"
21556
- [scrollable]="true"
21557
- [columns]="$any(lockedColumns)"
21558
- [totalColumnLevels]="totalColumnLevels"
21559
- [sort]="sort"
21560
- [groups]="group"
21561
- [filter]="filter"
21562
- [filterable]="filterable"
21563
- [groupable]="showGroupPanel"
21564
- [reorderable]="reorderable"
21565
- [sortable]="sortable"
21566
- [columnMenu]="columnMenuOptions"
21567
- [columnMenuTemplate]="columnMenuTemplate"
21568
- [totalColumnsCount]="leafColumns.length"
21569
- [detailTemplate]="detailTemplate"
21570
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21571
- </thead>
21572
- </table>
21573
- </div>
21574
- <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21575
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21576
- [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21577
- <table
21578
- role="presentation"
21579
- class="k-grid-header-table"
21580
- [style.width.px]="nonLockedWidth"
21581
- [virtualColumns]="virtualColumns"
21582
- kendoGridTable
21583
- [size]="size">
21584
- <colgroup kendoGridColGroup
21858
+ class="k-grid-header-table"
21859
+ [style.width.px]="lockedWidth"
21860
+ kendoGridTable
21861
+ [size]="size">
21862
+ <colgroup kendoGridColGroup
21863
+ role="presentation"
21864
+ [columns]="$any(lockedLeafColumns)"
21865
+ [groups]="group"
21866
+ [detailTemplate]="detailTemplate">
21867
+ </colgroup>
21868
+ <thead kendoGridHeader
21869
+ role="rowgroup"
21870
+ [resizable]="resizable"
21871
+ [scrollable]="true"
21872
+ [columns]="$any(lockedColumns)"
21873
+ [totalColumnLevels]="totalColumnLevels"
21874
+ [sort]="sort"
21875
+ [groups]="group"
21876
+ [filter]="filter"
21877
+ [filterable]="filterable"
21878
+ [groupable]="showGroupPanel"
21879
+ [reorderable]="reorderable"
21880
+ [sortable]="sortable"
21881
+ [columnMenu]="columnMenuOptions"
21882
+ [columnMenuTemplate]="columnMenuTemplate"
21883
+ [totalColumnsCount]="leafColumns.length"
21884
+ [detailTemplate]="detailTemplate"
21885
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21886
+ </thead>
21887
+ </table>
21888
+ </div>
21889
+ <div #header class="k-grid-header-wrap" role="presentation" data-scrollable
21890
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21891
+ [lockedWidth]="lockedWidth + scrollbarWidth + 2">
21892
+ <table
21585
21893
  role="presentation"
21586
- [columns]="headerLeafColumns"
21587
- [groups]="isLocked ? [] : group"
21588
- [detailTemplate]="detailTemplate">
21589
- </colgroup>
21590
- <thead kendoGridHeader
21591
- [resizable]="resizable"
21592
- role="rowgroup"
21593
- [scrollable]="true"
21594
- [columns]="headerColumns"
21595
- [totalColumnLevels]="totalColumnLevels"
21596
- [sort]="sort"
21597
- [filter]="filter"
21598
- [filterable]="filterable"
21599
- [groupable]="showGroupPanel"
21600
- [reorderable]="reorderable"
21601
- [groups]="isLocked ? [] : group"
21602
- [sortable]="sortable"
21603
- [columnMenu]="columnMenuOptions"
21604
- [columnMenuTemplate]="columnMenuTemplate"
21605
- [lockedColumnsCount]="lockedLeafColumns.length"
21606
- [totalColumnsCount]="leafColumns.length"
21607
- [detailTemplate]="detailTemplate"
21608
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21609
- </thead>
21610
- </table>
21611
- <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21612
- <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21894
+ class="k-grid-header-table"
21895
+ [style.width.px]="nonLockedWidth"
21896
+ [virtualColumns]="virtualColumns"
21897
+ kendoGridTable
21898
+ [size]="size">
21899
+ <colgroup kendoGridColGroup
21900
+ role="presentation"
21901
+ [columns]="headerLeafColumns"
21902
+ [groups]="isLocked ? [] : group"
21903
+ [detailTemplate]="detailTemplate">
21904
+ </colgroup>
21905
+ <thead kendoGridHeader
21906
+ [resizable]="resizable"
21907
+ role="rowgroup"
21908
+ [scrollable]="true"
21909
+ [columns]="headerColumns"
21910
+ [totalColumnLevels]="totalColumnLevels"
21911
+ [sort]="sort"
21912
+ [filter]="filter"
21913
+ [filterable]="filterable"
21914
+ [groupable]="showGroupPanel"
21915
+ [reorderable]="reorderable"
21916
+ [groups]="isLocked ? [] : group"
21917
+ [sortable]="sortable"
21918
+ [columnMenu]="columnMenuOptions"
21919
+ [columnMenuTemplate]="columnMenuTemplate"
21920
+ [lockedColumnsCount]="lockedLeafColumns.length"
21921
+ [totalColumnsCount]="leafColumns.length"
21922
+ [detailTemplate]="detailTemplate"
21923
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21924
+ </thead>
21925
+ </table>
21926
+ <div *ngIf="virtualColumns" class="k-width-container" role="presentation">
21927
+ <div [style.width.px]="columnsContainer.unlockedWidth"></div>
21928
+ </div>
21613
21929
  </div>
21614
21930
  </div>
21615
- </div>
21616
- <kendo-grid-list
21617
- kendoDragTargetContainer
21618
- kendoDropTargetContainer
21619
- mode="manual"
21620
- [dragDisabled]="!rowReorderable"
21621
- [dropDisabled]="!rowReorderable"
21622
- [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21623
- [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21624
- [dragHandle]="getDefaultSelectors('handle')"
21625
- [hint]="{hintTemplate: defaultHint}"
21626
- (onPress)="handleReorderEvents($event, 'press')"
21627
- (onDragStart)="handleReorderEvents($event, 'dragStart')"
21628
- (onDrag)="handleReorderEvents($event, 'drag')"
21629
- (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21630
- (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21631
- (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21632
- (onDrop)="handleReorderEvents($event, 'drop')"
21633
- [dragData]="gridData"
21634
- [data]="$any(view)"
21635
- [rowHeight]="rowHeight"
21636
- [detailRowHeight]="detailRowHeight"
21637
- [total]="totalCount"
21638
- [take]="pageSize"
21639
- [groups]="group"
21640
- [groupable]="groupable"
21641
- [skip]="skip"
21642
- [trackBy]="trackBy"
21643
- [columns]="columnsContainer"
21644
- [selectable]="selectable"
21645
- [filterable]="filterable"
21646
- [detailTemplate]="detailTemplate"
21647
- [noRecordsTemplate]="noRecordsTemplate"
21648
- [size]="size"
21649
- (pageChange)="notifyPageChange('list', $event)"
21650
- [rowClass]="rowClass"
21651
- [rowSticky]="rowSticky"
21652
- [loading]="loading"
21653
- [isVirtual]="isVirtual"
21654
- [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21655
- [loadingTemplate]="loadingTemplate?.templateRef"
21656
- [virtualColumns]="virtualColumns"
21657
- (scrollBottom)="notifyScrollBottom()"
21658
- (contentScroll)="contentScroll.emit($event)"
21659
- kendoDraggable
21660
- kendoGridSelectionMarquee
21661
- [enableDrag]="marqueeSelection"
21662
- [sort]="sort"
21663
- >
21664
- </kendo-grid-list>
21665
- <div
21666
- *ngIf="showFooter"
21667
- class="k-grid-footer"
21668
- [style.padding]="headerPadding">
21669
- <div
21670
- *ngIf="lockedLeafColumns.length"
21671
- class="k-grid-footer-locked"
21672
- [style.width.px]="lockedWidth">
21673
- <table
21674
- role="presentation"
21675
- class="k-grid-footer-table"
21676
- [locked]="true"
21677
- [style.width.px]="lockedWidth"
21678
- kendoGridTable
21679
- [size]="size">
21680
- <colgroup kendoGridColGroup
21681
- [columns]="$any(lockedLeafColumns)"
21682
- [groups]="group"
21683
- [detailTemplate]="detailTemplate">
21684
- </colgroup>
21685
- <tfoot kendoGridFooter
21686
- [scrollable]="true"
21687
- [groups]="group"
21688
- [columns]="$any(lockedLeafColumns)"
21689
- [detailTemplate]="detailTemplate"
21690
- [logicalRowIndex]="ariaRowCount">
21691
- </tfoot>
21692
- </table>
21693
- </div>
21694
- <div #footer
21695
- class="k-grid-footer-wrap" data-scrollable
21696
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
21697
- [lockedWidth]="lockedWidth + scrollbarWidth + 3">
21698
- <table
21699
- role="presentation"
21700
- class="k-grid-footer-table"
21701
- [style.width.px]="nonLockedWidth"
21702
- kendoGridTable
21703
- [size]="size">
21704
- <colgroup kendoGridColGroup
21705
- [columns]="$any(nonLockedLeafColumns)"
21706
- [groups]="isLocked ? [] : group"
21707
- [detailTemplate]="detailTemplate">
21708
- </colgroup>
21709
- <tfoot kendoGridFooter
21710
- [logicalRowIndex]="ariaRowCount"
21711
- [scrollable]="true"
21712
- [groups]="isLocked ? [] : group"
21713
- [columns]="$any(nonLockedLeafColumns)"
21714
- [lockedColumnsCount]="lockedLeafColumns.length"
21715
- [detailTemplate]="detailTemplate">
21716
- </tfoot>
21717
- </table>
21718
- </div>
21719
- </div>
21720
- </ng-container>
21721
- <ng-container *ngIf="!isScrollable">
21722
- <table
21723
- [style.table-layout]="resizable ? 'fixed' : null"
21724
- kendoGridTable
21725
- [size]="size">
21726
- <colgroup kendoGridColGroup
21727
- [columns]="$any(leafColumns)"
21728
- [groups]="group"
21729
- [detailTemplate]="detailTemplate">
21730
- </colgroup>
21731
- <thead kendoGridHeader
21732
- *ngIf="!hideHeader"
21733
- [resizable]="resizable"
21734
- [scrollable]="false"
21735
- [columns]="$any(visibleColumns)"
21736
- [totalColumnLevels]="totalColumnLevels"
21737
- [groups]="group"
21738
- [groupable]="showGroupPanel"
21739
- [reorderable]="reorderable"
21740
- [sort]="sort"
21741
- [sortable]="sortable"
21742
- [filter]="filter"
21743
- [filterable]="filterable"
21744
- [columnMenu]="columnMenuOptions"
21745
- [columnMenuTemplate]="columnMenuTemplate"
21746
- [detailTemplate]="detailTemplate"
21747
- [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
21748
- </thead>
21749
- <tbody kendoGridTableBody
21750
- [isLoading]="loading"
21751
- [groups]="group"
21931
+ <kendo-grid-list
21932
+ kendoDragTargetContainer
21933
+ kendoDropTargetContainer
21934
+ mode="manual"
21935
+ [dragDisabled]="!rowReorderable"
21936
+ [dropDisabled]="!rowReorderable"
21937
+ [dragTargetFilter]="getDefaultSelectors('dragTarget')"
21938
+ [dropTargetFilter]="getDefaultSelectors('dropTarget')"
21939
+ [dragHandle]="getDefaultSelectors('handle')"
21940
+ [hint]="{hintTemplate: defaultHint}"
21941
+ (onPress)="handleReorderEvents($event, 'press')"
21942
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
21943
+ (onDrag)="handleReorderEvents($event, 'drag')"
21944
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
21945
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
21946
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
21947
+ (onDrop)="handleReorderEvents($event, 'drop')"
21948
+ [dragData]="gridData"
21752
21949
  [data]="$any(view)"
21950
+ [rowHeight]="rowHeight"
21951
+ [detailRowHeight]="detailRowHeight"
21952
+ [total]="totalCount"
21953
+ [take]="pageSize"
21954
+ [groups]="group"
21955
+ [groupable]="groupable"
21753
21956
  [skip]="skip"
21754
- [columns]="$any(leafColumns)"
21957
+ [trackBy]="trackBy"
21958
+ [columns]="columnsContainer"
21755
21959
  [selectable]="selectable"
21756
21960
  [filterable]="filterable"
21757
- [noRecordsTemplate]="noRecordsTemplate"
21758
21961
  [detailTemplate]="detailTemplate"
21759
- [showGroupFooters]="showGroupFooters"
21760
- [trackBy]="trackBy"
21962
+ [noRecordsTemplate]="noRecordsTemplate"
21963
+ [size]="size"
21964
+ (pageChange)="notifyPageChange('list', $event)"
21761
21965
  [rowClass]="rowClass"
21966
+ [rowSticky]="rowSticky"
21967
+ [loading]="loading"
21968
+ [isVirtual]="isVirtual"
21969
+ [cellLoadingTemplate]="cellLoadingTemplate?.templateRef"
21970
+ [loadingTemplate]="loadingTemplate?.templateRef"
21971
+ [virtualColumns]="virtualColumns"
21972
+ (scrollBottom)="notifyScrollBottom()"
21973
+ (contentScroll)="contentScroll.emit($event)"
21762
21974
  kendoDraggable
21763
21975
  kendoGridSelectionMarquee
21764
- [enableDrag]="marqueeSelection">
21765
- </tbody>
21766
- <tfoot kendoGridFooter
21976
+ [enableDrag]="marqueeSelection"
21977
+ [sort]="sort">
21978
+ </kendo-grid-list>
21979
+ <div
21767
21980
  *ngIf="showFooter"
21768
- [scrollable]="false"
21769
- [logicalRowIndex]="ariaRowCount"
21770
- [groups]="group"
21771
- [columns]="$any(leafColumns)"
21772
- [detailTemplate]="detailTemplate">
21773
- </tfoot>
21774
- </table>
21775
- </ng-container>
21776
- <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading>
21777
- </div>
21981
+ class="k-grid-footer"
21982
+ [style.padding]="headerPadding">
21983
+ <div
21984
+ *ngIf="lockedLeafColumns.length"
21985
+ class="k-grid-footer-locked"
21986
+ [style.width.px]="lockedWidth">
21987
+ <table
21988
+ role="presentation"
21989
+ class="k-grid-footer-table"
21990
+ [locked]="true"
21991
+ [style.width.px]="lockedWidth"
21992
+ kendoGridTable
21993
+ [size]="size">
21994
+ <colgroup kendoGridColGroup
21995
+ [columns]="$any(lockedLeafColumns)"
21996
+ [groups]="group"
21997
+ [detailTemplate]="detailTemplate">
21998
+ </colgroup>
21999
+ <tfoot kendoGridFooter
22000
+ [scrollable]="true"
22001
+ [groups]="group"
22002
+ [columns]="$any(lockedLeafColumns)"
22003
+ [detailTemplate]="detailTemplate"
22004
+ [logicalRowIndex]="ariaRowCount">
22005
+ </tfoot>
22006
+ </table>
22007
+ </div>
22008
+ <div #footer
22009
+ class="k-grid-footer-wrap" data-scrollable
22010
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
22011
+ [lockedWidth]="lockedWidth + scrollbarWidth + 3">
22012
+ <table
22013
+ role="presentation"
22014
+ class="k-grid-footer-table"
22015
+ [style.width.px]="nonLockedWidth"
22016
+ kendoGridTable
22017
+ [size]="size">
22018
+ <colgroup kendoGridColGroup
22019
+ [columns]="$any(nonLockedLeafColumns)"
22020
+ [groups]="isLocked ? [] : group"
22021
+ [detailTemplate]="detailTemplate">
22022
+ </colgroup>
22023
+ <tfoot kendoGridFooter
22024
+ [logicalRowIndex]="ariaRowCount"
22025
+ [scrollable]="true"
22026
+ [groups]="isLocked ? [] : group"
22027
+ [columns]="$any(nonLockedLeafColumns)"
22028
+ [lockedColumnsCount]="lockedLeafColumns.length"
22029
+ [detailTemplate]="detailTemplate">
22030
+ </tfoot>
22031
+ </table>
22032
+ </div>
22033
+ </div>
22034
+ </ng-container>
22035
+ <ng-container *ngIf="!isScrollable">
22036
+ <table
22037
+ [style.table-layout]="resizable ? 'fixed' : null"
22038
+ kendoGridTable
22039
+ [size]="size">
22040
+ <colgroup kendoGridColGroup
22041
+ [columns]="$any(leafColumns)"
22042
+ [groups]="group"
22043
+ [detailTemplate]="detailTemplate">
22044
+ </colgroup>
22045
+ <thead kendoGridHeader
22046
+ *ngIf="!hideHeader"
22047
+ [resizable]="resizable"
22048
+ [scrollable]="false"
22049
+ [columns]="$any(visibleColumns)"
22050
+ [totalColumnLevels]="totalColumnLevels"
22051
+ [groups]="group"
22052
+ [groupable]="showGroupPanel"
22053
+ [reorderable]="reorderable"
22054
+ [sort]="sort"
22055
+ [sortable]="sortable"
22056
+ [filter]="filter"
22057
+ [filterable]="filterable"
22058
+ [columnMenu]="columnMenuOptions"
22059
+ [columnMenuTemplate]="columnMenuTemplate"
22060
+ [detailTemplate]="detailTemplate"
22061
+ [tabIndex]="navigation.tableEnabled ? '-1' : '0'">
22062
+ </thead>
22063
+ <tbody kendoGridTableBody
22064
+ [isLoading]="loading"
22065
+ [groups]="group"
22066
+ [data]="$any(view)"
22067
+ [skip]="skip"
22068
+ [columns]="$any(leafColumns)"
22069
+ [selectable]="selectable"
22070
+ [filterable]="filterable"
22071
+ [noRecordsTemplate]="noRecordsTemplate"
22072
+ [detailTemplate]="detailTemplate"
22073
+ [showGroupFooters]="showGroupFooters"
22074
+ [trackBy]="trackBy"
22075
+ [rowClass]="rowClass"
22076
+ kendoDraggable
22077
+ kendoGridSelectionMarquee
22078
+ [enableDrag]="marqueeSelection">
22079
+ </tbody>
22080
+ <tfoot kendoGridFooter
22081
+ *ngIf="showFooter"
22082
+ [scrollable]="false"
22083
+ [logicalRowIndex]="ariaRowCount"
22084
+ [groups]="group"
22085
+ [columns]="$any(leafColumns)"
22086
+ [detailTemplate]="detailTemplate">
22087
+ </tfoot>
22088
+ </table>
22089
+ </ng-container>
22090
+ <div [loadingTemplate]="loadingTemplate" *ngIf="loading" kendoGridLoading></div>
21778
22091
  </div>
22092
+ <kendo-grid-status-bar
22093
+ *ngIf="showStatusBar"
22094
+ [selectableSettings]="selectable"
22095
+ [statusBarTemplate]="statusBarTemplate">
22096
+ </kendo-grid-status-bar>
21779
22097
  <kendo-pager
21780
22098
  *ngIf="showBottomPager"
21781
22099
  [tabindex]="navigation.pagerEnabled ? '0' : '-1'"
@@ -21958,6 +22276,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
21958
22276
  }], loadingTemplateChildren: [{
21959
22277
  type: ContentChildren,
21960
22278
  args: [LoadingTemplateDirective]
22279
+ }], statusBarTemplateChildren: [{
22280
+ type: ContentChildren,
22281
+ args: [StatusBarTemplateDirective]
21961
22282
  }], noRecordsTemplateChildren: [{
21962
22283
  type: ContentChildren,
21963
22284
  args: [NoRecordsTemplateDirective]
@@ -25265,6 +25586,7 @@ const exportedModules$1 = [
25265
25586
  ToolbarTemplateDirective,
25266
25587
  ToolbarComponent,
25267
25588
  GridSpacerComponent,
25589
+ StatusBarTemplateDirective,
25268
25590
  DataBindingDirective,
25269
25591
  SelectionDirective,
25270
25592
  CustomMessagesComponent,
@@ -25302,7 +25624,9 @@ const declarations$2 = [
25302
25624
  GroupBindingDirective,
25303
25625
  GridMarqueeDirective,
25304
25626
  GridSpacerComponent,
25305
- GridToolbarFocusableDirective
25627
+ GridToolbarFocusableDirective,
25628
+ StatusBarComponent,
25629
+ StatusBarTemplateDirective
25306
25630
  ];
25307
25631
  /**
25308
25632
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
@@ -25344,7 +25668,9 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
25344
25668
  GroupBindingDirective,
25345
25669
  GridMarqueeDirective,
25346
25670
  GridSpacerComponent,
25347
- GridToolbarFocusableDirective], imports: [CommonModule,
25671
+ GridToolbarFocusableDirective,
25672
+ StatusBarComponent,
25673
+ StatusBarTemplateDirective], imports: [CommonModule,
25348
25674
  GroupModule,
25349
25675
  SharedModule,
25350
25676
  BodyModule,
@@ -25359,6 +25685,7 @@ GridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
25359
25685
  ToolbarTemplateDirective,
25360
25686
  ToolbarComponent,
25361
25687
  GridSpacerComponent,
25688
+ StatusBarTemplateDirective,
25362
25689
  DataBindingDirective,
25363
25690
  SelectionDirective,
25364
25691
  CustomMessagesComponent,
@@ -26254,5 +26581,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
26254
26581
  * Generated bundle index. Do not edit.
26255
26582
  */
26256
26583
 
26257
- 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 };
26584
+ 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 };
26258
26585