kts-components-document-access-point 1.3.25 → 1.3.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +4 -4
  3. package/.prettierignore +7 -7
  4. package/.prettierrc +11 -11
  5. package/.umirc.ts +11 -11
  6. package/README.md +3 -3
  7. package/dist/index.esm.js +2 -13
  8. package/dist/index.js +2 -13
  9. package/docs/index.md +3 -3
  10. package/docs-dist/404.html +38 -38
  11. package/docs-dist/index.html +38 -38
  12. package/docs-dist/umi.css +10 -10
  13. package/index.html +12 -12
  14. package/package.json +56 -56
  15. package/src/DocumentWhiteList/___demo___/base/index.tsx +7 -7
  16. package/src/DocumentWhiteList/___demo___/setService/index.tsx +23 -23
  17. package/src/DocumentWhiteList/control/actions/addblack/index.ts +14 -14
  18. package/src/DocumentWhiteList/control/actions/addwhite/index.ts +14 -14
  19. package/src/DocumentWhiteList/control/actions/blacklist/index.ts +22 -22
  20. package/src/DocumentWhiteList/control/actions/checkclient/index.ts +14 -14
  21. package/src/DocumentWhiteList/control/actions/demo/index.ts +4 -4
  22. package/src/DocumentWhiteList/control/actions/didilist/index.ts +18 -18
  23. package/src/DocumentWhiteList/control/actions/enableblacklist/index.ts +17 -17
  24. package/src/DocumentWhiteList/control/actions/enablelist/index.ts +18 -18
  25. package/src/DocumentWhiteList/control/actions/enablewhitelist/index.ts +17 -17
  26. package/src/DocumentWhiteList/control/actions/getmode/index.ts +14 -14
  27. package/src/DocumentWhiteList/control/actions/setmode/index.ts +14 -14
  28. package/src/DocumentWhiteList/control/actions/synclist/index.ts +19 -19
  29. package/src/DocumentWhiteList/control/actions/whitelist/index.ts +22 -22
  30. package/src/DocumentWhiteList/control/index.tsx +42 -42
  31. package/src/DocumentWhiteList/control/state/index.ts +47 -47
  32. package/src/DocumentWhiteList/index.md +5 -5
  33. package/src/DocumentWhiteList/index.tsx +40 -40
  34. package/src/DocumentWhiteList/interface/index.ts +30 -30
  35. package/src/DocumentWhiteList/ui/clientmodal/index.tsx +190 -190
  36. package/src/DocumentWhiteList/ui/main/black.tsx +132 -132
  37. package/src/DocumentWhiteList/ui/main/index.tsx +49 -49
  38. package/src/DocumentWhiteList/ui/main/switchmode.tsx +52 -52
  39. package/src/DocumentWhiteList/ui/main/white.tsx +120 -120
  40. package/src/DocumentWhiteList/ui/pageheader/BlackHeader.tsx +143 -143
  41. package/src/DocumentWhiteList/ui/pageheader/WhiteHeader.tsx +152 -152
  42. package/src/DocumentWhiteList/ui/pageui/index.tsx +64 -64
  43. package/src/DocumentWhiteList/ui/whitemodal/index.tsx +146 -146
  44. package/src/DocumentWhiteList/util/ConfigEnum.ts +8 -8
  45. package/src/DocumentsCont/___demo___/base/index.tsx +7 -7
  46. package/src/DocumentsCont/___demo___/setService/index.tsx +25 -25
  47. package/src/DocumentsCont/index.md +9 -9
  48. package/src/DocumentsCont/index.tsx +51 -51
  49. package/src/DocumentsDemo/Controller/index.tsx +14 -14
  50. package/src/DocumentsDemo/Controller/whitelist.ts +22 -22
  51. package/src/DocumentsDemo/Text.tsx +22 -22
  52. package/src/DocumentsDemo/___demo___/base/index.tsx +7 -7
  53. package/src/DocumentsDemo/index.md +6 -6
  54. package/src/DocumentsDemo/index.tsx +38 -38
  55. package/src/DocumentsEdit/DocumentsEditController/DocumentsEditControllerState/IProperties/index.ts +69 -69
  56. package/src/DocumentsEdit/DocumentsEditController/DocumentsEditControllerState/IRules/index.ts +18 -18
  57. package/src/DocumentsEdit/DocumentsEditController/DocumentsEditControllerState/ISchema/index.ts +14 -14
  58. package/src/DocumentsEdit/DocumentsEditController/DocumentsEditControllerState/PropertyTableState/index.ts +12 -12
  59. package/src/DocumentsEdit/DocumentsEditController/DocumentsEditControllerState/RuleState/index.ts +336 -336
  60. package/src/DocumentsEdit/DocumentsEditController/DocumentsEditControllerState/index.ts +51 -51
  61. package/src/DocumentsEdit/DocumentsEditController/actions/addProperties/index.ts +37 -37
  62. package/src/DocumentsEdit/DocumentsEditController/actions/delProperties/index.ts +48 -48
  63. package/src/DocumentsEdit/DocumentsEditController/actions/editProperties/index.ts +78 -78
  64. package/src/DocumentsEdit/DocumentsEditController/index.tsx +21 -21
  65. package/src/DocumentsEdit/___demo___/conventional/index.tsx +10 -10
  66. package/src/DocumentsEdit/___demo___/monitor/index.tsx +73 -73
  67. package/src/DocumentsEdit/___demo___/readOnly/index.tsx +16 -16
  68. package/src/DocumentsEdit/constant/propertyColumns/index.tsx +65 -65
  69. package/src/DocumentsEdit/index.less +45 -45
  70. package/src/DocumentsEdit/index.md +10 -10
  71. package/src/DocumentsEdit/index.tsx +117 -117
  72. package/src/DocumentsEdit/tools/index.ts +88 -88
  73. package/src/DocumentsEdit/ui/AddPropertyButton/index.tsx +238 -250
  74. package/src/DocumentsEdit/ui/Breadcrumb/index.tsx +51 -51
  75. package/src/DocumentsEdit/ui/EditProperty/index.tsx +290 -290
  76. package/src/DocumentsEdit/ui/EditRule/index.tsx +156 -156
  77. package/src/DocumentsEdit/ui/EditRule/ui/AddRuleButton/index.tsx +49 -49
  78. package/src/DocumentsEdit/ui/EditRule/ui/DelRuleButton/index.tsx +31 -31
  79. package/src/DocumentsEdit/ui/EditRule/ui/RuleForm/fn/algorithmFormComponent/index.tsx +142 -142
  80. package/src/DocumentsEdit/ui/EditRule/ui/RuleForm/index.tsx +154 -154
  81. package/src/DocumentsEdit/ui/PropertyTable/hooks/useTableProps/index.less +4 -4
  82. package/src/DocumentsEdit/ui/PropertyTable/hooks/useTableProps/index.tsx +70 -68
  83. package/src/DocumentsEdit/ui/PropertyTable/hooks/useTableProps/ui/AddChildPropertyButton/index.tsx +34 -34
  84. package/src/DocumentsEdit/ui/PropertyTable/hooks/useTableProps/ui/AddRuleButton/index.tsx +64 -64
  85. package/src/DocumentsEdit/ui/PropertyTable/hooks/useTableProps/ui/EditPropertyButton/index.tsx +31 -31
  86. package/src/DocumentsEdit/ui/PropertyTable/index.less +19 -19
  87. package/src/DocumentsEdit/ui/PropertyTable/index.tsx +18 -18
  88. package/src/DocumentsEdit/ui/RefPropertyButton/index.tsx +121 -121
  89. package/src/DocumentsList/DocumentsListController/DocumentsListControllerState/index.ts +55 -55
  90. package/src/DocumentsList/DocumentsListController/actions/demo/index.ts +4 -4
  91. package/src/DocumentsList/DocumentsListController/actions/typelist/index.ts +15 -15
  92. package/src/DocumentsList/DocumentsListController/index.tsx +16 -16
  93. package/src/DocumentsList/___demo___/list/index.tsx +4 -4
  94. package/src/DocumentsList/index.less +22 -22
  95. package/src/DocumentsList/index.md +3 -3
  96. package/src/DocumentsList/index.tsx +46 -46
  97. package/src/DocumentsList/ui/ModalComfirm/index.tsx +92 -92
  98. package/src/DocumentsList/ui/PageHeader/SendHeader.tsx +230 -230
  99. package/src/DocumentsList/ui/PageHeader/index.tsx +325 -325
  100. package/src/DocumentsList/ui/PageUI/index.tsx +65 -65
  101. package/src/DocumentsList/ui/RuleTable/index.tsx +163 -163
  102. package/src/DocumentsList/ui/sendlist/index.tsx +151 -151
  103. package/src/DocumentsList/util/ConfigEnum.ts +11 -11
  104. package/src/DocumentsRule/control/actions/batchsend/index.ts +13 -13
  105. package/src/DocumentsRule/control/actions/configsave/index.ts +14 -14
  106. package/src/DocumentsRule/control/actions/configupdate/index.ts +13 -13
  107. package/src/DocumentsRule/control/actions/getconfigbyid/index.ts +14 -14
  108. package/src/DocumentsRule/control/actions/getrecordbyid/index.ts +14 -14
  109. package/src/DocumentsRule/control/actions/gettemplate/index.ts +15 -15
  110. package/src/DocumentsRule/control/actions/listbysubjectid/index.ts +13 -13
  111. package/src/DocumentsRule/control/actions/typelist/index.ts +13 -13
  112. package/src/DocumentsRule/control/index.tsx +30 -30
  113. package/src/DocumentsRule/control/state/index.ts +42 -42
  114. package/src/DocumentsRule/index.md +1 -1
  115. package/src/DocumentsRule/index.tsx +25 -25
  116. package/src/DocumentsRule/interface/index.ts +28 -28
  117. package/src/DocumentsRule/ui/main/index.tsx +357 -357
  118. package/src/DocumentsService/index.ts +18 -18
  119. package/src/index.ts +9 -9
  120. package/tsconfig.json +29 -29
  121. package/typings.d.ts +3 -3
