@progress/kendo-angular-grid 17.3.0-develop.2 → 18.0.0-develop.10

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 (39) hide show
  1. package/column-resizing/column-handle.directive.d.ts +4 -1
  2. package/column-resizing/column-resize.interface.d.ts +16 -0
  3. package/column-resizing/column-resizing.service.d.ts +4 -0
  4. package/column-resizing/table.directive.d.ts +3 -2
  5. package/columns/reorder-column.component.d.ts +20 -1
  6. package/directives.d.ts +5 -3
  7. package/dragdrop/draggable-column.directive.d.ts +0 -1
  8. package/esm2022/column-menu/column-menu.component.mjs +1 -1
  9. package/esm2022/column-resizing/column-handle.directive.mjs +60 -9
  10. package/esm2022/column-resizing/column-resizing.service.mjs +5 -0
  11. package/esm2022/column-resizing/table.directive.mjs +23 -11
  12. package/esm2022/columns/reorder-column.component.mjs +32 -2
  13. package/esm2022/common/filter-descriptor-differ.mjs +1 -1
  14. package/esm2022/directives.mjs +4 -0
  15. package/esm2022/dragdrop/draggable-column.directive.mjs +2 -8
  16. package/esm2022/grid.component.mjs +30 -3
  17. package/esm2022/grid.module.mjs +104 -102
  18. package/esm2022/index.mjs +2 -0
  19. package/esm2022/navigation/navigation.service.mjs +29 -4
  20. package/esm2022/package-metadata.mjs +2 -2
  21. package/esm2022/rendering/cell.component.mjs +17 -2
  22. package/esm2022/rendering/header/header.component.mjs +6 -8
  23. package/esm2022/rendering/list.component.mjs +4 -4
  24. package/esm2022/rendering/table-body.component.mjs +2 -2
  25. package/esm2022/row-reordering/drag-handle-template.directive.mjs +45 -0
  26. package/esm2022/row-reordering/drag-hint-template.directive.mjs +44 -0
  27. package/esm2022/row-reordering/row-reorder.service.mjs +3 -0
  28. package/fesm2022/progress-kendo-angular-grid.mjs +2408 -2173
  29. package/grid.component.d.ts +10 -2
  30. package/grid.module.d.ts +104 -102
  31. package/index.d.ts +3 -0
  32. package/navigation/navigation.service.d.ts +6 -2
  33. package/package.json +18 -18
  34. package/rendering/cell.component.d.ts +2 -0
  35. package/rendering/header/header.component.d.ts +2 -2
  36. package/row-reordering/drag-handle-template.directive.d.ts +34 -0
  37. package/row-reordering/drag-hint-template.directive.d.ts +33 -0
  38. package/row-reordering/row-reorder.service.d.ts +1 -0
  39. package/schematics/ngAdd/index.js +4 -4
