@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
@@ -29,7 +29,15 @@ export interface SingleSortSettings extends ColumnSortSettings {
29
29
  mode?: 'single';
30
30
  }
31
31
  /**
32
- * Specifies a modifier key.
32
+ * Specifies a modifier key when multiple sort. [See example](slug:multi_sort_grid#toc-sort-key-modifier).
33
+ *
34
+ * @example
35
+ * ```html
36
+ * <kendo-grid [sortable]="{ mode: 'multiple', multiSortKey: 'shift' }">
37
+ * <kendo-grid-column field="ProductID"></kendo-grid-column>
38
+ * ...
39
+ * </kendo-grid>
40
+ * ```
33
41
  */
34
42
  export declare type ModifierKey = 'none' | 'ctrl' | 'shift' | 'alt';
35
43
  /**
@@ -60,9 +68,17 @@ export interface MultipleSortSettings extends ColumnSortSettings {
60
68
  multiSortKey?: ModifierKey;
61
69
  }
62
70
  /**
63
- * Defines the settings for sorting the Grid.
64
- * Can be of type `boolean`, [SingleSortSettings]({% slug api_grid_singlesortsettings %}),
65
- * or [MultipleSortSettings]({% slug api_grid_multiplesortsettings %}).
71
+ * Defines the settings for sorting the Grid. [See example](slug:multi_sort_grid).
72
+ *
73
+ * The available options are:
74
+ * * `boolean`
75
+ * * [SingleSortSettings]({% slug api_grid_singlesortsettings %})
76
+ * * [MultipleSortSettings]({% slug api_grid_multiplesortsettings %})
77
+ *
78
+ * @example
79
+ * ```html
80
+ * <kendo-grid [sorting]="true"></kendo-grid>
81
+ * ```
66
82
  */
67
83
  export declare type SortSettings = boolean | SingleSortSettings | MultipleSortSettings;
68
84
  /**
@@ -7,6 +7,6 @@ import { Observable } from "rxjs";
7
7
  import { GridComponent } from "../grid.component";
8
8
  /**
9
9
  * The function that is used to get the exported data options. By default, uses the current data and group of the Grid.
10
- * To export data that is different from the current Grid data, provide a custom function.
10
+ * To export data that is different from the current Grid data, provide a custom function. [See example](slug:excelexport_grid#toc-exporting-specific-data)
11
11
  */
12
12
  export declare type FetchDataCallback = (component: GridComponent) => ExcelExportData | Promise<ExcelExportData> | Observable<ExcelExportData>;
