aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpapuSpartan <mcgpapu@gmail.com>2022-10-20 01:08:24 -0500
committerpapuSpartan <mcgpapu@gmail.com>2022-10-20 01:08:24 -0500
commit158d678f596d7fc304a6ce2f0dc31f8abfe62250 (patch)
treecff09fed5eef28a14a5418699cf1111d86847034
parentc6345bd445463b7aa41723d6637e80dfa293a890 (diff)
clear prompt button now works on both relevant tabs. Device detection stuff will be added later.
-rw-r--r--javascript/ui.js28
-rw-r--r--modules/ui.py21
2 files changed, 46 insertions, 3 deletions
diff --git a/javascript/ui.js b/javascript/ui.js
index cfd0dcd3..165383da 100644
--- a/javascript/ui.js
+++ b/javascript/ui.js
@@ -151,6 +151,34 @@ function ask_for_style_name(_, prompt_text, negative_prompt_text) {
return [name_, prompt_text, negative_prompt_text]
}
+// returns css id for currently selected tab in ui
+function selected_tab_id() {
+ tabs = gradioApp().querySelectorAll('#tabs div.tabitem')
+
+ for(var tab = 0; tab < tabs.length; tab++) {
+ if (tabs[tab].style.display != "none") return tabs[tab].id
+
+ }
+
+}
+
+function trash_prompt(_,_, is_img2img) {
+
+ if(selected_tab_id() == "tab_txt2img") {
+ pos_prompt = txt2img_textarea = gradioApp().querySelector("#txt2img_prompt > label > textarea");
+ neg_prompt = txt2img_textarea = gradioApp().querySelector("#txt2img_neg_prompt > label > textarea");
+
+ pos_prompt.value = ""
+ neg_prompt.value = ""
+ } else {
+ pos_prompt = txt2img_textarea = gradioApp().querySelector("#img2img_prompt > label > textarea");
+ neg_prompt = txt2img_textarea = gradioApp().querySelector("#img2img_neg_prompt > label > textarea");
+
+ pos_prompt.value = ""
+ neg_prompt.value = ""
+ }
+}
+
opts = {}
diff --git a/modules/ui.py b/modules/ui.py
index cb9a6c6e..bde546cc 100644
--- a/modules/ui.py
+++ b/modules/ui.py
@@ -424,6 +424,16 @@ def create_seed_inputs():
return seed, reuse_seed, subseed, reuse_subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w, seed_checkbox
+# setup button for clearing prompt input boxes on client side of webui
+def connect_trash_prompt(dummy_component, button, is_img2img):
+
+ button.click(
+ fn=lambda: print("Clearing prompt"),
+ _js="trash_prompt",
+ inputs=[],
+ outputs=[],
+ )
+
def connect_reuse_seed(seed: gr.Number, reuse_seed: gr.Button, generation_info: gr.Textbox, dummy_component, is_subseed):
""" Connects a 'reuse (sub)seed' button's click event so that it copies last used
(sub)seed value from generation info the to the seed field. If copying subseed and subseed strength
@@ -540,7 +550,7 @@ def create_toprow(is_img2img):
prompt_style2 = gr.Dropdown(label="Style 2", elem_id=f"{id_part}_style2_index", choices=[k for k, v in shared.prompt_styles.styles.items()], value=next(iter(shared.prompt_styles.styles.keys())))
prompt_style2.save_to_config = True
- return prompt, roll, prompt_style, negative_prompt, prompt_style2, submit, button_interrogate, button_deepbooru, prompt_style_apply, save_style, paste, token_counter, token_button
+ return prompt, roll, prompt_style, negative_prompt, prompt_style2, submit, button_interrogate, button_deepbooru, prompt_style_apply, save_style, paste, token_counter, token_button, trash_prompt
def setup_progressbar(progressbar, preview, id_part, textinfo=None):
@@ -619,10 +629,11 @@ def create_ui(wrap_gradio_gpu_call):
with gr.Blocks(analytics_enabled=False) as txt2img_interface:
txt2img_prompt, roll, txt2img_prompt_style, txt2img_negative_prompt, txt2img_prompt_style2, submit, _, _,\
txt2img_prompt_style_apply, txt2img_save_style, txt2img_paste, token_counter,\
- token_button = create_toprow(is_img2img=False)
+ token_button, trash_prompt_button = create_toprow(is_img2img=False)
dummy_component = gr.Label(visible=False)
txt_prompt_img = gr.File(label="", elem_id="txt2img_prompt_image", file_count="single", type="bytes", visible=False)
+ connect_trash_prompt(dummy_component, trash_prompt_button, False)
with gr.Row(elem_id='txt2img_progress_row'):
with gr.Column(scale=1):
@@ -807,7 +818,11 @@ def create_ui(wrap_gradio_gpu_call):
token_button.click(fn=update_token_counter, inputs=[txt2img_prompt, steps], outputs=[token_counter])
with gr.Blocks(analytics_enabled=False) as img2img_interface:
- img2img_prompt, roll, img2img_prompt_style, img2img_negative_prompt, img2img_prompt_style2, submit, img2img_interrogate, img2img_deepbooru, img2img_prompt_style_apply, img2img_save_style, img2img_paste, token_counter, token_button = create_toprow(is_img2img=True)
+ img2img_prompt, roll, img2img_prompt_style, img2img_negative_prompt, img2img_prompt_style2, submit,\
+ img2img_interrogate, img2img_deepbooru, img2img_prompt_style_apply, img2img_save_style, img2img_paste,\
+ token_counter, token_button, trash_prompt_button = create_toprow(is_img2img=True)
+
+ connect_trash_prompt(dummy_component,trash_prompt_button, True)
with gr.Row(elem_id='img2img_progress_row'):
img2img_prompt_img = gr.File(label="", elem_id="img2img_prompt_image", file_count="single", type="bytes", visible=False)