amis-editor 4.2.0-beta.0 → 5.2.0-beta.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (552) 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 +0 -0
  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 +26 -33
  12. package/lib/index.js +181 -0
  13. package/{dist → lib}/plugin/Alert.d.ts +4 -2
  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 +6 -2
  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 +1 -1
  32. package/lib/plugin/Card.js +233 -0
  33. package/{dist → lib}/plugin/Cards.d.ts +1 -1
  34. package/lib/plugin/Cards.js +254 -0
  35. package/{dist → lib}/plugin/Carousel.d.ts +1 -1
  36. package/lib/plugin/Carousel.js +358 -0
  37. package/{dist → lib}/plugin/Chart.d.ts +3 -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 +2 -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 +1 -1
  48. package/lib/plugin/Custom.js +109 -0
  49. package/{dist → lib}/plugin/CustomRegion.d.ts +1 -1
  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 +12 -2
  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 +12 -2
  60. package/lib/plugin/Drawer.js +240 -0
  61. package/{dist → lib}/plugin/DropDownButton.d.ts +12 -11
  62. package/lib/plugin/DropDownButton.js +229 -0
  63. package/{dist → lib}/plugin/Each.d.ts +1 -1
  64. package/lib/plugin/Each.js +131 -0
  65. package/{dist → lib}/plugin/Flex.d.ts +1 -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 +6 -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/{dist → lib}/plugin/Form/Form.d.ts +7 -1
  90. package/lib/plugin/Form/Form.js +846 -0
  91. package/{dist → lib}/plugin/Form/Formula.d.ts +2 -26
  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 → 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 +1 -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 +1 -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/InputDate.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 +7 -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 +2 -2
  194. package/lib/plugin/Grid.js +680 -0
  195. package/{dist → lib}/plugin/HBox.d.ts +2 -2
  196. package/lib/plugin/HBox.js +594 -0
  197. package/{dist → lib}/plugin/IFrame.d.ts +3 -2
  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 +1 -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 +1 -1
  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 +1 -1
  214. package/lib/plugin/Mapping.js +149 -0
  215. package/{dist → lib}/plugin/Markdown.d.ts +1 -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 +6 -3
  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 +6 -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 +1 -1
  238. package/lib/plugin/QRCode.js +107 -0
  239. package/{dist → lib}/plugin/Reset.d.ts +0 -0
  240. package/lib/plugin/Reset.js +38 -0
  241. package/{dist → lib}/plugin/Service.d.ts +4 -1
  242. package/lib/plugin/Service.js +217 -0
  243. package/{dist → lib}/plugin/Sparkline.d.ts +1 -1
  244. package/lib/plugin/Sparkline.js +50 -0
  245. package/{dist → lib}/plugin/Status.d.ts +1 -1
  246. package/lib/plugin/Status.js +86 -0
  247. package/{dist → lib}/plugin/Steps.d.ts +1 -1
  248. package/lib/plugin/Steps.js +136 -0
  249. package/{dist → lib}/plugin/Submit.d.ts +0 -0
  250. package/lib/plugin/Submit.js +38 -0
  251. package/{dist → lib}/plugin/Table.d.ts +6 -1
  252. package/lib/plugin/Table.js +594 -0
  253. package/{dist → lib}/plugin/TableView.d.ts +1 -1
  254. package/lib/plugin/TableView.js +744 -0
  255. package/{dist → lib}/plugin/Tabs.d.ts +33 -2
  256. package/lib/plugin/Tabs.js +429 -0
  257. package/{dist → lib}/plugin/Tasks.d.ts +1 -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 +11 -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 +1 -1
  266. package/lib/plugin/Video.js +140 -0
  267. package/{dist → lib}/plugin/WebComponent.d.ts +1 -1
  268. package/lib/plugin/WebComponent.js +70 -0
  269. package/{dist → lib}/plugin/Wizard.d.ts +5 -2
  270. package/lib/plugin/Wizard.js +799 -0
  271. package/{dist → lib}/plugin/Wrapper.d.ts +1 -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 +133 -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 +23 -34
  288. package/lib/renderer/OptionControl.js +672 -0
  289. package/{dist/component/Control → lib/renderer}/PopoverEdit.d.ts +0 -0
  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 +23 -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 -32
  335. package/dist/cebfe0bc5a1dbde02da1.svg +0 -10
  336. package/dist/compat.d.ts +0 -30
  337. package/dist/component/Breadcrumb.d.ts +0 -33
  338. package/dist/component/ClassNameControl.d.ts +0 -31
  339. package/dist/component/CommonConfigWrapper.d.ts +0 -6
  340. package/dist/component/ContainerWrapper.d.ts +0 -12
  341. package/dist/component/Control/APIControl.d.ts +0 -504
  342. package/dist/component/Control/ValidationControl.d.ts +0 -30
  343. package/dist/component/Editor.d.ts +0 -81
  344. package/dist/component/HighlightBox.d.ts +0 -29
  345. package/dist/component/IFrameBridge.d.ts +0 -32
  346. package/dist/component/IFramePreview.d.ts +0 -38
  347. package/dist/component/MiniEditor.d.ts +0 -9
  348. package/dist/component/NodeWrapper.d.ts +0 -20
  349. package/dist/component/Panel/AMisCodeEditor.d.ts +0 -37
  350. package/dist/component/Panel/AvailableRenderersPanel.d.ts +0 -10
  351. package/dist/component/Panel/CodeEditorPanel.d.ts +0 -6
  352. package/dist/component/Panel/ContextMenuPanel.d.ts +0 -8
  353. package/dist/component/Panel/DrawerPanel.d.ts +0 -15
  354. package/dist/component/Panel/DrawerRendererPanel.d.ts +0 -15
  355. package/dist/component/Panel/InsertSubRendererPanel.d.ts +0 -11
  356. package/dist/component/Panel/LeftPanels.d.ts +0 -20
  357. package/dist/component/Panel/Outline.d.ts +0 -18
  358. package/dist/component/Panel/RenderersPanel.d.ts +0 -31
  359. package/dist/component/Panel/RightPanels.d.ts +0 -21
  360. package/dist/component/Panel/TargetNamePanel.d.ts +0 -7
  361. package/dist/component/PopOverForm.d.ts +0 -22
  362. package/dist/component/Preview.d.ts +0 -67
  363. package/dist/component/RegionHLBox.d.ts +0 -20
  364. package/dist/component/RegionWrapper.d.ts +0 -196
  365. package/dist/component/RendererThumb.d.ts +0 -22
  366. package/dist/component/ScaffoldModal.d.ts +0 -24
  367. package/dist/component/SubEditor.d.ts +0 -67
  368. package/dist/component/VRenderer.d.ts +0 -181
  369. package/dist/component/base/BackTop.d.ts +0 -26
  370. package/dist/component/base/ErrorRenderer.d.ts +0 -4
  371. package/dist/component/base/SearchCustomRendererPanel.d.ts +0 -15
  372. package/dist/component/base/SearchPanel.d.ts +0 -83
  373. package/dist/component/base/SearchRendererPanel.d.ts +0 -19
  374. package/dist/component/base/WidthDraggableBtn.d.ts +0 -16
  375. package/dist/component/base/WidthDraggableContainer.d.ts +0 -2
  376. package/dist/component/remarkTpl.d.ts +0 -150
  377. package/dist/dnd/default.d.ts +0 -47
  378. package/dist/dnd/index.d.ts +0 -119
  379. package/dist/dnd/interface.d.ts +0 -14
  380. package/dist/dnd/position-h.d.ts +0 -7
  381. package/dist/env.d.ts +0 -5
  382. package/dist/exports.d.ts +0 -8
  383. package/dist/exports.min.js +0 -1
  384. package/dist/icons/index.d.ts +0 -2
  385. package/dist/index.min.js +0 -1
  386. package/dist/manager.d.ts +0 -457
  387. package/dist/mocker.d.ts +0 -1
  388. package/dist/plugin/AnchorNav.d.ts +0 -67
  389. package/dist/plugin/ButtonGroup.d.ts +0 -60
  390. package/dist/plugin/ErrorRenderer.d.ts +0 -7
  391. package/dist/plugin/Form/CodeEditor.d.ts +0 -40
  392. package/dist/plugin/Form/InputExcel.d.ts +0 -58
  393. package/dist/plugin/Form/InputRating.d.ts +0 -19
  394. package/dist/plugin/Form/InputText.d.ts +0 -20
  395. package/dist/plugin/Form/LocationPicker.d.ts +0 -48
  396. package/dist/plugin/Nav.d.ts +0 -163
  397. package/dist/plugin/Others/BasicToolbar.d.ts +0 -11
  398. package/dist/plugin/Others/DataDebug.d.ts +0 -19
  399. package/dist/plugin/Others/Unknown.d.ts +0 -5
  400. package/dist/plugin/Panel/AvailableRenderers.d.ts +0 -8
  401. package/dist/plugin/Panel/Code.d.ts +0 -9
  402. package/dist/plugin/Panel/Name.d.ts +0 -8
  403. package/dist/plugin/Panel/Outline.d.ts +0 -8
  404. package/dist/plugin.d.ts +0 -601
  405. package/dist/store/editor.d.ts +0 -1021
  406. package/dist/store/node.d.ts +0 -265
  407. package/dist/style.css +0 -1
  408. package/dist/util.d.ts +0 -72
  409. package/src/component/schemaTpl.tsx +0 -2157
  410. package/src/plugin/Alert.tsx +0 -87
  411. package/src/plugin/AnchorNav.tsx +0 -233
  412. package/src/plugin/Audio.tsx +0 -154
  413. package/src/plugin/Avatar.tsx +0 -77
  414. package/src/plugin/Breadcrumb.tsx +0 -107
  415. package/src/plugin/Button.tsx +0 -281
  416. package/src/plugin/ButtonGroup.tsx +0 -85
  417. package/src/plugin/ButtonToolbar.tsx +0 -87
  418. package/src/plugin/CRUD.tsx +0 -1835
  419. package/src/plugin/Card.tsx +0 -290
  420. package/src/plugin/Cards.tsx +0 -318
  421. package/src/plugin/Carousel.tsx +0 -377
  422. package/src/plugin/Chart.tsx +0 -218
  423. package/src/plugin/CodeView.tsx +0 -60
  424. package/src/plugin/Collapse.tsx +0 -136
  425. package/src/plugin/CollapseGroup.tsx +0 -167
  426. package/src/plugin/Container.tsx +0 -40
  427. package/src/plugin/Custom.tsx +0 -128
  428. package/src/plugin/CustomRegion.tsx +0 -156
  429. package/src/plugin/Date.tsx +0 -74
  430. package/src/plugin/Datetime.tsx +0 -68
  431. package/src/plugin/Dialog.tsx +0 -176
  432. package/src/plugin/Divider.tsx +0 -36
  433. package/src/plugin/Drawer.tsx +0 -214
  434. package/src/plugin/DropDownButton.tsx +0 -235
  435. package/src/plugin/Each.tsx +0 -150
  436. package/src/plugin/ErrorRenderer.tsx +0 -15
  437. package/src/plugin/Flex.tsx +0 -151
  438. package/src/plugin/Form/ButtonGroupSelect.tsx +0 -75
  439. package/src/plugin/Form/ButtonToolbar.tsx +0 -110
  440. package/src/plugin/Form/ChainedSelect.tsx +0 -70
  441. package/src/plugin/Form/Checkbox.tsx +0 -87
  442. package/src/plugin/Form/Checkboxes.tsx +0 -167
  443. package/src/plugin/Form/CodeEditor.tsx +0 -81
  444. package/src/plugin/Form/Combo.tsx +0 -582
  445. package/src/plugin/Form/ConditionBuilder.tsx +0 -315
  446. package/src/plugin/Form/Control.tsx +0 -139
  447. package/src/plugin/Form/DiffEditor.tsx +0 -111
  448. package/src/plugin/Form/FieldSet.tsx +0 -163
  449. package/src/plugin/Form/Form.tsx +0 -687
  450. package/src/plugin/Form/Formula.tsx +0 -79
  451. package/src/plugin/Form/Group.tsx +0 -295
  452. package/src/plugin/Form/Hidden.tsx +0 -44
  453. package/src/plugin/Form/InputArray.tsx +0 -228
  454. package/src/plugin/Form/InputCity.tsx +0 -93
  455. package/src/plugin/Form/InputColor.tsx +0 -123
  456. package/src/plugin/Form/InputDate.tsx +0 -175
  457. package/src/plugin/Form/InputDateRange.tsx +0 -225
  458. package/src/plugin/Form/InputDateTime.tsx +0 -183
  459. package/src/plugin/Form/InputDateTimeRange.tsx +0 -221
  460. package/src/plugin/Form/InputEmail.tsx +0 -33
  461. package/src/plugin/Form/InputExcel.tsx +0 -85
  462. package/src/plugin/Form/InputFile.tsx +0 -221
  463. package/src/plugin/Form/InputGroup.tsx +0 -96
  464. package/src/plugin/Form/InputImage.tsx +0 -266
  465. package/src/plugin/Form/InputKV.tsx +0 -72
  466. package/src/plugin/Form/InputMonth.tsx +0 -35
  467. package/src/plugin/Form/InputMonthRange.tsx +0 -195
  468. package/src/plugin/Form/InputNumber.tsx +0 -89
  469. package/src/plugin/Form/InputPassword.tsx +0 -33
  470. package/src/plugin/Form/InputQuarter.tsx +0 -35
  471. package/src/plugin/Form/InputQuarterRange.tsx +0 -195
  472. package/src/plugin/Form/InputRange.tsx +0 -121
  473. package/src/plugin/Form/InputRating.tsx +0 -78
  474. package/src/plugin/Form/InputRepeat.tsx +0 -57
  475. package/src/plugin/Form/InputRichText.tsx +0 -186
  476. package/src/plugin/Form/InputSubForm.tsx +0 -189
  477. package/src/plugin/Form/InputTable.tsx +0 -434
  478. package/src/plugin/Form/InputTag.tsx +0 -70
  479. package/src/plugin/Form/InputText.tsx +0 -186
  480. package/src/plugin/Form/InputTime.tsx +0 -85
  481. package/src/plugin/Form/InputTree.tsx +0 -229
  482. package/src/plugin/Form/InputURL.tsx +0 -34
  483. package/src/plugin/Form/InputYear.tsx +0 -35
  484. package/src/plugin/Form/Item.tsx +0 -327
  485. package/src/plugin/Form/ListSelect.tsx +0 -73
  486. package/src/plugin/Form/LocationPicker.tsx +0 -62
  487. package/src/plugin/Form/MatrixCheckboxes.tsx +0 -136
  488. package/src/plugin/Form/NestedSelect.tsx +0 -211
  489. package/src/plugin/Form/Picker.tsx +0 -209
  490. package/src/plugin/Form/Radios.tsx +0 -119
  491. package/src/plugin/Form/Select.tsx +0 -233
  492. package/src/plugin/Form/Static.tsx +0 -322
  493. package/src/plugin/Form/Switch.tsx +0 -107
  494. package/src/plugin/Form/TabsTransfer.tsx +0 -259
  495. package/src/plugin/Form/Textarea.tsx +0 -83
  496. package/src/plugin/Form/Transfer.tsx +0 -368
  497. package/src/plugin/Form/TreeSelect.tsx +0 -263
  498. package/src/plugin/Form/UUID.tsx +0 -48
  499. package/src/plugin/Grid.tsx +0 -798
  500. package/src/plugin/HBox.tsx +0 -727
  501. package/src/plugin/IFrame.tsx +0 -70
  502. package/src/plugin/Image.tsx +0 -314
  503. package/src/plugin/Images.tsx +0 -231
  504. package/src/plugin/Json.tsx +0 -69
  505. package/src/plugin/Link.tsx +0 -93
  506. package/src/plugin/List.tsx +0 -278
  507. package/src/plugin/ListItem.tsx +0 -229
  508. package/src/plugin/Log.tsx +0 -52
  509. package/src/plugin/Mapping.tsx +0 -149
  510. package/src/plugin/Markdown.tsx +0 -47
  511. package/src/plugin/Nav.tsx +0 -184
  512. package/src/plugin/Operation.tsx +0 -95
  513. package/src/plugin/Others/Action.tsx +0 -426
  514. package/src/plugin/Others/BasicToolbar.tsx +0 -585
  515. package/src/plugin/Others/DataDebug.tsx +0 -134
  516. package/src/plugin/Others/TableCell.tsx +0 -480
  517. package/src/plugin/Others/Unknown.tsx +0 -37
  518. package/src/plugin/Page.tsx +0 -306
  519. package/src/plugin/Panel/AvailableRenderers.tsx +0 -41
  520. package/src/plugin/Panel/Code.tsx +0 -44
  521. package/src/plugin/Panel/Name.tsx +0 -26
  522. package/src/plugin/Panel/Outline.tsx +0 -40
  523. package/src/plugin/Panel.tsx +0 -243
  524. package/src/plugin/Plain.tsx +0 -84
  525. package/src/plugin/Progress.tsx +0 -125
  526. package/src/plugin/Property.tsx +0 -139
  527. package/src/plugin/QRCode.tsx +0 -96
  528. package/src/plugin/Reset.tsx +0 -23
  529. package/src/plugin/Service.tsx +0 -162
  530. package/src/plugin/Sparkline.tsx +0 -40
  531. package/src/plugin/Status.tsx +0 -76
  532. package/src/plugin/Steps.tsx +0 -128
  533. package/src/plugin/Submit.tsx +0 -23
  534. package/src/plugin/Table.tsx +0 -428
  535. package/src/plugin/TableView.tsx +0 -709
  536. package/src/plugin/Tabs.tsx +0 -362
  537. package/src/plugin/Tasks.tsx +0 -274
  538. package/src/plugin/Time.tsx +0 -68
  539. package/src/plugin/TooltipWrapper.tsx +0 -193
  540. package/src/plugin/Tpl.tsx +0 -158
  541. package/src/plugin/Video.tsx +0 -158
  542. package/src/plugin/WebComponent.tsx +0 -53
  543. package/src/plugin/Wizard.tsx +0 -740
  544. package/src/plugin/Wrapper.tsx +0 -107
  545. package/src/plugin.ts +0 -1050
  546. package/static/Code-hover.png +0 -0
  547. package/static/Code.png +0 -0
  548. package/static/Outline-hover.png +0 -0
  549. package/static/Outline.png +0 -0
  550. package/static/Renderers-hover.png +0 -0
  551. package/static/Renderers.png +0 -0
  552. package/static/side_hide_left.svg +0 -10
