Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| class FormComponent: | |
| def get_expected_parent(self): | |
| # return gr.components.Form | |
| return gr.layouts.Form | |
| # this was breaking regular dropdowns | |
| #gr.Dropdown.get_expected_parent = FormComponent.get_expected_parent | |
| class ToolButton(FormComponent, gr.Button): | |
| """Small button with single emoji as text, fits inside gradio forms""" | |
| def __init__(self, *args, **kwargs): | |
| classes = kwargs.pop("elem_classes", []) | |
| super().__init__(*args, elem_classes=["tool", *classes], **kwargs) | |
| def get_block_name(self): | |
| return "button" | |
| class FormRow(FormComponent, gr.Row): | |
| """Same as gr.Row but fits inside gradio forms""" | |
| def get_block_name(self): | |
| return "row" | |
| class FormColumn(FormComponent, gr.Column): | |
| """Same as gr.Column but fits inside gradio forms""" | |
| def get_block_name(self): | |
| return "column" | |
| class FormGroup(FormComponent, gr.Group): | |
| """Same as gr.Row but fits inside gradio forms""" | |
| def get_block_name(self): | |
| return "group" | |
| class FormHTML(FormComponent, gr.HTML): | |
| """Same as gr.HTML but fits inside gradio forms""" | |
| def get_block_name(self): | |
| return "html" | |
| class FormColorPicker(FormComponent, gr.ColorPicker): | |
| """Same as gr.ColorPicker but fits inside gradio forms""" | |
| def get_block_name(self): | |
| return "colorpicker" | |
| class DropdownMulti(FormComponent, gr.Dropdown): | |
| """Same as gr.Dropdown but always multiselect""" | |
| def __init__(self, **kwargs): | |
| super().__init__(multiselect=True, **kwargs) | |
| def get_block_name(self): | |
| return "dropdown" | |
| class DropdownEditable(FormComponent, gr.Dropdown): | |
| """Same as gr.Dropdown but allows editing value""" | |
| def __init__(self, **kwargs): | |
| super().__init__(allow_custom_value=True, **kwargs) | |
| def get_block_name(self): | |
| return "dropdown" | |