mirror of
https://github.com/shoelace-style/webawesome.git
synced 2026-01-12 04:09:12 +00:00
fix types
This commit is contained in:
@@ -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}>
|
||||
|
||||
Reference in New Issue
Block a user