@@ -1,251 +1,239 @@
1
- import React from 'react';
2
- import { v4 as uuidv4 } from 'uuid';
3
- import {
4
- Button,
5
- Drawer,
6
- Space,
7
- Form,
8
- Input,
9
- Radio,
10
- Switch,
11
- FormInstance,
12
- Select,
13
- Divider
14
- } from 'kts-components-antd-x4';
15
- import DocumentsEdit from '../../';
16
- import * as tools from '../../tools';
17
- import IProperties from '../../DocumentsEditController/DocumentsEditControllerState/IProperties';
18
-
19
- const { Option } = Select;
20
- const { TextArea } = Input;
21
-
22
- export default () => {
23
-
24
- const controller = DocumentsEdit.useDocumentsEditController();
25
-
26
- /** 当前正在处理的属性 */
27
- const current = controller.useMemo(s => s.propertyTableState.current, []);
28
-
29
- /** 只读模式 */
30
- const readOnly = controller.useMemo(s => s.readOnly, []);
31
-
32
- const [visible, setVisible] = React.useState(false);
33
-
34
- const onOpen = React.useCallback(() => { setVisible(true) }, []);
35
-
36
- const onClose = React.useCallback(() => { setVisible(false) }, []);
37
-
38
- const [form] = Form.useForm();
39
-
40
- /** 点击了提交 */
41
- const onSubmit = React.useCallback(async () => {
42
- try {
43
- const values = await form.validateFields();
44
- const name = uuidv4();
45
- const properties: IProperties = {
46
- $id: `#/definitions/${name}`,
47
- $count: 1,
48
- $name: name,
49
- $createTime: new Date().getTime(),
50
- title: values.title,
51
- type: values.isArray ? 'array' : tools.getType(values.type),
52
- format: values.isArray ? undefined : tools.getFormat(values.type),
53
- items: tools.getItems({ ...values, $name: name }),
54
- // required: values.required,
55
- description: values.description,
56
- // rules: values.isArray ? [{
57
- // _index: 0,
58
- // name: '数组容量校验',
59
- // checkType: 'control',
60
- // message: '数组超过最大容量',
61
- // algorithm: 'array-0',
62
- // minItems: values.minItems ? parseInt(values.minItems) : undefined,
63
- // maxItems: values.maxItems ? parseInt(values.maxItems) : undefined,
64
- // exclusiveMinItems: values.exclusiveMinItems,
65
- // exclusiveMaxItems: values.exclusiveMaxItems,
66
- // }] : [],
67
- rules: values.isArray ? [{
68
- _index: 0,
69
- name: '数组容量校验(Min)',
70
- checkType: 'control',
71
- message: `数组长度不得小于${values.exclusiveMinItems ? "等于" : ""}${values.minItems}`,
72
- algorithm: 'array-0',
73
- minItems: values.minItems ? parseInt(values.minItems) : undefined,
74
- exclusiveMinItems: values.exclusiveMinItems,
75
- }, {
76
- _index: 0,
77
- name: '数组容量校验(Max)',
78
- checkType: 'control',
79
- message: `数组长度不得大于${values.exclusiveMaxItems ? "等于" : ""}${values.maxItems}`,
80
- algorithm: 'array-1',
81
- maxItems: values.maxItems ? parseInt(values.maxItems) : undefined,
82
- exclusiveMaxItems: values.exclusiveMaxItems,
83
- }] : undefined,
84
- }
85
- controller.addProperties({ current, properties, values });
86
- onClose();
87
- } catch (error) {
88
- }
89
- }, [current, controller])
90
-
91
- return (
92
- <>
93
- {readOnly === false && <Button onClick={onOpen} >新增字段</Button>}
94
- <Drawer
95
- title="新增字段"
96
- placement="right"
97
- width={500}
98
- onClose={onClose}
99
- visible={visible}
100
- destroyOnClose={true}
101
- footer={
102
- <Space>
103
- <Button onClick={onSubmit} type="primary" >确定</Button>
104
- <Button onClick={onClose} >取消</Button>
105
- </Space>
106
- }
107
- >
108
- <DrawerBody form={form} />
109
- </Drawer>
110
- </>
111
- );
112
- };
113
-
114
- const DrawerBody = (props: { form: FormInstance<any> }) => {
115
-
116
- const controller = DocumentsEdit.useDocumentsEditController();
117
-
118
- React.useEffect(() => () => { props.form.resetFields() }, []);
119
-
120
- // 是否数组
121
- const [isArray, setIsArray] = React.useState(false);
122
-
123
- const definitions = controller.useMemo(s => s.propertyTableState.current?.properties ?? {}, [])
124
-
125
- return (
126
- <Form
127
- labelCol={{ span: 8 }}
128
- wrapperCol={{ span: 16 }}
129
- form={props.form}
130
- layout="horizontal"
131
- >
132
- <Form.Item
133
- name="$name"
134
- label="字段名"
135
- rules={[
136
- { required: true, message: '请输入字段名' },
137
- { pattern: /^([a-z]|[A-Z]|_)\w*$/, message: '只能英文、数字、下划线,并且英文、下划线开头' },
138
- { max: 50, message: '只能输入50个字符' },
139
- {
140
- validator(_, value: string) {
141
- if (!value) return Promise.resolve();
142
- if (value.length > 20) return Promise.resolve();
143
- if (definitions[value]) {
144
- return Promise.reject(new Error('字段名已被使用'));
145
- } else {
146
- return Promise.resolve();
147
- }
148
- }
149
- }
150
- ]}
151
- >
152
- <Input placeholder="请输入字段名" />
153
- </Form.Item>
154
- <Form.Item
155
- name="title"
156
- label="显示名称"
157
- rules={[
158
- { required: true, message: '请输入显示名称' },
159
- { max: 20, message: '只能输入20个字符' },
160
- ]}
161
- >
162
- <Input placeholder="请输入显示名称" />
163
- </Form.Item>
164
- <Form.Item
165
- name="isArray"
166
- label="是否数组"
167
- initialValue={false}
168
- >
169
- <Radio.Group onChange={e => { setIsArray(e.target.value) }} >
170
- <Radio value={false}>单值</Radio>
171
- <Radio value={true}>数组</Radio>
172
- </Radio.Group>
173
- </Form.Item>
174
-
175
- {
176
- isArray && <>
177
- <Divider />
178
- <Form.Item
179
- name="minItems"
180
- label="最少项"
181
- rules={[
182
- { pattern: /(^[1-9]\d*$)|^[0]$/, message: '支持不超过20位的正整数' },
183
- { max: 20, message: '支持不超过20位的正整数' },
184
- ]}
185
- >
186
- <Input placeholder="请输入最少项" />
187
- </Form.Item>
188
- <Form.Item
189
- name="maxItems"
190
- label="最多项"
191
- rules={[
192
- { pattern: /(^[1-9]\d*$)|^[0]$/, message: '支持不超过20位的正整数' },
193
- { max: 20, message: '支持不超过20位的正整数' },
194
- ]}
195
- >
196
- <Input placeholder="请输入最多项" />
197
- </Form.Item>
198
- <Form.Item
199
- name="exclusiveMinItems"
200
- label="排除最少项"
201
- valuePropName="checked"
202
- >
203
- <Switch />
204
- </Form.Item>
205
- <Form.Item
206
- name="exclusiveMaxItems"
207
- label="排除最多项"
208
- valuePropName="checked"
209
- >
210
- <Switch />
211
- </Form.Item>
212
- <Divider />
213
- </>
214
- }
215
-
216
- <Form.Item
217
- name="required"
218
- label="是否必填"
219
- valuePropName="checked"
220
- initialValue={true}
221
- >
222
- <Switch />
223
- </Form.Item>
224
- <Form.Item
225
- name="type"
226
- label="类型"
227
- initialValue="string"
228
- >
229
- <Select>
230
- <Option key="00" value="string">{tools.getTypeName('string')}</Option>
231
- <Option key="01" value="string|date">{tools.getTypeName('string|date')}</Option>
232
- <Option key="02" value="string|time">{tools.getTypeName('string|time')}</Option>
233
- <Option key="03" value="string|date-time">{tools.getTypeName('string|date-time')}</Option>
234
- <Option key="04" value="boolean">{tools.getTypeName('boolean')}</Option>
235
- <Option key="05" value="integer">{tools.getTypeName('integer')}</Option>
236
- <Option key="06" value="number">{tools.getTypeName('number')}</Option>
237
- <Option key="07" value="object">{tools.getTypeName('object')}</Option>
238
- </Select>
239
- </Form.Item>
240
- <Form.Item
241
- name="description"
242
- label="描述"
243
- rules={[
244
- { max: 50, message: '只能输入50个字符' }
245
- ]}
246
- >
247
- <TextArea autoSize placeholder="请输入描述" />
248
- </Form.Item>
249
- </Form>
250
- )
1
+ import React from 'react';
2
+ import { v4 as uuidv4 } from 'uuid';
3
+ import {
4
+ Button,
5
+ Drawer,
6
+ Space,
7
+ Form,
8
+ Input,
9
+ Radio,
10
+ Switch,
11
+ FormInstance,
12
+ Select,
13
+ Divider
14
+ } from 'kts-components-antd-x4';
15
+ import DocumentsEdit from '../../';
16
+ import * as tools from '../../tools';
17
+ import IProperties from '../../DocumentsEditController/DocumentsEditControllerState/IProperties';
18
+
19
+ const { Option } = Select;
20
+ const { TextArea } = Input;
21
+
22
+ export default () => {
23
+
24
+ const controller = DocumentsEdit.useDocumentsEditController();
25
+
26
+ /** 当前正在处理的属性 */
27
+ const current = controller.useMemo(s => s.propertyTableState.current, []);
28
+
29
+ /** 只读模式 */
30
+ const readOnly = controller.useMemo(s => s.readOnly, []);
31
+
32
+ const [visible, setVisible] = React.useState(false);
33
+
34
+ const onOpen = React.useCallback(() => { setVisible(true) }, []);
35
+
36
+ const onClose = React.useCallback(() => { setVisible(false) }, []);
37
+
38
+ const [form] = Form.useForm();
39
+
40
+ /** 点击了提交 */
41
+ const onSubmit = React.useCallback(async () => {
42
+ try {
43
+ const values = await form.validateFields();
44
+ const name = uuidv4();
45
+ const properties: IProperties = {
46
+ $id: `#/definitions/${name}`,
47
+ $count: 1,
48
+ $name: name,
49
+ $createTime: new Date().getTime(),
50
+ title: values.title,
51
+ type: values.isArray ? 'array' : tools.getType(values.type),
52
+ format: values.isArray ? undefined : tools.getFormat(values.type),
53
+ items: tools.getItems({ ...values, $name: name }),
54
+ description: values.description,
55
+ rules: values.isArray ? [{
56
+ _index: 0,
57
+ name: '数组容量校验(Min)',
58
+ checkType: 'control',
59
+ message: `数组长度不得小于${values.exclusiveMinItems ? "等于" : ""}${values.minItems}`,
60
+ algorithm: 'array-0',
61
+ minItems: values.minItems ? parseInt(values.minItems) : undefined,
62
+ exclusiveMinItems: values.exclusiveMinItems,
63
+ }, {
64
+ _index: 0,
65
+ name: '数组容量校验(Max)',
66
+ checkType: 'control',
67
+ message: `数组长度不得大于${values.exclusiveMaxItems ? "等于" : ""}${values.maxItems}`,
68
+ algorithm: 'array-1',
69
+ maxItems: values.maxItems ? parseInt(values.maxItems) : undefined,
70
+ exclusiveMaxItems: values.exclusiveMaxItems,
71
+ }] : undefined,
72
+ }
73
+ controller.addProperties({ current, properties, values });
74
+ onClose();
75
+ } catch (error) {
76
+ }
77
+ }, [current, controller])
78
+
79
+ return (
80
+ <>
81
+ {readOnly === false && <Button onClick={onOpen} >新增字段</Button>}
82
+ <Drawer
83
+ title="新增字段"
84
+ placement="right"
85
+ width={500}
86
+ onClose={onClose}
87
+ visible={visible}
88
+ destroyOnClose={true}
89
+ footer={
90
+ <Space>
91
+ <Button onClick={onSubmit} type="primary" >确定</Button>
92
+ <Button onClick={onClose} >取消</Button>
93
+ </Space>
94
+ }
95
+ >
96
+ <DrawerBody form={form} />
97
+ </Drawer>
98
+ </>
99
+ );
100
+ };
101
+
102
+ const DrawerBody = (props: { form: FormInstance<any> }) => {
103
+
104
+ const controller = DocumentsEdit.useDocumentsEditController();
105
+
106
+ React.useEffect(() => () => { props.form.resetFields() }, []);
107
+
108
+ // 是否数组
109
+ const [isArray, setIsArray] = React.useState(false);
110
+
111
+ const definitions = controller.useMemo(s => s.propertyTableState.current?.properties ?? {}, [])
112
+
113
+ return (
114
+ <Form
115
+ labelCol={{ span: 8 }}
116
+ wrapperCol={{ span: 16 }}
117
+ form={props.form}
118
+ layout="horizontal"
119
+ >
120
+ <Form.Item
121
+ name="$name"
122
+ label="字段名"
123
+ rules={[
124
+ { required: true, message: '请输入字段名' },
125
+ { pattern: /^([a-z]|[A-Z]|_)\w*$/, message: '只能英文、数字、下划线,并且英文、下划线开头' },
126
+ { max: 50, message: '只能输入50个字符' },
127
+ {
128
+ validator(_, value: string) {
129
+ if (!value) return Promise.resolve();
130
+ if (value.length > 20) return Promise.resolve();
131
+ if (definitions[value]) {
132
+ return Promise.reject(new Error('字段名已被使用'));
133
+ } else {
134
+ return Promise.resolve();
135
+ }
136
+ }
137
+ }
138
+ ]}
139
+ >
140
+ <Input placeholder="请输入字段名" />
141
+ </Form.Item>
142
+ <Form.Item
143
+ name="title"
144
+ label="显示名称"
145
+ rules={[
146
+ { required: true, message: '请输入显示名称' },
147
+ { max: 20, message: '只能输入20个字符' },
148
+ ]}
149
+ >
150
+ <Input placeholder="请输入显示名称" />
151
+ </Form.Item>
152
+ <Form.Item
153
+ name="isArray"
154
+ label="是否数组"
155
+ initialValue={false}
156
+ >
157
+ <Radio.Group onChange={e => { setIsArray(e.target.value) }} >
158
+ <Radio value={false}>单值</Radio>
159
+ <Radio value={true}>数组</Radio>
160
+ </Radio.Group>
161
+ </Form.Item>
162
+
163
+ {
164
+ isArray && <>
165
+ <Divider />
166
+ <Form.Item
167
+ name="minItems"
168
+ label="最少项"
169
+ rules={[
170
+ { pattern: /(^[1-9]\d*$)|^[0]$/, message: '支持不超过20位的正整数' },
171
+ { max: 20, message: '支持不超过20位的正整数' },
172
+ ]}
173
+ >
174
+ <Input placeholder="请输入最少项" />
175
+ </Form.Item>
176
+ <Form.Item
177
+ name="maxItems"
178
+ label="最多项"
179
+ rules={[
180
+ { pattern: /(^[1-9]\d*$)|^[0]$/, message: '支持不超过20位的正整数' },
181
+ { max: 20, message: '支持不超过20位的正整数' },
182
+ ]}
183
+ >
184
+ <Input placeholder="请输入最多项" />
185
+ </Form.Item>
186
+ <Form.Item
187
+ name="exclusiveMinItems"
188
+ label="排除最少项"
189
+ valuePropName="checked"
190
+ >
191
+ <Switch />
192
+ </Form.Item>
193
+ <Form.Item
194
+ name="exclusiveMaxItems"
195
+ label="排除最多项"
196
+ valuePropName="checked"
197
+ >
198
+ <Switch />
199
+ </Form.Item>
200
+ <Divider />
201
+ </>
202
+ }
203
+
204
+ <Form.Item
205
+ name="required"
206
+ label="是否必填"
207
+ valuePropName="checked"
208
+ initialValue={true}
209
+ >
210
+ <Switch />
211
+ </Form.Item>
212
+ <Form.Item
213
+ name="type"
214
+ label="类型"
215
+ initialValue="string"
216
+ >
217
+ <Select>
218
+ <Option key="00" value="string">{tools.getTypeName('string')}</Option>
219
+ <Option key="01" value="string|date">{tools.getTypeName('string|date')}</Option>
220
+ <Option key="02" value="string|time">{tools.getTypeName('string|time')}</Option>
221
+ <Option key="03" value="string|date-time">{tools.getTypeName('string|date-time')}</Option>
222
+ <Option key="04" value="boolean">{tools.getTypeName('boolean')}</Option>
223
+ <Option key="05" value="integer">{tools.getTypeName('integer')}</Option>
224
+ <Option key="06" value="number">{tools.getTypeName('number')}</Option>
225
+ <Option key="07" value="object">{tools.getTypeName('object')}</Option>
226
+ </Select>
227
+ </Form.Item>
228
+ <Form.Item
229
+ name="description"
230
+ label="描述"
231
+ rules={[
232
+ { max: 50, message: '只能输入50个字符' }
233
+ ]}
234
+ >
235
+ <TextArea autoSize placeholder="请输入描述" />
236
+ </Form.Item>
237
+ </Form>
238
+ )
251
239
  }
@@ -1,51 +1,51 @@
1
- import React from 'react';
2
- import { Breadcrumb, Button } from 'kts-components-antd-x4';
3
- import DocumentsEdit from '../../';
4
- // import IProperties from '../../DocumentsEditController/DocumentsEditControllerState/IProperties';
5
- import { IDataSource } from '../../../DocumentsEdit/DocumentsEditController/DocumentsEditControllerState';
6
-
7
- export default () => {
8
-
9
- const controller = DocumentsEdit.useDocumentsEditController();
10
-
11
- const title = controller.useMemo(s => s.schema.title, [])
12
-
13
- const breadcrumbState = controller.useMemo(s => s.breadcrumbState, []);
14
-
15
- const onClickRoot = React.useCallback(() => {
16
- controller.pipeline(async s => {
17
- s.propertyTableState.current = s.schema;
18
- s.breadcrumbState = [];
19
- })()
20
- }, [controller])
21
-
22
- const onClickchild = React.useCallback((e: IDataSource) => {
23
- controller.pipeline(async s => {
24
- s.propertyTableState.current = e.ref;
25
- for (; s.breadcrumbState.length !== 0;) {
26
- if (s.breadcrumbState[s.breadcrumbState.length - 1] === e) break;
27
- s.breadcrumbState.pop()
28
- }
29
- s.breadcrumbState = s.breadcrumbState.slice()
30
- })()
31
- }, [])
32
-
33
- if (breadcrumbState.length === 0) return <span></span>;
34
-
35
- return (
36
- <Breadcrumb separator=">">
37
- <Breadcrumb.Item key="root" >
38
- <Button style={{ padding: 0 }} onClick={onClickRoot} type="link">{title}</Button>
39
- </Breadcrumb.Item>
40
- {
41
- breadcrumbState.map((e, i) => {
42
- return (
43
- <Breadcrumb.Item key={i}>
44
- <Button style={{ padding: 0 }} onClick={() => { onClickchild(e) }} type="link">{`${e.value.alias}(${e.value.$name})`}</Button>
45
- </Breadcrumb.Item>
46
- )
47
- })
48
- }
49
- </Breadcrumb>
50
- );
51
- };
1
+ import React from 'react';
2
+ import { Breadcrumb, Button } from 'kts-components-antd-x4';
3
+ import DocumentsEdit from '../../';
4
+ // import IProperties from '../../DocumentsEditController/DocumentsEditControllerState/IProperties';
5
+ import { IDataSource } from '../../../DocumentsEdit/DocumentsEditController/DocumentsEditControllerState';
6
+
7
+ export default () => {
8
+
9
+ const controller = DocumentsEdit.useDocumentsEditController();
10
+
11
+ const title = controller.useMemo(s => s.schema.title, [])
12
+
13
+ const breadcrumbState = controller.useMemo(s => s.breadcrumbState, []);
14
+
15
+ const onClickRoot = React.useCallback(() => {
16
+ controller.pipeline(async s => {
17
+ s.propertyTableState.current = s.schema;
18
+ s.breadcrumbState = [];
19
+ })()
20
+ }, [controller])
21
+
22
+ const onClickchild = React.useCallback((e: IDataSource) => {
23
+ controller.pipeline(async s => {
24
+ s.propertyTableState.current = e.ref;
25
+ for (; s.breadcrumbState.length !== 0;) {
26
+ if (s.breadcrumbState[s.breadcrumbState.length - 1] === e) break;
27
+ s.breadcrumbState.pop()
28
+ }
29
+ s.breadcrumbState = s.breadcrumbState.slice()
30
+ })()
31
+ }, [])
32
+
33
+ if (breadcrumbState.length === 0) return <span></span>;
34
+
35
+ return (
36
+ <Breadcrumb separator=">">
37
+ <Breadcrumb.Item key="root" >
38
+ <Button style={{ padding: 0 }} onClick={onClickRoot} type="link">{title}</Button>
39
+ </Breadcrumb.Item>
40
+ {
41
+ breadcrumbState.map((e, i) => {
42
+ return (
43
+ <Breadcrumb.Item key={i}>
44
+ <Button style={{ padding: 0 }} onClick={() => { onClickchild(e) }} type="link">{`${e.value.alias}(${e.value.$name})`}</Button>
45
+ </Breadcrumb.Item>
46
+ )
47
+ })
48
+ }
49
+ </Breadcrumb>
50
+ );
51
+ };