mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2025-08-04 03:10:21 +00:00
feat(extra-networks): add thumbs view style
This commit is contained in:
@@ -25,7 +25,7 @@ class ExtraNetworksPage:
|
||||
def refresh(self):
|
||||
pass
|
||||
|
||||
def create_html(self, tabname):
|
||||
def create_html(self, tabname, view = 'cards'):
|
||||
items_html = ''
|
||||
|
||||
for item in self.list_items():
|
||||
@@ -36,7 +36,7 @@ class ExtraNetworksPage:
|
||||
items_html = shared.html("extra-networks-no-cards.html").format(dirs=dirs)
|
||||
|
||||
res = f"""
|
||||
<div id='{tabname}_{self.name}_cards' class='extra-network-cards'>
|
||||
<div id='{tabname}_{self.name}_cards' class='extra-network-{view}'>
|
||||
{items_html}
|
||||
</div>
|
||||
"""
|
||||
@@ -75,6 +75,7 @@ class ExtraNetworksUi:
|
||||
|
||||
self.button_save_preview = None
|
||||
self.preview_target_filename = None
|
||||
self.view_dropdown = None
|
||||
|
||||
self.tabname = None
|
||||
|
||||
@@ -110,6 +111,7 @@ def create_ui(container, button, tabname):
|
||||
filter = gr.Textbox('', show_label=False, elem_id=tabname+"_extra_search", placeholder="Search...", visible=False)
|
||||
button_refresh = gr.Button('Refresh', elem_id=tabname+"_extra_refresh")
|
||||
button_close = gr.Button('Close', elem_id=tabname+"_extra_close")
|
||||
ui.view_dropdown = gr.Dropdown(['cards', 'thumbs'], elem_id=tabname+"_extra_view", label="View as", value='cards')
|
||||
|
||||
ui.button_save_preview = gr.Button('Save preview', elem_id=tabname+"_save_preview", visible=False)
|
||||
ui.preview_target_filename = gr.Textbox('Preview save filename', elem_id=tabname+"_preview_filename", visible=False)
|
||||
@@ -117,16 +119,17 @@ def create_ui(container, button, tabname):
|
||||
button.click(fn=lambda: gr.update(visible=True), inputs=[], outputs=[container])
|
||||
button_close.click(fn=lambda: gr.update(visible=False), inputs=[], outputs=[container])
|
||||
|
||||
def refresh():
|
||||
def refresh(view='cards'):
|
||||
res = []
|
||||
|
||||
for pg in ui.stored_extra_pages:
|
||||
pg.refresh()
|
||||
res.append(pg.create_html(ui.tabname))
|
||||
res.append(pg.create_html(ui.tabname, view))
|
||||
|
||||
return res
|
||||
|
||||
button_refresh.click(fn=refresh, inputs=[], outputs=ui.pages)
|
||||
ui.view_dropdown.change(fn=refresh, inputs=[ui.view_dropdown], outputs=ui.pages)
|
||||
button_refresh.click(fn=refresh, inputs=[ui.view_dropdown], outputs=ui.pages)
|
||||
|
||||
return ui
|
||||
|
||||
@@ -139,7 +142,7 @@ def path_is_parent(parent_path, child_path):
|
||||
|
||||
|
||||
def setup_ui(ui, gallery):
|
||||
def save_preview(index, images, filename):
|
||||
def save_preview(index, images, filename, view='cards'):
|
||||
if len(images) == 0:
|
||||
print("There is no image in gallery to save as a preview.")
|
||||
return [page.create_html(ui.tabname) for page in ui.stored_extra_pages]
|
||||
@@ -161,11 +164,11 @@ def setup_ui(ui, gallery):
|
||||
|
||||
image.save(filename)
|
||||
|
||||
return [page.create_html(ui.tabname) for page in ui.stored_extra_pages]
|
||||
return [page.create_html(ui.tabname, view) for page in ui.stored_extra_pages]
|
||||
|
||||
ui.button_save_preview.click(
|
||||
fn=save_preview,
|
||||
_js="function(x, y, z){console.log(x, y, z); return [selected_gallery_index(), y, z]}",
|
||||
inputs=[ui.preview_target_filename, gallery, ui.preview_target_filename],
|
||||
_js="function(x, y, z, a){console.log(x, y, z, a); return [selected_gallery_index(), y, z, a]}",
|
||||
inputs=[ui.preview_target_filename, gallery, ui.preview_target_filename, ui.view_dropdown],
|
||||
outputs=[*ui.pages]
|
||||
)
|
||||
|
Reference in New Issue
Block a user