fix types

This commit is contained in:
Cory LaViska
2023-01-13 14:22:06 -05:00
parent ac429a62c0
commit f665bf984b

View File

@@ -218,36 +218,10 @@ export default class SlTree extends ShoelaceElement {
}
}
// Returns the list of tree items that are selected in the tree.
private get selectedItems(): SlTreeItem[] {
const items = this.getAllTreeItems();
const isSelected = (item: SlTreeItem) => item.selected;
return items.filter(isSelected);
}
private getAllTreeItems() {
return [...this.querySelectorAll<SlTreeItem>('sl-tree-item')];
}
private getFocusableItems() {
const items = this.getAllTreeItems();
const collapsedItems = new Set();
return items.filter(item => {
// Exclude disabled elements
if (item.disabled) return false;
// Exclude those whose parent is collapsed or loading
const parent: SlTreeItem | null | undefined = item.parentElement?.closest('[role=treeitem]');
if (parent && (!parent.expanded || parent.loading || collapsedItems.has(parent))) {
collapsedItems.add(item);
}
return !collapsedItems.has(item);
});
}
private focusItem(item?: SlTreeItem | null) {
item?.focus();
}
@@ -389,6 +363,33 @@ export default class SlTree extends ShoelaceElement {
}
}
/** @internal Returns the list of tree items that are selected in the tree. */
get selectedItems(): SlTreeItem[] {
const items = this.getAllTreeItems();
const isSelected = (item: SlTreeItem) => item.selected;
return items.filter(isSelected);
}
/** @internal Gets focusable tree items in the tree. */
getFocusableItems() {
const items = this.getAllTreeItems();
const collapsedItems = new Set();
return items.filter(item => {
// Exclude disabled elements
if (item.disabled) return false;
// Exclude those whose parent is collapsed or loading
const parent: SlTreeItem | null | undefined = item.parentElement?.closest('[role=treeitem]');
if (parent && (!parent.expanded || parent.loading || collapsedItems.has(parent))) {
collapsedItems.add(item);
}
return !collapsedItems.has(item);
});
}
render() {
return html`
<div part="base" class="tree" @click=${this.handleClick} @keydown=${this.handleKeyDown}>