@progress/kendo-angular-treelist 17.0.2-develop.4 → 17.0.2-develop.6

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.
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-treelist',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1731599041,
13
- version: '17.0.2-develop.4',
12
+ publishDate: 1731612927,
13
+ version: '17.0.2-develop.6',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -36,6 +36,7 @@ import { FilterMenuComponent } from '../../filtering/menu/filter-menu.component'
36
36
  import { LogicalCellDirective } from '../../navigation/logical-cell.directive';
37
37
  import { LogicalRowDirective } from '../../navigation/logical-row.directive';
38
38
  import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
39
+ import { TreeListSelectAllCheckboxDirective } from './select-all-checkbox.directive';
39
40
  import * as i0 from "@angular/core";
40
41
  import * as i1 from "../../common/single-popup.service";
41
42
  import * as i2 from "../../dragdrop/drag-hint.service";
@@ -469,6 +470,7 @@ export class HeaderComponent {
469
470
  <kendo-checkbox
470
471
  [inputAttributes]="{'aria-label': messageFor('selectAllRowsCheckboxLabel')}"
471
472
  kendoTreeListFocusable
473
+ kendoTreeListSelectAllCheckbox
472
474
  (checkedStateChange)="selectAllChange($event)"
473
475
  ></kendo-checkbox>
474
476
  </ng-template>
@@ -543,7 +545,7 @@ export class HeaderComponent {
543
545
  [logicalSlaveCellsCount]="unlockedColumnsCount"
544
546
  >
545
547
  </tr>
546
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: LogicalRowDirective, selector: "[kendoTreeListLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "isNew", "totalColumns"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoTreeListLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "column", "colIndex", "colSpan", "rowSpan", "dataRowIndex", "dataItem", "expandable"] }, { kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FilterMenuComponent, selector: "kendo-treelist-filter-menu", inputs: ["column", "filter"] }, { kind: "component", type: ColumnMenuComponent, selector: "kendo-treelist-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "directive", type: ColumnHandleDirective, selector: "[kendoTreeListColumnHandle]", inputs: ["columns", "column"] }, { kind: "component", type: FilterRowComponent, selector: "[kendoTreeListFilterRow]", inputs: ["columns", "filter", "logicalRowIndex", "lockedColumnsCount"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }] });
548
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: LogicalRowDirective, selector: "[kendoTreeListLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "isNew", "totalColumns"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoTreeListLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "column", "colIndex", "colSpan", "rowSpan", "dataRowIndex", "dataItem", "expandable"] }, { kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FilterMenuComponent, selector: "kendo-treelist-filter-menu", inputs: ["column", "filter"] }, { kind: "component", type: ColumnMenuComponent, selector: "kendo-treelist-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "directive", type: ColumnHandleDirective, selector: "[kendoTreeListColumnHandle]", inputs: ["columns", "column"] }, { kind: "component", type: FilterRowComponent, selector: "[kendoTreeListFilterRow]", inputs: ["columns", "filter", "logicalRowIndex", "lockedColumnsCount"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "directive", type: TreeListSelectAllCheckboxDirective, selector: "[kendoTreeListSelectAllCheckbox]" }] });
547
549
  }
