diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js
index ba5793f9c..18e401fde 100644
--- a/javascript/extraNetworks.js
+++ b/javascript/extraNetworks.js
@@ -357,8 +357,8 @@ function setupExtraNetworksForTab(tabname) {
};
// en style
+ if (!en) return;
const intersectionObserver = new IntersectionObserver((entries) => {
- if (!en) return;
for (const el of Array.from(gradioApp().querySelectorAll('.extra-networks-page'))) {
el.style.height = `${window.opts.extra_networks_height}vh`;
el.parentElement.style.width = '-webkit-fill-available';
diff --git a/modules/ui.py b/modules/ui.py
index 97b7c3e4b..64496ae52 100644
--- a/modules/ui.py
+++ b/modules/ui.py
@@ -1152,6 +1152,7 @@ def create_ui(startup_timer = None):
# if label in modules.shared.opts.hidden_tabs or label == '':
# continue
with gr.TabItem(label, id=ifid, elem_id=f"tab_{ifid}"):
+ # log.debug(f'UI render: id={ifid}')
interface.render()
for interface, _label, ifid in interfaces:
if interface is None:
diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py
index f4a0945a0..64a8e5342 100644
--- a/modules/ui_extra_networks.py
+++ b/modules/ui_extra_networks.py
@@ -459,11 +459,11 @@ def create_ui(container, button_parent, tabname, skip_indexing = False):
ui = ExtraNetworksUi()
ui.tabname = tabname
ui.pages = []
- ui.state = gr.Textbox('{}', elem_id=tabname+"_extra_state", visible=False)
+ ui.state = gr.Textbox('{}', elem_id=f"{tabname}_extra_state", visible=False)
ui.visible = gr.State(value=False) # pylint: disable=abstract-class-instantiated
- ui.details = gr.Group(elem_id=tabname+"_extra_details", visible=False)
- ui.tabs = gr.Tabs(elem_id=tabname+"_extra_tabs")
- ui.button_details = gr.Button('Details', elem_id=tabname+"_extra_details_btn", visible=False)
+ ui.details = gr.Group(elem_id=f"{tabname}_extra_details", visible=False)
+ ui.tabs = gr.Tabs(elem_id=f"{tabname}_extra_tabs")
+ ui.button_details = gr.Button('Details', elem_id=f"{tabname}_extra_details_btn", visible=False)
state = {}
if shared.cmd_opts.profile:
import cProfile
@@ -504,14 +504,14 @@ def create_ui(container, button_parent, tabname, skip_indexing = False):
return is_visible, gr.update(visible=is_visible), gr.update(variant=("secondary-down" if is_visible else "secondary"))
with ui.details:
- details_close = ToolButton(symbols.close, elem_id=tabname+"_extra_details_close", elem_classes=['extra-details-close'])
+ details_close = ToolButton(symbols.close, elem_id=f"{tabname}_extra_details_close", elem_classes=['extra-details-close'])
details_close.click(fn=lambda: gr.update(visible=False), inputs=[], outputs=[ui.details])
with gr.Row():
with gr.Column(scale=1):
text = gr.HTML('
title
')
ui.details_components.append(text)
with gr.Column(scale=1):
- img = gr.Image(value=None, show_label=False, interactive=False, container=False, show_download_button=False, show_info=False, elem_id=tabname+"_extra_details_img", elem_classes=['extra-details-img'])
+ img = gr.Image(value=None, show_label=False, interactive=False, container=False, show_download_button=False, show_info=False, elem_id=f"{tabname}_extra_details_img", elem_classes=['extra-details-img'])
ui.details_components.append(img)
with gr.Row():
btn_save_img = gr.Button('Replace', elem_classes=['small-button'])
@@ -544,16 +544,16 @@ def create_ui(container, button_parent, tabname, skip_indexing = False):
model_visible = page in ['Model']
return [gr.update(visible=scan_visible), gr.update(visible=save_visible), gr.update(visible=model_visible)]
- ui.button_refresh = ToolButton(symbols.refresh, elem_id=tabname+"_extra_refresh")
- ui.button_scan = ToolButton(symbols.scan, elem_id=tabname+"_extra_scan", visible=True)
- ui.button_quicksave = ToolButton(symbols.book, elem_id=tabname+"_extra_quicksave", visible=False)
- ui.button_save = ToolButton(symbols.book, elem_id=tabname+"_extra_save", visible=False)
- ui.button_sort = ToolButton(symbols.sort, elem_id=tabname+"_extra_sort", visible=True)
- ui.button_view = ToolButton(symbols.view, elem_id=tabname+"_extra_view", visible=True)
- ui.button_close = ToolButton(symbols.close, elem_id=tabname+"_extra_close", visible=True)
- ui.button_model = ToolButton(symbols.refine, elem_id=tabname+"_extra_model", visible=True)
- ui.search = gr.Textbox('', show_label=False, elem_id=tabname+"_extra_search", placeholder="Search...", elem_classes="textbox", lines=2, container=False)
- ui.description = gr.Textbox('', show_label=False, elem_id=tabname+"_description", elem_classes="textbox", lines=2, interactive=False, container=False)
+ ui.button_refresh = ToolButton(symbols.refresh, elem_id=f"{tabname}_extra_refresh")
+ ui.button_scan = ToolButton(symbols.scan, elem_id=f"{tabname}_extra_scan", visible=True)
+ ui.button_quicksave = ToolButton(symbols.book, elem_id=f"{tabname}_extra_quicksave", visible=False)
+ ui.button_save = ToolButton(symbols.book, elem_id=f"{tabname}_extra_save", visible=False)
+ ui.button_sort = ToolButton(symbols.sort, elem_id=f"{tabname}_extra_sort", visible=True)
+ ui.button_view = ToolButton(symbols.view, elem_id=f"{tabname}_extra_view", visible=True)
+ ui.button_close = ToolButton(symbols.close, elem_id=f"{tabname}_extra_close", visible=True)
+ ui.button_model = ToolButton(symbols.refine, elem_id=f"{tabname}_extra_model", visible=True)
+ ui.search = gr.Textbox('', show_label=False, elem_id=f"{tabname}_extra_search", placeholder="Search...", elem_classes="textbox", lines=2, container=False)
+ ui.description = gr.Textbox('', show_label=False, elem_id=f"{tabname}_description", elem_classes="textbox", lines=2, interactive=False, container=False)
if ui.tabname == 'txt2img': # refresh only once
global refresh_time # pylint: disable=global-statement