@@ -200,6 +200,28 @@ export class GridComponent {
200
200
  get hintText() {
201
201
  return this.rowReorderService.getDefaultHintText(this.columnList, this.flatData);
202
202
  }
203
+ /**
204
+ * @hidden
205
+ */
206
+ get customHintTemplate() {
207
+ if (this.rowReorderable) {
208
+ const allColumns = this.columnList.toArray();
209
+ const rowReorderColumn = allColumns.find(column => column.isRowReorderColumn);
210
+ return rowReorderColumn.rowDragHintTemplateRef;
211
+ }
212
+ }
213
+ /**
214
+ * @hidden
215
+ */
216
+ get hintContext() {
217
+ if (this.customHintTemplate) {
218
+ const draggedRow = this.rowReorderService?.getDraggedRow(this.flatData);
219
+ return {
220
+ $implicit: draggedRow?.dataItem,
221
+ rowIndex: draggedRow?.rowIndex
222
+ };
223
+ }
224
+ }
203
225
  /**
204
226
  * Defines the page size used by the Grid pager.
205
227
  * Required by the [paging]({% slug paging_grid %}) functionality.
@@ -1696,6 +1718,7 @@ export class GridComponent {
1696
1718
  expandedColumns[i].orderIndex = nextSourceIndex++;
1697
1719
  }
1698
1720
  this.updateIndicesForLevel(source.level + 1);
1721
+ this.columnResizingService.areColumnsReordered = true;
1699
1722
  }
1700
1723
  updateIndicesForLevel(level) {
1701
1724
  const colsForParentLevel = this.allColumnsForLevel(level - 1);
@@ -2511,7 +2534,8 @@ export class GridComponent {
2511
2534
  [dragTargetFilter]="getDefaultSelectors('dragTarget')"
2512
2535
  [dropTargetFilter]="getDefaultSelectors('dropTarget')"
2513
2536
  [dragHandle]="getDefaultSelectors('handle')"
2514
- [hint]="{hintTemplate: defaultHint}"
2537
+ [hint]="{hintTemplate: customHintTemplate || defaultHint}"
2538
+ [hintContext]="hintContext"
2515
2539
  (onPress)="handleReorderEvents($event, 'press')"
2516
2540
  (onDragStart)="handleReorderEvents($event, 'dragStart')"
2517
2541
  (onDrag)="handleReorderEvents($event, 'drag')"
@@ -2527,6 +2551,7 @@ export class GridComponent {
2527
2551
  <ng-container *ngIf="isScrollable">
2528
2552
  <div *ngIf="!hideHeader"
2529
2553
  class="k-grid-header"
2554
+ [class.k-grid-draggable-header]="groupable || reorderable"
2530
2555
  role="presentation"
2531
2556
  [style.padding]="headerPadding">
2532
2557
  <div *ngIf="isLocked"
@@ -2842,7 +2867,7 @@ export class GridComponent {
2842
2867
  </kendo-pager-info>
2843
2868
  </ng-template>
2844
2869
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
2845
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { 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: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", 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"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns"] }, { kind: "component", 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", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "component", type: i25.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i25.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i25.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["size"] }, { kind: "component", type: i25.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i25.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i25.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["pageSizes", "size"] }, { kind: "component", type: i25.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i25.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i25.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
2870
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { 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: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", 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"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns"] }, { kind: "component", 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", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "component", type: i25.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i25.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i25.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["size"] }, { kind: "component", type: i25.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i25.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i25.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["pageSizes", "size"] }, { kind: "component", type: i25.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i25.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i25.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
2846
2871
  }
2847
2872
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, decorators: [{
2848
2873
  type: Component,
@@ -3217,7 +3242,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3217
3242
  [dragTargetFilter]="getDefaultSelectors('dragTarget')"
3218
3243
  [dropTargetFilter]="getDefaultSelectors('dropTarget')"
3219
3244
  [dragHandle]="getDefaultSelectors('handle')"
3220
- [hint]="{hintTemplate: defaultHint}"
3245
+ [hint]="{hintTemplate: customHintTemplate || defaultHint}"
3246
+ [hintContext]="hintContext"
3221
3247
  (onPress)="handleReorderEvents($event, 'press')"
3222
3248
  (onDragStart)="handleReorderEvents($event, 'dragStart')"
3223
3249
  (onDrag)="handleReorderEvents($event, 'drag')"
@@ -3233,6 +3259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3233
3259
  <ng-container *ngIf="isScrollable">
3234
3260
  <div *ngIf="!hideHeader"
3235
3261
  class="k-grid-header"
3262
+ [class.k-grid-draggable-header]="groupable || reorderable"
3236
3263
  role="presentation"
3237
3264
  [style.padding]="headerPadding">
3238
3265
  <div *ngIf="isLocked"
@@ -37,106 +37,108 @@ import * as i21 from "./columns/checkbox-column.component";
37
37
  import * as i22 from "./selection/selection-checkbox.directive";
38
38
  import * as i23 from "./rendering/cell-template.directive";
39
39
  import * as i24 from "./editing/edit-template.directive";
40
- import * as i25 from "./rendering/table-body.component";
41
- import * as i26 from "./rendering/no-records-template.directive";
42
- import * as i27 from "./rendering/cell.component";
43
- import * as i28 from "./editing/edit-command.directive";
44
- import * as i29 from "./editing/cancel-command.directive";
45
- import * as i30 from "./editing/save-command.directive";
46
- import * as i31 from "./editing/remove-command.directive";
47
- import * as i32 from "./editing/add-command.directive";
48
- import * as i33 from "./editing/add-command-tool.directive";
49
- import * as i34 from "./rendering/cell-loading.template.directive";
50
- import * as i35 from "./rendering/loading-template.directive";
51
- import * as i36 from "./columns/reorder-column.component";
52
- import * as i37 from "./rendering/header/header.component";
53
- import * as i38 from "./rendering/header/header-template.directive";
54
- import * as i39 from "./column-resizing/column-handle.directive";
55
- import * as i40 from "./selection/selectall-checkbox.directive";
56
- import * as i41 from "./rendering/footer/footer.component";
57
- import * as i42 from "@progress/kendo-angular-pager";
58
- import * as i43 from "@progress/kendo-angular-toolbar";
59
- import * as i44 from "./filtering/filter-row.component";
60
- import * as i45 from "./filtering/cell/filter-cell.component";
61
- import * as i46 from "./filtering/cell/filter-cell-template.directive";
62
- import * as i47 from "./filtering/cell/string-filter-cell.component";
63
- import * as i48 from "./filtering/cell/numeric-filter-cell.component";
64
- import * as i49 from "./filtering/cell/autocomplete-filter-cell.component";
65
- import * as i50 from "./filtering/cell/boolean-filter-cell.component";
66
- import * as i51 from "./filtering/cell/filter-cell-host.directive";
67
- import * as i52 from "./filtering/cell/filter-cell-wrapper.component";
68
- import * as i53 from "./filtering/cell/date-filter-cell.component";
69
- import * as i54 from "./filtering/cell/filter-cell-operators.component";
70
- import * as i55 from "./filtering/operators/contains-filter-operator.component";
71
- import * as i56 from "./filtering/operators/not-contains-filter-operator.component";
72
- import * as i57 from "./filtering/operators/ends-with-filter-operator.component";
73
- import * as i58 from "./filtering/operators/eq-filter-operator.component";
74
- import * as i59 from "./filtering/operators/is-empty-filter-operator.component";
75
- import * as i60 from "./filtering/operators/is-not-empty-filter-operator.component";
76
- import * as i61 from "./filtering/operators/is-not-null-filter-operator.component";
77
- import * as i62 from "./filtering/operators/isnull-filter-operator.component";
78
- import * as i63 from "./filtering/operators/neq-filter-operator.component";
79
- import * as i64 from "./filtering/operators/starts-with-filter-operator.component";
80
- import * as i65 from "./filtering/operators/gt-filter-operator.component";
81
- import * as i66 from "./filtering/operators/gte-filter-operator.component";
82
- import * as i67 from "./filtering/operators/lt-filter-operator.component";
83
- import * as i68 from "./filtering/operators/lte-filter-operator.component";
84
- import * as i69 from "./filtering/operators/after-filter-operator.component";
85
- import * as i70 from "./filtering/operators/after-eq-filter-operator.component";
86
- import * as i71 from "./filtering/operators/before-eq-filter-operator.component";
87
- import * as i72 from "./filtering/operators/before-filter-operator.component";
88
- import * as i73 from "./filtering/filter-input.directive";
89
- import * as i74 from "./filtering/menu/filter-menu.component";
90
- import * as i75 from "./filtering/menu/filter-menu-container.component";
91
- import * as i76 from "./filtering/menu/filter-menu-input-wrapper.component";
92
- import * as i77 from "./filtering/menu/string-filter-menu-input.component";
93
- import * as i78 from "./filtering/menu/string-filter-menu.component";
94
- import * as i79 from "./filtering/menu/filter-menu-template.directive";
95
- import * as i80 from "./filtering/menu/numeric-filter-menu.component";
96
- import * as i81 from "./filtering/menu/numeric-filter-menu-input.component";
97
- import * as i82 from "./filtering/menu/date-filter-menu-input.component";
98
- import * as i83 from "./filtering/menu/date-filter-menu.component";
99
- import * as i84 from "./filtering/menu/filter-menu-host.directive";
100
- import * as i85 from "./filtering/menu/boolean-filter-menu.component";
101
- import * as i86 from "./filtering/menu/filter-menu-dropdownlist.directive";
102
- import * as i87 from "./filtering/menu/filter-radio-button.directive";
103
- import * as i88 from "./column-menu/column-chooser-item-checked.directive";
104
- import * as i89 from "./column-menu/column-list.component";
105
- import * as i90 from "./column-menu/column-chooser.component";
106
- import * as i91 from "./column-menu/column-menu-chooser.component";
107
- import * as i92 from "./column-menu/column-menu-filter.component";
108
- import * as i93 from "./column-menu/column-menu-item.component";
109
- import * as i94 from "./column-menu/column-menu-item-content-template.directive";
110
- import * as i95 from "./column-menu/column-menu-sort.component";
111
- import * as i96 from "./column-menu/column-menu.component";
112
- import * as i97 from "./column-menu/column-menu-lock.component";
113
- import * as i98 from "./column-menu/column-menu-template.directive";
114
- import * as i99 from "./column-menu/column-menu-container.component";
115
- import * as i100 from "./column-menu/column-menu-item.directive";
116
- import * as i101 from "./column-menu/column-menu-stick.component";
117
- import * as i102 from "./column-menu/column-menu-position.component";
118
- import * as i103 from "./column-menu/column-menu-autosize.component";
119
- import * as i104 from "./column-menu/column-menu-autosize-all.component";
120
- import * as i105 from "./grid.component";
121
- import * as i106 from "./rendering/list.component";
122
- import * as i107 from "./rendering/toolbar/toolbar.component";
123
- import * as i108 from "./localization/localized-messages.directive";
124
- import * as i109 from "./localization/custom-messages.component";
125
- import * as i110 from "./databinding.directive";
126
- import * as i111 from "./rendering/toolbar/toolbar-template.directive";
127
- import * as i112 from "./selection/selection.directive";
128
- import * as i113 from "./editing-directives/template-editing.directive";
129
- import * as i114 from "./editing-directives/reactive-editing.directive";
130
- import * as i115 from "./editing-directives/in-cell-editing.directive";
131
- import * as i116 from "./rendering/details-expand.directive";
132
- import * as i117 from "./rendering/groups-expand.directive";
133
- import * as i118 from "./grouping/group-scroll-binding.directive";
134
- import * as i119 from "./selection/marquee.directive";
135
- import * as i120 from "./rendering/common/spacer.component";
136
- import * as i121 from "./rendering/toolbar/toolbar-focusable.directive";
137
- import * as i122 from "./aggregates/status-bar.component";
138
- import * as i123 from "./aggregates/status-bar-template.directive";
139
- import * as i124 from "./common/clipboard.directive";
40
+ import * as i25 from "./row-reordering/drag-handle-template.directive";
41
+ import * as i26 from "./row-reordering/drag-hint-template.directive";
42
+ import * as i27 from "./rendering/table-body.component";
43
+ import * as i28 from "./rendering/no-records-template.directive";
44
+ import * as i29 from "./rendering/cell.component";
45
+ import * as i30 from "./editing/edit-command.directive";
46
+ import * as i31 from "./editing/cancel-command.directive";
47
+ import * as i32 from "./editing/save-command.directive";
48
+ import * as i33 from "./editing/remove-command.directive";
49
+ import * as i34 from "./editing/add-command.directive";
50
+ import * as i35 from "./editing/add-command-tool.directive";
51
+ import * as i36 from "./rendering/cell-loading.template.directive";
52
+ import * as i37 from "./rendering/loading-template.directive";
53
+ import * as i38 from "./columns/reorder-column.component";
54
+ import * as i39 from "./rendering/header/header.component";
55
+ import * as i40 from "./rendering/header/header-template.directive";
56
+ import * as i41 from "./column-resizing/column-handle.directive";
57
+ import * as i42 from "./selection/selectall-checkbox.directive";
58
+ import * as i43 from "./rendering/footer/footer.component";
59
+ import * as i44 from "@progress/kendo-angular-pager";
60
+ import * as i45 from "@progress/kendo-angular-toolbar";
61
+ import * as i46 from "./filtering/filter-row.component";
62
+ import * as i47 from "./filtering/cell/filter-cell.component";
63
+ import * as i48 from "./filtering/cell/filter-cell-template.directive";
64
+ import * as i49 from "./filtering/cell/string-filter-cell.component";
65
+ import * as i50 from "./filtering/cell/numeric-filter-cell.component";
66
+ import * as i51 from "./filtering/cell/autocomplete-filter-cell.component";
67
+ import * as i52 from "./filtering/cell/boolean-filter-cell.component";
68
+ import * as i53 from "./filtering/cell/filter-cell-host.directive";
69
+ import * as i54 from "./filtering/cell/filter-cell-wrapper.component";
70
+ import * as i55 from "./filtering/cell/date-filter-cell.component";
71
+ import * as i56 from "./filtering/cell/filter-cell-operators.component";
72
+ import * as i57 from "./filtering/operators/contains-filter-operator.component";
73
+ import * as i58 from "./filtering/operators/not-contains-filter-operator.component";
74
+ import * as i59 from "./filtering/operators/ends-with-filter-operator.component";
75
+ import * as i60 from "./filtering/operators/eq-filter-operator.component";
76
+ import * as i61 from "./filtering/operators/is-empty-filter-operator.component";
77
+ import * as i62 from "./filtering/operators/is-not-empty-filter-operator.component";
78
+ import * as i63 from "./filtering/operators/is-not-null-filter-operator.component";
79
+ import * as i64 from "./filtering/operators/isnull-filter-operator.component";
80
+ import * as i65 from "./filtering/operators/neq-filter-operator.component";
81
+ import * as i66 from "./filtering/operators/starts-with-filter-operator.component";
82
+ import * as i67 from "./filtering/operators/gt-filter-operator.component";
83
+ import * as i68 from "./filtering/operators/gte-filter-operator.component";
84
+ import * as i69 from "./filtering/operators/lt-filter-operator.component";
85
+ import * as i70 from "./filtering/operators/lte-filter-operator.component";
86
+ import * as i71 from "./filtering/operators/after-filter-operator.component";
87
+ import * as i72 from "./filtering/operators/after-eq-filter-operator.component";
88
+ import * as i73 from "./filtering/operators/before-eq-filter-operator.component";
89
+ import * as i74 from "./filtering/operators/before-filter-operator.component";
90
+ import * as i75 from "./filtering/filter-input.directive";
91
+ import * as i76 from "./filtering/menu/filter-menu.component";
92
+ import * as i77 from "./filtering/menu/filter-menu-container.component";
93
+ import * as i78 from "./filtering/menu/filter-menu-input-wrapper.component";
94
+ import * as i79 from "./filtering/menu/string-filter-menu-input.component";
95
+ import * as i80 from "./filtering/menu/string-filter-menu.component";
96
+ import * as i81 from "./filtering/menu/filter-menu-template.directive";
97
+ import * as i82 from "./filtering/menu/numeric-filter-menu.component";
98
+ import * as i83 from "./filtering/menu/numeric-filter-menu-input.component";
99
+ import * as i84 from "./filtering/menu/date-filter-menu-input.component";
100
+ import * as i85 from "./filtering/menu/date-filter-menu.component";
101
+ import * as i86 from "./filtering/menu/filter-menu-host.directive";
102
+ import * as i87 from "./filtering/menu/boolean-filter-menu.component";
103
+ import * as i88 from "./filtering/menu/filter-menu-dropdownlist.directive";
104
+ import * as i89 from "./filtering/menu/filter-radio-button.directive";
105
+ import * as i90 from "./column-menu/column-chooser-item-checked.directive";
106
+ import * as i91 from "./column-menu/column-list.component";
107
+ import * as i92 from "./column-menu/column-chooser.component";
108
+ import * as i93 from "./column-menu/column-menu-chooser.component";
109
+ import * as i94 from "./column-menu/column-menu-filter.component";
110
+ import * as i95 from "./column-menu/column-menu-item.component";
111
+ import * as i96 from "./column-menu/column-menu-item-content-template.directive";
112
+ import * as i97 from "./column-menu/column-menu-sort.component";
113
+ import * as i98 from "./column-menu/column-menu.component";
114
+ import * as i99 from "./column-menu/column-menu-lock.component";
115
+ import * as i100 from "./column-menu/column-menu-template.directive";
116
+ import * as i101 from "./column-menu/column-menu-container.component";
117
+ import * as i102 from "./column-menu/column-menu-item.directive";
118
+ import * as i103 from "./column-menu/column-menu-stick.component";
119
+ import * as i104 from "./column-menu/column-menu-position.component";
120
+ import * as i105 from "./column-menu/column-menu-autosize.component";
121
+ import * as i106 from "./column-menu/column-menu-autosize-all.component";
122
+ import * as i107 from "./grid.component";
123
+ import * as i108 from "./rendering/list.component";
124
+ import * as i109 from "./rendering/toolbar/toolbar.component";
125
+ import * as i110 from "./localization/localized-messages.directive";
126
+ import * as i111 from "./localization/custom-messages.component";
127
+ import * as i112 from "./databinding.directive";
128
+ import * as i113 from "./rendering/toolbar/toolbar-template.directive";
129
+ import * as i114 from "./selection/selection.directive";
130
+ import * as i115 from "./editing-directives/template-editing.directive";
131
+ import * as i116 from "./editing-directives/reactive-editing.directive";
132
+ import * as i117 from "./editing-directives/in-cell-editing.directive";
133
+ import * as i118 from "./rendering/details-expand.directive";
134
+ import * as i119 from "./rendering/groups-expand.directive";
135
+ import * as i120 from "./grouping/group-scroll-binding.directive";
136
+ import * as i121 from "./selection/marquee.directive";
137
+ import * as i122 from "./rendering/common/spacer.component";
138
+ import * as i123 from "./rendering/toolbar/toolbar-focusable.directive";
139
+ import * as i124 from "./aggregates/status-bar.component";
140
+ import * as i125 from "./aggregates/status-bar-template.directive";
141
+ import * as i126 from "./common/clipboard.directive";
140
142
  // IMPORTANT: NgModule export kept for backwards compatibility
141
143
  /**
142
144
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
@@ -161,7 +163,7 @@ import * as i124 from "./common/clipboard.directive";
161
163
  */
162
164
  export class GridModule {
163
165
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
164
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridModule, imports: [i1.GroupHeaderTemplateDirective, i2.GroupHeaderColumnTemplateDirective, i3.GroupFooterTemplateDirective, i4.GroupHeaderComponent, i5.GroupPanelComponent, i6.ColumnComponent, i7.ColumnGroupComponent, i8.LogicalCellDirective, i9.LogicalRowDirective, i10.FocusableDirective, i11.FooterTemplateDirective, i12.ColGroupComponent, i13.ResizableContainerDirective, i14.TemplateContextDirective, i15.FieldAccessorPipe, i16.DetailTemplateDirective, i17.SpanColumnComponent, i18.LoadingComponent, i19.GridTableDirective, i20.CommandColumnComponent, i21.CheckboxColumnComponent, i22.SelectionCheckboxDirective, i23.CellTemplateDirective, i24.EditTemplateDirective, i25.TableBodyComponent, i26.NoRecordsTemplateDirective, i27.CellComponent, i28.EditCommandDirective, i29.CancelCommandDirective, i30.SaveCommandDirective, i31.RemoveCommandDirective, i32.AddCommandDirective, i33.AddCommandToolbarDirective, i34.CellLoadingTemplateDirective, i35.LoadingTemplateDirective, i36.RowReorderColumnComponent, i37.HeaderComponent, i38.HeaderTemplateDirective, i39.ColumnHandleDirective, i40.SelectAllCheckboxDirective, i41.FooterComponent, i42.CustomMessagesComponent, i42.PagerFocusableDirective, i42.PagerInfoComponent, i42.PagerInputComponent, i42.PagerNextButtonsComponent, i42.PagerNumericButtonsComponent, i42.PagerPageSizesComponent, i42.PagerPrevButtonsComponent, i42.PagerTemplateDirective, i42.PagerComponent, i42.PagerSpacerComponent, i43.ToolBarComponent, i43.ToolbarCustomMessagesComponent, i43.ToolBarButtonComponent, i43.ToolBarButtonGroupComponent, i43.ToolBarDropDownButtonComponent, i43.ToolBarSeparatorComponent, i43.ToolBarSpacerComponent, i43.ToolBarSplitButtonComponent, i43.ToolBarToolComponent, i44.FilterRowComponent, i45.FilterCellComponent, i46.FilterCellTemplateDirective, i47.StringFilterCellComponent, i48.NumericFilterCellComponent, i49.AutoCompleteFilterCellComponent, i50.BooleanFilterCellComponent, i51.FilterCellHostDirective, i52.FilterCellWrapperComponent, i53.DateFilterCellComponent, i6.ColumnComponent, i7.ColumnGroupComponent, i8.LogicalCellDirective, i9.LogicalRowDirective, i10.FocusableDirective, i11.FooterTemplateDirective, i12.ColGroupComponent, i13.ResizableContainerDirective, i14.TemplateContextDirective, i15.FieldAccessorPipe, i16.DetailTemplateDirective, i17.SpanColumnComponent, i18.LoadingComponent, i19.GridTableDirective, i54.FilterCellOperatorsComponent, i55.ContainsFilterOperatorComponent, i56.DoesNotContainFilterOperatorComponent, i57.EndsWithFilterOperatorComponent, i58.EqualFilterOperatorComponent, i59.IsEmptyFilterOperatorComponent, i60.IsNotEmptyFilterOperatorComponent, i61.IsNotNullFilterOperatorComponent, i62.IsNullFilterOperatorComponent, i63.NotEqualFilterOperatorComponent, i64.StartsWithFilterOperatorComponent, i65.GreaterFilterOperatorComponent, i66.GreaterOrEqualToFilterOperatorComponent, i67.LessFilterOperatorComponent, i68.LessOrEqualToFilterOperatorComponent, i69.AfterFilterOperatorComponent, i70.AfterEqFilterOperatorComponent, i71.BeforeEqFilterOperatorComponent, i72.BeforeFilterOperatorComponent, i73.FilterInputDirective, i6.ColumnComponent, i7.ColumnGroupComponent, i8.LogicalCellDirective, i9.LogicalRowDirective, i10.FocusableDirective, i11.FooterTemplateDirective, i12.ColGroupComponent, i13.ResizableContainerDirective, i14.TemplateContextDirective, i15.FieldAccessorPipe, i16.DetailTemplateDirective, i17.SpanColumnComponent, i18.LoadingComponent, i19.GridTableDirective, i54.FilterCellOperatorsComponent, i55.ContainsFilterOperatorComponent, i56.DoesNotContainFilterOperatorComponent, i57.EndsWithFilterOperatorComponent, i58.EqualFilterOperatorComponent, i59.IsEmptyFilterOperatorComponent, i60.IsNotEmptyFilterOperatorComponent, i61.IsNotNullFilterOperatorComponent, i62.IsNullFilterOperatorComponent, i63.NotEqualFilterOperatorComponent, i64.StartsWithFilterOperatorComponent, i65.GreaterFilterOperatorComponent, i66.GreaterOrEqualToFilterOperatorComponent, i67.LessFilterOperatorComponent, i68.LessOrEqualToFilterOperatorComponent, i69.AfterFilterOperatorComponent, i70.AfterEqFilterOperatorComponent, i71.BeforeEqFilterOperatorComponent, i72.BeforeFilterOperatorComponent, i73.FilterInputDirective, i74.FilterMenuComponent, i75.FilterMenuContainerComponent, i76.FilterMenuInputWrapperComponent, i77.StringFilterMenuInputComponent, i78.StringFilterMenuComponent, i79.FilterMenuTemplateDirective, i80.NumericFilterMenuComponent, i81.NumericFilterMenuInputComponent, i82.DateFilterMenuInputComponent, i83.DateFilterMenuComponent, i84.FilterMenuHostDirective, i85.BooleanFilterMenuComponent, i86.FilterMenuDropDownListDirective, i87.BooleanFilterRadioButtonDirective, i88.ColumnMenuChooserItemCheckedDirective, i89.ColumnListComponent, i90.ColumnChooserComponent, i91.ColumnMenuChooserComponent, i92.ColumnMenuFilterComponent, i93.ColumnMenuItemComponent, i94.ColumnMenuItemContentTemplateDirective, i95.ColumnMenuSortComponent, i96.ColumnMenuComponent, i97.ColumnMenuLockComponent, i98.ColumnMenuTemplateDirective, i99.ColumnMenuContainerComponent, i100.ColumnMenuItemDirective, i101.ColumnMenuStickComponent, i102.ColumnMenuPositionComponent, i103.ColumnMenuAutoSizeColumnComponent, i104.ColumnMenuAutoSizeAllColumnsComponent, i105.GridComponent, i106.ListComponent, i107.ToolbarComponent, i108.LocalizedMessagesDirective, i109.CustomMessagesComponent, i110.DataBindingDirective, i111.ToolbarTemplateDirective, i112.SelectionDirective, i113.TemplateEditingDirective, i114.ReactiveEditingDirective, i115.InCellEditingDirective, i116.ExpandDetailsDirective, i117.ExpandGroupDirective, i118.GroupBindingDirective, i119.GridMarqueeDirective, i120.GridSpacerComponent, i121.GridToolbarFocusableDirective, i122.StatusBarComponent, i123.StatusBarTemplateDirective, i124.GridClipboardDirective, i43.ToolBarComponent, i43.ToolbarCustomMessagesComponent, i43.ToolBarButtonComponent, i43.ToolBarButtonGroupComponent, i43.ToolBarDropDownButtonComponent, i43.ToolBarSeparatorComponent, i43.ToolBarSpacerComponent, i43.ToolBarSplitButtonComponent, i43.ToolBarToolComponent, TableDirective], exports: [i105.GridComponent, i111.ToolbarTemplateDirective, i107.ToolbarComponent, i120.GridSpacerComponent, i123.StatusBarTemplateDirective, i110.DataBindingDirective, i112.SelectionDirective, i109.CustomMessagesComponent, i118.GroupBindingDirective, i113.TemplateEditingDirective, i114.ReactiveEditingDirective, i115.InCellEditingDirective, i116.ExpandDetailsDirective, i117.ExpandGroupDirective, i121.GridToolbarFocusableDirective, i1.GroupHeaderTemplateDirective, i2.GroupHeaderColumnTemplateDirective, i3.GroupFooterTemplateDirective, i4.GroupHeaderComponent, i5.GroupPanelComponent, i6.ColumnComponent, i7.ColumnGroupComponent, i8.LogicalCellDirective, i9.LogicalRowDirective, i10.FocusableDirective, i11.FooterTemplateDirective, i12.ColGroupComponent, i13.ResizableContainerDirective, i14.TemplateContextDirective, i15.FieldAccessorPipe, i16.DetailTemplateDirective, i17.SpanColumnComponent, i18.LoadingComponent, i19.GridTableDirective, i20.CommandColumnComponent, i21.CheckboxColumnComponent, i22.SelectionCheckboxDirective, i23.CellTemplateDirective, i24.EditTemplateDirective, i25.TableBodyComponent, i26.NoRecordsTemplateDirective, i27.CellComponent, i28.EditCommandDirective, i29.CancelCommandDirective, i30.SaveCommandDirective, i31.RemoveCommandDirective, i32.AddCommandDirective, i33.AddCommandToolbarDirective, i34.CellLoadingTemplateDirective, i35.LoadingTemplateDirective, i36.RowReorderColumnComponent, i37.HeaderComponent, i38.HeaderTemplateDirective, i39.ColumnHandleDirective, i40.SelectAllCheckboxDirective, i44.FilterRowComponent, i45.FilterCellComponent, i46.FilterCellTemplateDirective, i47.StringFilterCellComponent, i48.NumericFilterCellComponent, i49.AutoCompleteFilterCellComponent, i50.BooleanFilterCellComponent, i51.FilterCellHostDirective, i52.FilterCellWrapperComponent, i53.DateFilterCellComponent, i54.FilterCellOperatorsComponent, i55.ContainsFilterOperatorComponent, i56.DoesNotContainFilterOperatorComponent, i57.EndsWithFilterOperatorComponent, i58.EqualFilterOperatorComponent, i59.IsEmptyFilterOperatorComponent, i60.IsNotEmptyFilterOperatorComponent, i61.IsNotNullFilterOperatorComponent, i62.IsNullFilterOperatorComponent, i63.NotEqualFilterOperatorComponent, i64.StartsWithFilterOperatorComponent, i65.GreaterFilterOperatorComponent, i66.GreaterOrEqualToFilterOperatorComponent, i67.LessFilterOperatorComponent, i68.LessOrEqualToFilterOperatorComponent, i69.AfterFilterOperatorComponent, i70.AfterEqFilterOperatorComponent, i71.BeforeEqFilterOperatorComponent, i72.BeforeFilterOperatorComponent, i74.FilterMenuComponent, i75.FilterMenuContainerComponent, i76.FilterMenuInputWrapperComponent, i77.StringFilterMenuInputComponent, i78.StringFilterMenuComponent, i79.FilterMenuTemplateDirective, i80.NumericFilterMenuComponent, i81.NumericFilterMenuInputComponent, i82.DateFilterMenuInputComponent, i83.DateFilterMenuComponent, i84.FilterMenuHostDirective, i85.BooleanFilterMenuComponent, i86.FilterMenuDropDownListDirective, i87.BooleanFilterRadioButtonDirective, i90.ColumnChooserComponent, i92.ColumnMenuFilterComponent, i93.ColumnMenuItemComponent, i94.ColumnMenuItemContentTemplateDirective, i95.ColumnMenuSortComponent, i97.ColumnMenuLockComponent, i101.ColumnMenuStickComponent, i102.ColumnMenuPositionComponent, i91.ColumnMenuChooserComponent, i98.ColumnMenuTemplateDirective, i99.ColumnMenuContainerComponent, i100.ColumnMenuItemDirective, i96.ColumnMenuComponent, i103.ColumnMenuAutoSizeColumnComponent, i104.ColumnMenuAutoSizeAllColumnsComponent, i124.GridClipboardDirective, i43.ToolBarComponent, i43.ToolbarCustomMessagesComponent, i43.ToolBarButtonComponent, i43.ToolBarButtonGroupComponent, i43.ToolBarDropDownButtonComponent, i43.ToolBarSeparatorComponent, i43.ToolBarSpacerComponent, i43.ToolBarSplitButtonComponent, i43.ToolBarToolComponent, i42.CustomMessagesComponent, i42.PagerFocusableDirective, i42.PagerInfoComponent, i42.PagerInputComponent, i42.PagerNextButtonsComponent, i42.PagerNumericButtonsComponent, i42.PagerPageSizesComponent, i42.PagerPrevButtonsComponent, i42.PagerTemplateDirective, i42.PagerComponent, i42.PagerSpacerComponent] });
166
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridModule, imports: [i1.GroupHeaderTemplateDirective, i2.GroupHeaderColumnTemplateDirective, i3.GroupFooterTemplateDirective, i4.GroupHeaderComponent, i5.GroupPanelComponent, i6.ColumnComponent, i7.ColumnGroupComponent, i8.LogicalCellDirective, i9.LogicalRowDirective, i10.FocusableDirective, i11.FooterTemplateDirective, i12.ColGroupComponent, i13.ResizableContainerDirective, i14.TemplateContextDirective, i15.FieldAccessorPipe, i16.DetailTemplateDirective, i17.SpanColumnComponent, i18.LoadingComponent, i19.GridTableDirective, i20.CommandColumnComponent, i21.CheckboxColumnComponent, i22.SelectionCheckboxDirective, i23.CellTemplateDirective, i24.EditTemplateDirective, i25.RowDragHandleTemplateDirective, i26.RowDragHintTemplateDirective, i27.TableBodyComponent, i28.NoRecordsTemplateDirective, i29.CellComponent, i30.EditCommandDirective, i31.CancelCommandDirective, i32.SaveCommandDirective, i33.RemoveCommandDirective, i34.AddCommandDirective, i35.AddCommandToolbarDirective, i36.CellLoadingTemplateDirective, i37.LoadingTemplateDirective, i38.RowReorderColumnComponent, i39.HeaderComponent, i40.HeaderTemplateDirective, i41.ColumnHandleDirective, i42.SelectAllCheckboxDirective, i43.FooterComponent, i44.CustomMessagesComponent, i44.PagerFocusableDirective, i44.PagerInfoComponent, i44.PagerInputComponent, i44.PagerNextButtonsComponent, i44.PagerNumericButtonsComponent, i44.PagerPageSizesComponent, i44.PagerPrevButtonsComponent, i44.PagerTemplateDirective, i44.PagerComponent, i44.PagerSpacerComponent, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent, i45.ToolBarToolComponent, i46.FilterRowComponent, i47.FilterCellComponent, i48.FilterCellTemplateDirective, i49.StringFilterCellComponent, i50.NumericFilterCellComponent, i51.AutoCompleteFilterCellComponent, i52.BooleanFilterCellComponent, i53.FilterCellHostDirective, i54.FilterCellWrapperComponent, i55.DateFilterCellComponent, i6.ColumnComponent, i7.ColumnGroupComponent, i8.LogicalCellDirective, i9.LogicalRowDirective, i10.FocusableDirective, i11.FooterTemplateDirective, i12.ColGroupComponent, i13.ResizableContainerDirective, i14.TemplateContextDirective, i15.FieldAccessorPipe, i16.DetailTemplateDirective, i17.SpanColumnComponent, i18.LoadingComponent, i19.GridTableDirective, i56.FilterCellOperatorsComponent, i57.ContainsFilterOperatorComponent, i58.DoesNotContainFilterOperatorComponent, i59.EndsWithFilterOperatorComponent, i60.EqualFilterOperatorComponent, i61.IsEmptyFilterOperatorComponent, i62.IsNotEmptyFilterOperatorComponent, i63.IsNotNullFilterOperatorComponent, i64.IsNullFilterOperatorComponent, i65.NotEqualFilterOperatorComponent, i66.StartsWithFilterOperatorComponent, i67.GreaterFilterOperatorComponent, i68.GreaterOrEqualToFilterOperatorComponent, i69.LessFilterOperatorComponent, i70.LessOrEqualToFilterOperatorComponent, i71.AfterFilterOperatorComponent, i72.AfterEqFilterOperatorComponent, i73.BeforeEqFilterOperatorComponent, i74.BeforeFilterOperatorComponent, i75.FilterInputDirective, i6.ColumnComponent, i7.ColumnGroupComponent, i8.LogicalCellDirective, i9.LogicalRowDirective, i10.FocusableDirective, i11.FooterTemplateDirective, i12.ColGroupComponent, i13.ResizableContainerDirective, i14.TemplateContextDirective, i15.FieldAccessorPipe, i16.DetailTemplateDirective, i17.SpanColumnComponent, i18.LoadingComponent, i19.GridTableDirective, i56.FilterCellOperatorsComponent, i57.ContainsFilterOperatorComponent, i58.DoesNotContainFilterOperatorComponent, i59.EndsWithFilterOperatorComponent, i60.EqualFilterOperatorComponent, i61.IsEmptyFilterOperatorComponent, i62.IsNotEmptyFilterOperatorComponent, i63.IsNotNullFilterOperatorComponent, i64.IsNullFilterOperatorComponent, i65.NotEqualFilterOperatorComponent, i66.StartsWithFilterOperatorComponent, i67.GreaterFilterOperatorComponent, i68.GreaterOrEqualToFilterOperatorComponent, i69.LessFilterOperatorComponent, i70.LessOrEqualToFilterOperatorComponent, i71.AfterFilterOperatorComponent, i72.AfterEqFilterOperatorComponent, i73.BeforeEqFilterOperatorComponent, i74.BeforeFilterOperatorComponent, i75.FilterInputDirective, i76.FilterMenuComponent, i77.FilterMenuContainerComponent, i78.FilterMenuInputWrapperComponent, i79.StringFilterMenuInputComponent, i80.StringFilterMenuComponent, i81.FilterMenuTemplateDirective, i82.NumericFilterMenuComponent, i83.NumericFilterMenuInputComponent, i84.DateFilterMenuInputComponent, i85.DateFilterMenuComponent, i86.FilterMenuHostDirective, i87.BooleanFilterMenuComponent, i88.FilterMenuDropDownListDirective, i89.BooleanFilterRadioButtonDirective, i90.ColumnMenuChooserItemCheckedDirective, i91.ColumnListComponent, i92.ColumnChooserComponent, i93.ColumnMenuChooserComponent, i94.ColumnMenuFilterComponent, i95.ColumnMenuItemComponent, i96.ColumnMenuItemContentTemplateDirective, i97.ColumnMenuSortComponent, i98.ColumnMenuComponent, i99.ColumnMenuLockComponent, i100.ColumnMenuTemplateDirective, i101.ColumnMenuContainerComponent, i102.ColumnMenuItemDirective, i103.ColumnMenuStickComponent, i104.ColumnMenuPositionComponent, i105.ColumnMenuAutoSizeColumnComponent, i106.ColumnMenuAutoSizeAllColumnsComponent, i107.GridComponent, i108.ListComponent, i109.ToolbarComponent, i110.LocalizedMessagesDirective, i111.CustomMessagesComponent, i112.DataBindingDirective, i113.ToolbarTemplateDirective, i114.SelectionDirective, i115.TemplateEditingDirective, i116.ReactiveEditingDirective, i117.InCellEditingDirective, i118.ExpandDetailsDirective, i119.ExpandGroupDirective, i120.GroupBindingDirective, i121.GridMarqueeDirective, i122.GridSpacerComponent, i123.GridToolbarFocusableDirective, i124.StatusBarComponent, i125.StatusBarTemplateDirective, i126.GridClipboardDirective, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent, i45.ToolBarToolComponent, TableDirective], exports: [i107.GridComponent, i113.ToolbarTemplateDirective, i109.ToolbarComponent, i122.GridSpacerComponent, i125.StatusBarTemplateDirective, i112.DataBindingDirective, i114.SelectionDirective, i111.CustomMessagesComponent, i120.GroupBindingDirective, i115.TemplateEditingDirective, i116.ReactiveEditingDirective, i117.InCellEditingDirective, i118.ExpandDetailsDirective, i119.ExpandGroupDirective, i123.GridToolbarFocusableDirective, i1.GroupHeaderTemplateDirective, i2.GroupHeaderColumnTemplateDirective, i3.GroupFooterTemplateDirective, i4.GroupHeaderComponent, i5.GroupPanelComponent, i6.ColumnComponent, i7.ColumnGroupComponent, i8.LogicalCellDirective, i9.LogicalRowDirective, i10.FocusableDirective, i11.FooterTemplateDirective, i12.ColGroupComponent, i13.ResizableContainerDirective, i14.TemplateContextDirective, i15.FieldAccessorPipe, i16.DetailTemplateDirective, i17.SpanColumnComponent, i18.LoadingComponent, i19.GridTableDirective, i20.CommandColumnComponent, i21.CheckboxColumnComponent, i22.SelectionCheckboxDirective, i23.CellTemplateDirective, i24.EditTemplateDirective, i25.RowDragHandleTemplateDirective, i26.RowDragHintTemplateDirective, i27.TableBodyComponent, i28.NoRecordsTemplateDirective, i29.CellComponent, i30.EditCommandDirective, i31.CancelCommandDirective, i32.SaveCommandDirective, i33.RemoveCommandDirective, i34.AddCommandDirective, i35.AddCommandToolbarDirective, i36.CellLoadingTemplateDirective, i37.LoadingTemplateDirective, i38.RowReorderColumnComponent, i39.HeaderComponent, i40.HeaderTemplateDirective, i41.ColumnHandleDirective, i42.SelectAllCheckboxDirective, i46.FilterRowComponent, i47.FilterCellComponent, i48.FilterCellTemplateDirective, i49.StringFilterCellComponent, i50.NumericFilterCellComponent, i51.AutoCompleteFilterCellComponent, i52.BooleanFilterCellComponent, i53.FilterCellHostDirective, i54.FilterCellWrapperComponent, i55.DateFilterCellComponent, i56.FilterCellOperatorsComponent, i57.ContainsFilterOperatorComponent, i58.DoesNotContainFilterOperatorComponent, i59.EndsWithFilterOperatorComponent, i60.EqualFilterOperatorComponent, i61.IsEmptyFilterOperatorComponent, i62.IsNotEmptyFilterOperatorComponent, i63.IsNotNullFilterOperatorComponent, i64.IsNullFilterOperatorComponent, i65.NotEqualFilterOperatorComponent, i66.StartsWithFilterOperatorComponent, i67.GreaterFilterOperatorComponent, i68.GreaterOrEqualToFilterOperatorComponent, i69.LessFilterOperatorComponent, i70.LessOrEqualToFilterOperatorComponent, i71.AfterFilterOperatorComponent, i72.AfterEqFilterOperatorComponent, i73.BeforeEqFilterOperatorComponent, i74.BeforeFilterOperatorComponent, i76.FilterMenuComponent, i77.FilterMenuContainerComponent, i78.FilterMenuInputWrapperComponent, i79.StringFilterMenuInputComponent, i80.StringFilterMenuComponent, i81.FilterMenuTemplateDirective, i82.NumericFilterMenuComponent, i83.NumericFilterMenuInputComponent, i84.DateFilterMenuInputComponent, i85.DateFilterMenuComponent, i86.FilterMenuHostDirective, i87.BooleanFilterMenuComponent, i88.FilterMenuDropDownListDirective, i89.BooleanFilterRadioButtonDirective, i92.ColumnChooserComponent, i94.ColumnMenuFilterComponent, i95.ColumnMenuItemComponent, i96.ColumnMenuItemContentTemplateDirective, i97.ColumnMenuSortComponent, i99.ColumnMenuLockComponent, i103.ColumnMenuStickComponent, i104.ColumnMenuPositionComponent, i93.ColumnMenuChooserComponent, i100.ColumnMenuTemplateDirective, i101.ColumnMenuContainerComponent, i102.ColumnMenuItemDirective, i98.ColumnMenuComponent, i105.ColumnMenuAutoSizeColumnComponent, i106.ColumnMenuAutoSizeAllColumnsComponent, i126.GridClipboardDirective, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent, i45.ToolBarToolComponent, i44.CustomMessagesComponent, i44.PagerFocusableDirective, i44.PagerInfoComponent, i44.PagerInputComponent, i44.PagerNextButtonsComponent, i44.PagerNumericButtonsComponent, i44.PagerPageSizesComponent, i44.PagerPrevButtonsComponent, i44.PagerTemplateDirective, i44.PagerComponent, i44.PagerSpacerComponent] });
165
167
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, providers: [
166
168
  PopupService,
167
169
  ResizeBatchService,
@@ -176,7 +178,7 @@ export class GridModule {
176
178
  MonthViewService,
177
179
  YearViewService,
178
180
  NavigationService
179
- ], imports: [i4.GroupHeaderComponent, i5.GroupPanelComponent, i25.TableBodyComponent, i27.CellComponent, i28.EditCommandDirective, i29.CancelCommandDirective, i30.SaveCommandDirective, i31.RemoveCommandDirective, i32.AddCommandDirective, i37.HeaderComponent, i42.CustomMessagesComponent, i42.PagerInfoComponent, i42.PagerInputComponent, i42.PagerNextButtonsComponent, i42.PagerNumericButtonsComponent, i42.PagerPageSizesComponent, i42.PagerPrevButtonsComponent, i42.PagerComponent, i42.PagerSpacerComponent, i43.ToolBarComponent, i43.ToolbarCustomMessagesComponent, i43.ToolBarButtonComponent, i43.ToolBarButtonGroupComponent, i43.ToolBarDropDownButtonComponent, i43.ToolBarSeparatorComponent, i43.ToolBarSpacerComponent, i43.ToolBarSplitButtonComponent, i47.StringFilterCellComponent, i48.NumericFilterCellComponent, i49.AutoCompleteFilterCellComponent, i50.BooleanFilterCellComponent, i52.FilterCellWrapperComponent, i53.DateFilterCellComponent, i54.FilterCellOperatorsComponent, i54.FilterCellOperatorsComponent, i74.FilterMenuComponent, i75.FilterMenuContainerComponent, i76.FilterMenuInputWrapperComponent, i77.StringFilterMenuInputComponent, i78.StringFilterMenuComponent, i80.NumericFilterMenuComponent, i81.NumericFilterMenuInputComponent, i82.DateFilterMenuInputComponent, i83.DateFilterMenuComponent, i85.BooleanFilterMenuComponent, i89.ColumnListComponent, i90.ColumnChooserComponent, i91.ColumnMenuChooserComponent, i92.ColumnMenuFilterComponent, i93.ColumnMenuItemComponent, i95.ColumnMenuSortComponent, i96.ColumnMenuComponent, i97.ColumnMenuLockComponent, i101.ColumnMenuStickComponent, i102.ColumnMenuPositionComponent, i103.ColumnMenuAutoSizeColumnComponent, i104.ColumnMenuAutoSizeAllColumnsComponent, i105.GridComponent, i106.ListComponent, i43.ToolBarComponent, i43.ToolbarCustomMessagesComponent, i43.ToolBarButtonComponent, i43.ToolBarButtonGroupComponent, i43.ToolBarDropDownButtonComponent, i43.ToolBarSeparatorComponent, i43.ToolBarSpacerComponent, i43.ToolBarSplitButtonComponent] });
181
+ ], imports: [i4.GroupHeaderComponent, i5.GroupPanelComponent, i27.TableBodyComponent, i29.CellComponent, i30.EditCommandDirective, i31.CancelCommandDirective, i32.SaveCommandDirective, i33.RemoveCommandDirective, i34.AddCommandDirective, i39.HeaderComponent, i44.CustomMessagesComponent, i44.PagerInfoComponent, i44.PagerInputComponent, i44.PagerNextButtonsComponent, i44.PagerNumericButtonsComponent, i44.PagerPageSizesComponent, i44.PagerPrevButtonsComponent, i44.PagerComponent, i44.PagerSpacerComponent, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent, i49.StringFilterCellComponent, i50.NumericFilterCellComponent, i51.AutoCompleteFilterCellComponent, i52.BooleanFilterCellComponent, i54.FilterCellWrapperComponent, i55.DateFilterCellComponent, i56.FilterCellOperatorsComponent, i56.FilterCellOperatorsComponent, i76.FilterMenuComponent, i77.FilterMenuContainerComponent, i78.FilterMenuInputWrapperComponent, i79.StringFilterMenuInputComponent, i80.StringFilterMenuComponent, i82.NumericFilterMenuComponent, i83.NumericFilterMenuInputComponent, i84.DateFilterMenuInputComponent, i85.DateFilterMenuComponent, i87.BooleanFilterMenuComponent, i91.ColumnListComponent, i92.ColumnChooserComponent, i93.ColumnMenuChooserComponent, i94.ColumnMenuFilterComponent, i95.ColumnMenuItemComponent, i97.ColumnMenuSortComponent, i98.ColumnMenuComponent, i99.ColumnMenuLockComponent, i103.ColumnMenuStickComponent, i104.ColumnMenuPositionComponent, i105.ColumnMenuAutoSizeColumnComponent, i106.ColumnMenuAutoSizeAllColumnsComponent, i107.GridComponent, i108.ListComponent, i45.ToolBarComponent, i45.ToolbarCustomMessagesComponent, i45.ToolBarButtonComponent, i45.ToolBarButtonGroupComponent, i45.ToolBarDropDownButtonComponent, i45.ToolBarSeparatorComponent, i45.ToolBarSpacerComponent, i45.ToolBarSplitButtonComponent] });
180
182
  }
