Skip to content

Commit a313750

Browse files
committed
feat(cdk/tree): implement aria-posinset and aria-setsize
1 parent a1e3d51 commit a313750

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/cdk/tree/tree.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,16 @@ export class CdkTree<T, K = T> implements AfterContentChecked, CollectionViewer,
511511
return this.treeControl?.getChildren ?? this.childrenAccessor;
512512
}
513513

514+
_getPositionInSet(dataNode: T) {
515+
const group = this._getNodeGroup(dataNode);
516+
return group.indexOf(dataNode) + 1;
517+
}
518+
519+
_getSetSize(dataNode: T) {
520+
const group = this._getNodeGroup(dataNode);
521+
return group.length;
522+
}
523+
514524
private _getAllDescendants(): Observable<T[]> {
515525
return merge(...(this._dataNodes?.map(dataNode => this._getDescendants(dataNode)) ?? []));
516526
}
@@ -684,11 +694,11 @@ export class CdkTreeNode<T, K = T> implements FocusableOption, OnDestroy, OnInit
684694
}
685695

686696
_getSetSize(): number {
687-
return 0;
697+
return this._tree._getSetSize(this._data);
688698
}
689699

690700
_getPositionInSet(): number {
691-
return 0;
701+
return this._tree._getPositionInSet(this._data);
692702
}
693703

694704
constructor(protected _elementRef: ElementRef<HTMLElement>, protected _tree: CdkTree<T, K>) {

0 commit comments

Comments
 (0)