digiwild / app /main_modal.py
vancauwe's picture
feat: begin modal refactor and save individual location data as json
8f0e835
raw
history blame
1.2 kB
import gradio as gr
from gradio_modal import Modal
import numpy as np
def save_input(input, df):
#input_value = str(input)
df_values = np.array(df) # handle empty dataframe case
new_row = [input, 0, input] # default 'age' as 0 for now
df_values = np.vstack([df_values, new_row])
df = gr.DataFrame(value=df_values)
return df
with gr.Blocks() as demo:
with gr.Tab("Tab 1"):
show_btn = gr.Button("Show Modal")
df = gr.Dataframe(
headers=["name", "age", "gender"],
#datatype=["str", "number", "str"],
row_count=1,
col_count=(3, "fixed"),
)
show_markdown = gr.Markdown("This is a markdown")
with Modal(visible=False) as modal:
input = gr.Textbox(label="Input 1", interactive=True)
button = gr.Button("Click me")
button.click(save_input,
inputs=[input, df],
outputs=[df])
button.click(lambda: Modal(visible=False), None, modal)
show_btn.click(lambda: Modal(visible=True), None, modal)
if __name__ == "__main__":
demo.launch(server_name="0.0.0.0", server_port=3333)