@@ -0,0 +1,672 @@
1
+ /**
2
+ * amis-editor v5.2.0-beta.0
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 React = require('react');
12
+ var reactDom = require('react-dom');
13
+ var cx = require('classnames');
14
+ var uniqBy = require('lodash/uniqBy');
15
+ var omit = require('lodash/omit');
16
+ var Sortable = require('sortablejs');
17
+ var amis = require('amis');
18
+ var Select = require('amis-ui/lib/components/Select');
19
+ var AMisCodeEditor = require('amis-editor-core');
20
+ var BaseControl = require('../component/BaseControl.js');
21
+
22
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
+
24
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
+ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
26
+ var uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);
27
+ var omit__default = /*#__PURE__*/_interopDefaultLegacy(omit);
28
+ var Sortable__default = /*#__PURE__*/_interopDefaultLegacy(Sortable);
29
+
30
+ /**
31
+ * @file 组件选项组件的可视化编辑控件
32
+ */
33
+ var OptionControl = /** @class */ (function (_super) {
34
+ tslib.__extends(OptionControl, _super);
35
+ function OptionControl(props) {
36
+ var _this = _super.call(this, props) || this;
37
+ _this.internalProps = ['checked', 'editing'];
38
+ _this.state = {
39
+ options: _this.transformOptions(props),
40
+ api: props.data.source,
41
+ labelField: props.data.labelField,
42
+ valueField: props.data.valueField,
43
+ source: props.data.source ? 'api' : 'custom'
44
+ };
45
+ return _this;
46
+ }
47
+ /**
48
+ * 获取当前选项值的类型
49
+ */
50
+ OptionControl.prototype.getOptionValueType = function (value) {
51
+ if (typeof value === 'string') {
52
+ return 'text';
53
+ }
54
+ if (typeof value === 'boolean') {
55
+ return 'boolean';
56
+ }
57
+ if (typeof value === 'number') {
58
+ return 'number';
59
+ }
60
+ return 'text';
61
+ };
62
+ /**
63
+ * 将当前选项值转换为选择的类型
64
+ */
65
+ OptionControl.prototype.normalizeOptionValue = function (value, valueType) {
66
+ if (valueType === 'text') {
67
+ return String(value);
68
+ }
69
+ if (valueType === 'number') {
70
+ var convertTo = Number(value);
71
+ if (isNaN(convertTo)) {
72
+ return 0;
73
+ }
74
+ return convertTo;
75
+ }
76
+ if (valueType === 'boolean') {
77
+ return !value || value === 'false' ? false : true;
78
+ }
79
+ return '';
80
+ };
81
+ /**
82
+ * 处理填入输入框的值
83
+ */
84
+ OptionControl.prototype.transformOptionValue = function (value) {
85
+ return typeof value === 'undefined' || value === null
86
+ ? ''
87
+ : typeof value === 'string'
88
+ ? value
89
+ : JSON.stringify(value);
90
+ };
91
+ OptionControl.prototype.transformOptions = function (props) {
92
+ var ctx = props.data, options = props.value;
93
+ var defaultValue = ctx.value;
94
+ var valueArray = Select.value2array(defaultValue, ctx).map(function (item) { var _a; return item[(_a = ctx === null || ctx === void 0 ? void 0 : ctx.valueField) !== null && _a !== void 0 ? _a : 'value']; });
95
+ return Array.isArray(options)
96
+ ? options.map(function (item) {
97
+ var _a;
98
+ return ({
99
+ label: item.label,
100
+ // 为了使用户编写label时同时生效到value
101
+ value: item.label === item.value ? null : item.value,
102
+ checked: !!~valueArray.indexOf(item[(_a = ctx === null || ctx === void 0 ? void 0 : ctx.valueField) !== null && _a !== void 0 ? _a : 'value'])
103
+ });
104
+ })
105
+ : [];
106
+ };
107
+ /**
108
+ * 处理当前组件的默认值
109
+ */
110
+ OptionControl.prototype.normalizeValue = function () {
111
+ var _this = this;
112
+ var _a = this.props, _b = _a.data, ctx = _b === void 0 ? {} : _b, multipleProps = _a.multiple;
113
+ var _c = ctx.joinValues, joinValues = _c === void 0 ? true : _c, extractValue = ctx.extractValue, multiple = ctx.multiple, delimiter = ctx.delimiter, valueField = ctx.valueField;
114
+ var checkedOptions = this.state.options
115
+ .filter(function (item) { return item.checked; })
116
+ .map(function (item) { return omit__default["default"](item, _this.internalProps); });
117
+ var value;
118
+ if (!checkedOptions.length) {
119
+ return '';
120
+ }
121
+ if (multiple || multipleProps) {
122
+ value = checkedOptions;
123
+ if (joinValues) {
124
+ value = checkedOptions
125
+ .map(function (item) {
126
+ return item[valueField || 'value'] || item[valueField || 'label'];
127
+ })
128
+ .join(delimiter || ',');
129
+ }
130
+ else if (extractValue) {
131
+ value = checkedOptions.map(function (item) {
132
+ return item[valueField || 'value'] || item[valueField || 'label'];
133
+ });
134
+ }
135
+ }
136
+ else {
137
+ value = checkedOptions[0];
138
+ if (joinValues || extractValue) {
139
+ value = value[valueField || 'value'] || value[valueField || 'label'];
140
+ }
141
+ }
142
+ return value;
143
+ };
144
+ /**
145
+ * 更新options字段的统一出口
146
+ */
147
+ OptionControl.prototype.onChange = function () {
148
+ var source = this.state.source;
149
+ var onBulkChange = this.props.onBulkChange;
150
+ var defaultValue = this.normalizeValue();
151
+ var data = {
152
+ source: undefined,
153
+ options: undefined,
154
+ labelField: undefined,
155
+ valueField: undefined
156
+ };
157
+ if (source === 'custom') {
158
+ var options = this.state.options;
159
+ data.options = options.map(function (item) { return ({
160
+ label: item.label,
161
+ value: item.value == null || item.value === '' ? item.label : item.value
162
+ }); });
163
+ data.value = defaultValue || undefined;
164
+ }
165
+ if (source === 'api') {
166
+ var _a = this.state, api = _a.api, labelField = _a.labelField, valueField = _a.valueField;
167
+ data.source = api;
168
+ data.labelField = labelField;
169
+ data.valueField = valueField;
170
+ }
171
+ onBulkChange && onBulkChange(data);
172
+ return;
173
+ };
174
+ OptionControl.prototype.targetRef = function (ref) {
175
+ this.target = ref ? reactDom.findDOMNode(ref) : null;
176
+ };
177
+ OptionControl.prototype.dragRef = function (ref) {
178
+ if (!this.drag && ref) {
179
+ this.initDragging();
180
+ }
181
+ else if (this.drag && !ref) {
182
+ this.destroyDragging();
183
+ }
184
+ this.drag = ref;
185
+ };
186
+ OptionControl.prototype.initDragging = function () {
187
+ var _this = this;
188
+ var dom = reactDom.findDOMNode(this);
189
+ this.sortable = new Sortable__default["default"](dom.querySelector('.ae-OptionControl-content'), {
190
+ group: 'OptionControlGroup',
191
+ animation: 150,
192
+ handle: '.ae-OptionControlItem-dragBar',
193
+ ghostClass: 'ae-OptionControlItem--dragging',
194
+ onEnd: function (e) {
195
+ // 没有移动
196
+ if (e.newIndex === e.oldIndex) {
197
+ return;
198
+ }
199
+ // 换回来
200
+ var parent = e.to;
201
+ if (e.newIndex < e.oldIndex &&
202
+ e.oldIndex < parent.childNodes.length - 1) {
203
+ parent.insertBefore(e.item, parent.childNodes[e.oldIndex + 1]);
204
+ }
205
+ else if (e.oldIndex < parent.childNodes.length - 1) {
206
+ parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);
207
+ }
208
+ else {
209
+ parent.appendChild(e.item);
210
+ }
211
+ var options = _this.state.options.concat();
212
+ options[e.oldIndex] = options.splice(e.newIndex, 1, options[e.oldIndex])[0];
213
+ _this.setState({ options: options }, function () { return _this.onChange(); });
214
+ }
215
+ });
216
+ };
217
+ OptionControl.prototype.destroyDragging = function () {
218
+ this.sortable && this.sortable.destroy();
219
+ };
220
+ OptionControl.prototype.scroll2Bottom = function () {
221
+ var _a, _b;
222
+ this.drag &&
223
+ ((_b = (_a = this.drag) === null || _a === void 0 ? void 0 : _a.lastElementChild) === null || _b === void 0 ? void 0 : _b.scrollIntoView({
224
+ behavior: 'smooth',
225
+ block: 'nearest',
226
+ inline: 'start'
227
+ }));
228
+ };
229
+ /**
230
+ * 切换选项类型
231
+ */
232
+ OptionControl.prototype.handleSourceChange = function (source) {
233
+ this.setState({ source: source }, this.onChange);
234
+ };
235
+ /**
236
+ * 删除选项
237
+ */
238
+ OptionControl.prototype.handleDelete = function (index) {
239
+ var _this = this;
240
+ var options = this.state.options.concat();
241
+ options.splice(index, 1);
242
+ this.setState({ options: options }, function () { return _this.onChange(); });
243
+ };
244
+ /**
245
+ * 设置默认选项
246
+ */
247
+ OptionControl.prototype.handleToggleDefaultValue = function (index, checked, shift) {
248
+ var _this = this;
249
+ var _a, _b, _c;
250
+ var options = this.state.options.concat();
251
+ var isMultiple = ((_b = (_a = this.props) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.multiple) || ((_c = this.props) === null || _c === void 0 ? void 0 : _c.multiple);
252
+ if (isMultiple) {
253
+ options.splice(index, 1, tslib.__assign(tslib.__assign({}, options[index]), { checked: checked }));
254
+ }
255
+ else {
256
+ options = options.map(function (item, itemIndex) { return (tslib.__assign(tslib.__assign({}, item), { checked: itemIndex === index })); });
257
+ }
258
+ this.setState({ options: options }, function () { return _this.onChange(); });
259
+ };
260
+ /**
261
+ * 编辑选项
262
+ */
263
+ OptionControl.prototype.toggleEdit = function (index) {
264
+ var options = this.state.options;
265
+ options[index].editing = !options[index].editing;
266
+ this.setState({ options: options });
267
+ };
268
+ OptionControl.prototype.handleEditLabel = function (index, value) {
269
+ var _this = this;
270
+ var options = this.state.options.concat();
271
+ options.splice(index, 1, tslib.__assign(tslib.__assign({}, options[index]), { label: value }));
272
+ this.setState({ options: options }, function () { return _this.onChange(); });
273
+ };
274
+ OptionControl.prototype.handleAdd = function () {
275
+ var _this = this;
276
+ var options = this.state.options;
277
+ options.push({
278
+ label: '',
279
+ value: null,
280
+ checked: false
281
+ });
282
+ this.setState({ options: options }, function () {
283
+ _this.onChange();
284
+ });
285
+ };
286
+ OptionControl.prototype.handleValueTypeChange = function (index, type) {
287
+ var _this = this;
288
+ var options = this.state.options.concat();
289
+ options[index].value = this.normalizeOptionValue(options[index].value, type);
290
+ this.setState({ options: options }, function () { return _this.onChange(); });
291
+ };
292
+ OptionControl.prototype.handleValueChange = function (index, value) {
293
+ var _this = this;
294
+ var options = this.state.options.concat();
295
+ var type = this.getOptionValueType(options[index].value);
296
+ options[index].value = this.normalizeOptionValue(value, type);
297
+ this.setState({ options: options }, function () { return _this.onChange(); });
298
+ };
299
+ OptionControl.prototype.handleBatchAdd = function (values, action) {
300
+ var _this = this;
301
+ var options = this.state.options.concat();
302
+ var addedOptions = values.batchOption
303
+ .split('\n')
304
+ .map(function (option) {
305
+ var item = option.trim();
306
+ if (~item.indexOf(' ')) {
307
+ var _a = item.split(' '), label = _a[0], value = _a[1];
308
+ return { label: label.trim(), value: value.trim(), checked: false };
309
+ }
310
+ return { label: item, value: item, checked: false };
311
+ });
312
+ var newOptions = uniqBy__default["default"](tslib.__spreadArray(tslib.__spreadArray([], options, true), addedOptions, true), 'value');
313
+ this.setState({ options: newOptions }, function () { return _this.onChange(); });
314
+ };
315
+ OptionControl.prototype.renderHeader = function () {
316
+ var _this = this;
317
+ var _a;
318
+ var _b = this.props, render = _b.render, label = _b.label, labelRemark = _b.labelRemark, useMobileUI = _b.useMobileUI, env = _b.env, popOverContainer = _b.popOverContainer;
319
+ var classPrefix = (_a = env === null || env === void 0 ? void 0 : env.theme) === null || _a === void 0 ? void 0 : _a.classPrefix;
320
+ var source = this.state.source;
321
+ var optionSourceList = [
322
+ {
323
+ label: '自定义选项',
324
+ value: 'custom'
325
+ },
326
+ {
327
+ label: '接口获取',
328
+ value: 'api'
329
+ }
330
+ // {
331
+ // label: '表单实体',
332
+ // value: 'form'
333
+ // }
334
+ ].map(function (item) { return (tslib.__assign(tslib.__assign({}, item), { onClick: function () { return _this.handleSourceChange(item.value); } })); });
335
+ return (React__default["default"].createElement("header", { className: "ae-OptionControl-header" },
336
+ React__default["default"].createElement("label", { className: cx__default["default"]("".concat(classPrefix, "Form-label")) },
337
+ label || '',
338
+ labelRemark
339
+ ? render('label-remark', {
340
+ type: 'remark',
341
+ icon: labelRemark.icon || 'warning-mark',
342
+ tooltip: labelRemark,
343
+ className: cx__default["default"]("Form-lableRemark", labelRemark === null || labelRemark === void 0 ? void 0 : labelRemark.className),
344
+ useMobileUI: useMobileUI,
345
+ container: popOverContainer
346
+ ? popOverContainer
347
+ : env && env.getModalContainer
348
+ ? env.getModalContainer
349
+ : undefined
350
+ })
351
+ : null),
352
+ React__default["default"].createElement("div", null, render('validation-control-addBtn', {
353
+ type: 'dropdown-button',
354
+ level: 'link',
355
+ size: 'sm',
356
+ label: '${selected}',
357
+ align: 'right',
358
+ closeOnClick: true,
359
+ closeOnOutside: true,
360
+ buttons: optionSourceList
361
+ }, {
362
+ popOverContainer: null,
363
+ data: {
364
+ selected: optionSourceList.find(function (item) { return item.value === source; })
365
+ .label
366
+ }
367
+ }))));
368
+ };
369
+ OptionControl.prototype.renderOption = function (props) {
370
+ var _this = this;
371
+ var checked = props.checked, index = props.index, editing = props.editing, multipleProps = props.multipleProps;
372
+ var ctx = this.props.data;
373
+ var isMultiple = (ctx === null || ctx === void 0 ? void 0 : ctx.multiple) === true || multipleProps;
374
+ var label = this.transformOptionValue(props.label);
375
+ var value = this.transformOptionValue(props.value);
376
+ var valueType = this.getOptionValueType(props.value);
377
+ var editDom = editing ? (React__default["default"].createElement("div", { className: "ae-OptionControlItem-extendMore" }, amis.render({
378
+ type: 'container',
379
+ className: 'ae-ExtendMore right mb-2',
380
+ body: [
381
+ {
382
+ type: 'button',
383
+ className: 'ae-OptionControlItem-closeBtn',
384
+ label: '×',
385
+ level: 'link',
386
+ onClick: function () { return _this.toggleEdit(index); }
387
+ },
388
+ {
389
+ type: 'input-text',
390
+ name: 'label',
391
+ placeholder: '请输入显示文本',
392
+ label: '文本',
393
+ mode: 'horizontal',
394
+ value: label,
395
+ labelClassName: 'ae-OptionControlItem-EditLabel',
396
+ valueClassName: 'ae-OptionControlItem-EditValue',
397
+ onChange: function (v) { return _this.handleEditLabel(index, v); }
398
+ },
399
+ {
400
+ type: 'input-group',
401
+ name: 'input-group',
402
+ label: '值',
403
+ labelClassName: 'ae-OptionControlItem-EditLabel',
404
+ valueClassName: 'ae-OptionControlItem-EditValue',
405
+ mode: 'horizontal',
406
+ body: [
407
+ {
408
+ type: 'select',
409
+ name: 'valueType',
410
+ value: valueType,
411
+ options: [
412
+ {
413
+ label: '文本',
414
+ value: 'text'
415
+ },
416
+ {
417
+ label: '数字',
418
+ value: 'number'
419
+ },
420
+ {
421
+ label: '布尔',
422
+ value: 'boolean'
423
+ }
424
+ ],
425
+ checkAll: false,
426
+ onChange: function (v) {
427
+ return _this.handleValueTypeChange(index, v);
428
+ }
429
+ },
430
+ {
431
+ type: 'input-text',
432
+ placeholder: '默认与文本一致',
433
+ name: 'value',
434
+ value: value,
435
+ visibleOn: "this.optionValueType !== 'boolean'",
436
+ onChange: function (v) { return _this.handleValueChange(index, v); }
437
+ },
438
+ {
439
+ type: 'input-text',
440
+ placeholder: '默认与文本一致',
441
+ name: 'value',
442
+ value: value,
443
+ visibleOn: "this.optionValueType === 'boolean'",
444
+ onChange: function (v) { return _this.handleValueChange(index, v); },
445
+ options: [
446
+ { label: 'true', value: true },
447
+ { label: 'false', value: false }
448
+ ]
449
+ }
450
+ ]
451
+ }
452
+ ]
453
+ }))) : null;
454
+ return (React__default["default"].createElement("li", { className: "ae-OptionControlItem", key: index },
455
+ React__default["default"].createElement("div", { className: "ae-OptionControlItem-Main" },
456
+ React__default["default"].createElement("a", { className: "ae-OptionControlItem-dragBar" },
457
+ React__default["default"].createElement(amis.Icon, { icon: "drag-bar", className: "icon" })),
458
+ !this.props.closeDefaultCheck &&
459
+ this.props.data.defaultCheckAll !== true && (React__default["default"].createElement("span", { className: "inline-flex", "data-tooltip": "\u9ED8\u8BA4\u9009\u4E2D\u6B64\u9879" },
460
+ React__default["default"].createElement(amis.Checkbox, { className: "ae-OptionControlItem-checkbox", checked: checked, type: isMultiple ? 'checkbox' : 'radio', onChange: function (checked, shift) {
461
+ return _this.handleToggleDefaultValue(index, checked, shift);
462
+ } }))),
463
+ React__default["default"].createElement(amis.InputBox, { className: "ae-OptionControlItem-input", value: label, placeholder: "\u8BF7\u8F93\u5165\u6587\u672C/\u503C", clearable: false, onChange: function (value) { return _this.handleEditLabel(index, value); } }),
464
+ amis.render({
465
+ type: 'dropdown-button',
466
+ className: 'ae-OptionControlItem-dropdown',
467
+ btnClassName: 'px-2',
468
+ icon: 'fa fa-ellipsis-h',
469
+ hideCaret: true,
470
+ closeOnClick: true,
471
+ align: 'right',
472
+ menuClassName: 'ae-OptionControlItem-ulmenu',
473
+ buttons: [
474
+ {
475
+ type: 'button',
476
+ className: 'ae-OptionControlItem-action',
477
+ label: '编辑',
478
+ onClick: function () { return _this.toggleEdit(index); }
479
+ },
480
+ {
481
+ type: 'button',
482
+ className: 'ae-OptionControlItem-action',
483
+ label: '删除',
484
+ onClick: function () { return _this.handleDelete(index); }
485
+ }
486
+ ]
487
+ })),
488
+ editDom));
489
+ };
490
+ OptionControl.prototype.buildBatchAddSchema = function () {
491
+ return {
492
+ type: 'action',
493
+ actionType: 'dialog',
494
+ label: '批量添加',
495
+ dialog: {
496
+ title: '批量添加选项',
497
+ headerClassName: 'font-bold',
498
+ closeOnEsc: true,
499
+ closeOnOutside: false,
500
+ showCloseButton: true,
501
+ body: [
502
+ {
503
+ type: 'alert',
504
+ level: 'warning',
505
+ body: [
506
+ {
507
+ type: 'tpl',
508
+ tpl: '每个选项单列一行,将所有值不重复的项加为新的选项;<br/>每行可通过空格来分别设置label和value,例:"张三 zhangsan"'
509
+ }
510
+ ],
511
+ showIcon: true,
512
+ className: 'mb-2.5'
513
+ },
514
+ {
515
+ type: 'form',
516
+ wrapWithPanel: false,
517
+ mode: 'normal',
518
+ wrapperComponent: 'div',
519
+ resetAfterSubmit: true,
520
+ autoFocus: true,
521
+ preventEnterSubmit: true,
522
+ horizontal: {
523
+ left: 0,
524
+ right: 12
525
+ },
526
+ body: [
527
+ {
528
+ name: 'batchOption',
529
+ type: 'textarea',
530
+ label: '',
531
+ placeholder: '请输入选项内容',
532
+ trimContents: true,
533
+ minRows: 10,
534
+ maxRows: 50,
535
+ required: true
536
+ }
537
+ ]
538
+ }
539
+ ]
540
+ }
541
+ };
542
+ };
543
+ OptionControl.prototype.handleAPIChange = function (source) {
544
+ this.setState({ api: source }, this.onChange);
545
+ };
546
+ OptionControl.prototype.handleLableFieldChange = function (labelField) {
547
+ this.setState({ labelField: labelField }, this.onChange);
548
+ };
549
+ OptionControl.prototype.handleValueFieldChange = function (valueField) {
550
+ this.setState({ valueField: valueField }, this.onChange);
551
+ };
552
+ OptionControl.prototype.renderApiPanel = function () {
553
+ var render = this.props.render;
554
+ var _a = this.state, source = _a.source, api = _a.api, labelField = _a.labelField, valueField = _a.valueField;
555
+ if (source !== 'api') {
556
+ return null;
557
+ }
558
+ return render('api', AMisCodeEditor.getSchemaTpl('apiControl', {
559
+ label: '接口',
560
+ name: 'source',
561
+ className: 'ae-ExtendMore',
562
+ visibleOn: 'data.autoComplete !== false',
563
+ value: api,
564
+ onChange: this.handleAPIChange,
565
+ footer: [
566
+ {
567
+ label: BaseControl.tipedLabel('显示字段', '选项文本对应的数据字段,多字段合并请通过模板配置'),
568
+ type: 'input-text',
569
+ name: 'labelField',
570
+ value: labelField,
571
+ placeholder: '选项文本对应的字段',
572
+ onChange: this.handleLableFieldChange
573
+ },
574
+ {
575
+ label: '值字段',
576
+ type: 'input-text',
577
+ name: 'valueField',
578
+ value: valueField,
579
+ placeholder: '值对应的字段',
580
+ onChange: this.handleValueFieldChange
581
+ }
582
+ ]
583
+ }));
584
+ };
585
+ OptionControl.prototype.render = function () {
586
+ var _this = this;
587
+ var _a = this.state, options = _a.options, source = _a.source;
588
+ var _b = this.props; _b.render; var className = _b.className, multipleProps = _b.multiple;
589
+ return (React__default["default"].createElement("div", { className: cx__default["default"]('ae-OptionControl', className) },
590
+ this.renderHeader(),
591
+ source === 'custom' ? (React__default["default"].createElement("div", { className: "ae-OptionControl-wrapper" },
592
+ Array.isArray(options) && options.length ? (React__default["default"].createElement("ul", { className: "ae-OptionControl-content", ref: this.dragRef }, options.map(function (option, index) {
593
+ return _this.renderOption(tslib.__assign(tslib.__assign({}, option), { index: index, multipleProps: multipleProps }));
594
+ }))) : (React__default["default"].createElement("div", { className: "ae-OptionControl-placeholder" }, "\u65E0\u9009\u9879")),
595
+ React__default["default"].createElement("div", { className: "ae-OptionControl-footer" },
596
+ React__default["default"].createElement(amis.Button, { level: "enhance", onClick: this.handleAdd, ref: this.targetRef }, "\u6DFB\u52A0\u9009\u9879"),
597
+ amis.render(this.buildBatchAddSchema(), {
598
+ onSubmit: this.handleBatchAdd
599
+ })))) : null,
600
+ this.renderApiPanel()));
601
+ };
602
+ tslib.__decorate([
603
+ AMisCodeEditor.autobind,
604
+ tslib.__metadata("design:type", Function),
605
+ tslib.__metadata("design:paramtypes", [Object]),
606
+ tslib.__metadata("design:returntype", void 0)
607
+ ], OptionControl.prototype, "targetRef", null);
608
+ tslib.__decorate([
609
+ AMisCodeEditor.autobind,
610
+ tslib.__metadata("design:type", Function),
611
+ tslib.__metadata("design:paramtypes", [Object]),
612
+ tslib.__metadata("design:returntype", void 0)
613
+ ], OptionControl.prototype, "dragRef", null);
614
+ tslib.__decorate([
615
+ AMisCodeEditor.autobind,
616
+ tslib.__metadata("design:type", Function),
617
+ tslib.__metadata("design:paramtypes", [String]),
618
+ tslib.__metadata("design:returntype", void 0)
619
+ ], OptionControl.prototype, "handleSourceChange", null);
620
+ tslib.__decorate([
621
+ AMisCodeEditor.autobind,
622
+ tslib.__metadata("design:type", Function),
623
+ tslib.__metadata("design:paramtypes", [Number, String]),
624
+ tslib.__metadata("design:returntype", void 0)
625
+ ], OptionControl.prototype, "handleEditLabel", null);
626
+ tslib.__decorate([
627
+ AMisCodeEditor.autobind,
628
+ tslib.__metadata("design:type", Function),
629
+ tslib.__metadata("design:paramtypes", []),
630
+ tslib.__metadata("design:returntype", void 0)
631
+ ], OptionControl.prototype, "handleAdd", null);
632
+ tslib.__decorate([
633
+ AMisCodeEditor.autobind,
634
+ tslib.__metadata("design:type", Function),
635
+ tslib.__metadata("design:paramtypes", [Object, Object]),
636
+ tslib.__metadata("design:returntype", void 0)
637
+ ], OptionControl.prototype, "handleBatchAdd", null);
638
+ tslib.__decorate([
639
+ AMisCodeEditor.autobind,
640
+ tslib.__metadata("design:type", Function),
641
+ tslib.__metadata("design:paramtypes", [Object]),
642
+ tslib.__metadata("design:returntype", void 0)
643
+ ], OptionControl.prototype, "handleAPIChange", null);
644
+ tslib.__decorate([
645
+ AMisCodeEditor.autobind,
646
+ tslib.__metadata("design:type", Function),
647
+ tslib.__metadata("design:paramtypes", [String]),
648
+ tslib.__metadata("design:returntype", void 0)
649
+ ], OptionControl.prototype, "handleLableFieldChange", null);
650
+ tslib.__decorate([
651
+ AMisCodeEditor.autobind,
652
+ tslib.__metadata("design:type", Function),
653
+ tslib.__metadata("design:paramtypes", [String]),
654
+ tslib.__metadata("design:returntype", void 0)
655
+ ], OptionControl.prototype, "handleValueFieldChange", null);
656
+ return OptionControl;
657
+ }(React__default["default"].Component));
658
+ /** @class */ ((function (_super) {
659
+ tslib.__extends(OptionControlRenderer, _super);
660
+ function OptionControlRenderer() {
661
+ return _super !== null && _super.apply(this, arguments) || this;
662
+ }
663
+ OptionControlRenderer = tslib.__decorate([
664
+ amis.FormItem({
665
+ type: 'ae-optionControl',
666
+ renderLabel: false
667
+ })
668
+ ], OptionControlRenderer);
669
+ return OptionControlRenderer;
670
+ })(OptionControl));
671
+
672
+ exports["default"] = OptionControl;