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,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
  ]