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

Sign up to get free protection for your applications and to get access to all the features.
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,7 +1,9 @@
1
1
  import {ContainerWrapper} from '../component/ContainerWrapper';
2
2
  import {registerEditorPlugin} from '../manager';
3
- import {BasePlugin} from '../plugin';
3
+ import {BaseEventContext, BasePlugin} from '../plugin';
4
4
  import {getSchemaTpl} from '../component/schemaTpl';
5
+ import {getEventControlConfig} from '../util';
6
+ import {RendererAction, RendererEvent} from '../event-action';
5
7
  import type {SchemaObject} from 'amis/lib/Schema';
6
8
 
7
9
  export class PagePlugin extends BasePlugin {
@@ -37,6 +39,44 @@ export class PagePlugin extends BasePlugin {
37
39
  body: '内容'
38
40
  };
39
41
 
42
+ events: RendererEvent[] = [
43
+ {
44
+ eventName: 'inited',
45
+ eventLabel: '初始化完成',
46
+ description: '远程初始化接口请求成功时触发',
47
+ dataSchema: [
48
+ {
49
+ type: 'object',
50
+ properties: {
51
+ 'event.data': {
52
+ type: 'object',
53
+ title: '远程请求返回的初始化数据'
54
+ }
55
+ }
56
+ }
57
+ ]
58
+ },
59
+ {
60
+ eventName: 'pullRefresh',
61
+ eventLabel: '下拉刷新',
62
+ description: '开启下拉刷新后,下拉释放后触发(仅用于移动端)'
63
+ }
64
+ ];
65
+
66
+ // 动作定义
67
+ actions: RendererAction[] = [
68
+ {
69
+ actionType: 'reload',
70
+ actionLabel: '重新加载',
71
+ description: '触发组件数据刷新并重新渲染'
72
+ },
73
+ {
74
+ actionType: 'setValue',
75
+ actionLabel: '更新数据',
76
+ description: '触发组件数据更新'
77
+ }
78
+ ];
79
+
40
80
  // 普通容器类渲染器配置
41
81
  regions = [
42
82
  {key: 'toolbar', label: '工具栏', preferTag: '工具栏内容'},
@@ -46,91 +86,93 @@ export class PagePlugin extends BasePlugin {
46
86
  wrapper = ContainerWrapper;
47
87
 
48
88
  panelTitle = '页面';
49
- panelBody = [
50
- getSchemaTpl('tabs', [
51
- {
52
- title: '常规',
53
- body: [
54
- {
55
- type: 'checkboxes',
56
- name: 'regions',
57
- label: '区域展示',
58
- pipeIn: (value: any) =>
59
- Array.isArray(value)
60
- ? value
61
- : ['auto', 'body', 'toolbar', 'aside', 'header'],
62
- pipeOut: (value: any) => {
63
- return Array.isArray(value) && ~value.indexOf('auto')
64
- ? undefined
65
- : value.length
66
- ? value
67
- : ['auto', 'body', 'toolbar', 'aside', 'header'];
68
- },
69
- joinValues: false,
70
- extractValue: true,
71
- inline: false,
72
- options: [
73
- {
74
- label: '自动',
75
- value: 'auto'
89
+ panelBodyCreator = (context: BaseEventContext) => {
90
+ return [
91
+ getSchemaTpl('tabs', [
92
+ {
93
+ title: '常规',
94
+ body: [
95
+ {
96
+ type: 'checkboxes',
97
+ name: 'regions',
98
+ label: '区域展示',
99
+ pipeIn: (value: any) =>
100
+ Array.isArray(value)
101
+ ? value
102
+ : ['auto', 'body', 'toolbar', 'aside', 'header'],
103
+ pipeOut: (value: any) => {
104
+ return Array.isArray(value) && ~value.indexOf('auto')
105
+ ? undefined
106
+ : value.length
107
+ ? value
108
+ : ['auto', 'body', 'toolbar', 'aside', 'header'];
76
109
  },
77
- {
78
- label: '内容区',
79
- value: 'body',
80
- disabledOn:
81
- '!Array.isArray(this.regions) || ~this.regions.indexOf("auto")'
82
- },
83
- {
84
- label: '边栏',
85
- value: 'aside',
86
- disabledOn:
87
- '!Array.isArray(this.regions) ||~this.regions.indexOf("auto")'
88
- },
89
- {
90
- label: '工具栏',
91
- value: 'toolbar',
92
- disabledOn:
93
- '!Array.isArray(this.regions) ||~this.regions.indexOf("auto")'
94
- },
95
- {
96
- label: '顶部',
97
- value: 'header',
98
- disabledOn:
99
- '!Array.isArray(this.regions) ||~this.regions.indexOf("auto")'
100
- }
101
- ]
102
- },
110
+ joinValues: false,
111
+ extractValue: true,
112
+ inline: false,
113
+ options: [
114
+ {
115
+ label: '自动',
116
+ value: 'auto'
117
+ },
118
+ {
119
+ label: '内容区',
120
+ value: 'body',
121
+ disabledOn:
122
+ '!Array.isArray(this.regions) || ~this.regions.indexOf("auto")'
123
+ },
124
+ {
125
+ label: '边栏',
126
+ value: 'aside',
127
+ disabledOn:
128
+ '!Array.isArray(this.regions) ||~this.regions.indexOf("auto")'
129
+ },
130
+ {
131
+ label: '工具栏',
132
+ value: 'toolbar',
133
+ disabledOn:
134
+ '!Array.isArray(this.regions) ||~this.regions.indexOf("auto")'
135
+ },
136
+ {
137
+ label: '顶部',
138
+ value: 'header',
139
+ disabledOn:
140
+ '!Array.isArray(this.regions) ||~this.regions.indexOf("auto")'
141
+ }
142
+ ]
143
+ },
103
144
 
104
- {
105
- label: '标题',
106
- name: 'title',
107
- type: 'input-text'
108
- },
145
+ {
146
+ label: '标题',
147
+ name: 'title',
148
+ type: 'input-text'
149
+ },
109
150
 
110
- {
111
- label: '副标题',
112
- name: 'subTitle',
113
- type: 'input-text'
114
- },
151
+ {
152
+ label: '副标题',
153
+ name: 'subTitle',
154
+ type: 'input-text'
155
+ },
115
156
 
116
- {
117
- label: '提示',
118
- name: 'remark',
119
- type: 'textarea',
120
- visibleOn: 'this.title',
121
- description: '标题附近会出现一个提示图标,鼠标放上去会提示该内容。'
122
- },
123
- getSchemaTpl('data')
124
- ]
125
- },
157
+ {
158
+ label: '提示',
159
+ name: 'remark',
160
+ type: 'textarea',
161
+ visibleOn: 'this.title',
162
+ description:
163
+ '标题附近会出现一个提示图标,鼠标放上去会提示该内容。'
164
+ },
165
+ getSchemaTpl('data')
166
+ ]
167
+ },
126
168
 
127
- {
128
- title: '接口',
129
- body: [
130
- getSchemaTpl('api', {
131
- label: '数据初始化接口',
132
- name: 'initApi',
133
- sampleBuilder: (schema: any) => `{
169
+ {
170
+ title: '接口',
171
+ body: [
172
+ getSchemaTpl('api', {
173
+ label: '数据初始化接口',
174
+ name: 'initApi',
175
+ sampleBuilder: (schema: any) => `{
134
176
  "status": 0,
135
177
  "msg": "",
136
178
 
@@ -140,167 +182,211 @@ export class PagePlugin extends BasePlugin {
140
182
  "a": "sample"
141
183
  }
142
184
  }`
143
- }),
144
-
145
- getSchemaTpl('initFetch'),
185
+ }),
146
186
 
147
- {
148
- label: '开启定时刷新',
149
- type: 'switch',
150
- name: 'interval',
151
- visibleOn: 'data.initApi',
152
- pipeIn: (value: any) => !!value,
153
- pipeOut: (value: any) => (value ? 3000 : undefined),
154
- mode: 'inline'
155
- },
187
+ getSchemaTpl('initFetch'),
156
188
 
157
- {
158
- name: 'interval',
159
- type: 'input-number',
160
- visibleOn: 'typeof this.interval === "number"',
161
- step: 500
162
- },
189
+ getSchemaTpl('switch', {
190
+ label: '开启定时刷新',
191
+ name: 'interval',
192
+ visibleOn: 'data.initApi',
193
+ pipeIn: (value: any) => !!value,
194
+ pipeOut: (value: any) => (value ? 3000 : undefined)
195
+ }),
163
196
 
164
- {
165
- name: 'silentPolling',
166
- label: '静默刷新',
167
- type: 'switch',
168
- mode: 'inline',
169
- visibleOn: '!!data.interval',
170
- description: '设置自动定时刷新时是否显示loading'
171
- },
197
+ {
198
+ name: 'interval',
199
+ type: 'input-number',
200
+ visibleOn: 'typeof this.interval === "number"',
201
+ step: 500
202
+ },
172
203
 
173
- {
174
- name: 'stopAutoRefreshWhen',
175
- label: '停止定时刷新检测表达式',
176
- type: 'input-text',
177
- visibleOn: '!!data.interval',
178
- description:
179
- '定时刷新一旦设置会一直刷新,除非给出表达式,条件满足后则不刷新了。'
180
- },
204
+ getSchemaTpl('switch', {
205
+ name: 'silentPolling',
206
+ label: '静默刷新',
207
+ visibleOn: '!!data.interval',
208
+ description: '设置自动定时刷新时是否显示loading'
209
+ }),
181
210
 
182
- {
183
- label: '默认消息提示',
184
- type: 'combo',
185
- name: 'messages',
186
- multiLine: true,
187
- description:
188
- '设置 ajax 默认提示信息,当 ajax 没有返回 msg 信息时有用,如果 ajax 返回携带了 msg 值,则还是以 ajax 返回为主',
189
- items: [
190
- {
191
- label: '获取成功提示',
192
- type: 'input-text',
193
- name: 'fetchSuccess'
194
- },
195
-
196
- {
197
- label: '获取失败提示',
198
- type: 'input-text',
199
- name: 'fetchFailed'
200
- },
211
+ {
212
+ name: 'stopAutoRefreshWhen',
213
+ label: '停止定时刷新检测表达式',
214
+ type: 'input-text',
215
+ visibleOn: '!!data.interval',
216
+ description:
217
+ '定时刷新一旦设置会一直刷新,除非给出表达式,条件满足后则不刷新了。'
218
+ },
201
219
 
202
- {
203
- label: '保存成功提示',
204
- type: 'input-text',
205
- name: 'saveSuccess'
206
- },
220
+ {
221
+ label: '默认消息提示',
222
+ type: 'combo',
223
+ name: 'messages',
224
+ multiLine: true,
225
+ description:
226
+ '设置 ajax 默认提示信息,当 ajax 没有返回 msg 信息时有用,如果 ajax 返回携带了 msg 值,则还是以 ajax 返回为主',
227
+ items: [
228
+ {
229
+ label: '获取成功提示',
230
+ type: 'input-text',
231
+ name: 'fetchSuccess'
232
+ },
207
233
 
208
- {
209
- label: '保存失败提示',
210
- type: 'input-text',
211
- name: 'saveFailed'
212
- }
213
- ]
214
- }
215
- ]
216
- },
234
+ {
235
+ label: '获取失败提示',
236
+ type: 'input-text',
237
+ name: 'fetchFailed'
238
+ },
217
239
 
218
- {
219
- title: '外观',
220
- body: [
221
- getSchemaTpl('className'),
222
- getSchemaTpl('className', {
223
- name: 'headerClassName',
224
- label: '头部CSS类名'
225
- }),
226
- getSchemaTpl('className', {
227
- name: 'bodyClassName',
228
- label: '内容CSS类名'
229
- }),
240
+ {
241
+ label: '保存成功提示',
242
+ type: 'input-text',
243
+ name: 'saveSuccess'
244
+ },
230
245
 
231
- getSchemaTpl('className', {
232
- name: 'asideClassName',
233
- label: '边栏CSS类名'
234
- }),
246
+ {
247
+ label: '保存失败提示',
248
+ type: 'input-text',
249
+ name: 'saveFailed'
250
+ }
251
+ ]
252
+ }
253
+ ]
254
+ },
255
+ {
256
+ title: '外观',
257
+ className: 'p-none',
258
+ body: [
259
+ getSchemaTpl('collapseGroup', [
260
+ ...getSchemaTpl('style:common'),
261
+ getSchemaTpl('style:className', {
262
+ isFormItem: false,
263
+ schema: [
264
+ getSchemaTpl('className', {
265
+ name: 'headerClassName',
266
+ label: '头部CSS类名'
267
+ }),
268
+ getSchemaTpl('className', {
269
+ name: 'bodyClassName',
270
+ label: '内容CSS类名'
271
+ }),
235
272
 
236
- getSchemaTpl('className', {
237
- name: 'toolbarClassName',
238
- label: '工具栏CSS类名'
239
- }),
240
- getSchemaTpl('style')
241
- ]
242
- },
273
+ getSchemaTpl('className', {
274
+ name: 'asideClassName',
275
+ label: '边栏CSS类名'
276
+ }),
243
277
 
244
- {
245
- title: '其他',
246
- body: [
247
- getSchemaTpl('name')
278
+ getSchemaTpl('className', {
279
+ name: 'toolbarClassName',
280
+ label: '工具栏CSS类名'
281
+ })
282
+ ]
283
+ })
284
+ ])
285
+ ]
286
+ },
287
+ {
288
+ title: '事件',
289
+ className: 'p-none',
290
+ body: [
291
+ getSchemaTpl('eventControl', {
292
+ name: 'onEvent',
293
+ ...getEventControlConfig(this.manager, context)
294
+ })
295
+ ]
296
+ },
297
+ {
298
+ title: '其他',
299
+ body: [
300
+ {
301
+ type: 'combo',
302
+ name: 'pullRefresh',
303
+ multiLine: true,
304
+ noBorder: true,
305
+ items: [
306
+ {
307
+ type: 'switch',
308
+ label: '移动端下拉刷新',
309
+ name: 'disabled',
310
+ mode: 'horizontal',
311
+ horizontal: {
312
+ justify: true,
313
+ left: 8
314
+ },
315
+ inputClassName: 'is-inline ',
316
+ trueValue: false,
317
+ falseValue: true
318
+ },
319
+ {
320
+ name: 'pullingText',
321
+ label: '下拉过程提示文案',
322
+ type: 'input-text',
323
+ visibleOn: '!this.disabled'
324
+ },
325
+ {
326
+ name: 'loosingText',
327
+ label: '释放过程提示文案',
328
+ type: 'input-text',
329
+ visibleOn: '!this.disabled'
330
+ }
331
+ ]
332
+ }
248
333
 
249
- // {
250
- // type: 'combo',
251
- // name: 'definitions',
252
- // multiple: true,
253
- // multiLine: true,
254
- // label: '定义',
255
- // description: '定义类型,定义完成后可被子节点引用。',
256
- // pipeIn: (value: any) =>
257
- // value
258
- // ? Object.keys(value).map(key => ({
259
- // key,
260
- // value: value[key]
261
- // }))
262
- // : [],
263
- // pipeOut: (value: any) =>
264
- // Array.isArray(value)
265
- // ? value.reduce(
266
- // (obj, current) => ({
267
- // ...obj,
268
- // [current.key || '']: current.value
269
- // ? current.value
270
- // : {type: 'tpl', tpl: '内容'}
271
- // }),
272
- // {}
273
- // )
274
- // : undefined,
275
- // items: [
276
- // {
277
- // type: 'input-text',
278
- // name: 'key',
279
- // label: 'Key',
280
- // required: true
281
- // },
334
+ // {
335
+ // type: 'combo',
336
+ // name: 'definitions',
337
+ // multiple: true,
338
+ // multiLine: true,
339
+ // label: '定义',
340
+ // description: '定义类型,定义完成后可被子节点引用。',
341
+ // pipeIn: (value: any) =>
342
+ // value
343
+ // ? Object.keys(value).map(key => ({
344
+ // key,
345
+ // value: value[key]
346
+ // }))
347
+ // : [],
348
+ // pipeOut: (value: any) =>
349
+ // Array.isArray(value)
350
+ // ? value.reduce(
351
+ // (obj, current) => ({
352
+ // ...obj,
353
+ // [current.key || '']: current.value
354
+ // ? current.value
355
+ // : {type: 'tpl', tpl: '内容'}
356
+ // }),
357
+ // {}
358
+ // )
359
+ // : undefined,
360
+ // items: [
361
+ // {
362
+ // type: 'input-text',
363
+ // name: 'key',
364
+ // label: 'Key',
365
+ // required: true
366
+ // },
282
367
 
283
- // {
284
- // children: ({index}: any) => (
285
- // <Button
286
- // size="sm"
287
- // level="danger"
288
- // // onClick={this.handleEditDefinitionDetail.bind(
289
- // // this,
290
- // // index
291
- // // )}
292
- // block
293
- // >
294
- // 配置详情
295
- // </Button>
296
- // )
297
- // }
298
- // ]
299
- // }
300
- ]
301
- }
302
- ])
303
- ];
368
+ // {
369
+ // children: ({index}: any) => (
370
+ // <Button
371
+ // size="sm"
372
+ // level="danger"
373
+ // // onClick={this.handleEditDefinitionDetail.bind(
374
+ // // this,
375
+ // // index
376
+ // // )}
377
+ // block
378
+ // >
379
+ // 配置详情
380
+ // </Button>
381
+ // )
382
+ // }
383
+ // ]
384
+ // }
385
+ ]
386
+ }
387
+ ])
388
+ ];
389
+ };
304
390
  }
305
391
 
306
392
  registerEditorPlugin(PagePlugin);
@@ -115,14 +115,11 @@ export class PanelPlugin extends BasePlugin {
115
115
  {
116
116
  title: '外观',
117
117
  body: [
118
- {
118
+ getSchemaTpl('switch', {
119
119
  name: 'affixFooter',
120
120
  label: '固定底部',
121
- type: 'switch',
122
- value: false,
123
- mode: 'inline',
124
- className: 'block'
125
- },
121
+ value: false
122
+ }),
126
123
 
127
124
  getSchemaTpl('horizontal', {
128
125
  visibleOn:
@@ -220,6 +217,7 @@ export class PanelPlugin extends BasePlugin {
220
217
  ) {
221
218
  const path = context.path;
222
219
  const schema = context.schema;
220
+ const store = this.manager.store;
223
221
 
224
222
  if (
225
223
  context.info.renderer.name === 'form' &&
@@ -231,7 +229,8 @@ export class PanelPlugin extends BasePlugin {
231
229
  icon: 'fa fa-list-alt',
232
230
  title: this.panelTitle,
233
231
  render: this.manager.makeSchemaFormRender({
234
- body: this.panelBodyCreator(context)
232
+ body: this.panelBodyCreator(context),
233
+ panelById: store.activeId
235
234
  })
236
235
  });
237
236
  } else {
@@ -58,14 +58,11 @@ export class PlainPlugin extends BasePlugin {
58
58
  : {
59
59
  title: '外观',
60
60
  body: [
61
- {
62
- label: '内联模式',
63
- type: 'switch',
61
+ getSchemaTpl('switch', {
64
62
  name: 'inline',
65
- mode: 'inline',
66
- className: 'w-full',
63
+ label: '内联模式',
67
64
  value: true
68
- },
65
+ }),
69
66
 
70
67
  getSchemaTpl('className')
71
68
  ]