amis-editor 5.2.0-beta.1 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (563) hide show
  1. package/dist/6dbcbb49b6fd405190a9.png +0 -0
  2. package/dist/cebfe0bc5a1dbde02da1.svg +10 -0
  3. package/dist/compat.d.ts +30 -0
  4. package/dist/component/Breadcrumb.d.ts +33 -0
  5. package/dist/component/ClassNameControl.d.ts +31 -0
  6. package/dist/component/CommonConfigWrapper.d.ts +6 -0
  7. package/dist/component/ContainerWrapper.d.ts +12 -0
  8. package/dist/component/Editor.d.ts +97 -0
  9. package/dist/component/HighlightBox.d.ts +29 -0
  10. package/dist/component/IFrameBridge.d.ts +32 -0
  11. package/dist/component/IFramePreview.d.ts +38 -0
  12. package/dist/component/MiniEditor.d.ts +9 -0
  13. package/dist/component/NodeWrapper.d.ts +20 -0
  14. package/dist/component/Panel/AMisCodeEditor.d.ts +37 -0
  15. package/dist/component/Panel/AvailableRenderersPanel.d.ts +10 -0
  16. package/dist/component/Panel/CodeEditorPanel.d.ts +6 -0
  17. package/dist/component/Panel/ContextMenuPanel.d.ts +8 -0
  18. package/dist/component/Panel/DrawerPanel.d.ts +15 -0
  19. package/dist/component/Panel/DrawerRendererPanel.d.ts +15 -0
  20. package/dist/component/Panel/InsertSubRendererPanel.d.ts +11 -0
  21. package/dist/component/Panel/LeftPanels.d.ts +20 -0
  22. package/dist/component/Panel/Outline.d.ts +18 -0
  23. package/dist/component/Panel/RenderersPanel.d.ts +31 -0
  24. package/dist/component/Panel/RightPanels.d.ts +21 -0
  25. package/dist/component/Panel/TargetNamePanel.d.ts +7 -0
  26. package/dist/component/PopOverForm.d.ts +22 -0
  27. package/dist/component/Preview.d.ts +67 -0
  28. package/dist/component/RegionHLBox.d.ts +20 -0
  29. package/dist/component/RegionWrapper.d.ts +206 -0
  30. package/dist/component/RendererThumb.d.ts +22 -0
  31. package/dist/component/ScaffoldModal.d.ts +24 -0
  32. package/dist/component/SubEditor.d.ts +67 -0
  33. package/{lib → dist}/component/TableViewEditor.d.ts +2 -2
  34. package/dist/component/VRenderer.d.ts +191 -0
  35. package/dist/component/base/BackTop.d.ts +26 -0
  36. package/dist/component/base/ErrorRenderer.d.ts +4 -0
  37. package/{lib/component → dist/component/base}/InputComponentName.d.ts +0 -0
  38. package/dist/component/base/SearchCustomRendererPanel.d.ts +15 -0
  39. package/dist/component/base/SearchPanel.d.ts +83 -0
  40. package/dist/component/base/SearchRendererPanel.d.ts +19 -0
  41. package/dist/component/base/ShortcutKey.d.ts +23 -0
  42. package/dist/component/base/WidthDraggableBtn.d.ts +16 -0
  43. package/dist/component/base/WidthDraggableContainer.d.ts +2 -0
  44. package/dist/component/control/APIControl.d.ts +1158 -0
  45. package/dist/component/control/ActionAPIControl.d.ts +1158 -0
  46. package/{lib/renderer → dist/component/control}/BadgeControl.d.ts +12 -13
  47. package/dist/component/control/BaseControl.d.ts +248 -0
  48. package/{lib/renderer → dist/component/control}/DataBindingControl.d.ts +0 -0
  49. package/{lib/renderer → dist/component/control}/DataPickerControl.d.ts +1 -1
  50. package/{lib/renderer → dist/component/control}/DateShortCutControl.d.ts +1 -1
  51. package/dist/component/control/FormulaControl.d.ts +51 -0
  52. package/{lib/renderer → dist/component/control}/OptionControl.d.ts +0 -0
  53. package/{lib/renderer → dist/component/control}/PopoverEdit.d.ts +1 -1
  54. package/{lib/renderer → dist/component/control}/StatusControl.d.ts +0 -0
  55. package/{lib/renderer → dist/component/control}/SwitchMoreControl.d.ts +70 -68
  56. package/{lib/renderer → dist/component/control}/ValidationControl.d.ts +0 -0
  57. package/{lib/renderer → dist/component/control}/ValidationItem.d.ts +0 -0
  58. package/{lib/renderer → dist/component/control}/style-control/Background.d.ts +0 -0
  59. package/{lib/renderer → dist/component/control}/style-control/Border.d.ts +0 -0
  60. package/{lib/renderer → dist/component/control}/style-control/BoxModel.d.ts +0 -0
  61. package/{lib/renderer → dist/component/control}/style-control/BoxShadow.d.ts +0 -0
  62. package/{lib/renderer → dist/component/control}/style-control/Display.d.ts +0 -0
  63. package/{lib/renderer → dist/component/control}/style-control/Font.d.ts +0 -0
  64. package/{lib/renderer → dist/component/control}/style-control/font-family.d.ts +0 -0
  65. package/{lib/renderer → dist/component/control}/style-control/transformation.d.ts +0 -0
  66. package/{lib/renderer → dist/component/control}/style-control/types.d.ts +0 -0
  67. package/dist/component/schemaTpl.d.ts +27 -0
  68. package/{lib → dist/component}/validator.d.ts +0 -0
  69. package/dist/dnd/default.d.ts +47 -0
  70. package/dist/dnd/index.d.ts +119 -0
  71. package/dist/dnd/interface.d.ts +14 -0
  72. package/dist/dnd/position-h.d.ts +7 -0
  73. package/dist/env.d.ts +5 -0
  74. package/dist/event-action/action-config-panel.d.ts +8 -0
  75. package/dist/event-action/actions.d.ts +3 -0
  76. package/dist/event-action/comp-action-select.d.ts +11 -0
  77. package/dist/event-action/config.d.ts +13 -0
  78. package/dist/event-action/index.d.ts +459 -0
  79. package/dist/event-action/schema.d.ts +32 -0
  80. package/dist/exports.d.ts +8 -0
  81. package/dist/exports.min.js +1 -0
  82. package/dist/icons/index.d.ts +2 -0
  83. package/{lib → dist}/index.d.ts +50 -24
  84. package/dist/index.min.js +1 -0
  85. package/dist/manager.d.ts +502 -0
  86. package/dist/mocker.d.ts +1 -0
  87. package/{lib → dist}/plugin/Alert.d.ts +1 -1
  88. package/dist/plugin/AnchorNav.d.ts +67 -0
  89. package/{lib → dist}/plugin/Audio.d.ts +1 -1
  90. package/dist/plugin/Avatar.d.ts +18 -0
  91. package/{lib → dist}/plugin/Breadcrumb.d.ts +1 -1
  92. package/{lib → dist}/plugin/Button.d.ts +2 -2
  93. package/{lib → dist}/plugin/ButtonGroup.d.ts +2 -2
  94. package/{lib → dist}/plugin/ButtonToolbar.d.ts +1 -1
  95. package/{lib → dist}/plugin/CRUD.d.ts +2 -2
  96. package/{lib → dist}/plugin/Card.d.ts +1 -1
  97. package/{lib → dist}/plugin/Cards.d.ts +1 -1
  98. package/{lib → dist}/plugin/Carousel.d.ts +1 -1
  99. package/{lib → dist}/plugin/Chart.d.ts +2 -2
  100. package/{lib → dist}/plugin/CodeView.d.ts +1 -1
  101. package/{lib → dist}/plugin/Collapse.d.ts +1 -1
  102. package/{lib → dist}/plugin/CollapseGroup.d.ts +1 -1
  103. package/{lib → dist}/plugin/Container.d.ts +1 -1
  104. package/{lib → dist}/plugin/Custom.d.ts +1 -1
  105. package/{lib → dist}/plugin/CustomRegion.d.ts +1 -1
  106. package/{lib → dist}/plugin/Date.d.ts +1 -1
  107. package/{lib → dist}/plugin/Datetime.d.ts +1 -1
  108. package/{lib → dist}/plugin/Dialog.d.ts +1 -1
  109. package/{lib → dist}/plugin/Divider.d.ts +1 -1
  110. package/{lib → dist}/plugin/Drawer.d.ts +1 -1
  111. package/{lib → dist}/plugin/DropDownButton.d.ts +2 -3
  112. package/{lib → dist}/plugin/Each.d.ts +1 -1
  113. package/dist/plugin/ErrorRenderer.d.ts +7 -0
  114. package/{lib → dist}/plugin/Flex.d.ts +1 -1
  115. package/{lib → dist}/plugin/Form/ButtonGroupSelect.d.ts +2 -2
  116. package/{lib → dist}/plugin/Form/ButtonToolbar.d.ts +1 -1
  117. package/{lib → dist}/plugin/Form/ChainedSelect.d.ts +3 -6
  118. package/{lib → dist}/plugin/Form/Checkbox.d.ts +2 -2
  119. package/{lib → dist}/plugin/Form/Checkboxes.d.ts +2 -2
  120. package/{lib → dist}/plugin/Form/CodeEditor.d.ts +3 -3
  121. package/{lib → dist}/plugin/Form/Combo.d.ts +2 -2
  122. package/{lib → dist}/plugin/Form/ConditionBuilder.d.ts +1 -1
  123. package/{lib → dist}/plugin/Form/Control.d.ts +1 -1
  124. package/{lib → dist}/plugin/Form/DiffEditor.d.ts +3 -3
  125. package/{lib → dist}/plugin/Form/FieldSet.d.ts +1 -1
  126. package/{lib → dist}/plugin/Form/Form.d.ts +3 -3
  127. package/{lib → dist}/plugin/Form/Formula.d.ts +1 -1
  128. package/{lib → dist}/plugin/Form/Group.d.ts +1 -1
  129. package/{lib → dist}/plugin/Form/Hidden.d.ts +1 -1
  130. package/{lib → dist}/plugin/Form/InputArray.d.ts +1 -1
  131. package/dist/plugin/Form/InputCity.d.ts +19 -0
  132. package/{lib → dist}/plugin/Form/InputColor.d.ts +18 -20
  133. package/{lib → dist}/plugin/Form/InputDate.d.ts +2 -2
  134. package/{lib → dist}/plugin/Form/InputDateRange.d.ts +2 -2
  135. package/{lib → dist}/plugin/Form/InputDateTime.d.ts +0 -0
  136. package/{lib → dist}/plugin/Form/InputDateTimeRange.d.ts +0 -0
  137. package/{lib → dist}/plugin/Form/InputEmail.d.ts +0 -0
  138. package/{lib → dist}/plugin/Form/InputExcel.d.ts +2 -2
  139. package/{lib → dist}/plugin/Form/InputFile.d.ts +2 -2
  140. package/{lib → dist}/plugin/Form/InputGroup.d.ts +1 -1
  141. package/dist/plugin/Form/InputImage.d.ts +20 -0
  142. package/{lib → dist}/plugin/Form/InputKV.d.ts +2 -2
  143. package/{lib → dist}/plugin/Form/InputMonth.d.ts +0 -0
  144. package/{lib → dist}/plugin/Form/InputMonthRange.d.ts +0 -0
  145. package/dist/plugin/Form/InputNumber.d.ts +20 -0
  146. package/{lib → dist}/plugin/Form/InputPassword.d.ts +0 -0
  147. package/{lib → dist}/plugin/Form/InputQuarter.d.ts +0 -0
  148. package/{lib → dist}/plugin/Form/InputQuarterRange.d.ts +0 -0
  149. package/{lib → dist}/plugin/Form/InputRange.d.ts +3 -5
  150. package/{lib → dist}/plugin/Form/InputRating.d.ts +2 -2
  151. package/{lib → dist}/plugin/Form/InputRepeat.d.ts +1 -1
  152. package/{lib → dist}/plugin/Form/InputRichText.d.ts +1 -1
  153. package/{lib → dist}/plugin/Form/InputSubForm.d.ts +1 -2
  154. package/{lib → dist}/plugin/Form/InputTable.d.ts +1 -1
  155. package/dist/plugin/Form/InputTag.d.ts +21 -0
  156. package/{lib → dist}/plugin/Form/InputText.d.ts +1 -1
  157. package/{lib → dist}/plugin/Form/InputTime.d.ts +0 -0
  158. package/{lib → dist}/plugin/Form/InputTimeRange.d.ts +0 -0
  159. package/{lib → dist}/plugin/Form/InputTree.d.ts +2 -2
  160. package/{lib → dist}/plugin/Form/InputURL.d.ts +0 -0
  161. package/{lib → dist}/plugin/Form/InputYear.d.ts +0 -0
  162. package/{lib → dist}/plugin/Form/InputYearRange.d.ts +0 -0
  163. package/{lib → dist}/plugin/Form/Item.d.ts +2 -2
  164. package/{lib → dist}/plugin/Form/ListSelect.d.ts +2 -2
  165. package/{lib → dist}/plugin/Form/LocationPicker.d.ts +2 -3
  166. package/{lib → dist}/plugin/Form/MatrixCheckboxes.d.ts +2 -7
  167. package/{lib → dist}/plugin/Form/NestedSelect.d.ts +2 -5
  168. package/{lib → dist}/plugin/Form/Picker.d.ts +1 -1
  169. package/{lib → dist}/plugin/Form/Radios.d.ts +2 -2
  170. package/{lib → dist}/plugin/Form/Select.d.ts +2 -2
  171. package/{lib → dist}/plugin/Form/Static.d.ts +3 -4
  172. package/{lib → dist}/plugin/Form/Switch.d.ts +2 -2
  173. package/{lib → dist}/plugin/Form/TabsTransfer.d.ts +2 -2
  174. package/{lib → dist}/plugin/Form/Textarea.d.ts +3 -3
  175. package/{lib → dist}/plugin/Form/Transfer.d.ts +2 -2
  176. package/{lib → dist}/plugin/Form/TreeSelect.d.ts +2 -2
  177. package/{lib → dist}/plugin/Form/UUID.d.ts +1 -1
  178. package/{lib → dist}/plugin/Grid.d.ts +2 -2
  179. package/{lib → dist}/plugin/HBox.d.ts +2 -2
  180. package/{lib → dist}/plugin/IFrame.d.ts +2 -3
  181. package/{lib → dist}/plugin/Image.d.ts +1 -1
  182. package/{lib → dist}/plugin/Images.d.ts +1 -1
  183. package/{lib → dist}/plugin/Json.d.ts +1 -1
  184. package/{lib → dist}/plugin/Link.d.ts +1 -2
  185. package/{lib → dist}/plugin/List.d.ts +1 -1
  186. package/{lib → dist}/plugin/ListItem.d.ts +1 -1
  187. package/{lib → dist}/plugin/Log.d.ts +1 -1
  188. package/{lib → dist}/plugin/Mapping.d.ts +1 -1
  189. package/{lib → dist}/plugin/Markdown.d.ts +1 -1
  190. package/{lib → dist}/plugin/Nav.d.ts +1 -1
  191. package/{lib → dist}/plugin/Operation.d.ts +1 -1
  192. package/{lib → dist}/plugin/Others/Action.d.ts +1 -1
  193. package/dist/plugin/Others/BasicToolbar.d.ts +11 -0
  194. package/dist/plugin/Others/DataDebug.d.ts +19 -0
  195. package/{lib → dist}/plugin/Others/TableCell.d.ts +1 -1
  196. package/dist/plugin/Others/Unknown.d.ts +5 -0
  197. package/{lib → dist}/plugin/Page.d.ts +3 -3
  198. package/dist/plugin/Panel/AvailableRenderers.d.ts +8 -0
  199. package/dist/plugin/Panel/Code.d.ts +9 -0
  200. package/dist/plugin/Panel/Name.d.ts +8 -0
  201. package/dist/plugin/Panel/Outline.d.ts +8 -0
  202. package/{lib → dist}/plugin/Panel.d.ts +1 -1
  203. package/{lib → dist}/plugin/Plain.d.ts +1 -1
  204. package/{lib → dist}/plugin/Progress.d.ts +1 -1
  205. package/{lib → dist}/plugin/Property.d.ts +1 -1
  206. package/{lib → dist}/plugin/QRCode.d.ts +1 -1
  207. package/{lib → dist}/plugin/Reset.d.ts +0 -0
  208. package/{lib → dist}/plugin/Service.d.ts +1 -4
  209. package/{lib → dist}/plugin/Sparkline.d.ts +1 -1
  210. package/{lib → dist}/plugin/Status.d.ts +1 -1
  211. package/{lib → dist}/plugin/Steps.d.ts +1 -1
  212. package/{lib → dist}/plugin/Submit.d.ts +0 -0
  213. package/{lib → dist}/plugin/Table.d.ts +2 -5
  214. package/{lib → dist}/plugin/TableView.d.ts +1 -1
  215. package/{lib → dist}/plugin/Tabs.d.ts +1 -2
  216. package/{lib → dist}/plugin/Tasks.d.ts +1 -1
  217. package/{lib → dist}/plugin/Time.d.ts +1 -1
  218. package/{lib → dist}/plugin/TooltipWrapper.d.ts +1 -1
  219. package/{lib → dist}/plugin/Tpl.d.ts +1 -1
  220. package/{lib → dist}/plugin/Video.d.ts +1 -1
  221. package/{lib → dist}/plugin/WebComponent.d.ts +1 -1
  222. package/{lib → dist}/plugin/Wizard.d.ts +2 -2
  223. package/{lib → dist}/plugin/Wrapper.d.ts +1 -1
  224. package/dist/plugin.d.ts +637 -0
  225. package/dist/store/editor.d.ts +1048 -0
  226. package/dist/store/node.d.ts +281 -0
  227. package/dist/style.css +1 -0
  228. package/dist/util.d.ts +105 -0
  229. package/package.json +32 -31
  230. package/src/component/schemaTpl.tsx +2881 -0
  231. package/src/plugin/Alert.tsx +108 -0
  232. package/src/plugin/AnchorNav.tsx +234 -0
  233. package/src/plugin/Audio.tsx +148 -0
  234. package/src/plugin/Avatar.tsx +78 -0
  235. package/src/plugin/Breadcrumb.tsx +108 -0
  236. package/src/plugin/Button.tsx +350 -0
  237. package/src/plugin/ButtonGroup.tsx +146 -0
  238. package/src/plugin/ButtonToolbar.tsx +81 -0
  239. package/src/plugin/CRUD.tsx +1777 -0
  240. package/src/plugin/Card.tsx +291 -0
  241. package/src/plugin/Cards.tsx +312 -0
  242. package/src/plugin/Carousel.tsx +377 -0
  243. package/src/plugin/Chart.tsx +230 -0
  244. package/src/plugin/CodeView.tsx +60 -0
  245. package/src/plugin/Collapse.tsx +136 -0
  246. package/src/plugin/CollapseGroup.tsx +249 -0
  247. package/src/plugin/Container.tsx +93 -0
  248. package/src/plugin/Custom.tsx +122 -0
  249. package/src/plugin/CustomRegion.tsx +157 -0
  250. package/src/plugin/Date.tsx +74 -0
  251. package/src/plugin/Datetime.tsx +68 -0
  252. package/src/plugin/Dialog.tsx +207 -0
  253. package/src/plugin/Divider.tsx +36 -0
  254. package/src/plugin/Drawer.tsx +244 -0
  255. package/src/plugin/DropDownButton.tsx +251 -0
  256. package/src/plugin/Each.tsx +150 -0
  257. package/src/plugin/ErrorRenderer.tsx +15 -0
  258. package/src/plugin/Flex.tsx +209 -0
  259. package/src/plugin/Form/ButtonGroupSelect.tsx +163 -0
  260. package/src/plugin/Form/ButtonToolbar.tsx +117 -0
  261. package/src/plugin/Form/ChainedSelect.tsx +115 -0
  262. package/src/plugin/Form/Checkbox.tsx +176 -0
  263. package/src/plugin/Form/Checkboxes.tsx +234 -0
  264. package/src/plugin/Form/CodeEditor.tsx +210 -0
  265. package/src/plugin/Form/Combo.tsx +621 -0
  266. package/src/plugin/Form/ConditionBuilder.tsx +315 -0
  267. package/src/plugin/Form/Control.tsx +85 -0
  268. package/src/plugin/Form/DiffEditor.tsx +215 -0
  269. package/src/plugin/Form/FieldSet.tsx +158 -0
  270. package/src/plugin/Form/Form.tsx +894 -0
  271. package/src/plugin/Form/Formula.tsx +73 -0
  272. package/src/plugin/Form/Group.tsx +295 -0
  273. package/src/plugin/Form/Hidden.tsx +44 -0
  274. package/src/plugin/Form/InputArray.tsx +219 -0
  275. package/src/plugin/Form/InputCity.tsx +93 -0
  276. package/src/plugin/Form/InputColor.tsx +123 -0
  277. package/src/plugin/Form/InputDate.tsx +398 -0
  278. package/src/plugin/Form/InputDateRange.tsx +367 -0
  279. package/src/plugin/Form/InputDateTime.tsx +39 -0
  280. package/src/plugin/Form/InputDateTimeRange.tsx +41 -0
  281. package/src/plugin/Form/InputEmail.tsx +34 -0
  282. package/src/plugin/Form/InputExcel.tsx +128 -0
  283. package/src/plugin/Form/InputFile.tsx +395 -0
  284. package/src/plugin/Form/InputGroup.tsx +96 -0
  285. package/src/plugin/Form/InputImage.tsx +266 -0
  286. package/src/plugin/Form/InputKV.tsx +133 -0
  287. package/src/plugin/Form/InputMonth.tsx +37 -0
  288. package/src/plugin/Form/InputMonthRange.tsx +41 -0
  289. package/src/plugin/Form/InputNumber.tsx +89 -0
  290. package/src/plugin/Form/InputPassword.tsx +35 -0
  291. package/src/plugin/Form/InputQuarter.tsx +37 -0
  292. package/src/plugin/Form/InputQuarterRange.tsx +41 -0
  293. package/src/plugin/Form/InputRange.tsx +191 -0
  294. package/src/plugin/Form/InputRating.tsx +390 -0
  295. package/src/plugin/Form/InputRepeat.tsx +57 -0
  296. package/src/plugin/Form/InputRichText.tsx +185 -0
  297. package/src/plugin/Form/InputSubForm.tsx +189 -0
  298. package/src/plugin/Form/InputTable.tsx +418 -0
  299. package/src/plugin/Form/InputTag.tsx +70 -0
  300. package/src/plugin/Form/InputText.tsx +364 -0
  301. package/src/plugin/Form/InputTime.tsx +36 -0
  302. package/src/plugin/Form/InputTimeRange.tsx +41 -0
  303. package/src/plugin/Form/InputTree.tsx +379 -0
  304. package/src/plugin/Form/InputURL.tsx +36 -0
  305. package/src/plugin/Form/InputYear.tsx +37 -0
  306. package/src/plugin/Form/InputYearRange.tsx +41 -0
  307. package/src/plugin/Form/Item.tsx +326 -0
  308. package/src/plugin/Form/ListSelect.tsx +128 -0
  309. package/src/plugin/Form/LocationPicker.tsx +57 -0
  310. package/src/plugin/Form/MatrixCheckboxes.tsx +136 -0
  311. package/src/plugin/Form/NestedSelect.tsx +278 -0
  312. package/src/plugin/Form/Picker.tsx +206 -0
  313. package/src/plugin/Form/Radios.tsx +189 -0
  314. package/src/plugin/Form/Select.tsx +304 -0
  315. package/src/plugin/Form/Static.tsx +322 -0
  316. package/src/plugin/Form/Switch.tsx +219 -0
  317. package/src/plugin/Form/TabsTransfer.tsx +355 -0
  318. package/src/plugin/Form/Textarea.tsx +193 -0
  319. package/src/plugin/Form/Transfer.tsx +430 -0
  320. package/src/plugin/Form/TreeSelect.tsx +404 -0
  321. package/src/plugin/Form/UUID.tsx +48 -0
  322. package/src/plugin/Grid.tsx +826 -0
  323. package/src/plugin/HBox.tsx +728 -0
  324. package/src/plugin/IFrame.tsx +79 -0
  325. package/src/plugin/Image.tsx +309 -0
  326. package/src/plugin/Images.tsx +226 -0
  327. package/src/plugin/Json.tsx +69 -0
  328. package/src/plugin/Link.tsx +87 -0
  329. package/src/plugin/List.tsx +274 -0
  330. package/src/plugin/ListItem.tsx +230 -0
  331. package/src/plugin/Log.tsx +52 -0
  332. package/src/plugin/Mapping.tsx +149 -0
  333. package/src/plugin/Markdown.tsx +47 -0
  334. package/src/plugin/Nav.tsx +182 -0
  335. package/src/plugin/Operation.tsx +95 -0
  336. package/src/plugin/Others/Action.tsx +432 -0
  337. package/src/plugin/Others/BasicToolbar.tsx +588 -0
  338. package/src/plugin/Others/DataDebug.tsx +134 -0
  339. package/src/plugin/Others/TableCell.tsx +460 -0
  340. package/src/plugin/Others/Unknown.tsx +37 -0
  341. package/src/plugin/Page.tsx +392 -0
  342. package/src/plugin/Panel/AvailableRenderers.tsx +41 -0
  343. package/src/plugin/Panel/Code.tsx +44 -0
  344. package/src/plugin/Panel/Name.tsx +26 -0
  345. package/src/plugin/Panel/Outline.tsx +40 -0
  346. package/src/plugin/Panel.tsx +242 -0
  347. package/src/plugin/Plain.tsx +81 -0
  348. package/src/plugin/Progress.tsx +265 -0
  349. package/src/plugin/Property.tsx +139 -0
  350. package/src/plugin/QRCode.tsx +96 -0
  351. package/src/plugin/Reset.tsx +23 -0
  352. package/src/plugin/Service.tsx +166 -0
  353. package/src/plugin/Sparkline.tsx +40 -0
  354. package/src/plugin/Status.tsx +76 -0
  355. package/src/plugin/Steps.tsx +128 -0
  356. package/src/plugin/Submit.tsx +23 -0
  357. package/src/plugin/Table.tsx +457 -0
  358. package/src/plugin/TableView.tsx +815 -0
  359. package/src/plugin/Tabs.tsx +522 -0
  360. package/src/plugin/Tasks.tsx +274 -0
  361. package/src/plugin/Time.tsx +68 -0
  362. package/src/plugin/TooltipWrapper.tsx +289 -0
  363. package/src/plugin/Tpl.tsx +174 -0
  364. package/src/plugin/Video.tsx +147 -0
  365. package/src/plugin/WebComponent.tsx +53 -0
  366. package/src/plugin/Wizard.tsx +941 -0
  367. package/src/plugin/Wrapper.tsx +128 -0
  368. package/src/plugin.ts +1112 -0
  369. package/static/Code-hover.png +0 -0
  370. package/static/Code.png +0 -0
  371. package/static/Outline-hover.png +0 -0
  372. package/static/Outline.png +0 -0
  373. package/static/Renderers-hover.png +0 -0
  374. package/static/Renderers.png +0 -0
  375. package/static/empty.png +0 -0
  376. package/static/side_hide_left.svg +10 -0
  377. package/lib/component/BaseControl.d.ts +0 -1831
  378. package/lib/component/BaseControl.js +0 -366
  379. package/lib/component/InputComponentName.js +0 -44
  380. package/lib/component/TableViewEditor.js +0 -528
  381. package/lib/event-action/actions.d.ts +0 -3
  382. package/lib/event-action/actions.js +0 -188
  383. package/lib/event-action/schema.d.ts +0 -13
  384. package/lib/event-action/schema.js +0 -134
  385. package/lib/index.js +0 -181
  386. package/lib/plugin/Alert.js +0 -113
  387. package/lib/plugin/AnchorNav.d.ts +0 -48
  388. package/lib/plugin/AnchorNav.js +0 -297
  389. package/lib/plugin/Audio.js +0 -157
  390. package/lib/plugin/Avatar.d.ts +0 -27
  391. package/lib/plugin/Avatar.js +0 -305
  392. package/lib/plugin/Breadcrumb.js +0 -116
  393. package/lib/plugin/Button.js +0 -297
  394. package/lib/plugin/ButtonGroup.js +0 -139
  395. package/lib/plugin/ButtonToolbar.js +0 -89
  396. package/lib/plugin/CRUD.js +0 -1528
  397. package/lib/plugin/Card.js +0 -233
  398. package/lib/plugin/Cards.js +0 -254
  399. package/lib/plugin/Carousel.js +0 -358
  400. package/lib/plugin/Chart.js +0 -192
  401. package/lib/plugin/CodeView.js +0 -68
  402. package/lib/plugin/Collapse.js +0 -138
  403. package/lib/plugin/CollapseGroup.js +0 -237
  404. package/lib/plugin/Container.js +0 -100
  405. package/lib/plugin/Custom.js +0 -109
  406. package/lib/plugin/CustomRegion.js +0 -154
  407. package/lib/plugin/Date.js +0 -82
  408. package/lib/plugin/Datetime.js +0 -77
  409. package/lib/plugin/Dialog.js +0 -214
  410. package/lib/plugin/Divider.js +0 -49
  411. package/lib/plugin/Drawer.js +0 -240
  412. package/lib/plugin/DropDownButton.js +0 -229
  413. package/lib/plugin/Each.js +0 -131
  414. package/lib/plugin/Flex.js +0 -203
  415. package/lib/plugin/Form/ButtonGroupSelect.js +0 -161
  416. package/lib/plugin/Form/ButtonToolbar.js +0 -107
  417. package/lib/plugin/Form/ChainedSelect.js +0 -183
  418. package/lib/plugin/Form/Checkbox.js +0 -174
  419. package/lib/plugin/Form/Checkboxes.js +0 -213
  420. package/lib/plugin/Form/CodeEditor.js +0 -201
  421. package/lib/plugin/Form/Combo.js +0 -546
  422. package/lib/plugin/Form/ConditionBuilder.js +0 -302
  423. package/lib/plugin/Form/Control.js +0 -88
  424. package/lib/plugin/Form/DiffEditor.js +0 -204
  425. package/lib/plugin/Form/FieldSet.js +0 -152
  426. package/lib/plugin/Form/Form.js +0 -846
  427. package/lib/plugin/Form/Formula.js +0 -82
  428. package/lib/plugin/Form/Group.js +0 -252
  429. package/lib/plugin/Form/Hidden.js +0 -58
  430. package/lib/plugin/Form/InputArray.js +0 -181
  431. package/lib/plugin/Form/InputCity.d.ts +0 -23
  432. package/lib/plugin/Form/InputCity.js +0 -139
  433. package/lib/plugin/Form/InputColor.js +0 -295
  434. package/lib/plugin/Form/InputDate.js +0 -357
  435. package/lib/plugin/Form/InputDateRange.js +0 -350
  436. package/lib/plugin/Form/InputDateTime.js +0 -50
  437. package/lib/plugin/Form/InputDateTimeRange.js +0 -51
  438. package/lib/plugin/Form/InputEmail.js +0 -45
  439. package/lib/plugin/Form/InputExcel.js +0 -121
  440. package/lib/plugin/Form/InputFile.js +0 -354
  441. package/lib/plugin/Form/InputGroup.js +0 -100
  442. package/lib/plugin/Form/InputImage.d.ts +0 -24
  443. package/lib/plugin/Form/InputImage.js +0 -271
  444. package/lib/plugin/Form/InputKV.js +0 -129
  445. package/lib/plugin/Form/InputMonth.js +0 -48
  446. package/lib/plugin/Form/InputMonthRange.js +0 -51
  447. package/lib/plugin/Form/InputNumber.d.ts +0 -25
  448. package/lib/plugin/Form/InputNumber.js +0 -263
  449. package/lib/plugin/Form/InputPassword.js +0 -45
  450. package/lib/plugin/Form/InputQuarter.js +0 -48
  451. package/lib/plugin/Form/InputQuarterRange.js +0 -51
  452. package/lib/plugin/Form/InputRange.js +0 -292
  453. package/lib/plugin/Form/InputRating.js +0 -357
  454. package/lib/plugin/Form/InputRepeat.js +0 -65
  455. package/lib/plugin/Form/InputRichText.js +0 -193
  456. package/lib/plugin/Form/InputSubForm.js +0 -160
  457. package/lib/plugin/Form/InputTable.js +0 -400
  458. package/lib/plugin/Form/InputTag.d.ts +0 -25
  459. package/lib/plugin/Form/InputTag.js +0 -155
  460. package/lib/plugin/Form/InputText.js +0 -328
  461. package/lib/plugin/Form/InputTime.js +0 -48
  462. package/lib/plugin/Form/InputTimeRange.js +0 -51
  463. package/lib/plugin/Form/InputTree.js +0 -375
  464. package/lib/plugin/Form/InputURL.js +0 -46
  465. package/lib/plugin/Form/InputYear.js +0 -48
  466. package/lib/plugin/Form/InputYearRange.js +0 -51
  467. package/lib/plugin/Form/Item.js +0 -265
  468. package/lib/plugin/Form/ListSelect.js +0 -130
  469. package/lib/plugin/Form/LocationPicker.js +0 -74
  470. package/lib/plugin/Form/MatrixCheckboxes.js +0 -234
  471. package/lib/plugin/Form/NestedSelect.js +0 -328
  472. package/lib/plugin/Form/Picker.js +0 -169
  473. package/lib/plugin/Form/Radios.js +0 -189
  474. package/lib/plugin/Form/Select.js +0 -304
  475. package/lib/plugin/Form/Static.js +0 -312
  476. package/lib/plugin/Form/Switch.js +0 -219
  477. package/lib/plugin/Form/TabsTransfer.js +0 -348
  478. package/lib/plugin/Form/Textarea.js +0 -190
  479. package/lib/plugin/Form/Transfer.js +0 -414
  480. package/lib/plugin/Form/TreeSelect.js +0 -375
  481. package/lib/plugin/Form/UUID.js +0 -55
  482. package/lib/plugin/Grid.js +0 -680
  483. package/lib/plugin/HBox.js +0 -594
  484. package/lib/plugin/IFrame.js +0 -94
  485. package/lib/plugin/Image.js +0 -264
  486. package/lib/plugin/Images.js +0 -214
  487. package/lib/plugin/Json.js +0 -82
  488. package/lib/plugin/Link.js +0 -120
  489. package/lib/plugin/List.js +0 -220
  490. package/lib/plugin/ListItem.js +0 -195
  491. package/lib/plugin/Log.js +0 -62
  492. package/lib/plugin/Mapping.js +0 -149
  493. package/lib/plugin/Markdown.js +0 -58
  494. package/lib/plugin/Nav.js +0 -181
  495. package/lib/plugin/Operation.js +0 -84
  496. package/lib/plugin/Others/Action.js +0 -350
  497. package/lib/plugin/Others/TableCell.js +0 -393
  498. package/lib/plugin/Page.js +0 -363
  499. package/lib/plugin/Pagination.d.ts +0 -51
  500. package/lib/plugin/Pagination.js +0 -247
  501. package/lib/plugin/Panel.js +0 -222
  502. package/lib/plugin/Plain.js +0 -88
  503. package/lib/plugin/Progress.js +0 -258
  504. package/lib/plugin/Property.js +0 -147
  505. package/lib/plugin/QRCode.js +0 -107
  506. package/lib/plugin/Reset.js +0 -38
  507. package/lib/plugin/Service.js +0 -217
  508. package/lib/plugin/Sparkline.js +0 -50
  509. package/lib/plugin/Status.js +0 -86
  510. package/lib/plugin/Steps.js +0 -136
  511. package/lib/plugin/Submit.js +0 -38
  512. package/lib/plugin/Table.js +0 -594
  513. package/lib/plugin/TableView.js +0 -744
  514. package/lib/plugin/Tabs.js +0 -429
  515. package/lib/plugin/Tasks.js +0 -263
  516. package/lib/plugin/Time.js +0 -77
  517. package/lib/plugin/TooltipWrapper.js +0 -281
  518. package/lib/plugin/Tpl.js +0 -183
  519. package/lib/plugin/Video.js +0 -140
  520. package/lib/plugin/WebComponent.js +0 -70
  521. package/lib/plugin/Wizard.js +0 -799
  522. package/lib/plugin/Wrapper.js +0 -136
  523. package/lib/renderer/APIControl.d.ts +0 -7526
  524. package/lib/renderer/APIControl.js +0 -791
  525. package/lib/renderer/BadgeControl.js +0 -290
  526. package/lib/renderer/DataBindingControl.js +0 -91
  527. package/lib/renderer/DataMappingControl.d.ts +0 -11
  528. package/lib/renderer/DataMappingControl.js +0 -73
  529. package/lib/renderer/DataPickerControl.js +0 -83
  530. package/lib/renderer/DateShortCutControl.js +0 -254
  531. package/lib/renderer/FormulaControl.d.ts +0 -96
  532. package/lib/renderer/FormulaControl.js +0 -324
  533. package/lib/renderer/OptionControl.js +0 -672
  534. package/lib/renderer/RangePartsControl.d.ts +0 -91
  535. package/lib/renderer/RangePartsControl.js +0 -392
  536. package/lib/renderer/StatusControl.js +0 -171
  537. package/lib/renderer/SwitchMoreControl.js +0 -302
  538. package/lib/renderer/ValidationControl.js +0 -279
  539. package/lib/renderer/ValidationItem.js +0 -147
  540. package/lib/renderer/style-control/Background.js +0 -493
  541. package/lib/renderer/style-control/Border.js +0 -191
  542. package/lib/renderer/style-control/BoxModel.js +0 -73
  543. package/lib/renderer/style-control/BoxShadow.js +0 -125
  544. package/lib/renderer/style-control/Display.js +0 -233
  545. package/lib/renderer/style-control/Font.js +0 -239
  546. package/lib/renderer/style-control/font-family.js +0 -149
  547. package/lib/renderer/style-control/transformation.js +0 -84
  548. package/lib/tpl/api.d.ts +0 -1
  549. package/lib/tpl/api.js +0 -378
  550. package/lib/tpl/common.d.ts +0 -1
  551. package/lib/tpl/common.js +0 -808
  552. package/lib/tpl/horizontal.d.ts +0 -1
  553. package/lib/tpl/horizontal.js +0 -260
  554. package/lib/tpl/index.d.ts +0 -7
  555. package/lib/tpl/options.d.ts +0 -1
  556. package/lib/tpl/options.js +0 -265
  557. package/lib/tpl/style.d.ts +0 -15
  558. package/lib/tpl/style.js +0 -372
  559. package/lib/tpl/validations.d.ts +0 -1
  560. package/lib/tpl/validations.js +0 -568
  561. package/lib/util.d.ts +0 -24
  562. package/lib/util.js +0 -64
  563. package/lib/validator.js +0 -417
