From 5904e3f6b3d4bb71ccca8a5f3eb0fd8f1514265e Mon Sep 17 00:00:00 2001 From: AUTOMATIC1111 <16777216c@gmail.com> Date: Fri, 2 Feb 2024 19:30:59 +0300 Subject: fix page refresh not re-applying sort/filter for #14588 fix path sortkey not including the filename for #14588 --- javascript/extraNetworks.js | 2 +- modules/ui_extra_networks.py | 23 +++++++++++------------ 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 -- cgit v1.2.1