@progress/kendo-angular-grid 12.0.0-develop.1 → 12.0.0-develop.11

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 (119) hide show
  1. package/column-menu/column-menu-item-content-template.directive.d.ts +13 -24
  2. package/column-menu/column-menu-template.directive.d.ts +14 -28
  3. package/column-menu/column-menu.service.d.ts +9 -21
  4. package/columns/column-base.d.ts +18 -369
  5. package/columns/reorder-column.component.d.ts +31 -0
  6. package/columns/sort-settings.d.ts +20 -4
  7. package/common/fetch-data-callback.d.ts +1 -1
  8. package/common/preventable-event.d.ts +1 -1
  9. package/common/single-popup.service.d.ts +1 -1
  10. package/common/size-options.d.ts +1 -2
  11. package/data/grid-item.interface.d.ts +6 -3
  12. package/databinding.directive.d.ts +15 -1
  13. package/editing/add-command.directive.d.ts +1 -1
  14. package/editing/cancel-command.directive.d.ts +4 -16
  15. package/editing/edit-template.directive.d.ts +2 -3
  16. package/editing/remove-command.directive.d.ts +6 -6
  17. package/editing/save-command.directive.d.ts +3 -15
  18. package/editing-directives/in-cell-editing.directive.d.ts +1 -1
  19. package/editing-directives/template-editing.directive.d.ts +1 -1
  20. package/esm2020/column-menu/column-menu-item-content-template.directive.mjs +13 -24
  21. package/esm2020/column-menu/column-menu-template.directive.mjs +14 -28
  22. package/esm2020/column-menu/column-menu.service.mjs +9 -21
  23. package/esm2020/columns/column-base.mjs +10 -40
  24. package/esm2020/columns/reorder-column.component.mjs +55 -0
  25. package/esm2020/common/preventable-event.mjs +1 -1
  26. package/esm2020/common/single-popup.service.mjs +1 -1
  27. package/esm2020/databinding.directive.mjs +30 -3
  28. package/esm2020/editing/add-command.directive.mjs +1 -1
  29. package/esm2020/editing/cancel-command.directive.mjs +4 -16
  30. package/esm2020/editing/edit-template.directive.mjs +2 -3
  31. package/esm2020/editing/remove-command.directive.mjs +6 -6
  32. package/esm2020/editing/save-command.directive.mjs +3 -15
  33. package/esm2020/editing-directives/in-cell-editing.directive.mjs +1 -1
  34. package/esm2020/editing-directives/template-editing.directive.mjs +1 -1
  35. package/esm2020/excel/excel-command.directive.mjs +2 -2
  36. package/esm2020/excel/excel.module.mjs +5 -15
  37. package/esm2020/filtering/cell/autocomplete-filter-cell.component.mjs +1 -1
  38. package/esm2020/filtering/cell/boolean-filter-cell.component.mjs +1 -1
  39. package/esm2020/filtering/cell/filter-cell-operators.component.mjs +1 -1
  40. package/esm2020/filtering/menu/date-filter-menu.component.mjs +1 -1
  41. package/esm2020/filtering/menu/filter-menu-input-wrapper.component.mjs +1 -1
  42. package/esm2020/filtering/menu/numeric-filter-menu.component.mjs +1 -1
  43. package/esm2020/filtering/menu/string-filter-menu.component.mjs +1 -1
  44. package/esm2020/grid.component.mjs +195 -38
  45. package/esm2020/grid.module.mjs +76 -81
  46. package/esm2020/grouping/group-footer-template.directive.mjs +9 -35
  47. package/esm2020/grouping/group-header-column-template.directive.mjs +2 -2
  48. package/esm2020/grouping/group-header-template.directive.mjs +9 -37
  49. package/esm2020/index.mjs +1 -0
  50. package/esm2020/layout/sizing-options.service.mjs +3 -0
  51. package/esm2020/localization/messages.mjs +3 -1
  52. package/esm2020/navigation/focusable.directive.mjs +10 -41
  53. package/esm2020/package-metadata.mjs +2 -2
  54. package/esm2020/pager/pager-page-sizes.component.mjs +1 -1
  55. package/esm2020/pager/pager-template.directive.mjs +13 -46
  56. package/esm2020/pdf/pdf-template.directive.mjs +10 -38
  57. package/esm2020/pdf/pdf.module.mjs +7 -16
  58. package/esm2020/rendering/body.module.mjs +9 -4
  59. package/esm2020/rendering/cell-loading.template.directive.mjs +11 -8
  60. package/esm2020/rendering/cell-template.directive.mjs +11 -35
  61. package/esm2020/rendering/cell.component.mjs +43 -10
  62. package/esm2020/rendering/details/detail-template.directive.mjs +10 -58
  63. package/esm2020/rendering/details-expand.directive.mjs +1 -1
  64. package/esm2020/rendering/footer/footer-template.directive.mjs +8 -35
  65. package/esm2020/rendering/header/header-template.directive.mjs +9 -36
  66. package/esm2020/rendering/loading-template.directive.mjs +1 -1
  67. package/esm2020/rendering/no-records-template.directive.mjs +11 -58
  68. package/esm2020/rendering/toolbar/toolbar-position.mjs +17 -0
  69. package/esm2020/rendering/toolbar/toolbar-template.directive.mjs +10 -56
  70. package/esm2020/row-reordering/row-reorder.service.mjs +232 -0
  71. package/esm2020/row-reordering/types.mjs +5 -0
  72. package/esm2020/row-reordering/utils.mjs +87 -0
  73. package/esm2020/selection/selectall-checkbox.directive.mjs +12 -1
  74. package/esm2020/selection/selection-checkbox.directive.mjs +11 -44
  75. package/esm2020/selection/selection-default.mjs +1 -0
  76. package/esm2020/selection/selection.directive.mjs +1 -1
  77. package/excel/excel-command.directive.d.ts +2 -2
  78. package/excel/excel.module.d.ts +5 -15
  79. package/fesm2015/progress-kendo-angular-grid.mjs +876 -800
  80. package/fesm2020/progress-kendo-angular-grid.mjs +876 -804
  81. package/filtering/filterable.d.ts +10 -0
  82. package/grid.component.d.ts +46 -4
  83. package/grid.module.d.ts +93 -101
  84. package/grouping/group-footer-template.directive.d.ts +9 -35
  85. package/grouping/group-header-column-template.directive.d.ts +2 -2
  86. package/grouping/group-header-template.directive.d.ts +9 -37
  87. package/index.d.ts +2 -0
  88. package/layout/sizing-options.service.d.ts +3 -0
  89. package/localization/messages.d.ts +5 -1
  90. package/navigation/focusable.directive.d.ts +10 -41
  91. package/navigation/navigable-settings.d.ts +15 -1
  92. package/package.json +15 -14
  93. package/pager/pager-settings.d.ts +8 -12
  94. package/pager/pager-template.directive.d.ts +13 -46
  95. package/pdf/pdf-template.directive.d.ts +10 -38
  96. package/pdf/pdf.module.d.ts +7 -16
  97. package/rendering/body.module.d.ts +9 -8
  98. package/rendering/cell-loading.template.directive.d.ts +11 -8
  99. package/rendering/cell-template.directive.d.ts +11 -35
  100. package/rendering/cell.component.d.ts +5 -0
  101. package/rendering/common/row-class.d.ts +4 -4
  102. package/rendering/details/detail-template.directive.d.ts +10 -58
  103. package/rendering/details-expand.directive.d.ts +1 -1
  104. package/rendering/footer/footer-template.directive.d.ts +8 -35
  105. package/rendering/header/header-template.directive.d.ts +9 -36
  106. package/rendering/loading-template.directive.d.ts +1 -1
  107. package/rendering/no-records-template.directive.d.ts +11 -58
  108. package/rendering/toolbar/toolbar-position.d.ts +18 -1
  109. package/rendering/toolbar/toolbar-template.directive.d.ts +10 -56
  110. package/row-reordering/row-reorder.service.d.ts +56 -0
  111. package/row-reordering/types.d.ts +40 -0
  112. package/row-reordering/utils.d.ts +78 -0
  113. package/schematics/ngAdd/index.js +2 -2
  114. package/scrolling/scrollmode.d.ts +4 -4
  115. package/selection/selectall-checkbox.directive.d.ts +12 -1
  116. package/selection/selection-checkbox.directive.d.ts +11 -44
  117. package/selection/selection-default.d.ts +1 -0
  118. package/selection/selection.directive.d.ts +1 -1
  119. package/selection/types.d.ts +24 -2
@@ -7,50 +7,22 @@ import { PDFExportTemplateDirective } from '@progress/kendo-angular-pdf-export';
7
7
  import * as i0 from "@angular/core";
8
8
  /**
9
9
  * Represents the PDF page template of the Grid that helps to customize the PDF pages. To define a page template,
10
- * nest an `<ng-template>` tag with the `kendoGridPDFTemplate` directive inside `<kendo-grid-pdf>`.
10
+ * nest an `<ng-template>` tag with the `kendoGridPDFTemplate` directive inside `<kendo-grid-pdf>` tag.
11
11
  *
12
12
  * The template context provides the following fields:
13
13
  * - `pageNumber`&mdash;Defines PDF page number.
14
14
  * - `totalPages`&mdash;Defines the total number of PDF pages.
15
15
  *
16
16
  * @example
17
- * ```ts-preview
18
- *
19
- * _@Component({
20
- * selector: 'my-app',
21
- * template: `
22
- * <kendo-grid [data]="gridData">
23
- * <ng-template kendoGridToolbarTemplate>
24
- * <button kendoGridPDFCommand icon="file-pdf">Export to PDF</button>
25
- * </ng-template>
26
- * <kendo-grid-column field="ProductName">
27
- * </kendo-grid-column>
28
- * <kendo-grid-column field="UnitPrice">
29
- * </kendo-grid-column>
30
- * <kendo-grid-pdf fileName="Products.pdf" paperSize="A4" [margin]="{ top: '1cm', left: '1cm', right: '1cm', bottom: '1cm' }">
31
- * <ng-template kendoGridPDFTemplate let-pageNum="pageNum" let-totalPages="totalPages">
32
- * <div style="position: absolute;top: 5px; left: 5px;">
33
- * Page {{ pageNum }} of {{ totalPages }}
34
- * </div>
35
- * </ng-template>
36
- * </kendo-grid-pdf>
37
- * </kendo-grid>
38
- * `
39
- * })
40
- *
41
- * class AppComponent {
42
- * public gridData = [{
43
- * "ProductID": 1,
44
- * "ProductName": "Chai",
45
- * "UnitPrice": 18.0000
46
- * }, {
47
- * "ProductID": 2,
48
- * "ProductName": "Chang",
49
- * "UnitPrice": 19.0000
50
- * }
51
- * ];
52
- * }
53
- *
17
+ * ```html
18
+ * <kendo-grid [data]="gridData">
19
+ * ...
20
+ * <kendo-grid-pdf fileName="Products.pdf" paperSize="A4">
21
+ * <ng-template kendoGridPDFTemplate let-pageNumber="pageNumber" let-totalPages="totalPages">
22
+ * Page {{ pageNumber }} of {{ totalPages }}
23
+ * </ng-template>
24
+ * </kendo-grid-pdf>
25
+ * </kendo-grid>
54
26
  * ```
55
27
  */
56
28
  export class PDFTemplateDirective extends PDFExportTemplateDirective {
@@ -27,28 +27,19 @@ const declarations = [
27
27
  *
28
28
  * @example
29
29
  *
30
- * ```ts-no-run
31
- * // Import the Grid and PDF modules
32
- * import { GridModule, PDFModule } from '@progress/kendo-angular-grid';
33
- *
34
- * // The browser platform with a compiler
35
- * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
36
- *
30
+ * ```ts
37
31
  * import { NgModule } from '@angular/core';
38
- *
39
- * // Import the app component
32
+ * import { BrowserModule } from "@angular/platform-browser";
33
+ * import { GridModule, PDFModule } from '@progress/kendo-angular-grid';
40
34
  * import { AppComponent } from './app.component';
41
35
  *
42
- * // Define the app module
43
- * _@NgModule({
44
- * declarations: [AppComponent], // declare app component
45
- * imports: [BrowserModule, GridModule, PDFModule], // import Grid and PDF modules
36
+ * @NgModule({
37
+ * declarations: [AppComponent],
38
+ * imports: [BrowserModule, GridModule, PDFModule],
46
39
  * bootstrap: [AppComponent]
47
40
  * })
48
- * export class AppModule {}
49
41
  *
50
- * // Compile and launch the module
51
- * platformBrowserDynamic().bootstrapModule(AppModule);
42
+ * export class AppModule {}
52
43
  *
53
44
  * ```
54
45
  */
@@ -25,6 +25,7 @@ import { NumericTextBoxModule } from "@progress/kendo-angular-inputs";
25
25
  import { DatePickerModule } from '@progress/kendo-angular-dateinputs';
26
26
  import { CellLoadingTemplateDirective } from './cell-loading.template.directive';
27
27
  import { LoadingTemplateDirective } from './loading-template.directive';
28
+ import { RowReorderColumnComponent } from '../columns/reorder-column.component';
28
29
  import * as i0 from "@angular/core";
29
30
  const exported = [
30
31
  CommandColumnComponent,
@@ -41,7 +42,8 @@ const exported = [
41
42
  RemoveCommandDirective,
42
43
  AddCommandDirective,
43
44
  CellLoadingTemplateDirective,
44
- LoadingTemplateDirective
45
+ LoadingTemplateDirective,
46
+ RowReorderColumnComponent
45
47
  ];
46
48
  const importedModules = [
47
49
  CommonModule,
@@ -71,7 +73,8 @@ export class BodyModule {
71
73
  RemoveCommandDirective,
72
74
  AddCommandDirective,
73
75
  CellLoadingTemplateDirective,
74
- LoadingTemplateDirective
76
+ LoadingTemplateDirective,
77
+ RowReorderColumnComponent
75
78
  ];
76
79
  }
77
80
  }
@@ -90,7 +93,8 @@ BodyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
90
93
  RemoveCommandDirective,
91
94
  AddCommandDirective,
92
95
  CellLoadingTemplateDirective,
93
- LoadingTemplateDirective], imports: [CommonModule,
96
+ LoadingTemplateDirective,
97
+ RowReorderColumnComponent], imports: [CommonModule,
94
98
  ReactiveFormsModule,
95
99
  FormsModule,
96
100
  SharedModule,
@@ -111,7 +115,8 @@ BodyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
111
115
  RemoveCommandDirective,
112
116
  AddCommandDirective,
113
117
  CellLoadingTemplateDirective,
114
- LoadingTemplateDirective] });
118
+ LoadingTemplateDirective,
119
+ RowReorderColumnComponent] });
115
120
  BodyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BodyModule, imports: [[...importedModules]] });
116
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BodyModule, decorators: [{
117
122
  type: NgModule,
@@ -7,17 +7,20 @@ import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Represents the virtual scrolling cell template of the Grid while loading new data. Provides an option to customize the
9
9
  * appearance of the indicator that is displayed while new data is loading. To define the loading cell template,
10
- * nest an `<ng-template>` tag with the `kendoGridCellLoadingTemplate` directive inside `<kendo-grid>` ([see example]({% slug virtualscrolling_grid %}#toc-custom-loading-skeleton)).
10
+ * nest an `<ng-template>` tag with the `kendoGridCellLoadingTemplate` directive inside `<kendo-grid>` tag [see example]({% slug virtualscrolling_grid %}#toc-custom-loading-skeleton).
11
11
  *
12
- * The template context is set to the current column, and utilizes the `let-x` syntax&mdash;for example, `let-column`.
12
+ *
13
+ * The template context is set to the current column and the following additional field is passed:
14
+ *
15
+ * - `column`&mdash;The current column instance. Represents the default context that will be assigned to any template variable which utilizes the `let-x` syntax (for example `let-column`).
13
16
  *
14
17
  * @example
15
- * ```ts-no-run
16
- * <kendo-grid [data]="data" scrollable="virtual" [rowHeight]="36">
17
- * <ng-template kendoGridCellLoadingTemplate let-column>
18
- * ...
19
- * </ng-template>
20
- * </kendo-grid>
18
+ * ```html
19
+ * <kendo-grid ... scrollable="virtual" [rowHeight]="36" [height]="450">
20
+ * <ng-template kendoGridCellLoadingTemplate let-column>
21
+ * ...
22
+ * </ng-template>
23
+ * </kendo-grid>
21
24
  * ```
22
25
  */
23
26
  export class CellLoadingTemplateDirective {
@@ -5,9 +5,9 @@
5
5
  import { Directive, TemplateRef, Optional } from '@angular/core';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
- * Represents the column cell template of the Grid ([more information and example]({% slug templates_columns_grid %}#toc-cell-template)).
9
- * Helps to customize the content of the cells. To define the cell template, nest an `<ng-template>` tag
10
- * with the `kendoGridCellTemplate` directive inside a `<kendo-grid-column>` tag.
8
+ * Represents the column cell template of the Grid.
9
+ * Helps to customize the content of the cells. To define the cell template, nest an `<ng-template>` tag with the
10
+ * `kendoGridCellTemplate` directive inside a `<kendo-grid-column>` tag [see example](slug:templates_columns_grid#toc-cell-template).
11
11
  *
12
12
  * The template context is set to the current data item and the following additional fields are passed:
13
13
  * - `columnIndex`&mdash;The current column index. Use it as an alias for a template variable by utilizing the `let-columnIndex="columnIndex"` syntax.
@@ -16,38 +16,14 @@ import * as i0 from "@angular/core";
16
16
  * - `column`&mdash;The current column instance. Use it as an alias for a template variable by utilizing the `let-column="column"` syntax.
17
17
  *
18
18
  * @example
19
- * ```ts-preview
20
- *
21
- * _@Component({
22
- * selector: 'my-app',
23
- * template: `
24
- * <kendo-grid [data]="gridData">
25
- * <kendo-grid-column field="ProductName">
26
- * <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
27
- * Data Row #: {{rowIndex}} /
28
- * <strong>{{dataItem.ProductName}}</strong>
29
- * ({{dataItem.Discontinued ? "discontinued" : "active"}})
30
- * </ng-template>
31
- * </kendo-grid-column>
32
- * </kendo-grid>
33
- * `
34
- * })
35
- *
36
- * class AppComponent {
37
- * public gridData = [{
38
- * "ProductID": 1,
39
- * "ProductName": "Chai",
40
- * "UnitPrice": 18.0000,
41
- * "Discontinued": false
42
- * }, {
43
- * "ProductID": 2,
44
- * "ProductName": "Chang",
45
- * "UnitPrice": 19.0000,
46
- * "Discontinued": true
47
- * }
48
- * ];
49
- * }
50
- *
19
+ * ```html
20
+ * <kendo-grid [data]="gridData" ...>
21
+ * <kendo-grid-column field="ProductName">
22
+ * <ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex" let-column="column">
23
+ * Data Row: {{rowIndex}}
24
+ * </ng-template>
25
+ * </kendo-grid-column>
26
+ * </kendo-grid>
51
27
  * ```
52
28
  */
53
29
  export class CellTemplateDirective {
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, HostBinding, Input, Inject, Optional, TemplateRef } from '@angular/core';
6
6
  import { EditService } from '../editing/edit.service';
7
- import { isSpanColumn, isCheckboxColumn } from '../columns/column-base';
7
+ import { isSpanColumn, isCheckboxColumn, isRowReorderColumn } from '../columns/column-base';
8
8
  import { CommandColumnComponent } from '../columns/command-column.component';
9
9
  import { isColumnComponent } from '../columns/column.component';
10
10
  import { columnsToRender } from "../columns/column-common";
@@ -12,17 +12,19 @@ import { isPresent, isNullOrEmptyString, extractFormat } from '../utils';
12
12
  import { CELL_CONTEXT } from './common/cell-context';
13
13
  import { IdService } from '../common/id.service';
14
14
  import { LocalizationService } from '@progress/kendo-angular-l10n';
15
+ import { reorderIcon } from '@progress/kendo-svg-icons';
15
16
  import * as i0 from "@angular/core";
16
17
  import * as i1 from "../editing/edit.service";
17
18
  import * as i2 from "../common/id.service";
18
19
  import * as i3 from "@progress/kendo-angular-l10n";
19
- import * as i4 from "@progress/kendo-angular-inputs";
20
- import * as i5 from "@progress/kendo-angular-dateinputs";
21
- import * as i6 from "@angular/common";
22
- import * as i7 from "../navigation/focusable.directive";
23
- import * as i8 from "../selection/selection-checkbox.directive";
24
- import * as i9 from "@angular/forms";
25
- import * as i10 from "./common/field-accessor.pipe";
20
+ import * as i4 from "@progress/kendo-angular-icons";
21
+ import * as i5 from "@progress/kendo-angular-inputs";
22
+ import * as i6 from "@progress/kendo-angular-dateinputs";
23
+ import * as i7 from "@angular/common";
24
+ import * as i8 from "../navigation/focusable.directive";
25
+ import * as i9 from "../selection/selection-checkbox.directive";
26
+ import * as i10 from "@angular/forms";
27
+ import * as i11 from "./common/field-accessor.pipe";
26
28
  /**
27
29
  * @hidden
28
30
  */
@@ -35,12 +37,19 @@ export class CellComponent {
35
37
  this.isNew = false;
36
38
  this.isLoading = false;
37
39
  this.isVirtual = false;
40
+ this.reorderIcon = reorderIcon;
38
41
  this._templateContext = {};
39
42
  this._editTemplateContext = {};
40
43
  }
41
44
  get commandCellClass() {
42
45
  return this.isCommand(this.column);
43
46
  }
47
+ get dragHandleCellClass() {
48
+ return isRowReorderColumn(this.column);
49
+ }
50
+ get dragRowHandleLabel() {
51
+ return isRowReorderColumn(this.column) ? this.localizationService.get('dragRowHandleLabel') : undefined;
52
+ }
44
53
  set rowIndex(index) {
45
54
  this._rowIndex = index;
46
55
  this.updateCellContext();
@@ -97,6 +106,9 @@ export class CellComponent {
97
106
  get childColumns() {
98
107
  return columnsToRender([this.column]);
99
108
  }
109
+ get isRowReorderColumn() {
110
+ return isRowReorderColumn(this.column) && !this.column.templateRef;
111
+ }
100
112
  get isColumnEditable() {
101
113
  if (!this.column || this.isCommand(this.column)) {
102
114
  return false;
@@ -143,7 +155,7 @@ export class CellComponent {
143
155
  }
144
156
  }
145
157
  CellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, deps: [{ token: i1.EditService }, { token: i2.IdService }, { token: i3.LocalizationService }, { token: CELL_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
146
- CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CellComponent, selector: "[kendoGridCell]", inputs: { column: "column", columnIndex: "columnIndex", isNew: "isNew", isLoading: "isLoading", isVirtual: "isVirtual", loadingTemplate: "loadingTemplate", rowIndex: "rowIndex", dataItem: "dataItem" }, host: { properties: { "class.k-command-cell": "this.commandCellClass" } }, usesOnChanges: true, ngImport: i0, template: `
158
+ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CellComponent, selector: "[kendoGridCell]", inputs: { column: "column", columnIndex: "columnIndex", isNew: "isNew", isLoading: "isLoading", isVirtual: "isVirtual", loadingTemplate: "loadingTemplate", rowIndex: "rowIndex", dataItem: "dataItem" }, host: { properties: { "class.k-command-cell": "this.commandCellClass", "class.k-drag-cell": "this.dragHandleCellClass", "class.k-touch-action-none": "this.dragHandleCellClass", "attr.aria-label": "this.dragRowHandleLabel" } }, usesOnChanges: true, ngImport: i0, template: `
147
159
  <ng-container [ngSwitch]="isEdited">
148
160
  <ng-container *ngSwitchCase="false">
149
161
  <ng-container *ngIf="!showLoading; else loading">
@@ -164,6 +176,12 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
164
176
  [attr.id]="selectionCheckboxId"
165
177
  [attr.aria-label]="selectionCheckboxLabel" />
166
178
  </ng-container>
179
+ <ng-container *ngIf="isRowReorderColumn && !isNew">
180
+ <kendo-icon-wrapper
181
+ name="reorder"
182
+ [svgIcon]="reorderIcon">
183
+ </kendo-icon-wrapper>
184
+ </ng-container>
167
185
  </ng-container>
168
186
  <ng-template #loading>
169
187
  <ng-template
@@ -213,7 +231,7 @@ CellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
213
231
  </ng-container>
214
232
  </ng-container>
215
233
  </ng-container>
216
- `, isInline: true, components: [{ type: i4.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }, { type: i5.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }], directives: [{ type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: i8.SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i9.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }], pipes: { "valueOf": i10.FieldAccessorPipe } });
234
+ `, isInline: true, components: [{ type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i5.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }, { type: i6.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }], directives: [{ type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { type: i9.SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i10.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }], pipes: { "valueOf": i11.FieldAccessorPipe } });
217
235
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CellComponent, decorators: [{
218
236
  type: Component,
219
237
  args: [{
@@ -239,6 +257,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
239
257
  [attr.id]="selectionCheckboxId"
240
258
  [attr.aria-label]="selectionCheckboxLabel" />
241
259
  </ng-container>
260
+ <ng-container *ngIf="isRowReorderColumn && !isNew">
261
+ <kendo-icon-wrapper
262
+ name="reorder"
263
+ [svgIcon]="reorderIcon">
264
+ </kendo-icon-wrapper>
265
+ </ng-container>
242
266
  </ng-container>
243
267
  <ng-template #loading>
244
268
  <ng-template
@@ -298,6 +322,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
298
322
  }] }]; }, propDecorators: { commandCellClass: [{
299
323
  type: HostBinding,
300
324
  args: ['class.k-command-cell']
325
+ }], dragHandleCellClass: [{
326
+ type: HostBinding,
327
+ args: ['class.k-drag-cell']
328
+ }, {
329
+ type: HostBinding,
330
+ args: ['class.k-touch-action-none']
331
+ }], dragRowHandleLabel: [{
332
+ type: HostBinding,
333
+ args: ['attr.aria-label']
301
334
  }], column: [{
302
335
  type: Input
303
336
  }], columnIndex: [{
@@ -9,64 +9,16 @@ import * as i0 from "@angular/core";
9
9
  * To define the detail template, nest an `<ng-template>` tag with the `kendoGridDetailTemplate` directive inside a `<kendo-grid>` tag.
10
10
  *
11
11
  * @example
12
- * ```ts-preview
13
- *
14
- * _@Component({
15
- * selector: 'my-app',
16
- * template: `
17
- * <kendo-grid
18
- * [data]="data"
19
- * selectable="true"
20
- * style="height: 160px"
21
- * >
22
- * <kendo-grid-column field="ProductID"></kendo-grid-column>
23
- * <kendo-grid-column field="ProductName"></kendo-grid-column>
24
- * <kendo-grid-column field="UnitPrice"></kendo-grid-column>
25
- * <ng-template kendoGridDetailTemplate let-dataItem>
26
- * <div *ngIf="dataItem.Category">
27
- * <header>{{dataItem.Category?.CategoryName}}</header>
28
- * <span>{{dataItem.Category?.Description}}</span>
29
- * </div>
30
- * </ng-template>
31
- * </kendo-grid>
32
- * `
33
- * })
34
- *
35
- * class AppComponent {
36
- * public data = [{
37
- * "ProductID": 1,
38
- * "ProductName": "Chai",
39
- * "UnitPrice": 18.0000,
40
- * "Discontinued": false,
41
- * "Category": {
42
- * "CategoryID": 1,
43
- * "CategoryName": "Beverages",
44
- * "Description": "Soft drinks, coffees, teas, beers, and ales"
45
- * }
46
- * }, {
47
- * "ProductID": 2,
48
- * "ProductName": "Chang",
49
- * "UnitPrice": 19.0000,
50
- * "Discontinued": false,
51
- * "Category": {
52
- * "CategoryID": 1,
53
- * "CategoryName": "Beverages",
54
- * "Description": "Soft drinks, coffees, teas, beers, and ales"
55
- * }
56
- * }, {
57
- * "ProductID": 3,
58
- * "ProductName": "Aniseed Syrup",
59
- * "UnitPrice": 10.0000,
60
- * "Discontinued": false,
61
- * "Category": {
62
- * "CategoryID": 2,
63
- * "CategoryName": "Condiments",
64
- * "Description": "Sweet and savory sauces, relishes, spreads, and seasonings"
65
- * }
66
- * }];
67
- *
68
- * }
69
- *
12
+ * ```html
13
+ * <kendo-grid [data]="data" selectable="true" style="height: 160px">
14
+ * <kendo-grid-column field="ProductName"></kendo-grid-column>
15
+ * <ng-template kendoGridDetailTemplate let-dataItem>
16
+ * <div *ngIf="dataItem.Category">
17
+ * <header>{{dataItem.Category?.CategoryName}}</header>
18
+ * span>{{dataItem.Category?.Description}}</span>
19
+ * </div>
20
+ * </ng-template>
21
+ * </kendo-grid>
70
22
  * ```
71
23
  *
72
24
  */
@@ -11,7 +11,7 @@ import { isPresent, isString } from '../utils';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "../grid.component";
13
13
  /**
14
- * A directive which controls the expanded state of the master detail rows.
14
+ * A directive which controls the expanded state of the master detail rows. ([see example](slug:master_detail_expanded_state_grid#toc-built-in-directive))
15
15
  */
16
16
  export class ExpandDetailsDirective {
17
17
  constructor(grid) {
@@ -19,41 +19,14 @@ import * as i0 from "@angular/core";
19
19
  * refer to the article on [aggregates]({% slug groupable_grid_with_aggregates %}).
20
20
  *
21
21
  * @example
22
- * ```ts-preview
23
- *
24
- * _@Component({
25
- * selector: 'my-app',
26
- * template: `
27
- * <kendo-grid [data]="gridData" scrollable="none">
28
- * <kendo-grid-column field="ProductName">
29
- * <ng-template kendoGridFooterTemplate let-column let-columnIndex="columnIndex">
30
- * {{column.field}}({{columnIndex}})
31
- * </ng-template>
32
- * </kendo-grid-column>
33
- * <kendo-grid-column field="UnitPrice">
34
- * <ng-template kendoGridFooterTemplate let-column let-columnIndex="columnIndex">
35
- * {{column.field}}({{columnIndex}})
36
- * </ng-template>
37
- * </kendo-grid-column>
38
- * </kendo-grid>
39
- * `
40
- * })
41
- *
42
- * class AppComponent {
43
- * public gridData = [{
44
- * "ProductID": 1,
45
- * "ProductName": "Chai",
46
- * "UnitPrice": 18.0000,
47
- * "Discontinued": false
48
- * }, {
49
- * "ProductID": 2,
50
- * "ProductName": "Chang",
51
- * "UnitPrice": 19.0000,
52
- * "Discontinued": true
53
- * }
54
- * ];
55
- * }
56
- *
22
+ * ```html
23
+ * <kendo-grid [data]="gridData" scrollable="none">
24
+ * <kendo-grid-column field="ProductName">
25
+ * <ng-template kendoGridFooterTemplate let-column let-columnIndex="columnIndex">
26
+ * {{column.field}}({{columnIndex}})
27
+ * </ng-template>
28
+ * </kendo-grid-column>
29
+ * </kendo-grid>
57
30
  * ```
58
31
  */
59
32
  export class FooterTemplateDirective {
@@ -9,48 +9,21 @@ import * as i0 from "@angular/core";
9
9
  * ([more information and example]({% slug templates_columns_grid %}#toc-header-template)).
10
10
  * Helps to customize the table header cell for the column.
11
11
  * To define a header template, nest an `<ng-template>` tag with the
12
- * [kendoGridHeaderTemplate]({% slug api_grid_headertemplatedirective %}) directive inside the `<kendo-grid-column>` tag.
12
+ * `kendoGridHeaderTemplate` directive inside the `<kendo-grid-column>` tag.
13
13
  *
14
14
  * The template context is set to the current column and then the following additional fields are passed:
15
15
  * * `column`&mdash;Defines an instance of the [ColumnComponent]({% slug api_grid_columncomponent %}) option.
16
16
  * * `columnIndex`&mdash;Defines the current column index.
17
17
  *
18
18
  * @example
19
- * ```ts-preview
20
- *
21
- * _@Component({
22
- * selector: 'my-app',
23
- * template: `
24
- * <kendo-grid [data]="gridData">
25
- * <kendo-grid-column field="ProductName">
26
- * <ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
27
- * {{column.field}}({{columnIndex}})
28
- * </ng-template>
29
- * </kendo-grid-column>
30
- * <kendo-grid-column field="UnitPrice">
31
- * <ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
32
- * {{column.field}}({{columnIndex}})
33
- * </ng-template>
34
- * </kendo-grid-column>
35
- * </kendo-grid>
36
- * `
37
- * })
38
- *
39
- * class AppComponent {
40
- * public gridData = [{
41
- * "ProductID": 1,
42
- * "ProductName": "Chai",
43
- * "UnitPrice": 18.0000,
44
- * "Discontinued": false
45
- * }, {
46
- * "ProductID": 2,
47
- * "ProductName": "Chang",
48
- * "UnitPrice": 19.0000,
49
- * "Discontinued": true
50
- * }
51
- * ];
52
- * }
53
- *
19
+ * ```html
20
+ * <kendo-grid [data]="gridData">
21
+ * <kendo-grid-column field="ProductName">
22
+ * <ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
23
+ * {{column.field}}({{columnIndex}})
24
+ * </ng-template>
25
+ * </kendo-grid-column>
26
+ * </kendo-grid>
54
27
  * ```
55
28
  */
56
29
  export class HeaderTemplateDirective {
@@ -7,7 +7,7 @@ import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Creates a loading template that overrides the default loading indicator of the Grid Component.
9
9
  * To define a loading template, nest an `<ng-template>` tag with the `kendoGridLoadingTemplate` directive inside the `<kendo-grid>` tag
10
- * [see example]({% slug binding_grid %}#toc-loading-template).
10
+ * ([see example](slug:loadingtemplate_grid)).
11
11
  */
12
12
  export class LoadingTemplateDirective {
13
13
  constructor(templateRef) {