kopia lustrzana https://github.com/shoelace-style/shoelace
unset last focused item; #1436
rodzic
e1ca7d1f59
commit
23b1fb8984
|
@ -87,7 +87,7 @@ export default class SlTree extends ShoelaceElement {
|
||||||
// A collection of all the items in the tree, in the order they appear. The collection is live, meaning it is
|
// A collection of all the items in the tree, in the order they appear. The collection is live, meaning it is
|
||||||
// automatically updated when the underlying document is changed.
|
// automatically updated when the underlying document is changed.
|
||||||
//
|
//
|
||||||
private lastFocusedItem: SlTreeItem;
|
private lastFocusedItem: SlTreeItem | null;
|
||||||
private readonly localize = new LocalizeController(this);
|
private readonly localize = new LocalizeController(this);
|
||||||
private mutationObserver: MutationObserver;
|
private mutationObserver: MutationObserver;
|
||||||
private clickTarget: SlTreeItem | null = null;
|
private clickTarget: SlTreeItem | null = null;
|
||||||
|
@ -159,8 +159,13 @@ export default class SlTree extends ShoelaceElement {
|
||||||
private handleTreeChanged = (mutations: MutationRecord[]) => {
|
private handleTreeChanged = (mutations: MutationRecord[]) => {
|
||||||
for (const mutation of mutations) {
|
for (const mutation of mutations) {
|
||||||
const addedNodes: SlTreeItem[] = [...mutation.addedNodes].filter(SlTreeItem.isTreeItem) as SlTreeItem[];
|
const addedNodes: SlTreeItem[] = [...mutation.addedNodes].filter(SlTreeItem.isTreeItem) as SlTreeItem[];
|
||||||
|
const removedNodes = [...mutation.removedNodes].filter(SlTreeItem.isTreeItem) as SlTreeItem[];
|
||||||
|
|
||||||
addedNodes.forEach(this.initTreeItem);
|
addedNodes.forEach(this.initTreeItem);
|
||||||
|
|
||||||
|
if (this.lastFocusedItem && removedNodes.includes(this.lastFocusedItem)) {
|
||||||
|
this.lastFocusedItem = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue