@progress/kendo-angular-grid 21.1.1-develop.1 → 21.2.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +850 -756
  2. package/esm2022/aggregates/status-bar.component.mjs +13 -11
  3. package/esm2022/column-menu/column-chooser-content.component.mjs +133 -123
  4. package/esm2022/column-menu/column-list.component.mjs +62 -59
  5. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +12 -11
  6. package/esm2022/column-menu/column-menu-autosize.component.mjs +12 -11
  7. package/esm2022/column-menu/column-menu-item.component.mjs +221 -85
  8. package/esm2022/column-menu/column-menu-position.component.mjs +46 -43
  9. package/esm2022/column-menu/column-menu.component.mjs +401 -315
  10. package/esm2022/editing/add-command.directive.mjs +27 -17
  11. package/esm2022/editing/cancel-command.directive.mjs +27 -17
  12. package/esm2022/editing/edit-command.directive.mjs +27 -17
  13. package/esm2022/editing/form/form-formfield.component.mjs +97 -70
  14. package/esm2022/editing/form/form.component.mjs +77 -61
  15. package/esm2022/editing/remove-command.directive.mjs +27 -17
  16. package/esm2022/editing/save-command.directive.mjs +27 -17
  17. package/esm2022/excel/excel-command.directive.mjs +27 -17
  18. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +20 -17
  19. package/esm2022/filtering/cell/filter-cell.component.mjs +35 -33
  20. package/esm2022/filtering/filter-row.component.mjs +37 -29
  21. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +34 -31
  22. package/esm2022/filtering/menu/date-filter-menu.component.mjs +52 -49
  23. package/esm2022/filtering/menu/filter-menu-container.component.mjs +97 -89
  24. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +50 -47
  25. package/esm2022/filtering/menu/string-filter-menu.component.mjs +36 -33
  26. package/esm2022/filtering/multicheckbox-filter.component.mjs +54 -43
  27. package/esm2022/grid.component.mjs +1579 -1483
  28. package/esm2022/grouping/group-header.component.mjs +113 -89
  29. package/esm2022/grouping/group-panel.component.mjs +82 -75
  30. package/esm2022/package-metadata.mjs +2 -2
  31. package/esm2022/pdf/pdf-command.directive.mjs +27 -17
  32. package/esm2022/rendering/cell.component.mjs +411 -365
  33. package/esm2022/rendering/common/col-group.component.mjs +25 -15
  34. package/esm2022/rendering/common/loading.component.mjs +23 -19
  35. package/esm2022/rendering/details/detail-template.directive.mjs +6 -4
  36. package/esm2022/rendering/footer/footer.component.mjs +128 -112
  37. package/esm2022/rendering/header/header.component.mjs +412 -351
  38. package/esm2022/rendering/list.component.mjs +225 -202
  39. package/esm2022/rendering/table-body.component.mjs +553 -493
  40. package/esm2022/rendering/toolbar/toolbar.component.mjs +13 -11
  41. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +86 -79
  42. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +54 -51
  43. package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +138 -115
  44. package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +72 -65
  45. package/fesm2022/progress-kendo-angular-grid.mjs +6426 -5525
  46. package/package.json +24 -24
  47. package/rendering/details/detail-template.directive.d.ts +6 -4
  48. package/schematics/ngAdd/index.js +11 -7
@@ -39,7 +39,6 @@ import { TableBodyComponent } from './table-body.component';
39
39
  import { ColGroupComponent } from './common/col-group.component';
40
40
  import { GridTableDirective } from './grid-table.directive';
41
41
  import { TableDirective } from '../column-resizing/table.directive';
42
- import { NgIf } from '@angular/common';
43
42
  import { DataMappingService } from '../data/data-mapping.service';
44
43
  import * as i0 from "@angular/core";
45
44
  import * as i1 from "./details/details.service";
@@ -815,14 +814,15 @@ export class ListComponent {
815
814
  this.scroller.total = this.isVirtual && !this.ctx.grid?.pageable ? this.total : this.allItems.length;
816
815
  }
