@progress/kendo-angular-treelist 24.0.2-develop.5 → 24.0.3-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.
@@ -49,8 +49,8 @@ const packageMetadata = {
49
49
  productName: 'Kendo UI for Angular',
50
50
  productCode: 'KENDOUIANGULAR',
51
51
  productCodes: ['KENDOUIANGULAR'],
52
- publishDate: 1779872173,
53
- version: '24.0.2-develop.5',
52
+ publishDate: 1779975717,
53
+ version: '24.0.3-develop.1',
54
54
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
55
55
  };
56
56
 
@@ -4406,14 +4406,16 @@ class SelectionService {
4406
4406
  else {
4407
4407
  this.click(args, true);
4408
4408
  }
4409
+ this.updateSelectAllState();
4409
4410
  }
4410
- toggleAll(select) {
4411
+ toggleAll(select, checkChildren) {
4411
4412
  ViewCollection.loadView({
4412
4413
  fields: Object.assign({}, this.view.fieldAccessor(), {
4413
4414
  hasFooter: false,
4414
4415
  pageable: false,
4415
4416
  isVirtual: false
4416
4417
  }),
4418
+ ...(checkChildren === false && { expandState: this.view.expandState }),
4417
4419
  loaded: this.view.loaded,
4418
4420
  selectionState: this.view.selectionState
4419
4421
  }).subscribe(view => {
@@ -4473,6 +4475,26 @@ class SelectionService {
4473
4475
  });
4474
4476
  return result;
4475
4477
  }
4478
+ updateSelectAllState() {
4479
+ const selectedItems = this.view.data.filter(item => Boolean(item.selected)).map(item => ({
4480
+ dataItem: item.data
4481
+ }));
4482
+ if (selectedItems.length < this.view.data.length && selectedItems.length > 0) {
4483
+ this.selectAllCheckedState = 'indeterminate';
4484
+ }
4485
+ else if (selectedItems.length === this.view.data.length && selectedItems.length > 0) {
4486
+ if (this.view.data.some(i => i.hasChildren && i.loading)) {
4487
+ this.selectAllCheckedState = 'indeterminate';
4488
+ }
4489
+ else {
4490
+ this.selectAllCheckedState = true;
4491
+ }
4492
+ }
4493
+ else {
4494
+ this.selectAllCheckedState = false;
4495
+ }
4496
+ this.selectAllCheckedStateChange.next(this.selectAllCheckedState);
4497
+ }
4476
4498
  rowSelected(dataItem) {
4477
4499
  return this.isSelected(dataItem);
4478
4500
  }
@@ -8115,10 +8137,18 @@ class ListComponent {
8115
8137
  this.subscriptions.add(this.ngZone.runOutsideAngular(this.handleRowNavigationLocked.bind(this)));
8116
8138
  this.subscriptions.add(merge(this.columns.changes, this.resizeService.changes).subscribe(() => {
8117
8139
  if (this.virtualColumns) {
8118
- this.ngZone.run(() => {
8119
- this.updateViewportColumns();
8120
- this.changeDetector.markForCheck();
8121
- });
8140
+ if (isPresent(this.lockedContainer)) {
8141
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
8142
+ this.updateViewportColumns();
8143
+ this.changeDetector.markForCheck();
8144
+ });
8145
+ }
8146
+ else {
8147
+ this.ngZone.run(() => {
8148
+ this.updateViewportColumns();
8149
+ this.changeDetector.markForCheck();
8150
+ });
8151
+ }
8122
8152
  }
8123
8153
  }));
8124
8154
  this.subscriptions.add(this.localization.changes.subscribe(({ rtl }) => this.rtl = rtl));
@@ -15524,8 +15554,8 @@ class HeaderComponent {
15524
15554
  return column.isCheckboxColumn && column.showSelectAll && !column.headerTemplateRef &&
15525
15555
  this.selectionService.enableMultiple;
15526
15556
  }
15527
- selectAllChange(state) {
15528
- this.selectionService.toggleAll(state);
15557
+ selectAllChange(state, checkChildren) {
15558
+ this.selectionService.toggleAll(state, checkChildren);
15529
15559
  }
15530
15560
  sortDescriptor(field) {
15531
15561
  return this.sort.find(item => item.field === field) || { field };
@@ -15747,7 +15777,7 @@ class HeaderComponent {
15747
15777
  [inputAttributes]="{'aria-label': messageFor('selectAllRowsCheckboxLabel')}"
15748
15778
  kendoTreeListSelectAllCheckbox
15749
15779
  kendoTreeListFocusable
15750
- (checkedStateChange)="selectAllChange($event)"
15780
+ (checkedStateChange)="selectAllChange($event, $any(column).checkChildren)"
15751
15781
  ></kendo-checkbox>
15752
15782
  }
15753
15783
  @if (isCheckboxColumn(column) && !column.title && !column.headerTemplateRef && !$any(column).showSelectAll) {
@@ -15986,7 +16016,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
15986
16016
  [inputAttributes]="{'aria-label': messageFor('selectAllRowsCheckboxLabel')}"
15987
16017
  kendoTreeListSelectAllCheckbox
15988
16018
  kendoTreeListFocusable
15989
- (checkedStateChange)="selectAllChange($event)"
16019
+ (checkedStateChange)="selectAllChange($event, $any(column).checkChildren)"
15990
16020
  ></kendo-checkbox>
15991
16021
  }
15992
16022
  @if (isCheckboxColumn(column) && !column.title && !column.headerTemplateRef && !$any(column).showSelectAll) {
@@ -17601,6 +17631,7 @@ class TreeListComponent {
17601
17631
  this.ngZone.onStable.pipe(take(1)).subscribe(() => this.changeNotification.notify());
17602
17632
  }
17603
17633
  this.expandStateChange.emit(args);
17634
+ this.selectionService.updateSelectAllState();
17604
17635
  }
17605
17636
  if (this.rowReorderable) {
17606
17637
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1779872173,
11
- "version": "24.0.2-develop.5",
10
+ "publishDate": 1779975717,
11
+ "version": "24.0.3-develop.1",
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": "24.0.2-develop.5",
3
+ "version": "24.0.3-develop.1",
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",
@@ -39,7 +39,7 @@
39
39
  "package": {
40
40
  "productName": "Kendo UI for Angular",
41
41
  "productCode": "KENDOUIANGULAR",
42
- "publishDate": 1779872173,
42
+ "publishDate": 1779975717,
43
43
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
44
44
  }
45
45
  },
@@ -52,26 +52,26 @@
52
52
  "@progress/kendo-data-query": "^1.7.3",
53
53
  "@progress/kendo-drawing": "^1.25.0",
54
54
  "@progress/kendo-licensing": "^1.11.0",
55
- "@progress/kendo-angular-buttons": "24.0.2-develop.5",
56
- "@progress/kendo-angular-common": "24.0.2-develop.5",
57
- "@progress/kendo-angular-dateinputs": "24.0.2-develop.5",
58
- "@progress/kendo-angular-dropdowns": "24.0.2-develop.5",
59
- "@progress/kendo-angular-excel-export": "24.0.2-develop.5",
60
- "@progress/kendo-angular-icons": "24.0.2-develop.5",
61
- "@progress/kendo-angular-inputs": "24.0.2-develop.5",
62
- "@progress/kendo-angular-intl": "24.0.2-develop.5",
63
- "@progress/kendo-angular-l10n": "24.0.2-develop.5",
64
- "@progress/kendo-angular-label": "24.0.2-develop.5",
65
- "@progress/kendo-angular-pager": "24.0.2-develop.5",
66
- "@progress/kendo-angular-pdf-export": "24.0.2-develop.5",
67
- "@progress/kendo-angular-popup": "24.0.2-develop.5",
68
- "@progress/kendo-angular-toolbar": "24.0.2-develop.5",
69
- "@progress/kendo-angular-utils": "24.0.2-develop.5",
55
+ "@progress/kendo-angular-buttons": "24.0.3-develop.1",
56
+ "@progress/kendo-angular-common": "24.0.3-develop.1",
57
+ "@progress/kendo-angular-dateinputs": "24.0.3-develop.1",
58
+ "@progress/kendo-angular-dropdowns": "24.0.3-develop.1",
59
+ "@progress/kendo-angular-excel-export": "24.0.3-develop.1",
60
+ "@progress/kendo-angular-icons": "24.0.3-develop.1",
61
+ "@progress/kendo-angular-inputs": "24.0.3-develop.1",
62
+ "@progress/kendo-angular-intl": "24.0.3-develop.1",
63
+ "@progress/kendo-angular-l10n": "24.0.3-develop.1",
64
+ "@progress/kendo-angular-label": "24.0.3-develop.1",
65
+ "@progress/kendo-angular-pager": "24.0.3-develop.1",
66
+ "@progress/kendo-angular-pdf-export": "24.0.3-develop.1",
67
+ "@progress/kendo-angular-popup": "24.0.3-develop.1",
68
+ "@progress/kendo-angular-toolbar": "24.0.3-develop.1",
69
+ "@progress/kendo-angular-utils": "24.0.3-develop.1",
70
70
  "rxjs": "^6.5.3 || ^7.0.0"
71
71
  },
72
72
  "dependencies": {
73
73
  "tslib": "^2.3.1",
74
- "@progress/kendo-angular-schematics": "24.0.2-develop.5",
74
+ "@progress/kendo-angular-schematics": "24.0.3-develop.1",
75
75
  "@progress/kendo-common": "^1.0.1",
76
76
  "@progress/kendo-file-saver": "^1.0.0"
77
77
  },
@@ -122,7 +122,7 @@ export declare class HeaderComponent implements AfterViewInit, OnInit, OnChanges
122
122
  isColumnGroupComponent(column: ColumnBase): boolean;
123
123
  get columnLevels(): Array<number>;
124
124
  renderSelectAll(column: any): boolean;
125
- selectAllChange(state: any): void;
125
+ selectAllChange(state: any, checkChildren?: boolean): void;
126
126
  sortDescriptor(field: string): SortDescriptor;
127
127
  get leafColumns(): ColumnBase[];
128
128
  messageFor(token: string): string;
@@ -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': '24.0.2-develop.5',
12
+ '@progress/kendo-angular-treeview': '24.0.3-develop.1',
13
13
  // peer dependency of kendo-angular-inputs
14
- '@progress/kendo-angular-dialog': '24.0.2-develop.5',
14
+ '@progress/kendo-angular-dialog': '24.0.3-develop.1',
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': '24.0.2-develop.5',
18
+ '@progress/kendo-angular-navigation': '24.0.3-develop.1',
19
19
  } });
20
20
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
21
21
  }
@@ -39,11 +39,12 @@ export declare class SelectionService {
39
39
  unregisterTable(table: any): void;
40
40
  click(args: any, toggle?: boolean): void;
41
41
  checkboxClick(args: any): void;
42
- toggleAll(select: boolean): void;
42
+ toggleAll(select: boolean, checkChildren?: boolean): void;
43
43
  selectRange(firstPoint: any, secondPoint: any, shiftKey?: boolean): void;
44
44
  rangeItems(firstPoint: any, secondPoint: any): any[];
45
45
  updateSelectedState(): void;
46
46
  targetArgs(target: any, skipFocusable?: boolean): any;
47
+ updateSelectAllState(): void;
47
48
  protected rowSelected(dataItem: any): boolean;
48
49
  protected cellSelected(dataItem: any, column: any, columnIndex: any): boolean;
49
50
  protected get leafColumns(): any[];