548
550
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, decorators: [{
549
551
  type: Component,
@@ -656,6 +658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
656
658
  <kendo-checkbox
657
659
  [inputAttributes]="{'aria-label': messageFor('selectAllRowsCheckboxLabel')}"
658
660
  kendoTreeListFocusable
661
+ kendoTreeListSelectAllCheckbox
659
662
  (checkedStateChange)="selectAllChange($event)"
660
663
  ></kendo-checkbox>
661
664
  </ng-template>
@@ -732,7 +735,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
732
735
  </tr>
733
736
  `,
734
737
  standalone: true,
735
- imports: [NgFor, LogicalRowDirective, NgIf, LogicalCellDirective, DropTargetDirective, DraggableDirective, DraggableColumnDirective, NgClass, NgStyle, FilterMenuComponent, ColumnMenuComponent, TemplateContextDirective, IconWrapperComponent, FocusableDirective, ColumnHandleDirective, FilterRowComponent, CheckBoxComponent]
738
+ imports: [NgFor, LogicalRowDirective, NgIf, LogicalCellDirective, DropTargetDirective, DraggableDirective, DraggableColumnDirective, NgClass, NgStyle,
739
+ FilterMenuComponent, ColumnMenuComponent, TemplateContextDirective, IconWrapperComponent, FocusableDirective, ColumnHandleDirective, FilterRowComponent,
740
+ CheckBoxComponent, TreeListSelectAllCheckboxDirective]
736
741
  }]
737
742
  }], ctorParameters: function () { return [{ type: i1.SinglePopupService }, { type: i2.DragHintService }, { type: i3.DropCueService }, { type: i4.ColumnReorderService }, { type: i5.SortService }, { type: i6.SelectionService }, { type: i7.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { totalColumnLevels: [{
738
743
  type: Input
@@ -0,0 +1,61 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { ChangeDetectorRef, Directive, ElementRef, NgZone, Renderer2 } from '@angular/core';
6
+ import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
7
+ import { SelectionService } from '../../selection/selection.service';
8
+ import { Subscription } from 'rxjs';
9
+ import { SelectableDirective } from '../../selection/selectable.directive';
10
+ import { isPresent } from '@progress/kendo-angular-common';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@progress/kendo-angular-inputs";
13
+ import * as i2 from "../../selection/selection.service";
14
+ import * as i3 from "../../selection/selectable.directive";
15
+ /**
16
+ * @hidden
17
+ */
18
+ export class TreeListSelectAllCheckboxDirective {
19
+ sub = new Subscription();
20
+ setState = true;
21
+ constructor(host, hostEl, selectionService, selectableDirective, cdr, zone, renderer) {
22
+ this.sub = selectionService.changes.subscribe(eventData => {
23
+ // omit setting the state when the selection change comes from clicking the checkbox, and clear the flag
24
+ if (!this.setState) {
25
+ this.setState = true;
26
+ return;
27
+ }
28
+ const allSelected = eventData.sender.view.total === selectableDirective.stateArray.length;
29
+ const noneSelected = selectableDirective.stateArray.length === 0;
30
+ const someSelected = !noneSelected && !allSelected;
31
+ if (allSelected && host.checkedState !== true) {
32
+ host.checkedState = true;
33
+ }
34
+ else if (someSelected && host.checkedState !== 'indeterminate') {
35
+ host.checkedState = 'indeterminate';
36
+ }
37
+ else if (noneSelected && host.checkedState !== false) {
38
+ host.checkedState = false;
39
+ }
40
+ cdr.markForCheck();
41
+ });
42
+ // set flag for conditional checkbox state logic
43
+ ['pointerdown', 'keydown'].forEach(eventName => this.sub.add(renderer.listen(hostEl.nativeElement, eventName, (e) => {
44
+ const isSpace = e.key && e.key === ' ';
45
+ const spaceOrPointer = !isPresent(e.key) || isSpace;
46
+ spaceOrPointer && (this.setState = false);
47
+ })));
48
+ }
49
+ ngOnDestroy() {
50
+ this.sub && this.sub.unsubscribe();
51
+ }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeListSelectAllCheckboxDirective, deps: [{ token: i1.CheckBoxComponent }, { token: i0.ElementRef }, { token: i2.SelectionService }, { token: i3.SelectableDirective }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
53
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TreeListSelectAllCheckboxDirective, isStandalone: true, selector: "[kendoTreeListSelectAllCheckbox]", ngImport: i0 });
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeListSelectAllCheckboxDirective, decorators: [{
56
+ type: Directive,
57
+ args: [{
58
+ selector: '[kendoTreeListSelectAllCheckbox]',
59
+ standalone: true
60
+ }]
61
+ }], ctorParameters: function () { return [{ type: i1.CheckBoxComponent }, { type: i0.ElementRef }, { type: i2.SelectionService }, { type: i3.SelectableDirective }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; } });
@@ -78,6 +78,12 @@ export class SelectableDirective {
78
78
  this._columnKeyGetter = value;
79
79
  }
80
80
  }
81
+ /**
82
+ * @hidden
83
+ */
84
+ get stateArray() {
85
+ return this.state.toArray();
86
+ }
81
87
  get keyGetter() {
82
88
  return this._keyGetter || this.treelist.idGetter;
83
89
  }
@@ -27,6 +27,7 @@ import { plusIcon, cancelIcon, lockIcon, unlockIcon, insertMiddleIcon, caretAltD
27
27
  import * as i95 from '@progress/kendo-angular-pager';
28
28
  import { PagerContextService, PagerNavigationService, PagerTemplateDirective, KENDO_PAGER } from '@progress/kendo-angular-pager';
29
29
  import { getter, setter } from '@progress/kendo-common';
30
+ import * as i1$5 from '@progress/kendo-angular-inputs';
30
31
  import { NumericTextBoxComponent, CheckBoxComponent, TextBoxComponent, RadioButtonComponent } from '@progress/kendo-angular-inputs';
31
32
  import * as i1$3 from '@progress/kendo-angular-intl';
32
33
  import { DropDownListComponent, AutoCompleteComponent } from '@progress/kendo-angular-dropdowns';
@@ -45,8 +46,8 @@ const packageMetadata = {
45
46
  name: '@progress/kendo-angular-treelist',
46
47
  productName: 'Kendo UI for Angular',
47
48
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
48
- publishDate: 1731599041,
49
- version: '17.0.2-develop.4',
49
+ publishDate: 1731612927,
50
+ version: '17.0.2-develop.6',
50
51
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
51
52
  };
52
53
 
@@ -13308,6 +13309,243 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
13308
13309
  type: Input
13309
13310
  }] } });
13310
13311
 
13312
+ const defaultColumnKeyGetter = (_column, columnIndex) => columnIndex;
13313
+ /**
13314
+ * A directive which controls the selection state. [See example](slug:selection_treelist).
13315
+ */
13316
+ class SelectableDirective {
13317
+ treelist;
13318
+ /**
13319
+ * @hidden
13320
+ */
13321
+ set selectable(value) {
13322
+ if (typeof value === 'object') { // add method to normalize this
13323
+ this._settings = value;
13324
+ }
13325
+ else {
13326
+ this._settings = {
13327
+ enabled: value
13328
+ };
13329
+ }
13330
+ this.state = createState(this._settings);
13331
+ this.state.fromArray(this._selectedItems || []);
13332
+ if (this._settings.enabled !== false) {
13333
+ this.treelist.isSelected = this._settings.mode === 'cell' ? this.cellSelected : this.rowSelected;
13334
+ this.subscribeSelection();
13335
+ }
13336
+ else {
13337
+ this.treelist.isSelected = () => false;
13338
+ this.unsubscribeSelection();
13339
+ }
13340
+ this.treelist.updateView();
13341
+ }
13342
+ /**
13343
+ * Specifies the selected items.
13344
+ */
13345
+ set selectedItems(value) {
13346
+ if (!value) {
13347
+ this.state.clear();
13348
+ }
13349
+ else if (value !== this.lastChange) {
13350
+ this.state.fromArray(value);
13351
+ this.treelist.updateView();
13352
+ }
13353
+ this._selectedItems = value;
13354
+ }
13355
+ /**
13356
+ * Fires when the selected items are changed.
13357
+ */
13358
+ selectedItemsChange = new EventEmitter();
13359
+ /**
13360
+ * The field name or a function that specify the dataItems key.
13361
+ */
13362
+ set itemKey(value) {
13363
+ if (isString(value)) {
13364
+ this._keyGetter = getter(String(value));
13365
+ }
13366
+ else {
13367
+ this._keyGetter = value;
13368
+ }
13369
+ }
13370
+ /**
13371
+ * The field name or a function that specify the columns key.
13372
+ */
13373
+ set columnKey(value) {
13374
+ if (isString(value)) {
13375
+ this._columnKeyGetter = getter(String(value));
13376
+ }
13377
+ else if (value) {
13378
+ this._columnKeyGetter = value;
13379
+ }
13380
+ }
13381
+ /**
13382
+ * @hidden
13383
+ */
13384
+ get stateArray() {
13385
+ return this.state.toArray();
13386
+ }
13387
+ get keyGetter() {
13388
+ return this._keyGetter || this.treelist.idGetter;
13389
+ }
13390
+ get columnKeyGetter() {
13391
+ return this._columnKeyGetter || defaultColumnKeyGetter;
13392
+ }
13393
+ subscriptions;
13394
+ state = new RowSelectionState();
13395
+ _settings;
13396
+ lastChange;
13397
+ _columnKeyGetter;
13398
+ _keyGetter;
13399
+ _selectedItems = [];
13400
+ constructor(treelist) {
13401
+ this.treelist = treelist;
13402
+ this.cellSelected = this.cellSelected.bind(this);
13403
+ this.rowSelected = this.rowSelected.bind(this);
13404
+ this.selectionChange = this.selectionChange.bind(this);
13405
+ this.updateColumnIndices = this.updateColumnIndices.bind(this);
13406
+ this.treelist.selectable = this.selectable = true;
13407
+ }
13408
+ ngOnDestroy() {
13409
+ this.unsubscribeSelection();
13410
+ }
13411
+ /**
13412
+ * @hidden
13413
+ */
13414
+ cellSelected(dataItem, column, columnIndex) {
13415
+ return this.state.has(this.keyGetter(dataItem), this.columnKeyGetter(column, columnIndex));
13416
+ }
13417
+ /**
13418
+ * @hidden
13419
+ */
13420
+ rowSelected(dataItem) {
13421
+ return this.state.has(this.keyGetter(dataItem));
13422
+ }
13423
+ selectionChange({ action, items }) {
13424
+ if (action === 'select' || action === 'add') {
13425
+ if (action === 'select') {
13426
+ this.state.clear();
13427
+ }
13428
+ items.forEach(item => {
13429
+ this.state.add(this.keyGetter(item.dataItem), this.columnKeyGetter(item.column, item.columnIndex));
13430
+ });
13431
+ }
13432
+ else {
13433
+ items.forEach(item => {
13434
+ this.state.remove(this.keyGetter(item.dataItem), this.columnKeyGetter(item.column, item.columnIndex));
13435
+ });
13436
+ }
13437
+ this.emitSelectedItemsChange();
13438
+ }
13439
+ emitSelectedItemsChange() {
13440
+ this.lastChange = this.state.toArray();
13441
+ this.selectedItemsChange.emit(this.lastChange);
13442
+ }
13443
+ subscribeSelection() {
13444
+ this.unsubscribeSelection();
13445
+ this.subscriptions = this.treelist.selectionChange.subscribe(this.selectionChange);
13446
+ if (this._settings.mode === 'cell') {
13447
+ this.subscriptions.add(this.treelist.columnOrderChange.subscribe(this.updateColumnIndices));
13448
+ this.subscriptions.add(this.treelist.columnLockedChange.subscribe(this.updateColumnIndices));
13449
+ }
13450
+ }
13451
+ unsubscribeSelection() {
13452
+ if (this.subscriptions) {
13453
+ this.subscriptions.unsubscribe();
13454
+ this.subscriptions = null;
13455
+ }
13456
+ }
13457
+ updateColumnIndices() {
13458
+ if (!this._columnKeyGetter) {
13459
+ const changes = new Map();
13460
+ const currentIndices = [];
13461
+ this.leafColumns.forEach((column) => {
13462
+ currentIndices.push(column);
13463
+ });
13464
+ this.treelist.columnsContainer.refresh();
13465
+ const leafColumns = this.leafColumns;
13466
+ currentIndices.forEach((column, index) => {
13467
+ if (column !== leafColumns[index]) {
13468
+ changes.set(index, leafColumns.indexOf(column));
13469
+ }
13470
+ });
13471
+ if (changes.size && this.state.updateColumKeys(changes)) {
13472
+ this.emitSelectedItemsChange();
13473
+ }
13474
+ }
13475
+ }
13476
+ get leafColumns() {
13477
+ return this.treelist.lockedLeafColumns.toArray().concat(this.treelist.nonLockedLeafColumns.toArray());
13478
+ }
13479
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectableDirective, deps: [{ token: TreeListComponent }], target: i0.ɵɵFactoryTarget.Directive });
13480
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SelectableDirective, isStandalone: true, selector: "[kendoTreeListSelectable]", inputs: { selectable: "selectable", selectedItems: "selectedItems", itemKey: "itemKey", columnKey: "columnKey" }, outputs: { selectedItemsChange: "selectedItemsChange" }, exportAs: ["kendoTreeListSelectable"], ngImport: i0 });
13481
+ }
13482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectableDirective, decorators: [{
13483
+ type: Directive,
13484
+ args: [{
13485
+ exportAs: 'kendoTreeListSelectable',
13486
+ selector: '[kendoTreeListSelectable]',
13487
+ standalone: true
13488
+ }]
13489
+ }], ctorParameters: function () { return [{ type: TreeListComponent }]; }, propDecorators: { selectable: [{
13490
+ type: Input
13491
+ }], selectedItems: [{
13492
+ type: Input
13493
+ }], selectedItemsChange: [{
13494
+ type: Output
13495
+ }], itemKey: [{
13496
+ type: Input
13497
+ }], columnKey: [{
13498
+ type: Input
13499
+ }] } });
13500
+
13501
+ /**
13502
+ * @hidden
13503
+ */
13504
+ class TreeListSelectAllCheckboxDirective {
13505
+ sub = new Subscription();
13506
+ setState = true;
13507
+ constructor(host, hostEl, selectionService, selectableDirective, cdr, zone, renderer) {
13508
+ this.sub = selectionService.changes.subscribe(eventData => {
13509
+ // omit setting the state when the selection change comes from clicking the checkbox, and clear the flag
13510
+ if (!this.setState) {
13511
+ this.setState = true;
13512
+ return;
13513
+ }
13514
+ const allSelected = eventData.sender.view.total === selectableDirective.stateArray.length;
13515
+ const noneSelected = selectableDirective.stateArray.length === 0;
13516
+ const someSelected = !noneSelected && !allSelected;
13517
+ if (allSelected && host.checkedState !== true) {
13518
+ host.checkedState = true;
13519
+ }
13520
+ else if (someSelected && host.checkedState !== 'indeterminate') {
13521
+ host.checkedState = 'indeterminate';
13522
+ }
13523
+ else if (noneSelected && host.checkedState !== false) {
13524
+ host.checkedState = false;
13525
+ }
13526
+ cdr.markForCheck();
13527
+ });
13528
+ // set flag for conditional checkbox state logic
13529
+ ['pointerdown', 'keydown'].forEach(eventName => this.sub.add(renderer.listen(hostEl.nativeElement, eventName, (e) => {
13530
+ const isSpace = e.key && e.key === ' ';
13531
+ const spaceOrPointer = !isPresent$1(e.key) || isSpace;
13532
+ spaceOrPointer && (this.setState = false);
13533
+ })));
13534
+ }
13535
+ ngOnDestroy() {
13536
+ this.sub && this.sub.unsubscribe();
13537
+ }
13538
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeListSelectAllCheckboxDirective, deps: [{ token: i1$5.CheckBoxComponent }, { token: i0.ElementRef }, { token: SelectionService }, { token: SelectableDirective }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
13539
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TreeListSelectAllCheckboxDirective, isStandalone: true, selector: "[kendoTreeListSelectAllCheckbox]", ngImport: i0 });
13540
+ }
13541
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeListSelectAllCheckboxDirective, decorators: [{
13542
+ type: Directive,
13543
+ args: [{
13544
+ selector: '[kendoTreeListSelectAllCheckbox]',
13545
+ standalone: true
13546
+ }]
13547
+ }], ctorParameters: function () { return [{ type: i1$5.CheckBoxComponent }, { type: i0.ElementRef }, { type: SelectionService }, { type: SelectableDirective }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; } });
13548
+
13311
13549
  /* eslint-disable @typescript-eslint/no-explicit-any */
13312
13550
  const mergeObjects = (...args) => Object.assign.apply(null, [{}].concat(args));
13313
13551
  const directions = initialDirection => initialDirection === "asc" ? ["asc", "desc"] : ["desc", "asc"];
@@ -13734,6 +13972,7 @@ class HeaderComponent {
13734
13972
  <kendo-checkbox
13735
13973
  [inputAttributes]="{'aria-label': messageFor('selectAllRowsCheckboxLabel')}"
13736
13974
  kendoTreeListFocusable
13975
+ kendoTreeListSelectAllCheckbox
13737
13976
  (checkedStateChange)="selectAllChange($event)"
13738
13977
  ></kendo-checkbox>
13739
13978
  </ng-template>
@@ -13808,7 +14047,7 @@ class HeaderComponent {
13808
14047
  [logicalSlaveCellsCount]="unlockedColumnsCount"
13809
14048
  >
13810
14049
  </tr>
13811
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: LogicalRowDirective, selector: "[kendoTreeListLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "isNew", "totalColumns"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoTreeListLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "column", "colIndex", "colSpan", "rowSpan", "dataRowIndex", "dataItem", "expandable"] }, { kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FilterMenuComponent, selector: "kendo-treelist-filter-menu", inputs: ["column", "filter"] }, { kind: "component", type: ColumnMenuComponent, selector: "kendo-treelist-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "directive", type: ColumnHandleDirective, selector: "[kendoTreeListColumnHandle]", inputs: ["columns", "column"] }, { kind: "component", type: FilterRowComponent, selector: "[kendoTreeListFilterRow]", inputs: ["columns", "filter", "logicalRowIndex", "lockedColumnsCount"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }] });
14050
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: LogicalRowDirective, selector: "[kendoTreeListLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "isNew", "totalColumns"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoTreeListLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "column", "colIndex", "colSpan", "rowSpan", "dataRowIndex", "dataItem", "expandable"] }, { kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FilterMenuComponent, selector: "kendo-treelist-filter-menu", inputs: ["column", "filter"] }, { kind: "component", type: ColumnMenuComponent, selector: "kendo-treelist-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "directive", type: ColumnHandleDirective, selector: "[kendoTreeListColumnHandle]", inputs: ["columns", "column"] }, { kind: "component", type: FilterRowComponent, selector: "[kendoTreeListFilterRow]", inputs: ["columns", "filter", "logicalRowIndex", "lockedColumnsCount"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "directive", type: TreeListSelectAllCheckboxDirective, selector: "[kendoTreeListSelectAllCheckbox]" }] });
13812
14051
  }
13813
14052
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, decorators: [{
13814
14053
  type: Component,
@@ -13921,6 +14160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
13921
14160
  <kendo-checkbox
13922
14161
  [inputAttributes]="{'aria-label': messageFor('selectAllRowsCheckboxLabel')}"
13923
14162
  kendoTreeListFocusable
14163
+ kendoTreeListSelectAllCheckbox
13924
14164
  (checkedStateChange)="selectAllChange($event)"
13925
14165
  ></kendo-checkbox>
13926
14166
  </ng-template>
@@ -13997,7 +14237,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
13997
14237
  </tr>
13998
14238
  `,
13999
14239
  standalone: true,
14000
- imports: [NgFor, LogicalRowDirective, NgIf, LogicalCellDirective, DropTargetDirective, DraggableDirective, DraggableColumnDirective, NgClass, NgStyle, FilterMenuComponent, ColumnMenuComponent, TemplateContextDirective, IconWrapperComponent, FocusableDirective, ColumnHandleDirective, FilterRowComponent, CheckBoxComponent]
14240
+ imports: [NgFor, LogicalRowDirective, NgIf, LogicalCellDirective, DropTargetDirective, DraggableDirective, DraggableColumnDirective, NgClass, NgStyle,
14241
+ FilterMenuComponent, ColumnMenuComponent, TemplateContextDirective, IconWrapperComponent, FocusableDirective, ColumnHandleDirective, FilterRowComponent,
14242
+ CheckBoxComponent, TreeListSelectAllCheckboxDirective]
14001
14243
  }]
