From a48f65350dcf33f367cb5a79eee95999f5d692c0 Mon Sep 17 00:00:00 2001 From: AlUlkesh <99896447+AlUlkesh@users.noreply.github.com> Date: Thu, 24 Aug 2023 09:50:49 +0200 Subject: [PATCH] rework: turn_page_switch / warning_box / change_dir --- javascript/image_browser.js | 6 +- scripts/image_browser.py | 133 ++++++++++++++++++++++-------------- 2 files changed, 87 insertions(+), 52 deletions(-) diff --git a/javascript/image_browser.js b/javascript/image_browser.js index 6bcea10..be0bc9b 100644 --- a/javascript/image_browser.js +++ b/javascript/image_browser.js @@ -57,10 +57,12 @@ async function image_browser_start_it_up() { control.style.cursor = "not-allowed" control.style.opacity = "0.65" }) + /* let warnings = container.querySelectorAll('[id*="_warning_box"]') warnings.forEach(function(warning) { warning.innerHTML = '
Waiting for webui...' }) + */ image_browser_wait_for_webui() if (image_browser_debug) console.log("image_browser_start_it_up:end") @@ -537,10 +539,12 @@ async function image_browser_activate_controls() { control.style.cursor = "default" control.style.opacity = "1" }) + /* let warnings = container.querySelectorAll('[id*="_warning_box"]') warnings.forEach(function(warning) { - warning.innerHTML = "
 " + warning.innerHTML = "" }) + */ if (image_browser_debug) console.log("image_browser_activate_controls:end") } diff --git a/scripts/image_browser.py b/scripts/image_browser.py index 31abf59..a998673 100644 --- a/scripts/image_browser.py +++ b/scripts/image_browser.py @@ -273,7 +273,7 @@ def sort_order_flip(turn_page_switch, sort_order): sort_order = down_symbol else: sort_order = up_symbol - return 1, -turn_page_switch, sort_order + return 1, turn_page_switch + 1, sort_order def read_path_recorder(): path_recorder = wib_db.load_path_recorder() @@ -320,8 +320,13 @@ def ranking_filter_settings(page_index, turn_page_switch, ranking_filter): else: interactive = False page_index = 1 - turn_page_switch = -turn_page_switch - return page_index, turn_page_switch, gr.update(interactive=interactive), gr.update(interactive=interactive) + return page_index, turn_page_switch + 1, gr.update(interactive=interactive), gr.update(interactive=interactive) + +def warning_box_visibility(warning_box): + if warning_box == "": + return gr.update(value=warning_box, visible=False) + else: + return gr.update(value=warning_box, visible=True) def reduplicative_file_move(src, dst): def same_name_file(basename, path): @@ -373,7 +378,7 @@ def save_image(file_name, filenames, page_index, turn_page_switch, dest_path): if not opts.image_browser_copy_image: # Force page refresh with checking filenames filenames = [] - turn_page_switch = -turn_page_switch + turn_page_switch += 1 else: message = "
 ", elem_id=f"{tab.base_tag}_image_browser_warning_box") + warning_box = gr.HTML("", elem_id=f"{tab.base_tag}_image_browser_warning_box", elem_classes="imageBrowserWarning") + with gr.Column(scale=5, visible=(tab.name==favorite_tab_name)): gr.HTML(f"
