@progress/kendo-angular-treelist 13.0.0-develop.3 → 13.0.0-develop.4

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 (41) hide show
  1. package/binding-directives/base-binding.directive.d.ts +5 -1
  2. package/binding-directives/data-bound-tree-component.d.ts +9 -0
  3. package/binding-directives/flat-binding.directive.d.ts +14 -3
  4. package/binding-directives/hierarchy-binding.directive.d.ts +12 -3
  5. package/columns/column-base.d.ts +4 -0
  6. package/columns/rowreorder-column.component.d.ts +19 -0
  7. package/esm2020/binding-directives/base-binding.directive.mjs +9 -3
  8. package/esm2020/binding-directives/flat-binding.directive.mjs +56 -6
  9. package/esm2020/binding-directives/hierarchy-binding.directive.mjs +46 -6
  10. package/esm2020/columns/column-base.mjs +4 -0
  11. package/esm2020/columns/rowreorder-column.component.mjs +47 -0
  12. package/esm2020/index.mjs +2 -0
  13. package/esm2020/localization/messages.mjs +3 -1
  14. package/esm2020/package-metadata.mjs +2 -2
  15. package/esm2020/rendering/cell.component.mjs +47 -16
  16. package/esm2020/rendering/constants.mjs +4 -0
  17. package/esm2020/rendering/table-body.component.mjs +5 -3
  18. package/esm2020/row-reordering/flat-reorder.service.mjs +48 -0
  19. package/esm2020/row-reordering/hierarchical-reorder.service.mjs +55 -0
  20. package/esm2020/row-reordering/row-reorder.service.mjs +220 -0
  21. package/esm2020/row-reordering/types.mjs +5 -0
  22. package/esm2020/row-reordering/utils.mjs +129 -0
  23. package/esm2020/shared.module.mjs +8 -3
  24. package/esm2020/treelist.component.mjs +161 -23
  25. package/esm2020/treelist.module.mjs +71 -66
  26. package/fesm2015/progress-kendo-angular-treelist.mjs +808 -62
  27. package/fesm2020/progress-kendo-angular-treelist.mjs +799 -62
  28. package/index.d.ts +2 -0
  29. package/localization/messages.d.ts +5 -1
  30. package/package.json +16 -15
  31. package/rendering/cell.component.d.ts +6 -1
  32. package/rendering/constants.d.ts +4 -0
  33. package/row-reordering/flat-reorder.service.d.ts +16 -0
  34. package/row-reordering/hierarchical-reorder.service.d.ts +16 -0
  35. package/row-reordering/row-reorder.service.d.ts +61 -0
  36. package/row-reordering/types.d.ts +39 -0
  37. package/row-reordering/utils.d.ts +85 -0
  38. package/schematics/ngAdd/index.js +3 -3
  39. package/shared.module.d.ts +5 -4
  40. package/treelist.component.d.ts +42 -2
  41. package/treelist.module.d.ts +68 -66
@@ -19,6 +19,7 @@ import { FieldAccessorPipe } from "./rendering/common/field-accessor.pipe";
19
19
  import { TableDirective } from "./column-resizing/table.directive";
20
20
  import { FocusableDirective } from "./navigation/focusable.directive";
21
21
  import { IconsModule } from '@progress/kendo-angular-icons';
22
+ import { RowReorderColumnComponent } from './columns/rowreorder-column.component';
22
23
  import * as i0 from "@angular/core";
