Spaces:
Running
Running
import gradio as gr | |
import modelscope_studio.components.antd as antd | |
import modelscope_studio.components.base as ms | |
def on_submit(_form): | |
print(_form) # the Form Component will automatically collect the form data | |
def on_change(_form): | |
return gr.update(layout=_form["layout"], | |
disabled=_form["form_disabled"], | |
variant=_form["variant"]) | |
with gr.Blocks() as demo: | |
with ms.Application(): | |
with antd.ConfigProvider(): | |
with antd.Form(value={ | |
"layout": "horizontal", | |
"remember": True, | |
"form_disabled": False, | |
"variant": "outlined", | |
}, | |
variant="outlined", | |
label_col=dict(span=8), | |
wrapper_col=dict(span=16), | |
layout="horizontal") as form: | |
with antd.Form.Item(form_name="form_disabled", | |
value_prop_name="checked"): | |
with antd.Checkbox(disabled=False): | |
ms.Text("Form disabled") | |
with antd.Form.Item(form_name="layout", label="Form Layout"): | |
antd.Radio.Group(options=[{ | |
"label": "Horizontal", | |
"value": "horizontal" | |
}, { | |
"label": "Vertical", | |
"value": "vertical" | |
}, { | |
"label": "Inline", | |
"value": "inline" | |
}]) | |
with antd.Form.Item(form_name="variant", label="Form variant"): | |
antd.Segmented( | |
options=['outlined', 'filled', 'borderless']) | |
with antd.Form.Item(form_name="username", | |
label="Username", | |
tooltip="This is a required field", | |
rules=[{ | |
"required": | |
True, | |
"message": | |
'Please input your username!' | |
}]): | |
antd.Input() | |
with antd.Form.Item(form_name="password", | |
label="Password", | |
tooltip="This is a required field", | |
rules=[{ | |
"required": | |
True, | |
"message": | |
'Please input your password!' | |
}]): | |
antd.Input.Password() | |
with antd.Form.Item(form_name="files", label="Upload"): | |
with antd.Upload.Dragger(): | |
with ms.Div( | |
elem_style=dict(fontSize=40, color="#1677ff")): | |
antd.Icon("InboxOutlined") | |
antd.Typography.Paragraph( | |
"Click or drag file to this area to upload") | |
antd.Typography.Paragraph( | |
"Support for a single or bulk upload.", | |
type="secondary") | |
with antd.Form.Item( | |
wrapper_col=dict(offset=8, span=16), | |
form_name="remember", | |
value_prop_name="checked", | |
): | |
with antd.Checkbox(): | |
ms.Text("Remember me") | |
with antd.Form.Item(wrapper_col=dict(offset=8, span=16)): | |
submit_btn = antd.Button("Submit", | |
type="primary", | |
html_type="submit") | |
form.values_change(on_change, inputs=[form], outputs=[form]) | |
form.finish(on_submit, inputs=[form]) | |
if __name__ == "__main__": | |
demo.queue().launch() | |