@progress/kendo-angular-grid 19.0.0-develop.11 → 19.0.0-develop.13
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.
- package/columns/column-base.d.ts +5 -0
- package/columns/span-column.component.d.ts +2 -2
- package/directives.d.ts +6 -3
- package/esm2022/column-resizing/column-handle.directive.mjs +2 -2
- package/esm2022/columns/column-base.mjs +9 -0
- package/esm2022/columns/columns-container.mjs +1 -1
- package/esm2022/columns/span-column.component.mjs +9 -9
- package/esm2022/directives.mjs +9 -2
- package/esm2022/grid.component.mjs +106 -41
- package/esm2022/grid.module.mjs +11 -2
- package/esm2022/index.mjs +5 -0
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/rendering/cell.component.mjs +3 -3
- package/esm2022/rendering/header/header.component.mjs +1 -1
- package/esm2022/rendering/list.component.mjs +1 -1
- package/esm2022/rendering/table-body.component.mjs +1 -1
- package/esm2022/state-management/grid-state.models.mjs +26 -0
- package/esm2022/state-management/redo-command-tool.mjs +66 -0
- package/esm2022/state-management/undo-command-tool.mjs +66 -0
- package/esm2022/state-management/undo-redo.directive.mjs +178 -0
- package/esm2022/state-management/undo-redo.service.mjs +22 -0
- package/esm2022/state-management/undo-redo.stack.mjs +232 -0
- package/esm2022/utils.mjs +13 -0
- package/fesm2022/progress-kendo-angular-grid.mjs +698 -67
- package/grid.component.d.ts +36 -19
- package/grid.module.d.ts +5 -2
- package/index.d.ts +4 -0
- package/package.json +20 -20
- package/rendering/cell.component.d.ts +1 -1
- package/schematics/ngAdd/index.js +4 -4
- package/state-management/grid-state.models.d.ts +58 -0
- package/state-management/redo-command-tool.d.ts +38 -0
- package/state-management/undo-command-tool.d.ts +38 -0
- package/state-management/undo-redo.directive.d.ts +51 -0
- package/state-management/undo-redo.service.d.ts +19 -0
- package/state-management/undo-redo.stack.d.ts +104 -0
- package/utils.d.ts +11 -1
package/columns/column-base.d.ts
CHANGED
|
@@ -271,6 +271,10 @@ export declare class ColumnBase implements AfterViewInit {
|
|
|
271
271
|
*/
|
|
272
272
|
get isLocked(): boolean;
|
|
273
273
|
protected _width: number;
|
|
274
|
+
/**
|
|
275
|
+
* @hidden
|
|
276
|
+
*/
|
|
277
|
+
get id(): string;
|
|
274
278
|
/**
|
|
275
279
|
* @hidden
|
|
276
280
|
*/
|
|
@@ -299,6 +303,7 @@ export declare class ColumnBase implements AfterViewInit {
|
|
|
299
303
|
* @hidden
|
|
300
304
|
*/
|
|
301
305
|
get isVisible(): boolean;
|
|
306
|
+
private _id;
|
|
302
307
|
/**
|
|
303
308
|
* @hidden
|
|
304
309
|
*/
|
|
@@ -39,7 +39,7 @@ export declare class SpanColumnComponent extends ColumnBase {
|
|
|
39
39
|
/**
|
|
40
40
|
* @hidden
|
|
41
41
|
*/
|
|
42
|
-
|
|
42
|
+
children: QueryList<ColumnComponent>;
|
|
43
43
|
/**
|
|
44
44
|
* @hidden
|
|
45
45
|
*/
|
|
@@ -118,5 +118,5 @@ export declare class SpanColumnComponent extends ColumnBase {
|
|
|
118
118
|
*/
|
|
119
119
|
set cellRowspan(cellRowSpan: any);
|
|
120
120
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpanColumnComponent, [{ optional: true; host: true; skipSelf: true; }, { optional: true; }]>;
|
|
121
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SpanColumnComponent, "kendo-grid-span-column", never, { "editable": { "alias": "editable"; "required": false; }; "locked": { "alias": "locked"; "required": false; }; }, {}, ["template", "editTemplate", "
|
|
121
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpanColumnComponent, "kendo-grid-span-column", never, { "editable": { "alias": "editable"; "required": false; }; "locked": { "alias": "locked"; "required": false; }; }, {}, ["template", "editTemplate", "children"], never, true, never>;
|
|
122
122
|
}
|
package/directives.d.ts
CHANGED
|
@@ -140,6 +140,9 @@ import { AddCommandToolbarDirective } from "./editing/add-command-tool.directive
|
|
|
140
140
|
import { RowDragHandleTemplateDirective } from "./row-reordering/drag-handle-template.directive";
|
|
141
141
|
import { RowDragHintTemplateDirective } from "./row-reordering/drag-hint-template.directive";
|
|
142
142
|
import { DialogFormComponent, FormComponent, FormFormFieldComponent } from "./editing/form";
|
|
143
|
+
import { UndoRedoDirective } from "./state-management/undo-redo.directive";
|
|
144
|
+
import { UndoCommandToolbarDirective } from "./state-management/undo-command-tool";
|
|
145
|
+
import { RedoCommandToolbarDirective } from "./state-management/redo-command-tool";
|
|
143
146
|
import { SortCommandToolbarDirective } from "./rendering/toolbar/tools/sort-command-tool.directive";
|
|
144
147
|
import { FilterCommandToolbarDirective } from "./rendering/toolbar/tools/filter-command-tool.directive";
|
|
145
148
|
import { EditCommandToolbarDirective } from "./editing/edit-command-tool.directive";
|
|
@@ -233,13 +236,13 @@ export declare const KENDO_GRID_BODY_EXPORTS: readonly [typeof CommandColumnComp
|
|
|
233
236
|
*
|
|
234
237
|
* Utility array that contains the Grid module declarations
|
|
235
238
|
*/
|
|
236
|
-
export declare const KENDO_GRID_DECLARATIONS: readonly [typeof GridComponent, typeof ListComponent, typeof ToolbarComponent, typeof LocalizedMessagesDirective, typeof CustomMessagesComponent, typeof DataBindingDirective, typeof ToolbarTemplateDirective, typeof SelectionDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GroupBindingDirective, typeof GridMarqueeDirective, typeof GridSpacerComponent, typeof GridToolbarFocusableDirective, typeof StatusBarComponent, typeof StatusBarTemplateDirective, typeof GridClipboardDirective, typeof FormComponent, typeof DialogFormComponent, typeof FormFormFieldComponent];
|
|
239
|
+
export declare const KENDO_GRID_DECLARATIONS: readonly [typeof GridComponent, typeof ListComponent, typeof ToolbarComponent, typeof LocalizedMessagesDirective, typeof CustomMessagesComponent, typeof DataBindingDirective, typeof ToolbarTemplateDirective, typeof SelectionDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GroupBindingDirective, typeof GridMarqueeDirective, typeof GridSpacerComponent, typeof GridToolbarFocusableDirective, typeof StatusBarComponent, typeof StatusBarTemplateDirective, typeof GridClipboardDirective, typeof FormComponent, typeof DialogFormComponent, typeof FormFormFieldComponent, typeof UndoRedoDirective];
|
|
237
240
|
/**
|
|
238
241
|
* @hidden
|
|
239
242
|
*
|
|
240
243
|
* Utility array that contains the Grid module exports
|
|
241
244
|
*/
|
|
242
|
-
export declare const KENDO_GRID_EXPORTS: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective];
|
|
245
|
+
export declare const KENDO_GRID_EXPORTS: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective];
|
|
243
246
|
/**
|
|
244
247
|
* @hidden
|
|
245
248
|
*
|
|
@@ -255,4 +258,4 @@ export declare const KENDO_GRID_PDF_EXPORT: readonly [typeof PDFComponent, typeo
|
|
|
255
258
|
/**
|
|
256
259
|
* Utility array that contains all `Grid` related components and directives
|
|
257
260
|
*/
|
|
258
|
-
export declare const KENDO_GRID: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof ExcelComponent, typeof ExcelCommandDirective, typeof ExcelCommandToolbarDirective, typeof ExcelColumnComponent, typeof ExcelColumnGroupComponent, typeof ExcelFooterTemplateDirective, typeof ExcelGroupFooterTemplateDirective, typeof ExcelGroupHeaderColumnTemplateDirective, typeof ExcelGroupHeaderTemplateDirective, typeof PDFComponent, typeof PDFMarginComponent, typeof PDFCommandDirective, typeof PDFTemplateDirective, typeof PDFCommandToolbarDirective];
|
|
261
|
+
export declare const KENDO_GRID: readonly [typeof GridComponent, typeof ToolbarTemplateDirective, typeof ToolbarComponent, typeof GridSpacerComponent, typeof StatusBarTemplateDirective, typeof DataBindingDirective, typeof SelectionDirective, typeof CustomMessagesComponent, typeof GroupBindingDirective, typeof TemplateEditingDirective, typeof ReactiveEditingDirective, typeof InCellEditingDirective, typeof ExternalEditingDirective, typeof ExpandDetailsDirective, typeof ExpandGroupDirective, typeof GridToolbarFocusableDirective, typeof GroupHeaderTemplateDirective, typeof GroupHeaderColumnTemplateDirective, typeof GroupFooterTemplateDirective, typeof GroupHeaderComponent, typeof GroupPanelComponent, typeof ColumnComponent, typeof ColumnGroupComponent, typeof LogicalCellDirective, typeof LogicalRowDirective, typeof FocusableDirective, typeof FooterTemplateDirective, typeof ColGroupComponent, typeof ResizableContainerDirective, typeof TemplateContextDirective, typeof FieldAccessorPipe, typeof DetailTemplateDirective, typeof SpanColumnComponent, typeof LoadingComponent, typeof GridTableDirective, typeof CommandColumnComponent, typeof CheckboxColumnComponent, typeof SelectionCheckboxDirective, typeof CellTemplateDirective, typeof EditTemplateDirective, typeof RowDragHandleTemplateDirective, typeof RowDragHintTemplateDirective, typeof TableBodyComponent, typeof NoRecordsTemplateDirective, typeof CellComponent, typeof EditCommandDirective, typeof CancelCommandDirective, typeof SaveCommandDirective, typeof RemoveCommandDirective, typeof AddCommandDirective, typeof AddCommandToolbarDirective, typeof EditCommandToolbarDirective, typeof SaveCommandToolbarDirective, typeof RemoveCommandToolbarDirective, typeof CancelCommandToolbarDirective, typeof CellLoadingTemplateDirective, typeof LoadingTemplateDirective, typeof RowReorderColumnComponent, typeof SortCommandToolbarDirective, typeof FilterCommandToolbarDirective, typeof HeaderComponent, typeof HeaderTemplateDirective, typeof ColumnHandleDirective, typeof SelectAllCheckboxDirective, typeof FilterRowComponent, typeof FilterCellComponent, typeof FilterCellTemplateDirective, typeof StringFilterCellComponent, typeof NumericFilterCellComponent, typeof AutoCompleteFilterCellComponent, typeof BooleanFilterCellComponent, typeof FilterCellHostDirective, typeof FilterCellWrapperComponent, typeof DateFilterCellComponent, typeof FilterCellOperatorsComponent, typeof ContainsFilterOperatorComponent, typeof DoesNotContainFilterOperatorComponent, typeof EndsWithFilterOperatorComponent, typeof EqualFilterOperatorComponent, typeof IsEmptyFilterOperatorComponent, typeof IsNotEmptyFilterOperatorComponent, typeof IsNotNullFilterOperatorComponent, typeof IsNullFilterOperatorComponent, typeof NotEqualFilterOperatorComponent, typeof StartsWithFilterOperatorComponent, typeof GreaterFilterOperatorComponent, typeof GreaterOrEqualToFilterOperatorComponent, typeof LessFilterOperatorComponent, typeof LessOrEqualToFilterOperatorComponent, typeof AfterFilterOperatorComponent, typeof AfterEqFilterOperatorComponent, typeof BeforeEqFilterOperatorComponent, typeof BeforeFilterOperatorComponent, typeof FilterMenuComponent, typeof FilterMenuContainerComponent, typeof FilterMenuInputWrapperComponent, typeof StringFilterMenuInputComponent, typeof StringFilterMenuComponent, typeof FilterMenuTemplateDirective, typeof NumericFilterMenuComponent, typeof NumericFilterMenuInputComponent, typeof DateFilterMenuInputComponent, typeof DateFilterMenuComponent, typeof FilterMenuHostDirective, typeof BooleanFilterMenuComponent, typeof FilterMenuDropDownListDirective, typeof BooleanFilterRadioButtonDirective, typeof ColumnChooserComponent, typeof ColumnChooserToolbarDirective, typeof ColumnMenuFilterComponent, typeof ColumnMenuItemComponent, typeof ColumnMenuItemContentTemplateDirective, typeof ColumnMenuSortComponent, typeof ColumnMenuLockComponent, typeof ColumnMenuStickComponent, typeof ColumnMenuPositionComponent, typeof ColumnMenuChooserComponent, typeof ColumnMenuTemplateDirective, typeof ColumnMenuContainerComponent, typeof ColumnMenuItemDirective, typeof ColumnMenuComponent, typeof ColumnMenuAutoSizeColumnComponent, typeof ColumnMenuAutoSizeAllColumnsComponent, typeof GridClipboardDirective, typeof UndoRedoDirective, typeof UndoCommandToolbarDirective, typeof RedoCommandToolbarDirective, typeof ExcelComponent, typeof ExcelCommandDirective, typeof ExcelCommandToolbarDirective, typeof ExcelColumnComponent, typeof ExcelColumnGroupComponent, typeof ExcelFooterTemplateDirective, typeof ExcelGroupFooterTemplateDirective, typeof ExcelGroupHeaderColumnTemplateDirective, typeof ExcelGroupHeaderTemplateDirective, typeof PDFComponent, typeof PDFMarginComponent, typeof PDFCommandDirective, typeof PDFTemplateDirective, typeof PDFCommandToolbarDirective];
|
|
@@ -82,7 +82,7 @@ const indexOf = (target, list) => {
|
|
|
82
82
|
break;
|
|
83
83
|
}
|
|
84
84
|
if ((ignore-- <= 0) && isParentSpanColumn) {
|
|
85
|
-
ignore = current.parent.
|
|
85
|
+
ignore = current.parent.children.length - 1;
|
|
86
86
|
skip += ignore;
|
|
87
87
|
}
|
|
88
88
|
index++;
|
|
@@ -134,7 +134,7 @@ export class ColumnHandleDirective {
|
|
|
134
134
|
const currentLeafs = leafColumns([this.column]).filter(column => isTruthy(column.resizable));
|
|
135
135
|
const columnInfo = currentLeafs.map(column => {
|
|
136
136
|
const isParentSpan = isInSpanColumn(column);
|
|
137
|
-
const isLastInSpan = isParentSpan ? column.parent.
|
|
137
|
+
const isLastInSpan = isParentSpan ? column.parent.children.last === column : false;
|
|
138
138
|
const index = indexOf(column, allLeafs);
|
|
139
139
|
return {
|
|
140
140
|
column,
|
|
@@ -24,6 +24,7 @@ export const isCheckboxColumn = column => column.isCheckboxColumn;
|
|
|
24
24
|
*/
|
|
25
25
|
export const isRowReorderColumn = column => column.isRowReorderColumn;
|
|
26
26
|
const isColumnContainer = column => column.isColumnGroup || isSpanColumn(column);
|
|
27
|
+
let columnId = 0;
|
|
27
28
|
/**
|
|
28
29
|
* The base class for the column components of the Grid.
|
|
29
30
|
*/
|
|
@@ -300,6 +301,12 @@ export class ColumnBase {
|
|
|
300
301
|
return this.parent ? this.parent.isLocked : this.locked;
|
|
301
302
|
}
|
|
302
303
|
_width;
|
|
304
|
+
/**
|
|
305
|
+
* @hidden
|
|
306
|
+
*/
|
|
307
|
+
get id() {
|
|
308
|
+
return this._id;
|
|
309
|
+
}
|
|
303
310
|
/**
|
|
304
311
|
* @hidden
|
|
305
312
|
*/
|
|
@@ -344,6 +351,7 @@ export class ColumnBase {
|
|
|
344
351
|
get isVisible() {
|
|
345
352
|
return !this.hidden && this.matchesMedia;
|
|
346
353
|
}
|
|
354
|
+
_id;
|
|
347
355
|
/**
|
|
348
356
|
* @hidden
|
|
349
357
|
*/
|
|
@@ -353,6 +361,7 @@ export class ColumnBase {
|
|
|
353
361
|
if (parent && idService && parent.idService.gridId() === idService.gridId() && !isColumnContainer(parent)) {
|
|
354
362
|
throw new Error(ColumnConfigurationErrorMessages.columnNested);
|
|
355
363
|
}
|
|
364
|
+
this._id = `k-grid-column-${columnId++}`;
|
|
356
365
|
}
|
|
357
366
|
ngAfterViewInit() {
|
|
358
367
|
this.initialMaxResizableWidth = this.maxResizableWidth;
|
|
@@ -48,7 +48,7 @@ export class SpanColumnComponent extends ColumnBase {
|
|
|
48
48
|
/**
|
|
49
49
|
* @hidden
|
|
50
50
|
*/
|
|
51
|
-
|
|
51
|
+
children = new QueryList();
|
|
52
52
|
/**
|
|
53
53
|
* @hidden
|
|
54
54
|
*/
|
|
@@ -91,13 +91,13 @@ export class SpanColumnComponent extends ColumnBase {
|
|
|
91
91
|
set width(_value) {
|
|
92
92
|
}
|
|
93
93
|
get width() {
|
|
94
|
-
return this.
|
|
94
|
+
return this.children.reduce((total, column) => total + column.width, 0);
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
97
97
|
* @hidden
|
|
98
98
|
*/
|
|
99
99
|
get leafIndex() {
|
|
100
|
-
return this.
|
|
100
|
+
return this.children.first.leafIndex;
|
|
101
101
|
}
|
|
102
102
|
_editable = true;
|
|
103
103
|
constructor(parent, idService) {
|
|
@@ -124,7 +124,7 @@ export class SpanColumnComponent extends ColumnBase {
|
|
|
124
124
|
* @hidden
|
|
125
125
|
*/
|
|
126
126
|
get colspan() {
|
|
127
|
-
return this.
|
|
127
|
+
return this.children.filter(c => c.isVisible).length;
|
|
128
128
|
}
|
|
129
129
|
/**
|
|
130
130
|
* Toggles the locked (frozen) state of the columns ([see example](slug:locked_columns_grid)).
|
|
@@ -134,13 +134,13 @@ export class SpanColumnComponent extends ColumnBase {
|
|
|
134
134
|
this._locked = value;
|
|
135
135
|
}
|
|
136
136
|
get locked() {
|
|
137
|
-
return this._locked || this.
|
|
137
|
+
return this._locked || this.children.some(c => c.locked);
|
|
138
138
|
}
|
|
139
139
|
get childrenArray() {
|
|
140
|
-
return this.
|
|
140
|
+
return this.children.toArray();
|
|
141
141
|
}
|
|
142
142
|
get hasChildren() {
|
|
143
|
-
return this.
|
|
143
|
+
return this.children.length > 0;
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
146
|
* @hidden
|
|
@@ -156,7 +156,7 @@ export class SpanColumnComponent extends ColumnBase {
|
|
|
156
156
|
provide: ColumnBase,
|
|
157
157
|
useExisting: forwardRef(() => SpanColumnComponent)
|
|
158
158
|
}
|
|
159
|
-
], queries: [{ propertyName: "template", predicate: CellTemplateDirective }, { propertyName: "editTemplate", predicate: EditTemplateDirective }, { propertyName: "
|
|
159
|
+
], queries: [{ propertyName: "template", predicate: CellTemplateDirective }, { propertyName: "editTemplate", predicate: EditTemplateDirective }, { propertyName: "children", predicate: ColumnComponent }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
160
160
|
}
|
|
161
161
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpanColumnComponent, decorators: [{
|
|
162
162
|
type: Component,
|
|
@@ -185,7 +185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
185
185
|
}], editTemplate: [{
|
|
186
186
|
type: ContentChildren,
|
|
187
187
|
args: [EditTemplateDirective, { descendants: false }]
|
|
188
|
-
}],
|
|
188
|
+
}], children: [{
|
|
189
189
|
type: ContentChildren,
|
|
190
190
|
args: [ColumnComponent]
|
|
191
191
|
}], editable: [{
|
package/esm2022/directives.mjs
CHANGED
|
@@ -148,6 +148,9 @@ import { AddCommandToolbarDirective } from "./editing/add-command-tool.directive
|
|
|
148
148
|
import { RowDragHandleTemplateDirective } from "./row-reordering/drag-handle-template.directive";
|
|
149
149
|
import { RowDragHintTemplateDirective } from "./row-reordering/drag-hint-template.directive";
|
|
150
150
|
import { DialogFormComponent, FormComponent, FormFormFieldComponent } from "./editing/form";
|
|
151
|
+
import { UndoRedoDirective } from "./state-management/undo-redo.directive";
|
|
152
|
+
import { UndoCommandToolbarDirective } from "./state-management/undo-command-tool";
|
|
153
|
+
import { RedoCommandToolbarDirective } from "./state-management/redo-command-tool";
|
|
151
154
|
import { SortCommandToolbarDirective } from "./rendering/toolbar/tools/sort-command-tool.directive";
|
|
152
155
|
import { FilterCommandToolbarDirective } from "./rendering/toolbar/tools/filter-command-tool.directive";
|
|
153
156
|
import { EditCommandToolbarDirective } from "./editing/edit-command-tool.directive";
|
|
@@ -412,7 +415,8 @@ export const KENDO_GRID_DECLARATIONS = [
|
|
|
412
415
|
GridClipboardDirective,
|
|
413
416
|
FormComponent,
|
|
414
417
|
DialogFormComponent,
|
|
415
|
-
FormFormFieldComponent
|
|
418
|
+
FormFormFieldComponent,
|
|
419
|
+
UndoRedoDirective,
|
|
416
420
|
];
|
|
417
421
|
/**
|
|
418
422
|
* @hidden
|
|
@@ -444,7 +448,10 @@ export const KENDO_GRID_EXPORTS = [
|
|
|
444
448
|
...KENDO_GRID_FILTER_OPERATORS,
|
|
445
449
|
...KENDO_GRID_FILTER_MENU_EXPORTS,
|
|
446
450
|
...KENDO_GRID_COLUMN_MENU_EXPORTS,
|
|
447
|
-
GridClipboardDirective
|
|
451
|
+
GridClipboardDirective,
|
|
452
|
+
UndoRedoDirective,
|
|
453
|
+
UndoCommandToolbarDirective,
|
|
454
|
+
RedoCommandToolbarDirective,
|
|
448
455
|
];
|
|
449
456
|
/**
|
|
450
457
|
* @hidden
|
|
@@ -6,7 +6,7 @@ import { Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Inpu
|
|
|
6
6
|
import { ZoneAwareEventEmitter } from './common/event-emitter';
|
|
7
7
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
8
8
|
import { merge } from 'rxjs';
|
|
9
|
-
import { map, tap, take, filter, switchMap, takeUntil } from 'rxjs/operators';
|
|
9
|
+
import { map, tap, take, filter, switchMap, takeUntil, flatMap } from 'rxjs/operators';
|
|
10
10
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
11
|
import { packageMetadata } from './package-metadata';
|
|
12
12
|
import { ColumnComponent, isColumnComponent } from './columns/column.component';
|
|
@@ -14,7 +14,7 @@ import { isSpanColumnComponent } from './columns/span-column.component';
|
|
|
14
14
|
import { isColumnGroupComponent, ColumnGroupComponent } from './columns/column-group.component';
|
|
15
15
|
import { DetailTemplateDirective } from './rendering/details/detail-template.directive';
|
|
16
16
|
import { normalize } from './common/pager-settings';
|
|
17
|
-
import { isArray, anyChanged, isChanged, isPresent, isUniversal, observe, isTruthy, createPromise, hasObservers, roundDown } from './utils';
|
|
17
|
+
import { isArray, anyChanged, isChanged, isPresent, isUniversal, observe, isTruthy, createPromise, hasObservers, roundDown, recursiveColumnsFlatMap } from './utils';
|
|
18
18
|
import { BrowserSupportService } from './layout/browser-support.service';
|
|
19
19
|
import { DataResultIterator, DataCollection } from './data/data.collection';
|
|
20
20
|
import { SelectionService } from './selection/selection.service';
|
|
@@ -572,6 +572,21 @@ export class GridComponent {
|
|
|
572
572
|
this.defaultSelection ? this.defaultSelection.stateToArray() : this.selectionDirective.stateToArray() :
|
|
573
573
|
[];
|
|
574
574
|
}
|
|
575
|
+
/**
|
|
576
|
+
* The current Grid `GridState` objects. Contains the information about data operations and column state, required
|
|
577
|
+
* to store and restore the Grid state.
|
|
578
|
+
*/
|
|
579
|
+
get currentState() {
|
|
580
|
+
return {
|
|
581
|
+
filter: this.filter,
|
|
582
|
+
group: this.group,
|
|
583
|
+
sort: this.sort,
|
|
584
|
+
skip: this.skip,
|
|
585
|
+
take: this.pageSize,
|
|
586
|
+
columnsState: this.columns.toArray().flatMap(recursiveColumnsFlatMap),
|
|
587
|
+
currentData: structuredClone(this.data)
|
|
588
|
+
};
|
|
589
|
+
}
|
|
575
590
|
/**
|
|
576
591
|
* If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells
|
|
577
592
|
* ([see example]({% slug resizing_columns_grid %})).
|
|
@@ -616,6 +631,25 @@ export class GridComponent {
|
|
|
616
631
|
* @default false
|
|
617
632
|
*/
|
|
618
633
|
showInactiveTools = false;
|
|
634
|
+
/**
|
|
635
|
+
* A function which determines if a specific row is expanded.
|
|
636
|
+
*/
|
|
637
|
+
set isDetailExpanded(callback) {
|
|
638
|
+
this.detailsService.userCallback = callback;
|
|
639
|
+
}
|
|
640
|
+
get isDetailExpanded() {
|
|
641
|
+
return this.detailsService.userCallback;
|
|
642
|
+
}
|
|
643
|
+
/**
|
|
644
|
+
* A function which determines if a specific group row is expanded.
|
|
645
|
+
*/
|
|
646
|
+
set isGroupExpanded(callback) {
|
|
647
|
+
this.groupsService.userCallback = callback;
|
|
648
|
+
this.groupable = isPresent(callback);
|
|
649
|
+
}
|
|
650
|
+
get isGroupExpanded() {
|
|
651
|
+
return this.groupsService.userCallback;
|
|
652
|
+
}
|
|
619
653
|
/**
|
|
620
654
|
* Fires when the Grid filter is modified through the UI.
|
|
621
655
|
* You have to handle the event yourself and filter the data.
|
|
@@ -648,6 +682,10 @@ export class GridComponent {
|
|
|
648
682
|
* Fires when the data state of the Grid is changed.
|
|
649
683
|
*/
|
|
650
684
|
dataStateChange = new EventEmitter();
|
|
685
|
+
/**
|
|
686
|
+
* Fires when the data or columns state of the Grid is changed.
|
|
687
|
+
*/
|
|
688
|
+
gridStateChange = new EventEmitter();
|
|
651
689
|
/**
|
|
652
690
|
* Fires when the user expands a group header.
|
|
653
691
|
*/
|
|
@@ -894,6 +932,12 @@ export class GridComponent {
|
|
|
894
932
|
get navigation() {
|
|
895
933
|
return this.navigationService;
|
|
896
934
|
}
|
|
935
|
+
/**
|
|
936
|
+
* @hidden
|
|
937
|
+
*/
|
|
938
|
+
get flatData() {
|
|
939
|
+
return isArray(this.data) ? this.data : this.data.data;
|
|
940
|
+
}
|
|
897
941
|
shouldGenerateColumns = true;
|
|
898
942
|
direction;
|
|
899
943
|
notifyTimeout = null;
|
|
@@ -1004,6 +1048,7 @@ export class GridComponent {
|
|
|
1004
1048
|
* @hidden
|
|
1005
1049
|
*/
|
|
1006
1050
|
blockArrowSelection = false;
|
|
1051
|
+
undoRedoService;
|
|
1007
1052
|
selectionSubscription;
|
|
1008
1053
|
stateChangeSubscription;
|
|
1009
1054
|
groupExpandCollapseSubscription;
|
|
@@ -1175,6 +1220,7 @@ export class GridComponent {
|
|
|
1175
1220
|
}
|
|
1176
1221
|
this.initSelectionService();
|
|
1177
1222
|
this.updateNavigationMetadata();
|
|
1223
|
+
this.currentState.currentData = this.data;
|
|
1178
1224
|
}
|
|
1179
1225
|
ngOnChanges(changes) {
|
|
1180
1226
|
if (isChanged("data", changes)) {
|
|
@@ -1384,6 +1430,12 @@ export class GridComponent {
|
|
|
1384
1430
|
const target = isNaN(columnIndex) ? row : `${row} td[data-kendo-grid-column-index="${columnIndex}"]`;
|
|
1385
1431
|
this.focusEditElement(target);
|
|
1386
1432
|
}
|
|
1433
|
+
/**
|
|
1434
|
+
* @hidden
|
|
1435
|
+
*/
|
|
1436
|
+
handleReorderEvents(ev, evType) {
|
|
1437
|
+
this.rowReorderService[evType](ev);
|
|
1438
|
+
}
|
|
1387
1439
|
/**
|
|
1388
1440
|
* Closes the editor for a given row ([see example]({% slug inline_editing_grid %}#toc-canceling-editing-1)).
|
|
1389
1441
|
*
|
|
@@ -1477,6 +1529,42 @@ export class GridComponent {
|
|
|
1477
1529
|
saveAsExcel() {
|
|
1478
1530
|
this.excelService.save(this);
|
|
1479
1531
|
}
|
|
1532
|
+
/**
|
|
1533
|
+
* Applies the provided `GridState` object to the Grid.
|
|
1534
|
+
*/
|
|
1535
|
+
loadState(state) {
|
|
1536
|
+
this.traverseColumns(this.columns, (column) => {
|
|
1537
|
+
const columnState = state.columnsState.find((col) => col.id === column.id);
|
|
1538
|
+
if (columnState) {
|
|
1539
|
+
column.width = columnState.width;
|
|
1540
|
+
column.hidden = columnState.hidden;
|
|
1541
|
+
column.locked = columnState.locked;
|
|
1542
|
+
column.sticky = columnState.sticky;
|
|
1543
|
+
column.orderIndex = columnState.orderIndex;
|
|
1544
|
+
}
|
|
1545
|
+
});
|
|
1546
|
+
this.columns.reset(this.columns.toArray());
|
|
1547
|
+
this.columnsContainer.refresh();
|
|
1548
|
+
this.sort = state.sort;
|
|
1549
|
+
this.group = state.group;
|
|
1550
|
+
this.filter = state.filter;
|
|
1551
|
+
this.group = state.group;
|
|
1552
|
+
this.skip = state.skip;
|
|
1553
|
+
this.pageSize = state.take;
|
|
1554
|
+
this.data = state.currentData;
|
|
1555
|
+
this.changeNotification.notify();
|
|
1556
|
+
this.changeDetectorRef.detectChanges();
|
|
1557
|
+
}
|
|
1558
|
+
traverseColumns(columns, callback) {
|
|
1559
|
+
columns.forEach((column) => {
|
|
1560
|
+
if (column.isColumnGroup || column.isSpanColumn) {
|
|
1561
|
+
this.traverseColumns(column.children, callback);
|
|
1562
|
+
}
|
|
1563
|
+
else {
|
|
1564
|
+
callback(column);
|
|
1565
|
+
}
|
|
1566
|
+
});
|
|
1567
|
+
}
|
|
1480
1568
|
/**
|
|
1481
1569
|
* Applies the minimum possible width for the specified column,
|
|
1482
1570
|
* so that the whole text fits without wrapping. This method expects the Grid
|
|
@@ -1627,7 +1715,7 @@ export class GridComponent {
|
|
|
1627
1715
|
return;
|
|
1628
1716
|
}
|
|
1629
1717
|
if (isSpanColumnComponent(target) && !options.before) {
|
|
1630
|
-
target = target.
|
|
1718
|
+
target = target.children.last;
|
|
1631
1719
|
}
|
|
1632
1720
|
this.reorder({
|
|
1633
1721
|
before: options.before,
|
|
@@ -1635,37 +1723,6 @@ export class GridComponent {
|
|
|
1635
1723
|
target: target
|
|
1636
1724
|
});
|
|
1637
1725
|
}
|
|
1638
|
-
/**
|
|
1639
|
-
* A function which determines if a specific row is expanded.
|
|
1640
|
-
*/
|
|
1641
|
-
set isDetailExpanded(callback) {
|
|
1642
|
-
this.detailsService.userCallback = callback;
|
|
1643
|
-
}
|
|
1644
|
-
get isDetailExpanded() {
|
|
1645
|
-
return this.detailsService.userCallback;
|
|
1646
|
-
}
|
|
1647
|
-
/**
|
|
1648
|
-
* A function which determines if a specific group row is expanded.
|
|
1649
|
-
*/
|
|
1650
|
-
set isGroupExpanded(callback) {
|
|
1651
|
-
this.groupsService.userCallback = callback;
|
|
1652
|
-
this.groupable = isPresent(callback);
|
|
1653
|
-
}
|
|
1654
|
-
get isGroupExpanded() {
|
|
1655
|
-
return this.groupsService.userCallback;
|
|
1656
|
-
}
|
|
1657
|
-
/**
|
|
1658
|
-
* @hidden
|
|
1659
|
-
*/
|
|
1660
|
-
handleReorderEvents(ev, evType) {
|
|
1661
|
-
this.rowReorderService[evType](ev);
|
|
1662
|
-
}
|
|
1663
|
-
/**
|
|
1664
|
-
* @hidden
|
|
1665
|
-
*/
|
|
1666
|
-
get flatData() {
|
|
1667
|
-
return isArray(this.data) ? this.data : this.data.data;
|
|
1668
|
-
}
|
|
1669
1726
|
/**
|
|
1670
1727
|
* @hidden
|
|
1671
1728
|
*/
|
|
@@ -1719,7 +1776,7 @@ export class GridComponent {
|
|
|
1719
1776
|
let toSkip = 1;
|
|
1720
1777
|
// Possible only when called from the API.
|
|
1721
1778
|
if (source.isSpanColumn) {
|
|
1722
|
-
toSkip += source.
|
|
1779
|
+
toSkip += source.children.length;
|
|
1723
1780
|
}
|
|
1724
1781
|
let i = 0;
|
|
1725
1782
|
while (i < expandedColumns.length) {
|
|
@@ -1915,7 +1972,13 @@ export class GridComponent {
|
|
|
1915
1972
|
this.blockArrowSelection = true;
|
|
1916
1973
|
}
|
|
1917
1974
|
this.dataStateChange.emit(x);
|
|
1975
|
+
this.gridStateChange.emit({ ...x, columnsState: this.currentState.columnsState, currentData: this.currentState.currentData });
|
|
1976
|
+
if (this.undoRedoService) {
|
|
1977
|
+
this.undoRedoService.originalEvent = x;
|
|
1978
|
+
}
|
|
1918
1979
|
});
|
|
1980
|
+
this.stateChangeSubscription.add(merge(this.columnReorder, this.columnResize, this.columnVisibilityChange, this.columnLockedChange, this.columnStickyChange).pipe(flatMap(() => this.ngZone.onStable.pipe(take(1))))
|
|
1981
|
+
.subscribe(() => this.ngZone.run(() => this.gridStateChange.emit(this.currentState))));
|
|
1919
1982
|
}
|
|
1920
1983
|
attachEditHandlers() {
|
|
1921
1984
|
if (!this.editService) {
|
|
@@ -2209,7 +2272,7 @@ export class GridComponent {
|
|
|
2209
2272
|
this.dropTargetContainer?.notify();
|
|
2210
2273
|
}
|
|
2211
2274
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, deps: [{ token: i1.BrowserSupportService }, { token: i2.SelectionService }, { token: i3.CellSelectionService }, { token: i0.ElementRef }, { token: i4.GroupInfoService }, { token: i5.GroupsService }, { token: i6.ChangeNotificationService }, { token: i7.DetailsService }, { token: i8.EditService }, { token: i9.FilterService }, { token: i10.PDFService }, { token: i11.ResponsiveService }, { token: i0.Renderer2 }, { token: i12.ExcelService }, { token: i0.NgZone }, { token: i13.ScrollSyncService }, { token: i14.DomEventsService }, { token: i15.ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: i16.ColumnReorderService }, { token: i17.ColumnInfoService }, { token: i18.NavigationService }, { token: i19.SortService }, { token: i20.ScrollRequestService }, { token: i21.LocalizationService }, { token: i22.ContextService }, { token: i23.SizingOptionsService }, { token: i24.RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2212
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridComponent, isStandalone: true, selector: "kendo-grid", inputs: { data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", skip: "skip", scrollable: "scrollable", selectable: "selectable", sort: "sort", size: "size", trackBy: "trackBy", filter: "filter", group: "group", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", groupable: "groupable", gridResizable: "gridResizable", rowReorderable: "rowReorderable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", rowSticky: "rowSticky", rowSelected: "rowSelected", isRowSelectable: "isRowSelectable", cellSelected: "cellSelected", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", showInactiveTools: "showInactiveTools", isDetailExpanded: "isDetailExpanded", isGroupExpanded: "isGroupExpanded" }, outputs: { filterChange: "filterChange", pageChange: "pageChange", groupChange: "groupChange", sortChange: "sortChange", selectionChange: "selectionChange", rowReorder: "rowReorder", dataStateChange: "dataStateChange", groupExpand: "groupExpand", groupCollapse: "groupCollapse", detailExpand: "detailExpand", detailCollapse: "detailCollapse", 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", columnStickyChange: "columnStickyChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClass", "class.k-grid-sm": "this.sizeSmallClass", "class.k-grid-md": "this.sizeMediumClass", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass", "class.k-grid-resizable": "this.isResizable", "style.minWidth": "this.minWidth", "style.maxWidth": "this.maxWidth", "style.minHeight": "this.minHeight", "style.maxHeight": "this.maxHeight" } }, providers: [
|
|
2275
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridComponent, isStandalone: true, selector: "kendo-grid", inputs: { data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", detailRowHeight: "detailRowHeight", skip: "skip", scrollable: "scrollable", selectable: "selectable", sort: "sort", size: "size", trackBy: "trackBy", filter: "filter", group: "group", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", groupable: "groupable", gridResizable: "gridResizable", rowReorderable: "rowReorderable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", rowSticky: "rowSticky", rowSelected: "rowSelected", isRowSelectable: "isRowSelectable", cellSelected: "cellSelected", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", showInactiveTools: "showInactiveTools", isDetailExpanded: "isDetailExpanded", isGroupExpanded: "isGroupExpanded" }, outputs: { filterChange: "filterChange", pageChange: "pageChange", groupChange: "groupChange", sortChange: "sortChange", selectionChange: "selectionChange", rowReorder: "rowReorder", dataStateChange: "dataStateChange", gridStateChange: "gridStateChange", groupExpand: "groupExpand", groupCollapse: "groupCollapse", detailExpand: "detailExpand", detailCollapse: "detailCollapse", 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", columnStickyChange: "columnStickyChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClass", "class.k-grid-sm": "this.sizeSmallClass", "class.k-grid-md": "this.sizeMediumClass", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass", "class.k-grid-resizable": "this.isResizable", "style.minWidth": "this.minWidth", "style.maxWidth": "this.maxWidth", "style.minHeight": "this.minHeight", "style.maxHeight": "this.maxHeight" } }, providers: [
|
|
2213
2276
|
BrowserSupportService,
|
|
2214
2277
|
LocalizationService,
|
|
2215
2278
|
ColumnInfoService,
|
|
@@ -2969,7 +3032,7 @@ export class GridComponent {
|
|
|
2969
3032
|
<div #dialogContainer></div>
|
|
2970
3033
|
|
|
2971
3034
|
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
|
|
2972
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns", "totalColumnsCount"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "component", type: i25.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i25.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i25.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["size"] }, { kind: "component", type: i25.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i25.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i25.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["pageSizes", "size"] }, { kind: "component", type: i25.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i25.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i25.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
3035
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: GridToolbarComponent, selector: "kendo-grid-toolbar", inputs: ["position", "size", "navigable"] }, { kind: "component", type: GroupPanelComponent, selector: "kendo-grid-group-panel", inputs: ["text", "navigable", "groups"], outputs: ["change"] }, { kind: "directive", type: TableDirective, selector: "[kendoGridResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "directive", type: GridTableDirective, selector: "[kendoGridTable]", inputs: ["size"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoGridColGroup]", inputs: ["columns", "groups", "detailTemplate", "sort"] }, { kind: "component", type: HeaderComponent, selector: "[kendoGridHeader]", inputs: ["totalColumnLevels", "columns", "groups", "detailTemplate", "scrollable", "filterable", "sort", "filter", "sortable", "groupable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns", "tabIndex", "size"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoGridResizableContainer]", inputs: ["lockedWidth", "kendoGridResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-grid-list", inputs: ["data", "groups", "total", "rowHeight", "stickyRowHeight", "detailRowHeight", "take", "skip", "columns", "detailTemplate", "noRecordsTemplate", "selectable", "groupable", "filterable", "rowClass", "rowSticky", "loading", "trackBy", "virtualColumns", "isVirtual", "cellLoadingTemplate", "loadingTemplate", "sort", "size"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: GridMarqueeDirective, selector: "[kendoGridSelectionMarquee]" }, { kind: "component", type: FooterComponent, selector: "[kendoGridFooter]", inputs: ["columns", "groups", "detailTemplate", "scrollable", "lockedColumnsCount", "logicalRowIndex", "totalColumns", "totalColumnsCount"] }, { kind: "component", type: TableBodyComponent, selector: "[kendoGridTableBody]", inputs: ["columns", "allColumns", "groups", "detailTemplate", "noRecordsTemplate", "data", "skip", "selectable", "filterable", "noRecordsText", "isLocked", "isLoading", "isVirtual", "cellLoadingTemplate", "skipGroupDecoration", "showGroupFooters", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "trackBy", "rowSticky", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoGridLoading]", inputs: ["loadingTemplate"] }, { kind: "component", type: StatusBarComponent, selector: "kendo-grid-status-bar", inputs: ["statusBarTemplate"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }, { kind: "component", type: i25.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i25.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i25.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["showPageText", "size"] }, { kind: "component", type: i25.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i25.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i25.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["showItemsText", "pageSizes", "size", "adaptiveMode"] }, { kind: "component", type: i25.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i25.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i25.PagerComponent, selector: "kendo-datapager, kendo-pager", inputs: ["externalTemplate", "total", "skip", "pageSize", "buttonCount", "info", "type", "pageSizeValues", "previousNext", "navigable", "size", "responsive", "adaptiveMode"], outputs: ["pageChange", "pageSizeChange"], exportAs: ["kendoDataPager", "kendoPager"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
2973
3036
|
}
|
|
2974
3037
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, decorators: [{
|
|
2975
3038
|
type: Component,
|
|
@@ -3816,6 +3879,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3816
3879
|
type: Input
|
|
3817
3880
|
}], showInactiveTools: [{
|
|
3818
3881
|
type: Input
|
|
3882
|
+
}], isDetailExpanded: [{
|
|
3883
|
+
type: Input
|
|
3884
|
+
}], isGroupExpanded: [{
|
|
3885
|
+
type: Input
|
|
3819
3886
|
}], filterChange: [{
|
|
3820
3887
|
type: Output
|
|
3821
3888
|
}], pageChange: [{
|
|
@@ -3830,6 +3897,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3830
3897
|
type: Output
|
|
3831
3898
|
}], dataStateChange: [{
|
|
3832
3899
|
type: Output
|
|
3900
|
+
}], gridStateChange: [{
|
|
3901
|
+
type: Output
|
|
3833
3902
|
}], groupExpand: [{
|
|
3834
3903
|
type: Output
|
|
3835
3904
|
}], groupCollapse: [{
|
|
@@ -3954,8 +4023,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3954
4023
|
}], dialogContainer: [{
|
|
3955
4024
|
type: ViewChild,
|
|
3956
4025
|
args: ['dialogContainer', { read: ViewContainerRef }]
|
|
3957
|
-
}], isDetailExpanded: [{
|
|
3958
|
-
type: Input
|
|
3959
|
-
}], isGroupExpanded: [{
|
|
3960
|
-
type: Input
|
|
3961
4026
|
}] } });
|