14002
14244
  }], ctorParameters: function () { return [{ type: SinglePopupService }, { type: DragHintService }, { type: DropCueService }, { type: ColumnReorderService }, { type: SortService }, { type: SelectionService }, { type: i1$1.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { totalColumnLevels: [{
14003
14245
  type: Input
@@ -18508,189 +18750,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
18508
18750
  type: Input
18509
18751
  }] } });
18510
18752
 
18511
- const defaultColumnKeyGetter = (_column, columnIndex) => columnIndex;
18512
- /**
18513
- * A directive which controls the selection state. [See example](slug:selection_treelist).
18514
- */
18515
- class SelectableDirective {
18516
- treelist;
18517
- /**
18518
- * @hidden
18519
- */
18520
- set selectable(value) {
18521
- if (typeof value === 'object') { // add method to normalize this
18522
- this._settings = value;
18523
- }
18524
- else {
18525
- this._settings = {
18526
- enabled: value
18527
- };
18528
- }
18529
- this.state = createState(this._settings);
18530
- this.state.fromArray(this._selectedItems || []);
18531
- if (this._settings.enabled !== false) {
18532
- this.treelist.isSelected = this._settings.mode === 'cell' ? this.cellSelected : this.rowSelected;
18533
- this.subscribeSelection();
18534
- }
18535
- else {
18536
- this.treelist.isSelected = () => false;
18537
- this.unsubscribeSelection();
18538
- }
18539
- this.treelist.updateView();
18540
- }
18541
- /**
18542
- * Specifies the selected items.
18543
- */
18544
- set selectedItems(value) {
18545
- if (!value) {
18546
- this.state.clear();
18547
- }
18548
- else if (value !== this.lastChange) {
18549
- this.state.fromArray(value);
18550
- this.treelist.updateView();
18551
- }
18552
- this._selectedItems = value;
18553
- }
18554
- /**
18555
- * Fires when the selected items are changed.
18556
- */
18557
- selectedItemsChange = new EventEmitter();
18558
- /**
18559
- * The field name or a function that specify the dataItems key.
18560
- */
18561
- set itemKey(value) {
18562
- if (isString(value)) {
18563
- this._keyGetter = getter(String(value));
18564
- }
18565
- else {
18566
- this._keyGetter = value;
18567
- }
18568
- }
18569
- /**
18570
- * The field name or a function that specify the columns key.
18571
- */
18572
- set columnKey(value) {
18573
- if (isString(value)) {
18574
- this._columnKeyGetter = getter(String(value));
18575
- }
18576
- else if (value) {
18577
- this._columnKeyGetter = value;
18578
- }
18579
- }
18580
- get keyGetter() {
18581
- return this._keyGetter || this.treelist.idGetter;
18582
- }
18583
- get columnKeyGetter() {
18584
- return this._columnKeyGetter || defaultColumnKeyGetter;
18585
- }
18586
- subscriptions;
18587
- state = new RowSelectionState();
18588
- _settings;
18589
- lastChange;
18590
- _columnKeyGetter;
18591
- _keyGetter;
18592
- _selectedItems = [];
18593
- constructor(treelist) {
18594
- this.treelist = treelist;
18595
- this.cellSelected = this.cellSelected.bind(this);
18596
- this.rowSelected = this.rowSelected.bind(this);
18597
- this.selectionChange = this.selectionChange.bind(this);
18598
- this.updateColumnIndices = this.updateColumnIndices.bind(this);
18599
- this.treelist.selectable = this.selectable = true;
18600
- }
18601
- ngOnDestroy() {
18602
- this.unsubscribeSelection();
18603
- }
18604
- /**
18605
- * @hidden
18606
- */
18607
- cellSelected(dataItem, column, columnIndex) {
18608
- return this.state.has(this.keyGetter(dataItem), this.columnKeyGetter(column, columnIndex));
18609
- }
18610
- /**
18611
- * @hidden
18612
- */
18613
- rowSelected(dataItem) {
18614
- return this.state.has(this.keyGetter(dataItem));
18615
- }
18616
- selectionChange({ action, items }) {
18617
- if (action === 'select' || action === 'add') {
18618
- if (action === 'select') {
18619
- this.state.clear();
18620
- }
18621
- items.forEach(item => {
18622
- this.state.add(this.keyGetter(item.dataItem), this.columnKeyGetter(item.column, item.columnIndex));
18623
- });
18624
- }
18625
- else {
18626
- items.forEach(item => {
18627
- this.state.remove(this.keyGetter(item.dataItem), this.columnKeyGetter(item.column, item.columnIndex));
18628
- });
18629
- }
18630
- this.emitSelectedItemsChange();
18631
- }
18632
- emitSelectedItemsChange() {
18633
- this.lastChange = this.state.toArray();
18634
- this.selectedItemsChange.emit(this.lastChange);
18635
- }
18636
- subscribeSelection() {
18637
- this.unsubscribeSelection();
18638
- this.subscriptions = this.treelist.selectionChange.subscribe(this.selectionChange);
18639
- if (this._settings.mode === 'cell') {
18640
- this.subscriptions.add(this.treelist.columnOrderChange.subscribe(this.updateColumnIndices));
18641
- this.subscriptions.add(this.treelist.columnLockedChange.subscribe(this.updateColumnIndices));
18642
- }
18643
- }
18644
- unsubscribeSelection() {
18645
- if (this.subscriptions) {
18646
- this.subscriptions.unsubscribe();
18647
- this.subscriptions = null;
18648
- }
18649
- }
18650
- updateColumnIndices() {
18651
- if (!this._columnKeyGetter) {
18652
- const changes = new Map();
18653
- const currentIndices = [];
18654
- this.leafColumns.forEach((column) => {
18655
- currentIndices.push(column);
18656
- });
18657
- this.treelist.columnsContainer.refresh();
18658
- const leafColumns = this.leafColumns;
18659
- currentIndices.forEach((column, index) => {
18660
- if (column !== leafColumns[index]) {
18661
- changes.set(index, leafColumns.indexOf(column));
18662
- }
18663
- });
18664
- if (changes.size && this.state.updateColumKeys(changes)) {
18665
- this.emitSelectedItemsChange();
18666
- }
18667
- }
18668
- }
18669
- get leafColumns() {
18670
- return this.treelist.lockedLeafColumns.toArray().concat(this.treelist.nonLockedLeafColumns.toArray());
18671
- }
18672
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectableDirective, deps: [{ token: TreeListComponent }], target: i0.ɵɵFactoryTarget.Directive });
18673
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SelectableDirective, isStandalone: true, selector: "[kendoTreeListSelectable]", inputs: { selectable: "selectable", selectedItems: "selectedItems", itemKey: "itemKey", columnKey: "columnKey" }, outputs: { selectedItemsChange: "selectedItemsChange" }, exportAs: ["kendoTreeListSelectable"], ngImport: i0 });
18674
- }
18675
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectableDirective, decorators: [{
18676
- type: Directive,
18677
- args: [{
18678
- exportAs: 'kendoTreeListSelectable',
18679
- selector: '[kendoTreeListSelectable]',
18680
- standalone: true
18681
- }]
18682
- }], ctorParameters: function () { return [{ type: TreeListComponent }]; }, propDecorators: { selectable: [{
18683
- type: Input
18684
- }], selectedItems: [{
18685
- type: Input
18686
- }], selectedItemsChange: [{
18687
- type: Output
18688
- }], itemKey: [{
18689
- type: Input
18690
- }], columnKey: [{
18691
- type: Input
18692
- }] } });
18693
-
18694
18753
  /**
18695
18754
  * Represents the Kendo UI TreeListSpacer component for Angular.
18696
18755
  * Used to give additional white space between the Pager inner elements,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-treelist",
3
- "version": "17.0.2-develop.4",
3
+ "version": "17.0.2-develop.6",
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",
@@ -31,25 +31,25 @@
31
31
  "@progress/kendo-data-query": "^1.0.0",
32
32
  "@progress/kendo-drawing": "^1.21.0",
33
33
  "@progress/kendo-licensing": "^1.0.2",
34
- "@progress/kendo-angular-buttons": "17.0.2-develop.4",
35
- "@progress/kendo-angular-common": "17.0.2-develop.4",
36
- "@progress/kendo-angular-dateinputs": "17.0.2-develop.4",
37
- "@progress/kendo-angular-dropdowns": "17.0.2-develop.4",
38
- "@progress/kendo-angular-excel-export": "17.0.2-develop.4",
39
- "@progress/kendo-angular-icons": "17.0.2-develop.4",
40
- "@progress/kendo-angular-inputs": "17.0.2-develop.4",
41
- "@progress/kendo-angular-intl": "17.0.2-develop.4",
42
- "@progress/kendo-angular-l10n": "17.0.2-develop.4",
43
- "@progress/kendo-angular-label": "17.0.2-develop.4",
44
- "@progress/kendo-angular-pdf-export": "17.0.2-develop.4",
45
- "@progress/kendo-angular-popup": "17.0.2-develop.4",
46
- "@progress/kendo-angular-toolbar": "17.0.2-develop.4",
47
- "@progress/kendo-angular-utils": "17.0.2-develop.4",
34
+ "@progress/kendo-angular-buttons": "17.0.2-develop.6",
35
+ "@progress/kendo-angular-common": "17.0.2-develop.6",
36
+ "@progress/kendo-angular-dateinputs": "17.0.2-develop.6",
37
+ "@progress/kendo-angular-dropdowns": "17.0.2-develop.6",
38
+ "@progress/kendo-angular-excel-export": "17.0.2-develop.6",
39
+ "@progress/kendo-angular-icons": "17.0.2-develop.6",
40
+ "@progress/kendo-angular-inputs": "17.0.2-develop.6",
41
+ "@progress/kendo-angular-intl": "17.0.2-develop.6",
42
+ "@progress/kendo-angular-l10n": "17.0.2-develop.6",
43
+ "@progress/kendo-angular-label": "17.0.2-develop.6",
44
+ "@progress/kendo-angular-pdf-export": "17.0.2-develop.6",
45
+ "@progress/kendo-angular-popup": "17.0.2-develop.6",
46
+ "@progress/kendo-angular-toolbar": "17.0.2-develop.6",
47
+ "@progress/kendo-angular-utils": "17.0.2-develop.6",
48
48
  "rxjs": "^6.5.3 || ^7.0.0"
49
49
  },
50
50
  "dependencies": {
51
51
  "tslib": "^2.3.1",
52
- "@progress/kendo-angular-schematics": "17.0.2-develop.4",
52
+ "@progress/kendo-angular-schematics": "17.0.2-develop.6",
53
53
  "@progress/kendo-common": "^1.0.1",
54
54
  "@progress/kendo-file-saver": "^1.0.0"
55
55
  },
@@ -0,0 +1,20 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy, Renderer2 } from '@angular/core';
6
+ import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
7
+ import { SelectionService } from '../../selection/selection.service';
8
+ import { SelectableDirective } from '../../selection/selectable.directive';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * @hidden
12
+ */
13
+ export declare class TreeListSelectAllCheckboxDirective implements OnDestroy {
14
+ private sub;
15
+ private setState;
16
+ constructor(host: CheckBoxComponent, hostEl: ElementRef, selectionService: SelectionService, selectableDirective: SelectableDirective, cdr: ChangeDetectorRef, zone: NgZone, renderer: Renderer2);
17
+ ngOnDestroy(): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeListSelectAllCheckboxDirective, never>;
19
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TreeListSelectAllCheckboxDirective, "[kendoTreeListSelectAllCheckbox]", never, {}, {}, never, never, true, never>;
20
+ }
@@ -4,13 +4,13 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'TreeListModule', package: 'treelist', peerDependencies: {
6
6
  // peer dep of the dropdowns
7
- '@progress/kendo-angular-treeview': '17.0.2-develop.4',
7
+ '@progress/kendo-angular-treeview': '17.0.2-develop.6',
8
8
  // peer dependency of kendo-angular-inputs
9
- '@progress/kendo-angular-dialog': '17.0.2-develop.4',
9
+ '@progress/kendo-angular-dialog': '17.0.2-develop.6',
10
10
  // peer dependency of kendo-angular-icons
11
11
  '@progress/kendo-svg-icons': '^4.0.0',
12
12
  // peer dependency of kendo-angular-dateinputs
13
- '@progress/kendo-angular-navigation': '17.0.2-develop.4',
13
+ '@progress/kendo-angular-navigation': '17.0.2-develop.6',
14
14
  } });
15
15
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
16
16
  }
@@ -43,6 +43,10 @@ export declare class SelectableDirective implements OnDestroy {
43
43
  * The field name or a function that specify the columns key.
44
44
  */
45
45
  set columnKey(value: string | ((column: any, columnIndex: number) => any));
46
+ /**
47
+ * @hidden
48
+ */
49
+ get stateArray(): any[];
46
50
  protected get keyGetter(): any;
47
51
  protected get columnKeyGetter(): any;
48
52
  protected subscriptions: any;