1414from pydantic import BaseModel
1515
1616from .column import Column , SelectOption
17- from .style import FormWidgetSize , ItemModel
17+ from .style import FormWidgetSize , Mode
1818
1919
20- class ControlEnum (str , Enum ):
20+ class FormItemEnum (str , Enum ):
2121 form = "form" # 表单
2222 button_group_select = "button-group-select" # 按钮点选
2323 chained_select = "chained-select" # 链式下拉框
@@ -78,7 +78,7 @@ class AbstractControl(Column):
7878 pass
7979
8080
81- class Control (AbstractControl ):
81+ class FormItem (AbstractControl ):
8282 """
8383 用户form表单等写入
8484 """
@@ -105,7 +105,7 @@ class Control(AbstractControl):
105105 className : Optional [str ] # 表单最外层类名
106106 inputClassName : Optional [str ] # 表单控制器类名
107107 labelClassName : Optional [str ] # label 的类名
108- mode : Optional [ItemModel ]
108+ mode : Optional [Mode ]
109109 size : Optional [FormWidgetSize ]
110110
111111 class Config :
@@ -131,8 +131,8 @@ class ItemValidationError(BaseModel):
131131 pass
132132
133133
134- class NumberItem (Control ):
135- type : ControlEnum = ControlEnum .input_number
134+ class NumberItem (FormItem ):
135+ type : FormItemEnum = FormItemEnum .input_number
136136 min : Optional [int ]
137137 max : Optional [int ]
138138 precision : Optional [int ] # 小数点后几位
@@ -142,12 +142,12 @@ class NumberItem(Control):
142142 big : Optional [bool ]
143143
144144
145- class NativeNumber (Control ):
146- type : ControlEnum = ControlEnum .native_number
145+ class NativeNumber (FormItem ):
146+ type : FormItemEnum = FormItemEnum .native_number
147147
148148
149- class SelectItem (Control ):
150- type : ControlEnum = ControlEnum .select
149+ class SelectItem (FormItem ):
150+ type : FormItemEnum = FormItemEnum .select
151151 options : Optional [Union [List [str ], List [int ], List [SelectOption ]]]
152152 source : Optional [str ] # 通过数据源里面获取,也可以配置地址从远程获取,值格式为:options:[{label:..,value:...,}]
153153 # children: Optional[List[Union[SelectOption, str, int]]] # 这个在树结构在考虑
@@ -189,8 +189,8 @@ class SelectItemCanModifyItem(SelectItem):
189189 deleteApi : Optional [str ] # 配置删除接口
190190
191191
192- class ArrayItem (Control ):
193- type : ControlEnum = ControlEnum .array
192+ class ArrayItem (FormItem ):
193+ type : FormItemEnum = FormItemEnum .array
194194 items : str = "text" # 这个到时候改为枚举
195195 addable : bool = True # 是否可新增
196196 removable : bool = True # 是否可删除
@@ -202,8 +202,8 @@ class ArrayItem(Control):
202202 maxLength : Optional [int ] # 最长长度
203203
204204
205- class DatetimeItem (Control ):
206- type : ControlEnum = ControlEnum .input_datetime
205+ class DatetimeItem (FormItem ):
206+ type : FormItemEnum = FormItemEnum .input_datetime
207207 value : Optional [str ]
208208 format : str = "YYYY-MM-DD HH:mm:ss" # 'X'为时间戳格式,参考文档:
209209 # https://baidu.gitee.io/amis/zh-CN/docs/components/form/datetime
@@ -219,8 +219,8 @@ class Config:
219219 orm_mode = True
220220
221221
222- class DateItem (Control ):
223- type = ControlEnum .date
222+ class DateItem (FormItem ):
223+ type = FormItemEnum .date
224224 value : Optional [str ]
225225 format : str = "YYYY-MM-DD" # 格式请参考文档:https://baidu.gitee.io/amis/zh-CN/docs/components/form/date # 'X'为时间戳格式
226226 inputFormat : str = "YYYY-MM-DD" # 'X'为时间戳格式
@@ -232,44 +232,44 @@ class Config:
232232 orm_mode = True
233233
234234
235- class SwitchItem (Control ):
235+ class SwitchItem (FormItem ):
236236 # Switch 开关
237- type = ControlEnum .switch
237+ type = FormItemEnum .switch
238238 option : Optional [str ]
239239 trueValue : Optional [int ]
240240 falseValue : Optional [int ]
241241 value : Optional [bool ]
242242
243243
244- class RichTextItem (Control ):
244+ class RichTextItem (FormItem ):
245245 # 目前富文本编辑器基于两个库:froala 和 tinymce,默认使用 tinymce。
246- type = ControlEnum .input_rich_text
246+ type = FormItemEnum .input_rich_text
247247 body : Optional [Dict [str , Any ]]
248248 options : Optional [Dict [str , Any ]]
249249 receiver : Optional [str ]
250250 videoReceiver : Optional [str ]
251251 fileField : Optional [str ]
252252
253253
254- class TextItem (Control ):
255- type = ControlEnum .input_text
254+ class TextItem (FormItem ):
255+ type = FormItemEnum .input_text
256256 body : Optional [Dict [str , Any ]]
257257 trimContents : Optional [bool ] # 是否去除首尾空白文本。
258258 # resetValue: str = "" # 清除后设置此配置项给定的值。
259259
260260
261- class TextareaItem (Control ):
261+ class TextareaItem (FormItem ):
262262 # Textarea 多行文本输入框
263- type = ControlEnum .textarea
263+ type = FormItemEnum .textarea
264264 body : Optional [Dict [str , Any ]]
265265 minRows : Optional [int ] # 最小行数
266266 maxRows : Optional [int ] # 最大行数
267267 trimContents : Optional [bool ] # 是否去除首尾空白文本。
268268
269269
270- class TimeItem (Control ):
270+ class TimeItem (FormItem ):
271271 # Time 时间
272- type = ControlEnum .time
272+ type = FormItemEnum .time
273273 body : Optional [Dict [str , Any ]]
274274 value : Optional [datetime .time ] # 默认值
275275 timeFormat : str = "HH:mm:ss" # 时间选择器值格式,更多格式类型请参考 moment
@@ -282,19 +282,19 @@ class Config:
282282 orm_mode = True
283283
284284
285- class UUIDItem (Control ):
285+ class UUIDItem (FormItem ):
286286 # 随机生成一个 id,可以用于防止表单重复提交。
287- type = ControlEnum .uuid
287+ type = FormItemEnum .uuid
288288 name : Optional [str ] # type: ignore
289289 length : Optional [int ]
290290
291291
292- class CheckboxesItem (Control ):
292+ class CheckboxesItem (FormItem ):
293293 """
294294 复选框
295295 """
296296
297- type = ControlEnum .checkboxes
297+ type = FormItemEnum .checkboxes
298298 optional : Optional [Union [List [Dict [str , str ]]]] # 选项组
299299 source : str # 动态选项组
300300 delimeter : bool = False # 拼接符
@@ -323,9 +323,9 @@ class DynaticCheckboxesItem(CheckboxesItem):
323323 deleteApi : Optional [str ] # 配置删除选项接口
324324
325325
326- class TransferItem (Control ):
326+ class TransferItem (FormItem ):
327327 # Transfer 穿梭器
328- type = ControlEnum .transfer
328+ type = FormItemEnum .transfer
329329 options : Optional [List [Union [dict , str ]]] # 选项组
330330 source : Optional [str ] # 动态选项组
331331 delimeter : Optional [str ] # 拼接符
@@ -358,9 +358,9 @@ class PickerSchema(BaseModel):
358358 columns : Optional [List [Column ]]
359359
360360
361- class PickerItem (Control ):
361+ class PickerItem (FormItem ):
362362 # 列表选取,在功能上和 Select 类似,但它能显示更复杂的信息。默认和 Select 很像,但请看后面的 pickerSchema 设置。
363- type = ControlEnum .picker
363+ type = FormItemEnum .picker
364364 options : Optional [List [Dict [str , str ]]] # 动态选项组
365365 source : Optional [str ]
366366 multiple : bool = False
@@ -375,14 +375,14 @@ class PickerItem(Control):
375375 embed : Optional [bool ] # 是否使用内嵌模式
376376
377377
378- class FileItem (Control ):
379- type = ControlEnum .input_file
378+ class FileItem (FormItem ):
379+ type = FormItemEnum .input_file
380380 receiver : str
381381 asBase64 : bool = True
382382
383383
384- class ImageItem (Control ):
385- type = ControlEnum .input_image
384+ class ImageItem (FormItem ):
385+ type = FormItemEnum .input_image
386386
387387 receiver : str
388388
0 commit comments