@@ -14,7 +14,7 @@ export declare abstract class PreventableEvent {
14
14
  */
15
15
  preventDefault(): void;
16
16
  /**
17
- * Returns `true` if the event was prevented
17
+ * Returns a respective boolean if the event was prevented
18
18
  * by any of its subscribers.
19
19
  *
20
20
  * @returns `true` if the default action was prevented.
@@ -21,7 +21,7 @@ export declare class PopupCloseEvent extends PreventableEvent {
21
21
  }
22
22
  /**
23
23
  * The service that is used for the popups of the filter and column menus
24
- * ([see example]({% slug filter_menu %}#toc-custom-filter-row-components)#toc-filter-menu-with-popup).
24
+ * ([see example]({% slug filter_menu %}#toc-filter-menu-with-popup)).
25
25
  */
26
26
  export declare class SinglePopupService implements OnDestroy {
27
27
  private popupService;
@@ -3,7 +3,6 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
6
- * Represents the possible size options of the Grid.
7
- * @default `medium`
6
+ * Represents the possible size options of the Grid. [See example](slug:sizing_grid).
8
7
  */
9
8
  export declare type GridSize = 'small' | 'medium' | 'none';
@@ -6,8 +6,11 @@ import { DataItem } from './data-item.interface';
6
6
  import { GroupItem } from './group-item.interface';
7
7
  import { GroupFooterItem } from './group-footer-item.interface';
8
8
  /**
9
- * Represents an item that will be rendered by the Grid.
10
- * Can be a [DataItem]({% slug api_grid_dataitem %}), a [GroupItem]({% slug api_grid_groupitem %}),
11
- * or a [GroupFooterItem]({% slug api_grid_groupfooteritem %}). ([See example]({% slug api_grid_gridcomponent %}#toc-trackby))
9
+ * Represents the item by which the Grid tracks changes. [See example](slug:track_changes_grid).
10
+ *
11
+ * The possible values are:
12
+ * * [`DataItem`]({% slug api_grid_dataitem %}).
13
+ * * [`GroupItem`]({% slug api_grid_groupitem %}).
14
+ * * [`GroupFooterItem`]({% slug api_grid_groupfooteritem %}).
12
15
  */
13
16
  export declare type GridItem = DataItem | GroupItem | GroupFooterItem;
@@ -8,18 +8,27 @@ import { GridComponent } from './grid.component';
8
8
  import { DataStateChangeEvent } from './data/change-event-args.interface';
9
9
  import { GridDataResult } from './data/data.collection';
10
10
  import { LocalDataChangesService } from './editing/local-data-changes.service';
11
+ import { RowReorderEvent } from './row-reordering/types';
12
+ import { RowReorderService } from './row-reordering/row-reorder.service';
11
13
  import * as i0 from "@angular/core";
12
14
  /**
13
15
  * A directive which encapsulates the in-memory handling of data operations such as [paging]({% slug paging_grid %}),
14
16
  * [sorting]({% slug sorting_grid %}), and [grouping]({% slug grouping_grid %})
15
17
  * ([more information and examples]({% slug local_data_grid %}#toc-using-the-data-binding-directive)).
18
+ *
19
+ * @example
20
+ * ```html
21
+ * <kendo-grid [kendoGridBinding]="gridData" ...></kendo-grid>
22
+ * ```
16
23
  */
17
24
  export declare class DataBindingDirective implements OnInit, OnDestroy, DoCheck, OnChanges {
18
25
  protected grid: GridComponent;
19
26
  protected changeDetector?: ChangeDetectorRef;
20
27
  protected localDataChangesService?: LocalDataChangesService;
28
+ private rowReorderService?;
21
29
  /**
22
30
  * Defines the number of records that will be skipped by the pager.
31
+ * @default 0
23
32
  */
24
33
  set skip(value: number);
25
34
  /**
@@ -47,7 +56,8 @@ export declare class DataBindingDirective implements OnInit, OnDestroy, DoCheck,
47
56
  protected dataChanged: boolean;
48
57
  private stateChangeSubscription;
49
58
  private dataChangedSubscription;
50
- constructor(grid: GridComponent, changeDetector?: ChangeDetectorRef, localDataChangesService?: LocalDataChangesService);
59
+ private rowReorderSubscription;
60
+ constructor(grid: GridComponent, changeDetector?: ChangeDetectorRef, localDataChangesService?: LocalDataChangesService, rowReorderService?: RowReorderService);
51
61
  /**
52
62
  * @hidden
53
63
  */
@@ -67,6 +77,10 @@ export declare class DataBindingDirective implements OnInit, OnDestroy, DoCheck,
67
77
  * @hidden
68
78
  */
69
79
  onStateChange(state: DataStateChangeEvent): void;
80
+ /**
81
+ * @hidden
82
+ */
83
+ onRowReorder(ev: RowReorderEvent): void;
70
84
  /**
71
85
  * @hidden
72
86
  */
@@ -15,7 +15,7 @@ import * as i0 from "@angular/core";
15
15
  * ([see example]({% slug basics_editing_grid %})).
16
16
  *
17
17
  * @example
18
- * ```html-no-run
18
+ * ```html
19
19
  * <kendo-grid>
20
20
  * <ng-template kendoGridToolbarTemplate>
21
21
  * <button kendoGridAddCommand>Add new</button>
@@ -10,28 +10,16 @@ import { CellContext } from '../rendering/common/cell-context';
10
10
  import * as i0 from "@angular/core";
11
11
  /**
12
12
  * Represents the `cancel` command of the Grid. You can apply this directive to any `button`
13
- * element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %}).
13
+ * element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
14
+ * ([see example](slug:editing_directives_grid#toc-command-column-directives)).
14
15
  * When an associated button with the directive is clicked, the
15
16
  * [cancel]({% slug api_grid_gridcomponent %}#toc-cancel) event
16
- * is triggered ([see example]({% slug basics_editing_grid %})).
17
- *
18
- * > When the row is not in the edit mode, the button with the `kendoGridCancelCommand` is automatically hidden.
19
- *
20
- * @example
21
- * ```html-no-run
22
- * <kendo-grid>
23
- * <kendo-grid-command-column title="command">
24
- * <ng-template kendoGridCellTemplate>
25
- * <button kendoGridCancelCommand>Cancel changes</button>
26
- * </ng-template>
27
- * </kendo-grid-command-column>
28
- * </kendo-grid>
29
- * ```
17
+ * is triggered. When the row is not in the edit mode, the button with the `kendoGridCancelCommand` is automatically hidden.
30
18
  *
31
19
  * You can control the content of the button based on the state of the row.
32
20
  *
33
21
  * @example
34
- * ```html-no-run
22
+ * ```html
35
23
  * <kendo-grid>
36
24
  * <kendo-grid-command-column title="command">
37
25
  * <ng-template kendoGridCellTemplate let-isNew="isNew">
@@ -5,13 +5,12 @@
5
5
  import { TemplateRef } from '@angular/core';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
- * Represents the column edit-cell template of the Grid ([see example]({% slug inline_editing_grid %}#toc-using-reactive-forms)).
8
+ * Represents the column edit-cell template of the Grid ([see example](slug:custom_reactive_editing_grid#toc-setting-up-custom-inputs)).
9
9
  * Helps to customize the content of the edited cells. To define the cell template, nest an `<ng-template>`
10
10
  * tag with the `kendoGridEditTemplate` directive inside a `<kendo-grid-column>` tag.
11
11
  *
12
12
  * The template context is set to the current form group and the following additional fields are passed:
13
- * - `formGroup`&mdash;The current [FormGroup](link:site.data.urls.angular['formgroupapi']).
14
- * Represents the default context that will be assigned to any template variable which utilizes the `let-x` syntax&mdash;for example, `let-formGroup`.
13
+ * - `formGroup`&mdash;The current [FormGroup](link:site.data.urls.angular['formgroupapi']). Represents the default context that will be assigned to any template variable which utilizes the `let-x` syntax&mdash;for example, `let-formGroup`.
15
14
  * If you use the Grid inside [Template-Driven Forms](link:site.data.urls.angular['forms']), it will be `undefined`.
16
15
  * - `rowIndex`&mdash;The current data row index. If inside a new item row, `rowIndex` is `-1`. Use it as an alias for a template variable by utilizing the `let-rowIndex="rowIndex"` syntax.
17
16
  * - `dataItem`&mdash;The current data item. Use it as an alias for a template variable by utilizing the `let-dataItem="dataItem"` syntax.
@@ -10,15 +10,15 @@ import { CellContext } from '../rendering/common/cell-context';
10
10
  import * as i0 from "@angular/core";
11
11
  /**
12
12
  * Represents the `remove` command of the Grid. You can apply this directive to any `button` element
13
- * inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %}).
13
+ * inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
14
+ * ([see example](slug:editing_directives_grid#toc-command-column-directives)).
14
15
  * When an associated button with the directive is clicked, the
15
- * [remove event]({% slug api_grid_gridcomponent %}#toc-remove)
16
- * is triggered ([see example]({% slug inline_editing_grid %}#toc-using-reactive-forms))).
17
- *
18
- * > When the row is in the edit mode, the button with the `kendoGridRemoveCommand` is automatically hidden.
16
+ * [remove]({% slug api_grid_gridcomponent %}#toc-remove) event
17
+ * is triggered.
18
+ * When the row is in the edit mode, the button with the `kendoGridRemoveCommand` is automatically hidden.
19
19
  *
20
20
  * @example
21
- * ```html-no-run
21
+ * ```html
22
22
  * <kendo-grid>
23
23
  * <kendo-grid-command-column title="command">
24
24
  * <ng-template kendoGridCellTemplate>
@@ -10,23 +10,11 @@ import { CellContext } from '../rendering/common/cell-context';
10
10
  import * as i0 from "@angular/core";
11
11
  /**
12
12
  * Represents the `save` command of the Grid. You can apply this directive to any `button`
13
- * element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %}).
13
+ * element inside a [CommandColumnComponent]({% slug api_grid_commandcolumncomponent %})
14
+ * ([see example](slug:editing_directives_grid#toc-command-column-directives)).
14
15
  * When an associated button with the directive is clicked, the
15
16
  * [save]({% slug api_grid_gridcomponent %}#toc-save) event
16
- * is triggered ([see example]({% slug basics_editing_grid %})).
17
- *
18
- * > When the row is not in the edit mode, the button with `kendoGridSaveCommand` is automatically hidden.
19
- *
20
- * @example
21
- * ```html-no-run
22
- * <kendo-grid>
23
- * <kendo-grid-command-column title="command">
24
- * <ng-template kendoGridCellTemplate>
25
- * <button kendoGridSaveCommand>Save changes</button>
26
- * </ng-template>
27
- * </kendo-grid-command-column>
28
- * </kendo-grid>
29
- * ```
17
+ * is triggered. When the row is not in the edit mode, the button with `kendoGridSaveCommand` is automatically hidden.
30
18
  *
31
19
  * You can control the content of the button based on the state of the row.
32
20
  *
@@ -10,7 +10,7 @@ import { CreateFormGroup } from '../common/create-form-group';
10
10
  import * as i0 from "@angular/core";
11
11
  /**
12
12
  * A directive which encapsulates the editing operations of the Grid when using the in-cell
13
- * editing with Reactive Forms ([see example]({% slug editing_directives_grid %}#toc-the-incell-directive)).
13
+ * editing with Reactive Forms ([see example]({% slug editing_directives_grid %}#toc-in-cell-editing)).
14
14
  */
15
15
  export declare class InCellEditingDirective extends EditingDirectiveBase {
16
16
  protected grid: GridComponent;
@@ -8,7 +8,7 @@ import { LocalDataChangesService } from '../editing/local-data-changes.service';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
10
10
  * A directive which encapsulates the editing operations of the Grid when using
11
- * the Template-Driven Angular Forms ([see example]({% slug editing_directives_grid %}#toc-the-template-directive)).
11
+ * the Template-Driven Angular Forms ([see example]({% slug editing_directives_grid %}#toc-template-editing-directive)).
12
12
  */
13
13
  export declare class TemplateEditingDirective extends RowEditingDirectiveBase {
14
14
  protected grid: GridComponent;
@@ -6,35 +6,24 @@ import { Directive, Optional, TemplateRef } from '@angular/core';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Represents the content template of the
9
- * [kendo-grid-columnmenu-item]({% slug api_grid_columnmenuitemcomponent %}) component.
9
+ * [`ColumnMenuItemComponent`]({% slug api_grid_columnmenuitemcomponent %}) component.
10
10
  * Provides an option for specifying the content of a column item.
11
11
  * To define the content template, nest an `<ng-template>` tag with the
12
12
  * `kendoGridColumnMenuItemContentTemplate` directive inside a `<kendo-grid-columnmenu-item>`.
13
13
  *
14
14
  * @example
15
- * ```ts-preview
16
- *
17
- * _@Component({
18
- * selector: 'my-app',
19
- * template: `
20
- * <kendo-grid [data]="data" [columnMenu]="true">
21
- * <ng-template kendoGridColumnMenuTemplate>
22
- * <kendo-grid-columnmenu-item text="Item Text" [expanded]="true">
23
- * <ng-template kendoGridColumnMenuItemContentTemplate>
24
- * Item Content
25
- * </ng-template>
26
- * </kendo-grid-columnmenu-item>
27
- * </ng-template>
28
- * <kendo-grid-column field="Field1"></kendo-grid-column>
29
- * <kendo-grid-column field="Field2"></kendo-grid-column>
30
- * </kendo-grid>
31
- * `
32
- * })
33
- *
34
- * class AppComponent {
35
- * public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }];
36
- * }
37
- *
15
+ * ```html
16
+ * <kendo-grid [data]="data" [columnMenu]="true" ...>
17
+ * <ng-template kendoGridColumnMenuTemplate>
18
+ * <kendo-grid-columnmenu-item text="Item Text" [expanded]="true">
19
+ * <ng-template kendoGridColumnMenuItemContentTemplate>
20
+ * Item Content
21
+ * </ng-template>
22
+ * </kendo-grid-columnmenu-item>
23
+ * </ng-template>
24
+ * <kendo-grid-column field="Field1"></kendo-grid-column>
25
+ * ...
26
+ * </kendo-grid>
38
27
  * ```
39
28
  */
40
29
  export class ColumnMenuItemContentTemplateDirective {
@@ -8,40 +8,26 @@ import * as i0 from "@angular/core";
8
8
  * Represents the template for the column menu in the Grid. Provides an option for
9
9
  * customizing the content of the column menu for all or for specific columns.
10
10
  * To define the content template, nest an `<ng-template>` tag with the
11
- * `kendoGridColumnMenuTemplate` directive inside the `kendo-grid` or the `<kendo-grid-column>` component.
11
+ * `kendoGridColumnMenuTemplate` directive inside the `<kendo-grid>` or the `<kendo-grid-column>` component.
12
12
  *
13
13
  * The template context is passes through the following fields:
14
14
  * - `service`&mdash;Represents the [ColumnMenuService]({% slug api_grid_columnmenuservice %}).
15
15
  * - `column`&mdash;Represents the Grid column.
16
16
  *
17
17
  * @example
18
- * ```ts-preview
19
- *
20
- * _@Component({
21
- * selector: 'my-app',
22
- * template: `
23
- * <kendo-grid [kendoGridBinding]="data" [sortable]="true" [columnMenu]="true">
24
- * <ng-template kendoGridColumnMenuTemplate let-service="service">
25
- * <kendo-grid-columnmenu-sort [service]="service">
26
- * </kendo-grid-columnmenu-sort>
27
- * </ng-template>
28
- * <kendo-grid-column field="Field1" [width]="100">
29
- * <ng-template kendoGridColumnMenuTemplate let-service="service">
30
- * <kendo-grid-columnmenu-lock [service]="service">
31
- * </kendo-grid-columnmenu-lock>
32
- * <kendo-grid-columnmenu-sort [service]="service">
33
- * </kendo-grid-columnmenu-sort>
34
- * </ng-template>
35
- * </kendo-grid-column>
36
- * <kendo-grid-column field="Field2" [width]="100"></kendo-grid-column>
37
- * </kendo-grid>
38
- * `
39
- * })
40
- *
41
- * class AppComponent {
42
- * public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }, { Field1: 'Foo1', Field2: 'Bar1' }];
43
- * }
44
- *
18
+ * ```html
19
+ * <kendo-grid [kendoGridBinding]="data" [sortable]="true" [columnMenu]="true">
20
+ * <ng-template kendoGridColumnMenuTemplate let-service="service">
21
+ * <kendo-grid-columnmenu-sort [service]="service"></kendo-grid-columnmenu-sort>
22
+ * </ng-template>
23
+ * <kendo-grid-column field="Field1">
24
+ * <ng-template kendoGridColumnMenuTemplate let-service="service">
25
+ * <kendo-grid-columnmenu-lock [service]="service"></kendo-grid-columnmenu-lock>
26
+ * <kendo-grid-columnmenu-sort [service]="service"></kendo-grid-columnmenu-sort>
27
+ * </ng-template>
28
+ * </kendo-grid-column>
29
+ * <kendo-grid-column field="Field2"></kendo-grid-column>
30
+ * </kendo-grid>
45
31
  * ```
46
32
  */
47
33
  export class ColumnMenuTemplateDirective {
@@ -11,27 +11,15 @@ import * as i1 from "./../filtering/menu/menu-tabbing.service";
11
11
  * [ColumnMenuTemplate]({% slug api_grid_columnmenutemplatedirective %}) directive.
12
12
  *
13
13
  * @example
14
- * ```ts-preview
15
- *
16
- * _@Component({
17
- * selector: 'my-app',
18
- * template: `
19
- * <kendo-grid [data]="data" [columnMenu]="true">
20
- * <ng-template kendoGridColumnMenuTemplate let-service="service">
21
- * <span class="k-icon k-i-x" (click)="service.close()"
22
- * style="position: absolute; right: 5px; top: 5px;cursor: pointer;"></span>
23
- * <kendo-grid-columnmenu-sort [service]="service">
24
- * </kendo-grid-columnmenu-sort>
25
- * </ng-template>
26
- * <kendo-grid-column field="Field1"></kendo-grid-column>
27
- * <kendo-grid-column field="Field2"></kendo-grid-column>
28
- * </kendo-grid>
29
- * `
30
- * })
31
- *
32
- * class AppComponent {
33
- * public data: any[] = [{ Field1: 'Foo', Field2: 'Bar' }];
34
- * }
14
+ * ```html
15
+ * <kendo-grid [data]="data" [columnMenu]="true">
16
+ * <ng-template kendoGridColumnMenuTemplate let-service="service">
17
+ * <span class="k-icon k-i-x" (click)="service.close()" </span>
18
+ * <kendo-grid-columnmenu-sort [service]="service">
19
+ * </kendo-grid-columnmenu-sort>
20
+ * </ng-template>
21
+ * <kendo-grid-column field="Field1"></kendo-grid-column>
22
+ * </kendo-grid>
35
23
  *
36
24
  * ```
37
25
  */
@@ -17,6 +17,10 @@ export const isSpanColumn = column => column.isSpanColumn;
17
17
  * @hidden
18
18
  */
19
19
  export const isCheckboxColumn = column => column.isCheckboxColumn;
20
+ /**
21
+ * @hidden
22
+ */
23
+ export const isRowReorderColumn = column => column.isRowReorderColumn;
20
24
  const isColumnContainer = column => column.isColumnGroup || isSpanColumn(column);
21
25
  /**
22
26
  * The base class for the column components of the Grid.
@@ -32,9 +36,9 @@ export class ColumnBase {
32
36
  */
33
37
  this.matchesMedia = true;
34
38
  /**
35
- * The column index after reordering.
39
+ * The column index after reordering. The `orderIndex` is a read-only property. Setting this field does not affect column order.
36
40
  *
37
- * > `orderIndex` is a read-only property. Setting this field does not affect column order.
41
+ * @default 0
38
42
  */
39
43
  this.orderIndex = 0;
40
44
  /**
@@ -69,18 +73,22 @@ export class ColumnBase {
69
73
  this.sticky = false;
70
74
  /**
71
75
  * Specifies if the column can be locked or unlocked from the column menu or by reordering the columns.
76
+ * @default true
72
77
  */
73
78
  this.lockable = true;
74
79
  /**
75
80
  * Specifies if the column can be stuck or unstuck from the column menu.
81
+ * @default true
76
82
  */
77
83
  this.stickable = true;
78
84
  /**
79
85
  * Specifies if the column menu will be shown for the column.
86
+ * @default true
80
87
  */
81
88
  this.columnMenu = true;
82
89
  /**
83
90
  * Specifies if the column will be included in the column-chooser list.
91
+ * @default true
84
92
  */
85
93
  this.includeInChooser = true;
86
94
  /**
@@ -128,44 +136,6 @@ export class ColumnBase {
128
136
  *
129
137
  * @default false
130
138
  *
131
- * @example
132
- * ```ts
133
- * _@Component({
134
- * selector: 'my-app',
135
- * template: `
136
- * <kendo-grid [data]="gridData" [scrollable]="scrollable" style="height: 200px">
137
- * <kendo-grid-column field="ProductID" title="Product ID" [width]="120" [locked]="true">
138
- * </kendo-grid-column>
139
- * <kendo-grid-column field="ProductName" title="Product Name" [width]="200">
140
- * </kendo-grid-column>
141
- * <kendo-grid-column field="UnitPrice" title="Unit Price" [width]="230">
142
- * </kendo-grid-column>
143
- * </kendo-grid>
144
- * `
145
- * })
146
- *
147
- * class AppComponent {
148
- * public gridData: any[];
149
- *
150
- * constructor() {
151
- * this.gridData = products;
152
- * }
153
- * }
154
- *
155
- * const products = [{
156
- * "ProductID": 1,
157
- * "ProductName": "Chai",
158
- * "UnitPrice": 18.0000,
159
- * "Discontinued": true
160
- * }, {
161
- * "ProductID": 2,
162
- * "ProductName": "Chang",
163
- * "UnitPrice": 19.0000,
164
- * "Discontinued": false
165
- * }
166
- * ];
167
- *
168
- * ```
169
139
  */
170
140
  set locked(value) {
171
141
  this._locked = value;
@@ -0,0 +1,55 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Component, forwardRef, SkipSelf, Host, Optional, Input } from '@angular/core';
6
+ import { ColumnBase } from './column-base';
7
+ import { IdService } from '../common/id.service';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./column-base";
10
+ import * as i2 from "../common/id.service";
11
+ /**
12
+ * Represents the drag handle for reordering rows in the Grid.
13
+ */
14
+ export class RowReorderColumnComponent extends ColumnBase {
15
+ constructor(parent, idService) {
16
+ super(parent, idService);
17
+ this.parent = parent;
18
+ /**
19
+ * @hidden
20
+ */
21
+ this.isRowReorderColumn = true;
22
+ }
23
+ }
24
+ RowReorderColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderColumnComponent, deps: [{ token: i1.ColumnBase, host: true, optional: true, skipSelf: true }, { token: i2.IdService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
25
+ RowReorderColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: RowReorderColumnComponent, selector: "kendo-grid-rowreorder-column", inputs: { dragHandleIcon: "dragHandleIcon", dragHandleSVGIcon: "dragHandleSVGIcon" }, providers: [
26
+ {
27
+ provide: ColumnBase,
28
+ useExisting: forwardRef(() => RowReorderColumnComponent)
29
+ }
30
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RowReorderColumnComponent, decorators: [{
32
+ type: Component,
33
+ args: [{
34
+ providers: [
35
+ {
36
+ provide: ColumnBase,
37
+ useExisting: forwardRef(() => RowReorderColumnComponent)
38
+ }
39
+ ],
40
+ selector: 'kendo-grid-rowreorder-column',
41
+ template: ``
42
+ }]
43
+ }], ctorParameters: function () { return [{ type: i1.ColumnBase, decorators: [{
44
+ type: SkipSelf
45
+ }, {
46
+ type: Host
47
+ }, {
48
+ type: Optional
49
+ }] }, { type: i2.IdService, decorators: [{
50
+ type: Optional
51
+ }] }]; }, propDecorators: { dragHandleIcon: [{
52
+ type: Input
53
+ }], dragHandleSVGIcon: [{
54
+ type: Input
55
+ }] } });
@@ -18,7 +18,7 @@ export class PreventableEvent {
18
18
  this.prevented = true;
19
19
  }
20
20
  /**
21
- * Returns `true` if the event was prevented
21
+ * Returns a respective boolean if the event was prevented
22
22
  * by any of its subscribers.
23
23
  *
24
24
  * @returns `true` if the default action was prevented.
@@ -35,7 +35,7 @@ export class PopupCloseEvent extends PreventableEvent {
35
35
  const DEFAULT_POPUP_CLASS = 'k-grid-filter-popup';
36
36
  /**
37
37
  * The service that is used for the popups of the filter and column menus
38
- * ([see example]({% slug filter_menu %}#toc-custom-filter-row-components)#toc-filter-menu-with-popup).
38
+ * ([see example]({% slug filter_menu %}#toc-filter-menu-with-popup)).
39
39
  */
40
40
  export class SinglePopupService {
41
41
  constructor(popupService, renderer, ngZone, scrollSyncService, localization) {