radames commited on
Commit
364bac6
1 Parent(s): 52f9b84

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -0
app.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ get_local_storage = """
4
+ function() {
5
+ globalThis.setStorage = (key, value)=>{
6
+ localStorage.setItem(key, JSON.stringify(value))
7
+ }
8
+ globalThis.getStorage = (key, value)=>{
9
+ return JSON.parse(localStorage.getItem(key))
10
+ }
11
+ const text_input = getStorage('text_input')
12
+ const dropdown = getStorage('dropdown')
13
+ const local_data = getStorage('local_data')
14
+ return [text_input, dropdown, local_data];
15
+ }
16
+ """
17
+
18
+
19
+ def predict(text_input, dropdown):
20
+ return {
21
+ "text": text_input,
22
+ "dropdown": dropdown,
23
+ "something_else": [text_input] * 3 + [dropdown],
24
+ }
25
+
26
+
27
+ with gr.Blocks() as block:
28
+ text_input = gr.Text(label="Input")
29
+ dropdown = gr.Dropdown(["first", "second", "third"], type="index")
30
+ local_data = gr.JSON({}, label="Local Storage")
31
+
32
+ dropdown.change(None, dropdown, None, _js="(v)=>{ setStorage('dropdown',v) }")
33
+ text_input.change(None, text_input, None, _js="(v)=>{ setStorage('text_input',v) }")
34
+ local_data.change(None, local_data, None, _js="(v)=>{ setStorage('local_data',v) }")
35
+ btn = gr.Button("Set New Data")
36
+ btn.click(fn=predict, inputs=[text_input, dropdown], outputs=[local_data])
37
+ block.load(
38
+ None,
39
+ inputs=None,
40
+ outputs=[text_input, dropdown, local_data],
41
+ _js=get_local_storage,
42
+ )
43
+ block.launch(debug=True)