diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js index 27a456e64..6f1b4034e 100644 --- a/javascript/extraNetworks.js +++ b/javascript/extraNetworks.js @@ -58,7 +58,7 @@ const isFunctionLogError = x => { } console.error("expected function type, got:", typeof x); return false; -} +}; const getElementByIdLogError = selector => { let elem = gradioApp().getElementById(selector); @@ -222,7 +222,7 @@ function extraNetworksRefreshTab(tabname_full) { for (const _tabname_full of Object.keys(clusterizers)) { let selected = _tabname_full === tabname_full; extraNetworkClusterizersLoadTab({ - tabname_full:_tabname_full, + tabname_full: _tabname_full, selected: selected, fetch_data: true }); @@ -407,9 +407,9 @@ function extraNetworkClusterizersLoadTab({ tabname_full = "", selected = false, fetch_data = false, -}={}) { +} = {}) { /** Loads clusterize data for a tab. - * + * * Args: * tabname_full [str]: The clusterize tab to load. Does not need to be the active * tab however if it isn't the active tab then `selected` should be set to @@ -482,14 +482,14 @@ function extraNetworksAutoSetTreeWidth(pane) { function extraNetworksSetupEventDelegators() { /** Sets up event delegators for all extraNetworks tabs. - * + * * These event handlers are not tied to any specific elements on the page. * We do this because elements within each tab may be removed and replaced * which would break references to elements in DOM and thus prevent any event * listeners from firing. */ - window.addEventListener("resizeHandleDblClick", event => { + window.addEventListener("resizeHandleDblClick", event => { // See resizeHandle.js::onDoubleClick() for event detail. event.stopPropagation(); extraNetworksAutoSetTreeWidth(event.target.closest(".extra-network-pane")); @@ -515,7 +515,6 @@ function extraNetworksSetupEventDelegators() { search_input_debounce.call(target, tabname_full); } } - }); } @@ -578,7 +577,7 @@ function extraNetworksCardOnClick(event, tabname) { const elem = event.currentTarget; const prompt_elem = gradioApp().querySelector(`#${tabname}_prompt > label > textarea`); const neg_prompt_elem = gradioApp().querySelector(`#${tabname}_neg_prompt > label > textarea`); - if ("negPrompt" in elem.dataset){ + if ("negPrompt" in elem.dataset) { updatePromptArea(elem.dataset.prompt, prompt_elem); updatePromptArea(elem.dataset.negPrompt, neg_prompt_elem); } else if ("allowNeg" in elem.dataset) { diff --git a/javascript/extraNetworksClusterizeList.js b/javascript/extraNetworksClusterizeList.js index 7ae3a2aaf..a1cd92f78 100644 --- a/javascript/extraNetworksClusterizeList.js +++ b/javascript/extraNetworksClusterizeList.js @@ -8,6 +8,8 @@ isNullOrUndefinedLogError, isElement, isElementLogError, + isFunction, + isFunctionLogError, getElementByIdLogError, querySelectorLogError, waitForElement, @@ -979,7 +981,7 @@ class ExtraNetworksClusterizeCardsList extends ExtraNetworksClusterize { this.data_obj[k].active = visible; } - super.applyFilter() + super.applyFilter(); } getMaxRowWidth() { diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py index f87e620fc..85b8ee12e 100644 --- a/modules/ui_extra_networks.py +++ b/modules/ui_extra_networks.py @@ -281,7 +281,7 @@ class ExtraNetworksPage: tabname: str, label: str, btn_type: str, - data_attributes: dict = {}, + data_attributes: Optional[dict] = None, btn_title: Optional[str] = None, dir_is_empty: bool = False, item: Optional[dict] = None, @@ -289,7 +289,10 @@ class ExtraNetworksPage: ) -> str: if btn_type not in ["file", "dir"]: raise ValueError("Invalid button type:", btn_type) - + + if data_attributes is None: + data_attributes = {} + label = label.strip() # If not specified, title will just reflect the label btn_title = btn_title.strip() if btn_title else label @@ -697,8 +700,6 @@ class ExtraNetworksPage: "tree_view_style": f"flex-basis: {shared.opts.extra_networks_tree_view_default_width}px;", "cards_view_style": "flex-grow: 1;", "dirs_html": dirs_html, - - }) def create_item(self, name, index=None):