@@ -0,0 +1,73 @@
1
+ import {defaultValue, getSchemaTpl} from '../../component/schemaTpl';
2
+ import {registerEditorPlugin} from '../../manager';
3
+ import {BasePlugin} from '../../plugin';
4
+
5
+ export class FormulaControlPlugin extends BasePlugin {
6
+ // 关联渲染器名字
7
+ rendererName = 'formula';
8
+ $schema = '/schemas/FormulaControlSchema.json';
9
+
10
+ // 组件名称
11
+ name = '公式';
12
+ isBaseComponent = true;
13
+ icon = 'fa fa-calculator';
14
+ description = `通过公式计算指定的变量值,并将其结果作用到指定的变量中`;
15
+ docLink = '/amis/zh-CN/components/form/formula';
16
+ tags = ['表单项'];
17
+ scaffold = {
18
+ type: 'formula',
19
+ name: 'formula'
20
+ };
21
+ previewSchema: any = {
22
+ type: 'tpl',
23
+ tpl: '计算公式'
24
+ };
25
+
26
+ panelTitle = '公式';
27
+ panelBody = [
28
+ {
29
+ label: '字段名',
30
+ name: 'name',
31
+ type: 'input-text',
32
+ description: '公式计算结果会作用到此字段名对应的变量中。'
33
+ },
34
+ {
35
+ type: 'input-text',
36
+ name: 'value',
37
+ label: '默认值'
38
+ },
39
+ {
40
+ type: 'input-text',
41
+ name: 'formula',
42
+ label: '公式',
43
+ description:
44
+ '支持 JS 表达式,如: <code>data.var_a + 2</code>,即当表单项 <code>var_a</code> 变化的时候,会自动给当前表单项设置为 <code>var_a + 2</code> 的值。若设置为字符串,则需要加引号'
45
+ },
46
+ {
47
+ type: 'input-text',
48
+ name: 'condition',
49
+ label: '作用条件',
50
+ description:
51
+ '支持如:<code>\\${xxx}</code>或者<code>data.xxx == "a"</code> 表达式来配置作用条件,当满足该作用条件时,会将计算结果设置到目标变量上。'
52
+ },
53
+ getSchemaTpl('switch', {
54
+ name: 'initSet',
55
+ label: '是否初始应用',
56
+ description: '是否初始化的时候运行公式结果,并设置到目标变量上。',
57
+ pipeIn: defaultValue(true)
58
+ }),
59
+ getSchemaTpl('switch', {
60
+ name: 'autoSet',
61
+ label: '是否自动应用',
62
+ description:
63
+ '是否自动计算公式结果,有变化时自动设置到目标变量上。<br />关闭后,通过按钮也能触发运算。',
64
+ pipeIn: defaultValue(true)
65
+ })
66
+ ];
67
+
68
+ renderRenderer(props: any) {
69
+ return this.renderPlaceholder('功能组件(公式)', props.key);
70
+ }
71
+ }
72
+
73
+ registerEditorPlugin(FormulaControlPlugin);
@@ -0,0 +1,295 @@
1
+ import {Button} from 'amis';
2
+ import React from 'react';
3
+ import {registerEditorPlugin} from '../../manager';
4
+ import {
5
+ BasePlugin,
6
+ ContextMenuEventContext,
7
+ ContextMenuItem,
8
+ RegionConfig
9
+ } from '../../plugin';
10
+ import {defaultValue, getSchemaTpl} from '../../component/schemaTpl';
11
+ import {JSONPipeIn, JSONUpdate, makeHorizontalDeeper} from '../../util';
12
+
13
+ export class GroupControlPlugin extends BasePlugin {
14
+ // 关联渲染器名字
15
+ rendererName = 'group';
16
+ $schema = '/schemas/GroupControlSchema.json';
17
+ disabledRendererPlugin = true; // 组件面板不显示
18
+
19
+ // 组件名称
20
+ name = '表单组';
21
+ isBaseComponent = true;
22
+ icon = 'fa fa-id-card-o';
23
+ description = '水平展示多个表单项';
24
+ docLink = '/amis/zh-CN/components/form/group';
25
+ tags = ['表单项'];
26
+ scaffold = {
27
+ type: 'group',
28
+ body: [
29
+ {
30
+ type: 'input-text',
31
+ label: '文本',
32
+ name: 'var1'
33
+ },
34
+
35
+ {
36
+ type: 'input-text',
37
+ label: '文本',
38
+ name: 'var2'
39
+ }
40
+ ],
41
+ label: false
42
+ };
43
+ previewSchema: any = {
44
+ type: 'form',
45
+ className: 'text-left',
46
+ wrapWithPanel: false,
47
+ mode: 'horizontal',
48
+ body: [
49
+ {
50
+ ...this.scaffold,
51
+ mode: 'normal'
52
+ }
53
+ ]
54
+ };
55
+
56
+ // 容器配置
57
+ regions: Array<RegionConfig> = [
58
+ {
59
+ key: 'body',
60
+ label: '子表单',
61
+ renderMethod: 'renderInput',
62
+ preferTag: '表单项',
63
+ wrapperResolve: (dom: HTMLElement) => dom
64
+ }
65
+ ];
66
+
67
+ panelTitle = '表单组';
68
+ panelBody = [
69
+ getSchemaTpl('tabs', [
70
+ {
71
+ title: '常规',
72
+ body: [
73
+ getSchemaTpl('label'),
74
+
75
+ getSchemaTpl('description', {
76
+ visible: 'this.label'
77
+ }),
78
+
79
+ {
80
+ children: (
81
+ <Button
82
+ className="m-b"
83
+ onClick={() => {
84
+ // this.manager.showInsertPanel('body')
85
+ this.manager.showRendererPanel(
86
+ '表单项',
87
+ '请从左侧组件面板中点击添加表单项'
88
+ );
89
+ }}
90
+ level="danger"
91
+ tooltip="插入一个新的元素"
92
+ size="sm"
93
+ block
94
+ >
95
+ 新增元素
96
+ </Button>
97
+ )
98
+ },
99
+
100
+ getSchemaTpl('remark'),
101
+ getSchemaTpl('labelRemark')
102
+ ]
103
+ },
104
+
105
+ {
106
+ title: '外观',
107
+ body: [
108
+ getSchemaTpl('formItemMode'),
109
+ getSchemaTpl('horizontalMode'),
110
+ getSchemaTpl('horizontal', {
111
+ visibleOn:
112
+ '(data.$$formMode == "horizontal" || data.mode == "horizontal") && data.label !== false && data.horizontal',
113
+ pipeIn: (value: any, data: any) => {
114
+ value =
115
+ value ||
116
+ (data.formHorizontal &&
117
+ makeHorizontalDeeper(data.formHorizontal, data.body.length));
118
+
119
+ return {
120
+ leftRate:
121
+ value && typeof value.left === 'number'
122
+ ? value.left
123
+ : value &&
124
+ /\bcol\-(?:xs|sm|md|lg)\-(\d+)\b/.test(value.left)
125
+ ? parseInt(RegExp.$1, 10)
126
+ : 2,
127
+ leftFixed: (value && value.leftFixed) || ''
128
+ };
129
+ }
130
+ }),
131
+
132
+ getSchemaTpl('subFormItemMode'),
133
+ getSchemaTpl('subFormHorizontalMode'),
134
+ getSchemaTpl('subFormHorizontal'),
135
+
136
+ {
137
+ name: 'body',
138
+ type: 'combo',
139
+ label: '列宽度配置',
140
+ multiple: true,
141
+ removable: false,
142
+ addable: false,
143
+ multiLine: true,
144
+ visibleOn: 'data.$$formMode != "inline"',
145
+ items: [
146
+ {
147
+ type: 'button-group-select',
148
+ name: 'columnRatio',
149
+ label: '宽度设置',
150
+ tiled: true,
151
+ pipeIn: (value: any, data: any) => {
152
+ if (typeof value === 'number') {
153
+ return 'custom';
154
+ } else if (
155
+ data.columnClassName &&
156
+ /\bcol\-(?:xs|sm|md|lg)\-(\d+)\b/.test(
157
+ data.columnClassName as string
158
+ )
159
+ ) {
160
+ return 'custom';
161
+ }
162
+ return value || '';
163
+ },
164
+ pipeOut: (value: any) => (value === 'custom' ? 2 : value),
165
+ options: [
166
+ {
167
+ value: '',
168
+ label: '适配宽度'
169
+ },
170
+
171
+ {
172
+ value: 'auto',
173
+ label: '适配内容'
174
+ },
175
+
176
+ {
177
+ value: 'custom',
178
+ label: '自定义'
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ label: '宽度占比',
184
+ type: 'input-range',
185
+ name: 'columnRatio',
186
+ visibleOn:
187
+ 'typeof this.columnRatio === "number" || this.columnClassName && /\\bcol\\-(?:xs|sm|md|lg)\\-(\\d+)\\b/.test(this.columnClassName)',
188
+ pipeIn: (value: any, data: any) => {
189
+ if (typeof value === 'number') {
190
+ return value;
191
+ }
192
+
193
+ if (
194
+ !data.columnClassName ||
195
+ !/\bcol\-(?:xs|sm|md|lg)\-(\d+)\b/.test(
196
+ data.columnClassName as string
197
+ )
198
+ ) {
199
+ return 2;
200
+ }
201
+
202
+ return parseInt(RegExp.$1, 10) || 2;
203
+ },
204
+ min: 1,
205
+ max: 12,
206
+ step: 1
207
+ }
208
+ ]
209
+ },
210
+
211
+ {
212
+ type: 'button-group-select',
213
+ name: 'gap',
214
+ label: '间隔大小',
215
+ pipeIn: defaultValue(''),
216
+ size: 'sm',
217
+ tiled: true,
218
+ clearable: true,
219
+ options: [
220
+ {
221
+ value: 'xs',
222
+ label: '极小'
223
+ },
224
+
225
+ {
226
+ value: 'sm',
227
+ label: '小'
228
+ },
229
+
230
+ {
231
+ value: 'md',
232
+ label: '中'
233
+ },
234
+
235
+ {
236
+ value: 'lg',
237
+ label: '大'
238
+ }
239
+ ]
240
+ },
241
+
242
+ getSchemaTpl('className'),
243
+
244
+ {
245
+ name: 'body',
246
+ type: 'combo',
247
+ label: '列 CSS 类名配置',
248
+ multiple: true,
249
+ removable: false,
250
+ addable: false,
251
+ items: [
252
+ {
253
+ type: 'input-text',
254
+ name: 'columnClassName'
255
+ }
256
+ ]
257
+ }
258
+ ]
259
+ },
260
+
261
+ {
262
+ title: '显隐',
263
+ body: [getSchemaTpl('ref'), getSchemaTpl('visible')]
264
+ }
265
+ ])
266
+ ];
267
+
268
+ buildEditorContextMenu(
269
+ {id, schema, region, selections, info}: ContextMenuEventContext,
270
+ menus: Array<ContextMenuItem>
271
+ ) {
272
+ if (
273
+ selections.length ||
274
+ info.plugin !== this ||
275
+ !Array.isArray(schema.body) ||
276
+ schema.body.length < 2
277
+ ) {
278
+ return;
279
+ }
280
+
281
+ menus.push({
282
+ label: '变成多行',
283
+ onSelect: () => {
284
+ const store = this.manager.store;
285
+ let rootSchema = store.schema;
286
+
287
+ rootSchema = JSONUpdate(rootSchema, id, JSONPipeIn(schema.body), true);
288
+
289
+ store.traceableSetSchema(rootSchema);
290
+ }
291
+ });
292
+ }
293
+ }
294
+
295
+ registerEditorPlugin(GroupControlPlugin);
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import {registerEditorPlugin} from '../../manager';
3
+ import {BasePlugin} from '../../plugin';
4
+
5
+ export class HiddenControlPlugin extends BasePlugin {
6
+ // 关联渲染器名字
7
+ rendererName = 'hidden';
8
+ $schema = '/schemas/HiddenControlSchema.json';
9
+
10
+ // 组件名称
11
+ name = '隐藏域';
12
+ isBaseComponent = true;
13
+ icon = 'fa fa-eye-slash';
14
+ description = `隐藏表单项`;
15
+ docLink = '/amis/zh-CN/components/form/hidden';
16
+ tags = ['表单项'];
17
+ scaffold = {
18
+ type: 'hidden',
19
+ name: 'var1'
20
+ };
21
+ previewSchema: any = {
22
+ type: 'tpl',
23
+ tpl: '隐藏域'
24
+ };
25
+
26
+ panelTitle = '隐藏域';
27
+ panelBody = [
28
+ {
29
+ type: 'input-text',
30
+ name: 'value',
31
+ label: '默认值'
32
+ }
33
+ ];
34
+
35
+ renderRenderer(props: any) {
36
+ return (
37
+ <div key={props.key} className="wrapper-sm b-a b-light m-b-sm">
38
+ <span className="text-muted">功能组件(隐藏字段)</span>
39
+ </div>
40
+ );
41
+ }
42
+ }
43
+
44
+ registerEditorPlugin(HiddenControlPlugin);
@@ -0,0 +1,219 @@
1
+ import {Button} from 'amis';
2
+ import {registerEditorPlugin} from '../../manager';
3
+ import {
4
+ BaseEventContext,
5
+ BasePlugin,
6
+ BasicSubRenderInfo,
7
+ BasicToolbarItem,
8
+ ContextMenuEventContext,
9
+ ContextMenuItem,
10
+ RendererEventContext,
11
+ SubRendererInfo
12
+ } from '../../plugin';
13
+ import {
14
+ defaultValue,
15
+ getSchemaTpl,
16
+ valuePipeOut
17
+ } from '../../component/schemaTpl';
18
+ import React from 'react';
19
+ import {diff, JSONPipeOut} from '../../util';
20
+
21
+ export class ArrayControlPlugin extends BasePlugin {
22
+ // 关联渲染器名字
23
+ rendererName = 'input-array';
24
+ $schema = '/schemas/ArrayControlSchema.json';
25
+ disabledRendererPlugin = true;
26
+
27
+ // 组件名称
28
+ name = '数组输入框';
29
+ isBaseComponent = true;
30
+ icon = 'fa fa-bars';
31
+ description =
32
+ 'Array 数组输入框,可自定义成员输入形式。其实是 Combo 的 flat 值打平的一种用法,可直接用 combo 代替。';
33
+ docLink = '/amis/zh-CN/components/form/input-array';
34
+ tags = ['表单项'];
35
+ scaffold = {
36
+ type: 'input-array',
37
+ label: '数组输入框',
38
+ name: 'array',
39
+ items: {
40
+ type: 'input-text',
41
+ placeholder: '请输入'
42
+ }
43
+ };
44
+ previewSchema: any = {
45
+ type: 'form',
46
+ className: 'text-left',
47
+ wrapWithPanel: false,
48
+ mode: 'horizontal',
49
+ body: [
50
+ {
51
+ ...this.scaffold,
52
+ value: ['row1', ''],
53
+ draggable: true
54
+ }
55
+ ]
56
+ };
57
+
58
+ panelTitle = '数组框';
59
+ panelBodyCreator = (context: BaseEventContext) => {
60
+ return [
61
+ getSchemaTpl('switchDefaultValue'),
62
+
63
+ {
64
+ type: 'textarea',
65
+ name: 'value',
66
+ label: '默认值',
67
+ visibleOn: 'typeof this.value !== "undefined"',
68
+ pipeOut: valuePipeOut
69
+ },
70
+
71
+ {
72
+ children: (
73
+ <Button
74
+ size="sm"
75
+ level="danger"
76
+ className="m-b"
77
+ block
78
+ onClick={this.editDetail.bind(this, context.id)}
79
+ >
80
+ 配置子表单项
81
+ </Button>
82
+ )
83
+ },
84
+
85
+ getSchemaTpl('switch', {
86
+ label: '是否可新增',
87
+ name: 'addable',
88
+ pipeIn: defaultValue(true)
89
+ }),
90
+
91
+ {
92
+ label: '新增按钮文字',
93
+ name: 'addButtonText',
94
+ type: 'input-text',
95
+ visibleOn: 'data.addable',
96
+ pipeIn: defaultValue('新增')
97
+ },
98
+
99
+ {
100
+ type: 'textarea',
101
+ name: 'scaffold',
102
+ label: '新增初始值',
103
+ visibleOn: 'this.addable !== false',
104
+ pipeOut: valuePipeOut,
105
+ pipeIn: defaultValue('')
106
+ },
107
+
108
+ getSchemaTpl('switch', {
109
+ label: '是否可删除',
110
+ name: 'removable',
111
+ pipeIn: defaultValue(true)
112
+ }),
113
+
114
+ getSchemaTpl('api', {
115
+ name: 'deleteApi',
116
+ label: '删除前的请求',
117
+ visibleOn: 'data.removable'
118
+ }),
119
+
120
+ {
121
+ label: '删除确认提示',
122
+ name: 'deleteConfirmText',
123
+ type: 'input-text',
124
+ visibleOn: 'data.deleteApi',
125
+ pipeIn: defaultValue('确认要删除')
126
+ },
127
+
128
+ getSchemaTpl('switch', {
129
+ name: 'draggable',
130
+ label: '启用拖拽排序'
131
+ }),
132
+
133
+ {
134
+ name: 'draggableTip',
135
+ visibleOn: 'data.draggable',
136
+ type: 'input-text',
137
+ label: '可拖拽排序提示文字',
138
+ pipeIn: defaultValue('可通过拖动每行中的【交换】按钮进行顺序调整')
139
+ },
140
+
141
+ {
142
+ name: 'addButtonText',
143
+ type: 'input-text',
144
+ label: '新增按钮文字',
145
+ pipeIn: defaultValue('新增')
146
+ },
147
+
148
+ getSchemaTpl('minLength'),
149
+ getSchemaTpl('maxLength')
150
+ ];
151
+ };
152
+
153
+ filterProps(props: any) {
154
+ props = JSONPipeOut(props);
155
+
156
+ // 至少显示一个成员,否则啥都不显示。
157
+ if (!props.value) {
158
+ props.value = [''];
159
+ }
160
+
161
+ return props;
162
+ }
163
+
164
+ buildEditorToolbar(
165
+ {id, info}: BaseEventContext,
166
+ toolbars: Array<BasicToolbarItem>
167
+ ) {
168
+ if (info.renderer.name === 'input-array') {
169
+ toolbars.push({
170
+ icon: 'fa fa-expand',
171
+ order: 100,
172
+ tooltip: '配置子表单项',
173
+ onClick: this.editDetail.bind(this, id)
174
+ });
175
+ }
176
+ }
177
+
178
+ buildEditorContextMenu(
179
+ {id, schema, region, info}: ContextMenuEventContext,
180
+ menus: Array<ContextMenuItem>
181
+ ) {
182
+ if (info.renderer.name === 'input-array') {
183
+ menus.push('|', {
184
+ label: '配置成员渲染器',
185
+ onSelect: this.editDetail.bind(this, id)
186
+ });
187
+ }
188
+ }
189
+
190
+ editDetail(id: string) {
191
+ const manager = this.manager;
192
+ const store = manager.store;
193
+ const node = store.getNodeById(id);
194
+ const value = store.getValueOf(id);
195
+
196
+ node &&
197
+ value &&
198
+ this.manager.openSubEditor({
199
+ title: '配置子表单项',
200
+ value: value.items,
201
+ slot: {
202
+ type: 'form',
203
+ mode: 'normal',
204
+ body: '$$',
205
+ wrapWithPanel: false,
206
+ className: 'wrapper'
207
+ },
208
+ onChange: newValue => {
209
+ newValue = {
210
+ ...value,
211
+ items: newValue
212
+ };
213
+ manager.panelChangeValue(newValue, diff(value, newValue));
214
+ }
215
+ });
216
+ }
217
+ }
218
+
219
+ registerEditorPlugin(ArrayControlPlugin);