mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2026-02-02 22:02:50 -08:00
Fix more bugs
This commit is contained in:
parent
b5271fb9f8
commit
c550bcce44
2 changed files with 24 additions and 20 deletions
|
|
@ -1013,24 +1013,22 @@ function extraNetworksTreeFileOnClick(event, btn, tabname_full) {
|
|||
|
||||
async function extraNetworksTreeDirectoryOnClick(event, btn, tabname_full) {
|
||||
const div_id = btn.dataset.divId;
|
||||
|
||||
const tab = extra_networks_tabs[tabname_full];
|
||||
|
||||
if (event.target.matches(".tree-list-item-action--leading .tree-list-item-action-chevron")) {
|
||||
// If user clicks on the chevron, then we do not select the folder.
|
||||
await tab.tree_list.onRowExpandClick(div_id, btn);
|
||||
tab.setDirectoryButtons();
|
||||
return;
|
||||
} else if (event.target.matches(".tree-list-item-action--trailing .tree-list-item-action-expand")) {
|
||||
await tab.tree_list.onExpandAllClick(div_id);
|
||||
tab.setDirectoryButtons();
|
||||
} else if (event.target.matches(".tree-list-item-action--trailing .tree-list-item-action-collapse")) {
|
||||
await tab.tree_list.onCollapseAllClick(div_id);
|
||||
tab.setDirectoryButtons();
|
||||
} else {
|
||||
// user clicked anywhere else on the row
|
||||
// No action items were clicked. Select the row.
|
||||
await tab.tree_list.onRowSelected(div_id, btn);
|
||||
tab.setDirectoryButtons(btn);
|
||||
}
|
||||
|
||||
tab.setDirectoryButtons(btn);
|
||||
}
|
||||
|
||||
function extraNetworksTreeOnClick(event, tabname_full) {
|
||||
|
|
|
|||
|
|
@ -260,18 +260,6 @@ class ExtraNetworksClusterizeTreeList extends ExtraNetworksClusterize {
|
|||
return res;
|
||||
}
|
||||
|
||||
#setVisibility(div_id, visible) {
|
||||
/** Recursively sets the visibility of a div_id and its children. */
|
||||
const this_obj = this.data_obj[div_id];
|
||||
this_obj.visible = visible;
|
||||
if (!visible && div_id === this.selected_div_id) {
|
||||
this.selected_div_id = null;
|
||||
}
|
||||
for (const child_id of this_obj.children) {
|
||||
this.#setVisibility(child_id, visible && this_obj.expanded);
|
||||
}
|
||||
}
|
||||
|
||||
onRowSelected(div_id, elem, override) {
|
||||
/** Selects a row and deselects all others.
|
||||
*
|
||||
|
|
@ -388,6 +376,12 @@ class ExtraNetworksClusterizeTreeList extends ExtraNetworksClusterize {
|
|||
_collapse(child_id);
|
||||
}
|
||||
|
||||
// Deselect current selected div id if it was just hidden.
|
||||
if (!isNullOrUndefined(this.selected_div_id) && !this.data_obj[this.selected_div_id].visible) {
|
||||
this.selected_div_id = null;
|
||||
}
|
||||
|
||||
|
||||
const new_len = Object.values(this.data_obj).filter(v => v.visible).length;
|
||||
await this.setMaxItems(new_len);
|
||||
await this.refresh(true);
|
||||
|
|
@ -403,9 +397,21 @@ class ExtraNetworksClusterizeTreeList extends ExtraNetworksClusterize {
|
|||
// Toggle state
|
||||
this.data_obj[div_id].expanded = !this.data_obj[div_id].expanded;
|
||||
|
||||
const visible = this.data_obj[div_id].expanded;
|
||||
const _set_visibility = (parent_id, visible) => {
|
||||
const this_obj = this.data_obj[parent_id];
|
||||
this_obj.visible = visible;
|
||||
for (const child_id of this_obj.children) {
|
||||
_set_visibility(child_id, visible && this_obj.expanded);
|
||||
}
|
||||
};
|
||||
|
||||
for (const child_id of this.data_obj[div_id].children) {
|
||||
this.#setVisibility(child_id, visible);
|
||||
_set_visibility(child_id, this.data_obj[div_id].expanded);
|
||||
}
|
||||
|
||||
// Deselect current selected div id if it was just hidden.
|
||||
if (!isNullOrUndefined(this.selected_div_id) && !this.data_obj[this.selected_div_id].visible) {
|
||||
this.selected_div_id = null;
|
||||
}
|
||||
|
||||
const new_len = Object.values(this.data_obj).filter(v => v.visible).length;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue