johann-foerster commited on
Commit
7b55e59
·
1 Parent(s): c06c3fc

custom js way to limit input field to two lines

Browse files
Files changed (1) hide show
  1. webui.py +2 -7
webui.py CHANGED
@@ -67,11 +67,6 @@ def debounce():
67
  time.sleep(0.5)
68
  return
69
 
70
- def greet_limit_max_lines(greet):
71
- if len(greet.split('\n')) > 2:
72
- return gr.Textbox(value='\n'.join(greet.split('\n')[0:2]))
73
- return gr.Textbox()
74
-
75
  def overlay_image(image_path, toggle_greet, greet):
76
  image = ImageDraw.Draw(Image.open(image_path), "RGBA")
77
  HEIGHT, TEXT_PADDING, TEXTBOX_HEIGHT = 100, 32, 56
@@ -115,7 +110,7 @@ with shared.gradio_root:
115
  * Beschreibe das Motiv der Weihnachtskarte in einem Prompt (Englisch), wähle ggf. Stil und los!
116
  * Zur Übersetzung einer Beschreibung ins Englische eignet sich beispielsweise [deepl.com](https://www.deepl.com/translator#de/Schneekugeln) helfen.
117
  * Kurze persönliche Weihnachtsgrüße (bis 2 Zeilen) lassen sich auf der Vorderseite hinzufügen.
118
- Längere Texte können nach Druck handschriftlich zur Innen- bzw. Rückseite hinzugefügt werden.
119
  * Chat-KIs wie [Bing Chat](https://www.bing.com/search?q=Bing+AI&showconv=1) können bei der Erstellung persönlicher Weihnachtsgrüße helfen, z.B. mit Prompts wie
120
  * Erstelle fünf unterschiedliche persönliche Weihnachtsgrüße für meinen Vater Anakin (je ca. 120 Zeichen). Erwähne dabei unseren gemeinsamen Urlaub auf Tatooine.
121
  * Erstelle drei unterschiedliche persönliche Weihnachtsgrüße für meinen geschätzten Arbeitskollegen Michael (je ca. 150 Zeichen). Gehe dabei Schritt für Schritt vor.
@@ -158,9 +153,9 @@ with shared.gradio_root:
158
  promt_example_de.change(fn=translate_promt_example, inputs=[promt_example_de], outputs=[prompt], queue=False)
159
  toggle_greet.change(fn=toggle_greet_visibility, inputs=[toggle_greet], outputs=[greeting_row], queue=False, show_progress=False)\
160
  .then(fn=make_overlay, inputs=[generated_image_path, toggle_greet, greet], outputs=[generated_image_overlayed, greet_active], show_progress=False, queue=False)
 
161
  greet.change(fn=debounce, queue=False, show_progress=False)\
162
  .then(fn=make_overlay, inputs=[generated_image_path, toggle_greet, greet], outputs=[generated_image_overlayed, greet_active], queue=False, show_progress=False)
163
- greet.change(fn=greet_limit_max_lines, inputs=[greet], outputs=[greet], queue=False, show_progress=False)
164
  greet_active.change(fn=verify_latest_overlay, inputs=[generated_image_path, toggle_greet, greet, greet_active], outputs=[generated_image_overlayed, greet_active], queue=False, show_progress=False)
165
  run_button.click(fn=prepare_generate, outputs=[generated_image, generated_image_overlayed, run_button], queue=False)\
166
  .then(fn=generate, inputs=[prompt, style_selection], outputs=[progress_html, generated_image, generated_image_path], queue=True)\
 
67
  time.sleep(0.5)
68
  return
69
 
 
 
 
 
 
70
  def overlay_image(image_path, toggle_greet, greet):
71
  image = ImageDraw.Draw(Image.open(image_path), "RGBA")
72
  HEIGHT, TEXT_PADDING, TEXTBOX_HEIGHT = 100, 32, 56
 
110
  * Beschreibe das Motiv der Weihnachtskarte in einem Prompt (Englisch), wähle ggf. Stil und los!
111
  * Zur Übersetzung einer Beschreibung ins Englische eignet sich beispielsweise [deepl.com](https://www.deepl.com/translator#de/Schneekugeln) helfen.
112
  * Kurze persönliche Weihnachtsgrüße (bis 2 Zeilen) lassen sich auf der Vorderseite hinzufügen.
113
+ Längere Texte können nach Druck handschriftlich zur Rückseite hinzugefügt werden.
114
  * Chat-KIs wie [Bing Chat](https://www.bing.com/search?q=Bing+AI&showconv=1) können bei der Erstellung persönlicher Weihnachtsgrüße helfen, z.B. mit Prompts wie
115
  * Erstelle fünf unterschiedliche persönliche Weihnachtsgrüße für meinen Vater Anakin (je ca. 120 Zeichen). Erwähne dabei unseren gemeinsamen Urlaub auf Tatooine.
116
  * Erstelle drei unterschiedliche persönliche Weihnachtsgrüße für meinen geschätzten Arbeitskollegen Michael (je ca. 150 Zeichen). Gehe dabei Schritt für Schritt vor.
 
153
  promt_example_de.change(fn=translate_promt_example, inputs=[promt_example_de], outputs=[prompt], queue=False)
154
  toggle_greet.change(fn=toggle_greet_visibility, inputs=[toggle_greet], outputs=[greeting_row], queue=False, show_progress=False)\
155
  .then(fn=make_overlay, inputs=[generated_image_path, toggle_greet, greet], outputs=[generated_image_overlayed, greet_active], show_progress=False, queue=False)
156
+ greet.input(fn=None, inputs=[greet], outputs=[greet], _js="(greet) => { return greet.split('\\n').slice(0,2).join('\\n') }")
157
  greet.change(fn=debounce, queue=False, show_progress=False)\
158
  .then(fn=make_overlay, inputs=[generated_image_path, toggle_greet, greet], outputs=[generated_image_overlayed, greet_active], queue=False, show_progress=False)
 
159
  greet_active.change(fn=verify_latest_overlay, inputs=[generated_image_path, toggle_greet, greet, greet_active], outputs=[generated_image_overlayed, greet_active], queue=False, show_progress=False)
160
  run_button.click(fn=prepare_generate, outputs=[generated_image, generated_image_overlayed, run_button], queue=False)\
161
  .then(fn=generate, inputs=[prompt, style_selection], outputs=[progress_html, generated_image, generated_image_path], queue=True)\