@progress/kendo-angular-grid 19.0.0-develop.1 → 19.0.0-develop.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/column-menu/column-chooser-tool.directive.d.ts +6 -6
- package/common/toolbar-tool-base.directive.d.ts +26 -0
- package/directives.d.ts +7 -3
- package/dragdrop/drag-hint.service.d.ts +3 -2
- 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/common/toolbar-tool-base.directive.mjs +81 -0
- package/esm2022/directives.mjs +8 -0
- package/esm2022/dragdrop/drag-hint.service.mjs +7 -4
- 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/form/form-formfield.component.mjs +1 -1
- 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/filtering/cell/autocomplete-filter-cell.component.mjs +1 -1
- package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +1 -1
- package/esm2022/filtering/cell/date-filter-cell.component.mjs +1 -1
- package/esm2022/filtering/cell/filter-cell-operators.component.mjs +1 -1
- package/esm2022/filtering/filter-input.directive.mjs +14 -2
- package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +1 -1
- package/esm2022/filtering/menu/date-filter-menu.component.mjs +1 -1
- package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +1 -1
- package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +1 -1
- package/esm2022/filtering/menu/string-filter-menu.component.mjs +1 -1
- package/esm2022/grid.component.mjs +57 -1
- package/esm2022/grid.module.mjs +104 -100
- package/esm2022/index.mjs +4 -0
- package/esm2022/localization/messages.mjs +43 -1
- package/esm2022/navigation/navigation.service.mjs +1 -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 +1 -1
- package/esm2022/rendering/table-body.component.mjs +10 -2
- package/esm2022/row-reordering/row-reorder.service.mjs +15 -0
- package/esm2022/selection/selection.service.mjs +11 -0
- package/excel/excel-command-tool.directive.d.ts +5 -5
- package/fesm2022/progress-kendo-angular-grid.mjs +566 -102
- package/filtering/filter-input.directive.d.ts +1 -0
- package/grid.component.d.ts +7 -1
- package/grid.module.d.ts +104 -100
- package/index.d.ts +4 -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/row-reordering/row-reorder.service.d.ts +2 -0
- package/schematics/ngAdd/index.js +4 -4
- package/selection/selection.service.d.ts +1 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
/**
|
|
6
|
+
* @hidden
|
|
7
|
+
*/
|
|
8
|
+
export const ToolbarToolName = {
|
|
9
|
+
edit: 'edit',
|
|
10
|
+
save: 'save',
|
|
11
|
+
remove: 'remove',
|
|
12
|
+
cancel: 'cancel',
|
|
13
|
+
add: 'add',
|
|
14
|
+
columns: 'columns',
|
|
15
|
+
excelExport: 'excelExport',
|
|
16
|
+
pdfExport: 'pdfExport'
|
|
17
|
+
};
|
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '19.0.0-develop.
|
|
13
|
+
publishDate: 1746798571,
|
|
14
|
+
version: '19.0.0-develop.11',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Directive } from '@angular/core';
|
|
5
|
+
import { ChangeDetectorRef, Directive, NgZone } from '@angular/core';
|
|
6
6
|
import { PDFService } from './pdf.service';
|
|
7
7
|
import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { ContextService } from '../common/provider.service';
|
|
9
|
+
import { ToolbarToolBase } from '../common/toolbar-tool-base.directive';
|
|
10
|
+
import { ToolbarToolName } from '../navigation/toolbar-tool-name';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
import * as i1 from "./pdf.service";
|
|
12
13
|
import * as i2 from "@progress/kendo-angular-toolbar";
|
|
14
|
+
import * as i3 from "../common/provider.service";
|
|
13
15
|
/**
|
|
14
16
|
* Represents the `export-to-PDF` toolbar tool of the Grid.
|
|
15
17
|
* You can apply this directive to any `kendo-toolbar-button` element inside a
|
|
@@ -30,22 +32,17 @@ import * as i2 from "@progress/kendo-angular-toolbar";
|
|
|
30
32
|
* </kendo-grid>
|
|
31
33
|
* ```
|
|
32
34
|
*/
|
|
33
|
-
export class PDFCommandToolbarDirective {
|
|
35
|
+
export class PDFCommandToolbarDirective extends ToolbarToolBase {
|
|
34
36
|
pdfService;
|
|
35
37
|
host;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
constructor(pdfService, host, ctx, zone, cdr) {
|
|
39
|
+
super(host, ToolbarToolName.pdfExport, ctx, zone, cdr);
|
|
38
40
|
this.pdfService = pdfService;
|
|
39
41
|
this.host = host;
|
|
40
42
|
}
|
|
41
43
|
ngOnInit() {
|
|
42
|
-
|
|
44
|
+
super.ngOnInit();
|
|
43
45
|
this.host.className = 'k-grid-pdf';
|
|
44
|
-
this.host.svgIcon = filePdfIcon;
|
|
45
|
-
this.host.icon = 'file-pdf';
|
|
46
|
-
}
|
|
47
|
-
ngOnDestroy() {
|
|
48
|
-
this.clickSub.unsubscribe();
|
|
49
46
|
}
|
|
50
47
|
/**
|
|
51
48
|
* @hidden
|
|
@@ -54,8 +51,8 @@ export class PDFCommandToolbarDirective {
|
|
|
54
51
|
e.preventDefault();
|
|
55
52
|
this.pdfService.exportClick.emit();
|
|
56
53
|
}
|
|
57
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDFCommandToolbarDirective, deps: [{ token: i1.PDFService }, { token: i2.ToolBarButtonComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
58
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PDFCommandToolbarDirective, isStandalone: true, selector: "[kendoGridPDFTool]", ngImport: i0 });
|
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDFCommandToolbarDirective, deps: [{ token: i1.PDFService }, { token: i2.ToolBarButtonComponent }, { token: i3.ContextService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
55
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: PDFCommandToolbarDirective, isStandalone: true, selector: "[kendoGridPDFTool]", usesInheritance: true, ngImport: i0 });
|
|
59
56
|
}
|
|
60
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PDFCommandToolbarDirective, decorators: [{
|
|
61
58
|
type: Directive,
|
|
@@ -63,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
63
60
|
selector: '[kendoGridPDFTool]',
|
|
64
61
|
standalone: true
|
|
65
62
|
}]
|
|
66
|
-
}], ctorParameters: function () { return [{ type: i1.PDFService }, { type: i2.ToolBarButtonComponent }]; } });
|
|
63
|
+
}], ctorParameters: function () { return [{ type: i1.PDFService }, { type: i2.ToolBarButtonComponent }, { type: i3.ContextService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }]; } });
|
|
@@ -260,7 +260,7 @@ export class CellComponent {
|
|
|
260
260
|
</ng-container>
|
|
261
261
|
</ng-container>
|
|
262
262
|
</ng-container>
|
|
263
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { kind: "directive", type: SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "
|
|
263
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { kind: "directive", type: SelectionCheckboxDirective, selector: "[kendoGridSelectionCheckbox]", inputs: ["kendoGridSelectionCheckbox"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: FieldAccessorPipe, name: "valueOf" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }] });
|
|
264
264
|
}
|
|
265
265
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellComponent, decorators: [{
|
|
266
266
|
type: Component,
|
|
@@ -369,6 +369,15 @@ export class TableBodyComponent {
|
|
|
369
369
|
clickHandler(eventArg) {
|
|
370
370
|
const element = this.element.nativeElement;
|
|
371
371
|
const target = this.eventTarget(eventArg);
|
|
372
|
+
const selectionEnabled = this.selectable && this.selectable.enabled !== false;
|
|
373
|
+
if (eventArg.keyCode === Keys.Space) {
|
|
374
|
+
if (!selectionEnabled) {
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
if (!this.editService.isEditing()) {
|
|
378
|
+
eventArg.preventDefault();
|
|
379
|
+
}
|
|
380
|
+
}
|
|
372
381
|
let cell, row, body, gridElement;
|
|
373
382
|
let currentTarget = target;
|
|
374
383
|
do {
|
|
@@ -386,7 +395,6 @@ export class TableBodyComponent {
|
|
|
386
395
|
if (!focusable && !matchesNodeName('label')(target) && !hasClasses(target, IGNORE_TARGET_CLASSSES) &&
|
|
387
396
|
!closestInScope(target, matchesClasses(IGNORE_CONTAINER_CLASSES), cell)) {
|
|
388
397
|
const args = this.cellClickArgs(cell, row, eventArg);
|
|
389
|
-
const selectionEnabled = this.selectable && this.selectable.enabled !== false;
|
|
390
398
|
if (selectionEnabled && !this.isRowSelectable({ index: args.rowIndex, dataItem: args.dataItem })) {
|
|
391
399
|
return;
|
|
392
400
|
}
|
|
@@ -417,7 +425,7 @@ export class TableBodyComponent {
|
|
|
417
425
|
}));
|
|
418
426
|
}
|
|
419
427
|
cellKeydownHandler(args) {
|
|
420
|
-
if (args.keyCode === Keys.Enter) {
|
|
428
|
+
if (args.keyCode === Keys.Enter || args.keyCode === Keys.Space) {
|
|
421
429
|
this.clickHandler(args);
|
|
422
430
|
}
|
|
423
431
|
}
|
|
@@ -24,6 +24,10 @@ export class RowReorderService {
|
|
|
24
24
|
constructor(renderer) {
|
|
25
25
|
this.renderer = renderer;
|
|
26
26
|
}
|
|
27
|
+
ngOnDestroy() {
|
|
28
|
+
this.destroyDropIndicator();
|
|
29
|
+
this.destroyHintElement();
|
|
30
|
+
}
|
|
27
31
|
press(ev) {
|
|
28
32
|
this.dragTarget = ev.dragTarget;
|
|
29
33
|
this.offsetY = ev.dragEvent.offsetY;
|
|
@@ -55,12 +59,14 @@ export class RowReorderService {
|
|
|
55
59
|
}
|
|
56
60
|
dragEnd() {
|
|
57
61
|
this.destroyDropIndicator();
|
|
62
|
+
this.destroyHintElement();
|
|
58
63
|
this.dragTarget = null;
|
|
59
64
|
this.dropTarget = null;
|
|
60
65
|
this.hintElement = null;
|
|
61
66
|
}
|
|
62
67
|
drop(ev) {
|
|
63
68
|
this.destroyDropIndicator();
|
|
69
|
+
this.destroyHintElement();
|
|
64
70
|
const rowReorderArgs = this.rowReorderArgs(this.dragTarget, this.dropTarget, ev.dragData);
|
|
65
71
|
this.rowReorder.emit(rowReorderArgs);
|
|
66
72
|
}
|
|
@@ -142,6 +148,15 @@ export class RowReorderService {
|
|
|
142
148
|
this.dropIndicator = null;
|
|
143
149
|
}
|
|
144
150
|
}
|
|
151
|
+
destroyHintElement() {
|
|
152
|
+
if (!isDocumentAvailable()) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
if (this.hintElement?.parentElement) {
|
|
156
|
+
this.hintElement.parentElement.removeChild(this.hintElement);
|
|
157
|
+
this.hintElement = null;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
145
160
|
decorateHint() {
|
|
146
161
|
hintClasses.forEach(className => this.renderer.addClass(this.hintElement, className));
|
|
147
162
|
Object.keys(hintStyles)
|
|
@@ -144,6 +144,7 @@ export class SelectionService {
|
|
|
144
144
|
ev.rangeStartRow = { dataItem: this.lastSelectionData, index: this.lastSelectionStartIndex };
|
|
145
145
|
ev.rangeEndRow = { dataItem: item.data, index: item.index };
|
|
146
146
|
}
|
|
147
|
+
this.syncCurrentSelection(ev);
|
|
147
148
|
this.changes.emit(ev);
|
|
148
149
|
}
|
|
149
150
|
toggle(item) {
|
|
@@ -223,6 +224,7 @@ export class SelectionService {
|
|
|
223
224
|
deselectedRows: [rowArgs],
|
|
224
225
|
selectedRows: []
|
|
225
226
|
};
|
|
227
|
+
this.syncCurrentSelection(ev);
|
|
226
228
|
this.changes.emit(ev);
|
|
227
229
|
}
|
|
228
230
|
}
|
|
@@ -295,6 +297,7 @@ export class SelectionService {
|
|
|
295
297
|
if (this.options.cellAggregates) {
|
|
296
298
|
ev.cellAggregates = this.aggregateService.onSelectionChange(ev);
|
|
297
299
|
}
|
|
300
|
+
this.syncCurrentSelection(ev);
|
|
298
301
|
this.changes.emit(ev);
|
|
299
302
|
}
|
|
300
303
|
selectRange(startIndex, endIndex, preserveSelection, existingSelections = []) {
|
|
@@ -428,6 +431,14 @@ export class SelectionService {
|
|
|
428
431
|
this.dataChangedSubscription = null;
|
|
429
432
|
}
|
|
430
433
|
}
|
|
434
|
+
syncCurrentSelection(ev) {
|
|
435
|
+
for (const row of ev.deselectedRows) {
|
|
436
|
+
this.currentSelection.splice(row.index, 1);
|
|
437
|
+
}
|
|
438
|
+
for (const row of ev.selectedRows) {
|
|
439
|
+
this.currentSelection[row.index] = row;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
431
442
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectionService, deps: [{ token: i1.DomEventsService }, { token: i2.CellSelectionAggregateService }, { token: i3.LocalDataChangesService }, { token: i4.NavigationService }, { token: i5.ContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
432
443
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectionService });
|
|
433
444
|
}
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { ChangeDetectorRef, NgZone } from '@angular/core';
|
|
5
6
|
import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
|
|
6
7
|
import { ExcelService } from './excel.service';
|
|
8
|
+
import { ContextService } from '../common/provider.service';
|
|
9
|
+
import { ToolbarToolBase } from '../common/toolbar-tool-base.directive';
|
|
7
10
|
import * as i0 from "@angular/core";
|
|
8
11
|
/**
|
|
9
12
|
* Represents the `export-to-Excel` toolbar tool of the Grid.
|
|
@@ -25,13 +28,10 @@ import * as i0 from "@angular/core";
|
|
|
25
28
|
* </kendo-grid>
|
|
26
29
|
* ```
|
|
27
30
|
*/
|
|
28
|
-
export declare class ExcelCommandToolbarDirective {
|
|
31
|
+
export declare class ExcelCommandToolbarDirective extends ToolbarToolBase {
|
|
29
32
|
private excelService;
|
|
30
|
-
|
|
31
|
-
private clickSub;
|
|
32
|
-
constructor(excelService: ExcelService, host: ToolBarButtonComponent);
|
|
33
|
+
constructor(excelService: ExcelService, host: ToolBarButtonComponent, ctx: ContextService, zone: NgZone, cdr: ChangeDetectorRef);
|
|
33
34
|
ngOnInit(): void;
|
|
34
|
-
ngOnDestroy(): void;
|
|
35
35
|
/**
|
|
36
36
|
* @hidden
|
|
37
37
|
*/
|