23
24
  const exportedModules = [
24
25
  ColumnComponent,
@@ -33,7 +34,8 @@ const exportedModules = [
33
34
  SpanColumnComponent,
34
35
  TableDirective,
35
36
  LoadingComponent,
36
- CheckboxColumnComponent
37
+ CheckboxColumnComponent,
38
+ RowReorderColumnComponent
37
39
  ];
38
40
  /**
39
41
  * @hidden
@@ -44,6 +46,7 @@ export class SharedModule {
44
46
  ColumnComponent,
45
47
  SpanColumnComponent,
46
48
  CheckboxColumnComponent,
49
+ RowReorderColumnComponent,
47
50
  ColumnGroupComponent,
48
51
  FocusableDirective
49
52
  ];
@@ -62,7 +65,8 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
62
65
  SpanColumnComponent,
63
66
  TableDirective,
64
67
  LoadingComponent,
65
- CheckboxColumnComponent], imports: [CommonModule, IconsModule], exports: [ColumnComponent,
68
+ CheckboxColumnComponent,
69
+ RowReorderColumnComponent], imports: [CommonModule, IconsModule], exports: [ColumnComponent,
66
70
  ColumnGroupComponent,
67
71
  LogicalCellDirective,
68
72
  LogicalRowDirective,
@@ -74,7 +78,8 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
74
78
  SpanColumnComponent,
75
79
  TableDirective,
76
80
  LoadingComponent,
77
- CheckboxColumnComponent, DraggableModule, IconsModule] });
81
+ CheckboxColumnComponent,
82
+ RowReorderColumnComponent, DraggableModule, IconsModule] });
78
83
  SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedModule, imports: [[CommonModule, IconsModule], DraggableModule, IconsModule] });
79
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedModule, decorators: [{
80
85
  type: NgModule,
@@ -66,6 +66,8 @@ import { DataBoundTreeComponent } from './binding-directives/data-bound-tree-com
66
66
  import { ExpandableTreeComponent } from './expand-state/expandable-tree-component';
67
67
  import { ContextService } from './common/provider.service';
68
68
  import { guid } from '@progress/kendo-angular-common';
69
+ import { RowReorderService } from './row-reordering/row-reorder.service';
70
+ import { DragTargetContainerDirective, DropTargetContainerDirective } from '@progress/kendo-angular-utils';
69
71
  import * as i0 from "@angular/core";
70
72
  import * as i1 from "./layout/browser-support.service";
71
73
  import * as i2 from "./data/change-notification.service";
@@ -87,19 +89,22 @@ import * as i17 from "./common/option-changes.service";
87
89
  import * as i18 from "./selection/selection.service";
88
90
  import * as i19 from "@progress/kendo-angular-l10n";
89
91
  import * as i20 from "./common/provider.service";
90
- import * as i21 from "./rendering/toolbar/toolbar.component";
91
- import * as i22 from "./rendering/common/col-group.component";
92
- import * as i23 from "./rendering/header/header.component";
93
- import * as i24 from "./rendering/list.component";
94
- import * as i25 from "./rendering/table-body.component";
95
- import * as i26 from "./rendering/common/loading.component";
96
- import * as i27 from "./pager/pager.component";
97
- import * as i28 from "./localization/localized-messages.directive";
98
- import * as i29 from "@angular/common";
99
- import * as i30 from "./column-resizing/table.directive";
100
- import * as i31 from "./layout/resizable.directive";
101
- import * as i32 from "@progress/kendo-angular-common";
102
- import * as i33 from "./selection/marquee.directive";
92
+ import * as i21 from "./row-reordering/row-reorder.service";
93
+ import * as i22 from "./rendering/toolbar/toolbar.component";
94
+ import * as i23 from "./rendering/common/col-group.component";
95
+ import * as i24 from "./rendering/header/header.component";
96
+ import * as i25 from "./rendering/list.component";
97
+ import * as i26 from "./rendering/table-body.component";
98
+ import * as i27 from "./rendering/common/loading.component";
99
+ import * as i28 from "./pager/pager.component";
100
+ import * as i29 from "@progress/kendo-angular-icons";
101
+ import * as i30 from "./localization/localized-messages.directive";
102
+ import * as i31 from "@angular/common";
103
+ import * as i32 from "@progress/kendo-angular-utils";
104
+ import * as i33 from "./column-resizing/table.directive";
105
+ import * as i34 from "./layout/resizable.directive";
106
+ import * as i35 from "@progress/kendo-angular-common";
107
+ import * as i36 from "./selection/marquee.directive";
103
108
  const createControl = (source) => (acc, key) => {
104
109
  acc[key] = new FormControl(source[key]);
105
110
  return acc;
@@ -125,7 +130,7 @@ const isInEditedCell = (element, treelistElement) => closest(element, matchesCla
125
130
  * {% endmeta %}
126
131
  */
127
132
  export class TreeListComponent {
128
- constructor(supportService, wrapper, changeNotification, editService, filterService, pdfService, responsiveService, renderer, excelService, ngZone, scrollSyncService, domEvents, columnResizingService, changeDetectorRef, columnReorderService, columnInfoService, navigationService, sortService, scrollRequestService, expandStateService, optionChanges, selectionService, localization, ctx) {
133
+ constructor(supportService, wrapper, changeNotification, editService, filterService, pdfService, responsiveService, renderer, excelService, ngZone, scrollSyncService, domEvents, columnResizingService, changeDetectorRef, columnReorderService, columnInfoService, navigationService, sortService, scrollRequestService, expandStateService, optionChanges, selectionService, localization, ctx, rowReorderService) {
129
134
  this.supportService = supportService;
130
135
  this.wrapper = wrapper;
131
136
  this.changeNotification = changeNotification;
@@ -150,6 +155,7 @@ export class TreeListComponent {
150
155
  this.selectionService = selectionService;
151
156
  this.localization = localization;
152
157
  this.ctx = ctx;
158
+ this.rowReorderService = rowReorderService;
153
159
  /**
154
160
  * Defines the page size used by the TreeList when [paging]({% slug paging_treelist %}) is enabled.
155
161
  *
@@ -385,6 +391,11 @@ export class TreeListComponent {
385
391
  * Used by the expand directive and the Gantt component.
386
392
  */
387
393
  this.expandStateChange = new EventEmitter();
394
+ /**
395
+ * Fires when the user drops the dragged row and reordering is performed.
396
+ * Emits the [RowReorderEvent]({% slug api_treelist_rowreorderevent %}).
397
+ */
398
+ this.rowReorder = new EventEmitter();
388
399
  /**
389
400
  * @hidden
390
401
  */
@@ -414,6 +425,11 @@ export class TreeListComponent {
414
425
  this._sort = new Array();
415
426
  this._skip = 0;
416
427
  this.cachedWindowWidth = 0;
428
+ this._rowReorderable = false;
429
+ /**
430
+ * @hidden
431
+ */
432
+ this.treeListData = () => { return this.view; };
417
433
  this._rowClass = () => null;
418
434
  validatePackage(packageMetadata);
419
435
  this.subscriptions.add(localization.changes.subscribe(({ rtl }) => {
@@ -476,6 +492,11 @@ export class TreeListComponent {
476
492
  this.view.clear();
477
493
  this.expandStateChange.emit(args);
478
494
  }
495
+ if (this.rowReorderable) {
496
+ this.ngZone.onStable.pipe(take(2)).subscribe(() => {
497
+ this.notifyReorderContainers();
498
+ });
499
+ }
479
500
  }));
480
501
  this.subscriptions.add(this.view.childrenLoaded.subscribe(() => {
481
502
  this.changeDetectorRef.detectChanges();
@@ -674,6 +695,26 @@ export class TreeListComponent {
674
695
  }
675
696
  this.selectionService.isSelected = value;
676
697
  }
698
+ /**
699
+ * Enables the [row reordering]({% slug treelist_row_reordering %}) of the TreeList.
700
+ * @default false
701
+ */
702
+ set rowReorderable(value) {
703
+ this._rowReorderable = value;
704
+ if (value) {
705
+ this.rowReorderSubscription = this.rowReorderService.rowReorder.subscribe(args => {
706
+ hasObservers(this.rowReorder) && this.ngZone.run(() => {
707
+ this.rowReorder.emit(args);
708
+ });
709
+ });
710
+ }
711
+ else {
712
+ this.rowReorderSubscription?.unsubscribe();
713
+ }
714
+ }
715
+ get rowReorderable() {
716
+ return this._rowReorderable;
717
+ }
677
718
  /**
678
719
  * @hidden
679
720
  */
@@ -935,6 +976,30 @@ export class TreeListComponent {
935
976
  this.ngZone = null;
936
977
  clearTimeout(this.pageChangeTimeout);
937
978
  }
979
+ /**
980
+ * @hidden
981
+ */
982
+ handleReorderEvents(ev, evType) {
983
+ this.rowReorderService[evType](ev);
984
+ }
985
+ /**
986
+ * @hidden
987
+ */
988
+ getDefaultSelectors(type) {
989
+ return this.rowReorderService.defaultSelectors[type];
990
+ }
991
+ /**
992
+ * @hidden
993
+ */
994
+ getHintSettings(setting) {
995
+ return this.rowReorderService[setting];
996
+ }
997
+ /**
998
+ * @hidden
999
+ */
1000
+ get hintText() {
1001
+ return this.rowReorderService.getDefaultHintText(this.columnList, this.view);
1002
+ }
938
1003
  /**
939
1004
  * @hidden
940
1005
  */
@@ -1626,6 +1691,7 @@ export class TreeListComponent {
1626
1691
  this.closeCell();
1627
1692
  this.cancelCell();
1628
1693
  this.dataStateChange.emit(x);
1694
+ this.rowReorderable && this.notifyReorderContainers();
1629
1695
  }));
1630
1696
  }
1631
1697
  attachEditHandlers() {
@@ -1890,9 +1956,13 @@ export class TreeListComponent {
1890
1956
  this.columns.reset(columns.toArray());
1891
1957
  this.columns.notifyOnChanges();
1892
1958
  }
1959
+ notifyReorderContainers() {
1960
+ this.dragTargetContainer?.notify();
1961
+ this.dropTargetContainer?.notify();
1962
+ }
1893
1963
  }
1894
- TreeListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListComponent, deps: [{ token: i1.BrowserSupportService }, { token: i0.ElementRef }, { token: i2.ChangeNotificationService }, { token: i3.EditService }, { token: i4.FilterService }, { token: i5.PDFService }, { token: i6.ResponsiveService }, { token: i0.Renderer2 }, { token: i7.ExcelService }, { token: i0.NgZone }, { token: i8.ScrollSyncService }, { token: i9.DomEventsService }, { token: i10.ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: i11.ColumnReorderService }, { token: i12.ColumnInfoService }, { token: i13.NavigationService }, { token: i14.SortService }, { token: i15.ScrollRequestService }, { token: i16.ExpandStateService }, { token: i17.OptionChangesService }, { token: i18.SelectionService }, { token: i19.LocalizationService }, { token: i20.ContextService }], target: i0.ɵɵFactoryTarget.Component });
1895
- TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TreeListComponent, selector: "kendo-treelist", inputs: { ariaLabel: ["aria-label", "ariaLabel"], data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", skip: "skip", scrollable: "scrollable", sort: "sort", trackBy: "trackBy", filter: "filter", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", idField: "idField", selectable: "selectable", isSelected: "isSelected", columnsRef: ["columns", "columnsRef"], fetchChildren: "fetchChildren", hasChildren: "hasChildren", isExpanded: "isExpanded" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", pageChange: "pageChange", sortChange: "sortChange", dataStateChange: "dataStateChange", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll", expandEvent: "expand", collapseEvent: "collapse", expandStateChange: "expandStateChange" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-grid-md": "this.hostClasses", "class.k-treelist": "this.hostClasses", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
1964
+ TreeListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListComponent, deps: [{ token: i1.BrowserSupportService }, { token: i0.ElementRef }, { token: i2.ChangeNotificationService }, { token: i3.EditService }, { token: i4.FilterService }, { token: i5.PDFService }, { token: i6.ResponsiveService }, { token: i0.Renderer2 }, { token: i7.ExcelService }, { token: i0.NgZone }, { token: i8.ScrollSyncService }, { token: i9.DomEventsService }, { token: i10.ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: i11.ColumnReorderService }, { token: i12.ColumnInfoService }, { token: i13.NavigationService }, { token: i14.SortService }, { token: i15.ScrollRequestService }, { token: i16.ExpandStateService }, { token: i17.OptionChangesService }, { token: i18.SelectionService }, { token: i19.LocalizationService }, { token: i20.ContextService }, { token: i21.RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
1965
+ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TreeListComponent, selector: "kendo-treelist", inputs: { ariaLabel: ["aria-label", "ariaLabel"], data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", skip: "skip", scrollable: "scrollable", sort: "sort", trackBy: "trackBy", filter: "filter", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", idField: "idField", selectable: "selectable", isSelected: "isSelected", rowReorderable: "rowReorderable", columnsRef: ["columns", "columnsRef"], fetchChildren: "fetchChildren", hasChildren: "hasChildren", isExpanded: "isExpanded" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", pageChange: "pageChange", sortChange: "sortChange", dataStateChange: "dataStateChange", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll", expandEvent: "expand", collapseEvent: "collapse", expandStateChange: "expandStateChange", rowReorder: "rowReorder" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-grid-md": "this.hostClasses", "class.k-treelist": "this.hostClasses", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
1896
1966
  BrowserSupportService,
1897
1967
  LocalizationService,
1898
1968
  ColumnInfoService,
@@ -1933,8 +2003,9 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
1933
2003
  provide: ExpandableTreeComponent,
1934
2004
  useExisting: forwardRef(() => TreeListComponent)
1935
2005
  },
1936
- ContextService
1937
- ], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoTreeList"], usesOnChanges: true, ngImport: i0, template: `
2006
+ ContextService,
2007
+ RowReorderService
2008
+ ], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoTreeList"], usesOnChanges: true, ngImport: i0, template: `
1938
2009
  <ng-container kendoTreeListLocalizedMessages
1939
2010
 
1940
2011
  i18n-noRecords="kendo.treelist.noRecords|The label visible in the TreeList when there are no records"
@@ -2095,6 +2166,8 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
2095
2166
 
2096
2167
  i18n-bottomToolbarLabel="kendo.treelist.bottomToolbarLabel|The label of the TreeList bottom toolbar"
2097
2168
  bottomToolbarLabel="Bottom toolbar"
2169
+ i18n-dragRowHandleLabel="kendo.treelist.dragRowHandleLabel|The label for the TreeList drag row handle"
2170
+ dragRowHandleLabel="Drag row"
2098
2171
  >
2099
2172
  </ng-container>
2100
2173
  <kendo-treelist-toolbar
@@ -2112,7 +2185,24 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
2112
2185
  [attr.aria-rowcount]="ariaRowCount"
2113
2186
  [attr.aria-colcount]="ariaColCount"
2114
2187
  [attr.aria-multiselectable]="ariaMultiselectable"
2115
- [attr.aria-label]="ariaLabel">
2188
+ [attr.aria-label]="ariaLabel"
2189
+ kendoDragTargetContainer
2190
+ kendoDropTargetContainer
2191
+ mode="manual"
2192
+ [dragDisabled]="!rowReorderable"
2193
+ [dropDisabled]="!rowReorderable"
2194
+ [dragTargetFilter]="getDefaultSelectors('dragTarget')"
2195
+ [dropTargetFilter]="getDefaultSelectors('dropTarget')"
2196
+ [dragHandle]="getDefaultSelectors('handle')"
2197
+ [hint]="{hintTemplate: defaultHint}"
2198
+ (onPress)="handleReorderEvents($event, 'press')"
2199
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
2200
+ (onDrag)="handleReorderEvents($event, 'drag')"
2201
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
2202
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
2203
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
2204
+ (onDrop)="handleReorderEvents($event, 'drop')"
2205
+ [dragData]="treeListData">
2116
2206
  <ng-template [ngIf]="isScrollable">
2117
2207
  <div *ngIf="!hideHeader"
2118
2208
  class="k-grid-header"
@@ -2264,7 +2354,16 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
2264
2354
  [attr.aria-label]="messageFor('bottomToolbarLabel')"
2265
2355
  [attr.aria-controls]="ariaRootId">
2266
2356
  </kendo-treelist-toolbar>
2267
- `, isInline: true, components: [{ type: i21.ToolbarComponent, selector: "kendo-treelist-toolbar", inputs: ["position", "navigable"] }, { type: i22.ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { type: i23.HeaderComponent, selector: "[kendoTreeListHeader]", inputs: ["totalColumnLevels", "columns", "scrollable", "filterable", "sort", "filter", "sortable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount"] }, { type: i24.ListComponent, selector: "kendo-treelist-list", inputs: ["view", "total", "rowHeight", "take", "skip", "columns", "noRecordsTemplate", "filterable", "rowClass", "loading", "trackBy", "virtualColumns", "isVirtual", "expandIcons"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: i25.TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "rowClass"] }, { type: i26.LoadingComponent, selector: "[kendoTreeListLoading]" }, { type: i27.PagerComponent, selector: "kendo-treelist-pager", inputs: ["allCount", "total", "skip", "navigable", "pageSize", "options", "template"], outputs: ["pageChange"] }], directives: [{ type: i28.LocalizedMessagesDirective, selector: "[kendoTreeListLocalizedMessages]" }, { type: i29.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i30.TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: i31.ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { type: i32.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i33.MarqueeDirective, selector: "[kendoTreeListSelectionMarquee]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2357
+
2358
+ <ng-template #defaultHint>
2359
+ <kendo-icon-wrapper
2360
+ [name]="getHintSettings('hintIcon')"
2361
+ [svgIcon]="getHintSettings('hintSVGIcon')"
2362
+ innerCssClass="k-drag-status">
2363
+ </kendo-icon-wrapper>
2364
+ {{hintText}}
2365
+ </ng-template>
2366
+ `, isInline: true, components: [{ type: i22.ToolbarComponent, selector: "kendo-treelist-toolbar", inputs: ["position", "navigable"] }, { type: i23.ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { type: i24.HeaderComponent, selector: "[kendoTreeListHeader]", inputs: ["totalColumnLevels", "columns", "scrollable", "filterable", "sort", "filter", "sortable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount"] }, { type: i25.ListComponent, selector: "kendo-treelist-list", inputs: ["view", "total", "rowHeight", "take", "skip", "columns", "noRecordsTemplate", "filterable", "rowClass", "loading", "trackBy", "virtualColumns", "isVirtual", "expandIcons"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { type: i26.TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "rowClass"] }, { type: i27.LoadingComponent, selector: "[kendoTreeListLoading]" }, { type: i28.PagerComponent, selector: "kendo-treelist-pager", inputs: ["allCount", "total", "skip", "navigable", "pageSize", "options", "template"], outputs: ["pageChange"] }, { type: i29.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i30.LocalizedMessagesDirective, selector: "[kendoTreeListLocalizedMessages]" }, { type: i31.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i32.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { type: i32.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { type: i33.TableDirective, selector: "table", inputs: ["locked", "virtualColumns"] }, { type: i34.ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { type: i35.DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { type: i36.MarqueeDirective, selector: "[kendoTreeListSelectionMarquee]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2268
2367
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListComponent, decorators: [{
2269
2368
  type: Component,
2270
2369
  args: [{
@@ -2312,7 +2411,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2312
2411
  provide: ExpandableTreeComponent,
2313
2412
  useExisting: forwardRef(() => TreeListComponent)
2314
2413
  },
2315
- ContextService
2414
+ ContextService,
2415
+ RowReorderService
2316
2416
  ],
2317
2417
  selector: 'kendo-treelist',
2318
2418
  template: `
@@ -2476,6 +2576,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2476
2576
 
2477
2577
  i18n-bottomToolbarLabel="kendo.treelist.bottomToolbarLabel|The label of the TreeList bottom toolbar"
2478
2578
  bottomToolbarLabel="Bottom toolbar"
2579
+ i18n-dragRowHandleLabel="kendo.treelist.dragRowHandleLabel|The label for the TreeList drag row handle"
2580
+ dragRowHandleLabel="Drag row"
2479
2581
  >
2480
2582
  </ng-container>
2481
2583
  <kendo-treelist-toolbar
@@ -2493,7 +2595,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2493
2595
  [attr.aria-rowcount]="ariaRowCount"
2494
2596
  [attr.aria-colcount]="ariaColCount"
2495
2597
  [attr.aria-multiselectable]="ariaMultiselectable"
2496
- [attr.aria-label]="ariaLabel">
2598
+ [attr.aria-label]="ariaLabel"
2599
+ kendoDragTargetContainer
2600
+ kendoDropTargetContainer
2601
+ mode="manual"
2602
+ [dragDisabled]="!rowReorderable"
2603
+ [dropDisabled]="!rowReorderable"
2604
+ [dragTargetFilter]="getDefaultSelectors('dragTarget')"
2605
+ [dropTargetFilter]="getDefaultSelectors('dropTarget')"
2606
+ [dragHandle]="getDefaultSelectors('handle')"
2607
+ [hint]="{hintTemplate: defaultHint}"
2608
+ (onPress)="handleReorderEvents($event, 'press')"
2609
+ (onDragStart)="handleReorderEvents($event, 'dragStart')"
2610
+ (onDrag)="handleReorderEvents($event, 'drag')"
2611
+ (onDragEnter)="handleReorderEvents($event, 'dragEnter')"
2612
+ (onDragLeave)="handleReorderEvents($event, 'dragLeave')"
2613
+ (onDragEnd)="handleReorderEvents($event, 'dragEnd')"
2614
+ (onDrop)="handleReorderEvents($event, 'drop')"
2615
+ [dragData]="treeListData">
2497
2616
  <ng-template [ngIf]="isScrollable">
2498
2617
  <div *ngIf="!hideHeader"
2499
2618
  class="k-grid-header"
@@ -2645,9 +2764,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2645
2764
  [attr.aria-label]="messageFor('bottomToolbarLabel')"
2646
2765
  [attr.aria-controls]="ariaRootId">
2647
2766
  </kendo-treelist-toolbar>
2767
+
2768
+ <ng-template #defaultHint>
2769
+ <kendo-icon-wrapper
2770
+ [name]="getHintSettings('hintIcon')"
2771
+ [svgIcon]="getHintSettings('hintSVGIcon')"
2772
+ innerCssClass="k-drag-status">
2773
+ </kendo-icon-wrapper>
2774
+ {{hintText}}
2775
+ </ng-template>
2648
2776
  `
2649
2777
  }]
2650
- }], ctorParameters: function () { return [{ type: i1.BrowserSupportService }, { type: i0.ElementRef }, { type: i2.ChangeNotificationService }, { type: i3.EditService }, { type: i4.FilterService }, { type: i5.PDFService }, { type: i6.ResponsiveService }, { type: i0.Renderer2 }, { type: i7.ExcelService }, { type: i0.NgZone }, { type: i8.ScrollSyncService }, { type: i9.DomEventsService }, { type: i10.ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: i11.ColumnReorderService }, { type: i12.ColumnInfoService }, { type: i13.NavigationService }, { type: i14.SortService }, { type: i15.ScrollRequestService }, { type: i16.ExpandStateService }, { type: i17.OptionChangesService }, { type: i18.SelectionService }, { type: i19.LocalizationService }, { type: i20.ContextService }]; }, propDecorators: { ariaLabel: [{
2778
+ }], ctorParameters: function () { return [{ type: i1.BrowserSupportService }, { type: i0.ElementRef }, { type: i2.ChangeNotificationService }, { type: i3.EditService }, { type: i4.FilterService }, { type: i5.PDFService }, { type: i6.ResponsiveService }, { type: i0.Renderer2 }, { type: i7.ExcelService }, { type: i0.NgZone }, { type: i8.ScrollSyncService }, { type: i9.DomEventsService }, { type: i10.ColumnResizingService }, { type: i0.ChangeDetectorRef }, { type: i11.ColumnReorderService }, { type: i12.ColumnInfoService }, { type: i13.NavigationService }, { type: i14.SortService }, { type: i15.ScrollRequestService }, { type: i16.ExpandStateService }, { type: i17.OptionChangesService }, { type: i18.SelectionService }, { type: i19.LocalizationService }, { type: i20.ContextService }, { type: i21.RowReorderService }]; }, propDecorators: { ariaLabel: [{
2651
2779
  type: Input,
2652
2780
  args: ['aria-label']
2653
2781
  }], data: [{
@@ -2700,6 +2828,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2700
2828
  type: Input
2701
2829
  }], isSelected: [{
2702
2830
  type: Input
2831
+ }], rowReorderable: [{
2832
+ type: Input
2703
2833
  }], selectionChange: [{
2704
2834
  type: Output
2705
2835
  }], filterChange: [{
@@ -2748,6 +2878,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2748
2878
  args: ['collapse']
2749
2879
  }], expandStateChange: [{
2750
2880
  type: Output
2881
+ }], rowReorder: [{
2882
+ type: Output
2751
2883
  }], columnsRef: [{
2752
2884
  type: Input,
2753
2885
  args: ['columns']
@@ -2799,6 +2931,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2799
2931
  }], ariaRoot: [{
2800
2932
  type: ViewChild,
2801
2933
  args: ['ariaRoot', { static: true }]
2934
+ }], dragTargetContainer: [{
2935
+ type: ViewChild,
2936
+ args: [DragTargetContainerDirective]
2937
+ }], dropTargetContainer: [{
2938
+ type: ViewChild,
2939
+ args: [DropTargetContainerDirective]
2802
2940
  }], fetchChildren: [{
2803
2941
  type: Input
2804
2942
  }], hasChildren: [{
@@ -28,72 +28,74 @@ import { ExpandableDirective } from './expand-state/expandable.directive';
28
28
  import { SelectableDirective } from './selection/selectable.directive';
29
29
  import { MarqueeDirective } from './selection/marquee.directive';
30
30
  import { TreeListSpacerComponent } from './rendering/common/spacer.component';
31
+ import { DragAndDropModule } from '@progress/kendo-angular-utils';
31
32
  import * as i0 from "@angular/core";
32
33
  import * as i1 from "./columns/column.component";
33
34
  import * as i2 from "./columns/span-column.component";
34
35
  import * as i3 from "./columns/checkbox-column.component";
35
- import * as i4 from "./columns/column-group.component";
36
- import * as i5 from "./navigation/focusable.directive";
37
- import * as i6 from "./columns/command-column.component";
38
- import * as i7 from "./rendering/cell-template.directive";
39
- import * as i8 from "./rendering/no-records-template.directive";
40
- import * as i9 from "./editing/edit-template.directive";
41
- import * as i10 from "./editing/edit-command.directive";
42
- import * as i11 from "./editing/cancel-command.directive";
43
- import * as i12 from "./editing/save-command.directive";
44
- import * as i13 from "./editing/remove-command.directive";
45
- import * as i14 from "./editing/add-command.directive";
46
- import * as i15 from "./rendering/footer-template.directive";
47
- import * as i16 from "./rendering/header/header-template.directive";
48
- import * as i17 from "./pager/pager.component";
49
- import * as i18 from "./pager/pager-prev-buttons.component";
50
- import * as i19 from "./pager/pager-next-buttons.component";
51
- import * as i20 from "./pager/pager-numeric-buttons.component";
52
- import * as i21 from "./pager/pager-input.component";
53
- import * as i22 from "./pager/pager-info.component";
54
- import * as i23 from "./pager/pager-page-sizes.component";
55
- import * as i24 from "./pager/pager-template.directive";
56
- import * as i25 from "./filtering/filter-row.component";
57
- import * as i26 from "./filtering/cell/filter-cell.component";
58
- import * as i27 from "./filtering/cell/filter-cell-template.directive";
59
- import * as i28 from "./filtering/cell/filter-cell-operators.component";
60
- import * as i29 from "./filtering/cell/string-filter-cell.component";
61
- import * as i30 from "./filtering/cell/numeric-filter-cell.component";
62
- import * as i31 from "./filtering/cell/autocomplete-filter-cell.component";
63
- import * as i32 from "./filtering/cell/boolean-filter-cell.component";
64
- import * as i33 from "./filtering/cell/date-filter-cell.component";
65
- import * as i34 from "./filtering/operators/contains-filter-operator.component";
66
- import * as i35 from "./filtering/operators/not-contains-filter-operator.component";
67
- import * as i36 from "./filtering/operators/ends-with-filter-operator.component";
68
- import * as i37 from "./filtering/operators/eq-filter-operator.component";
69
- import * as i38 from "./filtering/operators/is-empty-filter-operator.component";
70
- import * as i39 from "./filtering/operators/is-not-empty-filter-operator.component";
71
- import * as i40 from "./filtering/operators/is-not-null-filter-operator.component";
72
- import * as i41 from "./filtering/operators/isnull-filter-operator.component";
73
- import * as i42 from "./filtering/operators/neq-filter-operator.component";
74
- import * as i43 from "./filtering/operators/starts-with-filter-operator.component";
75
- import * as i44 from "./filtering/operators/gt-filter-operator.component";
76
- import * as i45 from "./filtering/operators/gte-filter-operator.component";
77
- import * as i46 from "./filtering/operators/lt-filter-operator.component";
78
- import * as i47 from "./filtering/operators/lte-filter-operator.component";
79
- import * as i48 from "./filtering/operators/after-filter-operator.component";
80
- import * as i49 from "./filtering/operators/after-eq-filter-operator.component";
81
- import * as i50 from "./filtering/operators/before-eq-filter-operator.component";
82
- import * as i51 from "./filtering/operators/before-filter-operator.component";
83
- import * as i52 from "./filtering/menu/string-filter-menu.component";
84
- import * as i53 from "./filtering/menu/filter-menu-template.directive";
85
- import * as i54 from "./filtering/menu/numeric-filter-menu.component";
86
- import * as i55 from "./filtering/menu/date-filter-menu.component";
87
- import * as i56 from "./filtering/menu/boolean-filter-menu.component";
88
- import * as i57 from "./column-menu/column-chooser.component";
89
- import * as i58 from "./column-menu/column-menu-filter.component";
90
- import * as i59 from "./column-menu/column-menu-item.component";
91
- import * as i60 from "./column-menu/column-menu-item-content-template.directive";
92
- import * as i61 from "./column-menu/column-menu-sort.component";
93
- import * as i62 from "./column-menu/column-menu-lock.component";
94
- import * as i63 from "./column-menu/column-menu-chooser.component";
95
- import * as i64 from "./column-menu/column-menu-template.directive";
96
- import * as i65 from "./column-menu/column-menu.component";
36
+ import * as i4 from "./columns/rowreorder-column.component";
37
+ import * as i5 from "./columns/column-group.component";
38
+ import * as i6 from "./navigation/focusable.directive";
39
+ import * as i7 from "./columns/command-column.component";
40
+ import * as i8 from "./rendering/cell-template.directive";
41
+ import * as i9 from "./rendering/no-records-template.directive";
42
+ import * as i10 from "./editing/edit-template.directive";
43
+ import * as i11 from "./editing/edit-command.directive";
44
+ import * as i12 from "./editing/cancel-command.directive";
45
+ import * as i13 from "./editing/save-command.directive";
46
+ import * as i14 from "./editing/remove-command.directive";
47
+ import * as i15 from "./editing/add-command.directive";
48
+ import * as i16 from "./rendering/footer-template.directive";
49
+ import * as i17 from "./rendering/header/header-template.directive";
50
+ import * as i18 from "./pager/pager.component";
51
+ import * as i19 from "./pager/pager-prev-buttons.component";
52
+ import * as i20 from "./pager/pager-next-buttons.component";
53
+ import * as i21 from "./pager/pager-numeric-buttons.component";
54
+ import * as i22 from "./pager/pager-input.component";
55
+ import * as i23 from "./pager/pager-info.component";
56
+ import * as i24 from "./pager/pager-page-sizes.component";
57
+ import * as i25 from "./pager/pager-template.directive";
58
+ import * as i26 from "./filtering/filter-row.component";
59
+ import * as i27 from "./filtering/cell/filter-cell.component";
60
+ import * as i28 from "./filtering/cell/filter-cell-template.directive";
61
+ import * as i29 from "./filtering/cell/filter-cell-operators.component";
62
+ import * as i30 from "./filtering/cell/string-filter-cell.component";
63
+ import * as i31 from "./filtering/cell/numeric-filter-cell.component";
64
+ import * as i32 from "./filtering/cell/autocomplete-filter-cell.component";
65
+ import * as i33 from "./filtering/cell/boolean-filter-cell.component";
66
+ import * as i34 from "./filtering/cell/date-filter-cell.component";
67
+ import * as i35 from "./filtering/operators/contains-filter-operator.component";
68
+ import * as i36 from "./filtering/operators/not-contains-filter-operator.component";
69
+ import * as i37 from "./filtering/operators/ends-with-filter-operator.component";
70
+ import * as i38 from "./filtering/operators/eq-filter-operator.component";
71
+ import * as i39 from "./filtering/operators/is-empty-filter-operator.component";
72
+ import * as i40 from "./filtering/operators/is-not-empty-filter-operator.component";
73
+ import * as i41 from "./filtering/operators/is-not-null-filter-operator.component";
74
+ import * as i42 from "./filtering/operators/isnull-filter-operator.component";
75
+ import * as i43 from "./filtering/operators/neq-filter-operator.component";
76
+ import * as i44 from "./filtering/operators/starts-with-filter-operator.component";
77
+ import * as i45 from "./filtering/operators/gt-filter-operator.component";
78
+ import * as i46 from "./filtering/operators/gte-filter-operator.component";
79
+ import * as i47 from "./filtering/operators/lt-filter-operator.component";
80
+ import * as i48 from "./filtering/operators/lte-filter-operator.component";
81
+ import * as i49 from "./filtering/operators/after-filter-operator.component";
82
+ import * as i50 from "./filtering/operators/after-eq-filter-operator.component";
83
+ import * as i51 from "./filtering/operators/before-eq-filter-operator.component";
84
+ import * as i52 from "./filtering/operators/before-filter-operator.component";
85
+ import * as i53 from "./filtering/menu/string-filter-menu.component";
86
+ import * as i54 from "./filtering/menu/filter-menu-template.directive";
87
+ import * as i55 from "./filtering/menu/numeric-filter-menu.component";
88
+ import * as i56 from "./filtering/menu/date-filter-menu.component";
89
+ import * as i57 from "./filtering/menu/boolean-filter-menu.component";
90
+ import * as i58 from "./column-menu/column-chooser.component";
91
+ import * as i59 from "./column-menu/column-menu-filter.component";
92
+ import * as i60 from "./column-menu/column-menu-item.component";
93
+ import * as i61 from "./column-menu/column-menu-item-content-template.directive";
94
+ import * as i62 from "./column-menu/column-menu-sort.component";
95
+ import * as i63 from "./column-menu/column-menu-lock.component";
96
+ import * as i64 from "./column-menu/column-menu-chooser.component";
97
+ import * as i65 from "./column-menu/column-menu-template.directive";
98
+ import * as i66 from "./column-menu/column-menu.component";
97
99
  const exportedModules = [
98
100
  TreeListComponent,
99
101
  ToolbarTemplateDirective,
@@ -181,7 +183,8 @@ TreeListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
181
183
  RowFilterModule,
182
184
  FilterMenuModule,
183
185
  ResizeSensorModule,
184
- ColumnMenuModule], exports: [TreeListComponent,
186
+ ColumnMenuModule,
187
+ DragAndDropModule], exports: [TreeListComponent,
185
188
  ToolbarTemplateDirective,
186
189
  ToolbarComponent,
187
190
  TreeListSpacerComponent,
@@ -193,7 +196,7 @@ TreeListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
193
196
  FlatBindingDirective,
194
197
  ExpandableDirective,
195
198
  SelectableDirective,
196
- TreeListToolbarFocusableDirective, i1.ColumnComponent, i2.SpanColumnComponent, i3.CheckboxColumnComponent, i4.ColumnGroupComponent, i5.FocusableDirective, i6.CommandColumnComponent, i7.CellTemplateDirective, i8.NoRecordsTemplateDirective, i9.EditTemplateDirective, i10.EditCommandDirective, i11.CancelCommandDirective, i12.SaveCommandDirective, i13.RemoveCommandDirective, i14.AddCommandDirective, i15.FooterTemplateDirective, i16.HeaderTemplateDirective, i17.PagerComponent, i18.PagerPrevButtonsComponent, i19.PagerNextButtonsComponent, i20.PagerNumericButtonsComponent, i21.PagerInputComponent, i22.PagerInfoComponent, i23.PagerPageSizesComponent, i24.PagerTemplateDirective, i25.FilterRowComponent, i26.FilterCellComponent, i27.FilterCellTemplateDirective, i28.FilterCellOperatorsComponent, i29.StringFilterCellComponent, i30.NumericFilterCellComponent, i31.AutoCompleteFilterCellComponent, i32.BooleanFilterCellComponent, i33.DateFilterCellComponent, i28.FilterCellOperatorsComponent, i34.ContainsFilterOperatorComponent, i35.DoesNotContainFilterOperatorComponent, i36.EndsWithFilterOperatorComponent, i37.EqualFilterOperatorComponent, i38.IsEmptyFilterOperatorComponent, i39.IsNotEmptyFilterOperatorComponent, i40.IsNotNullFilterOperatorComponent, i41.IsNullFilterOperatorComponent, i42.NotEqualFilterOperatorComponent, i43.StartsWithFilterOperatorComponent, i44.GreaterFilterOperatorComponent, i45.GreaterOrEqualToFilterOperatorComponent, i46.LessFilterOperatorComponent, i47.LessOrEqualToFilterOperatorComponent, i48.AfterFilterOperatorComponent, i49.AfterEqFilterOperatorComponent, i50.BeforeEqFilterOperatorComponent, i51.BeforeFilterOperatorComponent, i52.StringFilterMenuComponent, i53.FilterMenuTemplateDirective, i54.NumericFilterMenuComponent, i55.DateFilterMenuComponent, i56.BooleanFilterMenuComponent, i28.FilterCellOperatorsComponent, i34.ContainsFilterOperatorComponent, i35.DoesNotContainFilterOperatorComponent, i36.EndsWithFilterOperatorComponent, i37.EqualFilterOperatorComponent, i38.IsEmptyFilterOperatorComponent, i39.IsNotEmptyFilterOperatorComponent, i40.IsNotNullFilterOperatorComponent, i41.IsNullFilterOperatorComponent, i42.NotEqualFilterOperatorComponent, i43.StartsWithFilterOperatorComponent, i44.GreaterFilterOperatorComponent, i45.GreaterOrEqualToFilterOperatorComponent, i46.LessFilterOperatorComponent, i47.LessOrEqualToFilterOperatorComponent, i48.AfterFilterOperatorComponent, i49.AfterEqFilterOperatorComponent, i50.BeforeEqFilterOperatorComponent, i51.BeforeFilterOperatorComponent, i57.ColumnChooserComponent, i58.ColumnMenuFilterComponent, i59.ColumnMenuItemComponent, i60.ColumnMenuItemContentTemplateDirective, i61.ColumnMenuSortComponent, i62.ColumnMenuLockComponent, i63.ColumnMenuChooserComponent, i64.ColumnMenuTemplateDirective, i65.ColumnMenuComponent] });
199
+ TreeListToolbarFocusableDirective, i1.ColumnComponent, i2.SpanColumnComponent, i3.CheckboxColumnComponent, i4.RowReorderColumnComponent, i5.ColumnGroupComponent, i6.FocusableDirective, i7.CommandColumnComponent, i8.CellTemplateDirective, i9.NoRecordsTemplateDirective, i10.EditTemplateDirective, i11.EditCommandDirective, i12.CancelCommandDirective, i13.SaveCommandDirective, i14.RemoveCommandDirective, i15.AddCommandDirective, i16.FooterTemplateDirective, i17.HeaderTemplateDirective, i18.PagerComponent, i19.PagerPrevButtonsComponent, i20.PagerNextButtonsComponent, i21.PagerNumericButtonsComponent, i22.PagerInputComponent, i23.PagerInfoComponent, i24.PagerPageSizesComponent, i25.PagerTemplateDirective, i26.FilterRowComponent, i27.FilterCellComponent, i28.FilterCellTemplateDirective, i29.FilterCellOperatorsComponent, i30.StringFilterCellComponent, i31.NumericFilterCellComponent, i32.AutoCompleteFilterCellComponent, i33.BooleanFilterCellComponent, i34.DateFilterCellComponent, i29.FilterCellOperatorsComponent, i35.ContainsFilterOperatorComponent, i36.DoesNotContainFilterOperatorComponent, i37.EndsWithFilterOperatorComponent, i38.EqualFilterOperatorComponent, i39.IsEmptyFilterOperatorComponent, i40.IsNotEmptyFilterOperatorComponent, i41.IsNotNullFilterOperatorComponent, i42.IsNullFilterOperatorComponent, i43.NotEqualFilterOperatorComponent, i44.StartsWithFilterOperatorComponent, i45.GreaterFilterOperatorComponent, i46.GreaterOrEqualToFilterOperatorComponent, i47.LessFilterOperatorComponent, i48.LessOrEqualToFilterOperatorComponent, i49.AfterFilterOperatorComponent, i50.AfterEqFilterOperatorComponent, i51.BeforeEqFilterOperatorComponent, i52.BeforeFilterOperatorComponent, i53.StringFilterMenuComponent, i54.FilterMenuTemplateDirective, i55.NumericFilterMenuComponent, i56.DateFilterMenuComponent, i57.BooleanFilterMenuComponent, i29.FilterCellOperatorsComponent, i35.ContainsFilterOperatorComponent, i36.DoesNotContainFilterOperatorComponent, i37.EndsWithFilterOperatorComponent, i38.EqualFilterOperatorComponent, i39.IsEmptyFilterOperatorComponent, i40.IsNotEmptyFilterOperatorComponent, i41.IsNotNullFilterOperatorComponent, i42.IsNullFilterOperatorComponent, i43.NotEqualFilterOperatorComponent, i44.StartsWithFilterOperatorComponent, i45.GreaterFilterOperatorComponent, i46.GreaterOrEqualToFilterOperatorComponent, i47.LessFilterOperatorComponent, i48.LessOrEqualToFilterOperatorComponent, i49.AfterFilterOperatorComponent, i50.AfterEqFilterOperatorComponent, i51.BeforeEqFilterOperatorComponent, i52.BeforeFilterOperatorComponent, i58.ColumnChooserComponent, i59.ColumnMenuFilterComponent, i60.ColumnMenuItemComponent, i61.ColumnMenuItemContentTemplateDirective, i62.ColumnMenuSortComponent, i63.ColumnMenuLockComponent, i64.ColumnMenuChooserComponent, i65.ColumnMenuTemplateDirective, i66.ColumnMenuComponent] });
197
200
  TreeListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListModule, imports: [[
198
201
  CommonModule,
199
202
  SharedModule,
@@ -203,7 +206,8 @@ TreeListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
203
206
  RowFilterModule,
204
207
  FilterMenuModule,
205
208
  ResizeSensorModule,
206
- ColumnMenuModule
209
+ ColumnMenuModule,
210
+ DragAndDropModule
207
211
  ]] });
208
212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TreeListModule, decorators: [{
209
213
  type: NgModule,
@@ -219,7 +223,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
219
223
  RowFilterModule,
220
224
  FilterMenuModule,
221
225
  ResizeSensorModule,
222
- ColumnMenuModule
226
+ ColumnMenuModule,
227
+ DragAndDropModule
223
228
  ]
224
229
  }]
225
230
  }] });