amis-editor 4.1.0-beta.4 → 5.2.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (420) hide show
  1. package/lib/component/BaseControl.d.ts +1831 -0
  2. package/lib/component/BaseControl.js +366 -0
  3. package/{dist/component/base → lib/component}/InputComponentName.d.ts +1 -1
  4. package/lib/component/InputComponentName.js +44 -0
  5. package/{dist → lib}/component/TableViewEditor.d.ts +2 -2
  6. package/lib/component/TableViewEditor.js +528 -0
  7. package/lib/event-action/actions.d.ts +3 -0
  8. package/lib/event-action/actions.js +188 -0
  9. package/lib/event-action/schema.d.ts +13 -0
  10. package/lib/event-action/schema.js +134 -0
  11. package/{dist → lib}/index.d.ts +27 -31
  12. package/lib/index.js +181 -0
  13. package/{dist → lib}/plugin/Alert.d.ts +5 -3
  14. package/lib/plugin/Alert.js +113 -0
  15. package/lib/plugin/AnchorNav.d.ts +48 -0
  16. package/lib/plugin/AnchorNav.js +297 -0
  17. package/{dist → lib}/plugin/Audio.d.ts +1 -1
  18. package/lib/plugin/Audio.js +157 -0
  19. package/{dist → lib}/plugin/Avatar.d.ts +11 -2
  20. package/lib/plugin/Avatar.js +305 -0
  21. package/{dist → lib}/plugin/Breadcrumb.d.ts +1 -1
  22. package/lib/plugin/Breadcrumb.js +116 -0
  23. package/{dist → lib}/plugin/Button.d.ts +7 -3
  24. package/lib/plugin/Button.js +297 -0
  25. package/lib/plugin/ButtonGroup.d.ts +39 -0
  26. package/lib/plugin/ButtonGroup.js +139 -0
  27. package/{dist → lib}/plugin/ButtonToolbar.d.ts +5 -11
  28. package/lib/plugin/ButtonToolbar.js +89 -0
  29. package/{dist → lib}/plugin/CRUD.d.ts +3 -1
  30. package/lib/plugin/CRUD.js +1528 -0
  31. package/{dist → lib}/plugin/Card.d.ts +2 -1
  32. package/lib/plugin/Card.js +233 -0
  33. package/{dist → lib}/plugin/Cards.d.ts +3 -2
  34. package/lib/plugin/Cards.js +254 -0
  35. package/{dist → lib}/plugin/Carousel.d.ts +2 -1
  36. package/lib/plugin/Carousel.js +358 -0
  37. package/{dist → lib}/plugin/Chart.d.ts +4 -1
  38. package/lib/plugin/Chart.js +192 -0
  39. package/{dist → lib}/plugin/CodeView.d.ts +1 -1
  40. package/lib/plugin/CodeView.js +68 -0
  41. package/{dist → lib}/plugin/Collapse.d.ts +3 -1
  42. package/lib/plugin/Collapse.js +138 -0
  43. package/{dist → lib}/plugin/CollapseGroup.d.ts +29 -5
  44. package/lib/plugin/CollapseGroup.js +237 -0
  45. package/{dist → lib}/plugin/Container.d.ts +3 -2
  46. package/lib/plugin/Container.js +100 -0
  47. package/{dist → lib}/plugin/Custom.d.ts +4 -1
  48. package/lib/plugin/Custom.js +109 -0
  49. package/lib/plugin/CustomRegion.d.ts +40 -0
  50. package/lib/plugin/CustomRegion.js +154 -0
  51. package/{dist → lib}/plugin/Date.d.ts +1 -1
  52. package/lib/plugin/Date.js +82 -0
  53. package/{dist → lib}/plugin/Datetime.d.ts +1 -1
  54. package/lib/plugin/Datetime.js +77 -0
  55. package/{dist → lib}/plugin/Dialog.d.ts +13 -3
  56. package/lib/plugin/Dialog.js +214 -0
  57. package/{dist → lib}/plugin/Divider.d.ts +1 -1
  58. package/lib/plugin/Divider.js +49 -0
  59. package/{dist → lib}/plugin/Drawer.d.ts +13 -3
  60. package/lib/plugin/Drawer.js +240 -0
  61. package/{dist → lib}/plugin/DropDownButton.d.ts +13 -12
  62. package/lib/plugin/DropDownButton.js +229 -0
  63. package/{dist → lib}/plugin/Each.d.ts +2 -2
  64. package/lib/plugin/Each.js +131 -0
  65. package/{dist → lib}/plugin/Flex.d.ts +2 -1
  66. package/lib/plugin/Flex.js +203 -0
  67. package/{dist → lib}/plugin/Form/ButtonGroupSelect.d.ts +7 -2
  68. package/lib/plugin/Form/ButtonGroupSelect.js +161 -0
  69. package/{dist → lib}/plugin/Form/ButtonToolbar.d.ts +8 -7
  70. package/lib/plugin/Form/ButtonToolbar.js +107 -0
  71. package/{dist → lib}/plugin/Form/ChainedSelect.d.ts +8 -2
  72. package/lib/plugin/Form/ChainedSelect.js +183 -0
  73. package/{dist → lib}/plugin/Form/Checkbox.d.ts +7 -2
  74. package/lib/plugin/Form/Checkbox.js +174 -0
  75. package/{dist → lib}/plugin/Form/Checkboxes.d.ts +8 -2
  76. package/lib/plugin/Form/Checkboxes.js +213 -0
  77. package/lib/plugin/Form/CodeEditor.d.ts +25 -0
  78. package/lib/plugin/Form/CodeEditor.js +201 -0
  79. package/{dist → lib}/plugin/Form/Combo.d.ts +4 -1
  80. package/lib/plugin/Form/Combo.js +546 -0
  81. package/{dist → lib}/plugin/Form/ConditionBuilder.d.ts +1 -1
  82. package/lib/plugin/Form/ConditionBuilder.js +302 -0
  83. package/{dist → lib}/plugin/Form/Control.d.ts +7 -2
  84. package/lib/plugin/Form/Control.js +88 -0
  85. package/{dist → lib}/plugin/Form/DiffEditor.d.ts +8 -2
  86. package/lib/plugin/Form/DiffEditor.js +204 -0
  87. package/{dist → lib}/plugin/Form/FieldSet.d.ts +1 -1
  88. package/lib/plugin/Form/FieldSet.js +152 -0
  89. package/lib/plugin/Form/Form.d.ts +42 -0
  90. package/lib/plugin/Form/Form.js +846 -0
  91. package/lib/plugin/Form/Formula.d.ts +27 -0
  92. package/lib/plugin/Form/Formula.js +82 -0
  93. package/{dist → lib}/plugin/Form/Group.d.ts +1 -1
  94. package/lib/plugin/Form/Group.js +252 -0
  95. package/{dist → lib}/plugin/Form/Hidden.d.ts +1 -1
  96. package/lib/plugin/Form/Hidden.js +58 -0
  97. package/{dist → lib}/plugin/Form/InputArray.d.ts +1 -1
  98. package/lib/plugin/Form/InputArray.js +181 -0
  99. package/{dist → lib}/plugin/Form/InputCity.d.ts +6 -2
  100. package/lib/plugin/Form/InputCity.js +139 -0
  101. package/{dist → lib}/plugin/Form/InputColor.d.ts +20 -18
  102. package/lib/plugin/Form/InputColor.js +295 -0
  103. package/lib/plugin/Form/InputDate.d.ts +26 -0
  104. package/lib/plugin/Form/InputDate.js +357 -0
  105. package/lib/plugin/Form/InputDateRange.d.ts +26 -0
  106. package/lib/plugin/Form/InputDateRange.js +350 -0
  107. package/{dist → lib}/plugin/Form/InputDateTime.d.ts +4 -4
  108. package/lib/plugin/Form/InputDateTime.js +50 -0
  109. package/lib/plugin/Form/InputDateTimeRange.d.ts +20 -0
  110. package/lib/plugin/Form/InputDateTimeRange.js +51 -0
  111. package/{dist → lib}/plugin/Form/InputEmail.d.ts +1 -0
  112. package/lib/plugin/Form/InputEmail.js +45 -0
  113. package/lib/plugin/Form/InputExcel.d.ts +23 -0
  114. package/lib/plugin/Form/InputExcel.js +121 -0
  115. package/{dist → lib}/plugin/Form/InputFile.d.ts +7 -3
  116. package/lib/plugin/Form/InputFile.js +354 -0
  117. package/{dist → lib}/plugin/Form/InputGroup.d.ts +1 -1
  118. package/lib/plugin/Form/InputGroup.js +100 -0
  119. package/{dist → lib}/plugin/Form/InputImage.d.ts +6 -2
  120. package/lib/plugin/Form/InputImage.js +271 -0
  121. package/{dist → lib}/plugin/Form/InputKV.d.ts +7 -1
  122. package/lib/plugin/Form/InputKV.js +129 -0
  123. package/{dist → lib}/plugin/Form/InputMonth.d.ts +1 -0
  124. package/lib/plugin/Form/InputMonth.js +48 -0
  125. package/{dist/plugin/Form/InputDate.d.ts → lib/plugin/Form/InputMonthRange.d.ts} +4 -4
  126. package/lib/plugin/Form/InputMonthRange.js +51 -0
  127. package/{dist → lib}/plugin/Form/InputNumber.d.ts +7 -2
  128. package/lib/plugin/Form/InputNumber.js +263 -0
  129. package/{dist → lib}/plugin/Form/InputPassword.d.ts +1 -0
  130. package/lib/plugin/Form/InputPassword.js +45 -0
  131. package/{dist → lib}/plugin/Form/InputQuarter.d.ts +1 -0
  132. package/lib/plugin/Form/InputQuarter.js +48 -0
  133. package/{dist → lib}/plugin/Form/InputQuarterRange.d.ts +4 -4
  134. package/lib/plugin/Form/InputQuarterRange.js +51 -0
  135. package/{dist → lib}/plugin/Form/InputRange.d.ts +7 -2
  136. package/lib/plugin/Form/InputRange.js +292 -0
  137. package/lib/plugin/Form/InputRating.d.ts +25 -0
  138. package/lib/plugin/Form/InputRating.js +357 -0
  139. package/{dist → lib}/plugin/Form/InputRepeat.d.ts +1 -1
  140. package/lib/plugin/Form/InputRepeat.js +65 -0
  141. package/{dist → lib}/plugin/Form/InputRichText.d.ts +1 -1
  142. package/lib/plugin/Form/InputRichText.js +193 -0
  143. package/{dist → lib}/plugin/Form/InputSubForm.d.ts +2 -1
  144. package/lib/plugin/Form/InputSubForm.js +160 -0
  145. package/{dist → lib}/plugin/Form/InputTable.d.ts +1 -1
  146. package/lib/plugin/Form/InputTable.js +400 -0
  147. package/{dist → lib}/plugin/Form/InputTag.d.ts +6 -2
  148. package/lib/plugin/Form/InputTag.js +155 -0
  149. package/lib/plugin/Form/InputText.d.ts +42 -0
  150. package/lib/plugin/Form/InputText.js +328 -0
  151. package/{dist → lib}/plugin/Form/InputTime.d.ts +3 -3
  152. package/lib/plugin/Form/InputTime.js +48 -0
  153. package/{dist/plugin/Form/InputDateTimeRange.d.ts → lib/plugin/Form/InputTimeRange.d.ts} +4 -4
  154. package/lib/plugin/Form/InputTimeRange.js +51 -0
  155. package/{dist → lib}/plugin/Form/InputTree.d.ts +6 -2
  156. package/lib/plugin/Form/InputTree.js +375 -0
  157. package/{dist → lib}/plugin/Form/InputURL.d.ts +2 -0
  158. package/lib/plugin/Form/InputURL.js +46 -0
  159. package/{dist → lib}/plugin/Form/InputYear.d.ts +1 -0
  160. package/lib/plugin/Form/InputYear.js +48 -0
  161. package/{dist/plugin/Form/InputMonthRange.d.ts → lib/plugin/Form/InputYearRange.d.ts} +4 -4
  162. package/lib/plugin/Form/InputYearRange.js +51 -0
  163. package/{dist → lib}/plugin/Form/Item.d.ts +2 -2
  164. package/lib/plugin/Form/Item.js +265 -0
  165. package/{dist → lib}/plugin/Form/ListSelect.d.ts +6 -2
  166. package/lib/plugin/Form/ListSelect.js +130 -0
  167. package/{dist/plugin/Form/InputDateRange.d.ts → lib/plugin/Form/LocationPicker.d.ts} +5 -6
  168. package/lib/plugin/Form/LocationPicker.js +74 -0
  169. package/{dist → lib}/plugin/Form/MatrixCheckboxes.d.ts +7 -2
  170. package/lib/plugin/Form/MatrixCheckboxes.js +234 -0
  171. package/{dist → lib}/plugin/Form/NestedSelect.d.ts +8 -2
  172. package/lib/plugin/Form/NestedSelect.js +328 -0
  173. package/{dist → lib}/plugin/Form/Picker.d.ts +1 -1
  174. package/lib/plugin/Form/Picker.js +169 -0
  175. package/{dist → lib}/plugin/Form/Radios.d.ts +7 -2
  176. package/lib/plugin/Form/Radios.js +189 -0
  177. package/{dist → lib}/plugin/Form/Select.d.ts +7 -2
  178. package/lib/plugin/Form/Select.js +304 -0
  179. package/{dist → lib}/plugin/Form/Static.d.ts +4 -3
  180. package/lib/plugin/Form/Static.js +312 -0
  181. package/{dist → lib}/plugin/Form/Switch.d.ts +9 -2
  182. package/lib/plugin/Form/Switch.js +219 -0
  183. package/{dist → lib}/plugin/Form/TabsTransfer.d.ts +5 -2
  184. package/lib/plugin/Form/TabsTransfer.js +348 -0
  185. package/{dist → lib}/plugin/Form/Textarea.d.ts +8 -2
  186. package/lib/plugin/Form/Textarea.js +190 -0
  187. package/{dist → lib}/plugin/Form/Transfer.d.ts +5 -2
  188. package/lib/plugin/Form/Transfer.js +414 -0
  189. package/{dist → lib}/plugin/Form/TreeSelect.d.ts +6 -2
  190. package/lib/plugin/Form/TreeSelect.js +375 -0
  191. package/{dist → lib}/plugin/Form/UUID.d.ts +1 -1
  192. package/lib/plugin/Form/UUID.js +55 -0
  193. package/{dist → lib}/plugin/Grid.d.ts +3 -2
  194. package/lib/plugin/Grid.js +680 -0
  195. package/{dist → lib}/plugin/HBox.d.ts +3 -2
  196. package/lib/plugin/HBox.js +594 -0
  197. package/{dist → lib}/plugin/IFrame.d.ts +6 -5
  198. package/lib/plugin/IFrame.js +94 -0
  199. package/{dist → lib}/plugin/Image.d.ts +1 -1
  200. package/lib/plugin/Image.js +264 -0
  201. package/{dist → lib}/plugin/Images.d.ts +1 -1
  202. package/lib/plugin/Images.js +214 -0
  203. package/{dist → lib}/plugin/Json.d.ts +2 -1
  204. package/lib/plugin/Json.js +82 -0
  205. package/{dist → lib}/plugin/Link.d.ts +2 -1
  206. package/lib/plugin/Link.js +120 -0
  207. package/{dist → lib}/plugin/List.d.ts +3 -2
  208. package/lib/plugin/List.js +220 -0
  209. package/{dist → lib}/plugin/ListItem.d.ts +1 -1
  210. package/lib/plugin/ListItem.js +195 -0
  211. package/{dist → lib}/plugin/Log.d.ts +1 -1
  212. package/lib/plugin/Log.js +62 -0
  213. package/{dist → lib}/plugin/Mapping.d.ts +2 -1
  214. package/lib/plugin/Mapping.js +149 -0
  215. package/{dist → lib}/plugin/Markdown.d.ts +2 -1
  216. package/lib/plugin/Markdown.js +58 -0
  217. package/lib/plugin/Nav.d.ts +48 -0
  218. package/lib/plugin/Nav.js +181 -0
  219. package/{dist → lib}/plugin/Operation.d.ts +1 -1
  220. package/lib/plugin/Operation.js +84 -0
  221. package/{dist → lib}/plugin/Others/Action.d.ts +6 -2
  222. package/lib/plugin/Others/Action.js +350 -0
  223. package/{dist → lib}/plugin/Others/TableCell.d.ts +1 -1
  224. package/lib/plugin/Others/TableCell.js +393 -0
  225. package/{dist → lib}/plugin/Page.d.ts +7 -4
  226. package/lib/plugin/Page.js +363 -0
  227. package/lib/plugin/Pagination.d.ts +51 -0
  228. package/lib/plugin/Pagination.js +247 -0
  229. package/{dist → lib}/plugin/Panel.d.ts +1 -1
  230. package/lib/plugin/Panel.js +222 -0
  231. package/{dist → lib}/plugin/Plain.d.ts +1 -1
  232. package/lib/plugin/Plain.js +88 -0
  233. package/{dist → lib}/plugin/Progress.d.ts +7 -2
  234. package/lib/plugin/Progress.js +258 -0
  235. package/{dist → lib}/plugin/Property.d.ts +1 -1
  236. package/lib/plugin/Property.js +147 -0
  237. package/{dist → lib}/plugin/QRCode.d.ts +2 -1
  238. package/lib/plugin/QRCode.js +107 -0
  239. package/{dist → lib}/plugin/Reset.d.ts +0 -1
  240. package/lib/plugin/Reset.js +38 -0
  241. package/{dist → lib}/plugin/Service.d.ts +5 -1
  242. package/lib/plugin/Service.js +217 -0
  243. package/{dist → lib}/plugin/Sparkline.d.ts +2 -1
  244. package/lib/plugin/Sparkline.js +50 -0
  245. package/{dist → lib}/plugin/Status.d.ts +2 -1
  246. package/lib/plugin/Status.js +86 -0
  247. package/{dist → lib}/plugin/Steps.d.ts +2 -1
  248. package/lib/plugin/Steps.js +136 -0
  249. package/{dist → lib}/plugin/Submit.d.ts +0 -1
  250. package/lib/plugin/Submit.js +38 -0
  251. package/{dist → lib}/plugin/Table.d.ts +7 -2
  252. package/lib/plugin/Table.js +594 -0
  253. package/{dist → lib}/plugin/TableView.d.ts +2 -1
  254. package/lib/plugin/TableView.js +744 -0
  255. package/{dist → lib}/plugin/Tabs.d.ts +34 -2
  256. package/lib/plugin/Tabs.js +429 -0
  257. package/{dist → lib}/plugin/Tasks.d.ts +2 -1
  258. package/lib/plugin/Tasks.js +263 -0
  259. package/{dist → lib}/plugin/Time.d.ts +1 -1
  260. package/lib/plugin/Time.js +77 -0
  261. package/{dist → lib}/plugin/TooltipWrapper.d.ts +12 -1
  262. package/lib/plugin/TooltipWrapper.js +281 -0
  263. package/{dist → lib}/plugin/Tpl.d.ts +3 -2
  264. package/lib/plugin/Tpl.js +183 -0
  265. package/{dist → lib}/plugin/Video.d.ts +2 -1
  266. package/lib/plugin/Video.js +140 -0
  267. package/{dist → lib}/plugin/WebComponent.d.ts +2 -1
  268. package/lib/plugin/WebComponent.js +70 -0
  269. package/{dist → lib}/plugin/Wizard.d.ts +16 -4
  270. package/lib/plugin/Wizard.js +799 -0
  271. package/{dist → lib}/plugin/Wrapper.d.ts +2 -1
  272. package/lib/plugin/Wrapper.js +136 -0
  273. package/lib/renderer/APIControl.d.ts +7526 -0
  274. package/lib/renderer/APIControl.js +791 -0
  275. package/lib/renderer/BadgeControl.d.ts +134 -0
  276. package/lib/renderer/BadgeControl.js +290 -0
  277. package/lib/renderer/DataBindingControl.d.ts +14 -0
  278. package/lib/renderer/DataBindingControl.js +91 -0
  279. package/lib/renderer/DataMappingControl.d.ts +11 -0
  280. package/lib/renderer/DataMappingControl.js +73 -0
  281. package/lib/renderer/DataPickerControl.d.ts +13 -0
  282. package/lib/renderer/DataPickerControl.js +83 -0
  283. package/lib/renderer/DateShortCutControl.d.ts +83 -0
  284. package/lib/renderer/DateShortCutControl.js +254 -0
  285. package/lib/renderer/FormulaControl.d.ts +96 -0
  286. package/lib/renderer/FormulaControl.js +324 -0
  287. package/{dist/component/Control → lib/renderer}/OptionControl.d.ts +25 -36
  288. package/lib/renderer/OptionControl.js +672 -0
  289. package/{dist/component/Control → lib/renderer}/PopoverEdit.d.ts +4 -4
  290. package/lib/renderer/RangePartsControl.d.ts +91 -0
  291. package/lib/renderer/RangePartsControl.js +392 -0
  292. package/lib/renderer/StatusControl.d.ts +39 -0
  293. package/lib/renderer/StatusControl.js +171 -0
  294. package/lib/renderer/SwitchMoreControl.d.ts +222 -0
  295. package/lib/renderer/SwitchMoreControl.js +302 -0
  296. package/lib/renderer/ValidationControl.d.ts +65 -0
  297. package/lib/renderer/ValidationControl.js +279 -0
  298. package/lib/renderer/ValidationItem.d.ts +46 -0
  299. package/lib/renderer/ValidationItem.js +147 -0
  300. package/lib/renderer/style-control/Background.d.ts +17 -0
  301. package/lib/renderer/style-control/Background.js +493 -0
  302. package/lib/renderer/style-control/Border.d.ts +18 -0
  303. package/lib/renderer/style-control/Border.js +191 -0
  304. package/lib/renderer/style-control/BoxModel.d.ts +17 -0
  305. package/lib/renderer/style-control/BoxModel.js +73 -0
  306. package/lib/renderer/style-control/BoxShadow.d.ts +18 -0
  307. package/lib/renderer/style-control/BoxShadow.js +125 -0
  308. package/lib/renderer/style-control/Display.d.ts +14 -0
  309. package/lib/renderer/style-control/Display.js +233 -0
  310. package/lib/renderer/style-control/Font.d.ts +16 -0
  311. package/lib/renderer/style-control/Font.js +239 -0
  312. package/lib/renderer/style-control/font-family.d.ts +11 -0
  313. package/lib/renderer/style-control/font-family.js +149 -0
  314. package/lib/renderer/style-control/transformation.d.ts +29 -0
  315. package/lib/renderer/style-control/transformation.js +84 -0
  316. package/lib/renderer/style-control/types.d.ts +8 -0
  317. package/lib/tpl/api.d.ts +1 -0
  318. package/lib/tpl/api.js +378 -0
  319. package/lib/tpl/common.d.ts +1 -0
  320. package/lib/tpl/common.js +808 -0
  321. package/lib/tpl/horizontal.d.ts +1 -0
  322. package/lib/tpl/horizontal.js +260 -0
  323. package/lib/tpl/index.d.ts +7 -0
  324. package/lib/tpl/options.d.ts +1 -0
  325. package/lib/tpl/options.js +265 -0
  326. package/{dist/component/schemaTpl.d.ts → lib/tpl/style.d.ts} +0 -4
  327. package/lib/tpl/style.js +372 -0
  328. package/lib/tpl/validations.d.ts +1 -0
  329. package/lib/tpl/validations.js +568 -0
  330. package/lib/util.d.ts +24 -0
  331. package/lib/util.js +64 -0
  332. package/lib/validator.d.ts +62 -0
  333. package/lib/validator.js +417 -0
  334. package/package.json +36 -25
  335. package/dist/150a58f3318ca7541ed9.png +0 -0
  336. package/dist/471adb97c322b226e589.png +0 -0
  337. package/dist/4de5f42360bc5946c3c2.png +0 -0
  338. package/dist/4e9968bba3855f088fed.png +0 -0
  339. package/dist/7f09c38ebc687fea847a.png +0 -0
  340. package/dist/c94073576487510314ea.png +0 -0
  341. package/dist/cebfe0bc5a1dbde02da1.svg +0 -10
  342. package/dist/compat.d.ts +0 -30
  343. package/dist/component/Breadcrumb.d.ts +0 -12
  344. package/dist/component/ClassNameControl.d.ts +0 -31
  345. package/dist/component/CommonConfigWrapper.d.ts +0 -6
  346. package/dist/component/ContainerWrapper.d.ts +0 -12
  347. package/dist/component/Control/APIControl.d.ts +0 -504
  348. package/dist/component/Control/ValidationControl.d.ts +0 -30
  349. package/dist/component/Editor.d.ts +0 -62
  350. package/dist/component/HighlightBox.d.ts +0 -29
  351. package/dist/component/IFrameBridge.d.ts +0 -32
  352. package/dist/component/IFramePreview.d.ts +0 -37
  353. package/dist/component/MiniEditor.d.ts +0 -9
  354. package/dist/component/NodeWrapper.d.ts +0 -20
  355. package/dist/component/Panel/AMisCodeEditor.d.ts +0 -37
  356. package/dist/component/Panel/AvailableRenderersPanel.d.ts +0 -10
  357. package/dist/component/Panel/CodeEditorPanel.d.ts +0 -6
  358. package/dist/component/Panel/ContextMenuPanel.d.ts +0 -8
  359. package/dist/component/Panel/DrawerPanel.d.ts +0 -15
  360. package/dist/component/Panel/DrawerRendererPanel.d.ts +0 -15
  361. package/dist/component/Panel/InsertSubRendererPanel.d.ts +0 -11
  362. package/dist/component/Panel/LeftPanels.d.ts +0 -20
  363. package/dist/component/Panel/Outline.d.ts +0 -18
  364. package/dist/component/Panel/RenderersPanel.d.ts +0 -32
  365. package/dist/component/Panel/RightPanels.d.ts +0 -21
  366. package/dist/component/Panel/TargetNamePanel.d.ts +0 -7
  367. package/dist/component/PopOverForm.d.ts +0 -22
  368. package/dist/component/Preview.d.ts +0 -65
  369. package/dist/component/RegionHLBox.d.ts +0 -20
  370. package/dist/component/RegionWrapper.d.ts +0 -192
  371. package/dist/component/RendererThumb.d.ts +0 -22
  372. package/dist/component/ScaffoldModal.d.ts +0 -24
  373. package/dist/component/SubEditor.d.ts +0 -67
  374. package/dist/component/VRenderer.d.ts +0 -177
  375. package/dist/component/base/BackTop.d.ts +0 -26
  376. package/dist/component/base/ErrorRenderer.d.ts +0 -4
  377. package/dist/component/base/SearchRendererPanel.d.ts +0 -59
  378. package/dist/component/base/WidthDraggableBtn.d.ts +0 -16
  379. package/dist/component/base/WidthDraggableContainer.d.ts +0 -2
  380. package/dist/component/remarkTpl.d.ts +0 -150
  381. package/dist/dnd/default.d.ts +0 -47
  382. package/dist/dnd/index.d.ts +0 -119
  383. package/dist/dnd/interface.d.ts +0 -14
  384. package/dist/dnd/position-h.d.ts +0 -7
  385. package/dist/env.d.ts +0 -5
  386. package/dist/exports.d.ts +0 -8
  387. package/dist/exports.min.js +0 -1
  388. package/dist/icons/index.d.ts +0 -2
  389. package/dist/index.min.js +0 -1
  390. package/dist/manager.d.ts +0 -445
  391. package/dist/mocker.d.ts +0 -1
  392. package/dist/plugin/AnchorNav.d.ts +0 -67
  393. package/dist/plugin/ButtonGroup.d.ts +0 -60
  394. package/dist/plugin/ErrorRenderer.d.ts +0 -7
  395. package/dist/plugin/Form/CodeEditor.d.ts +0 -40
  396. package/dist/plugin/Form/Form.d.ts +0 -20
  397. package/dist/plugin/Form/Formula.d.ts +0 -51
  398. package/dist/plugin/Form/InputExcel.d.ts +0 -58
  399. package/dist/plugin/Form/InputRating.d.ts +0 -19
  400. package/dist/plugin/Form/InputText.d.ts +0 -20
  401. package/dist/plugin/Form/LocationPicker.d.ts +0 -48
  402. package/dist/plugin/Nav.d.ts +0 -162
  403. package/dist/plugin/Others/BasicToolbar.d.ts +0 -11
  404. package/dist/plugin/Others/DataDebug.d.ts +0 -19
  405. package/dist/plugin/Others/Unknown.d.ts +0 -5
  406. package/dist/plugin/Panel/AvailableRenderers.d.ts +0 -8
  407. package/dist/plugin/Panel/Code.d.ts +0 -9
  408. package/dist/plugin/Panel/Name.d.ts +0 -8
  409. package/dist/plugin.d.ts +0 -600
  410. package/dist/store/editor.d.ts +0 -985
  411. package/dist/store/node.d.ts +0 -259
  412. package/dist/style.css +0 -1
  413. package/dist/util.d.ts +0 -72
  414. package/static/Code-hover.png +0 -0
  415. package/static/Code.png +0 -0
  416. package/static/Outline-hover.png +0 -0
  417. package/static/Outline.png +0 -0
  418. package/static/Renderers-hover.png +0 -0
  419. package/static/Renderers.png +0 -0
  420. package/static/side_hide_left.svg +0 -10
@@ -0,0 +1,1528 @@
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;