Spaces:
Paused
Paused
| from datetime import datetime | |
| import time | |
| import gradio as gr | |
| def update_log(): | |
| return datetime.now().timestamp() | |
| def get_target(evt: gr.EventData): | |
| return evt.target | |
| def get_select_index(evt: gr.SelectData): | |
| return evt.index | |
| with gr.Blocks() as demo: | |
| gr.Textbox(value=update_log, every=0.5, label="Time") | |
| slider = gr.Slider(1, 10, step=1, label="Slider") | |
| def show_log(s): | |
| with gr.Row(): | |
| for i in range(s): | |
| gr.Textbox(value=update_log, every=0.5, label=f"Render {i + 1}") | |
| slider2 = gr.Slider(1, 10, step=1, label="Box Count") | |
| btn = gr.Button("Create Boxes") | |
| def show_log_2(s): | |
| for i in range(s): | |
| gr.Textbox(value=str(i), label=f"Count {i + 1}") | |
| with gr.Row(): | |
| selected_btn = gr.Textbox(label="Selected Button") | |
| selected_chat = gr.Textbox(label="Selected Chat") | |
| def show_buttons(s): | |
| with gr.Row(): | |
| with gr.Column(): | |
| for i in range(s): | |
| btn = gr.Button(f"Button {i + 1}") | |
| btn.click(get_target, None, selected_btn) | |
| chatbot = gr.Chatbot([{"role": "user", "content": "Hello"}, {"role": "assistant", "content": "Hi"}, {"role": "user", "content": "How are you?"}, {"role": "assistant", "content": "I'm good."}]) # type: ignore | |
| chatbot.select(get_select_index, None, selected_chat) | |
| selectable_chat = gr.Chatbot([{"role": "user", "content": "chat1"}, {"role": "assistant", "content": "chat2"}, {"role": "user", "content": "chat3"}, {"role": "assistant", "content": "chat4"}]) # type: ignore | |
| def show_selected_chat(selection: gr.SelectData): | |
| gr.Textbox(label="Trigger Index", value=selection.index) | |
| def examples_in_interface(): | |
| gr.Interface(lambda x:x, gr.Textbox(label="input"), gr.Textbox(), examples=[["test"]]) | |
| def examples_in_blocks(): | |
| a = gr.Textbox(label="little textbox") | |
| gr.Examples([["abc"], ["def"]], [a]) | |
| choices_count = gr.Slider(1, 10, 3, step=1, label="Choices") | |
| def show_choices(count): | |
| with gr.Row(): | |
| letter_choices = gr.Radio(list('abcdefghij')[:int(count)], label="Choices", key="choices", preserved_by_key=["value", "label"], interactive=True) | |
| textbox = gr.Textbox(label="Set Label", value="Choices") | |
| textbox.change(lambda l: gr.Radio(label=l), textbox, letter_choices) | |
| timer = gr.Timer(0.5) | |
| def render(): | |
| a = gr.Textbox(label="box-a", key="a") | |
| b = gr.Textbox(label="box-b", key="b") | |
| a.change(lambda x: time.sleep(0.5) or x, a, b, key="a-b") | |
| gr.Number(value=round(time.time(), 2)) | |
| render_tab = gr.Button("Render Tab") | |
| def test_render(): | |
| with gr.Tabs(): | |
| with gr.Tab(): | |
| gr.Textbox("This is a rendered tab", label="Rendered Tab") | |
| with gr.Tab(): | |
| gr.Textbox("Another Tab", label="Another Tab") | |
| if __name__ == '__main__': | |
| demo.launch() | |