Favorites path from settings: {opts.outdir_save}") @@ -1257,9 +1281,11 @@ def create_tab(tab: ImageBrowserTab, current_gr_tab: gr.Tab): image_page_list = gr.Textbox(elem_id=f"{tab.base_tag}_image_browser_image_page_list") info1 = gr.Textbox() info2 = gr.Textbox() - load_switch = gr.Textbox(value="load_switch", label="load_switch") - to_dir_load_switch = gr.Textbox(value="to dir load_switch", label="to_dir_load_switch") + # turn_page_switch: reload page at thumbnail overview, requests add 1 to trigger change-event turn_page_switch = gr.Number(value=1, label="turn_page_switch") + load_switch = gr.Number(value=1, label="load_switch") + to_dir_load_switch = gr.Number(value=1, label="to_dir_load_switch") + to_dir_load_switch_panel = gr.Checkbox(value=True, label="to_dir_load_switch_panel") select_image = gr.Number(value=1) img_path_add = gr.Textbox(value="add") img_path_remove = gr.Textbox(value="remove") @@ -1360,10 +1386,9 @@ def create_tab(tab: ImageBrowserTab, current_gr_tab: gr.Tab): override_hidden.add(hidden_component_map[item]) change_dir_outputs = [warning_box, main_panel, img_path_browser, path_recorder, load_switch, img_path, img_path_depth] - img_path.submit(change_dir, inputs=[img_path, path_recorder, load_switch, img_path_browser, img_path_depth, img_path], outputs=change_dir_outputs, show_progress=opts.image_browser_show_progress) - img_path_browser.change(change_dir, inputs=[img_path_browser, path_recorder, load_switch, img_path_browser, img_path_depth, img_path], outputs=change_dir_outputs, show_progress=opts.image_browser_show_progress) - # img_path_browser.change(browser2path, inputs=[img_path_browser], outputs=[img_path]) - to_dir_saved.change(change_dir, inputs=[to_dir_saved, path_recorder, to_dir_load_switch, to_dir_saved, img_path_depth, to_dir_path], outputs=[warning_box, main_panel, to_dir_saved, path_recorder, to_dir_load_switch, to_dir_path, img_path_depth], show_progress=opts.image_browser_show_progress) + img_path.submit(change_dir_textbox, inputs=[img_path, path_recorder, load_switch, img_path_browser, img_path_depth], outputs=change_dir_outputs, show_progress=opts.image_browser_show_progress) + img_path_browser.change(change_dir_dropdown, inputs=[img_path_browser, path_recorder, load_switch, img_path_browser, img_path_depth], outputs=change_dir_outputs, show_progress=opts.image_browser_show_progress) + to_dir_saved.change(change_dir_dropdown, inputs=[to_dir_saved, path_recorder, to_dir_load_switch, to_dir_saved, img_path_depth], outputs=[warning_box, to_dir_load_switch_panel, to_dir_saved, path_recorder, to_dir_load_switch, to_dir_path, img_path_depth], show_progress=opts.image_browser_show_progress) #delete delete.click( @@ -1381,22 +1406,22 @@ def create_tab(tab: ImageBrowserTab, current_gr_tab: gr.Tab): to_dir_btn.click(save_image, inputs=[img_file_name, filenames, page_index, turn_page_switch, to_dir_path], outputs=[collected_warning, filenames, page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) #turn page - first_page.click(lambda s:(1, -s) , inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - next_page.click(lambda p, s: (p + 1, -s), inputs=[page_index, turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - prev_page.click(lambda p, s: (p - 1, -s), inputs=[page_index, turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - end_page.click(lambda s: (-1, -s), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - load_switch.change(lambda s:(1, -s), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - filename_keyword_search.submit(lambda s:(1, -s), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - exif_keyword_search.submit(lambda s:(1, -s), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - ranking_filter_min.submit(lambda s:(1, -s), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - ranking_filter_max.submit(lambda s:(1, -s), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - aes_filter_min.submit(lambda s:(1, -s), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - aes_filter_max.submit(lambda s:(1, -s), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - sort_by.change(lambda s:(1, -s), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - page_index.submit(lambda s: -s, inputs=[turn_page_switch], outputs=[turn_page_switch], show_progress=opts.image_browser_show_progress) - renew_page.click(lambda s: -s, inputs=[turn_page_switch], outputs=[turn_page_switch], show_progress=opts.image_browser_show_progress) - refresh_index_button.click(lambda p, s:(p, -s), inputs=[page_index, turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) - img_path_depth.change(lambda s: -s, inputs=[turn_page_switch], outputs=[turn_page_switch], show_progress=opts.image_browser_show_progress) + first_page.click(lambda s:(1, s + 1) , inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + next_page.click(lambda p, s: (p + 1, s + 1), inputs=[page_index, turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + prev_page.click(lambda p, s: (p - 1, s + 1), inputs=[page_index, turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + end_page.click(lambda s: (-1, s + 1), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + load_switch.change(lambda s:(1, s + 1), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + filename_keyword_search.submit(lambda s:(1, s + 1), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + exif_keyword_search.submit(lambda s:(1, s + 1), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + ranking_filter_min.submit(lambda s:(1, s + 1), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + ranking_filter_max.submit(lambda s:(1, s + 1), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + aes_filter_min.submit(lambda s:(1, s + 1), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + aes_filter_max.submit(lambda s:(1, s + 1), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + sort_by.change(lambda s:(1, s + 1), inputs=[turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + page_index.submit(lambda s: s + 1, inputs=[turn_page_switch], outputs=[turn_page_switch], show_progress=opts.image_browser_show_progress) + renew_page.click(lambda s: s + 1, inputs=[turn_page_switch], outputs=[turn_page_switch], show_progress=opts.image_browser_show_progress) + refresh_index_button.click(lambda p, s:(p, s + 1), inputs=[page_index, turn_page_switch], outputs=[page_index, turn_page_switch], show_progress=opts.image_browser_show_progress) + img_path_depth.change(lambda s: s + 1, inputs=[turn_page_switch], outputs=[turn_page_switch], show_progress=opts.image_browser_show_progress) hide_on_thumbnail_view = [delete_panel, button_panel, ranking_panel, to_dir_panel, info_add_panel] @@ -1412,6 +1437,12 @@ def create_tab(tab: ImageBrowserTab, current_gr_tab: gr.Tab): outputs=[page_index, turn_page_switch, ranking_filter_min, ranking_filter_max], show_progress=opts.image_browser_show_progress ) + warning_box.change( + fn=warning_box_visibility, + inputs=[warning_box], + outputs=[warning_box], + show_progress=opts.image_browser_show_progress + ) # Others img_path_subdirs_button.click( @@ -1422,7 +1453,7 @@ def create_tab(tab: ImageBrowserTab, current_gr_tab: gr.Tab): ) img_path_subdirs.change( fn=change_dir, - inputs=[img_path_subdirs, path_recorder, load_switch, img_path_browser, img_path_depth, img_path], + inputs=[warning_box, img_path_subdirs, path_recorder, load_switch, img_path_browser, img_path_depth, img_path], outputs=change_dir_outputs, show_progress=opts.image_browser_show_progress )