181
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, decorators: [{
182
184
  type: NgModule,
package/esm2022/index.mjs CHANGED
@@ -13,6 +13,8 @@ export { SpanColumnComponent } from './columns/span-column.component';
13
13
  export { ColumnGroupComponent } from './columns/column-group.component';
14
14
  export { CheckboxColumnComponent } from './columns/checkbox-column.component';
15
15
  export { RowReorderColumnComponent } from './columns/reorder-column.component';
16
+ export { RowDragHandleTemplateDirective } from './row-reordering/drag-handle-template.directive';
17
+ export { RowDragHintTemplateDirective } from './row-reordering/drag-hint-template.directive';
16
18
  export { ToolbarComponent } from './rendering/toolbar/toolbar.component';
17
19
  export { ToolbarTemplateDirective } from './rendering/toolbar/toolbar-template.directive';
18
20
  export { GridToolbarFocusableDirective } from './rendering/toolbar/toolbar-focusable.directive';
@@ -19,6 +19,7 @@ import { closest, contains, findFocusableChild, isVisible, matchesNodeName } fro
19
19
  import { DetailsService } from '../rendering/details/details.service';
20
20
  import { ScrollRequestService } from '../scrolling/scroll-request.service';
21
21
  import { ContextService } from '../common/provider.service';
22
+ import { ColumnResizingService } from '../column-resizing/column-resizing.service';
22
23
  import * as i0 from "@angular/core";
23
24
  import * as i1 from "../common/dom-events.service";
24
25
  import * as i2 from "@progress/kendo-angular-pager";
@@ -28,7 +29,8 @@ import * as i5 from "../rendering/details/details.service";
28
29
  import * as i6 from "./focus-root";
29
30
  import * as i7 from "../editing/edit.service";
30
31
  import * as i8 from "../common/provider.service";
31
- import * as i9 from "./focusable.directive";
32
+ import * as i9 from "../column-resizing/column-resizing.service";
33
+ import * as i10 from "./focusable.directive";
32
34
  const isInSameGrid = (element, gridElement) => closest(element, matchesNodeName('kendo-grid')) === gridElement;
33
35
  const matchHeaderCell = matchesNodeName('th');
34
36
  const matchDataCell = matchesNodeName('td');
@@ -62,6 +64,7 @@ const isNavigationKey = keyCode => isArrowKey(keyCode) ||
62
64
  const isInput = matchesNodeName('input');
63
65
  const isTextInput = element => element && isInput(element) && element.type.toLowerCase() === 'text';
64
66
  const isPrintableCharacter = (str) => str.length === 1 && str.match(/\S/);
67
+ const resizeStep = 10;
65
68
  /**
66
69
  * @hidden
67
70
  */
@@ -96,6 +99,7 @@ export class NavigationService {
96
99
  editService;
97
100
  cd;
98
101
  ctx;
102
+ resizeService;
99
103
  focusableParent;
100
104
  changes;
101
105
  cellKeydown = new EventEmitter();
@@ -130,6 +134,9 @@ export class NavigationService {
130
134
  });
131
135
  }
132
136
  }
