amis-editor 4.2.0-beta.2 → 5.1.9-beta.0

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 (220) hide show
  1. package/dist/6dbcbb49b6fd405190a9.png +0 -0
  2. package/dist/component/Editor.d.ts +16 -0
  3. package/dist/component/RegionWrapper.d.ts +10 -0
  4. package/dist/component/VRenderer.d.ts +10 -0
  5. package/dist/component/base/BackTop.d.ts +1 -1
  6. package/dist/component/control/APIControl.d.ts +1158 -0
  7. package/dist/component/control/ActionAPIControl.d.ts +1158 -0
  8. package/dist/component/control/BadgeControl.d.ts +133 -0
  9. package/dist/component/control/BaseControl.d.ts +248 -0
  10. package/dist/component/control/DataBindingControl.d.ts +14 -0
  11. package/dist/component/control/DataPickerControl.d.ts +13 -0
  12. package/dist/component/control/DateShortCutControl.d.ts +83 -0
  13. package/dist/component/control/FormulaControl.d.ts +51 -0
  14. package/dist/component/{Control → control}/OptionControl.d.ts +23 -34
  15. package/dist/component/{Control → control}/PopoverEdit.d.ts +0 -0
  16. package/dist/component/control/StatusControl.d.ts +44 -0
  17. package/dist/component/control/SwitchMoreControl.d.ts +224 -0
  18. package/dist/component/control/ValidationControl.d.ts +65 -0
  19. package/dist/component/control/ValidationItem.d.ts +46 -0
  20. package/dist/component/control/style-control/Background.d.ts +17 -0
  21. package/dist/component/control/style-control/Border.d.ts +18 -0
  22. package/dist/component/control/style-control/BoxModel.d.ts +17 -0
  23. package/dist/component/control/style-control/BoxShadow.d.ts +18 -0
  24. package/dist/component/control/style-control/Display.d.ts +14 -0
  25. package/dist/component/control/style-control/Font.d.ts +16 -0
  26. package/dist/component/control/style-control/font-family.d.ts +11 -0
  27. package/dist/component/control/style-control/transformation.d.ts +29 -0
  28. package/dist/component/control/style-control/types.d.ts +8 -0
  29. package/dist/component/schemaTpl.d.ts +8 -0
  30. package/dist/component/validator.d.ts +62 -0
  31. package/dist/dnd/index.d.ts +1 -1
  32. package/dist/event-action/action-config-panel.d.ts +8 -0
  33. package/dist/event-action/actions.d.ts +3 -0
  34. package/dist/event-action/comp-action-select.d.ts +11 -0
  35. package/dist/event-action/config.d.ts +13 -0
  36. package/dist/event-action/index.d.ts +459 -0
  37. package/dist/event-action/schema.d.ts +32 -0
  38. package/dist/exports.min.js +1 -1
  39. package/dist/index.d.ts +23 -5
  40. package/dist/index.min.js +1 -1
  41. package/dist/manager.d.ts +46 -1
  42. package/dist/plugin/Alert.d.ts +4 -2
  43. package/dist/plugin/Button.d.ts +5 -1
  44. package/dist/plugin/ButtonGroup.d.ts +13 -34
  45. package/dist/plugin/ButtonToolbar.d.ts +4 -10
  46. package/dist/plugin/CRUD.d.ts +2 -0
  47. package/dist/plugin/Chart.d.ts +2 -0
  48. package/dist/plugin/Collapse.d.ts +1 -0
  49. package/dist/plugin/CollapseGroup.d.ts +28 -4
  50. package/dist/plugin/Container.d.ts +2 -1
  51. package/dist/plugin/Dialog.d.ts +12 -2
  52. package/dist/plugin/Drawer.d.ts +12 -2
  53. package/dist/plugin/DropDownButton.d.ts +11 -11
  54. package/dist/plugin/Form/ButtonGroupSelect.d.ts +7 -2
  55. package/dist/plugin/Form/ButtonToolbar.d.ts +8 -7
  56. package/dist/plugin/Form/ChainedSelect.d.ts +3 -0
  57. package/dist/plugin/Form/Checkbox.d.ts +7 -2
  58. package/dist/plugin/Form/Checkboxes.d.ts +8 -2
  59. package/dist/plugin/Form/CodeEditor.d.ts +7 -22
  60. package/dist/plugin/Form/Combo.d.ts +3 -0
  61. package/dist/plugin/Form/Control.d.ts +6 -2
  62. package/dist/plugin/Form/DiffEditor.d.ts +7 -1
  63. package/dist/plugin/Form/Form.d.ts +6 -0
  64. package/dist/plugin/Form/Formula.d.ts +1 -25
  65. package/dist/plugin/Form/InputDate.d.ts +8 -2
  66. package/dist/plugin/Form/InputDateRange.d.ts +8 -2
  67. package/dist/plugin/Form/InputDateTime.d.ts +4 -4
  68. package/dist/plugin/Form/InputDateTimeRange.d.ts +4 -4
  69. package/dist/plugin/Form/InputEmail.d.ts +1 -0
  70. package/dist/plugin/Form/InputExcel.d.ts +6 -41
  71. package/dist/plugin/Form/InputFile.d.ts +7 -3
  72. package/dist/plugin/Form/InputKV.d.ts +6 -0
  73. package/dist/plugin/Form/InputMonth.d.ts +1 -0
  74. package/dist/plugin/Form/InputMonthRange.d.ts +4 -4
  75. package/dist/plugin/Form/InputPassword.d.ts +1 -0
  76. package/dist/plugin/Form/InputQuarter.d.ts +1 -0
  77. package/dist/plugin/Form/InputQuarterRange.d.ts +4 -4
  78. package/dist/plugin/Form/InputRange.d.ts +3 -0
  79. package/dist/plugin/Form/InputRating.d.ts +9 -3
  80. package/dist/plugin/Form/InputText.d.ts +24 -2
  81. package/dist/plugin/Form/InputTime.d.ts +3 -3
  82. package/dist/plugin/Form/InputTimeRange.d.ts +20 -0
  83. package/dist/plugin/Form/InputTree.d.ts +6 -2
  84. package/dist/plugin/Form/InputURL.d.ts +1 -0
  85. package/dist/plugin/Form/InputYear.d.ts +1 -0
  86. package/dist/plugin/Form/InputYearRange.d.ts +20 -0
  87. package/dist/plugin/Form/ListSelect.d.ts +6 -2
  88. package/dist/plugin/Form/LocationPicker.d.ts +1 -31
  89. package/dist/plugin/Form/NestedSelect.d.ts +5 -2
  90. package/dist/plugin/Form/Radios.d.ts +7 -2
  91. package/dist/plugin/Form/Select.d.ts +7 -2
  92. package/dist/plugin/Form/Switch.d.ts +7 -2
  93. package/dist/plugin/Form/TabsTransfer.d.ts +5 -2
  94. package/dist/plugin/Form/Textarea.d.ts +7 -1
  95. package/dist/plugin/Form/Transfer.d.ts +5 -2
  96. package/dist/plugin/Form/TreeSelect.d.ts +6 -2
  97. package/dist/plugin/IFrame.d.ts +2 -2
  98. package/dist/plugin/Nav.d.ts +1 -116
  99. package/dist/plugin/Others/Action.d.ts +5 -1
  100. package/dist/plugin/Page.d.ts +5 -2
  101. package/dist/plugin/Progress.d.ts +5 -1
  102. package/dist/plugin/Table.d.ts +2 -0
  103. package/dist/plugin/Tabs.d.ts +33 -2
  104. package/dist/plugin/TooltipWrapper.d.ts +10 -0
  105. package/dist/plugin/Tpl.d.ts +2 -1
  106. package/dist/plugin/Wizard.d.ts +4 -1
  107. package/dist/plugin.d.ts +37 -1
  108. package/dist/store/editor.d.ts +55 -28
  109. package/dist/store/node.d.ts +16 -0
  110. package/dist/style.css +1 -1
  111. package/dist/util.d.ts +36 -3
  112. package/package.json +14 -8
  113. package/src/component/schemaTpl.tsx +1209 -474
  114. package/src/plugin/Alert.tsx +69 -48
  115. package/src/plugin/AnchorNav.tsx +1 -0
  116. package/src/plugin/Audio.tsx +9 -15
  117. package/src/plugin/Avatar.tsx +2 -1
  118. package/src/plugin/Breadcrumb.tsx +2 -1
  119. package/src/plugin/Button.tsx +257 -188
  120. package/src/plugin/ButtonGroup.tsx +99 -38
  121. package/src/plugin/ButtonToolbar.tsx +7 -13
  122. package/src/plugin/CRUD.tsx +78 -136
  123. package/src/plugin/Card.tsx +1 -0
  124. package/src/plugin/Cards.tsx +8 -14
  125. package/src/plugin/Carousel.tsx +1 -1
  126. package/src/plugin/Chart.tsx +26 -14
  127. package/src/plugin/Collapse.tsx +78 -78
  128. package/src/plugin/CollapseGroup.tsx +165 -83
  129. package/src/plugin/Container.tsx +59 -6
  130. package/src/plugin/Custom.tsx +2 -8
  131. package/src/plugin/CustomRegion.tsx +4 -3
  132. package/src/plugin/Dialog.tsx +55 -24
  133. package/src/plugin/Drawer.tsx +65 -35
  134. package/src/plugin/DropDownButton.tsx +95 -79
  135. package/src/plugin/Flex.tsx +123 -65
  136. package/src/plugin/Form/ButtonGroupSelect.tsx +114 -26
  137. package/src/plugin/Form/ButtonToolbar.tsx +62 -55
  138. package/src/plugin/Form/ChainedSelect.tsx +45 -0
  139. package/src/plugin/Form/Checkbox.tsx +122 -33
  140. package/src/plugin/Form/Checkboxes.tsx +154 -87
  141. package/src/plugin/Form/CodeEditor.tsx +163 -34
  142. package/src/plugin/Form/Combo.tsx +104 -65
  143. package/src/plugin/Form/Control.tsx +16 -70
  144. package/src/plugin/Form/DiffEditor.tsx +158 -54
  145. package/src/plugin/Form/FieldSet.tsx +6 -11
  146. package/src/plugin/Form/Form.tsx +277 -70
  147. package/src/plugin/Form/Formula.tsx +8 -14
  148. package/src/plugin/Form/InputArray.tsx +7 -16
  149. package/src/plugin/Form/InputCity.tsx +1 -1
  150. package/src/plugin/Form/InputDate.tsx +344 -121
  151. package/src/plugin/Form/InputDateRange.tsx +303 -161
  152. package/src/plugin/Form/InputDateTime.tsx +6 -150
  153. package/src/plugin/Form/InputDateTimeRange.tsx +7 -187
  154. package/src/plugin/Form/InputEmail.tsx +1 -0
  155. package/src/plugin/Form/InputExcel.tsx +70 -27
  156. package/src/plugin/Form/InputFile.tsx +326 -152
  157. package/src/plugin/Form/InputImage.tsx +1 -1
  158. package/src/plugin/Form/InputKV.tsx +61 -0
  159. package/src/plugin/Form/InputMonth.tsx +3 -1
  160. package/src/plugin/Form/InputMonthRange.tsx +6 -160
  161. package/src/plugin/Form/InputNumber.tsx +1 -1
  162. package/src/plugin/Form/InputPassword.tsx +2 -0
  163. package/src/plugin/Form/InputQuarter.tsx +3 -1
  164. package/src/plugin/Form/InputQuarterRange.tsx +6 -160
  165. package/src/plugin/Form/InputRange.tsx +74 -4
  166. package/src/plugin/Form/InputRating.tsx +347 -35
  167. package/src/plugin/Form/InputRichText.tsx +2 -3
  168. package/src/plugin/Form/InputTable.tsx +33 -49
  169. package/src/plugin/Form/InputTag.tsx +1 -1
  170. package/src/plugin/Form/InputText.tsx +310 -132
  171. package/src/plugin/Form/InputTime.tsx +4 -53
  172. package/src/plugin/Form/InputTimeRange.tsx +41 -0
  173. package/src/plugin/Form/InputTree.tsx +196 -46
  174. package/src/plugin/Form/InputURL.tsx +2 -0
  175. package/src/plugin/Form/InputYear.tsx +2 -0
  176. package/src/plugin/Form/InputYearRange.tsx +41 -0
  177. package/src/plugin/Form/Item.tsx +17 -18
  178. package/src/plugin/Form/ListSelect.tsx +75 -20
  179. package/src/plugin/Form/LocationPicker.tsx +2 -7
  180. package/src/plugin/Form/MatrixCheckboxes.tsx +1 -1
  181. package/src/plugin/Form/NestedSelect.tsx +110 -43
  182. package/src/plugin/Form/Picker.tsx +2 -5
  183. package/src/plugin/Form/Radios.tsx +122 -52
  184. package/src/plugin/Form/Select.tsx +239 -168
  185. package/src/plugin/Form/Static.tsx +1 -1
  186. package/src/plugin/Form/Switch.tsx +170 -58
  187. package/src/plugin/Form/TabsTransfer.tsx +175 -79
  188. package/src/plugin/Form/Textarea.tsx +146 -36
  189. package/src/plugin/Form/Transfer.tsx +295 -233
  190. package/src/plugin/Form/TreeSelect.tsx +287 -146
  191. package/src/plugin/Grid.tsx +340 -312
  192. package/src/plugin/HBox.tsx +1 -0
  193. package/src/plugin/IFrame.tsx +21 -12
  194. package/src/plugin/Image.tsx +7 -12
  195. package/src/plugin/Images.tsx +7 -12
  196. package/src/plugin/Link.tsx +6 -12
  197. package/src/plugin/List.tsx +6 -10
  198. package/src/plugin/ListItem.tsx +1 -0
  199. package/src/plugin/Nav.tsx +7 -9
  200. package/src/plugin/Others/Action.tsx +16 -10
  201. package/src/plugin/Others/BasicToolbar.tsx +4 -1
  202. package/src/plugin/Others/TableCell.tsx +19 -39
  203. package/src/plugin/Page.tsx +315 -229
  204. package/src/plugin/Panel.tsx +6 -7
  205. package/src/plugin/Plain.tsx +3 -6
  206. package/src/plugin/Progress.tsx +234 -94
  207. package/src/plugin/Service.tsx +10 -6
  208. package/src/plugin/Table.tsx +49 -20
  209. package/src/plugin/TableView.tsx +212 -106
  210. package/src/plugin/Tabs.tsx +306 -146
  211. package/src/plugin/TooltipWrapper.tsx +231 -135
  212. package/src/plugin/Tpl.tsx +68 -52
  213. package/src/plugin/Video.tsx +9 -20
  214. package/src/plugin/Wizard.tsx +537 -336
  215. package/src/plugin/Wrapper.tsx +82 -61
  216. package/src/plugin.ts +66 -4
  217. package/static/empty.png +0 -0
  218. package/dist/component/Control/APIControl.d.ts +0 -504
  219. package/dist/component/Control/ValidationControl.d.ts +0 -30
  220. package/dist/component/remarkTpl.d.ts +0 -150
