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
@@ -1,1528 +0,0 @@
1
- /**
2
- * amis-editor v5.2.0-beta.1
3
- * Copyright 2018-2022 @fex
4
- */
5
-
6
- 'use strict';
7
-
8
- Object.defineProperty(exports, '__esModule', { value: true });
9
-
10
- var tslib = require('tslib');
11
- var amis = require('amis');
12
- var get = require('lodash/get');
13
- var cloneDeep = require('lodash/cloneDeep');
14
- var React = require('react');
15
- var AMisCodeEditor = require('amis-editor-core');
16
- var amisCore = require('amis-core');
17
- var mobxStateTree = require('mobx-state-tree');
18
-
19
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
-
21
- var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
22
- var cloneDeep__default = /*#__PURE__*/_interopDefaultLegacy(cloneDeep);
23
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
24
-
25
- // 将展现控件转成编辑控件
26
- var viewTypeToEditType = function (type) {
27
- return type === 'tpl'
28
- ? 'input-text'
29
- : type === 'status' || type === 'mapping'
30
- ? 'select'
31
- : "input-".concat(type);
32
- };
33
- var CRUDPlugin = /** @class */ (function (_super) {
34
- tslib.__extends(CRUDPlugin, _super);
35
- function CRUDPlugin() {
36
- var _this = _super !== null && _super.apply(this, arguments) || this;
37
- // 关联渲染器名字
38
- _this.rendererName = 'crud';
39
- _this.$schema = '/schemas/CRUDSchema.json';
40
- _this.order = -1000;
41
- // 组件名称
42
- _this.name = '增删改查';
43
- _this.isBaseComponent = true;
44
- _this.description = '用来实现对数据的增删改查,支持三种模式展示:table、cards和list. 负责数据的拉取,分页,单条操作,批量操作,排序,快速编辑等等功能。集成查询条件。';
45
- _this.docLink = '/amis/zh-CN/components/crud';
46
- _this.tags = ['功能'];
47
- _this.icon = 'fa fa-table';
48
- _this.scaffold = {
49
- type: 'crud',
50
- syncLocation: false,
51
- api: '',
52
- columns: [
53
- {
54
- name: 'id',
55
- label: 'ID',
56
- type: 'text'
57
- },
58
- {
59
- name: 'engine',
60
- label: '渲染引擎',
61
- type: 'text'
62
- }
63
- ],
64
- bulkActions: [],
65
- itemActions: []
66
- };
67
- _this.sampleBuilder = function (schema) {
68
- var data = {
69
- items: [],
70
- total: 0
71
- };
72
- if (Array.isArray(schema === null || schema === void 0 ? void 0 : schema.columns)) {
73
- var item_1 = {};
74
- schema.columns.forEach(function (control) {
75
- if (control === null || control === void 0 ? void 0 : control.name) {
76
- amisCore.setVariable(item_1, control.name, 'sample');
77
- }
78
- });
79
- data.items.push(item_1);
80
- }
81
- return JSON.stringify({
82
- status: 0,
83
- msg: '',
84
- data: data
85
- }, null, 2);
86
- };
87
- _this.btnSchemas = {
88
- create: {
89
- label: '新增',
90
- type: 'button',
91
- actionType: 'dialog',
92
- level: 'primary',
93
- dialog: {
94
- title: '新增',
95
- body: {
96
- type: 'form',
97
- api: 'xxx/create',
98
- body: []
99
- }
100
- }
101
- },
102
- update: {
103
- label: '编辑',
104
- type: 'button',
105
- actionType: 'dialog',
106
- level: 'link',
107
- dialog: {
108
- title: '编辑',
109
- body: {
110
- type: 'form',
111
- api: 'xxx/update',
112
- body: []
113
- }
114
- }
115
- },
116
- view: {
117
- label: '查看',
118
- type: 'button',
119
- actionType: 'dialog',
120
- level: 'link',
121
- dialog: {
122
- title: '查看详情',
123
- body: {
124
- type: 'form',
125
- api: 'xxx/update',
126
- body: []
127
- }
128
- }
129
- },
130
- delete: {
131
- type: 'button',
132
- label: '删除',
133
- actionType: 'ajax',
134
- level: 'link',
135
- className: 'text-danger',
136
- confirmText: '确定要删除?',
137
- api: 'delete:/xxx/delete'
138
- },
139
- bulkDelete: {
140
- type: 'button',
141
- level: 'danger',
142
- label: '批量删除',
143
- actionType: 'ajax',
144
- confirmText: '确定要删除?',
145
- api: '/xxx/batch-delete'
146
- },
147
- bulkUpdate: {
148
- type: 'button',
149
- label: '批量编辑',
150
- actionType: 'dialog',
151
- dialog: {
152
- title: '批量编辑',
153
- size: 'md',
154
- body: {
155
- type: 'form',
156
- api: '/xxx/bacth-edit',
157
- body: [
158
- {
159
- label: '字段1',
160
- text: '字段1',
161
- type: 'input-text'
162
- }
163
- ]
164
- }
165
- }
166
- },
167
- // itemDelete: {
168
- // type: 'button',
169
- // level: 'danger',
170
- // label: '删除',
171
- // api: '/xxx/delete-one',
172
- // actionType: 'ajax',
173
- // confirmText: '确定要删除?'
174
- // },
175
- filter: {
176
- title: '查询条件',
177
- body: [
178
- {
179
- type: 'input-text',
180
- name: 'keywords',
181
- label: '关键字'
182
- }
183
- ]
184
- }
185
- };
186
- _this.scaffoldForm = {
187
- title: '增删改查快速开始-CRUD',
188
- body: [
189
- AMisCodeEditor.getSchemaTpl('api', {
190
- label: '接口地址',
191
- sampleBuilder: function (schema) {
192
- return JSON.stringify({
193
- status: 0,
194
- msg: '',
195
- data: [
196
- { id: 1, name: 'Jack' },
197
- { id: 2, name: 'Rose' }
198
- ]
199
- }, null, 2);
200
- }
201
- }),
202
- {
203
- type: 'button',
204
- label: '格式校验并自动生成列配置',
205
- className: 'm-t-xs m-b-xs',
206
- onClick: function (e, props) { return tslib.__awaiter(_this, void 0, void 0, function () {
207
- var data, schemaFilter, api, result, autoFillKeyValues, items;
208
- var _a, _b;
209
- return tslib.__generator(this, function (_c) {
210
- switch (_c.label) {
211
- case 0:
212
- data = props.data;
213
- schemaFilter = mobxStateTree.getEnv(window.editorStore).schemaFilter;
214
- api = data.api;
215
- // 主要是给爱速搭中替换 url
216
- if (schemaFilter) {
217
- api = schemaFilter({
218
- api: data.api
219
- }).api;
220
- }
221
- return [4 /*yield*/, props.env.fetcher(api, data)];
222
- case 1:
223
- result = _c.sent();
224
- autoFillKeyValues = [];
225
- items = ((_a = result.data) === null || _a === void 0 ? void 0 : _a.rows) || ((_b = result.data) === null || _b === void 0 ? void 0 : _b.items);
226
- if (items === null || items === void 0 ? void 0 : items.length) {
227
- Object.keys(items[0]).forEach(function (key) {
228
- items[0][key];
229
- autoFillKeyValues.push({
230
- label: key,
231
- type: 'text',
232
- name: key
233
- });
234
- });
235
- props.formStore.setValues({
236
- columns: autoFillKeyValues
237
- });
238
- // 查询条件的字段列表
239
- props.formStore.setValues({
240
- filterSettingSource: autoFillKeyValues.map(function (column) {
241
- return column.name;
242
- })
243
- });
244
- }
245
- else {
246
- amis.toast.warning("API\u8FD4\u56DE\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u70B9\u51FB\u63A5\u53E3\u5730\u5740\u53F3\u4FA7\u793A\u4F8B\u7684\u95EE\u53F7\u67E5\u770B\u793A\u4F8B");
247
- }
248
- return [2 /*return*/];
249
- }
250
- });
251
- }); }
252
- },
253
- {
254
- name: 'features',
255
- label: '启用功能',
256
- type: 'checkboxes',
257
- joinValues: false,
258
- extractValue: true,
259
- itemClassName: 'max-w-lg',
260
- options: [
261
- { label: '新增', value: 'create' },
262
- { label: '查询', value: 'filter' },
263
- { label: '批量删除', value: 'bulkDelete' },
264
- { label: '批量修改', value: 'bulkUpdate' },
265
- { label: '操作栏-编辑', value: 'update' },
266
- { label: '操作栏-查看详情', value: 'view' },
267
- { label: '操作栏-删除', value: 'delete' }
268
- ]
269
- },
270
- {
271
- type: 'group',
272
- body: [
273
- {
274
- columnRatio: 10,
275
- type: 'checkboxes',
276
- label: '启用的查询字段',
277
- name: 'filterEnabledList',
278
- joinValues: false,
279
- source: '${filterSettingSource}'
280
- },
281
- {
282
- columnRatio: 2,
283
- type: 'input-number',
284
- label: '每列显示几个字段',
285
- value: 3,
286
- name: 'filterColumnCount'
287
- }
288
- ],
289
- visibleOn: 'data.features && data.features.includes("filter")'
290
- },
291
- {
292
- name: 'columns',
293
- type: 'input-table',
294
- label: false,
295
- addable: true,
296
- removable: true,
297
- needConfirm: false,
298
- columns: [
299
- {
300
- type: 'input-text',
301
- name: 'label',
302
- label: '标题'
303
- },
304
- {
305
- type: 'input-text',
306
- name: 'name',
307
- label: '绑定字段名'
308
- },
309
- {
310
- type: 'select',
311
- name: 'type',
312
- label: '类型',
313
- value: 'text',
314
- options: [
315
- {
316
- value: 'text',
317
- label: '纯文本'
318
- },
319
- {
320
- value: 'tpl',
321
- label: '模板'
322
- },
323
- {
324
- value: 'image',
325
- label: '图片'
326
- },
327
- {
328
- value: 'date',
329
- label: '日期'
330
- },
331
- {
332
- value: 'progress',
333
- label: '进度'
334
- },
335
- {
336
- value: 'status',
337
- label: '状态'
338
- },
339
- {
340
- value: 'mapping',
341
- label: '映射'
342
- },
343
- {
344
- value: 'operation',
345
- label: '操作栏'
346
- }
347
- ]
348
- }
349
- ]
350
- }
351
- ],
352
- pipeOut: function (value) {
353
- var valueSchema = cloneDeep__default["default"](value);
354
- // 查看/删除 操作,可选择是否使用接口返回值预填充
355
- var features = valueSchema.features;
356
- var oper = {
357
- type: 'operation',
358
- label: '操作',
359
- buttons: []
360
- };
361
- var itemBtns = ['update', 'view', 'delete'];
362
- var hasFeatures = get__default["default"](features, 'length');
363
- valueSchema.bulkActions = [];
364
- /** 统一api格式 */
365
- valueSchema.api = amisCore.normalizeApi(valueSchema.api);
366
- hasFeatures &&
367
- features.forEach(function (item) {
368
- var _a, _b;
369
- if (itemBtns.includes(item)) {
370
- var schema = void 0;
371
- if (item === 'update') {
372
- schema = cloneDeep__default["default"](_this.btnSchemas.update);
373
- schema.dialog.body.body = value.columns
374
- .filter(function (_a) {
375
- var type = _a.type;
376
- return type !== 'progress' && type !== 'operation';
377
- })
378
- .map(function (_a) {
379
- var type = _a.type, rest = tslib.__rest(_a, ["type"]);
380
- return (tslib.__assign(tslib.__assign({}, rest), { type: viewTypeToEditType(type) }));
381
- });
382
- }
383
- else if (item === 'view') {
384
- schema = cloneDeep__default["default"](_this.btnSchemas.view);
385
- schema.dialog.body.body = value.columns.map(function (_a) {
386
- _a.type; var rest = tslib.__rest(_a, ["type"]);
387
- return (tslib.__assign(tslib.__assign({}, rest), { type: 'static' }));
388
- });
389
- }
390
- else if (item === 'delete') {
391
- schema = cloneDeep__default["default"](_this.btnSchemas.delete);
392
- schema.api = ((_a = valueSchema.api) === null || _a === void 0 ? void 0 : _a.method.match(/^(post|delete)$/i))
393
- ? valueSchema.api
394
- : tslib.__assign(tslib.__assign({}, valueSchema.api), { method: 'post' });
395
- }
396
- // 添加操作按钮
397
- _this.addItem(oper.buttons, schema);
398
- }
399
- else {
400
- // 批量操作
401
- if (item === 'bulkUpdate') {
402
- _this.addItem(valueSchema.bulkActions, cloneDeep__default["default"](_this.btnSchemas.bulkUpdate));
403
- }
404
- if (item === 'bulkDelete') {
405
- _this.addItem(valueSchema.bulkActions, cloneDeep__default["default"](_this.btnSchemas.bulkDelete));
406
- }
407
- // 创建
408
- if (item === 'create') {
409
- var createSchemaBase = _this.btnSchemas.create;
410
- createSchemaBase.dialog.body = {
411
- type: 'form',
412
- api: ((_b = valueSchema.api) === null || _b === void 0 ? void 0 : _b.method.match(/^(post|put)$/i))
413
- ? valueSchema.api
414
- : tslib.__assign(tslib.__assign({}, valueSchema.api), { method: 'post' }),
415
- body: valueSchema.columns.map(function (column) {
416
- var type = column.type;
417
- return {
418
- type: viewTypeToEditType(type),
419
- name: column.name,
420
- label: column.label
421
- };
422
- })
423
- };
424
- valueSchema.headerToolbar = [createSchemaBase, 'bulkActions'];
425
- }
426
- var keysFilter = Object.keys(valueSchema.filter || {});
427
- if (item === 'filter' && !keysFilter.length) {
428
- if (valueSchema.filterEnabledList) {
429
- valueSchema.filter = {
430
- title: '查询条件'
431
- };
432
- valueSchema.filter.columnCount = value.filterColumnCount;
433
- valueSchema.filter.mode = 'horizontal';
434
- valueSchema.filter.body = valueSchema.filterEnabledList.map(function (item) {
435
- return {
436
- type: 'input-text',
437
- label: item.label,
438
- name: item.value
439
- };
440
- });
441
- }
442
- }
443
- }
444
- });
445
- var hasOperate = valueSchema.columns.find(function (item) { return item.type === 'operation'; });
446
- hasFeatures && !hasOperate && valueSchema.columns.push(oper);
447
- return valueSchema;
448
- },
449
- canRebuild: true
450
- };
451
- _this.multifactor = true;
452
- _this.previewSchema = {
453
- syncLocation: false,
454
- type: 'crud',
455
- className: 'text-left',
456
- bodyClassName: 'm-b-none',
457
- affixHeader: false,
458
- data: {
459
- items: [
460
- { a: 1, b: 2 },
461
- { a: 3, b: 4 },
462
- { a: 5, b: 6 }
463
- ]
464
- },
465
- source: '${items}',
466
- columns: [
467
- {
468
- label: 'A',
469
- name: 'a'
470
- },
471
- {
472
- label: 'B',
473
- name: 'b'
474
- },
475
- {
476
- type: 'operation',
477
- label: '操作',
478
- buttons: [
479
- {
480
- icon: 'fa fa-eye',
481
- type: 'button'
482
- },
483
- {
484
- icon: 'fa fa-edit',
485
- type: 'button'
486
- }
487
- ]
488
- }
489
- ]
490
- };
491
- _this.panelTitle = '增删改查';
492
- _this.panelBodyCreator = function (context) {
493
- _this.manager.store;
494
- var id = context.id;
495
- return AMisCodeEditor.getSchemaTpl('tabs', [
496
- {
497
- title: '常规',
498
- body: [
499
- AMisCodeEditor.getSchemaTpl('switch', {
500
- name: 'filter',
501
- label: '启用查询条件',
502
- pipeIn: function (value) { return !!value; },
503
- pipeOut: function (value, originValue) {
504
- if (value) {
505
- return (_this.oldFilter ||
506
- AMisCodeEditor.JSONPipeIn({
507
- title: '查询条件',
508
- body: [
509
- {
510
- type: 'input-text',
511
- name: 'keywords',
512
- label: '关键字'
513
- }
514
- ]
515
- }));
516
- }
517
- else {
518
- _this.oldFilter = originValue;
519
- }
520
- return null;
521
- }
522
- }),
523
- {
524
- type: 'divider'
525
- },
526
- {
527
- label: '批量操作',
528
- name: 'bulkActions',
529
- type: 'combo',
530
- hiddenOn: 'data.pickerMode && data.multiple',
531
- inputClassName: 'ae-BulkActions-control',
532
- multiple: true,
533
- draggable: true,
534
- draggableTip: '',
535
- scaffold: {
536
- label: '按钮',
537
- type: 'button'
538
- },
539
- labelRemark: {
540
- className: 'm-l-xs',
541
- trigger: 'click',
542
- rootClose: true,
543
- content: '通过此可以管理批量操作按钮,只有设置了批量操作按钮才会出现选择框,可在外观中配置批量操作按钮位置。',
544
- placement: 'left'
545
- },
546
- items: [
547
- {
548
- type: 'tpl',
549
- tpl: '<span class="label label-success">${label}</span>',
550
- columnClassName: 'p-t-xs'
551
- },
552
- {
553
- columnClassName: 'p-t-xs col-edit',
554
- children: function (_a) {
555
- var index = _a.index;
556
- return (React__default["default"].createElement("button", { onClick: _this.handleBulkActionEdit.bind(_this, id, index), "data-tooltip": "\u4FEE\u6539", "data-position": "bottom", className: "text-muted" },
557
- React__default["default"].createElement("i", { className: "fa fa-pencil" })));
558
- }
559
- }
560
- ]
561
- },
562
- // getSchemaTpl('switch', {
563
- // name: 'defaultChecked',
564
- // label: '默认是否全部勾选',
565
- // visibleOn: 'data.bulkActions && data.bulkActions.length',
566
- // pipeIn: defaultValue(false)
567
- // }),
568
- {
569
- type: 'divider'
570
- },
571
- {
572
- label: '单条操作',
573
- name: 'itemActions',
574
- type: 'combo',
575
- labelRemark: {
576
- className: 'm-l-xs',
577
- trigger: 'click',
578
- rootClose: true,
579
- content: '设置后,当鼠标悬停行数据上,会出现该操作按钮,同时顶部操作栏也会显示该按钮,勾选成员时与批量按钮智能切换。',
580
- placement: 'left'
581
- },
582
- hiddenOn: 'this.mode && this.mode !== "table" || this.pickerMode',
583
- inputClassName: 'ae-BulkActions-control',
584
- multiple: true,
585
- draggable: true,
586
- scaffold: {
587
- label: '按钮',
588
- type: 'button'
589
- },
590
- items: [
591
- {
592
- type: 'tpl',
593
- tpl: '<span class="label label-success">${label}</span>',
594
- columnClassName: 'p-t-xs'
595
- },
596
- {
597
- type: 'checkbox',
598
- className: 'text-xs',
599
- option: '悬停隐藏',
600
- name: 'hiddenOnHover'
601
- },
602
- {
603
- columnClassName: 'p-t-xs col-edit',
604
- children: function (_a) {
605
- var index = _a.index;
606
- return (React__default["default"].createElement("button", { onClick: _this.handleItemActionEdit.bind(_this, id, index), "data-tooltip": "\u4FEE\u6539", "data-position": "bottom", className: "text-muted" },
607
- React__default["default"].createElement("i", { className: "fa fa-pencil" })));
608
- }
609
- }
610
- ]
611
- },
612
- {
613
- type: 'divider',
614
- hiddenOn: 'this.mode && this.mode !== "table" || this.pickerMode'
615
- },
616
- AMisCodeEditor.getSchemaTpl('switch', {
617
- name: 'syncLocation',
618
- label: '同步地址栏',
619
- pipeIn: AMisCodeEditor.defaultValue(true),
620
- labelRemark: {
621
- className: 'm-l-xs',
622
- trigger: 'click',
623
- rootClose: true,
624
- content: '开启后会把查询条件数据和分页信息同步到地址栏中,页面中出现多个时,建议只保留一个同步地址栏,否则会相互影响。',
625
- placement: 'left'
626
- }
627
- }),
628
- {
629
- label: '默认参数',
630
- type: 'input-kv',
631
- name: 'defaultParams',
632
- labelRemark: {
633
- className: 'm-l-xs',
634
- trigger: 'click',
635
- rootClose: true,
636
- content: '可以用来设置默认参数,比如 <code>perPage:20</code>',
637
- placement: 'left'
638
- }
639
- },
640
- {
641
- type: 'divider'
642
- },
643
- AMisCodeEditor.getSchemaTpl('switch', {
644
- name: 'keepItemSelectionOnPageChange',
645
- label: '保留条目选择',
646
- visbileOn: 'this.bulkActions && this.bulkActions.length || this.itemActions && this.itemActions.length',
647
- labelRemark: {
648
- className: 'm-l-xs',
649
- trigger: 'click',
650
- rootClose: true,
651
- content: '默认分页、搜索后,用户选择条目会被清空,开启此选项后会保留用户选择,可以实现跨页面批量操作。',
652
- placement: 'left'
653
- }
654
- }),
655
- {
656
- name: 'labelTpl',
657
- type: 'input-text',
658
- label: '单条描述模板',
659
- visibleOn: 'this.keepItemSelectionOnPageChange',
660
- labelRemark: {
661
- className: 'm-l-xs',
662
- trigger: 'click',
663
- rootClose: true,
664
- content: '开启【保留条目选择】后会把所有已选择条目列出来,此选项可以用来定制条目展示文案。',
665
- placement: 'left'
666
- }
667
- },
668
- {
669
- name: 'primaryField',
670
- label: '指定主键',
671
- type: 'input-text',
672
- pipeIn: AMisCodeEditor.defaultValue('id'),
673
- description: '默认<code>id</code>,用于批量操作获取行级数据'
674
- }
675
- ]
676
- },
677
- {
678
- title: '接口',
679
- body: [
680
- AMisCodeEditor.getSchemaTpl('api', {
681
- label: '数据拉取接口',
682
- sampleBuilder: function () {
683
- var _a, _b;
684
- var data = {
685
- items: [],
686
- total: 0
687
- };
688
- var columns = (_b = (_a = context === null || context === void 0 ? void 0 : context.schema) === null || _a === void 0 ? void 0 : _a.columns) !== null && _b !== void 0 ? _b : [];
689
- var row = {};
690
- columns.forEach(function (column) {
691
- if (column.name) {
692
- amisCore.setVariable(row, column.name, 'sample');
693
- }
694
- });
695
- data.items.push(row);
696
- return JSON.stringify({
697
- status: 0,
698
- msg: '',
699
- data: data
700
- }, null, 2);
701
- }
702
- }),
703
- {
704
- name: 'initFetch',
705
- type: 'radios',
706
- label: '是否初始拉取',
707
- pipeIn: function (value) {
708
- return (typeof value == 'boolean' && value) ||
709
- (typeof value !== 'boolean' && '');
710
- },
711
- inline: true,
712
- onChange: function () { },
713
- options: [
714
- {
715
- label: '是',
716
- value: true
717
- },
718
- {
719
- label: '否',
720
- value: false
721
- },
722
- {
723
- label: '表达式',
724
- value: ''
725
- }
726
- ]
727
- },
728
- {
729
- name: 'initFetch',
730
- autoComplete: false,
731
- visibleOn: 'typeof this.initFetch !== "boolean"',
732
- type: 'input-text',
733
- placeholder: '用 JS 表达式来决定',
734
- className: 'm-t-n-sm'
735
- },
736
- AMisCodeEditor.getSchemaTpl('switch', {
737
- name: 'loadDataOnce',
738
- label: '一次性拉取',
739
- labelRemark: {
740
- className: 'm-l-xs',
741
- trigger: 'click',
742
- rootClose: true,
743
- content: '开启后,数据只会在初始的时候拉取,后续分页、排序不再请求接口,都由前端直接完成。',
744
- placement: 'left'
745
- }
746
- }),
747
- AMisCodeEditor.getSchemaTpl('switch', {
748
- label: '开启定时刷新',
749
- name: 'interval',
750
- visibleOn: 'data.api',
751
- pipeIn: function (value) { return !!value; },
752
- pipeOut: function (value) { return (value ? 3000 : undefined); }
753
- }),
754
- {
755
- name: 'interval',
756
- type: 'input-number',
757
- visibleOn: 'typeof data.interval === "number"',
758
- step: 500,
759
- className: 'm-t-n-sm',
760
- description: '设置后将自动定时刷新,单位 ms'
761
- },
762
- AMisCodeEditor.getSchemaTpl('switch', {
763
- name: 'silentPolling',
764
- label: '静默刷新',
765
- visibleOn: '!!data.interval',
766
- description: '设置自动定时刷新时是否显示loading'
767
- }),
768
- {
769
- name: 'stopAutoRefreshWhen',
770
- label: '停止定时刷新检测表达式',
771
- type: 'input-text',
772
- visibleOn: '!!data.interval',
773
- description: '定时刷新一旦设置会一直刷新,除非给出表达式,条件满足后则不刷新了。'
774
- },
775
- AMisCodeEditor.getSchemaTpl('switch', {
776
- name: 'stopAutoRefreshWhenModalIsOpen',
777
- label: '当有弹框时关闭自动刷新',
778
- visibleOn: '!!data.interval',
779
- description: '弹框打开关闭自动刷新,关闭弹框又恢复'
780
- }),
781
- {
782
- type: 'divider'
783
- },
784
- AMisCodeEditor.getSchemaTpl('switch', {
785
- name: 'draggable',
786
- label: '是否可拖拽排序'
787
- }),
788
- AMisCodeEditor.getSchemaTpl('api', {
789
- label: '顺序保存接口',
790
- name: 'saveOrderApi',
791
- visibleOn: 'data.draggable'
792
- }),
793
- {
794
- type: 'divider'
795
- },
796
- AMisCodeEditor.getSchemaTpl('api', {
797
- label: '快速保存接口',
798
- name: 'quickSaveApi',
799
- description: '当 column 中设置了快速编辑后将使用此接口批量保存数据。'
800
- }),
801
- {
802
- type: 'divider'
803
- },
804
- AMisCodeEditor.getSchemaTpl('api', {
805
- label: '快速保存单条接口',
806
- name: 'quickSaveItemApi',
807
- description: '当 column 中设置了快速编辑且设置了立即保存,将使用此接口保存数据。'
808
- }),
809
- {
810
- type: 'divider'
811
- },
812
- {
813
- label: '默认消息提示',
814
- type: 'combo',
815
- name: 'messages',
816
- multiLine: true,
817
- description: '覆盖默认消息提示,但如果 api 返回 msg 则会优先使用这个 msg',
818
- items: [
819
- {
820
- label: '获取成功提示',
821
- type: 'input-text',
822
- name: 'fetchSuccess'
823
- },
824
- {
825
- label: '获取失败提示',
826
- type: 'input-text',
827
- name: 'fetchFailed'
828
- },
829
- {
830
- label: '保存顺序成功提示',
831
- type: 'input-text',
832
- name: 'saveOrderSuccess'
833
- },
834
- {
835
- label: '保存顺序失败提示',
836
- type: 'input-text',
837
- name: 'saveOrderFailed'
838
- },
839
- {
840
- label: '快速保存成功提示',
841
- type: 'input-text',
842
- name: 'quickSaveSuccess'
843
- },
844
- {
845
- label: '快速保存失败提示',
846
- type: 'input-text',
847
- name: 'quickSaveFailed'
848
- }
849
- ]
850
- }
851
- ]
852
- },
853
- {
854
- title: '外观',
855
- body: [
856
- {
857
- label: '内容展示模式',
858
- name: 'mode',
859
- type: 'button-group-select',
860
- size: 'xs',
861
- pipeIn: function (value, values) { var _a; return (_a = (value === 'grid' ? 'cards' : value)) !== null && _a !== void 0 ? _a : 'table'; },
862
- onChange: function (value, oldValue, model, form) {
863
- var _a, _b, _c, _d, _e;
864
- var headerHasColumnsToggle = (_b = (_a = form === null || form === void 0 ? void 0 : form.data) === null || _a === void 0 ? void 0 : _a.headerToolbar) === null || _b === void 0 ? void 0 : _b.some(function (item) { return item.type === 'columns-toggler'; });
865
- var headerToolbar = cloneDeep__default["default"]((_c = form === null || form === void 0 ? void 0 : form.data) === null || _c === void 0 ? void 0 : _c.headerToolbar);
866
- var columnsToggler;
867
- if (value !== 'table' && oldValue === 'table') {
868
- // 存储table模式是否有 columns-toggler
869
- columnsToggler = (headerToolbar === null || headerToolbar === void 0 ? void 0 : headerToolbar.find(function (item) { return item.type === 'columns-toggler'; })) || {
870
- type: 'columns-toggler',
871
- align: 'right'
872
- };
873
- form.setValues({
874
- __headerHasColumnsToggler: headerHasColumnsToggle
875
- });
876
- }
877
- headerToolbar =
878
- value === 'table'
879
- ? headerToolbar
880
- : headerToolbar === null || headerToolbar === void 0 ? void 0 : headerToolbar.filter(function (item) { return item.type !== 'columns-toggler'; });
881
- if (value === 'table') {
882
- if (((_d = form === null || form === void 0 ? void 0 : form.data) === null || _d === void 0 ? void 0 : _d.__headerHasColumnsToggler) &&
883
- !headerHasColumnsToggle) {
884
- headerToolbar === null || headerToolbar === void 0 ? void 0 : headerToolbar.push(((_e = form === null || form === void 0 ? void 0 : form.data) === null || _e === void 0 ? void 0 : _e.__cacheColumnsToggler) || {
885
- type: 'columns-toggler',
886
- align: 'right'
887
- });
888
- }
889
- form.setValues({
890
- headerToolbar: headerToolbar,
891
- columns: form.data.__columns || [
892
- {
893
- label: 'ID',
894
- name: 'id'
895
- },
896
- {
897
- label: '列信息',
898
- name: 'name'
899
- }
900
- ],
901
- __headerHasColumnsToggler: headerHasColumnsToggle,
902
- __card: form.data.card || form.data.__card,
903
- __listItem: form.data.listItem || form.data.__listItem
904
- });
905
- form.deleteValueByName('card');
906
- form.deleteValueByName('listItem');
907
- }
908
- else if (value === 'cards') {
909
- oldValue === 'table' &&
910
- form.setValues({
911
- __cacheColumnsToggler: columnsToggler
912
- });
913
- form.setValues({
914
- headerToolbar: headerToolbar,
915
- card: form.data.__card || {
916
- type: 'card',
917
- header: {
918
- title: '标题',
919
- subTitle: '副标题'
920
- },
921
- body: [
922
- {
923
- name: 'a',
924
- label: 'A'
925
- },
926
- {
927
- name: 'b',
928
- label: 'B'
929
- }
930
- ],
931
- actions: [
932
- {
933
- label: '详情',
934
- type: 'button'
935
- }
936
- ]
937
- },
938
- __columns: form.data.columns || form.data.__columns,
939
- __listItem: form.data.listItem || form.data.__listItem
940
- });
941
- form.deleteValueByName('columns');
942
- form.deleteValueByName('listItem');
943
- }
944
- else {
945
- oldValue === 'table' &&
946
- form.setValues({
947
- __cacheColumnsToggler: columnsToggler
948
- });
949
- form.setValues({
950
- headerToolbar: headerToolbar,
951
- listItem: form.data.__listItem || {
952
- body: [
953
- {
954
- type: 'tpl',
955
- tpl: '简单的展示数据:$a $b'
956
- }
957
- ],
958
- actions: [
959
- {
960
- icon: 'fa fa-eye',
961
- type: 'button'
962
- }
963
- ]
964
- },
965
- __columns: form.data.columns || form.data.__columns,
966
- __card: form.data.card || form.data.__card
967
- });
968
- form.deleteValueByName('columns');
969
- form.deleteValueByName('card');
970
- }
971
- },
972
- options: [
973
- {
974
- value: 'table',
975
- label: '表格'
976
- },
977
- {
978
- value: 'cards',
979
- label: '卡片'
980
- },
981
- {
982
- value: 'list',
983
- label: '列表'
984
- }
985
- ]
986
- },
987
- {
988
- name: 'headerToolbar',
989
- type: 'combo',
990
- draggable: true,
991
- draggableTip: '',
992
- descrition: '非内建内容请在预览区选中后编辑',
993
- label: '顶部工具栏配置',
994
- pipeIn: function (value) {
995
- if (!Array.isArray(value)) {
996
- value = value ? [value] : ['bulkActions'];
997
- }
998
- return value.map(function (item) {
999
- var type = item.type;
1000
- if (typeof item === 'string' &&
1001
- ~[
1002
- 'bulkActions',
1003
- 'bulk-actions',
1004
- 'pagination',
1005
- 'statistics',
1006
- 'switch-per-page',
1007
- 'filter-toggler',
1008
- 'load-more',
1009
- 'export-csv',
1010
- 'export-excel'
1011
- ].indexOf(item)) {
1012
- type = item === 'bulkActions' ? 'bulk-actions' : item;
1013
- item = { type: type };
1014
- }
1015
- else if (typeof item === 'string') {
1016
- type = 'tpl';
1017
- item =
1018
- typeof item === 'string' ? { type: 'tpl', tpl: item } : item;
1019
- }
1020
- return tslib.__assign({ type: type }, item);
1021
- });
1022
- },
1023
- pipeOut: function (value) {
1024
- if (Array.isArray(value)) {
1025
- return value.map(function (item) {
1026
- if (item.type === 'button') {
1027
- return AMisCodeEditor.JSONPipeIn(tslib.__assign({ label: '按钮', type: 'button' }, item));
1028
- }
1029
- else if (item.type === 'tpl') {
1030
- return AMisCodeEditor.JSONPipeIn(tslib.__assign({ type: 'tpl', tpl: '内容' }, item));
1031
- }
1032
- return item;
1033
- });
1034
- }
1035
- return [];
1036
- },
1037
- scaffold: {
1038
- type: 'tpl',
1039
- tpl: '内容'
1040
- },
1041
- multiple: true,
1042
- items: [
1043
- {
1044
- type: 'select',
1045
- name: 'type',
1046
- columnClassName: 'w-ssm',
1047
- options: [
1048
- {
1049
- value: 'bulk-actions',
1050
- label: '操作栏'
1051
- },
1052
- {
1053
- value: 'pagination',
1054
- label: '分页'
1055
- },
1056
- {
1057
- value: 'statistics',
1058
- label: '统计数据'
1059
- },
1060
- {
1061
- value: 'switch-per-page',
1062
- label: '切换页码'
1063
- },
1064
- {
1065
- value: 'load-more',
1066
- label: '加载更多'
1067
- },
1068
- {
1069
- value: 'export-csv',
1070
- label: '导出 CSV'
1071
- },
1072
- {
1073
- value: 'export-excel',
1074
- label: '导出 Excel'
1075
- },
1076
- {
1077
- value: 'columns-toggler',
1078
- label: '列选择器',
1079
- visibleOn: '!this.mode || this.mode === "table"'
1080
- },
1081
- {
1082
- value: 'filter-toggler',
1083
- label: '查询条件切换'
1084
- },
1085
- {
1086
- value: 'drag-toggler',
1087
- label: '拖拽切换'
1088
- },
1089
- {
1090
- value: 'check-all',
1091
- label: '全选',
1092
- hiddenOn: '!this.mode || this.mode === "table"'
1093
- },
1094
- {
1095
- value: 'tpl',
1096
- label: '文本'
1097
- },
1098
- {
1099
- value: 'button',
1100
- label: '按钮'
1101
- }
1102
- ]
1103
- },
1104
- {
1105
- name: 'align',
1106
- placeholder: '对齐方式',
1107
- type: 'select',
1108
- size: 'xs',
1109
- options: [
1110
- {
1111
- label: '左对齐',
1112
- value: 'left'
1113
- },
1114
- {
1115
- label: '右对齐',
1116
- value: 'right'
1117
- }
1118
- ]
1119
- }
1120
- // {
1121
- // type: 'remark',
1122
- // content: '详情请在预览区域选中后进行编辑。',
1123
- // trigger: ['click'],
1124
- // rootClose: true,
1125
- // placement: 'left',
1126
- // visibleOn:
1127
- // '!~["bulkActions", "drag-toggler", "check-all", "bulk-actions", "pagination", "statistics", "switch-per-page", "filter-toggler", "load-more"].indexOf(this.type)',
1128
- // columnClassName: 'no-grow w-3x p-t-xs',
1129
- // className: 'm-l-none'
1130
- // }
1131
- ]
1132
- },
1133
- {
1134
- name: 'footerToolbar',
1135
- type: 'combo',
1136
- draggable: true,
1137
- draggableTip: '',
1138
- descrition: '非内建内容请在预览区选中后编辑',
1139
- label: '底部工具栏配置',
1140
- pipeIn: function (value) {
1141
- if (!Array.isArray(value)) {
1142
- value = value ? [value] : ['statistics', 'pagination'];
1143
- }
1144
- return value.map(function (item) {
1145
- var type = item.type;
1146
- if (typeof item === 'string' &&
1147
- ~[
1148
- 'bulkActions',
1149
- 'bulk-actions',
1150
- 'pagination',
1151
- 'statistics',
1152
- 'switch-per-page',
1153
- 'filter-toggler',
1154
- 'load-more',
1155
- 'export-csv',
1156
- 'export-excel'
1157
- ].indexOf(item)) {
1158
- type = item === 'bulkActions' ? 'bulk-actions' : item;
1159
- item = { type: type };
1160
- }
1161
- else if (typeof item === 'string') {
1162
- type = 'tpl';
1163
- item =
1164
- typeof item === 'string' ? { type: 'tpl', tpl: item } : item;
1165
- }
1166
- return tslib.__assign({ type: type }, item);
1167
- });
1168
- },
1169
- pipeOut: function (value) {
1170
- if (Array.isArray(value)) {
1171
- return value.map(function (item) {
1172
- if (item.type === 'button') {
1173
- return AMisCodeEditor.JSONPipeIn(tslib.__assign({ label: '按钮', type: 'button' }, item));
1174
- }
1175
- else if (item.type === 'tpl') {
1176
- return AMisCodeEditor.JSONPipeIn(tslib.__assign({ type: 'tpl', tpl: '内容' }, item));
1177
- }
1178
- return item;
1179
- });
1180
- }
1181
- return [];
1182
- },
1183
- scaffold: {
1184
- type: 'tpl',
1185
- tpl: '内容'
1186
- },
1187
- multiple: true,
1188
- items: [
1189
- {
1190
- type: 'select',
1191
- name: 'type',
1192
- columnClassName: 'w-ssm',
1193
- options: [
1194
- {
1195
- value: 'bulk-actions',
1196
- label: '操作栏'
1197
- },
1198
- {
1199
- value: 'pagination',
1200
- label: '分页'
1201
- },
1202
- {
1203
- value: 'statistics',
1204
- label: '统计数据'
1205
- },
1206
- {
1207
- value: 'switch-per-page',
1208
- label: '切换页码'
1209
- },
1210
- {
1211
- value: 'load-more',
1212
- label: '加载更多'
1213
- },
1214
- {
1215
- value: 'export-csv',
1216
- label: '导出 CSV'
1217
- },
1218
- {
1219
- value: 'export-excel',
1220
- label: '导出 Excel'
1221
- },
1222
- {
1223
- value: 'columns-toggler',
1224
- label: '列选择器',
1225
- hiddenOn: '["grid", "cards", "list"].indexOf(this.mode)'
1226
- },
1227
- {
1228
- value: 'filter-toggler',
1229
- label: '查询条件切换'
1230
- },
1231
- {
1232
- value: 'drag-toggler',
1233
- label: '拖拽切换'
1234
- },
1235
- {
1236
- value: 'check-all',
1237
- label: '全选',
1238
- hiddenOn: '!this.mode || this.mode === "table"'
1239
- },
1240
- {
1241
- value: 'tpl',
1242
- label: '文本'
1243
- },
1244
- {
1245
- value: 'button',
1246
- label: '按钮'
1247
- }
1248
- ]
1249
- },
1250
- {
1251
- name: 'align',
1252
- placeholder: '对齐方式',
1253
- size: 'xs',
1254
- type: 'select',
1255
- options: [
1256
- {
1257
- label: '左对齐',
1258
- value: 'left'
1259
- },
1260
- {
1261
- label: '右对齐',
1262
- value: 'right'
1263
- }
1264
- ]
1265
- },
1266
- {
1267
- type: 'remark',
1268
- content: '详情请在预览区域选中后进行编辑。',
1269
- trigger: ['click'],
1270
- rootClose: true,
1271
- placement: 'left',
1272
- visibleOn: '!~["bulkActions", "drag-toggler", "check-all", "bulk-actions", "pagination", "statistics", "switch-per-page", "filter-toggler", "load-more", "export-csv", "export-excel"].indexOf(this.type)',
1273
- columnClassName: 'no-grow w-3x p-t-xs',
1274
- className: 'm-l-none'
1275
- }
1276
- ]
1277
- },
1278
- AMisCodeEditor.getSchemaTpl('switch', {
1279
- name: 'filterTogglable',
1280
- label: '是否可显隐查询条件',
1281
- visibleOn: 'data.filter'
1282
- }),
1283
- AMisCodeEditor.getSchemaTpl('switch', {
1284
- name: 'filterDefaultVisible',
1285
- label: '查询条件默认是否可见',
1286
- visibleOn: 'data.filter && data.filterTogglable',
1287
- pipeIn: AMisCodeEditor.defaultValue(true)
1288
- }),
1289
- AMisCodeEditor.getSchemaTpl('switch', {
1290
- name: 'hideQuickSaveBtn',
1291
- label: '隐藏顶部快速保存提示'
1292
- }),
1293
- AMisCodeEditor.getSchemaTpl('switch', {
1294
- name: 'alwaysShowPagination',
1295
- label: '是否总是显示分页'
1296
- }),
1297
- AMisCodeEditor.getSchemaTpl('switch', {
1298
- name: 'hideCheckToggler',
1299
- label: '隐藏选择按钮',
1300
- visibleOn: 'data.checkOnItemClick'
1301
- }),
1302
- AMisCodeEditor.getSchemaTpl('className'),
1303
- AMisCodeEditor.getSchemaTpl('className', {
1304
- name: 'bodyClassName',
1305
- label: '内容 CSS 类名'
1306
- })
1307
- ]
1308
- },
1309
- {
1310
- title: '其他',
1311
- body: [
1312
- AMisCodeEditor.getSchemaTpl('ref'),
1313
- {
1314
- name: 'source',
1315
- label: '数据源',
1316
- type: 'input-text',
1317
- description: '不填写,默认读取接口返回的 items 或者 rows 属性,如果是别的,请在此设置,如: <code>\\${xxxx}</code>'
1318
- },
1319
- {
1320
- name: 'perPage',
1321
- label: '每页数量',
1322
- type: 'input-number'
1323
- },
1324
- AMisCodeEditor.getSchemaTpl('switch', {
1325
- name: 'keepItemSelectionOnPageChange',
1326
- label: '翻页时保留选择'
1327
- }),
1328
- {
1329
- name: 'maxKeepItemSelectionLength',
1330
- label: '最大选择数量',
1331
- type: 'input-number',
1332
- mode: 'inline',
1333
- className: 'block'
1334
- },
1335
- {
1336
- name: 'pageField',
1337
- label: '页码字段名',
1338
- type: 'input-text',
1339
- pipeIn: AMisCodeEditor.defaultValue('page')
1340
- },
1341
- {
1342
- name: 'perPageField',
1343
- label: '分页步长字段名',
1344
- type: 'input-text',
1345
- pipeIn: AMisCodeEditor.defaultValue('perPage')
1346
- },
1347
- {
1348
- name: 'orderField',
1349
- label: '排序权重字段',
1350
- type: 'input-text',
1351
- labelRemark: {
1352
- className: 'm-l-xs',
1353
- trigger: 'click',
1354
- rootClose: true,
1355
- content: '设置用来确定位置的字段名,设置后新的顺序将被赋值到该字段中。',
1356
- placement: 'left'
1357
- }
1358
- },
1359
- {
1360
- name: 'perPageAvailable',
1361
- label: '切换每页数',
1362
- type: 'input-array',
1363
- hiddenOn: 'data.loadDataOnce',
1364
- items: {
1365
- type: 'input-number',
1366
- required: true
1367
- },
1368
- value: [10]
1369
- },
1370
- AMisCodeEditor.getSchemaTpl('name'),
1371
- {
1372
- name: 'itemCheckableOn',
1373
- type: 'input-text',
1374
- label: '配置单条可选中的表达式',
1375
- description: '请使用 js 表达式,不设置的话每条都可选中。',
1376
- visibleOn: 'data.bulkActions && data.bulkActions.length || data.pickerMode'
1377
- },
1378
- AMisCodeEditor.getSchemaTpl('switch', {
1379
- name: 'checkOnItemClick',
1380
- label: '开启单条点击整个区域选中',
1381
- visibleOn: 'data.bulkActions && data.bulkActions.length || data.pickerMode'
1382
- }),
1383
- AMisCodeEditor.getSchemaTpl('switch', {
1384
- name: 'autoJumpToTopOnPagerChange',
1385
- label: '自动跳顶部',
1386
- description: '当切分页的时候,是否自动跳顶部'
1387
- }),
1388
- AMisCodeEditor.getSchemaTpl('switch', {
1389
- name: 'syncResponse2Query',
1390
- label: '同步查询条件',
1391
- description: '查询后将返回的数据同步到查询条件上'
1392
- })
1393
- ]
1394
- }
1395
- ]);
1396
- };
1397
- _this.wrapperProps = {
1398
- affixHeader: false
1399
- };
1400
- return _this;
1401
- }
1402
- CRUDPlugin.prototype.addItem = function (source, target) {
1403
- var canAdd = source.find(function (item) { return item.label === target.label; });
1404
- if (!canAdd) {
1405
- source.push(target);
1406
- }
1407
- };
1408
- CRUDPlugin.prototype.handleBulkActionEdit = function (id, index) {
1409
- var store = this.manager.store;
1410
- var schema = store.getSchema(id);
1411
- var action = schema === null || schema === void 0 ? void 0 : schema.bulkActions[index];
1412
- if (action && action.$$id) {
1413
- store.setActiveId(action.$$id);
1414
- }
1415
- };
1416
- CRUDPlugin.prototype.handleItemActionEdit = function (id, index) {
1417
- var store = this.manager.store;
1418
- var schema = store.getSchema(id);
1419
- var action = schema === null || schema === void 0 ? void 0 : schema.itemActions[index];
1420
- if (action && action.$$id) {
1421
- store.setActiveId(action.$$id);
1422
- }
1423
- };
1424
- /**
1425
- * 默认什么组件都加入的子组件里面,子类里面可以复写这个改变行为。
1426
- * @param context
1427
- * @param renderers
1428
- */
1429
- CRUDPlugin.prototype.buildSubRenderers = function (context, renderers) {
1430
- var plugin = this;
1431
- if (plugin.name && plugin.description) {
1432
- return {
1433
- name: plugin.name,
1434
- icon: plugin.icon,
1435
- description: plugin.description,
1436
- previewSchema: plugin.previewSchema,
1437
- tags: plugin.tags,
1438
- docLink: plugin.docLink,
1439
- type: plugin.type,
1440
- scaffold: plugin.scaffold,
1441
- disabledRendererPlugin: plugin.disabledRendererPlugin,
1442
- isBaseComponent: plugin.isBaseComponent,
1443
- scaffoldForm: this.scaffoldForm,
1444
- rendererName: plugin.rendererName
1445
- };
1446
- }
1447
- };
1448
- CRUDPlugin.prototype.getRendererInfo = function (context) {
1449
- var info = _super.prototype.getRendererInfo.call(this, context);
1450
- if (info) {
1451
- info.scaffoldForm = this.scaffoldForm;
1452
- }
1453
- return info;
1454
- };
1455
- CRUDPlugin.prototype.renderEditableComponents = function (props) {
1456
- var render = props.render;
1457
- var bulkActions = props.bulkActions;
1458
- var itemActions = props.itemActions;
1459
- var doms = [];
1460
- if (Array.isArray(bulkActions) && bulkActions.length) {
1461
- doms.push(React__default["default"].createElement("div", { key: "bulkActions", className: "ae-EditableRender" },
1462
- React__default["default"].createElement("div", { className: "ae-EditableRender-title" }, "\u6279\u91CF\u64CD\u4F5C"),
1463
- React__default["default"].createElement("div", { className: "ae-EditableRender-body" }, bulkActions.map(function (action) {
1464
- return render('bulk-action', tslib.__assign({ type: 'button', size: 'sm' }, action), {
1465
- key: action.$$id
1466
- });
1467
- }))));
1468
- }
1469
- if (Array.isArray(itemActions) && itemActions.length) {
1470
- doms.push(React__default["default"].createElement("div", { key: "itemActions", className: "ae-EditableRender" },
1471
- React__default["default"].createElement("div", { className: "ae-EditableRender-title" }, "\u5355\u6761\u64CD\u4F5C"),
1472
- React__default["default"].createElement("div", { className: "ae-EditableRender-body" }, itemActions.map(function (action) {
1473
- return render('bulk-action', tslib.__assign({ type: 'button', size: 'sm' }, action), {
1474
- key: action.$$id
1475
- });
1476
- }))));
1477
- }
1478
- if (!doms.length) {
1479
- return null;
1480
- }
1481
- return (React__default["default"].createElement("div", { className: "ae-EditableRenderers" },
1482
- React__default["default"].createElement("div", { className: "ae-EditableRenderers-tip" }, "\u300C\u589E\u5220\u6539\u67E5\u300D\u7F16\u8F91\u8F85\u52A9\u533A"),
1483
- doms));
1484
- };
1485
- CRUDPlugin.prototype.renderRenderer = function (props) {
1486
- var $$editor = props.$$editor;
1487
- var renderer = $$editor.renderer;
1488
- return (React__default["default"].createElement("div", { className: "ae-CRUDEditor" },
1489
- this.renderEditableComponents(props),
1490
- React__default["default"].createElement(renderer.component, tslib.__assign({}, props))));
1491
- };
1492
- CRUDPlugin.prototype.filterProps = function (props) {
1493
- if (props.pickerMode) {
1494
- props.options = props.data.options;
1495
- }
1496
- return props;
1497
- };
1498
- CRUDPlugin.prototype.afterUpdate = function (event) {
1499
- var _this = this;
1500
- var _a;
1501
- var context = event.context;
1502
- // mode 内容形式变化,需要重新构建面板。
1503
- if (context.info.plugin === this &&
1504
- ((_a = context.diff) === null || _a === void 0 ? void 0 : _a.some(function (change) { var _a; return ((_a = change.path) === null || _a === void 0 ? void 0 : _a.join('.')) === 'mode'; }))) {
1505
- setTimeout(function () {
1506
- _this.manager.buildPanels();
1507
- _this.manager.buildToolbars();
1508
- }, 20);
1509
- }
1510
- };
1511
- CRUDPlugin.prototype.buildDataSchemas = function (node, region) {
1512
- var _a, _b;
1513
- return tslib.__awaiter(this, void 0, void 0, function () {
1514
- var child;
1515
- return tslib.__generator(this, function (_c) {
1516
- child = node.children.find(function (item) { return !!~['table', 'table2', 'cards', 'list'].indexOf(item.type); });
1517
- if (!((_b = (_a = child === null || child === void 0 ? void 0 : child.info) === null || _a === void 0 ? void 0 : _a.plugin) === null || _b === void 0 ? void 0 : _b.buildDataSchemas)) {
1518
- return [2 /*return*/];
1519
- }
1520
- return [2 /*return*/, child.info.plugin.buildDataSchemas(child)];
1521
- });
1522
- });
1523
- };
1524
- return CRUDPlugin;
1525
- }(AMisCodeEditor.BasePlugin));
1526
- AMisCodeEditor.registerEditorPlugin(CRUDPlugin);
1527
-
1528
- exports.CRUDPlugin = CRUDPlugin;