817
816
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListComponent, deps: [{ token: SCROLLER_FACTORY_TOKEN }, { token: i1.DetailsService }, { token: i2.ChangeNotificationService }, { token: i3.SuspendService }, { token: i4.GroupsService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i5.ScrollSyncService }, { token: i6.ResizeService }, { token: i7.EditService }, { token: i8.BrowserSupportService }, { token: i9.NavigationService }, { token: i10.ScrollRequestService }, { token: i11.ContextService }, { token: i12.ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: i13.PDFService }, { token: i14.ColumnInfoService }, { token: i15.DataMappingService }], target: i0.ɵɵFactoryTarget.Component });
818
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ListComponent, isStandalone: true, selector: "kendo-grid-list", inputs: { data: "data", groups: "groups", total: "total", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", take: "take", skip: "skip", columns: "columns", detailTemplate: "detailTemplate", noRecordsTemplate: "noRecordsTemplate", selectable: "selectable", groupable: "groupable", filterable: "filterable", rowClass: "rowClass", rowSticky: "rowSticky", loading: "loading", trackBy: "trackBy", virtualColumns: "virtualColumns", isVirtual: "isVirtual", cellLoadingTemplate: "cellLoadingTemplate", loadingTemplate: "loadingTemplate", sort: "sort", size: "size" }, outputs: { contentScroll: "contentScroll", pageChange: "pageChange", scrollBottom: "scrollBottom" }, host: { properties: { "class.k-grid-container": "this.hostClass", "attr.role": "this.hostRole" } }, providers: [
817
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListComponent, isStandalone: true, selector: "kendo-grid-list", inputs: { data: "data", groups: "groups", total: "total", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", take: "take", skip: "skip", columns: "columns", detailTemplate: "detailTemplate", noRecordsTemplate: "noRecordsTemplate", selectable: "selectable", groupable: "groupable", filterable: "filterable", rowClass: "rowClass", rowSticky: "rowSticky", loading: "loading", trackBy: "trackBy", virtualColumns: "virtualColumns", isVirtual: "isVirtual", cellLoadingTemplate: "cellLoadingTemplate", loadingTemplate: "loadingTemplate", sort: "sort", size: "size" }, outputs: { contentScroll: "contentScroll", pageChange: "pageChange", scrollBottom: "scrollBottom" }, host: { properties: { "class.k-grid-container": "this.hostClass", "attr.role": "this.hostRole" } }, providers: [
819
818
  {
820
819
  provide: SCROLLER_FACTORY_TOKEN,
821
820
  useValue: DEFAULT_SCROLLER_FACTORY
822
821
  }
823
822
  ], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "lockedContainer", first: true, predicate: ["lockedContainer"], descendants: true }, { propertyName: "lockedTable", first: true, predicate: ["lockedTable"], descendants: true }, { propertyName: "table", first: true, predicate: ["table"], descendants: true, static: true }, { propertyName: "resizeSensors", predicate: ResizeSensorComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
824
- <div #lockedContainer class="k-grid-content-locked" role="presentation"
825
- *ngIf="isLocked && !isStacked" [style.width.px]="lockedWidth" tabindex="-1"
823
+ @if (isLocked && !isStacked) {
824
+ <div #lockedContainer class="k-grid-content-locked" role="presentation"
825
+ [style.width.px]="lockedWidth" tabindex="-1"
826
826
  [kendoEventsOutsideAngular]="{
827
827
  keydown: lockedKeydown,
828
828
  scroll: lockedScroll,
@@ -832,108 +832,119 @@ export class ListComponent {
832
832
  [scope]="this"
833
833
  >
834
834
  <div role="presentation">
835
- <table
836
- kendoGridResizableTable
837
- [locked]="true"
838
- #lockedTable
839
- class="k-grid-table"
840
- role="presentation"
841
- kendoGridTable
842
- [size]="size"
843
- [style.width.px]="lockedWidth">
844
- <colgroup kendoGridColGroup
845
- [groups]="groups"
846
- [columns]="$any(lockedLeafColumns)"
847
- [detailTemplate]="detailTemplate"
848
- [sort]="sort">
849
- </colgroup>
850
- <tbody kendoGridTableBody
851
- role="presentation"
852
- [groups]="groups"
853
- [isLocked]="true"
854
- [rowsToRender]="itemsToRender"
855
- [rowHeight]="rowHeight"
856
- [detailRowHeight]="detailRowHeight"
857
- [noRecordsText]="''"
858
- [columns]="$any(lockedLeafColumns)"
859
- [totalColumnsCount]="leafColumns.length"
860
- [totalColumns]="columns"
861
- [detailTemplate]="detailTemplate"
862
- [skip]="skip"
863
- [selectable]="selectable"
864
- [trackBy]="trackBy"
865
- [filterable]="filterable"
866
- [rowClass]="rowClass"
867
- [isLoading]="loading"
868
- [isVirtual]="isVirtual"
869
- [cellLoadingTemplate]="cellLoadingTemplate">
870
- </tbody>
871
- </table>
872
- <kendo-resize-sensor></kendo-resize-sensor>
873
- </div>
874
- <div class="k-height-container" *ngIf="isVirtual" role="presentation">
875
- <div></div>
835
+ <table
836
+ kendoGridResizableTable
837
+ [locked]="true"
838
+ #lockedTable
839
+ class="k-grid-table"
840
+ role="presentation"
841
+ kendoGridTable
842
+ [size]="size"
843
+ [style.width.px]="lockedWidth">
844
+ <colgroup kendoGridColGroup
845
+ [groups]="groups"
846
+ [columns]="$any(lockedLeafColumns)"
847
+ [detailTemplate]="detailTemplate"
848
+ [sort]="sort">
849
+ </colgroup>
850
+ <tbody kendoGridTableBody
851
+ role="presentation"
852
+ [groups]="groups"
853
+ [isLocked]="true"
854
+ [rowsToRender]="itemsToRender"
855
+ [rowHeight]="rowHeight"
856
+ [detailRowHeight]="detailRowHeight"
857
+ [noRecordsText]="''"
858
+ [columns]="$any(lockedLeafColumns)"
859
+ [totalColumnsCount]="leafColumns.length"
860
+ [totalColumns]="columns"
861
+ [detailTemplate]="detailTemplate"
862
+ [skip]="skip"
863
+ [selectable]="selectable"
864
+ [trackBy]="trackBy"
865
+ [filterable]="filterable"
866
+ [rowClass]="rowClass"
867
+ [isLoading]="loading"
868
+ [isVirtual]="isVirtual"
869
+ [cellLoadingTemplate]="cellLoadingTemplate">
870
+ </tbody>
871
+ </table>
872
+ <kendo-resize-sensor></kendo-resize-sensor>
873
+ </div>
874
+ @if (isVirtual) {
875
+ <div class="k-height-container" role="presentation">
876
+ <div></div>
876
877
  </div>
878
+ }
877
879
  </div>
880
+ }
878
881
  <div
879
- #container
880
- class="k-grid-content k-virtual-content"
881
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
882
- [lockedWidth]="lockedWidth + 1"
883
- >
884
- <div role="presentation">
885
- <table
886
- [style.width.px]="nonLockedWidth"
887
- #table
888
- kendoGridResizableTable
889
- [virtualColumns]="virtualColumns"
890
- class="k-grid-table"
891
- kendoGridTable
892
- [size]="size"
893
- role="presentation">
894
- <colgroup kendoGridColGroup
895
- [groups]="isLocked ? [] : groups"
896
- [columns]="$any(nonLockedColumnsToRender)"
897
- [detailTemplate]="detailTemplate"
898
- [sort]="sort">
899
- </colgroup>
900
- <tbody kendoGridTableBody
901
- role="rowgroup"
902
- [skipGroupDecoration]="isLocked"
903
- [rowsToRender]="itemsToRender"
904
- [groups]="groups"
905
- [columns]="$any(nonLockedColumnsToRender)"
906
- [allColumns]="$any(nonLockedLeafColumns)"
907
- [detailTemplate]="detailTemplate"
908
- [noRecordsTemplate]="noRecordsTemplate"
909
- [lockedColumnsCount]="lockedLeafColumns.length"
910
- [totalColumnsCount]="leafColumns.length"
911
- [totalColumns]="columns"
912
- [skip]="skip"
913
- [selectable]="selectable"
914
- [trackBy]="trackBy"
915
- [filterable]="filterable"
916
- [rowClass]="rowClass"
917
- [rowSticky]="rowSticky"
918
- [virtualColumns]="virtualColumns"
919
- [isLoading]="loading"
920
- [isVirtual]="isVirtual"
921
- [cellLoadingTemplate]="cellLoadingTemplate"
922
- [rowHeight]="rowHeight"
923
- [detailRowHeight]="detailRowHeight">
924
- </tbody>
925
- </table>
926
- <kendo-resize-sensor *ngIf="isLocked"></kendo-resize-sensor>
927
- </div>
928
- <kendo-resize-sensor *ngIf="isLocked || virtualColumns"></kendo-resize-sensor>
929
- <div *ngIf="isVirtual" class="k-height-container" role="presentation">
930
- <div></div>
931
- </div>
932
- <div *ngIf="virtualColumns && !isStacked" class="k-width-container" role="presentation">
933
- <div [style.width.px]="totalWidth"></div>
934
- </div>
882
+ #container
883
+ class="k-grid-content k-virtual-content"
884
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
885
+ [lockedWidth]="lockedWidth + 1"
886
+ >
887
+ <div role="presentation">
888
+ <table
889
+ [style.width.px]="nonLockedWidth"
890
+ #table
891
+ kendoGridResizableTable
892
+ [virtualColumns]="virtualColumns"
893
+ class="k-grid-table"
894
+ kendoGridTable
895
+ [size]="size"
896
+ role="presentation">
897
+ <colgroup kendoGridColGroup
898
+ [groups]="isLocked ? [] : groups"
899
+ [columns]="$any(nonLockedColumnsToRender)"
900
+ [detailTemplate]="detailTemplate"
901
+ [sort]="sort">
902
+ </colgroup>
903
+ <tbody kendoGridTableBody
904
+ role="rowgroup"
905
+ [skipGroupDecoration]="isLocked"
906
+ [rowsToRender]="itemsToRender"
907
+ [groups]="groups"
908
+ [columns]="$any(nonLockedColumnsToRender)"
909
+ [allColumns]="$any(nonLockedLeafColumns)"
910
+ [detailTemplate]="detailTemplate"
911
+ [noRecordsTemplate]="noRecordsTemplate"
912
+ [lockedColumnsCount]="lockedLeafColumns.length"
913
+ [totalColumnsCount]="leafColumns.length"
914
+ [totalColumns]="columns"
915
+ [skip]="skip"
916
+ [selectable]="selectable"
917
+ [trackBy]="trackBy"
918
+ [filterable]="filterable"
919
+ [rowClass]="rowClass"
920
+ [rowSticky]="rowSticky"
921
+ [virtualColumns]="virtualColumns"
922
+ [isLoading]="loading"
923
+ [isVirtual]="isVirtual"
924
+ [cellLoadingTemplate]="cellLoadingTemplate"
925
+ [rowHeight]="rowHeight"
926
+ [detailRowHeight]="detailRowHeight">
927
+ </tbody>
928
+ </table>
929
+ @if (isLocked) {
930
+ <kendo-resize-sensor></kendo-resize-sensor>
931
+ }
932
+ </div>
933
+ @if (isLocked || virtualColumns) {
934
+ <kendo-resize-sensor></kendo-resize-sensor>
935
+ }
936
+ @if (isVirtual) {
937
+ <div class="k-height-container" role="presentation">
938
+ <div></div>
939
+ </div>
940
+ }
941
+ @if (virtualColumns && !isStacked) {
942
+ <div class="k-width-container" role="presentation">
943
+ <div [style.width.px]="totalWidth"></div>
944
+ </div>
945
+ }
935
946
  </div>
936
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "rowsToRender", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass", "rowHeight", "detailRowHeight"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }] });
947
+ `, isInline: true, dependencies: [{ kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "rowsToRender", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass", "rowHeight", "detailRowHeight"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }] });
937
948
  }
938
949
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListComponent, decorators: [{
939
950
  type: Component,
@@ -946,8 +957,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
946
957
  ],
947
958
  selector: 'kendo-grid-list',
948
959
  template: `
949
- <div #lockedContainer class="k-grid-content-locked" role="presentation"
950
- *ngIf="isLocked && !isStacked" [style.width.px]="lockedWidth" tabindex="-1"
960
+ @if (isLocked && !isStacked) {
961
+ <div #lockedContainer class="k-grid-content-locked" role="presentation"
962
+ [style.width.px]="lockedWidth" tabindex="-1"
951
963
  [kendoEventsOutsideAngular]="{
952
964
  keydown: lockedKeydown,
953
965
  scroll: lockedScroll,
@@ -957,110 +969,121 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
957
969
  [scope]="this"
958
970
  >
959
971
  <div role="presentation">
960
- <table
961
- kendoGridResizableTable
962
- [locked]="true"
963
- #lockedTable
964
- class="k-grid-table"
965
- role="presentation"
966
- kendoGridTable
967
- [size]="size"
968
- [style.width.px]="lockedWidth">
969
- <colgroup kendoGridColGroup
970
- [groups]="groups"
971
- [columns]="$any(lockedLeafColumns)"
972
- [detailTemplate]="detailTemplate"
973
- [sort]="sort">
974
- </colgroup>
975
- <tbody kendoGridTableBody
976
- role="presentation"
977
- [groups]="groups"
978
- [isLocked]="true"
979
- [rowsToRender]="itemsToRender"
980
- [rowHeight]="rowHeight"
981
- [detailRowHeight]="detailRowHeight"
982
- [noRecordsText]="''"
983
- [columns]="$any(lockedLeafColumns)"
984
- [totalColumnsCount]="leafColumns.length"
985
- [totalColumns]="columns"
986
- [detailTemplate]="detailTemplate"
987
- [skip]="skip"
988
- [selectable]="selectable"
989
- [trackBy]="trackBy"
990
- [filterable]="filterable"
991
- [rowClass]="rowClass"
992
- [isLoading]="loading"
993
- [isVirtual]="isVirtual"
994
- [cellLoadingTemplate]="cellLoadingTemplate">
995
- </tbody>
996
- </table>
997
- <kendo-resize-sensor></kendo-resize-sensor>
998
- </div>
999
- <div class="k-height-container" *ngIf="isVirtual" role="presentation">
1000
- <div></div>
972
+ <table
973
+ kendoGridResizableTable
974
+ [locked]="true"
975
+ #lockedTable
976
+ class="k-grid-table"
977
+ role="presentation"
978
+ kendoGridTable
979
+ [size]="size"
980
+ [style.width.px]="lockedWidth">
981
+ <colgroup kendoGridColGroup
982
+ [groups]="groups"
983
+ [columns]="$any(lockedLeafColumns)"
984
+ [detailTemplate]="detailTemplate"
985
+ [sort]="sort">
986
+ </colgroup>
987
+ <tbody kendoGridTableBody
988
+ role="presentation"
989
+ [groups]="groups"
990
+ [isLocked]="true"
991
+ [rowsToRender]="itemsToRender"
992
+ [rowHeight]="rowHeight"
993
+ [detailRowHeight]="detailRowHeight"
994
+ [noRecordsText]="''"
995
+ [columns]="$any(lockedLeafColumns)"
996
+ [totalColumnsCount]="leafColumns.length"
997
+ [totalColumns]="columns"
998
+ [detailTemplate]="detailTemplate"
999
+ [skip]="skip"
1000
+ [selectable]="selectable"
1001
+ [trackBy]="trackBy"
1002
+ [filterable]="filterable"
1003
+ [rowClass]="rowClass"
1004
+ [isLoading]="loading"
1005
+ [isVirtual]="isVirtual"
1006
+ [cellLoadingTemplate]="cellLoadingTemplate">
1007
+ </tbody>
1008
+ </table>
1009
+ <kendo-resize-sensor></kendo-resize-sensor>
1010
+ </div>
1011
+ @if (isVirtual) {
1012
+ <div class="k-height-container" role="presentation">
1013
+ <div></div>
1001
1014
  </div>
1015
+ }
1002
1016
  </div>
1017
+ }
1003
1018
  <div
1004
- #container
1005
- class="k-grid-content k-virtual-content"
1006
- [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
1007
- [lockedWidth]="lockedWidth + 1"
1008
- >
1009
- <div role="presentation">
1010
- <table
1011
- [style.width.px]="nonLockedWidth"
1012
- #table
1013
- kendoGridResizableTable
1014
- [virtualColumns]="virtualColumns"
1015
- class="k-grid-table"
1016
- kendoGridTable
1017
- [size]="size"
1018
- role="presentation">
1019
- <colgroup kendoGridColGroup
1020
- [groups]="isLocked ? [] : groups"
1021
- [columns]="$any(nonLockedColumnsToRender)"
1022
- [detailTemplate]="detailTemplate"
1023
- [sort]="sort">
1024
- </colgroup>
1025
- <tbody kendoGridTableBody
1026
- role="rowgroup"
1027
- [skipGroupDecoration]="isLocked"
1028
- [rowsToRender]="itemsToRender"
1029
- [groups]="groups"
1030
- [columns]="$any(nonLockedColumnsToRender)"
1031
- [allColumns]="$any(nonLockedLeafColumns)"
1032
- [detailTemplate]="detailTemplate"
1033
- [noRecordsTemplate]="noRecordsTemplate"
1034
- [lockedColumnsCount]="lockedLeafColumns.length"
1035
- [totalColumnsCount]="leafColumns.length"
1036
- [totalColumns]="columns"
1037
- [skip]="skip"
1038
- [selectable]="selectable"
1039
- [trackBy]="trackBy"
1040
- [filterable]="filterable"
1041
- [rowClass]="rowClass"
1042
- [rowSticky]="rowSticky"
1043
- [virtualColumns]="virtualColumns"
1044
- [isLoading]="loading"
1045
- [isVirtual]="isVirtual"
1046
- [cellLoadingTemplate]="cellLoadingTemplate"
1047
- [rowHeight]="rowHeight"
1048
- [detailRowHeight]="detailRowHeight">
1049
- </tbody>
1050
- </table>
1051
- <kendo-resize-sensor *ngIf="isLocked"></kendo-resize-sensor>
1052
- </div>
1053
- <kendo-resize-sensor *ngIf="isLocked || virtualColumns"></kendo-resize-sensor>
1054
- <div *ngIf="isVirtual" class="k-height-container" role="presentation">
1055
- <div></div>
1056
- </div>
1057
- <div *ngIf="virtualColumns && !isStacked" class="k-width-container" role="presentation">
1058
- <div [style.width.px]="totalWidth"></div>
1059
- </div>
1019
+ #container
1020
+ class="k-grid-content k-virtual-content"
1021
+ [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
1022
+ [lockedWidth]="lockedWidth + 1"
1023
+ >
1024
+ <div role="presentation">
1025
+ <table
1026
+ [style.width.px]="nonLockedWidth"
1027
+ #table
1028
+ kendoGridResizableTable
1029
+ [virtualColumns]="virtualColumns"
1030
+ class="k-grid-table"
1031
+ kendoGridTable
1032
+ [size]="size"
1033
+ role="presentation">
1034
+ <colgroup kendoGridColGroup
1035
+ [groups]="isLocked ? [] : groups"
1036
+ [columns]="$any(nonLockedColumnsToRender)"
1037
+ [detailTemplate]="detailTemplate"
1038
+ [sort]="sort">
1039
+ </colgroup>
1040
+ <tbody kendoGridTableBody
1041
+ role="rowgroup"
1042
+ [skipGroupDecoration]="isLocked"
1043
+ [rowsToRender]="itemsToRender"
1044
+ [groups]="groups"
1045
+ [columns]="$any(nonLockedColumnsToRender)"
1046
+ [allColumns]="$any(nonLockedLeafColumns)"
1047
+ [detailTemplate]="detailTemplate"
1048
+ [noRecordsTemplate]="noRecordsTemplate"
1049
+ [lockedColumnsCount]="lockedLeafColumns.length"
1050
+ [totalColumnsCount]="leafColumns.length"
1051
+ [totalColumns]="columns"
1052
+ [skip]="skip"
1053
+ [selectable]="selectable"
1054
+ [trackBy]="trackBy"
1055
+ [filterable]="filterable"
1056
+ [rowClass]="rowClass"
1057
+ [rowSticky]="rowSticky"
1058
+ [virtualColumns]="virtualColumns"
1059
+ [isLoading]="loading"
1060
+ [isVirtual]="isVirtual"
1061
+ [cellLoadingTemplate]="cellLoadingTemplate"
1062
+ [rowHeight]="rowHeight"
1063
+ [detailRowHeight]="detailRowHeight">
1064
+ </tbody>
1065
+ </table>
1066
+ @if (isLocked) {
1067
+ <kendo-resize-sensor></kendo-resize-sensor>
1068
+ }
1069
+ </div>
1070
+ @if (isLocked || virtualColumns) {
1071
+ <kendo-resize-sensor></kendo-resize-sensor>
1072
+ }
1073
+ @if (isVirtual) {
1074
+ <div class="k-height-container" role="presentation">
1075
+ <div></div>
1076
+ </div>
1077
+ }
1078
+ @if (virtualColumns && !isStacked) {
1079
+ <div class="k-width-container" role="presentation">
1080
+ <div [style.width.px]="totalWidth"></div>
1081
+ </div>
1082
+ }
1060
1083
  </div>
1061
1084
  `,
1062
1085
  standalone: true,
1063
- imports: [NgIf, EventsOutsideAngularDirective, TableDirective, GridTableDirective, ColGroupComponent, TableBodyComponent, ResizeSensorComponent, ResizableContainerDirective]
1086
+ imports: [EventsOutsideAngularDirective, TableDirective, GridTableDirective, ColGroupComponent, TableBodyComponent, ResizeSensorComponent, ResizableContainerDirective]
1064
1087
  }]
1065
1088
  }], ctorParameters: () => [{ type: undefined, decorators: [{
1066
1089
  type: Inject,