137
+ get isColumnResizable() {
138
+ return this.activeCell.colIndex !== this.ctx.grid.columnsContainer.leafColumnsToRender.length - 1;
139
+ }
133
140
  viewport;
134
141
  columnViewport;
135
142
  activeRowIndex = 0;
@@ -148,7 +155,7 @@ export class NavigationService {
148
155
  get activeDataRow() {
149
156
  return Math.max(0, this.activeRowIndex - this.meta.headerRows);
150
157
  }
151
- constructor(zone, domEvents, pagerContextService, scrollRequestService, groupsService, detailsService, focusRoot, editService, cd, ctx, focusableParent) {
158
+ constructor(zone, domEvents, pagerContextService, scrollRequestService, groupsService, detailsService, focusRoot, editService, cd, ctx, resizeService, focusableParent) {
152
159
  this.zone = zone;
153
160
  this.domEvents = domEvents;
154
161
  this.pagerContextService = pagerContextService;
@@ -159,6 +166,7 @@ export class NavigationService {
159
166
  this.editService = editService;
160
167
  this.cd = cd;
161
168
  this.ctx = ctx;
169
+ this.resizeService = resizeService;
162
170
  this.focusableParent = focusableParent;
163
171
  this.changes = this.cursor.changes;
164
172
  }
@@ -455,6 +463,10 @@ export class NavigationService {
455
463
  }
456
464
  break;
457
465
  case Keys.ArrowRight:
466
+ if (args.altKey && this.ctx.grid.resizable && this.isColumnResizable) {
467
+ this.columnResize(true);
468
+ break;
469
+ }
458
470
  if (args.shiftKey) {
459
471
  if (this.ctx.grid.blockArrowSelection) {
460
472
  return;
@@ -467,6 +479,10 @@ export class NavigationService {
467
479
  }
468
480
  break;
469
481
  case Keys.ArrowLeft:
482
+ if (args.altKey && this.ctx.grid.resizable && this.isColumnResizable) {
483
+ this.columnResize(false);
484
+ break;
485
+ }
470
486
  if (args.shiftKey) {
471
487
  if (this.ctx.grid.blockArrowSelection) {
472
488
  return;
@@ -575,6 +591,15 @@ export class NavigationService {
575
591
  args.preventDefault();
576
592
  }
577
593
  }
594
+ columnResize(onRightArrow) {
595
+ const column = this.ctx.grid.columnsContainer.leafColumnsToRender[this.activeCell.colIndex];
596
+ column.resizeStartWidth = Array.from(this.ctx.grid.wrapper.nativeElement.querySelectorAll('.k-grid-header th.k-header'))[this.activeCell.colIndex]['offsetWidth'];
597
+ this.resizeService.start(column);
598
+ this.resizeService.resizeColumns(onRightArrow ? resizeStep : -1 * resizeStep);
599
+ if (this.resizeService.resizeColumns.length > 0) {
600
+ this.resizeService.end();
601
+ }
602
+ }
578
603
  onContentKeydown(args) {
579
604
  if (!this.onCellKeydown(args)) {
580
605
  return;
@@ -719,11 +744,11 @@ export class NavigationService {
719
744
  const ev = rowSelectionService.selectRange(startRowIndex, endRowIndex);
720
745
  rowSelectionService.changes.emit(ev);
721
746
  }
722
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: i1.DomEventsService }, { token: i2.PagerContextService }, { token: i3.ScrollRequestService }, { token: i4.GroupsService }, { token: i5.DetailsService }, { token: i6.FocusRoot }, { token: i7.EditService }, { token: i0.ChangeDetectorRef }, { token: i8.ContextService }, { token: i9.FocusableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
747
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: i1.DomEventsService }, { token: i2.PagerContextService }, { token: i3.ScrollRequestService }, { token: i4.GroupsService }, { token: i5.DetailsService }, { token: i6.FocusRoot }, { token: i7.EditService }, { token: i0.ChangeDetectorRef }, { token: i8.ContextService }, { token: i9.ColumnResizingService }, { token: i10.FocusableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
723
748
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService });
724
749
  }
725
750
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, decorators: [{
726
751
  type: Injectable
727
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.DomEventsService }, { type: i2.PagerContextService }, { type: i3.ScrollRequestService }, { type: i4.GroupsService }, { type: i5.DetailsService }, { type: i6.FocusRoot }, { type: i7.EditService }, { type: i0.ChangeDetectorRef }, { type: i8.ContextService }, { type: i9.FocusableDirective, decorators: [{
752
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.DomEventsService }, { type: i2.PagerContextService }, { type: i3.ScrollRequestService }, { type: i4.GroupsService }, { type: i5.DetailsService }, { type: i6.FocusRoot }, { type: i7.EditService }, { type: i0.ChangeDetectorRef }, { type: i8.ContextService }, { type: i9.ColumnResizingService }, { type: i10.FocusableDirective, decorators: [{
728
753
  type: Optional
729
754
  }] }]; } });
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-grid',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1736180764,
13
- version: '17.3.0-develop.2',
12
+ publishDate: 1736777933,
13
+ version: '18.0.0-develop.10',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -83,6 +83,12 @@ export class CellComponent {
83
83
  this._editTemplateContext.rowIndex = this.rowIndex;
84
84
  return this._editTemplateContext;
85
85
  }
86
+ get rowReorderTemplateContext() {
87
+ this._rowReorderTemplateContext.$implicit = this.dataItem;
88
+ this._rowReorderTemplateContext.columnIndex = this.columnIndex;
89
+ this._rowReorderTemplateContext.rowIndex = this.rowIndex;
90
+ return this._rowReorderTemplateContext;
91
+ }
86
92
  get format() {
87
93
  if (isColumnComponent(this.column) && !isNullOrEmptyString(this.column.format)) {
88
94
  return extractFormat(this.column.format);
@@ -122,6 +128,7 @@ export class CellComponent {
122
128
  }
123
129
  _templateContext = {};
124
130
  _editTemplateContext = {};
131
+ _rowReorderTemplateContext = {};
125
132
  constructor(editService, idService, ctx, cellContext) {
126
133
  this.editService = editService;
127
134
  this.idService = idService;
@@ -199,10 +206,14 @@ export class CellComponent {
199
206
  </ng-template>
200
207
  </ng-container>
201
208
  <ng-container *ngIf="isRowReorderColumn && !isNew">
202
- <kendo-icon-wrapper
209
+ <kendo-icon-wrapper *ngIf="!column.dragHandleTemplate?.first"
203
210
  name="reorder"
204
211
  [svgIcon]="reorderIcon">
205
212
  </kendo-icon-wrapper>
213
+ <ng-template *ngIf="column.dragHandleTemplate?.first"
214
+ [ngTemplateOutlet]="column.rowDragHandleTemplateRef"
215
+ [ngTemplateOutletContext]="rowReorderTemplateContext">
216
+ </ng-template>
206
217
  </ng-container>
207
218
  </ng-container>
208
219
  <ng-template #loading>
@@ -287,10 +298,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
287
298
  </ng-template>
288
299
  </ng-container>
289
300
  <ng-container *ngIf="isRowReorderColumn && !isNew">
290
- <kendo-icon-wrapper
301
+ <kendo-icon-wrapper *ngIf="!column.dragHandleTemplate?.first"
291
302
  name="reorder"
292
303
  [svgIcon]="reorderIcon">
293
304
  </kendo-icon-wrapper>
305
+ <ng-template *ngIf="column.dragHandleTemplate?.first"
306
+ [ngTemplateOutlet]="column.rowDragHandleTemplateRef"
307
+ [ngTemplateOutletContext]="rowReorderTemplateContext">
308
+ </ng-template>
294
309
  </ng-container>
295
310
  </ng-container>
296
311
  <ng-template #loading>