@@ -1,6 +1,8 @@
1
+ import {RendererAction, RendererEvent} from '../../event-action';
1
2
  import {getSchemaTpl} from '../../component/schemaTpl';
2
3
  import {registerEditorPlugin} from '../../manager';
3
- import {BasePlugin} from '../../plugin';
4
+ import {BaseEventContext, BasePlugin} from '../../plugin';
5
+ import {getEventControlConfig} from '../../util';
4
6
 
5
7
  export class NestedSelectControlPlugin extends BasePlugin {
6
8
  // 关联渲染器名字
@@ -95,7 +97,84 @@ export class NestedSelectControlPlugin extends BasePlugin {
95
97
  ]
96
98
  }
97
99
  };
98
- panelBody = [
100
+
101
+ // 事件定义
102
+ events: RendererEvent[] = [
103
+ {
104
+ eventName: 'change',
105
+ eventLabel: '值变化',
106
+ description: '选中值变化时触发',
107
+ dataSchema: [
108
+ {
109
+ type: 'object',
110
+ properties: {
111
+ 'event.data.value': {
112
+ type: 'string',
113
+ title: '选中值'
114
+ }
115
+ }
116
+ }
117
+ ]
118
+ },
119
+ {
120
+ eventName: 'focus',
121
+ eventLabel: '获取焦点',
122
+ description: '输入框获取焦点时触发',
123
+ dataSchema: [
124
+ {
125
+ type: 'object',
126
+ properties: {
127
+ 'event.data.value': {
128
+ type: 'string',
129
+ title: '选中值'
130
+ }
131
+ }
132
+ }
133
+ ]
134
+ },
135
+ {
136
+ eventName: 'blur',
137
+ eventLabel: '失去焦点',
138
+ description: '输入框失去焦点时触发',
139
+ dataSchema: [
140
+ {
141
+ type: 'object',
142
+ properties: {
143
+ 'event.data.value': {
144
+ type: 'string',
145
+ title: '选中值'
146
+ }
147
+ }
148
+ }
149
+ ]
150
+ }
151
+ ];
152
+
153
+ // 动作定义
154
+ actions: RendererAction[] = [
155
+ {
156
+ actionType: 'clear',
157
+ actionLabel: '清空',
158
+ description: '清除选中值'
159
+ },
160
+ {
161
+ actionType: 'reset',
162
+ actionLabel: '重置',
163
+ description: '将值重置为resetValue,若没有配置resetValue,则清空'
164
+ },
165
+ {
166
+ actionType: 'reload',
167
+ actionLabel: '重新加载',
168
+ description: '触发组件数据刷新并重新渲染'
169
+ },
170
+ {
171
+ actionType: 'setValue',
172
+ actionLabel: '赋值',
173
+ description: '触发组件数据更新'
174
+ }
175
+ ];
176
+
177
+ panelBodyCreator = (context: BaseEventContext) =>
99
178
  getSchemaTpl('tabs', [
100
179
  {
101
180
  title: '常规',
@@ -109,14 +188,8 @@ export class NestedSelectControlPlugin extends BasePlugin {
109
188
  },
110
189
 
111
190
  getSchemaTpl('clearable'),
191
+ getSchemaTpl('searchable'),
112
192
 
113
- {
114
- type: 'switch',
115
- name: 'searchable',
116
- label: '可否检索',
117
- mode: 'inline',
118
- className: 'w-full'
119
- },
120
193
  {
121
194
  type: 'input-text',
122
195
  name: 'searchPromptText',
@@ -127,27 +200,18 @@ export class NestedSelectControlPlugin extends BasePlugin {
127
200
  name: 'noResultsText',
128
201
  label: '无结果时的文本'
129
202
  },
130
- {
131
- type: 'switch',
132
- name: 'hideNodePathLabel',
133
- label: '隐藏选中节点的祖先节点文本信息',
134
- mode: 'inline',
135
- className: 'w-full'
136
- },
137
- {
138
- type: 'switch',
203
+ getSchemaTpl('hideNodePathLabel'),
204
+
205
+ getSchemaTpl('switch', {
139
206
  name: 'enableNodePath',
140
- label: '节点路径模式',
141
- mode: 'inline',
142
- className: 'w-full'
143
- },
144
- {
145
- type: 'switch',
207
+ label: '节点路径模式'
208
+ }),
209
+
210
+ getSchemaTpl('switch', {
146
211
  name: 'onlyChildren',
147
- label: '选中父节点时只使用子节点的值',
148
- mode: 'inline',
149
- className: 'w-full'
150
- },
212
+ label: '选中父节点时只使用子节点的值'
213
+ }),
214
+
151
215
  {
152
216
  type: 'input-text',
153
217
  name: 'pathSeparator',
@@ -168,24 +232,18 @@ export class NestedSelectControlPlugin extends BasePlugin {
168
232
  }),
169
233
  getSchemaTpl('multiple'),
170
234
 
171
- {
235
+ getSchemaTpl('switch', {
172
236
  name: 'cascade',
237
+ label: '不自动选中子节点',
173
238
  visibleOn: 'data.multiple',
174
- label: '不自动选中子节点?',
175
- description: '选中父级时,孩子节点是否自动选中',
176
- type: 'switch',
177
- mode: 'inline',
178
- className: 'w-full'
179
- },
239
+ description: '选中父级时,孩子节点是否自动选中'
240
+ }),
180
241
 
181
- {
242
+ getSchemaTpl('switch', {
182
243
  name: 'withChildren',
183
- visibleOn: 'data.cascade !== true && data.multiple',
184
244
  label: '数值是否携带子节点',
185
- type: 'switch',
186
- mode: 'inline',
187
- className: 'w-full'
188
- },
245
+ visibleOn: 'data.cascade !== true && data.multiple'
246
+ }),
189
247
 
190
248
  getSchemaTpl('joinValues'),
191
249
  getSchemaTpl('delimiter'),
@@ -203,9 +261,18 @@ export class NestedSelectControlPlugin extends BasePlugin {
203
261
  name: 'menuClassName'
204
262
  })
205
263
  ]
264
+ },
265
+ {
266
+ title: '事件',
267
+ className: 'p-none',
268
+ body: [
269
+ getSchemaTpl('eventControl', {
270
+ name: 'onEvent',
271
+ ...getEventControlConfig(this.manager, context)
272
+ })
273
+ ]
206
274
  }
207
- ])
208
- ];
275
+ ]);
209
276
  }
