@progress/kendo-angular-grid 19.0.0-develop.10 → 19.0.0-develop.12
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/column-menu/column-chooser-tool.directive.d.ts +6 -6
- package/columns/column-base.d.ts +5 -0
- package/columns/span-column.component.d.ts +2 -2
- package/common/toolbar-tool-base.directive.d.ts +26 -0
- package/directives.d.ts +11 -4
- package/editing/add-command-tool.directive.d.ts +7 -6
- package/editing/cancel-command-tool.directive.d.ts +38 -0
- package/editing/edit-command-tool.directive.d.ts +38 -0
- package/editing/edit.service.d.ts +1 -1
- package/editing/remove-command-tool.directive.d.ts +39 -0
- package/editing/save-command-tool.directive.d.ts +38 -0
- package/editing/toolbar-editing-tool-base.directive.d.ts +29 -0
- package/esm2022/column-menu/column-chooser-tool.directive.mjs +17 -30
- 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/common/toolbar-tool-base.directive.mjs +81 -0
- package/esm2022/directives.mjs +17 -2
- package/esm2022/editing/add-command-tool.directive.mjs +12 -15
- package/esm2022/editing/cancel-command-tool.directive.mjs +64 -0
- package/esm2022/editing/edit-command-tool.directive.mjs +59 -0
- package/esm2022/editing/remove-command-tool.directive.mjs +60 -0
- package/esm2022/editing/remove-command.directive.mjs +1 -0
- package/esm2022/editing/save-command-tool.directive.mjs +64 -0
- package/esm2022/editing/toolbar-editing-tool-base.directive.mjs +91 -0
- package/esm2022/excel/excel-command-tool.directive.mjs +12 -17
- package/esm2022/grid.component.mjs +155 -40
- package/esm2022/grid.module.mjs +114 -101
- package/esm2022/index.mjs +9 -0
- package/esm2022/localization/messages.mjs +43 -1
- package/esm2022/navigation/toolbar-tool-name.mjs +17 -0
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/pdf/pdf-command-tool.directive.mjs +12 -15
- 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/selection/selection.service.mjs +11 -0
- 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/excel/excel-command-tool.directive.d.ts +5 -5
- package/fesm2022/progress-kendo-angular-grid.mjs +1213 -162
- package/grid.component.d.ts +42 -19
- package/grid.module.d.ts +107 -100
- package/index.d.ts +8 -0
- package/localization/messages.d.ts +29 -1
- package/navigation/toolbar-tool-name.d.ts +17 -0
- package/package.json +20 -20
- package/pdf/pdf-command-tool.directive.d.ts +6 -5
- package/rendering/cell.component.d.ts +1 -1
- package/schematics/ngAdd/index.js +4 -4
- package/selection/selection.service.d.ts +1 -0
- 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
|
@@ -6,15 +6,15 @@ import * as i0 from '@angular/core';
|
|
|
6
6
|
import { EventEmitter, Injectable, SecurityContext, InjectionToken, Optional, Inject, Directive, SkipSelf, Input, isDevMode, QueryList, Component, ContentChildren, ContentChild, forwardRef, Host, Output, HostBinding, Pipe, TemplateRef, ChangeDetectionStrategy, ViewChildren, ViewChild, Self, NgZone, HostListener, ViewContainerRef, ViewEncapsulation, inject, ElementRef, Injector, NgModule } from '@angular/core';
|
|
7
7
|
import { merge, of, Subject, zip as zip$1, from, Subscription, interval, fromEvent, Observable, BehaviorSubject } from 'rxjs';
|
|
8
8
|
import * as i1$3 from '@progress/kendo-angular-common';
|
|
9
|
-
import { isDocumentAvailable, Keys, isPresent as isPresent$1, anyChanged, TemplateContextDirective, DraggableDirective, EventsOutsideAngularDirective, isChanged as isChanged$1, KendoInput, guid, closest as closest$1, hasObservers, ResizeSensorComponent, isFocusable as isFocusable$1, shouldShowValidationUI, WatermarkOverlayComponent, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
9
|
+
import { isDocumentAvailable, Keys, isPresent as isPresent$1, anyChanged, TemplateContextDirective, DraggableDirective, EventsOutsideAngularDirective, isChanged as isChanged$1, KendoInput, guid, closest as closest$1, hasObservers, ResizeSensorComponent, isFocusable as isFocusable$1, shouldShowValidationUI, WatermarkOverlayComponent, PreventableEvent as PreventableEvent$1, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
10
10
|
import * as i1 from '@angular/platform-browser';
|
|
11
11
|
import * as i1$1 from '@progress/kendo-angular-icons';
|
|
12
12
|
import { IconWrapperComponent, IconsService, KENDO_ICONS } from '@progress/kendo-angular-icons';
|
|
13
|
-
import { plusIcon, cancelIcon, lockIcon, unlockIcon, caretAltDownIcon, caretAltRightIcon, caretAltLeftIcon, arrowLeftIcon, arrowRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterClearIcon, filterIcon, checkIcon, arrowRotateCcwIcon, columnsIcon, chevronUpIcon, chevronDownIcon, displayInlineFlexIcon, maxWidthIcon, stickIcon, unstickIcon, setColumnPositionIcon, slidersIcon, moreVerticalIcon, reorderIcon, minusIcon, insertMiddleIcon, xIcon,
|
|
14
|
-
import { switchMap, take, map, filter, takeUntil, switchMapTo, delay, tap, throttleTime, debounceTime, distinctUntilChanged, skip, auditTime, bufferCount } from 'rxjs/operators';
|
|
13
|
+
import { plusIcon, cancelIcon, lockIcon, unlockIcon, caretAltDownIcon, caretAltRightIcon, caretAltLeftIcon, arrowLeftIcon, arrowRightIcon, sortDescSmallIcon, sortAscSmallIcon, filterClearIcon, filterIcon, checkIcon, arrowRotateCcwIcon, columnsIcon, pencilIcon, saveIcon, trashIcon, fileExcelIcon, filePdfIcon, chevronUpIcon, chevronDownIcon, displayInlineFlexIcon, maxWidthIcon, stickIcon, unstickIcon, setColumnPositionIcon, slidersIcon, moreVerticalIcon, reorderIcon, minusIcon, insertMiddleIcon, xIcon, undoIcon, redoIcon, arrowsSwapIcon } from '@progress/kendo-svg-icons';
|
|
14
|
+
import { switchMap, take, map, filter, takeUntil, switchMapTo, delay, tap, throttleTime, debounceTime, distinctUntilChanged, skip, auditTime, bufferCount, flatMap } from 'rxjs/operators';
|
|
15
15
|
import * as i1$2 from '@progress/kendo-angular-l10n';
|
|
16
16
|
import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
17
|
-
import * as
|
|
17
|
+
import * as i50 from '@progress/kendo-angular-pager';
|
|
18
18
|
import { PagerContextService, PagerNavigationService, PagerTemplateDirective, KENDO_PAGER } from '@progress/kendo-angular-pager';
|
|
19
19
|
import { orderBy, isCompositeFilterDescriptor, groupBy, process, filterBy } from '@progress/kendo-data-query';
|
|
20
20
|
import { NgFor, NgIf, NgTemplateOutlet, NgSwitch, NgSwitchCase, NgClass, NgStyle, NgSwitchDefault, KeyValuePipe } from '@angular/common';
|
|
@@ -32,7 +32,7 @@ import * as i4$1 from '@progress/kendo-angular-inputs';
|
|
|
32
32
|
import { TextBoxComponent, NumericTextBoxComponent, NumericTextBoxCustomMessagesComponent, RadioButtonComponent, CheckBoxComponent, KENDO_FORMFIELD, KENDO_TEXTBOX, KENDO_NUMERICTEXTBOX, KENDO_CHECKBOX } from '@progress/kendo-angular-inputs';
|
|
33
33
|
import * as i5 from '@progress/kendo-angular-dateinputs';
|
|
34
34
|
import { DatePickerComponent, DatePickerCustomMessagesComponent, KENDO_DATEPICKER, CalendarDOMService, CenturyViewService, DecadeViewService, MonthViewService, YearViewService, NavigationService as NavigationService$1 } from '@progress/kendo-angular-dateinputs';
|
|
35
|
-
import * as
|
|
35
|
+
import * as i51 from '@progress/kendo-angular-toolbar';
|
|
36
36
|
import { KENDO_TOOLBAR } from '@progress/kendo-angular-toolbar';
|
|
37
37
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
38
38
|
import { TabStripComponent, TabStripTabComponent, TabTitleDirective, TabContentDirective } from '@progress/kendo-angular-layout';
|
|
@@ -457,6 +457,19 @@ const replaceMessagePlaceholder = (message, name, value) => (message ?? '').repl
|
|
|
457
457
|
* @hidden
|
|
458
458
|
*/
|
|
459
459
|
const recursiveFlatMap = (item) => isGroupResult(item) ? item.items.flatMap(recursiveFlatMap) : [{ ...item }];
|
|
460
|
+
const mapColumnItemState = (c) => ({ id: c.id, width: c.width, hidden: c.hidden, locked: c.locked, sticky: c.sticky, orderIndex: c.orderIndex });
|
|
461
|
+
/**
|
|
462
|
+
* @hidden
|
|
463
|
+
*/
|
|
464
|
+
const updateColumnFromState = (columnState, c) => {
|
|
465
|
+
Object.keys(columnState).forEach((key) => c[key] = columnState[key]);
|
|
466
|
+
};
|
|
467
|
+
/**
|
|
468
|
+
* @hidden
|
|
469
|
+
*/
|
|
470
|
+
const recursiveColumnsFlatMap = (item) => (item.isColumnGroup || item.isSpanColumn) ?
|
|
471
|
+
[mapColumnItemState(item), ...item.children.toArray().flatMap(recursiveColumnsFlatMap)] :
|
|
472
|
+
[mapColumnItemState(item)];
|
|
460
473
|
/**
|
|
461
474
|
* @hidden
|
|
462
475
|
*/
|
|
@@ -2155,6 +2168,7 @@ const isCheckboxColumn = column => column.isCheckboxColumn;
|
|
|
2155
2168
|
*/
|
|
2156
2169
|
const isRowReorderColumn = column => column.isRowReorderColumn;
|
|
2157
2170
|
const isColumnContainer = column => column.isColumnGroup || isSpanColumn(column);
|
|
2171
|
+
let columnId = 0;
|
|
2158
2172
|
/**
|
|
2159
2173
|
* The base class for the column components of the Grid.
|
|
2160
2174
|
*/
|
|
@@ -2431,6 +2445,12 @@ class ColumnBase {
|
|
|
2431
2445
|
return this.parent ? this.parent.isLocked : this.locked;
|
|
2432
2446
|
}
|
|
2433
2447
|
_width;
|
|
2448
|
+
/**
|
|
2449
|
+
* @hidden
|
|
2450
|
+
*/
|
|
2451
|
+
get id() {
|
|
2452
|
+
return this._id;
|
|
2453
|
+
}
|
|
2434
2454
|
/**
|
|
2435
2455
|
* @hidden
|
|
2436
2456
|
*/
|
|
@@ -2475,6 +2495,7 @@ class ColumnBase {
|
|
|
2475
2495
|
get isVisible() {
|
|
2476
2496
|
return !this.hidden && this.matchesMedia;
|
|
2477
2497
|
}
|
|
2498
|
+
_id;
|
|
2478
2499
|
/**
|
|
2479
2500
|
* @hidden
|
|
2480
2501
|
*/
|
|
@@ -2484,6 +2505,7 @@ class ColumnBase {
|
|
|
2484
2505
|
if (parent && idService && parent.idService.gridId() === idService.gridId() && !isColumnContainer(parent)) {
|
|
2485
2506
|
throw new Error(ColumnConfigurationErrorMessages.columnNested);
|
|
2486
2507
|
}
|
|
2508
|
+
this._id = `k-grid-column-${columnId++}`;
|
|
2487
2509
|
}
|
|
2488
2510
|
ngAfterViewInit() {
|
|
2489
2511
|
this.initialMaxResizableWidth = this.maxResizableWidth;
|
|
@@ -2965,7 +2987,7 @@ class SpanColumnComponent extends ColumnBase {
|
|
|
2965
2987
|
/**
|
|
2966
2988
|
* @hidden
|
|
2967
2989
|
*/
|
|
2968
|
-
|
|
2990
|
+
children = new QueryList();
|
|
2969
2991
|
/**
|
|
2970
2992
|
* @hidden
|
|
2971
2993
|
*/
|
|
@@ -3008,13 +3030,13 @@ class SpanColumnComponent extends ColumnBase {
|
|
|
3008
3030
|
set width(_value) {
|
|
3009
3031
|
}
|
|
3010
3032
|
get width() {
|
|
3011
|
-
return this.
|
|
3033
|
+
return this.children.reduce((total, column) => total + column.width, 0);
|
|
3012
3034
|
}
|
|
3013
3035
|
/**
|
|
3014
3036
|
* @hidden
|
|
3015
3037
|
*/
|
|
3016
3038
|
get leafIndex() {
|
|
3017
|
-
return this.
|
|
3039
|
+
return this.children.first.leafIndex;
|
|
3018
3040
|
}
|
|
3019
3041
|
_editable = true;
|
|
3020
3042
|
constructor(parent, idService) {
|
|
@@ -3041,7 +3063,7 @@ class SpanColumnComponent extends ColumnBase {
|
|
|
3041
3063
|
* @hidden
|
|
3042
3064
|
*/
|
|
3043
3065
|
get colspan() {
|
|
3044
|
-
return this.
|
|
3066
|
+
return this.children.filter(c => c.isVisible).length;
|
|
3045
3067
|
}
|
|
3046
3068
|
/**
|
|
3047
3069
|
* Toggles the locked (frozen) state of the columns ([see example](slug:locked_columns_grid)).
|
|
@@ -3051,13 +3073,13 @@ class SpanColumnComponent extends ColumnBase {
|
|
|
3051
3073
|
this._locked = value;
|
|
3052
3074
|
}
|
|
3053
3075
|
get locked() {
|
|
3054
|
-
return this._locked || this.
|
|
3076
|
+
return this._locked || this.children.some(c => c.locked);
|
|
3055
3077
|
}
|
|
3056
3078
|
get childrenArray() {
|
|
3057
|
-
return this.
|
|
3079
|
+
return this.children.toArray();
|
|
3058
3080
|
}
|
|
3059
3081
|
get hasChildren() {
|
|
3060
|
-
return this.
|
|
3082
|
+
return this.children.length > 0;
|
|
3061
3083
|
}
|
|
3062
3084
|
/**
|
|
3063
3085
|
* @hidden
|
|
@@ -3073,7 +3095,7 @@ class SpanColumnComponent extends ColumnBase {
|
|
|
3073
3095
|
provide: ColumnBase,
|
|
3074
3096
|
useExisting: forwardRef(() => SpanColumnComponent)
|
|
3075
3097
|
}
|
|
3076
|
-
], queries: [{ propertyName: "template", predicate: CellTemplateDirective }, { propertyName: "editTemplate", predicate: EditTemplateDirective }, { propertyName: "
|
|
3098
|
+
], queries: [{ propertyName: "template", predicate: CellTemplateDirective }, { propertyName: "editTemplate", predicate: EditTemplateDirective }, { propertyName: "children", predicate: ColumnComponent }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
3077
3099
|
}
|
|
3078
3100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SpanColumnComponent, decorators: [{
|
|
3079
3101
|
type: Component,
|
|
@@ -3102,7 +3124,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3102
3124
|
}], editTemplate: [{
|
|
3103
3125
|
type: ContentChildren,
|
|
3104
3126
|
args: [EditTemplateDirective, { descendants: false }]
|
|
3105
|
-
}],
|
|
3127
|
+
}], children: [{
|
|
3106
3128
|
type: ContentChildren,
|
|
3107
3129
|
args: [ColumnComponent]
|
|
3108
3130
|
}], editable: [{
|
|
@@ -4082,12 +4104,12 @@ class NavigationService {
|
|
|
4082
4104
|
const offset = direction === 'Up' ? Math.abs(this.lastCellRowIndex - this.activeRowIndex) : (this.activeRowIndex + cellRowspan - this.lastCellRowIndex - 1);
|
|
4083
4105
|
return offset;
|
|
4084
4106
|
}
|
|
4085
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token:
|
|
4107
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token: i50.PagerContextService }, { token: ScrollRequestService }, { token: GroupsService }, { token: DetailsService }, { token: FocusRoot }, { token: EditService }, { token: i0.ChangeDetectorRef }, { token: ContextService }, { token: ColumnResizingService }, { token: FocusableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4086
4108
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService });
|
|
4087
4109
|
}
|
|
4088
4110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, decorators: [{
|
|
4089
4111
|
type: Injectable
|
|
4090
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: DomEventsService }, { type:
|
|
4112
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: DomEventsService }, { type: i50.PagerContextService }, { type: ScrollRequestService }, { type: GroupsService }, { type: DetailsService }, { type: FocusRoot }, { type: EditService }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: ColumnResizingService }, { type: FocusableDirective, decorators: [{
|
|
4091
4113
|
type: Optional
|
|
4092
4114
|
}] }]; } });
|
|
4093
4115
|
|
|
@@ -4805,7 +4827,7 @@ class ColumnsContainer {
|
|
|
4805
4827
|
unlockedWidth += column.width || 0;
|
|
4806
4828
|
}
|
|
4807
4829
|
if (column.isSpanColumn) {
|
|
4808
|
-
column.
|
|
4830
|
+
column.children.forEach(c => {
|
|
4809
4831
|
c.leafIndex = leafIndex++;
|
|
4810
4832
|
});
|
|
4811
4833
|
}
|
|
@@ -11617,6 +11639,88 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
11617
11639
|
args: ['columnList']
|
|
11618
11640
|
}] } });
|
|
11619
11641
|
|
|
11642
|
+
/**
|
|
11643
|
+
* @hidden
|
|
11644
|
+
*/
|
|
11645
|
+
const ToolbarToolName = {
|
|
11646
|
+
edit: 'edit',
|
|
11647
|
+
save: 'save',
|
|
11648
|
+
remove: 'remove',
|
|
11649
|
+
cancel: 'cancel',
|
|
11650
|
+
add: 'add',
|
|
11651
|
+
columns: 'columns',
|
|
11652
|
+
excelExport: 'excelExport',
|
|
11653
|
+
pdfExport: 'pdfExport'
|
|
11654
|
+
};
|
|
11655
|
+
|
|
11656
|
+
const ICONS_MAP = {
|
|
11657
|
+
edit: { svgIcon: pencilIcon, icon: 'pencil' },
|
|
11658
|
+
save: { svgIcon: saveIcon, icon: 'save' },
|
|
11659
|
+
cancel: { svgIcon: cancelIcon, icon: 'cancel' },
|
|
11660
|
+
remove: { svgIcon: trashIcon, icon: 'trash' },
|
|
11661
|
+
add: { svgIcon: plusIcon, icon: 'plus' },
|
|
11662
|
+
excelExport: { svgIcon: fileExcelIcon, icon: 'file-excel' },
|
|
11663
|
+
pdfExport: { svgIcon: filePdfIcon, icon: 'file-pdf' },
|
|
11664
|
+
columns: { svgIcon: columnsIcon, icon: 'columns' }
|
|
11665
|
+
};
|
|
11666
|
+
/**
|
|
11667
|
+
* @hidden
|
|
11668
|
+
*/
|
|
11669
|
+
class ToolbarToolBase {
|
|
11670
|
+
host;
|
|
11671
|
+
commandName;
|
|
11672
|
+
ctx;
|
|
11673
|
+
zone;
|
|
11674
|
+
cdr;
|
|
11675
|
+
clickSub = new Subscription();
|
|
11676
|
+
constructor(host, commandName, ctx, zone, cdr) {
|
|
11677
|
+
this.host = host;
|
|
11678
|
+
this.commandName = commandName;
|
|
11679
|
+
this.ctx = ctx;
|
|
11680
|
+
this.zone = zone;
|
|
11681
|
+
this.cdr = cdr;
|
|
11682
|
+
}
|
|
11683
|
+
ngOnInit() {
|
|
11684
|
+
this.clickSub = this.host.click.subscribe(e => this.onClick(e));
|
|
11685
|
+
const hasIcon = (isPresent$1(this.host.toolbarOptions.icon) && this.host.toolbarOptions.icon !== '') &&
|
|
11686
|
+
(isPresent$1(this.host.overflowOptions.icon) && this.host.overflowOptions.icon !== '');
|
|
11687
|
+
const hasSvgIcon = isPresent$1(this.host.toolbarOptions.svgIcon) && isPresent$1(this.host.overflowOptions.svgIcon);
|
|
11688
|
+
if (!hasIcon) {
|
|
11689
|
+
this.host.icon = ICONS_MAP[this.commandName].icon;
|
|
11690
|
+
}
|
|
11691
|
+
if (!hasSvgIcon) {
|
|
11692
|
+
this.host.svgIcon = ICONS_MAP[this.commandName].svgIcon;
|
|
11693
|
+
}
|
|
11694
|
+
}
|
|
11695
|
+
ngAfterViewInit() {
|
|
11696
|
+
const hasText = isPresent$1(this.host.text);
|
|
11697
|
+
if (!hasText) {
|
|
11698
|
+
this.zone.runOutsideAngular(() => {
|
|
11699
|
+
setTimeout(() => {
|
|
11700
|
+
const messageKey = this.commandName === ToolbarToolName.columns ? 'columns' : `${this.commandName}ToolbarToolText`;
|
|
11701
|
+
this.host.text = this.ctx.localization.get(messageKey);
|
|
11702
|
+
this.zone.run(() => {
|
|
11703
|
+
this.cdr.markForCheck();
|
|
11704
|
+
});
|
|
11705
|
+
});
|
|
11706
|
+
});
|
|
11707
|
+
}
|
|
11708
|
+
}
|
|
11709
|
+
ngOnDestroy() {
|
|
11710
|
+
this.clickSub.unsubscribe();
|
|
11711
|
+
}
|
|
11712
|
+
onClick(_e) { }
|
|
11713
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarToolBase, deps: [{ token: i51.ToolBarButtonComponent }, { token: 'command' }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
11714
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarToolBase, ngImport: i0 });
|
|
11715
|
+
}
|
|
11716
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarToolBase, decorators: [{
|
|
11717
|
+
type: Directive,
|
|
11718
|
+
args: [{}]
|
|
11719
|
+
}], ctorParameters: function () { return [{ type: i51.ToolBarButtonComponent }, { type: undefined, decorators: [{
|
|
11720
|
+
type: Inject,
|
|
11721
|
+
args: ['command']
|
|
11722
|
+
}] }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
|
|
11723
|
+
|
|
11620
11724
|
let incrementingId$2 = 0;
|
|
11621
11725
|
/**
|
|
11622
11726
|
* Represents the `column-chooser` toolbar tool of the Grid.
|
|
@@ -11632,7 +11736,7 @@ let incrementingId$2 = 0;
|
|
|
11632
11736
|
* </kendo-grid>
|
|
11633
11737
|
* ```
|
|
11634
11738
|
*/
|
|
11635
|
-
class ColumnChooserToolbarDirective {
|
|
11739
|
+
class ColumnChooserToolbarDirective extends ToolbarToolBase {
|
|
11636
11740
|
renderer;
|
|
11637
11741
|
popupSerivce;
|
|
11638
11742
|
host;
|
|
@@ -11654,7 +11758,8 @@ class ColumnChooserToolbarDirective {
|
|
|
11654
11758
|
popupRef;
|
|
11655
11759
|
subs = new Subscription();
|
|
11656
11760
|
nextId = incrementingId$2++;
|
|
11657
|
-
constructor(renderer, popupSerivce, host, ctx, zone, refresh) {
|
|
11761
|
+
constructor(renderer, popupSerivce, host, ctx, zone, refresh, cdr) {
|
|
11762
|
+
super(host, ToolbarToolName.columns, ctx, zone, cdr);
|
|
11658
11763
|
this.renderer = renderer;
|
|
11659
11764
|
this.popupSerivce = popupSerivce;
|
|
11660
11765
|
this.host = host;
|
|
@@ -11662,29 +11767,13 @@ class ColumnChooserToolbarDirective {
|
|
|
11662
11767
|
this.zone = zone;
|
|
11663
11768
|
this.refresh = refresh;
|
|
11664
11769
|
}
|
|
11665
|
-
ngOnInit() {
|
|
11666
|
-
this.subs.add(this.host.click.subscribe(e => this.onClick(e)));
|
|
11667
|
-
const hasToolbarIcon = isPresent$1(this.host.toolbarOptions.icon) && this.host.toolbarOptions.icon !== '';
|
|
11668
|
-
const hasOverflowIcon = isPresent$1(this.host.overflowOptions.icon) && this.host.overflowOptions.icon !== '';
|
|
11669
|
-
const hasIcon = hasToolbarIcon && hasOverflowIcon;
|
|
11670
|
-
const hasSvgIcon = isPresent$1(this.host.toolbarOptions.svgIcon) && isPresent$1(this.host.overflowOptions.svgIcon);
|
|
11671
|
-
if (!hasIcon) {
|
|
11672
|
-
this.host.icon = 'columns';
|
|
11673
|
-
}
|
|
11674
|
-
if (!hasSvgIcon) {
|
|
11675
|
-
this.host.svgIcon = columnsIcon;
|
|
11676
|
-
}
|
|
11677
|
-
}
|
|
11678
11770
|
ngAfterViewInit() {
|
|
11679
|
-
|
|
11680
|
-
|
|
11681
|
-
this.
|
|
11682
|
-
|
|
11683
|
-
|
|
11684
|
-
}
|
|
11685
|
-
this.host.toolbarButtonElement.nativeElement.setAttribute('aria-haspopup', 'dialog');
|
|
11686
|
-
this.host.toolbarButtonElement.nativeElement.setAttribute('aria-expanded', 'false');
|
|
11687
|
-
this.host.toolbarButtonElement.nativeElement.setAttribute('title', this.ctx.localization.get('columns'));
|
|
11771
|
+
super.ngAfterViewInit();
|
|
11772
|
+
this.zone.onStable.pipe(take(1)).subscribe(() => {
|
|
11773
|
+
this.host.toolbarButtonElement.nativeElement.setAttribute('aria-haspopup', 'dialog');
|
|
11774
|
+
this.host.toolbarButtonElement.nativeElement.setAttribute('aria-expanded', 'false');
|
|
11775
|
+
this.host.toolbarButtonElement.nativeElement.setAttribute('title', this.ctx.localization.get('columns'));
|
|
11776
|
+
});
|
|
11688
11777
|
this.subs.add(this.refresh.onRefresh.pipe(filter((tool) => tool === this.host)).subscribe((tool) => {
|
|
11689
11778
|
if (tool.overflows && this.popupRef) {
|
|
11690
11779
|
this.popupRef.close();
|
|
@@ -11692,6 +11781,7 @@ class ColumnChooserToolbarDirective {
|
|
|
11692
11781
|
}));
|
|
11693
11782
|
}
|
|
11694
11783
|
ngOnDestroy() {
|
|
11784
|
+
super.ngOnDestroy();
|
|
11695
11785
|
this.subs.unsubscribe();
|
|
11696
11786
|
}
|
|
11697
11787
|
/**
|
|
@@ -11758,8 +11848,8 @@ class ColumnChooserToolbarDirective {
|
|
|
11758
11848
|
this.host.toolbarButtonElement.nativeElement.removeAttribute('aria-controls');
|
|
11759
11849
|
focusAnchor && this.host.toolbarButtonElement.nativeElement.focus();
|
|
11760
11850
|
}
|
|
11761
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnChooserToolbarDirective, deps: [{ token: i0.Renderer2 }, { token: i1$5.PopupService }, { token:
|
|
11762
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ColumnChooserToolbarDirective, isStandalone: true, selector: "[kendoGridColumnChooserTool]", inputs: { autoSync: "autoSync", allowHideAll: "allowHideAll" }, ngImport: i0 });
|
|
11851
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnChooserToolbarDirective, deps: [{ token: i0.Renderer2 }, { token: i1$5.PopupService }, { token: i51.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i51.RefreshService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
11852
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ColumnChooserToolbarDirective, isStandalone: true, selector: "[kendoGridColumnChooserTool]", inputs: { autoSync: "autoSync", allowHideAll: "allowHideAll" }, usesInheritance: true, ngImport: i0 });
|
|
11763
11853
|
}
|
|
11764
11854
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnChooserToolbarDirective, decorators: [{
|
|
11765
11855
|
type: Directive,
|
|
@@ -11767,7 +11857,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
11767
11857
|
selector: '[kendoGridColumnChooserTool]',
|
|
11768
11858
|
standalone: true
|
|
11769
11859
|
}]
|
|
11770
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1$5.PopupService }, { type:
|
|
11860
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1$5.PopupService }, { type: i51.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i51.RefreshService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { autoSync: [{
|
|
11771
11861
|
type: Input
|
|
11772
11862
|
}], allowHideAll: [{
|
|
11773
11863
|
type: Input
|
|
@@ -14975,7 +15065,7 @@ const indexOf = (target, list) => {
|
|
|
14975
15065
|
break;
|
|
14976
15066
|
}
|
|
14977
15067
|
if ((ignore-- <= 0) && isParentSpanColumn) {
|
|
14978
|
-
ignore = current.parent.
|
|
15068
|
+
ignore = current.parent.children.length - 1;
|
|
14979
15069
|
skip += ignore;
|
|
14980
15070
|
}
|
|
14981
15071
|
index++;
|
|
@@ -15027,7 +15117,7 @@ class ColumnHandleDirective {
|
|
|
15027
15117
|
const currentLeafs = leafColumns([this.column]).filter(column => isTruthy(column.resizable));
|
|
15028
15118
|
const columnInfo = currentLeafs.map(column => {
|
|
15029
15119
|
const isParentSpan = isInSpanColumn(column);
|
|
15030
|
-
const isLastInSpan = isParentSpan ? column.parent.
|
|
15120
|
+
const isLastInSpan = isParentSpan ? column.parent.children.last === column : false;
|
|
15031
15121
|
const index = indexOf(column, allLeafs);
|
|
15032
15122
|
return {
|
|
15033
15123
|
column,
|
|
@@ -15717,6 +15807,7 @@ class SelectionService {
|
|
|
15717
15807
|
ev.rangeStartRow = { dataItem: this.lastSelectionData, index: this.lastSelectionStartIndex };
|
|
15718
15808
|
ev.rangeEndRow = { dataItem: item.data, index: item.index };
|
|
15719
15809
|
}
|
|
15810
|
+
this.syncCurrentSelection(ev);
|
|
15720
15811
|
this.changes.emit(ev);
|
|
15721
15812
|
}
|
|
15722
15813
|
toggle(item) {
|
|
@@ -15796,6 +15887,7 @@ class SelectionService {
|
|
|
15796
15887
|
deselectedRows: [rowArgs],
|
|
15797
15888
|
selectedRows: []
|
|
15798
15889
|
};
|
|
15890
|
+
this.syncCurrentSelection(ev);
|
|
15799
15891
|
this.changes.emit(ev);
|
|
15800
15892
|
}
|
|
15801
15893
|
}
|
|
@@ -15868,6 +15960,7 @@ class SelectionService {
|
|
|
15868
15960
|
if (this.options.cellAggregates) {
|
|
15869
15961
|
ev.cellAggregates = this.aggregateService.onSelectionChange(ev);
|
|
15870
15962
|
}
|
|
15963
|
+
this.syncCurrentSelection(ev);
|
|
15871
15964
|
this.changes.emit(ev);
|
|
15872
15965
|
}
|
|
15873
15966
|
selectRange(startIndex, endIndex, preserveSelection, existingSelections = []) {
|
|
@@ -16001,6 +16094,14 @@ class SelectionService {
|
|
|
16001
16094
|
this.dataChangedSubscription = null;
|
|
16002
16095
|
}
|
|
16003
16096
|
}
|
|
16097
|
+
syncCurrentSelection(ev) {
|
|
16098
|
+
for (const row of ev.deselectedRows) {
|
|
16099
|
+
this.currentSelection.splice(row.index, 1);
|
|
16100
|
+
}
|
|
16101
|
+
for (const row of ev.selectedRows) {
|
|
16102
|
+
this.currentSelection[row.index] = row;
|
|
16103
|
+
}
|
|
16104
|
+
}
|
|
16004
16105
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectionService, deps: [{ token: DomEventsService }, { token: CellSelectionAggregateService }, { token: LocalDataChangesService }, { token: NavigationService }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16005
16106
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectionService });
|
|
16006
16107
|
}
|
|
@@ -16851,7 +16952,7 @@ class HeaderComponent {
|
|
|
16851
16952
|
const arr = this.dropTargets.toArray();
|
|
16852
16953
|
const firstSpan = arr.find(t => t.context.column.parent === parent);
|
|
16853
16954
|
const index = arr.indexOf(firstSpan);
|
|
16854
|
-
const adjust = e.before ? 0 : parent.
|
|
16955
|
+
const adjust = e.before ? 0 : parent.children.length - 1;
|
|
16855
16956
|
target = arr[index + adjust];
|
|
16856
16957
|
}
|
|
16857
16958
|
return mergeObjects(e, { target });
|
|
@@ -18026,7 +18127,7 @@ class CellComponent {
|
|
|
18026
18127
|
get isSpanColumn() {
|
|
18027
18128
|
return isSpanColumn(this.column) && !this.column.templateRef;
|
|
18028
18129
|
}
|
|
18029
|
-
get
|
|
18130
|
+
get children() {
|
|
18030
18131
|
return columnsToRender([this.column]);
|
|
18031
18132
|
}
|
|
18032
18133
|
get isRowReorderColumn() {
|
|
@@ -18099,7 +18200,7 @@ class CellComponent {
|
|
|
18099
18200
|
[ngTemplateOutletContext]="templateContext">
|
|
18100
18201
|
</ng-template>
|
|
18101
18202
|
<ng-container *ngIf="isSpanColumn">
|
|
18102
|
-
<ng-container *ngFor="let childColumn of
|
|
18203
|
+
<ng-container *ngFor="let childColumn of children">
|
|
18103
18204
|
{{ dataItem | valueOf: childColumn.field: childColumn.format}}
|
|
18104
18205
|
</ng-container>
|
|
18105
18206
|
</ng-container>
|
|
@@ -18191,7 +18292,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
18191
18292
|
[ngTemplateOutletContext]="templateContext">
|
|
18192
18293
|
</ng-template>
|
|
18193
18294
|
<ng-container *ngIf="isSpanColumn">
|
|
18194
|
-
<ng-container *ngFor="let childColumn of
|
|
18295
|
+
<ng-container *ngFor="let childColumn of children">
|
|
18195
18296
|
{{ dataItem | valueOf: childColumn.field: childColumn.format}}
|
|
18196
18297
|
</ng-container>
|
|
18197
18298
|
</ng-container>
|
|
@@ -18632,7 +18733,7 @@ class TableBodyComponent {
|
|
|
18632
18733
|
}
|
|
18633
18734
|
get footerColumns() {
|
|
18634
18735
|
const colsToRender = Array.from(this.columns).reduce((cols, col) => {
|
|
18635
|
-
const newCols = (col instanceof SpanColumnComponent) ? Array.from(col.
|
|
18736
|
+
const newCols = (col instanceof SpanColumnComponent) ? Array.from(col.children) : [col];
|
|
18636
18737
|
return [...cols, ...newCols];
|
|
18637
18738
|
}, []);
|
|
18638
18739
|
return colsToRender;
|
|
@@ -19634,6 +19735,7 @@ class RemoveCommandDirective extends Button {
|
|
|
19634
19735
|
*/
|
|
19635
19736
|
onClick(e) {
|
|
19636
19737
|
e.preventDefault();
|
|
19738
|
+
e.stopImmediatePropagation();
|
|
19637
19739
|
this.editService.remove(this.rowIndex);
|
|
19638
19740
|
}
|
|
19639
19741
|
constructor(editService, cellContext, element, renderer, ctx, ngZone) {
|
|
@@ -20024,8 +20126,8 @@ const packageMetadata = {
|
|
|
20024
20126
|
productName: 'Kendo UI for Angular',
|
|
20025
20127
|
productCode: 'KENDOUIANGULAR',
|
|
20026
20128
|
productCodes: ['KENDOUIANGULAR'],
|
|
20027
|
-
publishDate:
|
|
20028
|
-
version: '19.0.0-develop.
|
|
20129
|
+
publishDate: 1747069795,
|
|
20130
|
+
version: '19.0.0-develop.12',
|
|
20029
20131
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
20030
20132
|
};
|
|
20031
20133
|
|
|
@@ -22614,7 +22716,7 @@ class ListComponent {
|
|
|
22614
22716
|
for (let idx = 0; idx < leafColumns.length; idx++) {
|
|
22615
22717
|
const column = leafColumns[idx];
|
|
22616
22718
|
if (column.isSpanColumn) {
|
|
22617
|
-
viewportEnd += column.
|
|
22719
|
+
viewportEnd += column.children.length;
|
|
22618
22720
|
}
|
|
22619
22721
|
}
|
|
22620
22722
|
this.navigationService.setColumnViewport(viewportStart, viewportEnd);
|
|
@@ -23514,6 +23616,34 @@ class GridMessages extends ComponentMessages {
|
|
|
23514
23616
|
* The label for the bottom toolbar.
|
|
23515
23617
|
*/
|
|
23516
23618
|
bottomToolbarLabel;
|
|
23619
|
+
/**
|
|
23620
|
+
* The text for the Grid Edit toolbar tool.
|
|
23621
|
+
*/
|
|
23622
|
+
editToolbarToolText;
|
|
23623
|
+
/**
|
|
23624
|
+
* The text for the Grid Save toolbar tool.
|
|
23625
|
+
*/
|
|
23626
|
+
saveToolbarToolText;
|
|
23627
|
+
/**
|
|
23628
|
+
* The text for the Grid Add toolbar tool.
|
|
23629
|
+
*/
|
|
23630
|
+
addToolbarToolText;
|
|
23631
|
+
/**
|
|
23632
|
+
* The text for the Grid Cancel toolbar tool.
|
|
23633
|
+
*/
|
|
23634
|
+
cancelToolbarToolText;
|
|
23635
|
+
/**
|
|
23636
|
+
* The text for the Grid Remove toolbar tool.
|
|
23637
|
+
*/
|
|
23638
|
+
removeToolbarToolText;
|
|
23639
|
+
/**
|
|
23640
|
+
* The text for the Grid Excel Export toolbar tool.
|
|
23641
|
+
*/
|
|
23642
|
+
excelExportToolbarToolText;
|
|
23643
|
+
/**
|
|
23644
|
+
* The text for the Grid PDF Export toolbar tool.
|
|
23645
|
+
*/
|
|
23646
|
+
pdfExportToolbarToolText;
|
|
23517
23647
|
/**
|
|
23518
23648
|
* The label for the group panel toolbar.
|
|
23519
23649
|
*/
|
|
@@ -23588,7 +23718,7 @@ class GridMessages extends ComponentMessages {
|
|
|
23588
23718
|
*/
|
|
23589
23719
|
externalEditingCancelText;
|
|
23590
23720
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
23591
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GridMessages, selector: "kendo-grid-messages-base", inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItems: "pagerItems", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", pagerInputLabel: "pagerInputLabel", pagerSelectPage: "pagerSelectPage", filter: "filter", filterInputLabel: "filterInputLabel", filterMenuTitle: "filterMenuTitle", filterMenuOperatorsDropDownLabel: "filterMenuOperatorsDropDownLabel", filterMenuLogicDropDownLabel: "filterMenuLogicDropDownLabel", filterCellOperatorLabel: "filterCellOperatorLabel", booleanFilterCellLabel: "booleanFilterCellLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", filterToolbarToolText: "filterToolbarToolText", loading: "loading", gridLabel: "gridLabel", columnMenu: "columnMenu", setColumnPosition: "setColumnPosition", columns: "columns", lock: "lock", unlock: "unlock", stick: "stick", unstick: "unstick", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", autosizeThisColumn: "autosizeThisColumn", autosizeAllColumns: "autosizeAllColumns", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", sortToolbarToolText: "sortToolbarToolText", columnsApply: "columnsApply", columnsReset: "columnsReset", detailExpand: "detailExpand", detailCollapse: "detailCollapse", filterDateToday: "filterDateToday", filterDateToggle: "filterDateToggle", filterNumericDecrement: "filterNumericDecrement", filterNumericIncrement: "filterNumericIncrement", selectionCheckboxLabel: "selectionCheckboxLabel", selectAllCheckboxLabel: "selectAllCheckboxLabel", groupCollapse: "groupCollapse", groupExpand: "groupExpand", topToolbarLabel: "topToolbarLabel", bottomToolbarLabel: "bottomToolbarLabel", groupPanelLabel: "groupPanelLabel", dragRowHandleLabel: "dragRowHandleLabel", columnMenuFilterTabTitle: "columnMenuFilterTabTitle", columnMenuGeneralTabTitle: "columnMenuGeneralTabTitle", columnMenuColumnsTabTitle: "columnMenuColumnsTabTitle", groupChipMenuPrevious: "groupChipMenuPrevious", groupChipMenuNext: "groupChipMenuNext", formValidationErrorText: "formValidationErrorText", removeConfirmationDialogTitle: "removeConfirmationDialogTitle", removeConfirmationDialogContent: "removeConfirmationDialogContent", removeConfirmationDialogConfirmText: "removeConfirmationDialogConfirmText", removeConfirmationDialogRejectText: "removeConfirmationDialogRejectText", externalEditingTitle: "externalEditingTitle", externalEditingSaveText: "externalEditingSaveText", externalEditingCancelText: "externalEditingCancelText" }, usesInheritance: true, ngImport: i0 });
|
|
23721
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GridMessages, selector: "kendo-grid-messages-base", inputs: { groupPanelEmpty: "groupPanelEmpty", noRecords: "noRecords", pagerLabel: "pagerLabel", pagerFirstPage: "pagerFirstPage", pagerLastPage: "pagerLastPage", pagerPreviousPage: "pagerPreviousPage", pagerNextPage: "pagerNextPage", pagerPage: "pagerPage", pagerItemsPerPage: "pagerItemsPerPage", pagerOf: "pagerOf", pagerItems: "pagerItems", pagerPageNumberInputTitle: "pagerPageNumberInputTitle", pagerInputLabel: "pagerInputLabel", pagerSelectPage: "pagerSelectPage", filter: "filter", filterInputLabel: "filterInputLabel", filterMenuTitle: "filterMenuTitle", filterMenuOperatorsDropDownLabel: "filterMenuOperatorsDropDownLabel", filterMenuLogicDropDownLabel: "filterMenuLogicDropDownLabel", filterCellOperatorLabel: "filterCellOperatorLabel", booleanFilterCellLabel: "booleanFilterCellLabel", filterEqOperator: "filterEqOperator", filterNotEqOperator: "filterNotEqOperator", filterIsNullOperator: "filterIsNullOperator", filterIsNotNullOperator: "filterIsNotNullOperator", filterIsEmptyOperator: "filterIsEmptyOperator", filterIsNotEmptyOperator: "filterIsNotEmptyOperator", filterStartsWithOperator: "filterStartsWithOperator", filterContainsOperator: "filterContainsOperator", filterNotContainsOperator: "filterNotContainsOperator", filterEndsWithOperator: "filterEndsWithOperator", filterGteOperator: "filterGteOperator", filterGtOperator: "filterGtOperator", filterLteOperator: "filterLteOperator", filterLtOperator: "filterLtOperator", filterIsTrue: "filterIsTrue", filterIsFalse: "filterIsFalse", filterBooleanAll: "filterBooleanAll", filterAfterOrEqualOperator: "filterAfterOrEqualOperator", filterAfterOperator: "filterAfterOperator", filterBeforeOperator: "filterBeforeOperator", filterBeforeOrEqualOperator: "filterBeforeOrEqualOperator", filterFilterButton: "filterFilterButton", filterClearButton: "filterClearButton", filterAndLogic: "filterAndLogic", filterOrLogic: "filterOrLogic", filterToolbarToolText: "filterToolbarToolText", loading: "loading", gridLabel: "gridLabel", columnMenu: "columnMenu", setColumnPosition: "setColumnPosition", columns: "columns", lock: "lock", unlock: "unlock", stick: "stick", unstick: "unstick", sortable: "sortable", sortAscending: "sortAscending", sortDescending: "sortDescending", autosizeThisColumn: "autosizeThisColumn", autosizeAllColumns: "autosizeAllColumns", sortedAscending: "sortedAscending", sortedDescending: "sortedDescending", sortedDefault: "sortedDefault", sortToolbarToolText: "sortToolbarToolText", columnsApply: "columnsApply", columnsReset: "columnsReset", detailExpand: "detailExpand", detailCollapse: "detailCollapse", filterDateToday: "filterDateToday", filterDateToggle: "filterDateToggle", filterNumericDecrement: "filterNumericDecrement", filterNumericIncrement: "filterNumericIncrement", selectionCheckboxLabel: "selectionCheckboxLabel", selectAllCheckboxLabel: "selectAllCheckboxLabel", groupCollapse: "groupCollapse", groupExpand: "groupExpand", topToolbarLabel: "topToolbarLabel", bottomToolbarLabel: "bottomToolbarLabel", editToolbarToolText: "editToolbarToolText", saveToolbarToolText: "saveToolbarToolText", addToolbarToolText: "addToolbarToolText", cancelToolbarToolText: "cancelToolbarToolText", removeToolbarToolText: "removeToolbarToolText", excelExportToolbarToolText: "excelExportToolbarToolText", pdfExportToolbarToolText: "pdfExportToolbarToolText", groupPanelLabel: "groupPanelLabel", dragRowHandleLabel: "dragRowHandleLabel", columnMenuFilterTabTitle: "columnMenuFilterTabTitle", columnMenuGeneralTabTitle: "columnMenuGeneralTabTitle", columnMenuColumnsTabTitle: "columnMenuColumnsTabTitle", groupChipMenuPrevious: "groupChipMenuPrevious", groupChipMenuNext: "groupChipMenuNext", formValidationErrorText: "formValidationErrorText", removeConfirmationDialogTitle: "removeConfirmationDialogTitle", removeConfirmationDialogContent: "removeConfirmationDialogContent", removeConfirmationDialogConfirmText: "removeConfirmationDialogConfirmText", removeConfirmationDialogRejectText: "removeConfirmationDialogRejectText", externalEditingTitle: "externalEditingTitle", externalEditingSaveText: "externalEditingSaveText", externalEditingCancelText: "externalEditingCancelText" }, usesInheritance: true, ngImport: i0 });
|
|
23592
23722
|
}
|
|
23593
23723
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridMessages, decorators: [{
|
|
23594
23724
|
type: Directive,
|
|
@@ -23754,6 +23884,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
23754
23884
|
type: Input
|
|
23755
23885
|
}], bottomToolbarLabel: [{
|
|
23756
23886
|
type: Input
|
|
23887
|
+
}], editToolbarToolText: [{
|
|
23888
|
+
type: Input
|
|
23889
|
+
}], saveToolbarToolText: [{
|
|
23890
|
+
type: Input
|
|
23891
|
+
}], addToolbarToolText: [{
|
|
23892
|
+
type: Input
|
|
23893
|
+
}], cancelToolbarToolText: [{
|
|
23894
|
+
type: Input
|
|
23895
|
+
}], removeToolbarToolText: [{
|
|
23896
|
+
type: Input
|
|
23897
|
+
}], excelExportToolbarToolText: [{
|
|
23898
|
+
type: Input
|
|
23899
|
+
}], pdfExportToolbarToolText: [{
|
|
23900
|
+
type: Input
|
|
23757
23901
|
}], groupPanelLabel: [{
|
|
23758
23902
|
type: Input
|
|
23759
23903
|
}], dragRowHandleLabel: [{
|
|
@@ -24267,6 +24411,21 @@ class GridComponent {
|
|
|
24267
24411
|
this.defaultSelection ? this.defaultSelection.stateToArray() : this.selectionDirective.stateToArray() :
|
|
24268
24412
|
[];
|
|
24269
24413
|
}
|
|
24414
|
+
/**
|
|
24415
|
+
* The current Grid `GridState` objects. Contains the information about data operations and column state, required
|
|
24416
|
+
* to store and restore the Grid state.
|
|
24417
|
+
*/
|
|
24418
|
+
get currentState() {
|
|
24419
|
+
return {
|
|
24420
|
+
filter: this.filter,
|
|
24421
|
+
group: this.group,
|
|
24422
|
+
sort: this.sort,
|
|
24423
|
+
skip: this.skip,
|
|
24424
|
+
take: this.pageSize,
|
|
24425
|
+
columnsState: this.columns.toArray().flatMap(recursiveColumnsFlatMap),
|
|
24426
|
+
currentData: structuredClone(this.data)
|
|
24427
|
+
};
|
|
24428
|
+
}
|
|
24270
24429
|
/**
|
|
24271
24430
|
* If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells
|
|
24272
24431
|
* ([see example]({% slug resizing_columns_grid %})).
|
|
@@ -24305,6 +24464,31 @@ class GridComponent {
|
|
|
24305
24464
|
* @default false
|
|
24306
24465
|
*/
|
|
24307
24466
|
hideHeader = false;
|
|
24467
|
+
/**
|
|
24468
|
+
* Specifies if the currently inactive toolbar tools will be visible. Applicable when the toolbar is configured using the <kendo-toolbar> component. By default, such tools are hidden.
|
|
24469
|
+
*
|
|
24470
|
+
* @default false
|
|
24471
|
+
*/
|
|
24472
|
+
showInactiveTools = false;
|
|
24473
|
+
/**
|
|
24474
|
+
* A function which determines if a specific row is expanded.
|
|
24475
|
+
*/
|
|
24476
|
+
set isDetailExpanded(callback) {
|
|
24477
|
+
this.detailsService.userCallback = callback;
|
|
24478
|
+
}
|
|
24479
|
+
get isDetailExpanded() {
|
|
24480
|
+
return this.detailsService.userCallback;
|
|
24481
|
+
}
|
|
24482
|
+
/**
|
|
24483
|
+
* A function which determines if a specific group row is expanded.
|
|
24484
|
+
*/
|
|
24485
|
+
set isGroupExpanded(callback) {
|
|
24486
|
+
this.groupsService.userCallback = callback;
|
|
24487
|
+
this.groupable = isPresent(callback);
|
|
24488
|
+
}
|
|
24489
|
+
get isGroupExpanded() {
|
|
24490
|
+
return this.groupsService.userCallback;
|
|
24491
|
+
}
|
|
24308
24492
|
/**
|
|
24309
24493
|
* Fires when the Grid filter is modified through the UI.
|
|
24310
24494
|
* You have to handle the event yourself and filter the data.
|
|
@@ -24337,6 +24521,10 @@ class GridComponent {
|
|
|
24337
24521
|
* Fires when the data state of the Grid is changed.
|
|
24338
24522
|
*/
|
|
24339
24523
|
dataStateChange = new EventEmitter();
|
|
24524
|
+
/**
|
|
24525
|
+
* Fires when the data or columns state of the Grid is changed.
|
|
24526
|
+
*/
|
|
24527
|
+
gridStateChange = new EventEmitter();
|
|
24340
24528
|
/**
|
|
24341
24529
|
* Fires when the user expands a group header.
|
|
24342
24530
|
*/
|
|
@@ -24583,6 +24771,12 @@ class GridComponent {
|
|
|
24583
24771
|
get navigation() {
|
|
24584
24772
|
return this.navigationService;
|
|
24585
24773
|
}
|
|
24774
|
+
/**
|
|
24775
|
+
* @hidden
|
|
24776
|
+
*/
|
|
24777
|
+
get flatData() {
|
|
24778
|
+
return isArray(this.data) ? this.data : this.data.data;
|
|
24779
|
+
}
|
|
24586
24780
|
shouldGenerateColumns = true;
|
|
24587
24781
|
direction;
|
|
24588
24782
|
notifyTimeout = null;
|
|
@@ -24693,6 +24887,7 @@ class GridComponent {
|
|
|
24693
24887
|
* @hidden
|
|
24694
24888
|
*/
|
|
24695
24889
|
blockArrowSelection = false;
|
|
24890
|
+
undoRedoService;
|
|
24696
24891
|
selectionSubscription;
|
|
24697
24892
|
stateChangeSubscription;
|
|
24698
24893
|
groupExpandCollapseSubscription;
|
|
@@ -24864,6 +25059,7 @@ class GridComponent {
|
|
|
24864
25059
|
}
|
|
24865
25060
|
this.initSelectionService();
|
|
24866
25061
|
this.updateNavigationMetadata();
|
|
25062
|
+
this.currentState.currentData = this.data;
|
|
24867
25063
|
}
|
|
24868
25064
|
ngOnChanges(changes) {
|
|
24869
25065
|
if (isChanged$1("data", changes)) {
|
|
@@ -25073,6 +25269,12 @@ class GridComponent {
|
|
|
25073
25269
|
const target = isNaN(columnIndex) ? row : `${row} td[data-kendo-grid-column-index="${columnIndex}"]`;
|
|
25074
25270
|
this.focusEditElement(target);
|
|
25075
25271
|
}
|
|
25272
|
+
/**
|
|
25273
|
+
* @hidden
|
|
25274
|
+
*/
|
|
25275
|
+
handleReorderEvents(ev, evType) {
|
|
25276
|
+
this.rowReorderService[evType](ev);
|
|
25277
|
+
}
|
|
25076
25278
|
/**
|
|
25077
25279
|
* Closes the editor for a given row ([see example]({% slug inline_editing_grid %}#toc-canceling-editing-1)).
|
|
25078
25280
|
*
|
|
@@ -25166,6 +25368,42 @@ class GridComponent {
|
|
|
25166
25368
|
saveAsExcel() {
|
|
25167
25369
|
this.excelService.save(this);
|
|
25168
25370
|
}
|
|
25371
|
+
/**
|
|
25372
|
+
* Applies the provided `GridState` object to the Grid.
|
|
25373
|
+
*/
|
|
25374
|
+
loadState(state) {
|
|
25375
|
+
this.traverseColumns(this.columns, (column) => {
|
|
25376
|
+
const columnState = state.columnsState.find((col) => col.id === column.id);
|
|
25377
|
+
if (columnState) {
|
|
25378
|
+
column.width = columnState.width;
|
|
25379
|
+
column.hidden = columnState.hidden;
|
|
25380
|
+
column.locked = columnState.locked;
|
|
25381
|
+
column.sticky = columnState.sticky;
|
|
25382
|
+
column.orderIndex = columnState.orderIndex;
|
|
25383
|
+
}
|
|
25384
|
+
});
|
|
25385
|
+
this.columns.reset(this.columns.toArray());
|
|
25386
|
+
this.columnsContainer.refresh();
|
|
25387
|
+
this.sort = state.sort;
|
|
25388
|
+
this.group = state.group;
|
|
25389
|
+
this.filter = state.filter;
|
|
25390
|
+
this.group = state.group;
|
|
25391
|
+
this.skip = state.skip;
|
|
25392
|
+
this.pageSize = state.take;
|
|
25393
|
+
this.data = state.currentData;
|
|
25394
|
+
this.changeNotification.notify();
|
|
25395
|
+
this.changeDetectorRef.detectChanges();
|
|
25396
|
+
}
|
|
25397
|
+
traverseColumns(columns, callback) {
|
|
25398
|
+
columns.forEach((column) => {
|
|
25399
|
+
if (column.isColumnGroup || column.isSpanColumn) {
|
|
25400
|
+
this.traverseColumns(column.children, callback);
|
|
25401
|
+
}
|
|
25402
|
+
else {
|
|
25403
|
+
callback(column);
|
|
25404
|
+
}
|
|
25405
|
+
});
|
|
25406
|
+
}
|
|
25169
25407
|
/**
|
|
25170
25408
|
* Applies the minimum possible width for the specified column,
|
|
25171
25409
|
* so that the whole text fits without wrapping. This method expects the Grid
|
|
@@ -25316,7 +25554,7 @@ class GridComponent {
|
|
|
25316
25554
|
return;
|
|
25317
25555
|
}
|
|
25318
25556
|
if (isSpanColumnComponent(target) && !options.before) {
|
|
25319
|
-
target = target.
|
|
25557
|
+
target = target.children.last;
|
|
25320
25558
|
}
|
|
25321
25559
|
this.reorder({
|
|
25322
25560
|
before: options.before,
|
|
@@ -25324,37 +25562,6 @@ class GridComponent {
|
|
|
25324
25562
|
target: target
|
|
25325
25563
|
});
|
|
25326
25564
|
}
|
|
25327
|
-
/**
|
|
25328
|
-
* A function which determines if a specific row is expanded.
|
|
25329
|
-
*/
|
|
25330
|
-
set isDetailExpanded(callback) {
|
|
25331
|
-
this.detailsService.userCallback = callback;
|
|
25332
|
-
}
|
|
25333
|
-
get isDetailExpanded() {
|
|
25334
|
-
return this.detailsService.userCallback;
|
|
25335
|
-
}
|
|
25336
|
-
/**
|
|
25337
|
-
* A function which determines if a specific group row is expanded.
|
|
25338
|
-
*/
|
|
25339
|
-
set isGroupExpanded(callback) {
|
|
25340
|
-
this.groupsService.userCallback = callback;
|
|
25341
|
-
this.groupable = isPresent(callback);
|
|
25342
|
-
}
|
|
25343
|
-
get isGroupExpanded() {
|
|
25344
|
-
return this.groupsService.userCallback;
|
|
25345
|
-
}
|
|
25346
|
-
/**
|
|
25347
|
-
* @hidden
|
|
25348
|
-
*/
|
|
25349
|
-
handleReorderEvents(ev, evType) {
|
|
25350
|
-
this.rowReorderService[evType](ev);
|
|
25351
|
-
}
|
|
25352
|
-
/**
|
|
25353
|
-
* @hidden
|
|
25354
|
-
*/
|
|
25355
|
-
get flatData() {
|
|
25356
|
-
return isArray(this.data) ? this.data : this.data.data;
|
|
25357
|
-
}
|
|
25358
25565
|
/**
|
|
25359
25566
|
* @hidden
|
|
25360
25567
|
*/
|
|
@@ -25408,7 +25615,7 @@ class GridComponent {
|
|
|
25408
25615
|
let toSkip = 1;
|
|
25409
25616
|
// Possible only when called from the API.
|
|
25410
25617
|
if (source.isSpanColumn) {
|
|
25411
|
-
toSkip += source.
|
|
25618
|
+
toSkip += source.children.length;
|
|
25412
25619
|
}
|
|
25413
25620
|
let i = 0;
|
|
25414
25621
|
while (i < expandedColumns.length) {
|
|
@@ -25604,7 +25811,13 @@ class GridComponent {
|
|
|
25604
25811
|
this.blockArrowSelection = true;
|
|
25605
25812
|
}
|
|
25606
25813
|
this.dataStateChange.emit(x);
|
|
25814
|
+
this.gridStateChange.emit({ ...x, columnsState: this.currentState.columnsState, currentData: this.currentState.currentData });
|
|
25815
|
+
if (this.undoRedoService) {
|
|
25816
|
+
this.undoRedoService.originalEvent = x;
|
|
25817
|
+
}
|
|
25607
25818
|
});
|
|
25819
|
+
this.stateChangeSubscription.add(merge(this.columnReorder, this.columnResize, this.columnVisibilityChange, this.columnLockedChange, this.columnStickyChange).pipe(flatMap(() => this.ngZone.onStable.pipe(take(1))))
|
|
25820
|
+
.subscribe(() => this.ngZone.run(() => this.gridStateChange.emit(this.currentState))));
|
|
25608
25821
|
}
|
|
25609
25822
|
attachEditHandlers() {
|
|
25610
25823
|
if (!this.editService) {
|
|
@@ -25898,7 +26111,7 @@ class GridComponent {
|
|
|
25898
26111
|
this.dropTargetContainer?.notify();
|
|
25899
26112
|
}
|
|
25900
26113
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, deps: [{ token: BrowserSupportService }, { token: SelectionService }, { token: CellSelectionService }, { token: i0.ElementRef }, { token: GroupInfoService }, { token: GroupsService }, { token: ChangeNotificationService }, { token: DetailsService }, { token: EditService }, { token: FilterService }, { token: PDFService }, { token: ResponsiveService }, { token: i0.Renderer2 }, { token: ExcelService }, { token: i0.NgZone }, { token: ScrollSyncService }, { token: DomEventsService }, { token: ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: ColumnReorderService }, { token: ColumnInfoService }, { token: NavigationService }, { token: SortService }, { token: ScrollRequestService }, { token: i1$2.LocalizationService }, { token: ContextService }, { token: SizingOptionsService }, { token: RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
25901
|
-
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", 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: [
|
|
26114
|
+
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: [
|
|
25902
26115
|
BrowserSupportService,
|
|
25903
26116
|
LocalizationService,
|
|
25904
26117
|
ColumnInfoService,
|
|
@@ -26184,6 +26397,27 @@ class GridComponent {
|
|
|
26184
26397
|
i18n-bottomToolbarLabel="kendo.grid.bottomToolbarLabel|The label for the Grid bottom toolbar"
|
|
26185
26398
|
bottomToolbarLabel="Bottom toolbar"
|
|
26186
26399
|
|
|
26400
|
+
i18n-editToolbarToolText="kendo.grid.editToolbarToolText|The text for the Grid Edit toolbar tool"
|
|
26401
|
+
editToolbarToolText="Edit"
|
|
26402
|
+
|
|
26403
|
+
i18n-saveToolbarToolText="kendo.grid.saveToolbarToolText|The text for the Grid Save toolbar tool"
|
|
26404
|
+
saveToolbarToolText="Save"
|
|
26405
|
+
|
|
26406
|
+
i18n-addToolbarToolText="kendo.grid.addToolbarToolText|The text for the Grid Add toolbar tool"
|
|
26407
|
+
addToolbarToolText="Add"
|
|
26408
|
+
|
|
26409
|
+
i18n-cancelToolbarToolText="kendo.grid.cancelToolbarToolText|The text for the Grid Cancel toolbar tool"
|
|
26410
|
+
cancelToolbarToolText="Cancel"
|
|
26411
|
+
|
|
26412
|
+
i18n-removeToolbarToolText="kendo.grid.removeToolbarToolText|The text for the Grid Remove toolbar tool"
|
|
26413
|
+
removeToolbarToolText="Delete"
|
|
26414
|
+
|
|
26415
|
+
i18n-excelExportToolbarToolText="kendo.grid.excelExportToolbarToolText|The text for the Grid Excel export toolbar tool"
|
|
26416
|
+
excelExportToolbarToolText="Excel Export"
|
|
26417
|
+
|
|
26418
|
+
i18n-pdfExportToolbarToolText="kendo.grid.pdfExportToolbarToolText|The text for the Grid PDF export toolbar tool"
|
|
26419
|
+
pdfExportToolbarToolText="PDF Export"
|
|
26420
|
+
|
|
26187
26421
|
i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
|
|
26188
26422
|
groupPanelLabel="Group panel"
|
|
26189
26423
|
|
|
@@ -26637,7 +26871,7 @@ class GridComponent {
|
|
|
26637
26871
|
<div #dialogContainer></div>
|
|
26638
26872
|
|
|
26639
26873
|
<div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
|
|
26640
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, 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:
|
|
26874
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGridLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, 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: i50.CustomMessagesComponent, selector: "kendo-datapager-messages, kendo-pager-messages" }, { kind: "component", type: i50.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i50.PagerInputComponent, selector: "kendo-datapager-input, kendo-pager-input", inputs: ["size"] }, { kind: "component", type: i50.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i50.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i50.PagerPageSizesComponent, selector: "kendo-datapager-page-sizes, kendo-pager-page-sizes", inputs: ["pageSizes", "size"] }, { kind: "component", type: i50.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i50.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: i50.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 });
|
|
26641
26875
|
}
|
|
26642
26876
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridComponent, decorators: [{
|
|
26643
26877
|
type: Component,
|
|
@@ -26932,6 +27166,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
26932
27166
|
i18n-bottomToolbarLabel="kendo.grid.bottomToolbarLabel|The label for the Grid bottom toolbar"
|
|
26933
27167
|
bottomToolbarLabel="Bottom toolbar"
|
|
26934
27168
|
|
|
27169
|
+
i18n-editToolbarToolText="kendo.grid.editToolbarToolText|The text for the Grid Edit toolbar tool"
|
|
27170
|
+
editToolbarToolText="Edit"
|
|
27171
|
+
|
|
27172
|
+
i18n-saveToolbarToolText="kendo.grid.saveToolbarToolText|The text for the Grid Save toolbar tool"
|
|
27173
|
+
saveToolbarToolText="Save"
|
|
27174
|
+
|
|
27175
|
+
i18n-addToolbarToolText="kendo.grid.addToolbarToolText|The text for the Grid Add toolbar tool"
|
|
27176
|
+
addToolbarToolText="Add"
|
|
27177
|
+
|
|
27178
|
+
i18n-cancelToolbarToolText="kendo.grid.cancelToolbarToolText|The text for the Grid Cancel toolbar tool"
|
|
27179
|
+
cancelToolbarToolText="Cancel"
|
|
27180
|
+
|
|
27181
|
+
i18n-removeToolbarToolText="kendo.grid.removeToolbarToolText|The text for the Grid Remove toolbar tool"
|
|
27182
|
+
removeToolbarToolText="Delete"
|
|
27183
|
+
|
|
27184
|
+
i18n-excelExportToolbarToolText="kendo.grid.excelExportToolbarToolText|The text for the Grid Excel export toolbar tool"
|
|
27185
|
+
excelExportToolbarToolText="Excel Export"
|
|
27186
|
+
|
|
27187
|
+
i18n-pdfExportToolbarToolText="kendo.grid.pdfExportToolbarToolText|The text for the Grid PDF export toolbar tool"
|
|
27188
|
+
pdfExportToolbarToolText="PDF Export"
|
|
27189
|
+
|
|
26935
27190
|
i18n-groupPanelLabel="kendo.grid.groupPanelLabel|The label for the Grid group panel toolbar"
|
|
26936
27191
|
groupPanelLabel="Group panel"
|
|
26937
27192
|
|
|
@@ -27461,6 +27716,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
27461
27716
|
type: Input
|
|
27462
27717
|
}], hideHeader: [{
|
|
27463
27718
|
type: Input
|
|
27719
|
+
}], showInactiveTools: [{
|
|
27720
|
+
type: Input
|
|
27721
|
+
}], isDetailExpanded: [{
|
|
27722
|
+
type: Input
|
|
27723
|
+
}], isGroupExpanded: [{
|
|
27724
|
+
type: Input
|
|
27464
27725
|
}], filterChange: [{
|
|
27465
27726
|
type: Output
|
|
27466
27727
|
}], pageChange: [{
|
|
@@ -27475,6 +27736,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
27475
27736
|
type: Output
|
|
27476
27737
|
}], dataStateChange: [{
|
|
27477
27738
|
type: Output
|
|
27739
|
+
}], gridStateChange: [{
|
|
27740
|
+
type: Output
|
|
27478
27741
|
}], groupExpand: [{
|
|
27479
27742
|
type: Output
|
|
27480
27743
|
}], groupCollapse: [{
|
|
@@ -27599,10 +27862,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
27599
27862
|
}], dialogContainer: [{
|
|
27600
27863
|
type: ViewChild,
|
|
27601
27864
|
args: ['dialogContainer', { read: ViewContainerRef }]
|
|
27602
|
-
}], isDetailExpanded: [{
|
|
27603
|
-
type: Input
|
|
27604
|
-
}], isGroupExpanded: [{
|
|
27605
|
-
type: Input
|
|
27606
27865
|
}] } });
|
|
27607
27866
|
|
|
27608
27867
|
/**
|
|
@@ -29657,22 +29916,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
29657
29916
|
* </kendo-grid>
|
|
29658
29917
|
* ```
|
|
29659
29918
|
*/
|
|
29660
|
-
class PDFCommandToolbarDirective {
|
|
29919
|
+
class PDFCommandToolbarDirective extends ToolbarToolBase {
|
|
29661
29920
|
pdfService;
|
|
29662
29921
|
host;
|
|
29663
|
-
|
|
29664
|
-
|
|
29922
|
+
constructor(pdfService, host, ctx, zone, cdr) {
|
|
29923
|
+
super(host, ToolbarToolName.pdfExport, ctx, zone, cdr);
|
|
29665
29924
|
this.pdfService = pdfService;
|
|
29666
29925
|
this.host = host;
|
|
29667
29926
|
}
|
|
29668
29927
|
ngOnInit() {
|
|
29669
|
-
|
|
29928
|
+
super.ngOnInit();
|
|
29670
29929
|
this.host.className = 'k-grid-pdf';
|
|
29671
|
-
this.host.svgIcon = filePdfIcon;
|
|
29672
|
-
this.host.icon = 'file-pdf';
|
|
29673
|
-
}
|
|
29674
|
-
ngOnDestroy() {
|
|
29675
|
-
this.clickSub.unsubscribe();
|
|
29676
29930
|
}
|
|
29677
29931
|
/**
|
|
29678
29932
|
* @hidden
|
|
@@ -29681,8 +29935,8 @@ class PDFCommandToolbarDirective {
|
|
|
29681
29935
|
e.preventDefault();
|
|
29682
29936
|
this.pdfService.exportClick.emit();
|
|
29683
29937
|
}
|
|
29684
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDFCommandToolbarDirective, deps: [{ token: PDFService }, { token:
|
|
29685
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PDFCommandToolbarDirective, isStandalone: true, selector: "[kendoGridPDFTool]", ngImport: i0 });
|
|
29938
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDFCommandToolbarDirective, deps: [{ token: PDFService }, { token: i51.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
29939
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PDFCommandToolbarDirective, isStandalone: true, selector: "[kendoGridPDFTool]", usesInheritance: true, ngImport: i0 });
|
|
29686
29940
|
}
|
|
29687
29941
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDFCommandToolbarDirective, decorators: [{
|
|
29688
29942
|
type: Directive,
|
|
@@ -29690,7 +29944,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
29690
29944
|
selector: '[kendoGridPDFTool]',
|
|
29691
29945
|
standalone: true
|
|
29692
29946
|
}]
|
|
29693
|
-
}], ctorParameters: function () { return [{ type: PDFService }, { type:
|
|
29947
|
+
}], ctorParameters: function () { return [{ type: PDFService }, { type: i51.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
|
|
29694
29948
|
|
|
29695
29949
|
/**
|
|
29696
29950
|
* Represents the `export-to-Excel` toolbar tool of the Grid.
|
|
@@ -29712,22 +29966,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
29712
29966
|
* </kendo-grid>
|
|
29713
29967
|
* ```
|
|
29714
29968
|
*/
|
|
29715
|
-
class ExcelCommandToolbarDirective {
|
|
29969
|
+
class ExcelCommandToolbarDirective extends ToolbarToolBase {
|
|
29716
29970
|
excelService;
|
|
29717
|
-
host
|
|
29718
|
-
|
|
29719
|
-
constructor(excelService, host) {
|
|
29971
|
+
constructor(excelService, host, ctx, zone, cdr) {
|
|
29972
|
+
super(host, ToolbarToolName.excelExport, ctx, zone, cdr);
|
|
29720
29973
|
this.excelService = excelService;
|
|
29721
|
-
this.host = host;
|
|
29722
29974
|
}
|
|
29723
29975
|
ngOnInit() {
|
|
29724
|
-
|
|
29976
|
+
super.ngOnInit();
|
|
29725
29977
|
this.host.className = 'k-grid-excel';
|
|
29726
|
-
this.host.svgIcon = fileExcelIcon;
|
|
29727
|
-
this.host.icon = 'file-excel';
|
|
29728
|
-
}
|
|
29729
|
-
ngOnDestroy() {
|
|
29730
|
-
this.clickSub.unsubscribe();
|
|
29731
29978
|
}
|
|
29732
29979
|
/**
|
|
29733
29980
|
* @hidden
|
|
@@ -29736,8 +29983,8 @@ class ExcelCommandToolbarDirective {
|
|
|
29736
29983
|
e.preventDefault();
|
|
29737
29984
|
this.excelService.exportClick.emit();
|
|
29738
29985
|
}
|
|
29739
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelCommandToolbarDirective, deps: [{ token: ExcelService }, { token:
|
|
29740
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ExcelCommandToolbarDirective, isStandalone: true, selector: "[kendoGridExcelTool]", ngImport: i0 });
|
|
29986
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelCommandToolbarDirective, deps: [{ token: ExcelService }, { token: i51.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
29987
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ExcelCommandToolbarDirective, isStandalone: true, selector: "[kendoGridExcelTool]", usesInheritance: true, ngImport: i0 });
|
|
29741
29988
|
}
|
|
29742
29989
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExcelCommandToolbarDirective, decorators: [{
|
|
29743
29990
|
type: Directive,
|
|
@@ -29745,42 +29992,111 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
29745
29992
|
selector: '[kendoGridExcelTool]',
|
|
29746
29993
|
standalone: true
|
|
29747
29994
|
}]
|
|
29748
|
-
}], ctorParameters: function () { return [{ type: ExcelService }, { type:
|
|
29995
|
+
}], ctorParameters: function () { return [{ type: ExcelService }, { type: i51.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
|
|
29749
29996
|
|
|
29750
29997
|
/**
|
|
29751
|
-
*
|
|
29752
|
-
* You can apply this directive to any `kendo-toolbar-button` element inside a
|
|
29753
|
-
* ToolbarComponent used in the Grid.
|
|
29754
|
-
*
|
|
29755
|
-
* When the user clicks the toolbar button that is associated with the directive, , the
|
|
29756
|
-
* [add]({% slug api_grid_gridcomponent %}#toc-add) event is triggered
|
|
29757
|
-
* ([see example]({% slug basics_editing_grid %})).
|
|
29758
|
-
*
|
|
29759
|
-
* @example
|
|
29760
|
-
* ```html-no-run
|
|
29761
|
-
* <kendo-grid>
|
|
29762
|
-
* <kendo-toolbar>
|
|
29763
|
-
* <kendo-toolbar-button text="Add new" kendoGridAddTool></kendo-toolbar-button>
|
|
29764
|
-
* </kendo-toolbar>
|
|
29765
|
-
* </kendo-grid>
|
|
29766
|
-
* ```
|
|
29998
|
+
* @hidden
|
|
29767
29999
|
*/
|
|
29768
|
-
class
|
|
29769
|
-
editService;
|
|
30000
|
+
class ToolbarEditingToolBase extends ToolbarToolBase {
|
|
29770
30001
|
host;
|
|
29771
|
-
|
|
29772
|
-
|
|
29773
|
-
|
|
30002
|
+
commandName;
|
|
30003
|
+
ctx;
|
|
30004
|
+
editService;
|
|
30005
|
+
selection;
|
|
30006
|
+
isEdited = false;
|
|
30007
|
+
lastToolState = null;
|
|
30008
|
+
constructor(host, commandName, ctx, zone, cdr, editService, selection) {
|
|
30009
|
+
super(host, commandName, ctx, zone, cdr);
|
|
29774
30010
|
this.host = host;
|
|
30011
|
+
this.commandName = commandName;
|
|
30012
|
+
this.ctx = ctx;
|
|
30013
|
+
this.editService = editService;
|
|
30014
|
+
this.selection = selection;
|
|
29775
30015
|
}
|
|
29776
|
-
|
|
29777
|
-
|
|
29778
|
-
|
|
29779
|
-
|
|
29780
|
-
this.
|
|
29781
|
-
|
|
29782
|
-
|
|
29783
|
-
this.
|
|
30016
|
+
ngDoCheck() {
|
|
30017
|
+
if (!isPresent$1(this.editService)) {
|
|
30018
|
+
return;
|
|
30019
|
+
}
|
|
30020
|
+
this.isEdited = this.editService.isEditing();
|
|
30021
|
+
let isToolInactive = false;
|
|
30022
|
+
const selectionPresent = isPresent$1(this.lastSelectionIndex);
|
|
30023
|
+
switch (this.commandName) {
|
|
30024
|
+
case ToolbarToolName.edit:
|
|
30025
|
+
isToolInactive = this.isEdited || !selectionPresent;
|
|
30026
|
+
break;
|
|
30027
|
+
case ToolbarToolName.save:
|
|
30028
|
+
isToolInactive = !(this.isEdited || this.editService.hasNewItem);
|
|
30029
|
+
break;
|
|
30030
|
+
case ToolbarToolName.remove:
|
|
30031
|
+
isToolInactive = this.isEdited || !selectionPresent;
|
|
30032
|
+
break;
|
|
30033
|
+
case ToolbarToolName.cancel:
|
|
30034
|
+
isToolInactive = !(this.isEdited || this.editService.hasNewItem);
|
|
30035
|
+
break;
|
|
30036
|
+
}
|
|
30037
|
+
if (this.lastToolState !== isToolInactive) {
|
|
30038
|
+
this.lastToolState = isToolInactive;
|
|
30039
|
+
if (this.ctx.grid.showInactiveTools) {
|
|
30040
|
+
this.host.disabled = isToolInactive;
|
|
30041
|
+
}
|
|
30042
|
+
else {
|
|
30043
|
+
this.host.isHidden = isToolInactive;
|
|
30044
|
+
const toolbar = this.host.host;
|
|
30045
|
+
toolbar.refreshService.refresh(this.host);
|
|
30046
|
+
if (toolbar.resizable) {
|
|
30047
|
+
this.zone.onStable.pipe(take(1)).subscribe(() => {
|
|
30048
|
+
toolbar.onResize();
|
|
30049
|
+
});
|
|
30050
|
+
}
|
|
30051
|
+
}
|
|
30052
|
+
}
|
|
30053
|
+
}
|
|
30054
|
+
get lastSelectionIndex() {
|
|
30055
|
+
return this.selection?.selected[this.selection?.selected.length - 1];
|
|
30056
|
+
}
|
|
30057
|
+
get isSelectionPresent() {
|
|
30058
|
+
return isPresent$1(this.lastSelectionIndex) && this.lastSelectionIndex > -1;
|
|
30059
|
+
}
|
|
30060
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarEditingToolBase, deps: [{ token: i51.ToolBarButtonComponent }, { token: 'command' }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: EditService }, { token: SelectionService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30061
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ToolbarEditingToolBase, usesInheritance: true, ngImport: i0 });
|
|
30062
|
+
}
|
|
30063
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarEditingToolBase, decorators: [{
|
|
30064
|
+
type: Directive,
|
|
30065
|
+
args: [{}]
|
|
30066
|
+
}], ctorParameters: function () { return [{ type: i51.ToolBarButtonComponent }, { type: undefined, decorators: [{
|
|
30067
|
+
type: Inject,
|
|
30068
|
+
args: ['command']
|
|
30069
|
+
}] }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: EditService }, { type: SelectionService }]; } });
|
|
30070
|
+
|
|
30071
|
+
/**
|
|
30072
|
+
* Represents the command for adding a new item to the Grid.
|
|
30073
|
+
* You can apply this directive to any `kendo-toolbar-button` element inside a
|
|
30074
|
+
* ToolbarComponent used in the Grid.
|
|
30075
|
+
*
|
|
30076
|
+
* When the user clicks the toolbar button that is associated with the directive, , the
|
|
30077
|
+
* [add]({% slug api_grid_gridcomponent %}#toc-add) event is triggered
|
|
30078
|
+
* ([see example]({% slug basics_editing_grid %})).
|
|
30079
|
+
*
|
|
30080
|
+
* @example
|
|
30081
|
+
* ```html-no-run
|
|
30082
|
+
* <kendo-grid>
|
|
30083
|
+
* <kendo-toolbar>
|
|
30084
|
+
* <kendo-toolbar-button text="Add new" kendoGridAddTool></kendo-toolbar-button>
|
|
30085
|
+
* </kendo-toolbar>
|
|
30086
|
+
* </kendo-grid>
|
|
30087
|
+
* ```
|
|
30088
|
+
*/
|
|
30089
|
+
class AddCommandToolbarDirective extends ToolbarEditingToolBase {
|
|
30090
|
+
editService;
|
|
30091
|
+
host;
|
|
30092
|
+
constructor(editService, host, ctx, zone, cdr) {
|
|
30093
|
+
super(host, ToolbarToolName.add, ctx, zone, cdr, editService);
|
|
30094
|
+
this.editService = editService;
|
|
30095
|
+
this.host = host;
|
|
30096
|
+
}
|
|
30097
|
+
ngOnInit() {
|
|
30098
|
+
super.ngOnInit();
|
|
30099
|
+
this.host.className = 'k-grid-add-command';
|
|
29784
30100
|
}
|
|
29785
30101
|
/**
|
|
29786
30102
|
* @hidden
|
|
@@ -29789,8 +30105,8 @@ class AddCommandToolbarDirective {
|
|
|
29789
30105
|
e.preventDefault();
|
|
29790
30106
|
this.editService.beginAdd();
|
|
29791
30107
|
}
|
|
29792
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddCommandToolbarDirective, deps: [{ token: EditService }, { token:
|
|
29793
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AddCommandToolbarDirective, isStandalone: true, selector: "[kendoGridAddTool]", ngImport: i0 });
|
|
30108
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddCommandToolbarDirective, deps: [{ token: EditService }, { token: i51.ToolBarButtonComponent }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30109
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AddCommandToolbarDirective, isStandalone: true, selector: "[kendoGridAddTool]", usesInheritance: true, ngImport: i0 });
|
|
29794
30110
|
}
|
|
29795
30111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AddCommandToolbarDirective, decorators: [{
|
|
29796
30112
|
type: Directive,
|
|
@@ -29798,7 +30114,543 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
29798
30114
|
selector: '[kendoGridAddTool]',
|
|
29799
30115
|
standalone: true
|
|
29800
30116
|
}]
|
|
29801
|
-
}], ctorParameters: function () { return [{ type: EditService }, { type:
|
|
30117
|
+
}], ctorParameters: function () { return [{ type: EditService }, { type: i51.ToolBarButtonComponent }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
|
|
30118
|
+
|
|
30119
|
+
/**
|
|
30120
|
+
* @hidden
|
|
30121
|
+
* A linked-list based implementation of an undo-redo stack.
|
|
30122
|
+
* Maintains a chain of states that can be navigated forward and backward.
|
|
30123
|
+
*/
|
|
30124
|
+
class UndoRedoStack {
|
|
30125
|
+
maxSize;
|
|
30126
|
+
/** The current active node in the undo-redo history */
|
|
30127
|
+
currentNode = null;
|
|
30128
|
+
/** The root node of the stack (first state) */
|
|
30129
|
+
rootNode = null;
|
|
30130
|
+
/** Track the size of the stack */
|
|
30131
|
+
_size = 0;
|
|
30132
|
+
/**
|
|
30133
|
+
* Creates a new UndoRedoStack.
|
|
30134
|
+
* @param maxSize Optional maximum number of states to maintain (unlimited if not provided)
|
|
30135
|
+
*/
|
|
30136
|
+
constructor(maxSize = -1) {
|
|
30137
|
+
this.maxSize = maxSize;
|
|
30138
|
+
}
|
|
30139
|
+
/**
|
|
30140
|
+
* Gets the current number of states in the stack
|
|
30141
|
+
*/
|
|
30142
|
+
get size() {
|
|
30143
|
+
return this._size;
|
|
30144
|
+
}
|
|
30145
|
+
/**
|
|
30146
|
+
* Gets the current active state
|
|
30147
|
+
*/
|
|
30148
|
+
get current() {
|
|
30149
|
+
return this.currentNode ? this.currentNode.state : null;
|
|
30150
|
+
}
|
|
30151
|
+
/**
|
|
30152
|
+
* Checks if undo is available (if there's a previous state)
|
|
30153
|
+
*/
|
|
30154
|
+
get canUndo() {
|
|
30155
|
+
return isPresent$1(this.currentNode?.previous);
|
|
30156
|
+
}
|
|
30157
|
+
/**
|
|
30158
|
+
* Checks if redo is available (if there's a next state)
|
|
30159
|
+
*/
|
|
30160
|
+
get canRedo() {
|
|
30161
|
+
return isPresent$1(this.currentNode?.next);
|
|
30162
|
+
}
|
|
30163
|
+
/**
|
|
30164
|
+
* Adds a new state to the undo-redo stack
|
|
30165
|
+
* @param state The state to add
|
|
30166
|
+
* @param id Optional identifier for the state
|
|
30167
|
+
* @returns The newly created node
|
|
30168
|
+
*/
|
|
30169
|
+
add(state, id) {
|
|
30170
|
+
const newNode = {
|
|
30171
|
+
state,
|
|
30172
|
+
previous: this.currentNode,
|
|
30173
|
+
next: null,
|
|
30174
|
+
id
|
|
30175
|
+
};
|
|
30176
|
+
// If we have a current node, update its next reference
|
|
30177
|
+
if (this.currentNode) {
|
|
30178
|
+
// If we're adding after a node that already had a "next",
|
|
30179
|
+
// we need to discard that branch of history
|
|
30180
|
+
if (this.currentNode.next) {
|
|
30181
|
+
this.truncateForward(this.currentNode);
|
|
30182
|
+
}
|
|
30183
|
+
this.currentNode.next = newNode;
|
|
30184
|
+
}
|
|
30185
|
+
else {
|
|
30186
|
+
// This is the first node
|
|
30187
|
+
this.rootNode = newNode;
|
|
30188
|
+
}
|
|
30189
|
+
this.currentNode = newNode;
|
|
30190
|
+
this._size++;
|
|
30191
|
+
// If we've exceeded the max size, remove oldest nodes
|
|
30192
|
+
this.enforceMaxSize();
|
|
30193
|
+
return newNode;
|
|
30194
|
+
}
|
|
30195
|
+
/**
|
|
30196
|
+
* Finds a node by its identifier
|
|
30197
|
+
* @param id The identifier to search for
|
|
30198
|
+
* @returns The found node or null if not found
|
|
30199
|
+
*/
|
|
30200
|
+
find(id) {
|
|
30201
|
+
if (!this.rootNode) {
|
|
30202
|
+
return null;
|
|
30203
|
+
}
|
|
30204
|
+
let node = this.rootNode;
|
|
30205
|
+
while (node) {
|
|
30206
|
+
if (node.id === id) {
|
|
30207
|
+
return node;
|
|
30208
|
+
}
|
|
30209
|
+
node = node.next;
|
|
30210
|
+
}
|
|
30211
|
+
return null;
|
|
30212
|
+
}
|
|
30213
|
+
/**
|
|
30214
|
+
* Removes a node by its identifier
|
|
30215
|
+
* @param id The identifier of the node to remove
|
|
30216
|
+
* @returns True if the node was found and removed, false otherwise
|
|
30217
|
+
*/
|
|
30218
|
+
remove(id) {
|
|
30219
|
+
const nodeToRemove = this.find(id);
|
|
30220
|
+
if (!nodeToRemove) {
|
|
30221
|
+
return false;
|
|
30222
|
+
}
|
|
30223
|
+
// Handle removal of current node
|
|
30224
|
+
if (nodeToRemove === this.currentNode) {
|
|
30225
|
+
this.currentNode = nodeToRemove.previous || nodeToRemove.next;
|
|
30226
|
+
}
|
|
30227
|
+
// Connect previous and next nodes
|
|
30228
|
+
if (nodeToRemove.previous) {
|
|
30229
|
+
nodeToRemove.previous.next = nodeToRemove.next;
|
|
30230
|
+
}
|
|
30231
|
+
else {
|
|
30232
|
+
// Removing the root node
|
|
30233
|
+
this.rootNode = nodeToRemove.next;
|
|
30234
|
+
}
|
|
30235
|
+
if (nodeToRemove.next) {
|
|
30236
|
+
nodeToRemove.next.previous = nodeToRemove.previous;
|
|
30237
|
+
}
|
|
30238
|
+
// Clean up references to help garbage collection
|
|
30239
|
+
nodeToRemove.previous = null;
|
|
30240
|
+
nodeToRemove.next = null;
|
|
30241
|
+
this._size--;
|
|
30242
|
+
return true;
|
|
30243
|
+
}
|
|
30244
|
+
/**
|
|
30245
|
+
* Performs an undo operation, moving to the previous state
|
|
30246
|
+
* @returns The previous state or null if can't undo
|
|
30247
|
+
*/
|
|
30248
|
+
undo() {
|
|
30249
|
+
if (!this.canUndo) {
|
|
30250
|
+
return null;
|
|
30251
|
+
}
|
|
30252
|
+
this.currentNode = this.currentNode.previous;
|
|
30253
|
+
return this.currentNode.state;
|
|
30254
|
+
}
|
|
30255
|
+
/**
|
|
30256
|
+
* Performs a redo operation, moving to the next state
|
|
30257
|
+
* @returns The next state or null if can't redo
|
|
30258
|
+
*/
|
|
30259
|
+
redo() {
|
|
30260
|
+
if (!this.canRedo) {
|
|
30261
|
+
return null;
|
|
30262
|
+
}
|
|
30263
|
+
this.currentNode = this.currentNode.next;
|
|
30264
|
+
return this.currentNode.state;
|
|
30265
|
+
}
|
|
30266
|
+
/**
|
|
30267
|
+
* Clears all history
|
|
30268
|
+
*/
|
|
30269
|
+
clear() {
|
|
30270
|
+
this.currentNode = null;
|
|
30271
|
+
this.rootNode = null;
|
|
30272
|
+
this._size = 0;
|
|
30273
|
+
}
|
|
30274
|
+
/**
|
|
30275
|
+
* Removes all states after the specified node
|
|
30276
|
+
* @param node The node to truncate from
|
|
30277
|
+
* @returns The number of nodes removed
|
|
30278
|
+
*/
|
|
30279
|
+
truncateForward(node) {
|
|
30280
|
+
if (!node.next) {
|
|
30281
|
+
return 0;
|
|
30282
|
+
}
|
|
30283
|
+
let removedCount = 0;
|
|
30284
|
+
let currentNext = node.next;
|
|
30285
|
+
while (currentNext) {
|
|
30286
|
+
const temp = currentNext.next;
|
|
30287
|
+
// Clean up references for garbage collection
|
|
30288
|
+
currentNext.previous = null;
|
|
30289
|
+
currentNext.next = null;
|
|
30290
|
+
currentNext = temp;
|
|
30291
|
+
removedCount++;
|
|
30292
|
+
}
|
|
30293
|
+
// Update the node's next pointer
|
|
30294
|
+
node.next = null;
|
|
30295
|
+
this._size -= removedCount;
|
|
30296
|
+
return removedCount;
|
|
30297
|
+
}
|
|
30298
|
+
/**
|
|
30299
|
+
* Ensures the stack doesn't exceed the maximum size by removing oldest nodes
|
|
30300
|
+
*/
|
|
30301
|
+
enforceMaxSize() {
|
|
30302
|
+
if (this.maxSize <= 0 || this._size <= this.maxSize) {
|
|
30303
|
+
return;
|
|
30304
|
+
}
|
|
30305
|
+
let nodesToRemove = this._size - this.maxSize;
|
|
30306
|
+
let currentNode = this.rootNode;
|
|
30307
|
+
// Find the new root node
|
|
30308
|
+
while (nodesToRemove > 0 && currentNode) {
|
|
30309
|
+
currentNode = currentNode.next;
|
|
30310
|
+
nodesToRemove--;
|
|
30311
|
+
}
|
|
30312
|
+
if (currentNode) {
|
|
30313
|
+
// Disconnect from previous history
|
|
30314
|
+
currentNode.previous = null;
|
|
30315
|
+
// Update root node
|
|
30316
|
+
this.rootNode = currentNode;
|
|
30317
|
+
// Update size
|
|
30318
|
+
this._size = this.maxSize;
|
|
30319
|
+
}
|
|
30320
|
+
}
|
|
30321
|
+
/**
|
|
30322
|
+
* Gets all states in the stack as an array (from oldest to newest)
|
|
30323
|
+
*/
|
|
30324
|
+
toArray() {
|
|
30325
|
+
const result = [];
|
|
30326
|
+
let node = this.rootNode;
|
|
30327
|
+
while (node) {
|
|
30328
|
+
result.push(node.state);
|
|
30329
|
+
node = node.next;
|
|
30330
|
+
}
|
|
30331
|
+
return result;
|
|
30332
|
+
}
|
|
30333
|
+
/**
|
|
30334
|
+
* Gets the history nodes as an array (useful for debugging)
|
|
30335
|
+
*/
|
|
30336
|
+
getNodes() {
|
|
30337
|
+
const result = [];
|
|
30338
|
+
let node = this.rootNode;
|
|
30339
|
+
while (node) {
|
|
30340
|
+
result.push(node);
|
|
30341
|
+
node = node.next;
|
|
30342
|
+
}
|
|
30343
|
+
return result;
|
|
30344
|
+
}
|
|
30345
|
+
}
|
|
30346
|
+
|
|
30347
|
+
/**
|
|
30348
|
+
* Arguments for the `undo` and `redo` events.
|
|
30349
|
+
*/
|
|
30350
|
+
class UndoRedoEvent extends PreventableEvent$1 {
|
|
30351
|
+
/**
|
|
30352
|
+
* The event data of the original action that triggered the state change.
|
|
30353
|
+
*/
|
|
30354
|
+
originalEvent;
|
|
30355
|
+
/**
|
|
30356
|
+
* The grid state and rendered data at the time of the action.
|
|
30357
|
+
*/
|
|
30358
|
+
gridState;
|
|
30359
|
+
/**
|
|
30360
|
+
* @hidden
|
|
30361
|
+
*/
|
|
30362
|
+
constructor({ originalEvent, gridState }) {
|
|
30363
|
+
super();
|
|
30364
|
+
this.originalEvent = originalEvent;
|
|
30365
|
+
this.gridState = gridState;
|
|
30366
|
+
}
|
|
30367
|
+
}
|
|
30368
|
+
|
|
30369
|
+
/**
|
|
30370
|
+
* @hidden
|
|
30371
|
+
*/
|
|
30372
|
+
class UndoRedoService {
|
|
30373
|
+
originalEvent;
|
|
30374
|
+
onUndo = new Subject();
|
|
30375
|
+
onRedo = new Subject();
|
|
30376
|
+
stackEndReached = new Subject();
|
|
30377
|
+
setState = new Subject();
|
|
30378
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoRedoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30379
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoRedoService });
|
|
30380
|
+
}
|
|
30381
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoRedoService, decorators: [{
|
|
30382
|
+
type: Injectable
|
|
30383
|
+
}] });
|
|
30384
|
+
|
|
30385
|
+
class UndoRedoDirective {
|
|
30386
|
+
host;
|
|
30387
|
+
editService;
|
|
30388
|
+
undoRedoService;
|
|
30389
|
+
changeNotification;
|
|
30390
|
+
/**
|
|
30391
|
+
* Determines the maximum number of actions to keep in the undo-redo stack.
|
|
30392
|
+
* @default 10
|
|
30393
|
+
*/
|
|
30394
|
+
maxStoredStates = 10;
|
|
30395
|
+
/**
|
|
30396
|
+
* Fires when undo action is performed. Exposes the state of the grid that will be applied.
|
|
30397
|
+
*/
|
|
30398
|
+
onUndo = new EventEmitter();
|
|
30399
|
+
/**
|
|
30400
|
+
* Fires when undo action is performed. Exposes the state of the grid that will be applied.
|
|
30401
|
+
*/
|
|
30402
|
+
onRedo = new EventEmitter();
|
|
30403
|
+
/**
|
|
30404
|
+
* Returns an array of all undo-redo actions that are currently in the stack.
|
|
30405
|
+
*/
|
|
30406
|
+
get undoRedoItems() {
|
|
30407
|
+
return this.stack.toArray();
|
|
30408
|
+
}
|
|
30409
|
+
stack;
|
|
30410
|
+
subs = new Subscription();
|
|
30411
|
+
addToState = true;
|
|
30412
|
+
constructor(host, editService, undoRedoService, changeNotification) {
|
|
30413
|
+
this.host = host;
|
|
30414
|
+
this.editService = editService;
|
|
30415
|
+
this.undoRedoService = undoRedoService;
|
|
30416
|
+
this.changeNotification = changeNotification;
|
|
30417
|
+
this.host.undoRedoService = this.undoRedoService;
|
|
30418
|
+
}
|
|
30419
|
+
ngOnInit() {
|
|
30420
|
+
this.stack = new UndoRedoStack(this.maxStoredStates);
|
|
30421
|
+
this.stack.add({
|
|
30422
|
+
originalEvent: {
|
|
30423
|
+
skip: this.host.skip,
|
|
30424
|
+
take: this.host.pageSize,
|
|
30425
|
+
sort: this.host.sort,
|
|
30426
|
+
filter: this.host.filter,
|
|
30427
|
+
group: this.host.group
|
|
30428
|
+
}, gridState: structuredClone(this.host.currentState)
|
|
30429
|
+
});
|
|
30430
|
+
this.subs = this.host.gridStateChange.subscribe((state) => {
|
|
30431
|
+
if (this.addToState) {
|
|
30432
|
+
this.stack.add({
|
|
30433
|
+
originalEvent: {
|
|
30434
|
+
skip: state.skip,
|
|
30435
|
+
take: state.take,
|
|
30436
|
+
sort: state.sort,
|
|
30437
|
+
filter: state.filter,
|
|
30438
|
+
group: state.group
|
|
30439
|
+
},
|
|
30440
|
+
gridState: structuredClone(state)
|
|
30441
|
+
});
|
|
30442
|
+
}
|
|
30443
|
+
let stackEndPointReached;
|
|
30444
|
+
if (this.stack.canUndo) {
|
|
30445
|
+
stackEndPointReached = this.stack.canRedo ? false : 'end';
|
|
30446
|
+
}
|
|
30447
|
+
else {
|
|
30448
|
+
stackEndPointReached = 'start';
|
|
30449
|
+
}
|
|
30450
|
+
this.undoRedoService.stackEndReached.next(stackEndPointReached);
|
|
30451
|
+
});
|
|
30452
|
+
this.subs.add(this.editService.changes
|
|
30453
|
+
.pipe(filter(event => event.action === 'save' || event.action === 'remove'), tap(event => this.undoRedoService.originalEvent = event))
|
|
30454
|
+
.subscribe(event => {
|
|
30455
|
+
this.stack.add({
|
|
30456
|
+
originalEvent: event,
|
|
30457
|
+
gridState: structuredClone(this.host.currentState)
|
|
30458
|
+
});
|
|
30459
|
+
this.addToState = false;
|
|
30460
|
+
this.host.gridStateChange.emit(this.stack.current.gridState);
|
|
30461
|
+
this.addToState = true;
|
|
30462
|
+
this.updateUndoRedoDisabled();
|
|
30463
|
+
}));
|
|
30464
|
+
this.subs.add(this.changeNotification.changes.subscribe(() => this.stack.current.gridState = this.host.currentState));
|
|
30465
|
+
['Undo', 'Redo'].forEach((action) => {
|
|
30466
|
+
this.subs.add(this.undoRedoService[`on${action}`].subscribe(() => {
|
|
30467
|
+
if (!this.stack[`can${action}`]) {
|
|
30468
|
+
return;
|
|
30469
|
+
}
|
|
30470
|
+
this.stack[`${action.toLowerCase()}`]();
|
|
30471
|
+
if (hasObservers(this[`on${action}`])) {
|
|
30472
|
+
const event = new UndoRedoEvent(this.stack.current);
|
|
30473
|
+
this[`on${action}`].emit(event);
|
|
30474
|
+
if (event.isDefaultPrevented()) {
|
|
30475
|
+
return;
|
|
30476
|
+
}
|
|
30477
|
+
}
|
|
30478
|
+
this.updateUndoRedoDisabled();
|
|
30479
|
+
this.host.loadState(this.stack.current.gridState);
|
|
30480
|
+
}));
|
|
30481
|
+
});
|
|
30482
|
+
this.subs.add(this.undoRedoService.setState.subscribe((state) => this.stack.add({ originalEvent: 'dataChange', gridState: state })));
|
|
30483
|
+
}
|
|
30484
|
+
ngOnDestroy() {
|
|
30485
|
+
this.stack.clear();
|
|
30486
|
+
this.stack = null;
|
|
30487
|
+
this.subs.unsubscribe();
|
|
30488
|
+
}
|
|
30489
|
+
/**
|
|
30490
|
+
* Re-applies the last action, reverted by the `undo` method.
|
|
30491
|
+
*/
|
|
30492
|
+
redo() {
|
|
30493
|
+
if (this.stack.canRedo) {
|
|
30494
|
+
this.stack.redo();
|
|
30495
|
+
this.host.loadState(this.stack.current.gridState);
|
|
30496
|
+
if (!this.stack.canRedo) {
|
|
30497
|
+
this.undoRedoService.stackEndReached.next('end');
|
|
30498
|
+
}
|
|
30499
|
+
}
|
|
30500
|
+
}
|
|
30501
|
+
/**
|
|
30502
|
+
* Reverts the last user action.
|
|
30503
|
+
*/
|
|
30504
|
+
undo() {
|
|
30505
|
+
if (this.stack.canUndo) {
|
|
30506
|
+
this.stack.undo();
|
|
30507
|
+
this.host.loadState(this.stack.current.gridState);
|
|
30508
|
+
if (!this.stack.canUndo) {
|
|
30509
|
+
this.undoRedoService.stackEndReached.next('start');
|
|
30510
|
+
}
|
|
30511
|
+
}
|
|
30512
|
+
}
|
|
30513
|
+
updateUndoRedoDisabled() {
|
|
30514
|
+
if (!this.stack.canRedo) {
|
|
30515
|
+
this.undoRedoService.stackEndReached.next('end');
|
|
30516
|
+
return;
|
|
30517
|
+
}
|
|
30518
|
+
if (!this.stack.canUndo) {
|
|
30519
|
+
this.undoRedoService.stackEndReached.next('start');
|
|
30520
|
+
return;
|
|
30521
|
+
}
|
|
30522
|
+
this.undoRedoService.stackEndReached.next(false);
|
|
30523
|
+
}
|
|
30524
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoRedoDirective, deps: [{ token: GridComponent }, { token: EditService }, { token: UndoRedoService }, { token: ChangeNotificationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30525
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: UndoRedoDirective, isStandalone: true, selector: "[kendoGridUndoRedo]", inputs: { maxStoredStates: "maxStoredStates" }, outputs: { onUndo: "undo", onRedo: "redo" }, providers: [UndoRedoService], exportAs: ["kendoGridUndoRedo"], ngImport: i0 });
|
|
30526
|
+
}
|
|
30527
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoRedoDirective, decorators: [{
|
|
30528
|
+
type: Directive,
|
|
30529
|
+
args: [{
|
|
30530
|
+
selector: '[kendoGridUndoRedo]',
|
|
30531
|
+
standalone: true,
|
|
30532
|
+
exportAs: 'kendoGridUndoRedo',
|
|
30533
|
+
providers: [UndoRedoService]
|
|
30534
|
+
}]
|
|
30535
|
+
}], ctorParameters: function () { return [{ type: GridComponent }, { type: EditService }, { type: UndoRedoService }, { type: ChangeNotificationService }]; }, propDecorators: { maxStoredStates: [{
|
|
30536
|
+
type: Input
|
|
30537
|
+
}], onUndo: [{
|
|
30538
|
+
type: Output,
|
|
30539
|
+
args: ['undo']
|
|
30540
|
+
}], onRedo: [{
|
|
30541
|
+
type: Output,
|
|
30542
|
+
args: ['redo']
|
|
30543
|
+
}] } });
|
|
30544
|
+
|
|
30545
|
+
/**
|
|
30546
|
+
* Represents the command for triggering the undo action in the Grid.
|
|
30547
|
+
* You can apply this directive to any `kendo-toolbar-button` element inside a
|
|
30548
|
+
* ToolbarComponent used in the Grid.
|
|
30549
|
+
*
|
|
30550
|
+
* When the user clicks the toolbar button that is associated with the directive, the
|
|
30551
|
+
* [undo]({% slug api_grid_undoredodirective %}#toc-undo) event is triggered.
|
|
30552
|
+
*
|
|
30553
|
+
* @example
|
|
30554
|
+
* ```html-no-run
|
|
30555
|
+
* <kendo-grid>
|
|
30556
|
+
* <kendo-toolbar>
|
|
30557
|
+
* <kendo-toolbar-button kendoGridUndoTool></kendo-toolbar-button>
|
|
30558
|
+
* </kendo-toolbar>
|
|
30559
|
+
* </kendo-grid>
|
|
30560
|
+
* ```
|
|
30561
|
+
*/
|
|
30562
|
+
class UndoCommandToolbarDirective {
|
|
30563
|
+
undoRedoService;
|
|
30564
|
+
host;
|
|
30565
|
+
subs = new Subscription();
|
|
30566
|
+
constructor(undoRedoService, host) {
|
|
30567
|
+
this.undoRedoService = undoRedoService;
|
|
30568
|
+
this.host = host;
|
|
30569
|
+
}
|
|
30570
|
+
ngOnInit() {
|
|
30571
|
+
this.subs = this.host.click.subscribe(e => this.onClick(e));
|
|
30572
|
+
this.host.className = 'k-grid-undo-command';
|
|
30573
|
+
this.host.svgIcon = undoIcon;
|
|
30574
|
+
this.host.icon = 'undo';
|
|
30575
|
+
this.host.text = 'Undo';
|
|
30576
|
+
this.host.disabled = true;
|
|
30577
|
+
this.subs.add(this.undoRedoService.stackEndReached.subscribe((stackEnd) => this.host.disabled = stackEnd === 'start'));
|
|
30578
|
+
}
|
|
30579
|
+
ngOnDestroy() {
|
|
30580
|
+
this.subs.unsubscribe();
|
|
30581
|
+
}
|
|
30582
|
+
/**
|
|
30583
|
+
* @hidden
|
|
30584
|
+
*/
|
|
30585
|
+
onClick(e) {
|
|
30586
|
+
e.preventDefault();
|
|
30587
|
+
this.undoRedoService.onUndo.next();
|
|
30588
|
+
}
|
|
30589
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoCommandToolbarDirective, deps: [{ token: UndoRedoService }, { token: i51.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30590
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: UndoCommandToolbarDirective, isStandalone: true, selector: "[kendoGridUndoTool]", ngImport: i0 });
|
|
30591
|
+
}
|
|
30592
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UndoCommandToolbarDirective, decorators: [{
|
|
30593
|
+
type: Directive,
|
|
30594
|
+
args: [{
|
|
30595
|
+
selector: '[kendoGridUndoTool]',
|
|
30596
|
+
standalone: true
|
|
30597
|
+
}]
|
|
30598
|
+
}], ctorParameters: function () { return [{ type: UndoRedoService }, { type: i51.ToolBarButtonComponent }]; } });
|
|
30599
|
+
|
|
30600
|
+
/**
|
|
30601
|
+
* Represents the command for triggering the redo action in the Grid.
|
|
30602
|
+
* You can apply this directive to any `kendo-toolbar-button` element inside a
|
|
30603
|
+
* ToolbarComponent used in the Grid.
|
|
30604
|
+
*
|
|
30605
|
+
* When the user clicks the toolbar button that is associated with the directive, the
|
|
30606
|
+
* [redo]({% slug api_grid_undoredodirective %}#toc-redo) event is triggered.
|
|
30607
|
+
*
|
|
30608
|
+
* @example
|
|
30609
|
+
* ```html-no-run
|
|
30610
|
+
* <kendo-grid>
|
|
30611
|
+
* <kendo-toolbar>
|
|
30612
|
+
* <kendo-toolbar-button kendoGridRedoTool></kendo-toolbar-button>
|
|
30613
|
+
* </kendo-toolbar>
|
|
30614
|
+
* </kendo-grid>
|
|
30615
|
+
* ```
|
|
30616
|
+
*/
|
|
30617
|
+
class RedoCommandToolbarDirective {
|
|
30618
|
+
undoRedoService;
|
|
30619
|
+
host;
|
|
30620
|
+
subs = new Subscription();
|
|
30621
|
+
constructor(undoRedoService, host) {
|
|
30622
|
+
this.undoRedoService = undoRedoService;
|
|
30623
|
+
this.host = host;
|
|
30624
|
+
}
|
|
30625
|
+
ngOnInit() {
|
|
30626
|
+
this.subs = this.host.click.subscribe(e => this.onClick(e));
|
|
30627
|
+
this.host.className = 'k-grid-redo-command';
|
|
30628
|
+
this.host.svgIcon = redoIcon;
|
|
30629
|
+
this.host.icon = 'redo';
|
|
30630
|
+
this.host.text = 'Redo';
|
|
30631
|
+
this.host.disabled = true;
|
|
30632
|
+
this.subs.add(this.undoRedoService.stackEndReached.subscribe((stackEnd) => this.host.disabled = stackEnd === 'end'));
|
|
30633
|
+
}
|
|
30634
|
+
ngOnDestroy() {
|
|
30635
|
+
this.subs.unsubscribe();
|
|
30636
|
+
}
|
|
30637
|
+
/**
|
|
30638
|
+
* @hidden
|
|
30639
|
+
*/
|
|
30640
|
+
onClick(e) {
|
|
30641
|
+
e.preventDefault();
|
|
30642
|
+
this.undoRedoService.onRedo.next();
|
|
30643
|
+
}
|
|
30644
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RedoCommandToolbarDirective, deps: [{ token: UndoRedoService }, { token: i51.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30645
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RedoCommandToolbarDirective, isStandalone: true, selector: "[kendoGridRedoTool]", ngImport: i0 });
|
|
30646
|
+
}
|
|
30647
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RedoCommandToolbarDirective, decorators: [{
|
|
30648
|
+
type: Directive,
|
|
30649
|
+
args: [{
|
|
30650
|
+
selector: '[kendoGridRedoTool]',
|
|
30651
|
+
standalone: true
|
|
30652
|
+
}]
|
|
30653
|
+
}], ctorParameters: function () { return [{ type: UndoRedoService }, { type: i51.ToolBarButtonComponent }]; } });
|
|
29802
30654
|
|
|
29803
30655
|
const directions = initialDirection => initialDirection === "asc" ? ["asc", "desc"] : ["desc", "asc"];
|
|
29804
30656
|
/**
|
|
@@ -30166,7 +31018,7 @@ class SortCommandToolbarDirective {
|
|
|
30166
31018
|
this.removeClickListener = null;
|
|
30167
31019
|
}
|
|
30168
31020
|
}
|
|
30169
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SortCommandToolbarDirective, deps: [{ token:
|
|
31021
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SortCommandToolbarDirective, deps: [{ token: i51.ToolBarButtonComponent }, { token: i1$5.PopupService }, { token: ContextService }, { token: SortService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30170
31022
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SortCommandToolbarDirective, isStandalone: true, selector: "[kendoGridSortTool]", ngImport: i0 });
|
|
30171
31023
|
}
|
|
30172
31024
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SortCommandToolbarDirective, decorators: [{
|
|
@@ -30175,7 +31027,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
30175
31027
|
selector: '[kendoGridSortTool]',
|
|
30176
31028
|
standalone: true
|
|
30177
31029
|
}]
|
|
30178
|
-
}], ctorParameters: function () { return [{ type:
|
|
31030
|
+
}], ctorParameters: function () { return [{ type: i51.ToolBarButtonComponent }, { type: i1$5.PopupService }, { type: ContextService }, { type: SortService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: i0.Renderer2 }]; } });
|
|
30179
31031
|
|
|
30180
31032
|
/**
|
|
30181
31033
|
* @hidden
|
|
@@ -30578,7 +31430,7 @@ class FilterCommandToolbarDirective {
|
|
|
30578
31430
|
this.removeClickListener = null;
|
|
30579
31431
|
}
|
|
30580
31432
|
}
|
|
30581
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterCommandToolbarDirective, deps: [{ token:
|
|
31433
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterCommandToolbarDirective, deps: [{ token: i51.ToolBarButtonComponent }, { token: i1$5.PopupService }, { token: ContextService }, { token: FilterService }, { token: ColumnInfoService }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30582
31434
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FilterCommandToolbarDirective, isStandalone: true, selector: "[kendoGridFilterTool]", ngImport: i0 });
|
|
30583
31435
|
}
|
|
30584
31436
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterCommandToolbarDirective, decorators: [{
|
|
@@ -30587,7 +31439,194 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
30587
31439
|
selector: '[kendoGridFilterTool]',
|
|
30588
31440
|
standalone: true
|
|
30589
31441
|
}]
|
|
30590
|
-
}], ctorParameters: function () { return [{ type:
|
|
31442
|
+
}], ctorParameters: function () { return [{ type: i51.ToolBarButtonComponent }, { type: i1$5.PopupService }, { type: ContextService }, { type: FilterService }, { type: ColumnInfoService }, { type: i0.NgZone }, { type: i0.Renderer2 }]; } });
|
|
31443
|
+
|
|
31444
|
+
/**
|
|
31445
|
+
* Represents the `edit` command in the Grid.
|
|
31446
|
+
* You can apply this directive to any `kendo-toolbar-button` element inside a
|
|
31447
|
+
* ToolbarComponent used in the Grid.
|
|
31448
|
+
*
|
|
31449
|
+
* When the user clicks the toolbar button that is associated with the directive, the
|
|
31450
|
+
* [edit]({% slug api_grid_gridcomponent %}#toc-edit) event is triggered.
|
|
31451
|
+
*
|
|
31452
|
+
* @example
|
|
31453
|
+
* ```html-no-run
|
|
31454
|
+
* <kendo-grid>
|
|
31455
|
+
* <kendo-toolbar>
|
|
31456
|
+
* <kendo-toolbar-button text="Edit" kendoGridEditTool></kendo-toolbar-button>
|
|
31457
|
+
* </kendo-toolbar>
|
|
31458
|
+
* </kendo-grid>
|
|
31459
|
+
* ```
|
|
31460
|
+
*/
|
|
31461
|
+
class EditCommandToolbarDirective extends ToolbarEditingToolBase {
|
|
31462
|
+
editService;
|
|
31463
|
+
constructor(editService, host, selection, ctx, zone, cdr) {
|
|
31464
|
+
super(host, ToolbarToolName.edit, ctx, zone, cdr, editService, selection);
|
|
31465
|
+
this.editService = editService;
|
|
31466
|
+
}
|
|
31467
|
+
/**
|
|
31468
|
+
* @hidden
|
|
31469
|
+
*/
|
|
31470
|
+
onClick(e) {
|
|
31471
|
+
e.preventDefault();
|
|
31472
|
+
if (!this.isSelectionPresent) {
|
|
31473
|
+
return;
|
|
31474
|
+
}
|
|
31475
|
+
this.editService.beginEdit(this.lastSelectionIndex);
|
|
31476
|
+
}
|
|
31477
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditCommandToolbarDirective, deps: [{ token: EditService }, { token: i51.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
31478
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EditCommandToolbarDirective, isStandalone: true, selector: "[kendoGridEditTool]", usesInheritance: true, ngImport: i0 });
|
|
31479
|
+
}
|
|
31480
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EditCommandToolbarDirective, decorators: [{
|
|
31481
|
+
type: Directive,
|
|
31482
|
+
args: [{
|
|
31483
|
+
selector: '[kendoGridEditTool]',
|
|
31484
|
+
standalone: true
|
|
31485
|
+
}]
|
|
31486
|
+
}], ctorParameters: function () { return [{ type: EditService }, { type: i51.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
|
|
31487
|
+
|
|
31488
|
+
/**
|
|
31489
|
+
* Represents the `save` command in the Grid.
|
|
31490
|
+
* You can apply this directive to any `kendo-toolbar-button` element inside a
|
|
31491
|
+
* ToolbarComponent used in the Grid.
|
|
31492
|
+
*
|
|
31493
|
+
* When the user clicks the toolbar button that is associated with the directive, the
|
|
31494
|
+
* [save]({% slug api_grid_gridcomponent %}#toc-save) event is triggered.
|
|
31495
|
+
*
|
|
31496
|
+
* @example
|
|
31497
|
+
* ```html-no-run
|
|
31498
|
+
* <kendo-grid>
|
|
31499
|
+
* <kendo-toolbar>
|
|
31500
|
+
* <kendo-toolbar-button text="Save" kendoGridSaveTool></kendo-toolbar-button>
|
|
31501
|
+
* </kendo-toolbar>
|
|
31502
|
+
* </kendo-grid>
|
|
31503
|
+
* ```
|
|
31504
|
+
*/
|
|
31505
|
+
class SaveCommandToolbarDirective extends ToolbarEditingToolBase {
|
|
31506
|
+
editService;
|
|
31507
|
+
constructor(editService, host, selection, ctx, zone, cdr) {
|
|
31508
|
+
super(host, ToolbarToolName.save, ctx, zone, cdr, editService, selection);
|
|
31509
|
+
this.editService = editService;
|
|
31510
|
+
}
|
|
31511
|
+
/**
|
|
31512
|
+
* @hidden
|
|
31513
|
+
*/
|
|
31514
|
+
onClick(e) {
|
|
31515
|
+
e.preventDefault();
|
|
31516
|
+
if (this.editService.hasNewItem) {
|
|
31517
|
+
this.editService.save();
|
|
31518
|
+
}
|
|
31519
|
+
else if (this.isSelectionPresent && this.editService.isEdited(this.lastSelectionIndex)) {
|
|
31520
|
+
this.editService.save(this.lastSelectionIndex);
|
|
31521
|
+
}
|
|
31522
|
+
else {
|
|
31523
|
+
this.editService.editedIndices.forEach(i => this.editService.save(i.index));
|
|
31524
|
+
}
|
|
31525
|
+
}
|
|
31526
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SaveCommandToolbarDirective, deps: [{ token: EditService }, { token: i51.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
31527
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SaveCommandToolbarDirective, isStandalone: true, selector: "[kendoGridSaveTool]", usesInheritance: true, ngImport: i0 });
|
|
31528
|
+
}
|
|
31529
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SaveCommandToolbarDirective, decorators: [{
|
|
31530
|
+
type: Directive,
|
|
31531
|
+
args: [{
|
|
31532
|
+
selector: '[kendoGridSaveTool]',
|
|
31533
|
+
standalone: true
|
|
31534
|
+
}]
|
|
31535
|
+
}], ctorParameters: function () { return [{ type: EditService }, { type: i51.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
|
|
31536
|
+
|
|
31537
|
+
/**
|
|
31538
|
+
* Represents the `remove` command in the Grid.
|
|
31539
|
+
* You can apply this directive to any `kendo-toolbar-button` element inside a
|
|
31540
|
+
* ToolbarComponent used in the Grid.
|
|
31541
|
+
*
|
|
31542
|
+
* When the user clicks the toolbar button that is associated with the directive, the
|
|
31543
|
+
* [remove]({% slug api_grid_gridcomponent %}#toc-remove) event is triggered.
|
|
31544
|
+
*
|
|
31545
|
+
* @example
|
|
31546
|
+
* ```html-no-run
|
|
31547
|
+
* <kendo-grid>
|
|
31548
|
+
* <kendo-toolbar>
|
|
31549
|
+
* <kendo-toolbar-button text="Remove row" kendoGridRemoveTool></kendo-toolbar-button>
|
|
31550
|
+
* </kendo-toolbar>
|
|
31551
|
+
* </kendo-grid>
|
|
31552
|
+
* ```
|
|
31553
|
+
*/
|
|
31554
|
+
class RemoveCommandToolbarDirective extends ToolbarEditingToolBase {
|
|
31555
|
+
editService;
|
|
31556
|
+
selection;
|
|
31557
|
+
constructor(editService, host, selection, ctx, zone, cdr) {
|
|
31558
|
+
super(host, ToolbarToolName.remove, ctx, zone, cdr, editService, selection);
|
|
31559
|
+
this.editService = editService;
|
|
31560
|
+
this.selection = selection;
|
|
31561
|
+
}
|
|
31562
|
+
/**
|
|
31563
|
+
* @hidden
|
|
31564
|
+
*/
|
|
31565
|
+
onClick(e) {
|
|
31566
|
+
e.preventDefault();
|
|
31567
|
+
if (this.isSelectionPresent) {
|
|
31568
|
+
this.editService.remove(this.lastSelectionIndex);
|
|
31569
|
+
}
|
|
31570
|
+
}
|
|
31571
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RemoveCommandToolbarDirective, deps: [{ token: EditService }, { token: i51.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
31572
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RemoveCommandToolbarDirective, isStandalone: true, selector: "[kendoGridRemoveTool]", usesInheritance: true, ngImport: i0 });
|
|
31573
|
+
}
|
|
31574
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RemoveCommandToolbarDirective, decorators: [{
|
|
31575
|
+
type: Directive,
|
|
31576
|
+
args: [{
|
|
31577
|
+
selector: '[kendoGridRemoveTool]',
|
|
31578
|
+
standalone: true
|
|
31579
|
+
}]
|
|
31580
|
+
}], ctorParameters: function () { return [{ type: EditService }, { type: i51.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
|
|
31581
|
+
|
|
31582
|
+
/**
|
|
31583
|
+
* Represents the `cancel` command in the Grid.
|
|
31584
|
+
* You can apply this directive to any `kendo-toolbar-button` element inside a
|
|
31585
|
+
* ToolbarComponent used in the Grid.
|
|
31586
|
+
*
|
|
31587
|
+
* When the user clicks the toolbar button that is associated with the directive, the
|
|
31588
|
+
* [cancel]({% slug api_grid_gridcomponent %}#toc-cancel) event is triggered.
|
|
31589
|
+
*
|
|
31590
|
+
* @example
|
|
31591
|
+
* ```html-no-run
|
|
31592
|
+
* <kendo-grid>
|
|
31593
|
+
* <kendo-toolbar>
|
|
31594
|
+
* <kendo-toolbar-button text="Cancel" kendoGridCancelTool></kendo-toolbar-button>
|
|
31595
|
+
* </kendo-toolbar>
|
|
31596
|
+
* </kendo-grid>
|
|
31597
|
+
* ```
|
|
31598
|
+
*/
|
|
31599
|
+
class CancelCommandToolbarDirective extends ToolbarEditingToolBase {
|
|
31600
|
+
editService;
|
|
31601
|
+
constructor(editService, host, selection, ctx, zone, cdr) {
|
|
31602
|
+
super(host, ToolbarToolName.cancel, ctx, zone, cdr, editService, selection);
|
|
31603
|
+
this.editService = editService;
|
|
31604
|
+
}
|
|
31605
|
+
/**
|
|
31606
|
+
* @hidden
|
|
31607
|
+
*/
|
|
31608
|
+
onClick(e) {
|
|
31609
|
+
e.preventDefault();
|
|
31610
|
+
if (this.editService.hasNewItem) {
|
|
31611
|
+
this.editService.endEdit();
|
|
31612
|
+
}
|
|
31613
|
+
else if (this.isSelectionPresent && this.editService.isEdited(this.lastSelectionIndex)) {
|
|
31614
|
+
this.editService.endEdit(this.lastSelectionIndex);
|
|
31615
|
+
}
|
|
31616
|
+
else {
|
|
31617
|
+
this.editService.editedIndices.forEach(i => this.editService.endEdit(i.index));
|
|
31618
|
+
}
|
|
31619
|
+
}
|
|
31620
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CancelCommandToolbarDirective, deps: [{ token: EditService }, { token: i51.ToolBarButtonComponent }, { token: SelectionService }, { token: ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
31621
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CancelCommandToolbarDirective, isStandalone: true, selector: "[kendoGridCancelTool]", usesInheritance: true, ngImport: i0 });
|
|
31622
|
+
}
|
|
31623
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CancelCommandToolbarDirective, decorators: [{
|
|
31624
|
+
type: Directive,
|
|
31625
|
+
args: [{
|
|
31626
|
+
selector: '[kendoGridCancelTool]',
|
|
31627
|
+
standalone: true
|
|
31628
|
+
}]
|
|
31629
|
+
}], ctorParameters: function () { return [{ type: EditService }, { type: i51.ToolBarButtonComponent }, { type: SelectionService }, { type: ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
|
|
30591
31630
|
|
|
30592
31631
|
// DRAGGABLE COLUMN
|
|
30593
31632
|
/**
|
|
@@ -30809,6 +31848,10 @@ const KENDO_GRID_BODY_EXPORTS = [
|
|
|
30809
31848
|
RemoveCommandDirective,
|
|
30810
31849
|
AddCommandDirective,
|
|
30811
31850
|
AddCommandToolbarDirective,
|
|
31851
|
+
EditCommandToolbarDirective,
|
|
31852
|
+
SaveCommandToolbarDirective,
|
|
31853
|
+
RemoveCommandToolbarDirective,
|
|
31854
|
+
CancelCommandToolbarDirective,
|
|
30812
31855
|
CellLoadingTemplateDirective,
|
|
30813
31856
|
LoadingTemplateDirective,
|
|
30814
31857
|
RowReorderColumnComponent,
|
|
@@ -30844,7 +31887,8 @@ const KENDO_GRID_DECLARATIONS = [
|
|
|
30844
31887
|
GridClipboardDirective,
|
|
30845
31888
|
FormComponent,
|
|
30846
31889
|
DialogFormComponent,
|
|
30847
|
-
FormFormFieldComponent
|
|
31890
|
+
FormFormFieldComponent,
|
|
31891
|
+
UndoRedoDirective,
|
|
30848
31892
|
];
|
|
30849
31893
|
/**
|
|
30850
31894
|
* @hidden
|
|
@@ -30876,7 +31920,10 @@ const KENDO_GRID_EXPORTS = [
|
|
|
30876
31920
|
...KENDO_GRID_FILTER_OPERATORS,
|
|
30877
31921
|
...KENDO_GRID_FILTER_MENU_EXPORTS,
|
|
30878
31922
|
...KENDO_GRID_COLUMN_MENU_EXPORTS,
|
|
30879
|
-
GridClipboardDirective
|
|
31923
|
+
GridClipboardDirective,
|
|
31924
|
+
UndoRedoDirective,
|
|
31925
|
+
UndoCommandToolbarDirective,
|
|
31926
|
+
RedoCommandToolbarDirective,
|
|
30880
31927
|
];
|
|
30881
31928
|
/**
|
|
30882
31929
|
* @hidden
|
|
@@ -30939,7 +31986,9 @@ const KENDO_GRID = [
|
|
|
30939
31986
|
*/
|
|
30940
31987
|
class GridModule {
|
|
30941
31988
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
30942
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridModule, imports: [GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, GroupHeaderComponent, GroupPanelComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, EditTemplateDirective, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, TableBodyComponent, NoRecordsTemplateDirective, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, AddCommandToolbarDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, SortCommandToolbarDirective, FilterCommandToolbarDirective, HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective, FooterComponent,
|
|
31989
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridModule, imports: [GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, GroupHeaderComponent, GroupPanelComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, EditTemplateDirective, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, TableBodyComponent, NoRecordsTemplateDirective, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, AddCommandToolbarDirective, EditCommandToolbarDirective, SaveCommandToolbarDirective, RemoveCommandToolbarDirective, CancelCommandToolbarDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, SortCommandToolbarDirective, FilterCommandToolbarDirective, HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective, FooterComponent, i50.CustomMessagesComponent, i50.PagerFocusableDirective, i50.PagerInfoComponent, i50.PagerInputComponent, i50.PagerNextButtonsComponent, i50.PagerNumericButtonsComponent, i50.PagerPageSizesComponent, i50.PagerPrevButtonsComponent, i50.PagerTemplateDirective, i50.PagerComponent, i50.PagerSpacerComponent, i51.ToolBarComponent, i51.ToolbarCustomMessagesComponent, i51.ToolBarButtonComponent, i51.ToolBarButtonGroupComponent, i51.ToolBarDropDownButtonComponent, i51.ToolBarSeparatorComponent, i51.ToolBarSpacerComponent, i51.ToolBarSplitButtonComponent, i51.ToolBarToolComponent, FilterRowComponent, FilterCellComponent, FilterCellTemplateDirective, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellHostDirective, FilterCellWrapperComponent, DateFilterCellComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterInputDirective, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, FilterMenuTemplateDirective, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, FilterMenuHostDirective, BooleanFilterMenuComponent, FilterMenuDropDownListDirective, BooleanFilterRadioButtonDirective, ColumnMenuChooserItemCheckedDirective, ColumnListComponent, ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnMenuChooserComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuComponent, ColumnMenuLockComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridComponent, ListComponent, ToolbarComponent, LocalizedMessagesDirective, CustomMessagesComponent, DataBindingDirective, ToolbarTemplateDirective, SelectionDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, ExternalEditingDirective, ExpandDetailsDirective, ExpandGroupDirective, GroupBindingDirective, GridMarqueeDirective, GridSpacerComponent, GridToolbarFocusableDirective, StatusBarComponent, StatusBarTemplateDirective, GridClipboardDirective, FormComponent, DialogFormComponent, FormFormFieldComponent, UndoRedoDirective, i51.ToolBarComponent, i51.ToolbarCustomMessagesComponent, i51.ToolBarButtonComponent, i51.ToolBarButtonGroupComponent, i51.ToolBarDropDownButtonComponent, i51.ToolBarSeparatorComponent, i51.ToolBarSpacerComponent, i51.ToolBarSplitButtonComponent, i51.ToolBarToolComponent, TableDirective,
|
|
31990
|
+
UndoCommandToolbarDirective,
|
|
31991
|
+
RedoCommandToolbarDirective], exports: [GridComponent, ToolbarTemplateDirective, ToolbarComponent, GridSpacerComponent, StatusBarTemplateDirective, DataBindingDirective, SelectionDirective, CustomMessagesComponent, GroupBindingDirective, TemplateEditingDirective, ReactiveEditingDirective, InCellEditingDirective, ExternalEditingDirective, ExpandDetailsDirective, ExpandGroupDirective, GridToolbarFocusableDirective, GroupHeaderTemplateDirective, GroupHeaderColumnTemplateDirective, GroupFooterTemplateDirective, GroupHeaderComponent, GroupPanelComponent, ColumnComponent, ColumnGroupComponent, LogicalCellDirective, LogicalRowDirective, FocusableDirective, FooterTemplateDirective, ColGroupComponent, ResizableContainerDirective, i1$3.TemplateContextDirective, FieldAccessorPipe, DetailTemplateDirective, SpanColumnComponent, LoadingComponent, GridTableDirective, CommandColumnComponent, CheckboxColumnComponent, SelectionCheckboxDirective, CellTemplateDirective, EditTemplateDirective, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, TableBodyComponent, NoRecordsTemplateDirective, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, AddCommandToolbarDirective, EditCommandToolbarDirective, SaveCommandToolbarDirective, RemoveCommandToolbarDirective, CancelCommandToolbarDirective, CellLoadingTemplateDirective, LoadingTemplateDirective, RowReorderColumnComponent, SortCommandToolbarDirective, FilterCommandToolbarDirective, HeaderComponent, HeaderTemplateDirective, ColumnHandleDirective, SelectAllCheckboxDirective, FilterRowComponent, FilterCellComponent, FilterCellTemplateDirective, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellHostDirective, FilterCellWrapperComponent, DateFilterCellComponent, FilterCellOperatorsComponent, ContainsFilterOperatorComponent, DoesNotContainFilterOperatorComponent, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, NotEqualFilterOperatorComponent, StartsWithFilterOperatorComponent, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, AfterFilterOperatorComponent, AfterEqFilterOperatorComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, FilterMenuTemplateDirective, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, FilterMenuHostDirective, BooleanFilterMenuComponent, FilterMenuDropDownListDirective, BooleanFilterRadioButtonDirective, ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuSortComponent, ColumnMenuLockComponent, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuChooserComponent, ColumnMenuTemplateDirective, ColumnMenuContainerComponent, ColumnMenuItemDirective, ColumnMenuComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridClipboardDirective, UndoRedoDirective, UndoCommandToolbarDirective, RedoCommandToolbarDirective, i51.ToolBarComponent, i51.ToolbarCustomMessagesComponent, i51.ToolBarButtonComponent, i51.ToolBarButtonGroupComponent, i51.ToolBarDropDownButtonComponent, i51.ToolBarSeparatorComponent, i51.ToolBarSpacerComponent, i51.ToolBarSplitButtonComponent, i51.ToolBarToolComponent, i50.CustomMessagesComponent, i50.PagerFocusableDirective, i50.PagerInfoComponent, i50.PagerInputComponent, i50.PagerNextButtonsComponent, i50.PagerNumericButtonsComponent, i50.PagerPageSizesComponent, i50.PagerPrevButtonsComponent, i50.PagerTemplateDirective, i50.PagerComponent, i50.PagerSpacerComponent] });
|
|
30943
31992
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, providers: [
|
|
30944
31993
|
PopupService,
|
|
30945
31994
|
ResizeBatchService,
|
|
@@ -30954,7 +32003,7 @@ class GridModule {
|
|
|
30954
32003
|
MonthViewService,
|
|
30955
32004
|
YearViewService,
|
|
30956
32005
|
NavigationService$1
|
|
30957
|
-
], imports: [GroupHeaderComponent, GroupPanelComponent, TableBodyComponent, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, HeaderComponent,
|
|
32006
|
+
], imports: [GroupHeaderComponent, GroupPanelComponent, TableBodyComponent, CellComponent, EditCommandDirective, CancelCommandDirective, SaveCommandDirective, RemoveCommandDirective, AddCommandDirective, HeaderComponent, i50.CustomMessagesComponent, i50.PagerInfoComponent, i50.PagerInputComponent, i50.PagerNextButtonsComponent, i50.PagerNumericButtonsComponent, i50.PagerPageSizesComponent, i50.PagerPrevButtonsComponent, i50.PagerComponent, i50.PagerSpacerComponent, i51.ToolBarComponent, i51.ToolbarCustomMessagesComponent, i51.ToolBarButtonComponent, i51.ToolBarButtonGroupComponent, i51.ToolBarDropDownButtonComponent, i51.ToolBarSeparatorComponent, i51.ToolBarSpacerComponent, i51.ToolBarSplitButtonComponent, StringFilterCellComponent, NumericFilterCellComponent, AutoCompleteFilterCellComponent, BooleanFilterCellComponent, FilterCellWrapperComponent, DateFilterCellComponent, FilterCellOperatorsComponent, FilterCellOperatorsComponent, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuInputWrapperComponent, StringFilterMenuInputComponent, StringFilterMenuComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, DateFilterMenuInputComponent, DateFilterMenuComponent, BooleanFilterMenuComponent, ColumnListComponent, ColumnChooserComponent, ColumnMenuChooserComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuSortComponent, ColumnMenuComponent, ColumnMenuLockComponent, ColumnMenuStickComponent, ColumnMenuPositionComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuAutoSizeAllColumnsComponent, GridComponent, ListComponent, FormComponent, DialogFormComponent, FormFormFieldComponent, i51.ToolBarComponent, i51.ToolbarCustomMessagesComponent, i51.ToolBarButtonComponent, i51.ToolBarButtonGroupComponent, i51.ToolBarDropDownButtonComponent, i51.ToolBarSeparatorComponent, i51.ToolBarSpacerComponent, i51.ToolBarSplitButtonComponent] });
|
|
30958
32007
|
}
|
|
30959
32008
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridModule, decorators: [{
|
|
30960
32009
|
type: NgModule,
|
|
@@ -30973,7 +32022,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
30973
32022
|
...KENDO_GRID_COLUMN_MENU_DECLARATIONS,
|
|
30974
32023
|
...KENDO_GRID_DECLARATIONS,
|
|
30975
32024
|
...KENDO_TOOLBAR,
|
|
30976
|
-
TableDirective
|
|
32025
|
+
TableDirective,
|
|
32026
|
+
UndoCommandToolbarDirective,
|
|
32027
|
+
RedoCommandToolbarDirective
|
|
30977
32028
|
],
|
|
30978
32029
|
providers: [
|
|
30979
32030
|
PopupService,
|
|
@@ -31070,5 +32121,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
31070
32121
|
* Generated bundle index. Do not edit.
|
|
31071
32122
|
*/
|
|
31072
32123
|
|
|
31073
|
-
export { AddCommandDirective, AddCommandToolbarDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionAggregateService, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditService as EditServiceClass, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelCommandToolbarDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, ExternalEditingDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterCommandToolbarDirective, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridClipboardDirective, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupPanelComponent, GroupsService, HeaderComponent, HeaderTemplateDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, KENDO_GRID, KENDO_GRID_BODY_EXPORTS, KENDO_GRID_COLUMN_DRAGANDDROP, KENDO_GRID_COLUMN_MENU_DECLARATIONS, KENDO_GRID_COLUMN_MENU_EXPORTS, KENDO_GRID_DECLARATIONS, KENDO_GRID_EXCEL_EXPORT, KENDO_GRID_EXPORTS, KENDO_GRID_FILTER_MENU, KENDO_GRID_FILTER_MENU_EXPORTS, KENDO_GRID_FILTER_OPERATORS, KENDO_GRID_FILTER_ROW, KENDO_GRID_FILTER_ROW_EXPORTS, KENDO_GRID_FILTER_SHARED, KENDO_GRID_FOOTER_EXPORTS, KENDO_GRID_GROUP_EXPORTS, KENDO_GRID_HEADER_EXPORTS, KENDO_GRID_PDF_EXPORT, KENDO_GRID_SHARED, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFCommandToolbarDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RemoveCommandDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, RowEditingDirectiveBase, RowReorderColumnComponent, RowReorderService, SaveCommandDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SinglePopupService, SizingOptionsService, Skip, SortCommandToolbarDirective, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
|
|
32124
|
+
export { AddCommandDirective, AddCommandToolbarDirective, AfterEqFilterOperatorComponent, AfterFilterOperatorComponent, AutoCompleteFilterCellComponent, BaseFilterCellComponent, BeforeEqFilterOperatorComponent, BeforeFilterOperatorComponent, BooleanFilterCellComponent, BooleanFilterComponent, BooleanFilterMenuComponent, BooleanFilterRadioButtonDirective, BrowserSupportService, CELL_CONTEXT, CancelCommandDirective, CancelCommandToolbarDirective, CellCloseEvent, CellComponent, CellLoadingTemplateDirective, CellSelectionAggregateService, CellSelectionService, CellTemplateDirective, ChangeNotificationService, CheckboxColumnComponent, ColGroupComponent, ColumnBase, ColumnChooserComponent, ColumnChooserToolbarDirective, ColumnComponent, ColumnGroupComponent, ColumnHandleDirective, ColumnInfoService, ColumnListComponent, ColumnLockedChangeEvent, ColumnMenuAutoSizeAllColumnsComponent, ColumnMenuAutoSizeColumnComponent, ColumnMenuChooserComponent, ColumnMenuComponent, ColumnMenuContainerComponent, ColumnMenuFilterComponent, ColumnMenuItemComponent, ColumnMenuItemContentTemplateDirective, ColumnMenuItemDirective, ColumnMenuLockComponent, ColumnMenuPositionComponent, ColumnMenuService, ColumnMenuSortComponent, ColumnMenuStickComponent, ColumnMenuTemplateDirective, ColumnReorderEvent, ColumnReorderService, ColumnResizingService, ColumnStickyChangeEvent, ColumnVisibilityChangeEvent, ColumnsContainer, CommandColumnComponent, ContainsFilterOperatorComponent, ContextService, CustomMessagesComponent, DEFAULT_SCROLLER_FACTORY, DataBindingDirective, DateFilterCellComponent, DateFilterComponent, DateFilterMenuComponent, DateFilterMenuInputComponent, DetailCollapseEvent, DetailExpandEvent, DetailTemplateDirective, DetailsService, DoesNotContainFilterOperatorComponent, DomEventsService, DragAndDropService, DragHintService, DropCueService, EditCommandDirective, EditCommandToolbarDirective, EditService as EditServiceClass, EditTemplateDirective, EditingDirectiveBase, EndsWithFilterOperatorComponent, EqualFilterOperatorComponent, ExcelCommandDirective, ExcelCommandToolbarDirective, ExcelComponent, ExcelExportEvent, ExcelModule, ExcelService, ExpandDetailsDirective, ExpandGroupDirective, ExternalEditingDirective, FieldAccessorPipe, FilterCellComponent, FilterCellHostDirective, FilterCellOperatorsComponent, FilterCellTemplateDirective, FilterCellWrapperComponent, FilterCommandToolbarDirective, FilterInputDirective, FilterMenuComponent, FilterMenuContainerComponent, FilterMenuDropDownListDirective, FilterMenuHostDirective, FilterMenuInputWrapperComponent, FilterMenuTemplateDirective, FilterRowComponent, FilterService, FocusRoot, FocusableDirective, FooterComponent, FooterTemplateDirective, GreaterFilterOperatorComponent, GreaterOrEqualToFilterOperatorComponent, GridClipboardDirective, GridComponent, GridModule, GridSpacerComponent, GridTableDirective, GridToolbarFocusableDirective, GridToolbarNavigationService, GroupBindingDirective, GroupFooterTemplateDirective, GroupHeaderColumnTemplateDirective, GroupHeaderComponent, GroupHeaderTemplateDirective, GroupInfoService, GroupPanelComponent, GroupsService, HeaderComponent, HeaderTemplateDirective, IdService, InCellEditingDirective, IsEmptyFilterOperatorComponent, IsNotEmptyFilterOperatorComponent, IsNotNullFilterOperatorComponent, IsNullFilterOperatorComponent, KENDO_GRID, KENDO_GRID_BODY_EXPORTS, KENDO_GRID_COLUMN_DRAGANDDROP, KENDO_GRID_COLUMN_MENU_DECLARATIONS, KENDO_GRID_COLUMN_MENU_EXPORTS, KENDO_GRID_DECLARATIONS, KENDO_GRID_EXCEL_EXPORT, KENDO_GRID_EXPORTS, KENDO_GRID_FILTER_MENU, KENDO_GRID_FILTER_MENU_EXPORTS, KENDO_GRID_FILTER_OPERATORS, KENDO_GRID_FILTER_ROW, KENDO_GRID_FILTER_ROW_EXPORTS, KENDO_GRID_FILTER_SHARED, KENDO_GRID_FOOTER_EXPORTS, KENDO_GRID_GROUP_EXPORTS, KENDO_GRID_HEADER_EXPORTS, KENDO_GRID_PDF_EXPORT, KENDO_GRID_SHARED, LessFilterOperatorComponent, LessOrEqualToFilterOperatorComponent, ListComponent, LoadingComponent, LoadingTemplateDirective, LocalDataChangesService, LogicalCellDirective, LogicalRowDirective, MenuTabbingService, NavigationService, NoRecordsTemplateDirective, NotEqualFilterOperatorComponent, NumericFilterCellComponent, NumericFilterComponent, NumericFilterMenuComponent, NumericFilterMenuInputComponent, PDFCommandDirective, PDFCommandToolbarDirective, PDFComponent, PDFMarginComponent, PDFModule, PDFService, PDFTemplateDirective, PopupCloseEvent, ReactiveEditingDirective, RedoCommandToolbarDirective, RemoveCommandDirective, RemoveCommandToolbarDirective, ResizableContainerDirective, ResizeService, ResponsiveService, RowDragHandleTemplateDirective, RowDragHintTemplateDirective, RowEditingDirectiveBase, RowReorderColumnComponent, RowReorderService, SaveCommandDirective, SaveCommandToolbarDirective, ScrollRequestService, ScrollSyncService, SelectAllCheckboxDirective, SelectionCheckboxDirective, SelectionDirective, SelectionService, SinglePopupService, SizingOptionsService, Skip, SortCommandToolbarDirective, SortService, SpanColumnComponent, StartsWithFilterOperatorComponent, StatusBarTemplateDirective, StringFilterCellComponent, StringFilterComponent, StringFilterMenuComponent, StringFilterMenuInputComponent, SuspendService, TableBodyComponent, TableDirective, TemplateEditingDirective, ToolbarComponent, ToolbarTemplateDirective, UndoCommandToolbarDirective, UndoRedoDirective, UndoRedoEvent, count, defaultTrackBy, hasFilterMenu, hasFilterRow, isFilterable, slice };
|
|
31074
32125
|
|