aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2024-02-02 19:30:59 +0300
committerAUTOMATIC1111 <16777216c@gmail.com>2024-02-02 19:30:59 +0300
commit5904e3f6b3d4bb71ccca8a5f3eb0fd8f1514265e (patch)
tree8d1f4c892b2c3031d3655979af79f6f9a5b16df1
parent26003706593786d4e17b71139967ded109c3b7b3 (diff)
fix page refresh not re-applying sort/filter for #14588
fix path sortkey not including the filename for #14588
-rw-r--r--javascript/extraNetworks.js2
-rw-r--r--modules/ui_extra_networks.py23
2 files changed, 12 insertions, 13 deletions
diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js
index 4ef1a96f..f96af447 100644
--- a/javascript/extraNetworks.js
+++ b/javascript/extraNetworks.js
@@ -450,7 +450,7 @@ function extraNetworksControlRefreshOnClick(event, tabname, extra_networks_tabna
* @param tabname The name of the active tab in the sd webui. Ex: txt2img, img2img, etc.
* @param extra_networks_tabname The id of the active extraNetworks tab. Ex: lora, checkpoints, etc.
*/
- var btn_refresh_internal = gradioApp().getElementById(tabname + "_extra_refresh_internal");
+ var btn_refresh_internal = gradioApp().getElementById(tabname + "_" + extra_networks_tabname + "_extra_refresh_internal");
btn_refresh_internal.dispatchEvent(new Event("click"));
}
diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py
index 58981daf..8f383937 100644
--- a/modules/ui_extra_networks.py
+++ b/modules/ui_extra_networks.py
@@ -559,7 +559,7 @@ class ExtraNetworksPage:
"date_created": int(mtime),
"date_modified": int(ctime),
"name": pth.name.lower(),
- "path": str(pth.parent).lower(),
+ "path": str(pth).lower(),
}
def find_preview(self, path):
@@ -638,6 +638,7 @@ def pages_in_preferred_order(pages):
return sorted(pages, key=lambda x: tab_scores[x.name])
+
def create_ui(interface: gr.Blocks, unrelated_tabs, tabname):
ui = ExtraNetworksUi()
ui.pages = []
@@ -648,8 +649,6 @@ def create_ui(interface: gr.Blocks, unrelated_tabs, tabname):
related_tabs = []
- button_refresh = gr.Button("Refresh", elem_id=f"{tabname}_extra_refresh_internal", visible=False)
-
for page in ui.stored_extra_pages:
with gr.Tab(page.title, elem_id=f"{tabname}_{page.extra_networks_tabname}", elem_classes=["extra-page"]) as tab:
with gr.Column(elem_id=f"{tabname}_{page.extra_networks_tabname}_prompts", elem_classes=["extra-page-prompts"]):
@@ -678,6 +677,15 @@ def create_ui(interface: gr.Blocks, unrelated_tabs, tabname):
)
tab.select(fn=None, _js=jscode, inputs=[], outputs=[], show_progress=False)
+ def refresh():
+ for pg in ui.stored_extra_pages:
+ pg.refresh()
+ create_html()
+ return ui.pages_contents
+
+ button_refresh = gr.Button("Refresh", elem_id=f"{tabname}_{page.extra_networks_tabname}_extra_refresh_internal", visible=False)
+ button_refresh.click(fn=refresh, inputs=[], outputs=ui.pages).then(fn=lambda: None, _js="function(){ " + f"applyExtraNetworkFilter('{tabname}_{page.extra_networks_tabname}');" + " }")
+
def create_html():
ui.pages_contents = [pg.create_html(ui.tabname) for pg in ui.stored_extra_pages]
@@ -686,16 +694,7 @@ def create_ui(interface: gr.Blocks, unrelated_tabs, tabname):
create_html()
return ui.pages_contents
- def refresh():
- for pg in ui.stored_extra_pages:
- pg.refresh()
- create_html()
- return ui.pages_contents
-
interface.load(fn=pages_html, inputs=[], outputs=ui.pages)
- # NOTE: Event is manually fired in extraNetworks.js:extraNetworksTreeRefreshOnClick()
- # button is unused and hidden at all times. Only used in order to fire this event.
- button_refresh.click(fn=refresh, inputs=[], outputs=ui.pages)
return ui