Skip to content

Commit 8da6fb9

Browse files
committed
调整amis的文件结构
1 parent 962db81 commit 8da6fb9

File tree

19 files changed

+530
-893
lines changed

19 files changed

+530
-893
lines changed

fast_tmp/amis/actions.py

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
from typing import Optional, Union
22

3-
from pydantic import HttpUrl
43
from pydantic.main import BaseModel
54

6-
from .base import _Action
7-
from .enums import ActionTypeEnum, ButtonLevelEnum, TypeEnum
8-
from .frame import Dialog, Drawer
5+
from fast_tmp.amis.base import _Action
6+
from fast_tmp.amis.enums import ActionTypeEnum
7+
from fast_tmp.amis.frame import Dialog, Drawer
98

109

1110
class FeedBack(BaseModel): # 和弹窗一致
@@ -34,23 +33,6 @@ class AjaxAction(_Action):
3433
message: Optional[ActionMessage] = None # 修改默认toast信息
3534

3635

37-
# class LinkAction(_Action):
38-
# """
39-
# 单页跳转(暂不支持)
40-
# """
41-
# actionType = ActionTypeEnum.link
42-
# level = ButtonLevelEnum.info
43-
class UrlAction(_Action):
44-
"""
45-
单页跳转(暂不支持)
46-
"""
47-
48-
actionType = ActionTypeEnum.url
49-
level = ButtonLevelEnum.success
50-
url: HttpUrl
51-
blank: bool = False
52-
53-
5436
class CopyAction(_Action):
5537
"""
5638
复制文本
@@ -60,13 +42,8 @@ class CopyAction(_Action):
6042
content: str # 制定要复制的内容
6143

6244

63-
# class ReloadAction(_Action):
64-
# type = ActionTypeEnum.reload
65-
# target: str # 需要刷新的目标组件名字(组件的name值,自己配置的),多个请用 , 号隔开。
66-
67-
6845
class DialogAction(_Action):
69-
type = TypeEnum.button
46+
type = "button"
7047
actionType = ActionTypeEnum.dialog
7148
dialog: Dialog
7249

fast_tmp/amis/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from pydantic.main import BaseModel
44

5-
from fast_tmp.amis.enums import ActionTypeEnum, ButtonLevelEnum, ButtonSize, TypeEnum
5+
from fast_tmp.amis.enums import ActionTypeEnum, ButtonLevelEnum, ButtonSize
66

77

88
class BaseAmisModel(BaseModel):
@@ -21,7 +21,7 @@ class _Action(BaseAmisModel):
2121
操作按钮
2222
"""
2323

24-
type = TypeEnum.action
24+
type = "button"
2525
label: str
2626
actionType: ActionTypeEnum
2727
icon: Optional[str]

fast_tmp/amis/buttons.py

Lines changed: 0 additions & 21 deletions
This file was deleted.

fast_tmp/amis/column.py

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
from enum import Enum
2+
from typing import Any, Dict, List, Optional, Union
3+
4+
from pydantic import BaseModel
5+
6+
from fast_tmp.amis.base import _Action
7+
8+
9+
class ColumnEnum(str, Enum):
10+
text = "text"
11+
mapping = "mapping"
12+
13+
14+
class SelectOption(BaseModel):
15+
label: str
16+
value: Union[int, str]
17+
18+
19+
class Column(BaseModel):
20+
"""
21+
用于列表等的显示
22+
"""
23+
24+
type: Optional[str] # 把这个和schema获取的参数进行融合,保证schema获取的值可以使用
25+
name: str # type: ignore
26+
label: str
27+
28+
29+
class QuickEdit(BaseModel):
30+
model: str = "inline"
31+
type: str
32+
saveImmediately: Optional[bool]
33+
options: Optional[List[Union[SelectOption, str, int]]]
34+
clearable: Optional[bool]
35+
format: Optional[str]
36+
validations: Optional[Any] # 注意,键值对请参考ValidateEnum
37+
timeFormat: Optional[str] # = "HH:mm:ss" # 时间选择器值格式,更多格式类型请参考 moment
38+
inputFormat: Optional[str] # "HH:mm:ss" # 时间选择器显示格式,即时间戳格式,更多格式类型请参考 moment
39+
40+
41+
class ColumnInline(Column):
42+
"""带内联的功能"""
43+
44+
quickEdit: QuickEdit # can not be none
45+
46+
class Config:
47+
orm_mode = True
48+
49+
50+
class Mapping(Column):
51+
"""
52+
专门用来作为枚举显示用的
53+
"""
54+
55+
type = "mapping"
56+
map: Dict[Union[int, str], str] # map的值可以是html片段
57+
58+
59+
class Operation(Column):
60+
type = "operation"
61+
label = "操作"
62+
buttons: List[_Action] = []
63+
name: str = ""

0 commit comments

Comments
 (0)