fix bugs.
This commit is contained in:
parent
451190c7fc
commit
9357ee9787
|
@ -637,6 +637,8 @@ function extraNetworksBtnDirsViewItemOnClick(event, tabname_full) {
|
|||
).forEach(elem => {
|
||||
delete elem.dataset.selected;
|
||||
});
|
||||
// deselect tree view rows
|
||||
tab.tree_list.onRowSelected(); // empty params deselects all rows.
|
||||
};
|
||||
|
||||
const _select_button = (elem) => {
|
||||
|
@ -648,15 +650,15 @@ function extraNetworksBtnDirsViewItemOnClick(event, tabname_full) {
|
|||
// Select the corresponding tree view button.
|
||||
if ("selected" in elem.dataset) {
|
||||
const tree_row = tab.container_elem.querySelector(`.tree-list-item[data-path="${elem.textContent.trim()}"]`);
|
||||
if (isElement(tree_row)) {
|
||||
tab.tree_list.onRowSelected(tree_row.dataset.divId, tree_row);
|
||||
}
|
||||
tab.tree_list.onRowSelected(tree_row.dataset.divId, tree_row);
|
||||
}
|
||||
};
|
||||
|
||||
const _deselect_button = (elem) => {
|
||||
delete elem.dataset.selected;
|
||||
txt_search_elem.value = "";
|
||||
// deselect tree view rows
|
||||
tab.tree_list.onRowSelected(); // empty params deselects all rows.
|
||||
};
|
||||
|
||||
if ("selected" in event.target.dataset) {
|
||||
|
|
|
@ -244,9 +244,6 @@ class ExtraNetworksClusterizeTreeList extends ExtraNetworksClusterize {
|
|||
|
||||
#setVisibility(div_id, visible) {
|
||||
/** Recursively sets the visibility of a div_id and its children. */
|
||||
if (!visible && this.selected_div_id === div_id) {
|
||||
this.selected_div_id = null;
|
||||
}
|
||||
const this_obj = this.data_obj[div_id];
|
||||
this_obj.visible = visible;
|
||||
for (const child_id of this_obj.children) {
|
||||
|
@ -255,7 +252,19 @@ class ExtraNetworksClusterizeTreeList extends ExtraNetworksClusterize {
|
|||
}
|
||||
|
||||
onRowSelected(div_id, elem, override) {
|
||||
/** Selects a row and deselects all others. */
|
||||
/** Selects a row and deselects all others.
|
||||
*
|
||||
* If both `div_id` and `elem` are null/undefined, then we deselect all rows.
|
||||
* `override` allows us to manually set the new state instead of toggling.
|
||||
*/
|
||||
if (isNullOrUndefined(div_id) && isNullOrUndefined(elem)) {
|
||||
if (!isNullOrUndefined(this.selected_div_id) && keyExistsLogError(this.data_obj, this.selected_div_id)) {
|
||||
this.data_obj[this.selected_div_id].selected = false;
|
||||
this.selected_div_id = null;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isElementLogError(elem)) {
|
||||
return;
|
||||
}
|
||||
|
@ -373,9 +382,13 @@ class ExtraNetworksClusterizeTreeList extends ExtraNetworksClusterize {
|
|||
if (this.data_obj[div_id].expanded) {
|
||||
parsed_html.dataset.expanded = "";
|
||||
}
|
||||
|
||||
// Only allow one item to have `data-selected`.
|
||||
delete parsed_html.dataset.selected;
|
||||
if (div_id === this.selected_div_id) {
|
||||
parsed_html.dataset.selected = "";
|
||||
}
|
||||
|
||||
res.push(parsed_html.outerHTML);
|
||||
this.lru.set(String(div_id), parsed_html);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue