@progress/kendo-angular-treelist 21.1.1-develop.2 → 21.2.0-develop.1
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/esm2022/column-menu/column-list.component.mjs +75 -69
- package/esm2022/column-menu/column-menu-autosize-all.component.mjs +12 -11
- package/esm2022/column-menu/column-menu-autosize.component.mjs +12 -11
- package/esm2022/column-menu/column-menu-item.component.mjs +137 -57
- package/esm2022/column-menu/column-menu.component.mjs +145 -122
- package/esm2022/editing/add-command.directive.mjs +27 -17
- package/esm2022/editing/base-command.directive.mjs +27 -17
- package/esm2022/editing/cancel-command.directive.mjs +27 -17
- package/esm2022/editing/edit-command.directive.mjs +27 -17
- package/esm2022/editing/remove-command.directive.mjs +27 -17
- package/esm2022/editing/save-command.directive.mjs +27 -17
- package/esm2022/excel/excel-command.directive.mjs +27 -17
- package/esm2022/filtering/cell/filter-cell-operators.component.mjs +20 -17
- package/esm2022/filtering/cell/filter-cell.component.mjs +35 -33
- package/esm2022/filtering/filter-row.component.mjs +26 -23
- package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +32 -29
- package/esm2022/filtering/menu/date-filter-menu.component.mjs +52 -49
- package/esm2022/filtering/menu/filter-menu-container.component.mjs +75 -73
- package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +50 -47
- package/esm2022/filtering/menu/string-filter-menu.component.mjs +36 -33
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/pdf/pdf-command.directive.mjs +27 -17
- package/esm2022/rendering/cell.component.mjs +167 -145
- package/esm2022/rendering/common/col-group.component.mjs +10 -8
- package/esm2022/rendering/header/header.component.mjs +371 -331
- package/esm2022/rendering/list.component.mjs +185 -158
- package/esm2022/rendering/table-body.component.mjs +199 -169
- package/esm2022/rendering/toolbar/toolbar.component.mjs +13 -11
- package/esm2022/treelist.component.mjs +893 -849
- package/fesm2022/progress-kendo-angular-treelist.mjs +2746 -2356
- package/package.json +18 -18
- package/schematics/ngAdd/index.js +3 -3
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Component, HostBinding, Input, ElementRef, NgZone, Renderer2, Output, EventEmitter, QueryList, ViewChildren, ViewChild } from '@angular/core';
|
|
6
|
-
import {
|
|
6
|
+
import { NgClass } from '@angular/common';
|
|
7
7
|
import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
|
|
8
8
|
import { take } from 'rxjs/operators';
|
|
9
9
|
import { ColumnMenuChooserItemCheckedDirective } from './column-chooser-item-checked.directive';
|
|
@@ -244,44 +244,47 @@ export class ColumnListComponent {
|
|
|
244
244
|
}
|
|
245
245
|
};
|
|
246
246
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnListComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.ColumnListKeyboardNavigation }], target: i0.ɵɵFactoryTarget.Component });
|
|
247
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
248
|
-
<div
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
247
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ColumnListComponent, isStandalone: true, selector: "kendo-treelist-columnlist", inputs: { columns: "columns", autoSync: "autoSync", ariaLabel: "ariaLabel", allowHideAll: "allowHideAll", applyText: "applyText", resetText: "resetText", actionsClass: "actionsClass", isLast: "isLast", isExpanded: "isExpanded", service: "service" }, outputs: { reset: "reset", apply: "apply", columnChange: "columnChange" }, host: { properties: { "class.k-column-list-wrapper": "this.className" } }, providers: [ColumnListKeyboardNavigation], viewQueries: [{ propertyName: "resetButton", first: true, predicate: ["resetButton"], descendants: true }, { propertyName: "applyButton", first: true, predicate: ["applyButton"], descendants: true }, { propertyName: "options", predicate: ColumnMenuChooserItemCheckedDirective, descendants: true }, { propertyName: "checkboxes", predicate: CheckBoxComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
248
|
+
<div
|
|
249
|
+
class="k-column-list"
|
|
250
|
+
role="listbox"
|
|
251
|
+
aria-multiselectable="true"
|
|
252
|
+
[attr.aria-label]="ariaLabel">
|
|
253
|
+
@for (column of columns; track column; let index = $index) {
|
|
254
|
+
<label
|
|
255
|
+
class='k-column-list-item'
|
|
256
|
+
[kendoColumnMenuChooserItemChecked]="!column.hidden"
|
|
257
|
+
role="option">
|
|
258
|
+
<kendo-checkbox
|
|
259
|
+
[inputAttributes]="{'data-index': index.toString()}"
|
|
260
|
+
[checkedState]="!column.hidden"
|
|
261
|
+
[disabled]="isDisabled(column)"
|
|
262
|
+
[tabindex]="-1"
|
|
263
|
+
></kendo-checkbox>
|
|
264
|
+
<span class="k-checkbox-label">{{ column.displayTitle }}</span>
|
|
265
265
|
</label>
|
|
266
|
+
}
|
|
266
267
|
</div>
|
|
267
|
-
|
|
268
|
+
@if (!autoSync) {
|
|
269
|
+
<div [ngClass]="actionsClass">
|
|
268
270
|
<button
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
271
|
+
#applyButton
|
|
272
|
+
type="button"
|
|
273
|
+
class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
|
|
274
|
+
(click)="applyChanges()"
|
|
275
|
+
(keydown.enter)="$event.preventDefault(); $event.stopPropagation(); applyChanges();"
|
|
276
|
+
(keydown.space)="$event.preventDefault(); $event.stopPropagation(); applyChanges();">{{ applyText }}</button>
|
|
275
277
|
<button
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
278
|
+
#resetButton
|
|
279
|
+
type="button"
|
|
280
|
+
(keydown.tab)="onTab($event)"
|
|
281
|
+
class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
|
|
282
|
+
(click)="cancelChanges()"
|
|
283
|
+
(keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
|
|
284
|
+
(keydown.space)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();">{{ resetText }}</button>
|
|
285
|
+
</div>
|
|
286
|
+
}
|
|
287
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: ColumnMenuChooserItemCheckedDirective, selector: "[kendoColumnMenuChooserItemChecked]", inputs: ["kendoColumnMenuChooserItemChecked"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }] });
|
|
285
288
|
}
|
|
286
289
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnListComponent, decorators: [{
|
|
287
290
|
type: Component,
|
|
@@ -289,45 +292,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
289
292
|
selector: 'kendo-treelist-columnlist',
|
|
290
293
|
providers: [ColumnListKeyboardNavigation],
|
|
291
294
|
template: `
|
|
292
|
-
<div
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
295
|
+
<div
|
|
296
|
+
class="k-column-list"
|
|
297
|
+
role="listbox"
|
|
298
|
+
aria-multiselectable="true"
|
|
299
|
+
[attr.aria-label]="ariaLabel">
|
|
300
|
+
@for (column of columns; track column; let index = $index) {
|
|
301
|
+
<label
|
|
302
|
+
class='k-column-list-item'
|
|
303
|
+
[kendoColumnMenuChooserItemChecked]="!column.hidden"
|
|
304
|
+
role="option">
|
|
305
|
+
<kendo-checkbox
|
|
306
|
+
[inputAttributes]="{'data-index': index.toString()}"
|
|
307
|
+
[checkedState]="!column.hidden"
|
|
308
|
+
[disabled]="isDisabled(column)"
|
|
309
|
+
[tabindex]="-1"
|
|
310
|
+
></kendo-checkbox>
|
|
311
|
+
<span class="k-checkbox-label">{{ column.displayTitle }}</span>
|
|
309
312
|
</label>
|
|
313
|
+
}
|
|
310
314
|
</div>
|
|
311
|
-
|
|
315
|
+
@if (!autoSync) {
|
|
316
|
+
<div [ngClass]="actionsClass">
|
|
312
317
|
<button
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
318
|
+
#applyButton
|
|
319
|
+
type="button"
|
|
320
|
+
class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
|
|
321
|
+
(click)="applyChanges()"
|
|
322
|
+
(keydown.enter)="$event.preventDefault(); $event.stopPropagation(); applyChanges();"
|
|
323
|
+
(keydown.space)="$event.preventDefault(); $event.stopPropagation(); applyChanges();">{{ applyText }}</button>
|
|
319
324
|
<button
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
325
|
+
#resetButton
|
|
326
|
+
type="button"
|
|
327
|
+
(keydown.tab)="onTab($event)"
|
|
328
|
+
class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
|
|
329
|
+
(click)="cancelChanges()"
|
|
330
|
+
(keydown.enter)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();"
|
|
331
|
+
(keydown.space)="$event.preventDefault(); $event.stopPropagation(); cancelChanges();">{{ resetText }}</button>
|
|
332
|
+
</div>
|
|
333
|
+
}
|
|
334
|
+
`,
|
|
329
335
|
standalone: true,
|
|
330
|
-
imports: [
|
|
336
|
+
imports: [ColumnMenuChooserItemCheckedDirective, NgClass, CheckBoxComponent]
|
|
331
337
|
}]
|
|
332
338
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.ColumnListKeyboardNavigation }], propDecorators: { className: [{
|
|
333
339
|
type: HostBinding,
|
|
@@ -9,7 +9,6 @@ import { ContextService } from '../common/provider.service';
|
|
|
9
9
|
import { ColumnMenuItemBase } from './column-menu-item-base';
|
|
10
10
|
import { autoSizeColumn } from './utils';
|
|
11
11
|
import { ColumnMenuItemComponent } from './column-menu-item.component';
|
|
12
|
-
import { NgIf } from '@angular/common';
|
|
13
12
|
import * as i0 from "@angular/core";
|
|
14
13
|
import * as i1 from "../common/provider.service";
|
|
15
14
|
/**
|
|
@@ -48,30 +47,32 @@ export class ColumnMenuAutoSizeAllColumnsComponent extends ColumnMenuItemBase {
|
|
|
48
47
|
autoSizeColumn(this.ctx.treelist, this.service);
|
|
49
48
|
}
|
|
50
49
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnMenuAutoSizeAllColumnsComponent, deps: [{ token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ColumnMenuAutoSizeAllColumnsComponent, isStandalone: true, selector: "kendo-treelist-columnmenu-autosize-all-columns", usesInheritance: true, ngImport: i0, template: `
|
|
51
|
+
@if (!this.ctx.treelist.virtualColumns) {
|
|
52
|
+
<kendo-treelist-columnmenu-item
|
|
54
53
|
[text]="ctx.localization.get('autosizeAllColumns')"
|
|
55
54
|
icon="display-inline-flex"
|
|
56
55
|
[svgIcon]="displayInlineFlexIcon"
|
|
57
56
|
(itemClick)="autoSizeAllColumns()"
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
></kendo-treelist-columnmenu-item>
|
|
58
|
+
}
|
|
59
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-treelist-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }] });
|
|
60
60
|
}
|
|
61
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnMenuAutoSizeAllColumnsComponent, decorators: [{
|
|
62
62
|
type: Component,
|
|
63
63
|
args: [{
|
|
64
64
|
selector: 'kendo-treelist-columnmenu-autosize-all-columns',
|
|
65
65
|
template: `
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
@if (!this.ctx.treelist.virtualColumns) {
|
|
67
|
+
<kendo-treelist-columnmenu-item
|
|
68
68
|
[text]="ctx.localization.get('autosizeAllColumns')"
|
|
69
69
|
icon="display-inline-flex"
|
|
70
70
|
[svgIcon]="displayInlineFlexIcon"
|
|
71
71
|
(itemClick)="autoSizeAllColumns()"
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
></kendo-treelist-columnmenu-item>
|
|
73
|
+
}
|
|
74
|
+
`,
|
|
74
75
|
standalone: true,
|
|
75
|
-
imports: [
|
|
76
|
+
imports: [ColumnMenuItemComponent]
|
|
76
77
|
}]
|
|
77
78
|
}], ctorParameters: () => [{ type: i1.ContextService }] });
|
|
@@ -8,7 +8,6 @@ import { ContextService } from '../common/provider.service';
|
|
|
8
8
|
import { ColumnMenuItemBase } from './column-menu-item-base';
|
|
9
9
|
import { autoSizeColumn } from './utils';
|
|
10
10
|
import { ColumnMenuItemComponent } from './column-menu-item.component';
|
|
11
|
-
import { NgIf } from '@angular/common';
|
|
12
11
|
import { ColumnMenuErrorMessages } from '../common/error-messages';
|
|
13
12
|
import * as i0 from "@angular/core";
|
|
14
13
|
import * as i1 from "../common/provider.service";
|
|
@@ -52,33 +51,35 @@ export class ColumnMenuAutoSizeColumnComponent extends ColumnMenuItemBase {
|
|
|
52
51
|
autoSizeColumn(this.ctx.treelist, this.service, this.column);
|
|
53
52
|
}
|
|
54
53
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnMenuAutoSizeColumnComponent, deps: [{ token: i1.ContextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ColumnMenuAutoSizeColumnComponent, isStandalone: true, selector: "kendo-treelist-columnmenu-autosize-column", inputs: { column: "column" }, usesInheritance: true, ngImport: i0, template: `
|
|
55
|
+
@if (!this.ctx.treelist.virtualColumns) {
|
|
56
|
+
<kendo-treelist-columnmenu-item
|
|
58
57
|
class="k-grid-columnmenu-autosize-column"
|
|
59
58
|
[text]="ctx.localization.get('autosizeThisColumn')"
|
|
60
59
|
icon="max-width"
|
|
61
60
|
[svgIcon]="maxWidthIcon"
|
|
62
61
|
(itemClick)="autoSizeColumn()"
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
></kendo-treelist-columnmenu-item>
|
|
63
|
+
}
|
|
64
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ColumnMenuItemComponent, selector: "kendo-treelist-columnmenu-item", inputs: ["icon", "svgIcon", "text", "selected", "disabled", "expanded", "service"], outputs: ["itemClick", "expand", "collapse"] }] });
|
|
65
65
|
}
|
|
66
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnMenuAutoSizeColumnComponent, decorators: [{
|
|
67
67
|
type: Component,
|
|
68
68
|
args: [{
|
|
69
69
|
selector: 'kendo-treelist-columnmenu-autosize-column',
|
|
70
70
|
template: `
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
@if (!this.ctx.treelist.virtualColumns) {
|
|
72
|
+
<kendo-treelist-columnmenu-item
|
|
73
73
|
class="k-grid-columnmenu-autosize-column"
|
|
74
74
|
[text]="ctx.localization.get('autosizeThisColumn')"
|
|
75
75
|
icon="max-width"
|
|
76
76
|
[svgIcon]="maxWidthIcon"
|
|
77
77
|
(itemClick)="autoSizeColumn()"
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
></kendo-treelist-columnmenu-item>
|
|
79
|
+
}
|
|
80
|
+
`,
|
|
80
81
|
standalone: true,
|
|
81
|
-
imports: [
|
|
82
|
+
imports: [ColumnMenuItemComponent]
|
|
82
83
|
}]
|
|
83
84
|
}], ctorParameters: () => [{ type: i1.ContextService }], propDecorators: { column: [{
|
|
84
85
|
type: Input
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Component, Input, Output, EventEmitter, ContentChild } from '@angular/core';
|
|
6
|
-
import {
|
|
6
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
7
7
|
import { trigger, transition, style, animate, state } from '@angular/animations';
|
|
8
8
|
import { chevronDownIcon, chevronUpIcon } from '@progress/kendo-svg-icons';
|
|
9
9
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
@@ -104,39 +104,79 @@ export class ColumnMenuItemComponent {
|
|
|
104
104
|
this.contentState = this.expanded ? 'expanded' : 'collapsed';
|
|
105
105
|
}
|
|
106
106
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
107
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
108
|
-
|
|
107
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ColumnMenuItemComponent, isStandalone: true, selector: "kendo-treelist-columnmenu-item", inputs: { icon: "icon", svgIcon: "svgIcon", text: "text", selected: "selected", disabled: "disabled", expanded: "expanded", service: "service" }, outputs: { itemClick: "itemClick", expand: "expand", collapse: "collapse" }, queries: [{ propertyName: "contentTemplate", first: true, predicate: ColumnMenuItemContentTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
108
|
+
@if (contentTemplate) {
|
|
109
|
+
<div class="k-expander">
|
|
109
110
|
<ng-container [ngTemplateOutlet]="content"></ng-container>
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
111
|
+
</div>
|
|
112
|
+
} @else {
|
|
113
|
+
<div
|
|
114
|
+
class="k-columnmenu-item"
|
|
115
|
+
(click)="onClick($event)"
|
|
116
|
+
(keydown.enter)="onClick($event)"
|
|
117
|
+
[class.k-selected]="selected"
|
|
118
|
+
[class.k-disabled]="disabled"
|
|
119
|
+
role="button"
|
|
120
|
+
[attr.aria-expanded]="expanded"
|
|
121
|
+
[attr.aria-controls]="expanded ? contentId : undefined">
|
|
122
|
+
<kendo-icon-wrapper
|
|
123
|
+
[name]="icon"
|
|
124
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
125
|
+
{{ text }}
|
|
126
|
+
@if (contentTemplate) {
|
|
127
|
+
<span class="k-spacer"></span>
|
|
128
|
+
}
|
|
129
|
+
@if (contentTemplate) {
|
|
130
|
+
<span class="k-expander-indicator">
|
|
122
131
|
<kendo-icon-wrapper
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
132
|
+
[name]="expandedIcon"
|
|
133
|
+
[svgIcon]="expandedSvgIcon">
|
|
134
|
+
</kendo-icon-wrapper>
|
|
135
|
+
</span>
|
|
136
|
+
}
|
|
137
|
+
</div>
|
|
138
|
+
@if (contentTemplate) {
|
|
139
|
+
<div [attr.id]="contentId" [@state]="contentState" [style.overflow]="'hidden'" class="k-columnmenu-item-content">
|
|
140
|
+
<ng-container [ngTemplateOutlet]="contentTemplate.templateRef">
|
|
141
|
+
</ng-container>
|
|
133
142
|
</div>
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
<ng-template #content>
|
|
147
|
+
<div
|
|
148
|
+
class="k-columnmenu-item"
|
|
149
|
+
(click)="onClick($event)"
|
|
150
|
+
(keydown.enter)="onClick($event)"
|
|
151
|
+
[class.k-selected]="selected"
|
|
152
|
+
[class.k-disabled]="disabled"
|
|
153
|
+
role="button"
|
|
154
|
+
[attr.aria-expanded]="expanded"
|
|
155
|
+
[attr.aria-controls]="expanded ? contentId : undefined">
|
|
156
|
+
<kendo-icon-wrapper
|
|
157
|
+
[name]="icon"
|
|
158
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
159
|
+
{{ text }}
|
|
160
|
+
@if (contentTemplate) {
|
|
161
|
+
<span class="k-spacer"></span>
|
|
162
|
+
}
|
|
163
|
+
@if (contentTemplate) {
|
|
164
|
+
<span class="k-expander-indicator">
|
|
165
|
+
<kendo-icon-wrapper
|
|
166
|
+
[name]="expandedIcon"
|
|
167
|
+
[svgIcon]="expandedSvgIcon">
|
|
168
|
+
</kendo-icon-wrapper>
|
|
169
|
+
</span>
|
|
170
|
+
}
|
|
171
|
+
</div>
|
|
172
|
+
@if (contentTemplate) {
|
|
173
|
+
<div [attr.id]="contentId" [@state]="contentState" [style.overflow]="'hidden'" class="k-columnmenu-item-content">
|
|
174
|
+
<ng-container [ngTemplateOutlet]="contentTemplate.templateRef">
|
|
175
|
+
</ng-container>
|
|
137
176
|
</div>
|
|
177
|
+
}
|
|
138
178
|
</ng-template>
|
|
139
|
-
|
|
179
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
140
180
|
trigger('state', [
|
|
141
181
|
state('collapsed', style({ display: 'none' })),
|
|
142
182
|
state('expanded', style({ display: 'block' })),
|
|
@@ -188,40 +228,80 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
188
228
|
],
|
|
189
229
|
selector: 'kendo-treelist-columnmenu-item',
|
|
190
230
|
template: `
|
|
191
|
-
|
|
231
|
+
@if (contentTemplate) {
|
|
232
|
+
<div class="k-expander">
|
|
192
233
|
<ng-container [ngTemplateOutlet]="content"></ng-container>
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
234
|
+
</div>
|
|
235
|
+
} @else {
|
|
236
|
+
<div
|
|
237
|
+
class="k-columnmenu-item"
|
|
238
|
+
(click)="onClick($event)"
|
|
239
|
+
(keydown.enter)="onClick($event)"
|
|
240
|
+
[class.k-selected]="selected"
|
|
241
|
+
[class.k-disabled]="disabled"
|
|
242
|
+
role="button"
|
|
243
|
+
[attr.aria-expanded]="expanded"
|
|
244
|
+
[attr.aria-controls]="expanded ? contentId : undefined">
|
|
245
|
+
<kendo-icon-wrapper
|
|
246
|
+
[name]="icon"
|
|
247
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
248
|
+
{{ text }}
|
|
249
|
+
@if (contentTemplate) {
|
|
250
|
+
<span class="k-spacer"></span>
|
|
251
|
+
}
|
|
252
|
+
@if (contentTemplate) {
|
|
253
|
+
<span class="k-expander-indicator">
|
|
205
254
|
<kendo-icon-wrapper
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
255
|
+
[name]="expandedIcon"
|
|
256
|
+
[svgIcon]="expandedSvgIcon">
|
|
257
|
+
</kendo-icon-wrapper>
|
|
258
|
+
</span>
|
|
259
|
+
}
|
|
260
|
+
</div>
|
|
261
|
+
@if (contentTemplate) {
|
|
262
|
+
<div [attr.id]="contentId" [@state]="contentState" [style.overflow]="'hidden'" class="k-columnmenu-item-content">
|
|
263
|
+
<ng-container [ngTemplateOutlet]="contentTemplate.templateRef">
|
|
264
|
+
</ng-container>
|
|
216
265
|
</div>
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
<ng-template #content>
|
|
270
|
+
<div
|
|
271
|
+
class="k-columnmenu-item"
|
|
272
|
+
(click)="onClick($event)"
|
|
273
|
+
(keydown.enter)="onClick($event)"
|
|
274
|
+
[class.k-selected]="selected"
|
|
275
|
+
[class.k-disabled]="disabled"
|
|
276
|
+
role="button"
|
|
277
|
+
[attr.aria-expanded]="expanded"
|
|
278
|
+
[attr.aria-controls]="expanded ? contentId : undefined">
|
|
279
|
+
<kendo-icon-wrapper
|
|
280
|
+
[name]="icon"
|
|
281
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
282
|
+
{{ text }}
|
|
283
|
+
@if (contentTemplate) {
|
|
284
|
+
<span class="k-spacer"></span>
|
|
285
|
+
}
|
|
286
|
+
@if (contentTemplate) {
|
|
287
|
+
<span class="k-expander-indicator">
|
|
288
|
+
<kendo-icon-wrapper
|
|
289
|
+
[name]="expandedIcon"
|
|
290
|
+
[svgIcon]="expandedSvgIcon">
|
|
291
|
+
</kendo-icon-wrapper>
|
|
292
|
+
</span>
|
|
293
|
+
}
|
|
294
|
+
</div>
|
|
295
|
+
@if (contentTemplate) {
|
|
296
|
+
<div [attr.id]="contentId" [@state]="contentState" [style.overflow]="'hidden'" class="k-columnmenu-item-content">
|
|
297
|
+
<ng-container [ngTemplateOutlet]="contentTemplate.templateRef">
|
|
298
|
+
</ng-container>
|
|
220
299
|
</div>
|
|
300
|
+
}
|
|
221
301
|
</ng-template>
|
|
222
|
-
|
|
302
|
+
`,
|
|
223
303
|
standalone: true,
|
|
224
|
-
imports: [IconWrapperComponent,
|
|
304
|
+
imports: [IconWrapperComponent, NgTemplateOutlet]
|
|
225
305
|
}]
|
|
226
306
|
}], propDecorators: { itemClick: [{
|
|
227
307
|
type: Output
|