@progress/kendo-angular-treelist 22.1.0-develop.17 → 22.1.0-develop.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/columns/column-base.d.ts
CHANGED
|
@@ -67,6 +67,13 @@ export declare class ColumnBase implements OnChanges {
|
|
|
67
67
|
* @default true
|
|
68
68
|
*/
|
|
69
69
|
reorderable: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Sets the distance in pixels by which the column width is adjusted during keyboard navigation resizing.
|
|
72
|
+
* Used when resizing columns with `Alt/Option + Left/Right Arrow` keyboard shortcuts.
|
|
73
|
+
*
|
|
74
|
+
* @default 10
|
|
75
|
+
*/
|
|
76
|
+
resizeStep: number;
|
|
70
77
|
/**
|
|
71
78
|
* Sets the minimum width (in pixels) for resizing the column using the UI.
|
|
72
79
|
* @default 10
|
|
@@ -224,5 +231,5 @@ export declare class ColumnBase implements OnChanges {
|
|
|
224
231
|
constructor(parent?: ColumnBase, optionChanges?: OptionChangesService);
|
|
225
232
|
ngOnChanges(_changes: any): void;
|
|
226
233
|
static ɵfac: i0.ɵɵFactoryDeclaration<ColumnBase, never>;
|
|
227
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnBase, never, never, { "resizable": { "alias": "resizable"; "required": false; }; "reorderable": { "alias": "reorderable"; "required": false; }; "minResizableWidth": { "alias": "minResizableWidth"; "required": false; }; "title": { "alias": "title"; "required": false; }; "width": { "alias": "width"; "required": false; }; "autoSize": { "alias": "autoSize"; "required": false; }; "locked": { "alias": "locked"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "media": { "alias": "media"; "required": false; }; "lockable": { "alias": "lockable"; "required": false; }; "columnMenu": { "alias": "columnMenu"; "required": false; }; "includeInChooser": { "alias": "includeInChooser"; "required": false; }; "tableCellsRole": { "alias": "tableCellsRole"; "required": false; }; "style": { "alias": "style"; "required": false; }; "headerStyle": { "alias": "headerStyle"; "required": false; }; "footerStyle": { "alias": "footerStyle"; "required": false; }; "cssClass": { "alias": "class"; "required": false; }; "headerClass": { "alias": "headerClass"; "required": false; }; "footerClass": { "alias": "footerClass"; "required": false; }; }, {}, ["footerTemplate", "headerTemplates", "columnMenuTemplates"], never, true, never>;
|
|
234
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnBase, never, never, { "resizable": { "alias": "resizable"; "required": false; }; "reorderable": { "alias": "reorderable"; "required": false; }; "resizeStep": { "alias": "resizeStep"; "required": false; }; "minResizableWidth": { "alias": "minResizableWidth"; "required": false; }; "title": { "alias": "title"; "required": false; }; "width": { "alias": "width"; "required": false; }; "autoSize": { "alias": "autoSize"; "required": false; }; "locked": { "alias": "locked"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "media": { "alias": "media"; "required": false; }; "lockable": { "alias": "lockable"; "required": false; }; "columnMenu": { "alias": "columnMenu"; "required": false; }; "includeInChooser": { "alias": "includeInChooser"; "required": false; }; "tableCellsRole": { "alias": "tableCellsRole"; "required": false; }; "style": { "alias": "style"; "required": false; }; "headerStyle": { "alias": "headerStyle"; "required": false; }; "footerStyle": { "alias": "footerStyle"; "required": false; }; "cssClass": { "alias": "class"; "required": false; }; "headerClass": { "alias": "headerClass"; "required": false; }; "footerClass": { "alias": "footerClass"; "required": false; }; }, {}, ["footerTemplate", "headerTemplates", "columnMenuTemplates"], never, true, never>;
|
|
228
235
|
}
|
|
@@ -50,7 +50,7 @@ const packageMetadata = {
|
|
|
50
50
|
productCode: 'KENDOUIANGULAR',
|
|
51
51
|
productCodes: ['KENDOUIANGULAR'],
|
|
52
52
|
publishDate: 0,
|
|
53
|
-
version: '22.1.0-develop.
|
|
53
|
+
version: '22.1.0-develop.19',
|
|
54
54
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
55
55
|
};
|
|
56
56
|
|
|
@@ -346,6 +346,13 @@ class ColumnBase {
|
|
|
346
346
|
* @default true
|
|
347
347
|
*/
|
|
348
348
|
reorderable = true;
|
|
349
|
+
/**
|
|
350
|
+
* Sets the distance in pixels by which the column width is adjusted during keyboard navigation resizing.
|
|
351
|
+
* Used when resizing columns with `Alt/Option + Left/Right Arrow` keyboard shortcuts.
|
|
352
|
+
*
|
|
353
|
+
* @default 10
|
|
354
|
+
*/
|
|
355
|
+
resizeStep = 10;
|
|
349
356
|
/**
|
|
350
357
|
* Sets the minimum width (in pixels) for resizing the column using the UI.
|
|
351
358
|
* @default 10
|
|
@@ -533,7 +540,7 @@ class ColumnBase {
|
|
|
533
540
|
}
|
|
534
541
|
}
|
|
535
542
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ColumnBase, deps: [{ token: ColumnBase }, { token: OptionChangesService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
536
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: ColumnBase, isStandalone: true, inputs: { resizable: "resizable", reorderable: "reorderable", minResizableWidth: "minResizableWidth", title: "title", width: "width", autoSize: "autoSize", locked: "locked", hidden: "hidden", media: "media", lockable: "lockable", columnMenu: "columnMenu", includeInChooser: "includeInChooser", tableCellsRole: "tableCellsRole", style: "style", headerStyle: "headerStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", footerClass: "footerClass" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], usesOnChanges: true, ngImport: i0 });
|
|
543
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: ColumnBase, isStandalone: true, inputs: { resizable: "resizable", reorderable: "reorderable", resizeStep: "resizeStep", minResizableWidth: "minResizableWidth", title: "title", width: "width", autoSize: "autoSize", locked: "locked", hidden: "hidden", media: "media", lockable: "lockable", columnMenu: "columnMenu", includeInChooser: "includeInChooser", tableCellsRole: "tableCellsRole", style: "style", headerStyle: "headerStyle", footerStyle: "footerStyle", cssClass: ["class", "cssClass"], headerClass: "headerClass", footerClass: "footerClass" }, queries: [{ propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "headerTemplates", predicate: HeaderTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], usesOnChanges: true, ngImport: i0 });
|
|
537
544
|
}
|
|
538
545
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ColumnBase, decorators: [{
|
|
539
546
|
type: Directive,
|
|
@@ -542,6 +549,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
542
549
|
type: Input
|
|
543
550
|
}], reorderable: [{
|
|
544
551
|
type: Input
|
|
552
|
+
}], resizeStep: [{
|
|
553
|
+
type: Input
|
|
545
554
|
}], minResizableWidth: [{
|
|
546
555
|
type: Input
|
|
547
556
|
}], title: [{
|
|
@@ -4690,6 +4699,7 @@ class NavigationService {
|
|
|
4690
4699
|
selectionService;
|
|
4691
4700
|
changeDetector;
|
|
4692
4701
|
ctx;
|
|
4702
|
+
resizeService;
|
|
4693
4703
|
focusableParent;
|
|
4694
4704
|
changes;
|
|
4695
4705
|
cellKeydown = new EventEmitter();
|
|
@@ -4715,6 +4725,27 @@ class NavigationService {
|
|
|
4715
4725
|
});
|
|
4716
4726
|
}
|
|
4717
4727
|
}
|
|
4728
|
+
get isColumnResizable() {
|
|
4729
|
+
const allColumns = Array.from(this.ctx.treelist.columnsContainer.allColumns);
|
|
4730
|
+
const column = allColumns.find((col) => col.level === this.activeCell.rowIndex && col.leafIndex === this.activeCell.colIndex);
|
|
4731
|
+
if (!column?.parent) {
|
|
4732
|
+
if (column?.isColumnGroup) {
|
|
4733
|
+
return this.activeCell.colIndex + this.activeCell.colSpan !== this.ctx.treelist.columnsContainer.leafColumnsToRender.length;
|
|
4734
|
+
}
|
|
4735
|
+
else {
|
|
4736
|
+
return this.activeCell.colIndex !== this.ctx.treelist.columnsContainer.leafColumnsToRender.length - 1;
|
|
4737
|
+
}
|
|
4738
|
+
}
|
|
4739
|
+
else {
|
|
4740
|
+
const columnGroup = column.parent;
|
|
4741
|
+
const columnGroupChildren = Array.from(columnGroup.children).sort((a, b) => a.orderIndex - b.orderIndex);
|
|
4742
|
+
const columnIndexInsideGroup = columnGroupChildren.indexOf(column);
|
|
4743
|
+
if (column.isReordered || column.orderIndex > 0 || (column.isReordered && column.orderIndex === 0)) {
|
|
4744
|
+
return (column.orderIndex - columnGroupChildren[0]['orderIndex']) !== columnGroupChildren.length - 1;
|
|
4745
|
+
}
|
|
4746
|
+
return columnIndexInsideGroup !== columnGroupChildren.length - 1;
|
|
4747
|
+
}
|
|
4748
|
+
}
|
|
4718
4749
|
viewport;
|
|
4719
4750
|
columnViewport;
|
|
4720
4751
|
activeRowIndex = 0;
|
|
@@ -4730,7 +4761,7 @@ class NavigationService {
|
|
|
4730
4761
|
get activeDataRow() {
|
|
4731
4762
|
return Math.max(0, this.activeRowIndex - this.meta.headerRows);
|
|
4732
4763
|
}
|
|
4733
|
-
constructor(zone, domEvents, pagerContextService, scrollRequestService, focusRoot, editService, localization, expandState, selectionService, changeDetector, ctx, focusableParent) {
|
|
4764
|
+
constructor(zone, domEvents, pagerContextService, scrollRequestService, focusRoot, editService, localization, expandState, selectionService, changeDetector, ctx, resizeService, focusableParent) {
|
|
4734
4765
|
this.zone = zone;
|
|
4735
4766
|
this.domEvents = domEvents;
|
|
4736
4767
|
this.pagerContextService = pagerContextService;
|
|
@@ -4742,6 +4773,7 @@ class NavigationService {
|
|
|
4742
4773
|
this.selectionService = selectionService;
|
|
4743
4774
|
this.changeDetector = changeDetector;
|
|
4744
4775
|
this.ctx = ctx;
|
|
4776
|
+
this.resizeService = resizeService;
|
|
4745
4777
|
this.focusableParent = focusableParent;
|
|
4746
4778
|
this.changes = this.cursor.changes;
|
|
4747
4779
|
}
|
|
@@ -4986,6 +5018,46 @@ class NavigationService {
|
|
|
4986
5018
|
});
|
|
4987
5019
|
}
|
|
4988
5020
|
}
|
|
5021
|
+
columnResize(increaseWidth) {
|
|
5022
|
+
const column = this.ctx.treelist.columnsContainer.allColumns.find((col) => col.level === this.activeCell.rowIndex && col.leafIndex === this.activeCell.colIndex);
|
|
5023
|
+
if (!column?.resizable) {
|
|
5024
|
+
return;
|
|
5025
|
+
}
|
|
5026
|
+
const rtl = this.ctx.localization.rtl;
|
|
5027
|
+
const step = column.resizeStep || 10;
|
|
5028
|
+
const shouldIncrease = rtl ? !increaseWidth : increaseWidth;
|
|
5029
|
+
const delta = shouldIncrease ? step : -step;
|
|
5030
|
+
// Get the actual rendered width from the DOM header cell
|
|
5031
|
+
// Fall back to column.width if header cell is not found
|
|
5032
|
+
let currentWidth = column.width || 0;
|
|
5033
|
+
const headerCell = this.meta.treelistElement.nativeElement.querySelector(`.k-treelist-header tr:nth-child(${this.activeCell.rowIndex + 1}) th:nth-child(${this.activeCell.colIndex + 1})`);
|
|
5034
|
+
if (headerCell) {
|
|
5035
|
+
const rect = headerCell.getBoundingClientRect();
|
|
5036
|
+
if (rect.width > 0) {
|
|
5037
|
+
currentWidth = rect.width;
|
|
5038
|
+
}
|
|
5039
|
+
}
|
|
5040
|
+
// If still no width, use resizeStartWidth or default
|
|
5041
|
+
if (!currentWidth) {
|
|
5042
|
+
currentWidth = column.resizeStartWidth || 0;
|
|
5043
|
+
}
|
|
5044
|
+
if (!currentWidth) {
|
|
5045
|
+
return;
|
|
5046
|
+
}
|
|
5047
|
+
const newWidth = currentWidth + delta;
|
|
5048
|
+
const minWidth = column.minResizableWidth || 10;
|
|
5049
|
+
if (newWidth < minWidth) {
|
|
5050
|
+
return;
|
|
5051
|
+
}
|
|
5052
|
+
// Set resizeStartWidth before calling resizeColumns so the column-handle directive can calculate the new width correctly
|
|
5053
|
+
column.resizeStartWidth = currentWidth;
|
|
5054
|
+
// The resizeColumns method expects a percentage value relative to the current column width.
|
|
5055
|
+
// Convert pixel delta to percentage for consistency with the existing mouse-based resizing logic.
|
|
5056
|
+
const deltaPercent = (delta / currentWidth) * 100;
|
|
5057
|
+
this.resizeService.start(column);
|
|
5058
|
+
this.resizeService.resizeColumns(deltaPercent);
|
|
5059
|
+
this.resizeService.end();
|
|
5060
|
+
}
|
|
4989
5061
|
onCursorKeydown(args) {
|
|
4990
5062
|
let preventDefault = false;
|
|
4991
5063
|
const modifier = args.ctrlKey || args.metaKey;
|
|
@@ -5027,6 +5099,13 @@ class NavigationService {
|
|
|
5027
5099
|
}
|
|
5028
5100
|
break;
|
|
5029
5101
|
case Keys.ArrowRight:
|
|
5102
|
+
if (args.altKey && !args.shiftKey && !args.ctrlKey && !args.metaKey &&
|
|
5103
|
+
row.index < this.meta.headerRows &&
|
|
5104
|
+
this.ctx.treelist.resizable) {
|
|
5105
|
+
this.columnResize(true);
|
|
5106
|
+
preventDefault = true;
|
|
5107
|
+
break;
|
|
5108
|
+
}
|
|
5030
5109
|
if (args.altKey) {
|
|
5031
5110
|
this.zone.run(() => {
|
|
5032
5111
|
this.expandState.expand(row.dataItem);
|
|
@@ -5041,6 +5120,13 @@ class NavigationService {
|
|
|
5041
5120
|
}
|
|
5042
5121
|
break;
|
|
5043
5122
|
case Keys.ArrowLeft:
|
|
5123
|
+
if (args.altKey && !args.shiftKey && !args.ctrlKey && !args.metaKey &&
|
|
5124
|
+
row.index < this.meta.headerRows &&
|
|
5125
|
+
this.ctx.treelist.resizable) {
|
|
5126
|
+
this.columnResize(false);
|
|
5127
|
+
preventDefault = true;
|
|
5128
|
+
break;
|
|
5129
|
+
}
|
|
5044
5130
|
if (args.altKey) {
|
|
5045
5131
|
this.zone.run(() => {
|
|
5046
5132
|
this.expandState.collapse(row.dataItem);
|
|
@@ -5275,12 +5361,12 @@ class NavigationService {
|
|
|
5275
5361
|
this.leaveCell();
|
|
5276
5362
|
this.cursor.reset();
|
|
5277
5363
|
}
|
|
5278
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token: i107.PagerContextService }, { token: ScrollRequestService }, { token: FocusRoot }, { token: EditService }, { token: i1$1.LocalizationService }, { token: ExpandStateService }, { token: SelectionService }, { token: i0.ChangeDetectorRef }, { token: ContextService }, { token: FocusableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5364
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService, deps: [{ token: i0.NgZone }, { token: DomEventsService }, { token: i107.PagerContextService }, { token: ScrollRequestService }, { token: FocusRoot }, { token: EditService }, { token: i1$1.LocalizationService }, { token: ExpandStateService }, { token: SelectionService }, { token: i0.ChangeDetectorRef }, { token: ContextService }, { token: ColumnResizingService }, { token: FocusableDirective, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5279
5365
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService });
|
|
5280
5366
|
}
|
|
5281
5367
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NavigationService, decorators: [{
|
|
5282
5368
|
type: Injectable
|
|
5283
|
-
}], ctorParameters: () => [{ type: i0.NgZone }, { type: DomEventsService }, { type: i107.PagerContextService }, { type: ScrollRequestService }, { type: FocusRoot }, { type: EditService }, { type: i1$1.LocalizationService }, { type: ExpandStateService }, { type: SelectionService }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: FocusableDirective, decorators: [{
|
|
5369
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: DomEventsService }, { type: i107.PagerContextService }, { type: ScrollRequestService }, { type: FocusRoot }, { type: EditService }, { type: i1$1.LocalizationService }, { type: ExpandStateService }, { type: SelectionService }, { type: i0.ChangeDetectorRef }, { type: ContextService }, { type: ColumnResizingService }, { type: FocusableDirective, decorators: [{
|
|
5284
5370
|
type: Optional
|
|
5285
5371
|
}] }] });
|
|
5286
5372
|
|
|
@@ -8471,7 +8557,7 @@ class ListComponent {
|
|
|
8471
8557
|
kendoTreeListResizableTable
|
|
8472
8558
|
[locked]="true"
|
|
8473
8559
|
#lockedTable
|
|
8474
|
-
class="k-table k-grid-table
|
|
8560
|
+
class="k-table k-grid-table"
|
|
8475
8561
|
role="presentation"
|
|
8476
8562
|
[style.width.px]="lockedWidth">
|
|
8477
8563
|
<colgroup
|
|
@@ -8515,7 +8601,7 @@ class ListComponent {
|
|
|
8515
8601
|
#table
|
|
8516
8602
|
kendoTreeListResizableTable
|
|
8517
8603
|
[virtualColumns]="virtualColumns"
|
|
8518
|
-
class="k-table k-grid-table
|
|
8604
|
+
class="k-table k-grid-table"
|
|
8519
8605
|
role="presentation">
|
|
8520
8606
|
<colgroup
|
|
8521
8607
|
kendoTreeListColGroup
|
|
@@ -8588,7 +8674,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
8588
8674
|
kendoTreeListResizableTable
|
|
8589
8675
|
[locked]="true"
|
|
8590
8676
|
#lockedTable
|
|
8591
|
-
class="k-table k-grid-table
|
|
8677
|
+
class="k-table k-grid-table"
|
|
8592
8678
|
role="presentation"
|
|
8593
8679
|
[style.width.px]="lockedWidth">
|
|
8594
8680
|
<colgroup
|
|
@@ -8632,7 +8718,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
8632
8718
|
#table
|
|
8633
8719
|
kendoTreeListResizableTable
|
|
8634
8720
|
[virtualColumns]="virtualColumns"
|
|
8635
|
-
class="k-table k-grid-table
|
|
8721
|
+
class="k-table k-grid-table"
|
|
8636
8722
|
role="presentation">
|
|
8637
8723
|
<colgroup
|
|
8638
8724
|
kendoTreeListColGroup
|
|
@@ -11062,7 +11148,11 @@ class ColumnHandleDirective {
|
|
|
11062
11148
|
this.column.width = headerWidth(this.element);
|
|
11063
11149
|
}
|
|
11064
11150
|
initState() {
|
|
11065
|
-
|
|
11151
|
+
// Use existing resizeStartWidth if already set (for keyboard resizing),
|
|
11152
|
+
// otherwise measure from DOM element (for mouse resizing)
|
|
11153
|
+
if (!this.column.resizeStartWidth) {
|
|
11154
|
+
this.column.resizeStartWidth = headerWidth(this.element);
|
|
11155
|
+
}
|
|
11066
11156
|
this.service.resizedColumn({
|
|
11067
11157
|
column: this.column,
|
|
11068
11158
|
oldWidth: this.column.resizeStartWidth
|
|
@@ -13693,7 +13783,7 @@ class ColumnListComponent {
|
|
|
13693
13783
|
<button
|
|
13694
13784
|
#applyButton
|
|
13695
13785
|
type="button"
|
|
13696
|
-
class="k-button k-button-
|
|
13786
|
+
class="k-button k-button-primary k-button-rectangle"
|
|
13697
13787
|
(click)="applyChanges()"
|
|
13698
13788
|
(keydown.enter)="$event.preventDefault(); $event.stopPropagation(); applyChanges();"
|
|
13699
13789
|
(keydown.space)="$event.preventDefault(); $event.stopPropagation(); applyChanges();">{{ applyText }}</button>
|
|
@@ -13701,7 +13791,7 @@ class ColumnListComponent {
|
|
|
13701
13791
|
#resetButton
|
|
13702
13792
|
type="button"
|
|
13703
13793
|
(keydown.tab)="onTab($event)"
|
|
13704
|
-
class="k-button k-button-
|
|
13794
|
+
class="k-button k-button-rectangle"
|
|
13705
13795
|
(click)="cancelChanges()"
|
|
13706
13796
|
(keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
|
|
13707
13797
|
(keydown.space)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();">{{ resetText }}</button>
|
|
@@ -13740,7 +13830,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
13740
13830
|
<button
|
|
13741
13831
|
#applyButton
|
|
13742
13832
|
type="button"
|
|
13743
|
-
class="k-button k-button-
|
|
13833
|
+
class="k-button k-button-primary k-button-rectangle"
|
|
13744
13834
|
(click)="applyChanges()"
|
|
13745
13835
|
(keydown.enter)="$event.preventDefault(); $event.stopPropagation(); applyChanges();"
|
|
13746
13836
|
(keydown.space)="$event.preventDefault(); $event.stopPropagation(); applyChanges();">{{ applyText }}</button>
|
|
@@ -13748,7 +13838,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
13748
13838
|
#resetButton
|
|
13749
13839
|
type="button"
|
|
13750
13840
|
(keydown.tab)="onTab($event)"
|
|
13751
|
-
class="k-button k-button-
|
|
13841
|
+
class="k-button k-button-rectangle"
|
|
13752
13842
|
(click)="cancelChanges()"
|
|
13753
13843
|
(keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
|
|
13754
13844
|
(keydown.space)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();">{{ resetText }}</button>
|
|
@@ -16152,7 +16242,7 @@ class ToolbarComponent {
|
|
|
16152
16242
|
this.navigationService.updateFocus();
|
|
16153
16243
|
}
|
|
16154
16244
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ToolbarComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
16155
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: ToolbarComponent, isStandalone: true, selector: "kendo-treelist-toolbar", inputs: { position: "position", navigable: "navigable" }, host: { properties: { "attr.role": "this.hostRole", "class.k-grid-toolbar": "this.hostClasses", "class.k-toolbar": "this.hostClasses"
|
|
16245
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: ToolbarComponent, isStandalone: true, selector: "kendo-treelist-toolbar", inputs: { position: "position", navigable: "navigable" }, host: { properties: { "attr.role": "this.hostRole", "class.k-grid-toolbar": "this.hostClasses", "class.k-toolbar": "this.hostClasses" } }, ngImport: i0, template: `
|
|
16156
16246
|
@if (toolbarTemplateRef) {
|
|
16157
16247
|
<ng-template
|
|
16158
16248
|
[ngTemplateOutlet]="toolbarTemplateRef"
|
|
@@ -16187,12 +16277,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
16187
16277
|
}, {
|
|
16188
16278
|
type: HostBinding,
|
|
16189
16279
|
args: ['class.k-toolbar']
|
|
16190
|
-
}, {
|
|
16191
|
-
type: HostBinding,
|
|
16192
|
-
args: ['class.k-toolbar-solid']
|
|
16193
|
-
}, {
|
|
16194
|
-
type: HostBinding,
|
|
16195
|
-
args: ['class.k-toolbar-md']
|
|
16196
16280
|
}], position: [{
|
|
16197
16281
|
type: Input
|
|
16198
16282
|
}], navigable: [{
|
|
@@ -18509,7 +18593,7 @@ class TreeListComponent {
|
|
|
18509
18593
|
this.dropTargetContainer?.notify();
|
|
18510
18594
|
}
|
|
18511
18595
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TreeListComponent, deps: [{ token: BrowserSupportService }, { token: i0.ElementRef }, { token: ChangeNotificationService }, { 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: ExpandStateService }, { token: OptionChangesService }, { token: SelectionService }, { token: i1$1.LocalizationService }, { token: ContextService }, { token: RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
18512
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TreeListComponent, isStandalone: true, selector: "kendo-treelist", inputs: { ariaLabel: ["aria-label", "ariaLabel"], data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", skip: "skip", scrollable: "scrollable", sort: "sort", trackBy: "trackBy", filter: "filter", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", navigable: "navigable", autoSize: "autoSize", rowClass: "rowClass", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", idField: "idField", selectable: "selectable", isSelected: "isSelected", rowReorderable: "rowReorderable", columnsRef: ["columns", "columnsRef"], fetchChildren: "fetchChildren", hasChildren: "hasChildren", isExpanded: "isExpanded" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", pageChange: "pageChange", sortChange: "sortChange", dataStateChange: "dataStateChange", 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", scrollBottom: "scrollBottom", contentScroll: "contentScroll", expandEvent: "expand", collapseEvent: "collapse", expandStateChange: "expandStateChange", rowReorder: "rowReorder" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-
|
|
18596
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TreeListComponent, isStandalone: true, selector: "kendo-treelist", inputs: { ariaLabel: ["aria-label", "ariaLabel"], data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", skip: "skip", scrollable: "scrollable", sort: "sort", trackBy: "trackBy", filter: "filter", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", navigable: "navigable", autoSize: "autoSize", rowClass: "rowClass", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", idField: "idField", selectable: "selectable", isSelected: "isSelected", rowReorderable: "rowReorderable", columnsRef: ["columns", "columnsRef"], fetchChildren: "fetchChildren", hasChildren: "hasChildren", isExpanded: "isExpanded" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", pageChange: "pageChange", sortChange: "sortChange", dataStateChange: "dataStateChange", 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", scrollBottom: "scrollBottom", contentScroll: "contentScroll", expandEvent: "expand", collapseEvent: "collapse", expandStateChange: "expandStateChange", rowReorder: "rowReorder" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-treelist": "this.hostClasses", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
|
|
18513
18597
|
BrowserSupportService,
|
|
18514
18598
|
LocalizationService,
|
|
18515
18599
|
ColumnInfoService,
|
|
@@ -18807,7 +18891,7 @@ class TreeListComponent {
|
|
|
18807
18891
|
[locked]="true"
|
|
18808
18892
|
role="presentation"
|
|
18809
18893
|
[style.width.px]="lockedWidth"
|
|
18810
|
-
class="k-grid-header-table k-table
|
|
18894
|
+
class="k-grid-header-table k-table">
|
|
18811
18895
|
<colgroup
|
|
18812
18896
|
kendoTreeListColGroup
|
|
18813
18897
|
[columns]="$any(lockedLeafColumns)">
|
|
@@ -18840,7 +18924,7 @@ class TreeListComponent {
|
|
|
18840
18924
|
[style.width.px]="nonLockedWidth"
|
|
18841
18925
|
kendoTreeListResizableTable
|
|
18842
18926
|
[virtualColumns]="virtualColumns"
|
|
18843
|
-
class="k-grid-header-table k-table
|
|
18927
|
+
class="k-grid-header-table k-table">
|
|
18844
18928
|
<colgroup
|
|
18845
18929
|
kendoTreeListColGroup
|
|
18846
18930
|
[columns]="headerLeafColumns">
|
|
@@ -18897,7 +18981,7 @@ class TreeListComponent {
|
|
|
18897
18981
|
}
|
|
18898
18982
|
@if (!isScrollable) {
|
|
18899
18983
|
<table
|
|
18900
|
-
class="k-table k-
|
|
18984
|
+
class="k-table k-grid-header-table"
|
|
18901
18985
|
role="presentation"
|
|
18902
18986
|
[style.table-layout]="resizable ? 'fixed' : null"
|
|
18903
18987
|
kendoTreeListResizableTable>
|
|
@@ -19351,7 +19435,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
19351
19435
|
[locked]="true"
|
|
19352
19436
|
role="presentation"
|
|
19353
19437
|
[style.width.px]="lockedWidth"
|
|
19354
|
-
class="k-grid-header-table k-table
|
|
19438
|
+
class="k-grid-header-table k-table">
|
|
19355
19439
|
<colgroup
|
|
19356
19440
|
kendoTreeListColGroup
|
|
19357
19441
|
[columns]="$any(lockedLeafColumns)">
|
|
@@ -19384,7 +19468,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
19384
19468
|
[style.width.px]="nonLockedWidth"
|
|
19385
19469
|
kendoTreeListResizableTable
|
|
19386
19470
|
[virtualColumns]="virtualColumns"
|
|
19387
|
-
class="k-grid-header-table k-table
|
|
19471
|
+
class="k-grid-header-table k-table">
|
|
19388
19472
|
<colgroup
|
|
19389
19473
|
kendoTreeListColGroup
|
|
19390
19474
|
[columns]="headerLeafColumns">
|
|
@@ -19441,7 +19525,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
19441
19525
|
}
|
|
19442
19526
|
@if (!isScrollable) {
|
|
19443
19527
|
<table
|
|
19444
|
-
class="k-table k-
|
|
19528
|
+
class="k-table k-grid-header-table"
|
|
19445
19529
|
role="presentation"
|
|
19446
19530
|
[style.table-layout]="resizable ? 'fixed' : null"
|
|
19447
19531
|
kendoTreeListResizableTable>
|
|
@@ -19706,9 +19790,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
19706
19790
|
}], hostClasses: [{
|
|
19707
19791
|
type: HostBinding,
|
|
19708
19792
|
args: ['class.k-grid']
|
|
19709
|
-
}, {
|
|
19710
|
-
type: HostBinding,
|
|
19711
|
-
args: ['class.k-grid-md']
|
|
19712
19793
|
}, {
|
|
19713
19794
|
type: HostBinding,
|
|
19714
19795
|
args: ['class.k-treelist']
|
|
@@ -23977,7 +24058,7 @@ const wrapTable = (table) => {
|
|
|
23977
24058
|
return;
|
|
23978
24059
|
}
|
|
23979
24060
|
const wrapper = document.createElement('div');
|
|
23980
|
-
wrapper.className = 'k-grid
|
|
24061
|
+
wrapper.className = 'k-grid';
|
|
23981
24062
|
wrapper.appendChild(table);
|
|
23982
24063
|
return wrapper;
|
|
23983
24064
|
};
|
|
@@ -24007,7 +24088,7 @@ const setFirstCellClass = (header, headers) => {
|
|
|
24007
24088
|
};
|
|
24008
24089
|
const createTable = (colGroups, headers, bodies, footers) => {
|
|
24009
24090
|
const table = document.createElement('table');
|
|
24010
|
-
table.classList.add('k-table'
|
|
24091
|
+
table.classList.add('k-table');
|
|
24011
24092
|
const colGroup = colGroups[0].cloneNode(true);
|
|
24012
24093
|
for (let idx = 1; idx < colGroups.length; idx++) {
|
|
24013
24094
|
appendNodes(colGroup, colGroups[idx].querySelectorAll('col'));
|
|
@@ -20,6 +20,7 @@ import { ScrollRequestService } from '../scrolling/scroll-request.service';
|
|
|
20
20
|
import { SelectionService } from '../selection/selection.service';
|
|
21
21
|
import { PagerContextService } from '@progress/kendo-angular-pager';
|
|
22
22
|
import { ContextService } from '../common/provider.service';
|
|
23
|
+
import { ColumnResizingService } from '../column-resizing/column-resizing.service';
|
|
23
24
|
import * as i0 from "@angular/core";
|
|
24
25
|
/**
|
|
25
26
|
* @hidden
|
|
@@ -46,6 +47,7 @@ export declare class NavigationService implements OnDestroy {
|
|
|
46
47
|
private selectionService;
|
|
47
48
|
private changeDetector;
|
|
48
49
|
private ctx;
|
|
50
|
+
private resizeService;
|
|
49
51
|
private focusableParent;
|
|
50
52
|
readonly changes: Subject<NavigationChange>;
|
|
51
53
|
readonly cellKeydown: EventEmitter<any>;
|
|
@@ -54,6 +56,7 @@ export declare class NavigationService implements OnDestroy {
|
|
|
54
56
|
get enabled(): boolean;
|
|
55
57
|
get activeCell(): NavigationCell;
|
|
56
58
|
get activeRow(): NavigationRow;
|
|
59
|
+
get isColumnResizable(): boolean;
|
|
57
60
|
viewport: NavigationViewport;
|
|
58
61
|
columnViewport: NavigationViewport;
|
|
59
62
|
private activeRowIndex;
|
|
@@ -67,7 +70,7 @@ export declare class NavigationService implements OnDestroy {
|
|
|
67
70
|
private pendingRowIndex;
|
|
68
71
|
private virtualCell;
|
|
69
72
|
private get activeDataRow();
|
|
70
|
-
constructor(zone: NgZone, domEvents: DomEventsService, pagerContextService: PagerContextService, scrollRequestService: ScrollRequestService, focusRoot: FocusRoot, editService: EditService, localization: LocalizationService, expandState: ExpandStateService, selectionService: SelectionService, changeDetector: ChangeDetectorRef, ctx: ContextService, focusableParent: FocusableDirective);
|
|
73
|
+
constructor(zone: NgZone, domEvents: DomEventsService, pagerContextService: PagerContextService, scrollRequestService: ScrollRequestService, focusRoot: FocusRoot, editService: EditService, localization: LocalizationService, expandState: ExpandStateService, selectionService: SelectionService, changeDetector: ChangeDetectorRef, ctx: ContextService, resizeService: ColumnResizingService, focusableParent: FocusableDirective);
|
|
71
74
|
init(meta: NavigationMetadata): void;
|
|
72
75
|
ngOnDestroy(): void;
|
|
73
76
|
registerCell(cell: LogicalCell): void;
|
|
@@ -98,6 +101,7 @@ export declare class NavigationService implements OnDestroy {
|
|
|
98
101
|
private moveCursorFwd;
|
|
99
102
|
private moveCursorBwd;
|
|
100
103
|
private updateSelection;
|
|
104
|
+
private columnResize;
|
|
101
105
|
private onCursorKeydown;
|
|
102
106
|
private onContentKeydown;
|
|
103
107
|
private onCellKeydown;
|
|
@@ -107,6 +111,6 @@ export declare class NavigationService implements OnDestroy {
|
|
|
107
111
|
private handleRowReorderKeyboard;
|
|
108
112
|
private onKeydown;
|
|
109
113
|
private onTabout;
|
|
110
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
|
|
114
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, [null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
|
|
111
115
|
static ɵprov: i0.ɵɵInjectableDeclaration<NavigationService>;
|
|
112
116
|
}
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "22.1.0-develop.
|
|
10
|
+
"publishDate": 1770219846,
|
|
11
|
+
"version": "22.1.0-develop.19",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-treelist",
|
|
3
|
-
"version": "22.1.0-develop.
|
|
3
|
+
"version": "22.1.0-develop.19",
|
|
4
4
|
"description": "Kendo UI TreeList for Angular - Display hierarchical data in an Angular tree grid view that supports sorting, filtering, paging, and much more.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"package": {
|
|
25
25
|
"productName": "Kendo UI for Angular",
|
|
26
26
|
"productCode": "KENDOUIANGULAR",
|
|
27
|
-
"publishDate":
|
|
27
|
+
"publishDate": 1770219846,
|
|
28
28
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
29
29
|
}
|
|
30
30
|
},
|
|
@@ -35,28 +35,28 @@
|
|
|
35
35
|
"@angular/forms": "19 - 21",
|
|
36
36
|
"@angular/platform-browser": "19 - 21",
|
|
37
37
|
"@progress/kendo-data-query": "^1.7.3",
|
|
38
|
-
"@progress/kendo-drawing": "^1.
|
|
38
|
+
"@progress/kendo-drawing": "^1.24.0",
|
|
39
39
|
"@progress/kendo-licensing": "^1.10.0",
|
|
40
|
-
"@progress/kendo-angular-buttons": "22.1.0-develop.
|
|
41
|
-
"@progress/kendo-angular-common": "22.1.0-develop.
|
|
42
|
-
"@progress/kendo-angular-dateinputs": "22.1.0-develop.
|
|
43
|
-
"@progress/kendo-angular-dropdowns": "22.1.0-develop.
|
|
44
|
-
"@progress/kendo-angular-excel-export": "22.1.0-develop.
|
|
45
|
-
"@progress/kendo-angular-icons": "22.1.0-develop.
|
|
46
|
-
"@progress/kendo-angular-inputs": "22.1.0-develop.
|
|
47
|
-
"@progress/kendo-angular-intl": "22.1.0-develop.
|
|
48
|
-
"@progress/kendo-angular-l10n": "22.1.0-develop.
|
|
49
|
-
"@progress/kendo-angular-label": "22.1.0-develop.
|
|
50
|
-
"@progress/kendo-angular-pager": "22.1.0-develop.
|
|
51
|
-
"@progress/kendo-angular-pdf-export": "22.1.0-develop.
|
|
52
|
-
"@progress/kendo-angular-popup": "22.1.0-develop.
|
|
53
|
-
"@progress/kendo-angular-toolbar": "22.1.0-develop.
|
|
54
|
-
"@progress/kendo-angular-utils": "22.1.0-develop.
|
|
40
|
+
"@progress/kendo-angular-buttons": "22.1.0-develop.19",
|
|
41
|
+
"@progress/kendo-angular-common": "22.1.0-develop.19",
|
|
42
|
+
"@progress/kendo-angular-dateinputs": "22.1.0-develop.19",
|
|
43
|
+
"@progress/kendo-angular-dropdowns": "22.1.0-develop.19",
|
|
44
|
+
"@progress/kendo-angular-excel-export": "22.1.0-develop.19",
|
|
45
|
+
"@progress/kendo-angular-icons": "22.1.0-develop.19",
|
|
46
|
+
"@progress/kendo-angular-inputs": "22.1.0-develop.19",
|
|
47
|
+
"@progress/kendo-angular-intl": "22.1.0-develop.19",
|
|
48
|
+
"@progress/kendo-angular-l10n": "22.1.0-develop.19",
|
|
49
|
+
"@progress/kendo-angular-label": "22.1.0-develop.19",
|
|
50
|
+
"@progress/kendo-angular-pager": "22.1.0-develop.19",
|
|
51
|
+
"@progress/kendo-angular-pdf-export": "22.1.0-develop.19",
|
|
52
|
+
"@progress/kendo-angular-popup": "22.1.0-develop.19",
|
|
53
|
+
"@progress/kendo-angular-toolbar": "22.1.0-develop.19",
|
|
54
|
+
"@progress/kendo-angular-utils": "22.1.0-develop.19",
|
|
55
55
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"tslib": "^2.3.1",
|
|
59
|
-
"@progress/kendo-angular-schematics": "22.1.0-develop.
|
|
59
|
+
"@progress/kendo-angular-schematics": "22.1.0-develop.19",
|
|
60
60
|
"@progress/kendo-common": "^1.0.1",
|
|
61
61
|
"@progress/kendo-file-saver": "^1.0.0"
|
|
62
62
|
},
|
|
@@ -9,13 +9,13 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
|
9
9
|
function default_1(options) {
|
|
10
10
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'TreeListModule', package: 'treelist', peerDependencies: {
|
|
11
11
|
// peer dep of the dropdowns
|
|
12
|
-
'@progress/kendo-angular-treeview': '22.1.0-develop.
|
|
12
|
+
'@progress/kendo-angular-treeview': '22.1.0-develop.19',
|
|
13
13
|
// peer dependency of kendo-angular-inputs
|
|
14
|
-
'@progress/kendo-angular-dialog': '22.1.0-develop.
|
|
14
|
+
'@progress/kendo-angular-dialog': '22.1.0-develop.19',
|
|
15
15
|
// peer dependency of kendo-angular-icons
|
|
16
16
|
'@progress/kendo-svg-icons': '^4.0.0',
|
|
17
17
|
// peer dependency of kendo-angular-dateinputs
|
|
18
|
-
'@progress/kendo-angular-navigation': '22.1.0-develop.
|
|
18
|
+
'@progress/kendo-angular-navigation': '22.1.0-develop.19',
|
|
19
19
|
} });
|
|
20
20
|
return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
|
|
21
21
|
}
|