210
277
 
211
278
  registerEditorPlugin(NestedSelectControlPlugin);
@@ -55,13 +55,10 @@ export class PickerControlPlugin extends BasePlugin {
55
55
  panelTitle = '列表选取';
56
56
  panelBodyCreator = (context: BaseEventContext) => {
57
57
  return [
58
- {
59
- type: 'switch',
58
+ getSchemaTpl('switch', {
60
59
  name: 'embed',
61
- mode: 'inline',
62
- className: 'w-full',
63
60
  label: '开启内嵌模式'
64
- },
61
+ }),
65
62
 
66
63
  getSchemaTpl('switchDefaultValue'),
67
64
 
@@ -1,6 +1,10 @@
1
1
  import {defaultValue, getSchemaTpl} from '../../component/schemaTpl';
2
2
  import {registerEditorPlugin} from '../../manager';
3
- import {BasePlugin} from '../../plugin';
3
+ import {BasePlugin, BaseEventContext} from '../../plugin';
4
+
5
+ import {ValidatorTag} from '../../component/validator';
6
+ import {getEventControlConfig} from '../../util';
7
+ import {RendererAction, RendererEvent} from '../../event-action';
4
8
  import flatten = require('lodash/flatten');
5
9
 
6
10
  export class RadiosControlPlugin extends BasePlugin {
@@ -46,74 +50,140 @@ export class RadiosControlPlugin extends BasePlugin {
46
50
  ]
47
51
  };
48
52
 
53
+ notRenderFormZone = true;
54
+
49
55
  panelTitle = '单选框';
50
- panelBody = [
51
- getSchemaTpl('tabs', [
56
+
57
+ // 事件定义
58
+ events: RendererEvent[] = [
59
+ {
60
+ eventName: 'change',
61
+ eventLabel: '值变化',
62
+ description: '选中值变化时触发',
63
+ dataSchema: [
64
+ {
65
+ type: 'object',
66
+ properties: {
67
+ 'event.data.value': {
68
+ type: 'string',
69
+ title: '选中值'
70
+ }
71
+ }
72
+ }
73
+ ]
74
+ }
75
+ ];
76
+
77
+ // 动作定义
78
+ actions: RendererAction[] = [
79
+ {
80
+ actionType: 'clear',
81
+ actionLabel: '清空',
82
+ description: '清除选中值'
83
+ },
84
+ {
85
+ actionType: 'reset',
86
+ actionLabel: '重置',
87
+ description: '将值重置为resetValue,若没有配置resetValue,则清空'
88
+ },
89
+ {
90
+ actionType: 'reload',
91
+ actionLabel: '重新加载',
92
+ description: '触发组件数据刷新并重新渲染'
93
+ },
94
+ {
95
+ actionType: 'setValue',
96
+ actionLabel: '赋值',
97
+ description: '触发组件数据更新'
98
+ }
99
+ ];
100
+
101
+ panelJustify = true;
102
+ panelBodyCreator = (context: BaseEventContext) => {
103
+ return getSchemaTpl('tabs', [
52
104
  {
53
- title: '常规',
54
- body: [
55
- getSchemaTpl('switchDefaultValue'),
105
+ title: '属性',
106
+ body: getSchemaTpl('collapseGroup', [
56
107
  {
57
- type: 'radios',
58
- name: 'value',
59
- label: '默认值',
60
- source: '${options}',
61
- visibleOn: 'typeof this.value !== "undefined"',
62
- multiple: true
108
+ title: '基本',
109
+ body: [
110
+ getSchemaTpl('formItemName', {
111
+ required: true
112
+ }),
113
+ getSchemaTpl('label'),
114
+ // getSchemaTpl('autoFill')
115
+ getSchemaTpl('labelRemark'),
116
+ getSchemaTpl('remark')
117
+ ]
63
118
  },
64
119
  {
65
- label: '是否默认选择第一个',
66
- name: 'selectFirst',
67
- type: 'switch',
68
- mode: 'inline',
69
- className: 'w-full'
70
- },
71
- getSchemaTpl('fieldSet', {
72
120
  title: '选项',
73
121
  body: [
74
- getSchemaTpl('options'),
75
- getSchemaTpl('source'),
76
-
77
- getSchemaTpl('joinValues', {
78
- visibleOn: true
122
+ getSchemaTpl('optionControl'),
123
+ getSchemaTpl('switch', {
124
+ label: '默认选择第一个',
125
+ name: 'selectFirst',
126
+ horizontal: {justify: true, left: 5},
127
+ visibleOn: '!this.options'
79
128
  }),
80
-
81
- getSchemaTpl('extractValue'),
82
- getSchemaTpl('autoFill')
129
+ getSchemaTpl('value', {
130
+ visibleOn: '!this.options && this.selectFirst !== true'
131
+ })
83
132
  ]
133
+ },
134
+ getSchemaTpl('status', {isFormItem: true}),
135
+ getSchemaTpl('validation', {
136
+ tag: ValidatorTag.All
84
137
  })
85
- ]
138
+ ])
86
139
  },
87
140
  {
88
141
  title: '外观',
89
142
  body: [
90
- {
91
- label: '选项在一行显示',
92
- name: 'inline',
93
- type: 'switch',
94
- visibleOn: 'data.mode != "inline"',
95
- mode: 'inline',
96
- className: 'w-full',
97
- pipeIn: defaultValue(true)
98
- },
99
- {
100
- label: '每行显示多少列',
101
- name: 'columnsCount',
102
- hiddenOn:
103
- 'typeof data.inline === "undefined" || data.inline === true',
104
- type: 'input-range',
105
- min: 1,
106
- max: 6,
107
- pipeIn: defaultValue(1)
108
- },
109
- getSchemaTpl('className', {
110
- label: '单个 Radio 的 CSS 类名',
111
- name: 'itemClassName'
143
+ getSchemaTpl('collapseGroup', [
144
+ getSchemaTpl('style:formItem', {
145
+ renderer: context.info.renderer,
146
+ schema: [
147
+ getSchemaTpl('switch', {
148
+ label: '一行选项显示',
149
+ name: 'inline',
150
+ hiddenOn: 'data.mode === "inline"',
151
+ pipeIn: defaultValue(true)
152
+ }),
153
+ {
154
+ label: '每行选项个数',
155
+ name: 'columnsCount',
156
+ hiddenOn: 'data.mode === "inline" || data.inline !== false',
157
+ type: 'input-range',
158
+ min: 1,
159
+ max: 6,
160
+ pipeIn: defaultValue(1)
161
+ }
162
+ ]
163
+ }),
164
+ getSchemaTpl('style:classNames', {
165
+ schema: [
166
+ getSchemaTpl('className', {
167
+ label: '单个选项',
168
+ name: 'itemClassName'
169
+ })
170
+ ]
171
+ })
172
+ ])
173
+ ]
174
+ },
175
+ {
176
+ title: '事件',
177
+ className: 'p-none',
178
+ body: [
179
+ getSchemaTpl('eventControl', {
180
+ name: 'onEvent',
181
+ ...getEventControlConfig(this.manager, context)
112
182
  })
113
183
  ]
114
184
  }
115
- ])
116
- ];
185
+ ]);
186
+ };
117
187
  }
118
188
 
119
189
  registerEditorPlugin(RadiosControlPlugin);