@angular/cdk 19.0.4 → 19.0.5

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/fesm2022/tree.mjs CHANGED
@@ -783,8 +783,7 @@ class CdkTree {
783
783
  this.treeControl.expandAll();
784
784
  }
785
785
  else if (this._expansionModel) {
786
- const expansionModel = this._expansionModel;
787
- expansionModel.select(...this._flattenedNodes.value.map(child => this._getExpansionKey(child)));
786
+ this._forEachExpansionKey(keys => this._expansionModel?.select(...keys));
788
787
  }
789
788
  }
790
789
  /** Collapse all data nodes in the tree. */
@@ -793,8 +792,7 @@ class CdkTree {
793
792
  this.treeControl.collapseAll();
794
793
  }
795
794
  else if (this._expansionModel) {
796
- const expansionModel = this._expansionModel;
797
- expansionModel.deselect(...this._flattenedNodes.value.map(child => this._getExpansionKey(child)));
795
+ this._forEachExpansionKey(keys => this._expansionModel?.deselect(...keys));
798
796
  }
799
797
  }
800
798
  /** Level accessor, used for compatibility between the old Tree and new Tree */
@@ -1128,6 +1126,26 @@ class CdkTree {
1128
1126
  this._ariaSets.set(parentKey, group);
1129
1127
  }
1130
1128
  }
1129
+ /** Invokes a callback with all node expansion keys. */
1130
+ _forEachExpansionKey(callback) {
1131
+ const toToggle = [];
1132
+ const observables = [];
1133
+ this._nodes.value.forEach(node => {
1134
+ toToggle.push(this._getExpansionKey(node.data));
1135
+ observables.push(this._getDescendants(node.data));
1136
+ });
1137
+ if (observables.length > 0) {
1138
+ combineLatest(observables)
1139
+ .pipe(take(1), takeUntil(this._onDestroy))
1140
+ .subscribe(results => {
1141
+ results.forEach(inner => inner.forEach(r => toToggle.push(this._getExpansionKey(r))));
1142
+ callback(toToggle);
1143
+ });
1144
+ }
1145
+ else {
1146
+ callback(toToggle);
1147
+ }
1148
+ }
1131
1149
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: CdkTree, deps: [], target: i0.ɵɵFactoryTarget.Component });
1132
1150
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0", type: CdkTree, isStandalone: true, selector: "cdk-tree", inputs: { dataSource: "dataSource", treeControl: "treeControl", levelAccessor: "levelAccessor", childrenAccessor: "childrenAccessor", trackBy: "trackBy", expansionKey: "expansionKey" }, host: { attributes: { "role": "tree" }, listeners: { "keydown": "_sendKeydownToKeyManager($event)" }, classAttribute: "cdk-tree" }, queries: [{ propertyName: "_nodeDefs", predicate: CdkTreeNodeDef, descendants: true }], viewQueries: [{ propertyName: "_nodeOutlet", first: true, predicate: CdkTreeNodeOutlet, descendants: true, static: true }], exportAs: ["cdkTree"], ngImport: i0, template: `<ng-container cdkTreeNodeOutlet></ng-container>`, isInline: true, dependencies: [{ kind: "directive", type: CdkTreeNodeOutlet, selector: "[cdkTreeNodeOutlet]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1133
1151
  }