Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| def predict(text, url_params): | |
| print(url_params) | |
| return ["Hello " + text + "!!", url_params] | |
| get_window_url_params = """ | |
| function(text_input, url_params) { | |
| console.log(text_input, url_params); | |
| const params = new URLSearchParams(window.location.search); | |
| url_params = Object.fromEntries(params); | |
| return [text_input, url_params]; | |
| } | |
| """ | |
| set_window_url_params = """ | |
| function(text_input, url_params) { | |
| const params = new URLSearchParams(window.location.search); | |
| params.set("text_input", text_input) | |
| url_params = Object.fromEntries(params); | |
| const queryString = '?' + params.toString(); | |
| // this next line is only needed inside Spaces, so the child frame updates parent | |
| window.parent.postMessage({ queryString: queryString }, "*") | |
| return [text_input, url_params]; | |
| } | |
| """ | |
| with gr.Blocks() as block: | |
| url_params = gr.JSON({}, visible=True, label="URL Params") | |
| text_input = gr.Text(label="Input") | |
| text_output = gr.Text(label="Output") | |
| btn = gr.Button("Get Params") | |
| btn.click(fn=predict, inputs=[text_input, url_params], | |
| outputs=[text_output, url_params], _js=get_window_url_params) | |
| btn2 = gr.Button("Set Params") | |
| btn2.click(fn=predict, inputs=[text_input, url_params], | |
| outputs=[text_output, url_params], _js=set_window_url_params) | |
| block.load( | |
| fn=predict, | |
| inputs=[text_input, url_params], | |
| outputs=[text_output, url_params], | |
| _js=get_window_url_params | |
| ) | |
| block.launch(debug=True) |