amis-editor 5.6.0-beta.0 → 5.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (871) hide show
  1. package/esm/builder/ApiDSBuilder.d.ts +491 -0
  2. package/esm/builder/ApiDSBuilder.js +1212 -0
  3. package/esm/builder/DSBuilder.d.ts +171 -0
  4. package/esm/builder/DSBuilder.js +49 -0
  5. package/esm/builder/DSBuilderManager.d.ts +62 -0
  6. package/esm/builder/DSBuilderManager.js +207 -0
  7. package/esm/builder/constants.d.ts +97 -0
  8. package/esm/builder/constants.js +135 -0
  9. package/esm/builder/index.d.ts +6 -0
  10. package/esm/builder/type.d.ts +96 -0
  11. package/esm/builder/utils.d.ts +10 -0
  12. package/esm/builder/utils.js +93 -0
  13. package/esm/component/BaseControl.js +5 -3
  14. package/esm/component/InputComponentName.js +3 -1
  15. package/esm/component/TableViewEditor.js +3 -1
  16. package/esm/icons/btn/btn-group.svg.js +3 -1
  17. package/esm/icons/btn/btn-select.svg.js +3 -1
  18. package/esm/icons/btn/btn-toolbar.svg.js +3 -1
  19. package/esm/icons/btn/button.svg.js +3 -1
  20. package/esm/icons/btn/dropdown-btn.svg.js +3 -1
  21. package/esm/icons/container/anchor-nav.svg.js +3 -1
  22. package/esm/icons/container/collapse.svg.js +3 -1
  23. package/esm/icons/container/container.svg.js +3 -1
  24. package/esm/icons/container/flex-container.svg.js +3 -1
  25. package/esm/icons/container/form-group.svg.js +3 -1
  26. package/esm/icons/container/grid.svg.js +3 -1
  27. package/esm/icons/container/iframe.svg.js +3 -1
  28. package/esm/icons/container/panel.svg.js +3 -1
  29. package/esm/icons/container/table-view.svg.js +3 -1
  30. package/esm/icons/container/tabs.svg.js +3 -1
  31. package/esm/icons/container/tooltip-wrapper.svg.js +3 -1
  32. package/esm/icons/container/web-component.svg.js +3 -1
  33. package/esm/icons/crud/column-add.svg.js +26 -0
  34. package/esm/icons/crud/column-delete.svg.js +24 -0
  35. package/esm/icons/crud/column-setting.svg.js +24 -0
  36. package/esm/icons/crud/share-link.svg.js +22 -0
  37. package/esm/icons/display/aBaseline.svg.js +3 -1
  38. package/esm/icons/display/aCenter.svg.js +3 -1
  39. package/esm/icons/display/aFlexEnd.svg.js +3 -1
  40. package/esm/icons/display/aFlexStart.svg.js +3 -1
  41. package/esm/icons/display/aStretch.svg.js +3 -1
  42. package/esm/icons/display/block.svg.js +3 -1
  43. package/esm/icons/display/dcolumn.svg.js +3 -1
  44. package/esm/icons/display/dcolumnReverse.svg.js +3 -1
  45. package/esm/icons/display/drow.svg.js +3 -1
  46. package/esm/icons/display/drowReverse.svg.js +3 -1
  47. package/esm/icons/display/flex.svg.js +3 -1
  48. package/esm/icons/display/inline-block.svg.js +3 -1
  49. package/esm/icons/display/inline.svg.js +3 -1
  50. package/esm/icons/display/jCenter.svg.js +3 -1
  51. package/esm/icons/display/jFlexEnd.svg.js +3 -1
  52. package/esm/icons/display/jFlexStart.svg.js +3 -1
  53. package/esm/icons/display/jSpaceAround.svg.js +3 -1
  54. package/esm/icons/display/jSpaceBetween.svg.js +3 -1
  55. package/esm/icons/feat/audio.svg.js +3 -1
  56. package/esm/icons/feat/custom.svg.js +3 -1
  57. package/esm/icons/feat/each.svg.js +3 -1
  58. package/esm/icons/feat/form.svg.js +3 -1
  59. package/esm/icons/feat/nav.svg.js +3 -1
  60. package/esm/icons/feat/qrcode.svg.js +3 -1
  61. package/esm/icons/feat/service.svg.js +3 -1
  62. package/esm/icons/feat/table.svg.js +3 -1
  63. package/esm/icons/feat/tasks.svg.js +3 -1
  64. package/esm/icons/feat/video.svg.js +3 -1
  65. package/esm/icons/feat/wizard.svg.js +3 -1
  66. package/esm/icons/form/chained-select.svg.js +3 -1
  67. package/esm/icons/form/checkbox.svg.js +3 -1
  68. package/esm/icons/form/checkboxes.svg.js +3 -1
  69. package/esm/icons/form/combo.svg.js +3 -1
  70. package/esm/icons/form/condition-builder.svg.js +3 -1
  71. package/esm/icons/form/diff-editor.svg.js +3 -1
  72. package/esm/icons/form/editor.svg.js +3 -1
  73. package/esm/icons/form/formula.svg.js +3 -1
  74. package/esm/icons/form/hidden.svg.js +3 -1
  75. package/esm/icons/form/input-city.svg.js +3 -1
  76. package/esm/icons/form/input-color.svg.js +3 -1
  77. package/esm/icons/form/input-date-range.svg.js +3 -1
  78. package/esm/icons/form/input-date.svg.js +3 -1
  79. package/esm/icons/form/input-datetime.svg.js +3 -1
  80. package/esm/icons/form/input-email.svg.js +3 -1
  81. package/esm/icons/form/input-excel.svg.js +3 -1
  82. package/esm/icons/form/input-file.svg.js +3 -1
  83. package/esm/icons/form/input-group.svg.js +3 -1
  84. package/esm/icons/form/input-image.svg.js +3 -1
  85. package/esm/icons/form/input-kv.svg.js +3 -1
  86. package/esm/icons/form/input-month-range.svg.js +3 -1
  87. package/esm/icons/form/input-number.svg.js +3 -1
  88. package/esm/icons/form/input-password.svg.js +3 -1
  89. package/esm/icons/form/input-quarter-range.svg.js +3 -1
  90. package/esm/icons/form/input-range.svg.js +3 -1
  91. package/esm/icons/form/input-rating.svg.js +3 -1
  92. package/esm/icons/form/input-repeat.svg.js +3 -1
  93. package/esm/icons/form/input-rich-text.svg.js +3 -1
  94. package/esm/icons/form/input-tag.svg.js +3 -1
  95. package/esm/icons/form/input-text.svg.js +3 -1
  96. package/esm/icons/form/input-time-range.svg.js +3 -1
  97. package/esm/icons/form/input-time.svg.js +3 -1
  98. package/esm/icons/form/input-tree.svg.js +3 -1
  99. package/esm/icons/form/input-url.svg.js +3 -1
  100. package/esm/icons/form/input-year.svg.js +3 -1
  101. package/esm/icons/form/inputArray.svg.js +3 -1
  102. package/esm/icons/form/list-select.svg.js +3 -1
  103. package/esm/icons/form/location-picker.svg.js +3 -1
  104. package/esm/icons/form/matrix-checkboxes.svg.js +3 -1
  105. package/esm/icons/form/month.svg.js +3 -1
  106. package/esm/icons/form/nested-select.svg.js +3 -1
  107. package/esm/icons/form/picker.svg.js +3 -1
  108. package/esm/icons/form/quarter.svg.js +3 -1
  109. package/esm/icons/form/radios.svg.js +3 -1
  110. package/esm/icons/form/select.svg.js +3 -1
  111. package/esm/icons/form/static.svg.js +3 -1
  112. package/esm/icons/form/sub-form.svg.js +3 -1
  113. package/esm/icons/form/switch.svg.js +3 -1
  114. package/esm/icons/form/tabs-transfer.svg.js +3 -1
  115. package/esm/icons/form/textarea.svg.js +3 -1
  116. package/esm/icons/form/transfer.svg.js +3 -1
  117. package/esm/icons/form/tree-select.svg.js +3 -1
  118. package/esm/icons/form/uuid.svg.js +3 -1
  119. package/esm/icons/index.js +12 -1
  120. package/esm/icons/layout/layout-1with2.svg.js +3 -1
  121. package/esm/icons/layout/layout-2cols.svg.js +3 -1
  122. package/esm/icons/layout/layout-2row.svg.js +3 -1
  123. package/esm/icons/layout/layout-2with1.svg.js +3 -1
  124. package/esm/icons/layout/layout-3cols.svg.js +3 -1
  125. package/esm/icons/layout/layout-3row.svg.js +3 -1
  126. package/esm/icons/layout/layout-absolute.svg.js +3 -1
  127. package/esm/icons/layout/layout-fixed-top.svg.js +3 -1
  128. package/esm/icons/layout/layout-fixed.svg.js +3 -1
  129. package/esm/icons/layout/layout-free-container.svg.js +3 -1
  130. package/esm/icons/layout/layout-full.svg.js +3 -1
  131. package/esm/icons/layout/layout1-2.svg.js +3 -1
  132. package/esm/icons/layout/layout2-1.svg.js +3 -1
  133. package/esm/icons/layout/layout3-1.svg.js +3 -1
  134. package/esm/icons/layout/layout3-2.svg.js +3 -1
  135. package/esm/icons/other/_fx.svg.js +3 -1
  136. package/esm/icons/other/divider.svg.js +3 -1
  137. package/esm/icons/other/fx.svg.js +3 -1
  138. package/esm/icons/other/property-sheet.svg.js +3 -1
  139. package/esm/icons/other/tooltip.svg.js +3 -1
  140. package/esm/icons/show/URL.svg.js +3 -1
  141. package/esm/icons/show/avatar.svg.js +3 -1
  142. package/esm/icons/show/breadcrumb.svg.js +3 -1
  143. package/esm/icons/show/card.svg.js +3 -1
  144. package/esm/icons/show/cards.svg.js +3 -1
  145. package/esm/icons/show/carousel.svg.js +3 -1
  146. package/esm/icons/show/chart.svg.js +3 -1
  147. package/esm/icons/show/code.svg.js +3 -1
  148. package/esm/icons/show/date.svg.js +3 -1
  149. package/esm/icons/show/datetime.svg.js +3 -1
  150. package/esm/icons/show/image.svg.js +3 -1
  151. package/esm/icons/show/images.svg.js +3 -1
  152. package/esm/icons/show/json-view.svg.js +3 -1
  153. package/esm/icons/show/list.svg.js +3 -1
  154. package/esm/icons/show/log.svg.js +3 -1
  155. package/esm/icons/show/mapping.svg.js +3 -1
  156. package/esm/icons/show/markdown.svg.js +3 -1
  157. package/esm/icons/show/plain.svg.js +3 -1
  158. package/esm/icons/show/progress.svg.js +3 -1
  159. package/esm/icons/show/sparkline.svg.js +3 -1
  160. package/esm/icons/show/status.svg.js +3 -1
  161. package/esm/icons/show/steps.svg.js +3 -1
  162. package/esm/icons/show/time.svg.js +3 -1
  163. package/esm/icons/theme/css.svg.js +3 -1
  164. package/esm/index.d.ts +8 -0
  165. package/esm/index.js +18 -3
  166. package/esm/locale/en-US.js +241 -19
  167. package/esm/locale/zh-CN.js +235 -7
  168. package/esm/plugin/Alert.js +3 -1
  169. package/esm/plugin/AnchorNav.js +3 -1
  170. package/esm/plugin/Audio.js +3 -1
  171. package/esm/plugin/Avatar.js +3 -1
  172. package/esm/plugin/Breadcrumb.js +3 -1
  173. package/esm/plugin/Button.js +5 -3
  174. package/esm/plugin/ButtonGroup.js +3 -1
  175. package/esm/plugin/CRUD.js +3 -1
  176. package/esm/plugin/CRUD2/BaseCRUD.d.ts +233 -0
  177. package/esm/plugin/CRUD2/BaseCRUD.js +1045 -0
  178. package/esm/plugin/CRUD2/CRUDCards.d.ts +53 -0
  179. package/esm/plugin/CRUD2/CRUDList.d.ts +53 -0
  180. package/esm/plugin/CRUD2/CRUDTable.d.ts +21 -0
  181. package/esm/plugin/CRUD2/CRUDTable.js +48 -0
  182. package/esm/plugin/CRUD2/constants.d.ts +32 -0
  183. package/esm/plugin/CRUD2/constants.js +75 -0
  184. package/esm/plugin/CRUD2/utils.d.ts +8 -0
  185. package/esm/plugin/CRUD2/utils.js +91 -0
  186. package/esm/plugin/Card.js +3 -1
  187. package/esm/plugin/Card2.js +3 -1
  188. package/esm/plugin/Cards.d.ts +547 -41
  189. package/esm/plugin/Cards.js +368 -170
  190. package/esm/plugin/Carousel.js +120 -97
  191. package/esm/plugin/Chart.js +17 -5
  192. package/esm/plugin/CodeView.js +3 -1
  193. package/esm/plugin/Collapse.d.ts +2 -1
  194. package/esm/plugin/Collapse.js +50 -1
  195. package/esm/plugin/CollapseGroup.js +3 -1
  196. package/esm/plugin/ColumnToggler.d.ts +11 -6
  197. package/esm/plugin/ColumnToggler.js +69 -10
  198. package/esm/plugin/Container.d.ts +2 -0
  199. package/esm/plugin/Container.js +8 -8
  200. package/esm/plugin/Custom.js +3 -1
  201. package/esm/plugin/CustomRegion.js +5 -2
  202. package/esm/plugin/Date.js +3 -1
  203. package/esm/plugin/Datetime.js +3 -1
  204. package/esm/plugin/Dialog.d.ts +13 -1
  205. package/esm/plugin/Dialog.js +186 -55
  206. package/esm/plugin/Divider.js +72 -6
  207. package/esm/plugin/Drawer.js +126 -77
  208. package/esm/plugin/DropDownButton.js +3 -1
  209. package/esm/plugin/Each.d.ts +226 -11
  210. package/esm/plugin/Each.js +238 -89
  211. package/esm/plugin/Flex.js +3 -1
  212. package/esm/plugin/Form/ButtonGroupSelect.js +25 -23
  213. package/esm/plugin/Form/ButtonToolbar.js +3 -1
  214. package/esm/plugin/Form/ChainedSelect.js +21 -19
  215. package/esm/plugin/Form/Checkbox.js +51 -12
  216. package/esm/plugin/Form/Checkboxes.js +33 -42
  217. package/esm/plugin/Form/CodeEditor.js +3 -1
  218. package/esm/plugin/Form/Combo.d.ts +3 -2
  219. package/esm/plugin/Form/Combo.js +8 -5
  220. package/esm/plugin/Form/ConditionBuilder.js +3 -1
  221. package/esm/plugin/Form/Control.js +3 -1
  222. package/esm/plugin/Form/DiffEditor.js +3 -1
  223. package/esm/plugin/Form/FieldSet.js +3 -1
  224. package/esm/plugin/Form/Form.d.ts +32 -8
  225. package/esm/plugin/Form/Form.js +594 -442
  226. package/esm/plugin/Form/Formula.js +3 -1
  227. package/esm/plugin/Form/Group.js +3 -1
  228. package/esm/plugin/Form/Hidden.js +3 -1
  229. package/esm/plugin/Form/InputArray.js +3 -1
  230. package/esm/plugin/Form/InputCity.js +6 -2
  231. package/esm/plugin/Form/InputColor.js +3 -1
  232. package/esm/plugin/Form/InputDate.js +29 -43
  233. package/esm/plugin/Form/InputDateRange.js +41 -30
  234. package/esm/plugin/Form/InputDateTime.js +3 -1
  235. package/esm/plugin/Form/InputDateTimeRange.js +3 -1
  236. package/esm/plugin/Form/InputEmail.js +3 -1
  237. package/esm/plugin/Form/InputExcel.js +3 -1
  238. package/esm/plugin/Form/InputFile.js +8 -2
  239. package/esm/plugin/Form/InputGroup.d.ts +1 -0
  240. package/esm/plugin/Form/InputGroup.js +3 -1
  241. package/esm/plugin/Form/InputImage.js +12 -6
  242. package/esm/plugin/Form/InputKV.js +3 -1
  243. package/esm/plugin/Form/InputMonth.js +3 -1
  244. package/esm/plugin/Form/InputMonthRange.js +3 -1
  245. package/esm/plugin/Form/InputNumber.js +3 -1
  246. package/esm/plugin/Form/InputPassword.js +3 -1
  247. package/esm/plugin/Form/InputQuarter.js +3 -1
  248. package/esm/plugin/Form/InputQuarterRange.js +3 -1
  249. package/esm/plugin/Form/InputRange.js +23 -35
  250. package/esm/plugin/Form/InputRating.js +3 -1
  251. package/esm/plugin/Form/InputRepeat.js +3 -1
  252. package/esm/plugin/Form/InputRichText.js +3 -1
  253. package/esm/plugin/Form/InputSubForm.js +3 -1
  254. package/esm/plugin/Form/InputTable.d.ts +3 -2
  255. package/esm/plugin/Form/InputTable.js +13 -8
  256. package/esm/plugin/Form/InputTag.d.ts +4 -1
  257. package/esm/plugin/Form/InputTag.js +33 -22
  258. package/esm/plugin/Form/InputText.js +23 -23
  259. package/esm/plugin/Form/InputTime.js +3 -1
  260. package/esm/plugin/Form/InputTimeRange.js +3 -1
  261. package/esm/plugin/Form/InputTree.js +69 -54
  262. package/esm/plugin/Form/InputURL.js +3 -1
  263. package/esm/plugin/Form/InputYear.js +3 -1
  264. package/esm/plugin/Form/InputYearRange.js +3 -1
  265. package/esm/plugin/Form/Item.js +3 -1
  266. package/esm/plugin/Form/ListSelect.js +25 -23
  267. package/esm/plugin/Form/LocationPicker.js +3 -1
  268. package/esm/plugin/Form/MatrixCheckboxes.js +3 -1
  269. package/esm/plugin/Form/NestedSelect.js +25 -23
  270. package/esm/plugin/Form/Picker.js +22 -22
  271. package/esm/plugin/Form/Radios.js +20 -18
  272. package/esm/plugin/Form/Select.d.ts +8 -8
  273. package/esm/plugin/Form/Select.js +41 -72
  274. package/esm/plugin/Form/Static.js +3 -1
  275. package/esm/plugin/Form/Switch.js +3 -1
  276. package/esm/plugin/Form/TabsTransfer.d.ts +2 -3
  277. package/esm/plugin/Form/TabsTransfer.js +59 -45
  278. package/esm/plugin/Form/Textarea.js +3 -1
  279. package/esm/plugin/Form/Transfer.js +25 -23
  280. package/esm/plugin/Form/TreeSelect.js +59 -51
  281. package/esm/plugin/Form/UUID.js +3 -1
  282. package/esm/plugin/Grid.js +3 -1
  283. package/esm/plugin/HBox.js +3 -1
  284. package/esm/plugin/IFrame.js +3 -1
  285. package/esm/plugin/Icon.js +5 -3
  286. package/esm/plugin/Image.js +54 -31
  287. package/esm/plugin/Images.js +22 -10
  288. package/esm/plugin/Json.js +3 -1
  289. package/esm/plugin/Layout/FlexPluginBase.js +14 -15
  290. package/esm/plugin/Layout/Layout_fixed.js +3 -1
  291. package/esm/plugin/Layout/Layout_free_container.js +3 -1
  292. package/esm/plugin/Layout/Layout_sorption_container.js +3 -1
  293. package/esm/plugin/Link.js +17 -5
  294. package/esm/plugin/List.d.ts +5 -0
  295. package/esm/plugin/List.js +55 -19
  296. package/esm/plugin/List2.d.ts +545 -0
  297. package/esm/plugin/List2.js +380 -0
  298. package/esm/plugin/ListItem.js +3 -1
  299. package/esm/plugin/Log.js +3 -1
  300. package/esm/plugin/Mapping.js +3 -1
  301. package/esm/plugin/Markdown.js +3 -1
  302. package/esm/plugin/Nav.js +3 -1
  303. package/esm/plugin/OfficeViewer.js +3 -1
  304. package/esm/plugin/Operation.js +3 -2
  305. package/esm/plugin/Others/Action.js +3 -1
  306. package/esm/plugin/Others/TableCell.js +3 -1
  307. package/esm/plugin/Page.js +27 -2
  308. package/esm/plugin/Pagination.d.ts +0 -1
  309. package/esm/plugin/Pagination.js +35 -19
  310. package/esm/plugin/Panel.js +3 -1
  311. package/esm/plugin/Plain.js +3 -1
  312. package/esm/plugin/Progress.js +3 -1
  313. package/esm/plugin/Property.js +3 -1
  314. package/esm/plugin/QRCode.js +3 -1
  315. package/esm/plugin/Reset.js +3 -1
  316. package/esm/plugin/SearchBox.d.ts +3 -1
  317. package/esm/plugin/SearchBox.js +14 -1
  318. package/esm/plugin/Service.d.ts +19 -13
  319. package/esm/plugin/Service.js +169 -91
  320. package/esm/plugin/Sparkline.js +5 -6
  321. package/esm/plugin/Status.js +3 -1
  322. package/esm/plugin/Steps.js +3 -1
  323. package/esm/plugin/Submit.js +3 -1
  324. package/esm/plugin/Table.d.ts +9 -0
  325. package/esm/plugin/Table.js +53 -4
  326. package/esm/plugin/Table2.d.ts +24 -10
  327. package/esm/plugin/Table2.js +668 -420
  328. package/esm/plugin/TableCell2.d.ts +14 -2
  329. package/esm/plugin/TableCell2.js +510 -365
  330. package/esm/plugin/TableView.js +3 -1
  331. package/esm/plugin/Tabs.js +3 -1
  332. package/esm/plugin/Tag.js +10 -2
  333. package/esm/plugin/Tasks.js +3 -1
  334. package/esm/plugin/Time.js +3 -1
  335. package/esm/plugin/Timeline.js +3 -1
  336. package/esm/plugin/TooltipWrapper.js +12 -9
  337. package/esm/plugin/Tpl.js +21 -3
  338. package/esm/plugin/Video.js +3 -1
  339. package/esm/plugin/WebComponent.js +3 -1
  340. package/esm/plugin/Wizard.js +3 -1
  341. package/esm/plugin/Wrapper.js +3 -1
  342. package/esm/plugin/index.d.ts +2 -1
  343. package/esm/renderer/APIAdaptorControl.d.ts +14 -0
  344. package/esm/renderer/APIAdaptorControl.js +26 -40
  345. package/esm/renderer/APIControl.js +12 -2
  346. package/esm/renderer/ActionApiControl.d.ts +6 -0
  347. package/esm/renderer/BadgeControl.d.ts +6 -6
  348. package/esm/renderer/BadgeControl.js +3 -1
  349. package/esm/renderer/ButtonGroupControl.js +3 -1
  350. package/esm/renderer/DataBindingControl.d.ts +1 -1
  351. package/esm/renderer/DataBindingControl.js +3 -1
  352. package/esm/renderer/DataMappingControl.js +3 -1
  353. package/esm/renderer/DataPickerControl.js +3 -1
  354. package/esm/renderer/DateShortCutControl.d.ts +1 -0
  355. package/esm/renderer/DateShortCutControl.js +9 -5
  356. package/esm/renderer/ExpressionFormulaControl.js +3 -1
  357. package/esm/renderer/FeatureControl.d.ts +17 -4
  358. package/esm/renderer/FeatureControl.js +73 -12
  359. package/esm/renderer/FieldSetting.d.ts +66 -0
  360. package/esm/renderer/FieldSetting.js +492 -0
  361. package/esm/renderer/FlexSettingControl.js +3 -1
  362. package/esm/renderer/FormulaControl.d.ts +6 -1
  363. package/esm/renderer/FormulaControl.js +24 -7
  364. package/esm/renderer/FunctionEditorControl.d.ts +79 -0
  365. package/esm/renderer/FunctionEditorControl.js +107 -0
  366. package/esm/renderer/GoConfigControl.js +3 -1
  367. package/esm/renderer/InputRangeValueControl.d.ts +15 -0
  368. package/esm/renderer/InputRangeValueControl.js +121 -0
  369. package/esm/renderer/MapSourceControl.js +3 -1
  370. package/esm/renderer/NavBadgeControl.d.ts +6 -6
  371. package/esm/renderer/NavBadgeControl.js +3 -1
  372. package/esm/renderer/NavDefaultActive.js +3 -1
  373. package/esm/renderer/NavSourceControl.js +3 -1
  374. package/esm/renderer/OptionControl.d.ts +2 -0
  375. package/esm/renderer/OptionControl.js +35 -23
  376. package/esm/renderer/RangePartsControl.js +3 -1
  377. package/esm/renderer/StatusControl.js +3 -1
  378. package/esm/renderer/SwitchMoreControl.d.ts +6 -0
  379. package/esm/renderer/SwitchMoreControl.js +14 -2
  380. package/esm/renderer/TableColumnWidthControl.d.ts +29 -0
  381. package/esm/renderer/TableColumnWidthControl.js +177 -0
  382. package/esm/renderer/TimelineItemControl.js +3 -1
  383. package/esm/renderer/TplFormulaControl.js +3 -1
  384. package/esm/renderer/TransferTableControl.js +3 -1
  385. package/esm/renderer/TreeOptionControl.d.ts +1 -1
  386. package/esm/renderer/TreeOptionControl.js +8 -6
  387. package/esm/renderer/ValidationControl.js +3 -1
  388. package/esm/renderer/ValidationItem.js +3 -1
  389. package/esm/renderer/crud2-control/AddColumnModal.d.ts +6 -0
  390. package/esm/renderer/crud2-control/AddColumnModal.js +256 -0
  391. package/esm/renderer/crud2-control/CRUDColumnControl.d.ts +68 -0
  392. package/esm/renderer/crud2-control/CRUDColumnControl.js +473 -0
  393. package/esm/renderer/crud2-control/CRUDFiltersControl.d.ts +53 -0
  394. package/esm/renderer/crud2-control/CRUDFiltersControl.js +691 -0
  395. package/esm/renderer/crud2-control/CRUDToolbarControl.d.ts +49 -0
  396. package/esm/renderer/crud2-control/CRUDToolbarControl.js +417 -0
  397. package/esm/renderer/event-control/action-config-dialog.d.ts +1 -1
  398. package/esm/renderer/event-control/action-config-dialog.js +4 -2
  399. package/esm/renderer/event-control/action-config-panel.js +3 -1
  400. package/esm/renderer/event-control/comp-action-select.js +3 -1
  401. package/esm/renderer/event-control/helper.d.ts +2 -1
  402. package/esm/renderer/event-control/helper.js +170 -117
  403. package/esm/renderer/event-control/index.d.ts +26 -17
  404. package/esm/renderer/event-control/index.js +114 -22
  405. package/esm/renderer/style-control/Background.js +3 -1
  406. package/esm/renderer/style-control/Border.js +3 -1
  407. package/esm/renderer/style-control/BoxModel.js +3 -1
  408. package/esm/renderer/style-control/BoxShadow.js +3 -1
  409. package/esm/renderer/style-control/Display.js +3 -1
  410. package/esm/renderer/style-control/Font.js +3 -1
  411. package/esm/renderer/style-control/InsetBoxModel.js +3 -1
  412. package/esm/renderer/style-control/ThemeCssCode.js +132 -281
  413. package/esm/renderer/style-control/font-family.js +3 -1
  414. package/esm/renderer/style-control/helper.js +3 -1
  415. package/esm/renderer/style-control/transformation.js +3 -1
  416. package/esm/renderer/textarea-formula/FormulaPicker.js +3 -1
  417. package/esm/renderer/textarea-formula/TextareaFormulaControl.d.ts +2 -0
  418. package/esm/renderer/textarea-formula/TextareaFormulaControl.js +76 -7
  419. package/esm/renderer/textarea-formula/plugin.js +5 -3
  420. package/esm/tpl/api.js +15 -10
  421. package/esm/tpl/common.js +53 -35
  422. package/esm/tpl/horizontal.js +3 -1
  423. package/esm/tpl/layout.js +9 -6
  424. package/esm/tpl/options.d.ts +10 -1
  425. package/esm/tpl/options.js +249 -10
  426. package/esm/tpl/remark.js +3 -1
  427. package/esm/tpl/style.js +99 -60
  428. package/esm/tpl/validations.js +3 -1
  429. package/esm/util.d.ts +8 -0
  430. package/esm/util.js +21 -3
  431. package/esm/validator.js +3 -1
  432. package/lib/builder/ApiDSBuilder.d.ts +491 -0
  433. package/lib/builder/ApiDSBuilder.js +1226 -0
  434. package/lib/builder/DSBuilder.d.ts +171 -0
  435. package/lib/builder/DSBuilder.js +55 -0
  436. package/lib/builder/DSBuilderManager.d.ts +62 -0
  437. package/lib/builder/DSBuilderManager.js +211 -0
  438. package/lib/builder/constants.d.ts +97 -0
  439. package/lib/builder/constants.js +144 -0
  440. package/lib/builder/index.d.ts +6 -0
  441. package/lib/builder/type.d.ts +96 -0
  442. package/lib/builder/utils.d.ts +10 -0
  443. package/lib/builder/utils.js +104 -0
  444. package/lib/component/BaseControl.js +5 -3
  445. package/lib/component/InputComponentName.js +3 -1
  446. package/lib/component/TableViewEditor.js +3 -1
  447. package/lib/icons/btn/btn-group.svg.js +3 -1
  448. package/lib/icons/btn/btn-select.svg.js +3 -1
  449. package/lib/icons/btn/btn-toolbar.svg.js +3 -1
  450. package/lib/icons/btn/button.svg.js +3 -1
  451. package/lib/icons/btn/dropdown-btn.svg.js +3 -1
  452. package/lib/icons/container/anchor-nav.svg.js +3 -1
  453. package/lib/icons/container/collapse.svg.js +3 -1
  454. package/lib/icons/container/container.svg.js +3 -1
  455. package/lib/icons/container/flex-container.svg.js +3 -1
  456. package/lib/icons/container/form-group.svg.js +3 -1
  457. package/lib/icons/container/grid.svg.js +3 -1
  458. package/lib/icons/container/iframe.svg.js +3 -1
  459. package/lib/icons/container/panel.svg.js +3 -1
  460. package/lib/icons/container/table-view.svg.js +3 -1
  461. package/lib/icons/container/tabs.svg.js +3 -1
  462. package/lib/icons/container/tooltip-wrapper.svg.js +3 -1
  463. package/lib/icons/container/web-component.svg.js +3 -1
  464. package/lib/icons/crud/column-add.svg.js +50 -0
  465. package/lib/icons/crud/column-delete.svg.js +48 -0
  466. package/lib/icons/crud/column-setting.svg.js +48 -0
  467. package/lib/icons/crud/share-link.svg.js +46 -0
  468. package/lib/icons/display/aBaseline.svg.js +3 -1
  469. package/lib/icons/display/aCenter.svg.js +3 -1
  470. package/lib/icons/display/aFlexEnd.svg.js +3 -1
  471. package/lib/icons/display/aFlexStart.svg.js +3 -1
  472. package/lib/icons/display/aStretch.svg.js +3 -1
  473. package/lib/icons/display/block.svg.js +3 -1
  474. package/lib/icons/display/dcolumn.svg.js +3 -1
  475. package/lib/icons/display/dcolumnReverse.svg.js +3 -1
  476. package/lib/icons/display/drow.svg.js +3 -1
  477. package/lib/icons/display/drowReverse.svg.js +3 -1
  478. package/lib/icons/display/flex.svg.js +3 -1
  479. package/lib/icons/display/inline-block.svg.js +3 -1
  480. package/lib/icons/display/inline.svg.js +3 -1
  481. package/lib/icons/display/jCenter.svg.js +3 -1
  482. package/lib/icons/display/jFlexEnd.svg.js +3 -1
  483. package/lib/icons/display/jFlexStart.svg.js +3 -1
  484. package/lib/icons/display/jSpaceAround.svg.js +3 -1
  485. package/lib/icons/display/jSpaceBetween.svg.js +3 -1
  486. package/lib/icons/feat/audio.svg.js +3 -1
  487. package/lib/icons/feat/custom.svg.js +3 -1
  488. package/lib/icons/feat/each.svg.js +3 -1
  489. package/lib/icons/feat/form.svg.js +3 -1
  490. package/lib/icons/feat/nav.svg.js +3 -1
  491. package/lib/icons/feat/qrcode.svg.js +3 -1
  492. package/lib/icons/feat/service.svg.js +3 -1
  493. package/lib/icons/feat/table.svg.js +3 -1
  494. package/lib/icons/feat/tasks.svg.js +3 -1
  495. package/lib/icons/feat/video.svg.js +3 -1
  496. package/lib/icons/feat/wizard.svg.js +3 -1
  497. package/lib/icons/form/chained-select.svg.js +3 -1
  498. package/lib/icons/form/checkbox.svg.js +3 -1
  499. package/lib/icons/form/checkboxes.svg.js +3 -1
  500. package/lib/icons/form/combo.svg.js +3 -1
  501. package/lib/icons/form/condition-builder.svg.js +3 -1
  502. package/lib/icons/form/diff-editor.svg.js +3 -1
  503. package/lib/icons/form/editor.svg.js +3 -1
  504. package/lib/icons/form/formula.svg.js +3 -1
  505. package/lib/icons/form/hidden.svg.js +3 -1
  506. package/lib/icons/form/input-city.svg.js +3 -1
  507. package/lib/icons/form/input-color.svg.js +3 -1
  508. package/lib/icons/form/input-date-range.svg.js +3 -1
  509. package/lib/icons/form/input-date.svg.js +3 -1
  510. package/lib/icons/form/input-datetime.svg.js +3 -1
  511. package/lib/icons/form/input-email.svg.js +3 -1
  512. package/lib/icons/form/input-excel.svg.js +3 -1
  513. package/lib/icons/form/input-file.svg.js +3 -1
  514. package/lib/icons/form/input-group.svg.js +3 -1
  515. package/lib/icons/form/input-image.svg.js +3 -1
  516. package/lib/icons/form/input-kv.svg.js +3 -1
  517. package/lib/icons/form/input-month-range.svg.js +3 -1
  518. package/lib/icons/form/input-number.svg.js +3 -1
  519. package/lib/icons/form/input-password.svg.js +3 -1
  520. package/lib/icons/form/input-quarter-range.svg.js +3 -1
  521. package/lib/icons/form/input-range.svg.js +3 -1
  522. package/lib/icons/form/input-rating.svg.js +3 -1
  523. package/lib/icons/form/input-repeat.svg.js +3 -1
  524. package/lib/icons/form/input-rich-text.svg.js +3 -1
  525. package/lib/icons/form/input-tag.svg.js +3 -1
  526. package/lib/icons/form/input-text.svg.js +3 -1
  527. package/lib/icons/form/input-time-range.svg.js +3 -1
  528. package/lib/icons/form/input-time.svg.js +3 -1
  529. package/lib/icons/form/input-tree.svg.js +3 -1
  530. package/lib/icons/form/input-url.svg.js +3 -1
  531. package/lib/icons/form/input-year.svg.js +3 -1
  532. package/lib/icons/form/inputArray.svg.js +3 -1
  533. package/lib/icons/form/list-select.svg.js +3 -1
  534. package/lib/icons/form/location-picker.svg.js +3 -1
  535. package/lib/icons/form/matrix-checkboxes.svg.js +3 -1
  536. package/lib/icons/form/month.svg.js +3 -1
  537. package/lib/icons/form/nested-select.svg.js +3 -1
  538. package/lib/icons/form/picker.svg.js +3 -1
  539. package/lib/icons/form/quarter.svg.js +3 -1
  540. package/lib/icons/form/radios.svg.js +3 -1
  541. package/lib/icons/form/select.svg.js +3 -1
  542. package/lib/icons/form/static.svg.js +3 -1
  543. package/lib/icons/form/sub-form.svg.js +3 -1
  544. package/lib/icons/form/switch.svg.js +3 -1
  545. package/lib/icons/form/tabs-transfer.svg.js +3 -1
  546. package/lib/icons/form/textarea.svg.js +3 -1
  547. package/lib/icons/form/transfer.svg.js +3 -1
  548. package/lib/icons/form/tree-select.svg.js +3 -1
  549. package/lib/icons/form/uuid.svg.js +3 -1
  550. package/lib/icons/index.js +12 -1
  551. package/lib/icons/layout/layout-1with2.svg.js +3 -1
  552. package/lib/icons/layout/layout-2cols.svg.js +3 -1
  553. package/lib/icons/layout/layout-2row.svg.js +3 -1
  554. package/lib/icons/layout/layout-2with1.svg.js +3 -1
  555. package/lib/icons/layout/layout-3cols.svg.js +3 -1
  556. package/lib/icons/layout/layout-3row.svg.js +3 -1
  557. package/lib/icons/layout/layout-absolute.svg.js +3 -1
  558. package/lib/icons/layout/layout-fixed-top.svg.js +3 -1
  559. package/lib/icons/layout/layout-fixed.svg.js +3 -1
  560. package/lib/icons/layout/layout-free-container.svg.js +3 -1
  561. package/lib/icons/layout/layout-full.svg.js +3 -1
  562. package/lib/icons/layout/layout1-2.svg.js +3 -1
  563. package/lib/icons/layout/layout2-1.svg.js +3 -1
  564. package/lib/icons/layout/layout3-1.svg.js +3 -1
  565. package/lib/icons/layout/layout3-2.svg.js +3 -1
  566. package/lib/icons/other/_fx.svg.js +3 -1
  567. package/lib/icons/other/divider.svg.js +3 -1
  568. package/lib/icons/other/fx.svg.js +3 -1
  569. package/lib/icons/other/property-sheet.svg.js +3 -1
  570. package/lib/icons/other/tooltip.svg.js +3 -1
  571. package/lib/icons/show/URL.svg.js +3 -1
  572. package/lib/icons/show/avatar.svg.js +3 -1
  573. package/lib/icons/show/breadcrumb.svg.js +3 -1
  574. package/lib/icons/show/card.svg.js +3 -1
  575. package/lib/icons/show/cards.svg.js +3 -1
  576. package/lib/icons/show/carousel.svg.js +3 -1
  577. package/lib/icons/show/chart.svg.js +3 -1
  578. package/lib/icons/show/code.svg.js +3 -1
  579. package/lib/icons/show/date.svg.js +3 -1
  580. package/lib/icons/show/datetime.svg.js +3 -1
  581. package/lib/icons/show/image.svg.js +3 -1
  582. package/lib/icons/show/images.svg.js +3 -1
  583. package/lib/icons/show/json-view.svg.js +3 -1
  584. package/lib/icons/show/list.svg.js +3 -1
  585. package/lib/icons/show/log.svg.js +3 -1
  586. package/lib/icons/show/mapping.svg.js +3 -1
  587. package/lib/icons/show/markdown.svg.js +3 -1
  588. package/lib/icons/show/plain.svg.js +3 -1
  589. package/lib/icons/show/progress.svg.js +3 -1
  590. package/lib/icons/show/sparkline.svg.js +3 -1
  591. package/lib/icons/show/status.svg.js +3 -1
  592. package/lib/icons/show/steps.svg.js +3 -1
  593. package/lib/icons/show/time.svg.js +3 -1
  594. package/lib/icons/theme/css.svg.js +3 -1
  595. package/lib/index.d.ts +8 -0
  596. package/lib/index.js +47 -6
  597. package/lib/locale/en-US.js +241 -19
  598. package/lib/locale/zh-CN.js +235 -7
  599. package/lib/plugin/Alert.js +3 -1
  600. package/lib/plugin/AnchorNav.js +3 -1
  601. package/lib/plugin/Audio.js +3 -1
  602. package/lib/plugin/Avatar.js +3 -1
  603. package/lib/plugin/Breadcrumb.js +3 -1
  604. package/lib/plugin/Button.js +5 -3
  605. package/lib/plugin/ButtonGroup.js +3 -1
  606. package/lib/plugin/CRUD.js +3 -1
  607. package/lib/plugin/CRUD2/BaseCRUD.d.ts +233 -0
  608. package/lib/plugin/CRUD2/BaseCRUD.js +1060 -0
  609. package/lib/plugin/CRUD2/CRUDCards.d.ts +53 -0
  610. package/lib/plugin/CRUD2/CRUDList.d.ts +53 -0
  611. package/lib/plugin/CRUD2/CRUDTable.d.ts +21 -0
  612. package/lib/plugin/CRUD2/CRUDTable.js +52 -0
  613. package/lib/plugin/CRUD2/constants.d.ts +32 -0
  614. package/lib/plugin/CRUD2/constants.js +81 -0
  615. package/lib/plugin/CRUD2/utils.d.ts +8 -0
  616. package/lib/plugin/CRUD2/utils.js +103 -0
  617. package/lib/plugin/Card.js +3 -1
  618. package/lib/plugin/Card2.js +3 -1
  619. package/lib/plugin/Cards.d.ts +547 -41
  620. package/lib/plugin/Cards.js +365 -167
  621. package/lib/plugin/Carousel.js +120 -97
  622. package/lib/plugin/Chart.js +17 -5
  623. package/lib/plugin/CodeView.js +3 -1
  624. package/lib/plugin/Collapse.d.ts +2 -1
  625. package/lib/plugin/Collapse.js +50 -1
  626. package/lib/plugin/CollapseGroup.js +3 -1
  627. package/lib/plugin/ColumnToggler.d.ts +11 -6
  628. package/lib/plugin/ColumnToggler.js +72 -9
  629. package/lib/plugin/Container.d.ts +2 -0
  630. package/lib/plugin/Container.js +8 -8
  631. package/lib/plugin/Custom.js +3 -1
  632. package/lib/plugin/CustomRegion.js +5 -2
  633. package/lib/plugin/Date.js +3 -1
  634. package/lib/plugin/Datetime.js +3 -1
  635. package/lib/plugin/Dialog.d.ts +13 -1
  636. package/lib/plugin/Dialog.js +184 -53
  637. package/lib/plugin/Divider.js +72 -6
  638. package/lib/plugin/Drawer.js +125 -76
  639. package/lib/plugin/DropDownButton.js +3 -1
  640. package/lib/plugin/Each.d.ts +226 -11
  641. package/lib/plugin/Each.js +234 -89
  642. package/lib/plugin/Flex.js +3 -1
  643. package/lib/plugin/Form/ButtonGroupSelect.js +25 -23
  644. package/lib/plugin/Form/ButtonToolbar.js +3 -1
  645. package/lib/plugin/Form/ChainedSelect.js +21 -19
  646. package/lib/plugin/Form/Checkbox.js +55 -12
  647. package/lib/plugin/Form/Checkboxes.js +33 -42
  648. package/lib/plugin/Form/CodeEditor.js +3 -1
  649. package/lib/plugin/Form/Combo.d.ts +3 -2
  650. package/lib/plugin/Form/Combo.js +8 -5
  651. package/lib/plugin/Form/ConditionBuilder.js +3 -1
  652. package/lib/plugin/Form/Control.js +3 -1
  653. package/lib/plugin/Form/DiffEditor.js +3 -1
  654. package/lib/plugin/Form/FieldSet.js +3 -1
  655. package/lib/plugin/Form/Form.d.ts +32 -8
  656. package/lib/plugin/Form/Form.js +598 -440
  657. package/lib/plugin/Form/Formula.js +3 -1
  658. package/lib/plugin/Form/Group.js +3 -1
  659. package/lib/plugin/Form/Hidden.js +3 -1
  660. package/lib/plugin/Form/InputArray.js +3 -1
  661. package/lib/plugin/Form/InputCity.js +6 -2
  662. package/lib/plugin/Form/InputColor.js +3 -1
  663. package/lib/plugin/Form/InputDate.js +29 -43
  664. package/lib/plugin/Form/InputDateRange.js +41 -30
  665. package/lib/plugin/Form/InputDateTime.js +3 -1
  666. package/lib/plugin/Form/InputDateTimeRange.js +3 -1
  667. package/lib/plugin/Form/InputEmail.js +3 -1
  668. package/lib/plugin/Form/InputExcel.js +3 -1
  669. package/lib/plugin/Form/InputFile.js +8 -2
  670. package/lib/plugin/Form/InputGroup.d.ts +1 -0
  671. package/lib/plugin/Form/InputGroup.js +3 -1
  672. package/lib/plugin/Form/InputImage.js +12 -6
  673. package/lib/plugin/Form/InputKV.js +3 -1
  674. package/lib/plugin/Form/InputMonth.js +3 -1
  675. package/lib/plugin/Form/InputMonthRange.js +3 -1
  676. package/lib/plugin/Form/InputNumber.js +3 -1
  677. package/lib/plugin/Form/InputPassword.js +3 -1
  678. package/lib/plugin/Form/InputQuarter.js +3 -1
  679. package/lib/plugin/Form/InputQuarterRange.js +3 -1
  680. package/lib/plugin/Form/InputRange.js +23 -35
  681. package/lib/plugin/Form/InputRating.js +3 -1
  682. package/lib/plugin/Form/InputRepeat.js +3 -1
  683. package/lib/plugin/Form/InputRichText.js +3 -1
  684. package/lib/plugin/Form/InputSubForm.js +3 -1
  685. package/lib/plugin/Form/InputTable.d.ts +3 -2
  686. package/lib/plugin/Form/InputTable.js +12 -7
  687. package/lib/plugin/Form/InputTag.d.ts +4 -1
  688. package/lib/plugin/Form/InputTag.js +33 -22
  689. package/lib/plugin/Form/InputText.js +23 -23
  690. package/lib/plugin/Form/InputTime.js +3 -1
  691. package/lib/plugin/Form/InputTimeRange.js +3 -1
  692. package/lib/plugin/Form/InputTree.js +69 -54
  693. package/lib/plugin/Form/InputURL.js +3 -1
  694. package/lib/plugin/Form/InputYear.js +3 -1
  695. package/lib/plugin/Form/InputYearRange.js +3 -1
  696. package/lib/plugin/Form/Item.js +3 -1
  697. package/lib/plugin/Form/ListSelect.js +25 -23
  698. package/lib/plugin/Form/LocationPicker.js +3 -1
  699. package/lib/plugin/Form/MatrixCheckboxes.js +3 -1
  700. package/lib/plugin/Form/NestedSelect.js +25 -23
  701. package/lib/plugin/Form/Picker.js +22 -22
  702. package/lib/plugin/Form/Radios.js +20 -18
  703. package/lib/plugin/Form/Select.d.ts +8 -8
  704. package/lib/plugin/Form/Select.js +41 -72
  705. package/lib/plugin/Form/Static.js +3 -1
  706. package/lib/plugin/Form/Switch.js +3 -1
  707. package/lib/plugin/Form/TabsTransfer.d.ts +2 -3
  708. package/lib/plugin/Form/TabsTransfer.js +58 -44
  709. package/lib/plugin/Form/Textarea.js +3 -1
  710. package/lib/plugin/Form/Transfer.js +25 -23
  711. package/lib/plugin/Form/TreeSelect.js +59 -51
  712. package/lib/plugin/Form/UUID.js +3 -1
  713. package/lib/plugin/Grid.js +3 -1
  714. package/lib/plugin/HBox.js +3 -1
  715. package/lib/plugin/IFrame.js +3 -1
  716. package/lib/plugin/Icon.js +5 -3
  717. package/lib/plugin/Image.js +54 -31
  718. package/lib/plugin/Images.js +22 -10
  719. package/lib/plugin/Json.js +3 -1
  720. package/lib/plugin/Layout/FlexPluginBase.js +14 -15
  721. package/lib/plugin/Layout/Layout_fixed.js +3 -1
  722. package/lib/plugin/Layout/Layout_free_container.js +3 -1
  723. package/lib/plugin/Layout/Layout_sorption_container.js +3 -1
  724. package/lib/plugin/Link.js +17 -5
  725. package/lib/plugin/List.d.ts +5 -0
  726. package/lib/plugin/List.js +54 -17
  727. package/lib/plugin/List2.d.ts +545 -0
  728. package/lib/plugin/List2.js +388 -0
  729. package/lib/plugin/ListItem.js +3 -1
  730. package/lib/plugin/Log.js +3 -1
  731. package/lib/plugin/Mapping.js +3 -1
  732. package/lib/plugin/Markdown.js +3 -1
  733. package/lib/plugin/Nav.js +3 -1
  734. package/lib/plugin/OfficeViewer.js +3 -1
  735. package/lib/plugin/Operation.js +3 -2
  736. package/lib/plugin/Others/Action.js +3 -1
  737. package/lib/plugin/Others/TableCell.js +3 -1
  738. package/lib/plugin/Page.js +27 -2
  739. package/lib/plugin/Pagination.d.ts +0 -1
  740. package/lib/plugin/Pagination.js +38 -18
  741. package/lib/plugin/Panel.js +3 -1
  742. package/lib/plugin/Plain.js +3 -1
  743. package/lib/plugin/Progress.js +3 -1
  744. package/lib/plugin/Property.js +3 -1
  745. package/lib/plugin/QRCode.js +3 -1
  746. package/lib/plugin/Reset.js +3 -1
  747. package/lib/plugin/SearchBox.d.ts +3 -1
  748. package/lib/plugin/SearchBox.js +14 -1
  749. package/lib/plugin/Service.d.ts +19 -13
  750. package/lib/plugin/Service.js +167 -89
  751. package/lib/plugin/Sparkline.js +5 -6
  752. package/lib/plugin/Status.js +3 -1
  753. package/lib/plugin/Steps.js +3 -1
  754. package/lib/plugin/Submit.js +3 -1
  755. package/lib/plugin/Table.d.ts +9 -0
  756. package/lib/plugin/Table.js +53 -4
  757. package/lib/plugin/Table2.d.ts +24 -10
  758. package/lib/plugin/Table2.js +672 -418
  759. package/lib/plugin/TableCell2.d.ts +14 -2
  760. package/lib/plugin/TableCell2.js +509 -363
  761. package/lib/plugin/TableView.js +3 -1
  762. package/lib/plugin/Tabs.js +3 -1
  763. package/lib/plugin/Tag.js +10 -2
  764. package/lib/plugin/Tasks.js +3 -1
  765. package/lib/plugin/Time.js +3 -1
  766. package/lib/plugin/Timeline.js +3 -1
  767. package/lib/plugin/TooltipWrapper.js +12 -9
  768. package/lib/plugin/Tpl.js +21 -3
  769. package/lib/plugin/Video.js +3 -1
  770. package/lib/plugin/WebComponent.js +3 -1
  771. package/lib/plugin/Wizard.js +3 -1
  772. package/lib/plugin/Wrapper.js +3 -1
  773. package/lib/plugin/index.d.ts +2 -1
  774. package/lib/renderer/APIAdaptorControl.d.ts +14 -0
  775. package/lib/renderer/APIAdaptorControl.js +27 -39
  776. package/lib/renderer/APIControl.js +12 -2
  777. package/lib/renderer/ActionApiControl.d.ts +6 -0
  778. package/lib/renderer/BadgeControl.d.ts +6 -6
  779. package/lib/renderer/BadgeControl.js +3 -1
  780. package/lib/renderer/ButtonGroupControl.js +3 -1
  781. package/lib/renderer/DataBindingControl.d.ts +1 -1
  782. package/lib/renderer/DataBindingControl.js +3 -1
  783. package/lib/renderer/DataMappingControl.js +3 -1
  784. package/lib/renderer/DataPickerControl.js +3 -1
  785. package/lib/renderer/DateShortCutControl.d.ts +1 -0
  786. package/lib/renderer/DateShortCutControl.js +9 -5
  787. package/lib/renderer/ExpressionFormulaControl.js +3 -1
  788. package/lib/renderer/FeatureControl.d.ts +17 -4
  789. package/lib/renderer/FeatureControl.js +75 -13
  790. package/lib/renderer/FieldSetting.d.ts +66 -0
  791. package/lib/renderer/FieldSetting.js +503 -0
  792. package/lib/renderer/FlexSettingControl.js +3 -1
  793. package/lib/renderer/FormulaControl.d.ts +6 -1
  794. package/lib/renderer/FormulaControl.js +23 -6
  795. package/lib/renderer/FunctionEditorControl.d.ts +79 -0
  796. package/lib/renderer/FunctionEditorControl.js +115 -0
  797. package/lib/renderer/GoConfigControl.js +3 -1
  798. package/lib/renderer/InputRangeValueControl.d.ts +15 -0
  799. package/lib/renderer/InputRangeValueControl.js +127 -0
  800. package/lib/renderer/MapSourceControl.js +3 -1
  801. package/lib/renderer/NavBadgeControl.d.ts +6 -6
  802. package/lib/renderer/NavBadgeControl.js +3 -1
  803. package/lib/renderer/NavDefaultActive.js +3 -1
  804. package/lib/renderer/NavSourceControl.js +3 -1
  805. package/lib/renderer/OptionControl.d.ts +2 -0
  806. package/lib/renderer/OptionControl.js +35 -23
  807. package/lib/renderer/RangePartsControl.js +3 -1
  808. package/lib/renderer/StatusControl.js +3 -1
  809. package/lib/renderer/SwitchMoreControl.d.ts +6 -0
  810. package/lib/renderer/SwitchMoreControl.js +14 -2
  811. package/lib/renderer/TableColumnWidthControl.d.ts +29 -0
  812. package/lib/renderer/TableColumnWidthControl.js +186 -0
  813. package/lib/renderer/TimelineItemControl.js +3 -1
  814. package/lib/renderer/TplFormulaControl.js +3 -1
  815. package/lib/renderer/TransferTableControl.js +3 -1
  816. package/lib/renderer/TreeOptionControl.d.ts +1 -1
  817. package/lib/renderer/TreeOptionControl.js +8 -6
  818. package/lib/renderer/ValidationControl.js +3 -1
  819. package/lib/renderer/ValidationItem.js +3 -1
  820. package/lib/renderer/crud2-control/AddColumnModal.d.ts +6 -0
  821. package/lib/renderer/crud2-control/AddColumnModal.js +265 -0
  822. package/lib/renderer/crud2-control/CRUDColumnControl.d.ts +68 -0
  823. package/lib/renderer/crud2-control/CRUDColumnControl.js +482 -0
  824. package/lib/renderer/crud2-control/CRUDFiltersControl.d.ts +53 -0
  825. package/lib/renderer/crud2-control/CRUDFiltersControl.js +701 -0
  826. package/lib/renderer/crud2-control/CRUDToolbarControl.d.ts +49 -0
  827. package/lib/renderer/crud2-control/CRUDToolbarControl.js +426 -0
  828. package/lib/renderer/event-control/action-config-dialog.d.ts +1 -1
  829. package/lib/renderer/event-control/action-config-dialog.js +4 -2
  830. package/lib/renderer/event-control/action-config-panel.js +3 -1
  831. package/lib/renderer/event-control/comp-action-select.js +3 -1
  832. package/lib/renderer/event-control/helper.d.ts +2 -1
  833. package/lib/renderer/event-control/helper.js +168 -115
  834. package/lib/renderer/event-control/index.d.ts +26 -17
  835. package/lib/renderer/event-control/index.js +114 -22
  836. package/lib/renderer/style-control/Background.js +3 -1
  837. package/lib/renderer/style-control/Border.js +3 -1
  838. package/lib/renderer/style-control/BoxModel.js +3 -1
  839. package/lib/renderer/style-control/BoxShadow.js +3 -1
  840. package/lib/renderer/style-control/Display.js +3 -1
  841. package/lib/renderer/style-control/Font.js +3 -1
  842. package/lib/renderer/style-control/InsetBoxModel.js +3 -1
  843. package/lib/renderer/style-control/ThemeCssCode.js +131 -280
  844. package/lib/renderer/style-control/font-family.js +3 -1
  845. package/lib/renderer/style-control/helper.js +3 -1
  846. package/lib/renderer/style-control/transformation.js +3 -1
  847. package/lib/renderer/textarea-formula/FormulaPicker.js +3 -1
  848. package/lib/renderer/textarea-formula/TextareaFormulaControl.d.ts +2 -0
  849. package/lib/renderer/textarea-formula/TextareaFormulaControl.js +75 -6
  850. package/lib/renderer/textarea-formula/plugin.js +5 -3
  851. package/lib/tpl/api.js +14 -9
  852. package/lib/tpl/common.js +52 -34
  853. package/lib/tpl/horizontal.js +3 -1
  854. package/lib/tpl/layout.js +10 -6
  855. package/lib/tpl/options.d.ts +10 -1
  856. package/lib/tpl/options.js +249 -9
  857. package/lib/tpl/remark.js +3 -1
  858. package/lib/tpl/style.js +99 -60
  859. package/lib/tpl/validations.js +3 -1
  860. package/lib/util.d.ts +8 -0
  861. package/lib/util.js +20 -1
  862. package/lib/validator.js +3 -1
  863. package/package.json +1 -1
  864. package/esm/plugin/CRUD2.d.ts +0 -78
  865. package/esm/plugin/CRUD2.js +0 -1556
  866. package/esm/renderer/style-control/themeLanguage.d.ts +0 -1
  867. package/esm/renderer/style-control/themeLanguage.js +0 -1894
  868. package/lib/plugin/CRUD2.d.ts +0 -78
  869. package/lib/plugin/CRUD2.js +0 -1572
  870. package/lib/renderer/style-control/themeLanguage.d.ts +0 -1
  871. package/lib/renderer/style-control/themeLanguage.js +0 -1902
@@ -1,111 +1,42 @@
1
1
  /**
2
- * amis-editor v5.6.0-beta.0
2
+ * amis-editor v5.5.2-beta.2
3
+ * build time: 2023-09-28
3
4
  * Copyright 2018-2023 @fex
4
5
  */
5
6
 
6
- import { __extends, __assign, __spreadArray, __read, __awaiter, __generator } from 'tslib';
7
- import { getI18nEnabled, getSchemaTpl, defaultValue, jsonToJsonSchema, JSONPipeOut, BasePlugin, registerEditorPlugin } from 'amis-editor-core';
8
- import { setVariable } from 'amis-core';
7
+ import { __extends, __spreadArray, __read, __assign, __awaiter, __generator } from 'tslib';
8
+ import cx from 'classnames';
9
+ import flatten from 'lodash/flatten';
10
+ import cloneDeep from 'lodash/cloneDeep';
11
+ import { isObject } from 'amis-core';
12
+ import { getI18nEnabled, getSchemaTpl, tipedLabel, defaultValue, jsonToJsonSchema, JSONPipeOut, BasePlugin, registerEditorPlugin } from 'amis-editor-core';
13
+ import { DSFeatureEnum, ModelDSBuilderKey, FormOperatorMap, ApiDSBuilderKey } from '../../builder/constants.js';
14
+ import 'lodash/isObjectLike';
15
+ import '../../builder/DSBuilder.js';
16
+ import { DSBuilderManager } from '../../builder/DSBuilderManager.js';
17
+ import '../../builder/ApiDSBuilder.js';
9
18
  import { getEventControlConfig } from '../../renderer/event-control/helper.js';
19
+ import { FieldSetting } from '../../renderer/FieldSetting.js';
10
20
  import { i18n } from 'i18n-runtime';
11
21
 
12
- var getFormItemOptions = function (_a) {
13
- var i18nEnabled = _a.i18nEnabled;
14
- return [{
15
- name: 'type',
16
- label: i18n("cd948961f71f87ecc72b251147d96144"),
17
- type: 'select',
18
- required: true,
19
- options: [{
20
- label: i18n("0766a6467bed7f2840871a5f0638669d"),
21
- value: 'input-text'
22
- }, {
23
- label: i18n("15d169d28cd48c97fe751e4cc92ca926"),
24
- value: 'textarea'
25
- }, {
26
- label: i18n("829abe5a8dcd0579a340d20636b59276"),
27
- value: 'group'
28
- }, {
29
- label: i18n("9597dcaf432ceba92a160d61cb1ef65f"),
30
- value: 'input-number'
31
- }, {
32
- label: i18n("9913107b19cb6012250134ff91377430"),
33
- value: 'radios'
34
- }, {
35
- label: i18n("454e60f5759903d7d3dba58e3f9bd590"),
36
- value: 'checkbox'
37
- }, {
38
- label: i18n("db98f889ce6bc235e66bd4b2a788d137"),
39
- value: 'checkboxes'
40
- }, {
41
- label: i18n("006ded9fa277cf030592021f595a07d5"),
42
- value: 'select'
43
- }, {
44
- label: i18n("a6beb974cc0b50eebd18120b8110a88b"),
45
- value: 'switch'
46
- }, {
47
- label: i18n("4ff1e74e43a3586339251494117185ad"),
48
- value: 'input-date'
49
- }, {
50
- label: i18n("b339aa87104709397ba68e7ebbc6e5ba"),
51
- value: 'input-table'
52
- }, {
53
- label: i18n("481e034e6026969aae4ce7ce7c8a7b6f"),
54
- value: 'input-file'
55
- }, {
56
- label: i18n("6bfb9bb2218ff32b6139e98bc93707c0"),
57
- value: 'input-image'
58
- }, {
59
- label: i18n("24b6d4c0892a8f3ee2a982e3ab0afe38"),
60
- value: 'input-rich-text'
61
- }]
62
- }, {
63
- name: 'label',
64
- label: i18n("fdf6f7f6497556de440fe434b721ee99"),
65
- type: i18nEnabled ? 'input-text-i18n' : 'input-text',
66
- hiddenOn: 'data.type === "group"'
67
- }, {
68
- name: 'name',
69
- label: i18n("712538d3e674792ec94feb9a5eb2cc0a"),
70
- required: true,
71
- type: 'input-text',
72
- hiddenOn: 'data.type === "group"'
73
- }];
74
- };
75
- // 自动为form中子元素(单选框、复选框)补上默认options
76
- var autoAddOptions = function (values) {
77
- var _a;
78
- if (values && (values.type === 'form' || values.type === 'group') && ((_a = values.body) === null || _a === void 0 ? void 0 : _a.length) > 0) {
79
- values.body.forEach(function (formItem) {
80
- if (formItem.type === 'radios' || formItem.type === 'checkboxes') {
81
- formItem.options = [{
82
- label: i18n("05f87b331e1c97691776d93a6598373f"),
83
- value: 'A'
84
- }, {
85
- label: i18n("f38c0a46797523b11051e35ec0f82a42"),
86
- value: 'B'
87
- }];
88
- } else if (formItem.type === 'form' || formItem.type === 'group') {
89
- autoAddOptions(formItem);
90
- }
91
- });
92
- }
93
- };
94
22
  var FormPlugin = /** @class */function (_super) {
95
23
  __extends(FormPlugin, _super);
96
- function FormPlugin() {
97
- var _this = _super !== null && _super.apply(this, arguments) || this;
24
+ function FormPlugin(manager) {
25
+ var _this = _super.call(this, manager) || this;
26
+ _this.name = i18n("eee1e2258d7ea163fec625ee44be9637");
27
+ _this.panelTitle = i18n("eee1e2258d7ea163fec625ee44be9637");
98
28
  // 关联渲染器名字
99
29
  _this.rendererName = 'form';
100
- _this.$schema = '/schemas/FormSchema.json';
101
- // 组件名称
102
- _this.name = i18n("eee1e2258d7ea163fec625ee44be9637");
103
30
  _this.isBaseComponent = true;
104
31
  _this.description = i18n("10b3d542748da2043f79395bfa2ab35f");
105
32
  _this.docLink = '/amis/zh-CN/components/form/index';
33
+ _this.$schema = '/schemas/FormSchema.json';
106
34
  _this.tags = [i18n("73721e611daaafe5c34aa9f3f901d016")];
35
+ _this.order = -900;
107
36
  _this.icon = 'fa fa-list-alt';
108
37
  _this.pluginIcon = 'form-plugin';
38
+ _this.panelIcon = 'form-plugin';
39
+ _this.panelJustify = true;
109
40
  _this.scaffold = {
110
41
  type: 'form',
111
42
  title: i18n("eee1e2258d7ea163fec625ee44be9637"),
@@ -125,11 +56,6 @@ var FormPlugin = /** @class */function (_super) {
125
56
  type: 'input-text'
126
57
  }]
127
58
  };
128
- // scaffoldForm: ScaffoldForm = {
129
- // title: '配置表单信息',
130
- // body: [getSchemaTpl('api')],
131
- // canRebuild: true
132
- // };
133
59
  // 容器配置
134
60
  _this.regions = [{
135
61
  key: 'body',
@@ -140,11 +66,10 @@ var FormPlugin = /** @class */function (_super) {
140
66
  renderMethod: 'renderBody',
141
67
  preferTag: i18n("55b45c73ae417c4dead67905b1550e85")
142
68
  }, {
143
- label: i18n("c8caf94205105bac5833ab31cc2129d7"),
69
+ label: i18n("e2b67a7f51c977887d2b3c2de2727509"),
144
70
  key: 'actions',
145
71
  preferTag: i18n("fa966345577ba81af19408f203db968f")
146
72
  }];
147
- _this.panelTitle = i18n("eee1e2258d7ea163fec625ee44be9637");
148
73
  // 事件定义
149
74
  _this.events = [{
150
75
  eventName: 'inited',
@@ -337,383 +262,576 @@ var FormPlugin = /** @class */function (_super) {
337
262
  actionType: 'setValue',
338
263
  description: i18n("0310aa5a05fe07147d8b7ef20616f659")
339
264
  }];
265
+ _this.Features = [{
266
+ label: i18n("66ab5e9f24c8f46012a25c89919fb191"),
267
+ value: DSFeatureEnum.Insert
268
+ }, {
269
+ label: i18n("95b351c86267f3aedf89520959bce689"),
270
+ value: DSFeatureEnum.Edit
271
+ }, {
272
+ label: i18n("e73cefac9d030927da1618c7b15c98c9"),
273
+ value: DSFeatureEnum.BulkEdit,
274
+ disabled: true
275
+ }, {
276
+ label: i18n("607e7a4f377fa66b0b28ce318aab841f"),
277
+ value: DSFeatureEnum.View,
278
+ disabled: true
279
+ }];
280
+ _this._dynamicControls = {};
340
281
  _this.panelBodyCreator = function (context) {
341
- var isCRUDFilter = /\/crud\/filter\/form$/.test(context.path);
342
- var isInDialog = /(?:\/|^)dialog\/.+$/.test(context.path);
343
- var i18nEnabled = getI18nEnabled();
344
- return [getSchemaTpl('tabs', [{
345
- title: i18n("22b777e6fcb613b8ba83ced9594cd07e"),
346
- body: [getSchemaTpl('layout:originPosition', {
347
- value: 'left-top'
348
- }), getSchemaTpl('title', {
349
- visibleOn: "this.wrapWithPanel !== false"
350
- }), getSchemaTpl('submitText', {
351
- pipeIn: defaultValue(i18n("939d5345ad4345dbaabe14798f6ac0f1")),
352
- visibleOn: "this.wrapWithPanel !== false && !this.actions && (!Array.isArray(this.body) || !this.body.some(function(item) {return !!~['submit','button','reset','button-group'].indexOf(item.type);}))",
353
- description: i18n("a834505b13627a2e9eb4e0a0c2746e5c")
354
- }), getSchemaTpl('switch', {
355
- name: 'autoFocus',
356
- label: i18n("cbef9ad64297efd7657d5b67b2112751"),
357
- labelRemark: {
358
- className: 'm-l-xs',
359
- trigger: 'click',
360
- rootClose: true,
361
- content: i18n("ded8caee55c05aa0f1a4e6a197c480bd"),
362
- placement: 'left'
363
- }
364
- }), getSchemaTpl('submitOnChange'), getSchemaTpl('switch', {
365
- label: i18n("c8801f299681b3080968effcb13a57fe"),
366
- name: 'preventEnterSubmit',
367
- labelRemark: {
368
- className: 'm-l-xs',
369
- trigger: 'click',
370
- rootClose: true,
371
- content: i18n("4fe8162504ae5fb955c30863d88834fa"),
372
- placement: 'left'
373
- }
374
- }), getSchemaTpl('switch', {
375
- label: i18n("6232c762a93aeb3c89cc759c06802610"),
376
- name: 'resetAfterSubmit',
377
- labelRemark: {
378
- className: 'm-l-xs',
379
- trigger: 'click',
380
- rootClose: true,
381
- content: i18n("7d61784cd115d333f01a3c0c46408a1c"),
382
- placement: 'left'
383
- }
384
- }), isCRUDFilter ? null : getSchemaTpl('switch', {
385
- label: i18n("49086a13c74f262de398e60f448ab056"),
386
- name: 'submitOnInit',
387
- labelRemark: {
388
- className: 'm-l-xs',
389
- trigger: 'click',
390
- rootClose: true,
391
- content: i18n("1babd035cabfeb997ac3eee3f938d794"),
392
- placement: 'left'
393
- }
394
- }), isInDialog ? getSchemaTpl('switch', {
395
- label: i18n("0d1fb15904862f5fd2d81d2fc8f371d6"),
396
- name: 'closeDialogOnSubmit',
397
- pipeIn: function (value) {
398
- return value !== false;
399
- }
400
- }) : null, isCRUDFilter ? null : {
401
- label: i18n("e91209a4a78c0b34c26b681b49e0681a"),
402
- name: 'target',
403
- type: 'input-text',
404
- description: i18n("4133d2c3613ece9792c90d185ec32306")
405
- }, getSchemaTpl('reload', {
406
- test: !isCRUDFilter
407
- }), isCRUDFilter ? null : {
408
- label: i18n("7653297de32f34fdec0dd0653aebf358"),
409
- name: 'redirect',
410
- type: 'input-text',
411
- description: i18n("6d00e21637c382cbd4d949b7735a2e41")
412
- }, getSchemaTpl('switch', {
413
- name: 'canAccessSuperData',
414
- label: i18n("1c5b9cb245f04413a2d888bd59442097"),
415
- pipeIn: defaultValue(true)
416
- }), getSchemaTpl('switch', {
417
- name: 'persistData',
418
- label: i18n("672b63d7523095b949f5fad233fa0cde"),
419
- pipeIn: defaultValue(false),
420
- labelRemark: {
421
- className: 'm-l-xs',
422
- trigger: 'click',
423
- rootClose: true,
424
- content: i18n("8a0544ca2f7ddaf8768ab599858315a6"),
425
- placement: 'left'
426
- }
427
- }), getSchemaTpl('switch', {
428
- name: 'clearPersistDataAfterSubmit',
429
- label: i18n("ce2457fe99197e0fe81b6fb08e3eaf0e"),
430
- pipeIn: defaultValue(false),
431
- visibleOn: 'data.persistData',
432
- labelRemark: {
433
- className: 'm-l-xs',
434
- trigger: 'click',
435
- rootClose: true,
436
- content: i18n("bc01ee1a28f980c298679610fe4d2d66"),
437
- placement: 'left'
438
- }
439
- }), {
440
- name: 'rules',
441
- label: i18n("f5e55fb88f5adc71beb0b1fff60face6"),
442
- type: 'combo',
443
- multiple: true,
444
- multiLine: true,
445
- items: [{
446
- name: 'rule',
447
- label: i18n("8101a0aec7eba32e633e3cc29f4b7ede"),
448
- type: 'input-text'
449
- }, {
450
- name: 'message',
451
- label: i18n("80ce5ea9ac2c3001e6e8ea3175ecc12d"),
452
- type: i18nEnabled ? 'input-text-i18n' : 'input-text'
453
- }]
454
- }]
455
- }, isCRUDFilter ? null : {
456
- title: i18n("54ea89b497ec3bb319c68844dfa3687f"),
457
- body: [getSchemaTpl('apiControl', {
458
- label: i18n("ff7cc75cc43c25c823d05d87cb8190b0"),
459
- description: i18n("d325cfafec323a62463af3d3da9b6ede"),
460
- sampleBuilder: function () {
461
- return i18n("057a9c2b2027a6b443741d8a0c04e4be");
462
- }
463
- // test: !this.isCRUDFilter
464
- }), getSchemaTpl('switch', {
465
- name: 'asyncApi',
466
- label: i18n("dd1b9892e274b16540aeda961437870d"),
467
- visibleOn: 'data.api',
468
- labelRemark: {
469
- trigger: 'click',
470
- rootClose: true,
471
- title: i18n("e638bd32b4342dfc7a15990a79f588ae"),
472
- content: i18n("6df230c8f18709575777172f0a9a588c"),
473
- placement: 'left'
474
- },
475
- pipeIn: function (value) {
476
- return value != null;
477
- },
478
- pipeOut: function (value) {
479
- return value ? '' : undefined;
282
+ var _a, _b, _c, _d, _e, _f;
283
+ _this.dynamicControls;
284
+ _this.dsManager.getBuilderBySchema(context.schema);
285
+ /** 是否为CRUD的过滤器表单 */
286
+ var isCRUDFilter = /\/crud\/filter\/form$/.test(context.path) || /\/crud2\/filter\/\d\/form$/.test(context.path) || /\/crud2\/filter\/form$/.test(context.path) || /body\/0\/filter$/.test(context.schemaPath);
287
+ /** 表单是否位于Dialog内 */
288
+ var isInDialog = (_b = (_a = context.path) === null || _a === void 0 ? void 0 : _a.includes) === null || _b === void 0 ? void 0 : _b.call(_a, 'dialog/');
289
+ /** 是否使用Panel包裹 */
290
+ var isWrapped = 'this.wrapWithPanel !== false';
291
+ var justifyLayout = function (left) {
292
+ if (left === void 0) {
293
+ left = 2;
294
+ }
295
+ return {
296
+ mode: 'horizontal',
297
+ horizontal: {
298
+ left: left,
299
+ justify: true
480
300
  }
481
- }), getSchemaTpl('apiControl', {
482
- name: 'asyncApi',
483
- label: i18n("daf3aec137ac74941adb1b1d3e3dd1d3"),
484
- visibleOn: 'data.asyncApi != null',
485
- description: i18n("9bf078fb5589f2c09031f1f2b5a8d2b1")
486
- }), {
487
- type: 'divider'
488
- }, getSchemaTpl('apiControl', {
489
- name: 'initApi',
490
- label: i18n("b4bc91701b86fe8543d649e97daea602"),
491
- description: i18n("258c437ef67e5ef12f3a766ff1802f85"),
492
- sampleBuilder: function () {
493
- var data = {};
494
- var schema = context === null || context === void 0 ? void 0 : context.schema;
495
- if (Array.isArray(schema === null || schema === void 0 ? void 0 : schema.body)) {
496
- schema.body.forEach(function (control) {
497
- if (control.name && !~['combo', 'input-array', 'form'].indexOf(control.type)) {
498
- setVariable(data, control.name, 'sample');
301
+ };
302
+ };
303
+ getI18nEnabled();
304
+ var schema = (_d = (_c = context === null || context === void 0 ? void 0 : context.node) === null || _c === void 0 ? void 0 : _c.schema) !== null && _d !== void 0 ? _d : context === null || context === void 0 ? void 0 : context.schema;
305
+ /** 是否是模型表单 */
306
+ var isModelForm = ((typeof (schema === null || schema === void 0 ? void 0 : schema.api) === 'string' ? schema.api : typeof ((_e = schema === null || schema === void 0 ? void 0 : schema.api) === null || _e === void 0 ? void 0 : _e.url) === 'string' ? schema.api.url : '').startsWith('model://') || (typeof (schema === null || schema === void 0 ? void 0 : schema.initApi) === 'string' ? schema.initApi : typeof ((_f = schema === null || schema === void 0 ? void 0 : schema.initApi) === null || _f === void 0 ? void 0 : _f.url) === 'string' ? schema.initApi.url : '').startsWith('model://')) && !schema.api.strategy;
307
+ /** 数据源控件 */
308
+ var generateDSControls = function () {
309
+ var dsTypeSelector = _this.dsManager.getDSSelectorSchema({
310
+ type: 'select',
311
+ label: i18n("c11322c9cc43ce3c004cf03f5ac0acd0"),
312
+ onChange: function (value, oldValue, model, form) {
313
+ if (value !== oldValue) {
314
+ var data = form.data;
315
+ Object.keys(data).forEach(function (key) {
316
+ if (/^(insert|edit|bulkEdit)Fields$/i.test(key) || /^(insert|edit|bulkEdit)Api$/i.test(key)) {
317
+ form.deleteValueByName(key);
499
318
  }
500
319
  });
320
+ form.deleteValueByName('__fields');
321
+ form.deleteValueByName('__relations');
322
+ form.deleteValueByName('initApi');
323
+ form.deleteValueByName('api');
501
324
  }
502
- return JSON.stringify({
503
- status: 0,
504
- msg: '',
505
- data: data
506
- }, null, 2);
325
+ return value;
507
326
  }
508
- }), getSchemaTpl('switch', {
509
- label: i18n("1af68c43e1780249f11b9de1eeaeb281"),
510
- name: 'interval',
511
- visibleOn: 'data.initApi',
512
- pipeIn: function (value) {
513
- return !!value;
514
- },
515
- pipeOut: function (value) {
516
- return value ? 3000 : undefined;
517
- }
518
- }), {
519
- name: 'interval',
520
- type: 'input-number',
521
- visibleOn: 'data.interval',
522
- step: 500,
523
- className: 'm-t-n-sm',
524
- description: i18n("9800f1ce2f78a23b81c8d944ebf9cce9")
525
- }, getSchemaTpl('switch', {
526
- name: 'silentPolling',
527
- label: i18n("19c5410b23fba4bbfd1a58bbd5268c9b"),
528
- visibleOn: '!!data.interval',
529
- description: i18n("04f840b0772f4b5d59954a29a76f4e7b")
530
- }), {
531
- name: 'stopAutoRefreshWhen',
532
- label: i18n("6037dae99e9446deaed45f7e408f47ab"),
533
- type: 'input-text',
534
- visibleOn: '!!data.interval',
535
- description: i18n("32e3a79e80dcf7f7304e8092dd7acc6f")
536
- }, getSchemaTpl('switch', {
537
- label: i18n("e8c46074d8432532cac25eba56bca354"),
538
- name: 'initAsyncApi',
539
- visibleOn: 'data.initApi',
540
- remark: {
541
- trigger: 'click',
542
- rootClose: true,
543
- title: i18n("e638bd32b4342dfc7a15990a79f588ae"),
544
- content: i18n("6df230c8f18709575777172f0a9a588c"),
545
- placement: 'left'
546
- },
547
- pipeIn: function (value) {
548
- return value != null;
549
- },
550
- pipeOut: function (value) {
551
- return value ? '' : undefined;
327
+ }, {
328
+ schema: context === null || context === void 0 ? void 0 : context.schema,
329
+ sourceKey: 'api',
330
+ getDefautlValue: function (key, builder) {
331
+ var schema = context === null || context === void 0 ? void 0 : context.schema;
332
+ var dsType = schema === null || schema === void 0 ? void 0 : schema.dsType;
333
+ // TODO: api和initApi可能是混合模式的场景
334
+ if (builder.match(schema, 'api') || builder.match(schema, 'initApi')) {
335
+ dsType = key;
336
+ }
337
+ return dsType;
552
338
  }
553
- }), getSchemaTpl('apiControl', {
554
- name: 'initAsyncApi',
555
- label: i18n("daf3aec137ac74941adb1b1d3e3dd1d3"),
556
- visibleOn: 'data.initAsyncApi != null',
557
- description: i18n("f63ba7e3c9d8de0b8b4f769055a36d2e")
558
- }), {
559
- type: 'divider'
560
- }, getSchemaTpl('loadingConfig', {
561
- label: i18n("5a4e41af91746f8a3905aa9f66048955")
339
+ });
340
+ /** 默认数据源类型 */
341
+ var defaultDsType = dsTypeSelector.value;
342
+ /** 数据源配置 */
343
+ var dsSettings = flatten(_this.Features.map(function (feat) {
344
+ return _this.dsManager.buildCollectionFromBuilders(function (builder, builderKey, index) {
345
+ return {
346
+ type: 'container',
347
+ className: 'form-item-gap',
348
+ visibleOn: "data.feat === '".concat(feat.value, "' && (data.dsType == null ? '").concat(builderKey, "' === '").concat(defaultDsType || ApiDSBuilderKey, "' : data.dsType === '").concat(builderKey, "')"),
349
+ body: flatten([builder.makeSourceSettingForm({
350
+ feat: feat.value,
351
+ renderer: 'form',
352
+ inScaffold: false,
353
+ sourceSettings: {
354
+ renderLabel: true,
355
+ userOrders: false
356
+ }
357
+ })])
358
+ };
359
+ });
360
+ }));
361
+ return __spreadArray([dsTypeSelector], __read(dsSettings), false);
362
+ };
363
+ return [getSchemaTpl('tabs', [{
364
+ title: i18n("24d67862f87f439db7ca957aecb77cce"),
365
+ body: getSchemaTpl('collapseGroup', [isCRUDFilter || isModelForm ? null : {
366
+ title: i18n("c11322c9cc43ce3c004cf03f5ac0acd0"),
367
+ body: __spreadArray([{
368
+ type: 'select',
369
+ name: 'feat',
370
+ label: i18n("7efcb0ce09e8842951c5cfd298b4e7ee"),
371
+ options: _this.Features,
372
+ pipeIn: function (value, formStore) {
373
+ var _a;
374
+ var feat = value;
375
+ if (!value) {
376
+ feat = ((_a = formStore === null || formStore === void 0 ? void 0 : formStore.data) === null || _a === void 0 ? void 0 : _a.initApi) != null ? DSFeatureEnum.Edit : DSFeatureEnum.Insert;
377
+ }
378
+ /** 存量数据可能未设置过feat, 需要在数据域中 set 一下 */
379
+ formStore.setValueByName('feat', feat);
380
+ return feat;
381
+ },
382
+ onChange: function (value, oldValue, model, form) {
383
+ if (value !== oldValue) {
384
+ form.setValues({
385
+ dsType: _this.dsManager.getDefaultBuilderKey(),
386
+ initApi: DSFeatureEnum.Insert === value || DSFeatureEnum.BulkEdit === value ? undefined : '',
387
+ api: undefined
388
+ });
389
+ }
390
+ }
391
+ }], __read(generateDSControls()), false)
562
392
  }, {
563
- context: context
564
- }), {
565
- type: 'divider'
566
- }, isCRUDFilter ? {
567
- name: 'messages',
568
- pipeIn: defaultValue({
569
- fetchFailed: i18n("ab94e2c30b3cf0fd11eea477f70dcbaf")
570
- }),
571
- label: i18n("b64292a1903bd969d0e3a558c334f5bf"),
572
- type: 'combo',
573
- multiLine: true,
574
- description: i18n("8a5e590f69e1ae52d86396410ceeee5a"),
575
- items: [getSchemaTpl('fetchSuccess'), getSchemaTpl('fetchFailed')]
576
- } : {
577
- name: 'messages',
578
- pipeIn: defaultValue({
579
- fetchFailed: i18n("ab94e2c30b3cf0fd11eea477f70dcbaf"),
580
- saveSuccess: i18n("3b108349b93f7c8c4e2346f8d48c092a"),
581
- saveFailed: i18n("6de920b4e4e08b261cda928d9beefab4")
393
+ title: i18n("4092ed98e9035652d4c9ca9441701ed7"),
394
+ body: [{
395
+ name: 'title',
396
+ type: 'input-text',
397
+ label: i18n("32c65d8d7431e76029678ec7bb73a5ab"),
398
+ visibleOn: isWrapped
399
+ }, getSchemaTpl('switch', {
400
+ name: 'autoFocus',
401
+ label: tipedLabel(i18n("cbef9ad64297efd7657d5b67b2112751"), i18n("ded8caee55c05aa0f1a4e6a197c480bd"))
402
+ }), {
403
+ type: 'ae-switch-more',
404
+ mode: 'normal',
405
+ name: 'persistData',
406
+ label: tipedLabel(i18n("cd8b367599d0c748e74029da8c10d295"), i18n("8a0544ca2f7ddaf8768ab599858315a6")),
407
+ hiddenOnDefault: true,
408
+ formType: 'extend',
409
+ form: {
410
+ body: [getSchemaTpl('switch', {
411
+ name: 'clearPersistDataAfterSubmit',
412
+ label: tipedLabel(i18n("09a94b2400f7f05fbf2fc37a20b097d0"), i18n("bc01ee1a28f980c298679610fe4d2d66")),
413
+ pipeIn: defaultValue(false),
414
+ visibleOn: 'data.persistData'
415
+ })]
416
+ }
417
+ }, getSchemaTpl('switch', {
418
+ name: 'canAccessSuperData',
419
+ label: tipedLabel(i18n("69445b3c5ddb606c7d51fd941e4aae10"), i18n("86f056f1cd4e25d5bd2bebddc971032b")),
420
+ pipeIn: defaultValue(true)
421
+ }), getSchemaTpl('loadingConfig', {
422
+ label: i18n("5a4e41af91746f8a3905aa9f66048955")
423
+ }, {
424
+ context: context
425
+ })]
426
+ }, {
427
+ title: i18n("5cd08fe4cd86fffe7cd23d934d4d3b32"),
428
+ body: [__assign({
429
+ name: 'submitText',
430
+ type: 'input-text',
431
+ label: tipedLabel(i18n("60ad7d0d170b973ab9cdb0b23e636704"), i18n("e59e1cb3f366d6e7012fe64748355b0a")),
432
+ pipeIn: defaultValue(i18n("939d5345ad4345dbaabe14798f6ac0f1")),
433
+ visibleOn: "".concat(isWrapped, " && !this.actions && (!Array.isArray(this.body) || !this.body.some(function(item) {return !!~['submit','button','reset','button-group'].indexOf(item.type);}))")
434
+ }, justifyLayout(4)), getSchemaTpl('switch', {
435
+ name: 'submitOnChange',
436
+ label: tipedLabel(i18n("171f7b825707ddd79175fed3f8def6cd"), i18n("6ccb7091c39a5229f7e77eff4dd44a0e"))
437
+ }), getSchemaTpl('switch', {
438
+ name: 'resetAfterSubmit',
439
+ label: tipedLabel(i18n("d3458f4ee2c2203bb51f9d138dfd0c05"), i18n("e89bb79f0a0cb4fa4693c4a5ace130f4"))
440
+ }), getSchemaTpl('switch', {
441
+ name: 'preventEnterSubmit',
442
+ label: tipedLabel(i18n("59c1b37b7ff983385a2521541cbcccf8"), i18n("794020840d754ea7fb58ea3bf4394e1a"))
582
443
  }),
583
- label: i18n("522110866c19dace2ce38336617405c2"),
584
- type: 'combo',
585
- multiLine: true,
586
- description: i18n("8a5e590f69e1ae52d86396410ceeee5a"),
587
- items: [getSchemaTpl('fetchSuccess'), getSchemaTpl('fetchFailed'), getSchemaTpl('saveSuccess'), getSchemaTpl('saveFailed'), getSchemaTpl('validateFailed')]
588
- }]
444
+ // isCRUDFilter
445
+ // ? null
446
+ // : getSchemaTpl('switch', {
447
+ // name: 'submitOnInit',
448
+ // label: tipedLabel(
449
+ // '初始化后提交一次',
450
+ // '开启后,表单初始完成便会触发一次提交'
451
+ // )
452
+ // }),
453
+ isInDialog ? getSchemaTpl('switch', {
454
+ label: i18n("87a6f142d80987db2e31569e403619f7"),
455
+ name: 'closeDialogOnSubmit',
456
+ pipeIn: function (value) {
457
+ return value !== false;
458
+ }
459
+ }) : null
460
+ // isCRUDFilter
461
+ // ? null
462
+ // : {
463
+ // label: tipedLabel(
464
+ // '提交其他组件',
465
+ // '可以通过设置此属性,把当前表单的值提交给目标组件,而不是自己来通过接口保存,请填写目标组件的 <code>name</code> 属性,多个组件请用逗号隔开。当 <code>target</code> 为 <code>window</code> 时,则把表单数据附属到地址栏。'
466
+ // ),
467
+ // name: 'target',
468
+ // type: 'input-text',
469
+ // placeholder: '请输入组件name',
470
+ // ...justifyLayout(4)
471
+ // },
472
+ // getSchemaTpl('reload', {
473
+ // test: !isCRUDFilter
474
+ // }),
475
+ // isCRUDFilter
476
+ // ? null
477
+ // : {
478
+ // type: 'ae-switch-more',
479
+ // mode: 'normal',
480
+ // label: tipedLabel(
481
+ // '提交后跳转',
482
+ // '当设置此值后,表单提交完后跳转到目标地址'
483
+ // ),
484
+ // formType: 'extend',
485
+ // form: {
486
+ // mode: 'horizontal',
487
+ // horizontal: {
488
+ // justify: true,
489
+ // left: 4
490
+ // },
491
+ // body: [
492
+ // {
493
+ // label: '跳转地址',
494
+ // name: 'redirect',
495
+ // type: 'input-text',
496
+ // placeholder: '请输入目标地址'
497
+ // }
498
+ // ]
499
+ // }
500
+ // }
501
+ ]
502
+ }, {
503
+ title: i18n("2e799a2e68a3303201d89752ae201a88"),
504
+ body: [{
505
+ name: 'rules',
506
+ label: false,
507
+ type: 'combo',
508
+ multiple: true,
509
+ multiLine: true,
510
+ subFormMode: 'horizontal',
511
+ placeholder: '',
512
+ addBtn: {
513
+ label: i18n("442781667396d6eff51113f482d89e54"),
514
+ block: true,
515
+ icon: 'fa fa-plus',
516
+ className: cx('ae-Button--enhance')
517
+ },
518
+ items: [__assign({
519
+ type: 'ae-formulaControl',
520
+ name: 'rule',
521
+ label: i18n("8101a0aec7eba32e633e3cc29f4b7ede")
522
+ }, justifyLayout(4)), __assign({
523
+ name: 'message',
524
+ label: i18n("80ce5ea9ac2c3001e6e8ea3175ecc12d"),
525
+ type: 'input-text'
526
+ }, justifyLayout(4))]
527
+ }]
528
+ }, {
529
+ title: i18n("3fea7ca76cdece641436d7ab0d02ab1b"),
530
+ body: [getSchemaTpl('disabled'), getSchemaTpl('visible'), getSchemaTpl('static')]
531
+ }, {
532
+ title: i18n("dfac151de712ab0b3618072c8a7f0a0f"),
533
+ body: [getSchemaTpl('switch', {
534
+ name: 'debug',
535
+ label: tipedLabel(i18n("85ca671c1bb6de5a15456a9692d2edf4"), i18n("585293753528cd2f74501f41fc2e2c30"))
536
+ })]
537
+ }])
589
538
  }, {
590
539
  title: i18n("afcde2611bdd13c1e65b4fb6a2f13425"),
591
- body: [getSchemaTpl('switch', {
592
- name: 'wrapWithPanel',
593
- label: i18n("02e977ba56a7ccc59c277d2d5be43ba0"),
594
- pipeIn: defaultValue(true),
595
- labelRemark: {
596
- className: 'm-l-xs',
597
- trigger: 'click',
598
- rootClose: true,
599
- content: i18n("1cb01363e2463443bc8105f544ce2736"),
600
- placement: 'left'
601
- }
602
- }), {
603
- name: 'mode',
604
- label: i18n("1fdadb49bcabfdc36a4a9e020f597f4d"),
605
- type: 'button-group-select',
606
- size: 'sm',
607
- // mode: 'inline',
608
- // className: 'block',
609
- pipeIn: defaultValue('normal', false),
610
- options: [{
611
- label: i18n("18c63459a2c069022c7790430f761214"),
612
- value: 'normal'
540
+ body: getSchemaTpl('collapseGroup', [{
541
+ title: i18n("5aefca559c5a41d10078e21e6d616825"),
542
+ body: [getSchemaTpl('formItemMode', {
543
+ isForm: true,
544
+ /** Form组件默认为normal模式 */
545
+ defaultValue: 'normal'
546
+ }), getSchemaTpl('horizontal'), {
547
+ name: 'labelAlign',
548
+ label: i18n("86ed196f63524be7775e5a01b0152793"),
549
+ type: 'button-group-select',
550
+ size: 'sm',
551
+ visibleOn: "${mode === 'horizontal'}",
552
+ pipeIn: defaultValue('right', false),
553
+ options: [{
554
+ label: i18n("413f48cc71f71083ce532a86e3efdc21"),
555
+ value: 'left'
556
+ }, {
557
+ label: i18n("fd8e9572cc6bf87653c4d8f8b8dd0db9"),
558
+ value: 'right'
559
+ }]
613
560
  }, {
614
- label: i18n("3720b9ef8053b7b8a54c7d8ace051912"),
615
- value: 'horizontal'
616
- }, {
617
- label: i18n("2dd25b8c21efbfee4a198787810d65d8"),
618
- value: 'inline'
561
+ label: i18n("eb22d47f16f92e6f621c2b9d87119303"),
562
+ name: 'columnCount',
563
+ type: 'input-number',
564
+ step: 1,
565
+ min: 0,
566
+ precision: 0,
567
+ resetValue: '',
568
+ unitOptions: [i18n("cb2f68c9c24e85d21e6b090b6e5657d8")],
569
+ pipeOut: function (value) {
570
+ if (value && typeof value === 'string') {
571
+ var count = Number.parseInt(value === null || value === void 0 ? void 0 : value.replace(/\D+/g, ''), 10);
572
+ return isNaN(count) ? undefined : count;
573
+ } else if (value && typeof value === 'number') {
574
+ return value;
575
+ } else {
576
+ return undefined;
577
+ }
578
+ }
619
579
  }]
620
580
  }, {
621
- name: 'labelAlign',
622
- label: i18n("86ed196f63524be7775e5a01b0152793"),
623
- type: 'button-group-select',
624
- size: 'sm',
625
- visibleOn: "${mode === 'horizontal'}",
626
- pipeIn: defaultValue('right', false),
627
- options: [{
628
- label: i18n("413f48cc71f71083ce532a86e3efdc21"),
629
- value: 'left'
630
- }, {
631
- label: i18n("fd8e9572cc6bf87653c4d8f8b8dd0db9"),
632
- value: 'right'
633
- }]
634
- }, getSchemaTpl('horizontal', {
635
- visibleOn: 'this.mode == "horizontal"'
636
- }), getSchemaTpl('className'), getSchemaTpl('className', {
637
- name: 'staticClassName',
638
- label: i18n("905407c57ccd033cb6bd64bfad20a8c7")
639
- }), getSchemaTpl('className', {
640
- name: 'panelClassName',
641
- visibleOn: 'this.wrapWithPanel !== false',
642
- label: i18n("57d348e83d929dd4cb3bab04debc93a5"),
643
- description: i18n("9b26fa2b5943c827eea294e79b1427fa")
644
- })]
581
+ title: i18n("0d98c74797e49d00bcc4c17c9d557a2b"),
582
+ body: [getSchemaTpl('switch', {
583
+ name: 'wrapWithPanel',
584
+ label: tipedLabel(i18n("6bde56d911167d0f47aae6bab762cd70"), i18n("1cb01363e2463443bc8105f544ce2736")),
585
+ pipeIn: defaultValue(true)
586
+ }), getSchemaTpl('switch', {
587
+ name: 'affixFooter',
588
+ label: tipedLabel(i18n("019078f52f120a70fc23d94ccd364200"), i18n("f9e5a5377c1f56f1d09ae2bc58bd2d5b")),
589
+ visibleOn: isWrapped
590
+ })]
591
+ }, /** */
592
+ getSchemaTpl('style:classNames', {
593
+ isFormItem: false,
594
+ schema: [getSchemaTpl('className', {
595
+ name: 'panelClassName',
596
+ label: 'Panel',
597
+ visibleOn: isWrapped
598
+ }), getSchemaTpl('className', {
599
+ name: 'headerClassName',
600
+ label: i18n("030c8cb75e9707285b28c4931bfeddc5"),
601
+ visibleOn: isWrapped
602
+ }), getSchemaTpl('className', {
603
+ name: 'bodyClassName',
604
+ label: i18n("132a78bdf68d6d17bde00aa807bbf032"),
605
+ visibleOn: isWrapped
606
+ }), getSchemaTpl('className', {
607
+ name: 'actionsClassName',
608
+ label: i18n("e2b67a7f51c977887d2b3c2de2727509"),
609
+ visibleOn: isWrapped
610
+ })]
611
+ })])
645
612
  }, {
646
613
  title: i18n("10b2761db5a8e089049df39675abc550"),
647
614
  className: 'p-none',
648
615
  body: [getSchemaTpl('eventControl', __assign({
649
616
  name: 'onEvent'
650
617
  }, getEventControlConfig(_this.manager, context)))]
651
- }, {
652
- title: i18n("0d98c74797e49d00bcc4c17c9d557a2b"),
653
- body: [getSchemaTpl('ref'), getSchemaTpl('name', {
654
- test: !isCRUDFilter
655
- }), getSchemaTpl('switch', {
656
- name: 'debug',
657
- label: i18n("85ca671c1bb6de5a15456a9692d2edf4"),
658
- labelRemark: i18n("f24b7483069b44490a6379be5b90f4e3")
659
- }), getSchemaTpl('disabled'), getSchemaTpl('visible'), getSchemaTpl('static')]
660
618
  }])];
661
619
  };
620
+ /** 重新构建 API */
621
+ _this.panelFormPipeOut = function (schema) {
622
+ return __awaiter(_this, void 0, void 0, function () {
623
+ var entity, builder, updatedSchema, e_1;
624
+ var _a, _b;
625
+ return __generator(this, function (_c) {
626
+ switch (_c.label) {
627
+ case 0:
628
+ entity = (_a = schema === null || schema === void 0 ? void 0 : schema.api) === null || _a === void 0 ? void 0 : _a.entity;
629
+ if (!entity || (schema === null || schema === void 0 ? void 0 : schema.dsType) !== ModelDSBuilderKey) {
630
+ return [2 /*return*/, schema];
631
+ }
632
+ builder = this.dsManager.getBuilderBySchema(schema);
633
+ _c.label = 1;
634
+ case 1:
635
+ _c.trys.push([1, 3,, 4]);
636
+ return [4 /*yield*/, builder.buildApiSchema({
637
+ schema: schema,
638
+ renderer: 'form',
639
+ sourceKey: 'api',
640
+ feat: (_b = schema.feat) !== null && _b !== void 0 ? _b : 'Insert'
641
+ })];
642
+ case 2:
643
+ updatedSchema = _c.sent();
644
+ return [2 /*return*/, updatedSchema];
645
+ case 3:
646
+ e_1 = _c.sent();
647
+ console.error(e_1);
648
+ return [3 /*break*/, 4];
649
+ case 4:
650
+ return [2 /*return*/, schema];
651
+ }
652
+ });
653
+ });
654
+ };
655
+ _this.dsManager = new DSBuilderManager(manager);
662
656
  return _this;
663
657
  }
664
658
  Object.defineProperty(FormPlugin.prototype, "scaffoldForm", {
659
+ /** 表单脚手架 */
665
660
  get: function () {
666
- var i18nEnabled = getI18nEnabled();
661
+ var _this = this;
662
+ var features = this.Features.filter(function (f) {
663
+ return !f.disabled;
664
+ });
667
665
  return {
668
- title: i18n("1b6f9adf1e6a41a18b9a76407d945618"),
669
- body: [getSchemaTpl('apiControl', {
670
- label: i18n("380c80efc8d38510d31f50578690b781")
671
- }), {
672
- name: 'mode',
673
- label: i18n("ffc2c1671eb7e3f6751006cd7a9961f4"),
674
- type: 'button-group-select',
675
- pipeIn: defaultValue('normal', false),
676
- options: [{
677
- label: i18n("81f8a50d084992815ab844109b3ea27f"),
678
- value: 'normal'
679
- }, {
680
- label: i18n("3720b9ef8053b7b8a54c7d8ace051912"),
681
- value: 'horizontal'
682
- }, {
683
- label: i18n("2dd25b8c21efbfee4a198787810d65d8"),
684
- value: 'inline'
685
- }]
686
- }, {
687
- label: i18n("9d68944682609cb230534195ca7c62ae"),
688
- type: 'combo',
689
- name: 'body',
690
- multiple: true,
691
- draggable: true,
692
- multiLine: false,
693
- items: __spreadArray(__spreadArray([], __read(getFormItemOptions({
694
- i18nEnabled: i18nEnabled
695
- })), false), [{
696
- visibleOn: 'data.type === "group"',
697
- type: 'combo',
698
- name: 'body',
699
- label: i18n("cf993a1d9c0352215055d180aca60b97"),
700
- multiple: true,
701
- draggable: true,
702
- multiLine: true,
703
- items: __spreadArray([], __read(getFormItemOptions({
704
- i18nEnabled: i18nEnabled
705
- })), false)
706
- }], false)
707
- }],
708
- pipeOut: function (values) {
709
- autoAddOptions(values);
710
- return values;
666
+ title: i18n("4f2ef285e13e20f551f7111f535cde11"),
667
+ mode: {
668
+ mode: 'horizontal',
669
+ horizontal: {
670
+ leftFixed: 'sm'
671
+ }
672
+ },
673
+ canRebuild: true,
674
+ className: 'ae-Scaffold-Modal ae-Scaffold-Modal-content AMISCSSWrapper',
675
+ body: __spreadArray(__spreadArray([{
676
+ type: 'radios',
677
+ name: 'feat',
678
+ label: i18n("7efcb0ce09e8842951c5cfd298b4e7ee"),
679
+ value: DSFeatureEnum.Insert,
680
+ options: features,
681
+ onChange: function (value, oldValue, model, form) {
682
+ if (value !== oldValue) {
683
+ var data = form.data;
684
+ Object.keys(data).forEach(function (key) {
685
+ if (/^(insert|edit|bulkEdit)Fields$/i.test(key) || /^(insert|edit|bulkEdit)Api$/i.test(key)) {
686
+ form.deleteValueByName(key);
687
+ }
688
+ });
689
+ form.deleteValueByName('__fields');
690
+ form.deleteValueByName('__relations');
691
+ form.setValues({
692
+ dsType: _this.dsManager.getDefaultBuilderKey(),
693
+ initApi: DSFeatureEnum.Insert === value || DSFeatureEnum.BulkEdit === value ? undefined : ''
694
+ });
695
+ }
696
+ }
697
+ }, /** 数据源选择器 */
698
+ this.dsManager.getDSSelectorSchema({
699
+ onChange: function (value, oldValue, model, form) {
700
+ if (value !== oldValue) {
701
+ var data = form.data;
702
+ Object.keys(data).forEach(function (key) {
703
+ if (/^(insert|edit|bulkEdit)Fields$/i.test(key) || /^(insert|edit|bulkEdit)Api$/i.test(key)) {
704
+ form.deleteValueByName(key);
705
+ }
706
+ });
707
+ form.deleteValueByName('__fields');
708
+ form.deleteValueByName('__relations');
709
+ form.setValues({
710
+ initApi: DSFeatureEnum.Insert === value || DSFeatureEnum.BulkEdit === value ? undefined : ''
711
+ });
712
+ }
713
+ return value;
714
+ }
715
+ })], __read(flatten(features.map(function (feat) {
716
+ return _this.dsManager.buildCollectionFromBuilders(function (builder, builderKey) {
717
+ return {
718
+ type: 'container',
719
+ className: 'form-item-gap',
720
+ visibleOn: "data.feat === '".concat(feat.value, "' && (!data.dsType || data.dsType === '").concat(builderKey, "')"),
721
+ body: flatten([builder.makeSourceSettingForm({
722
+ feat: feat.value,
723
+ renderer: 'form',
724
+ inScaffold: true,
725
+ sourceSettings: {
726
+ userOrders: false
727
+ }
728
+ }), builder.makeFieldsSettingForm({
729
+ feat: feat.value,
730
+ renderer: 'form',
731
+ inScaffold: true
732
+ })])
733
+ };
734
+ });
735
+ }))), false), [{
736
+ name: 'operators',
737
+ label: i18n("2b6bc0f293f5ca01b006206c2535ccbc"),
738
+ type: 'checkboxes',
739
+ value: ['submit'],
740
+ joinValues: false,
741
+ extractValue: false,
742
+ options: [FormOperatorMap['reset'], FormOperatorMap['submit'], FormOperatorMap['cancel']]
743
+ }], false),
744
+ pipeIn: function (schema) {
745
+ return __awaiter(_this, void 0, void 0, function () {
746
+ var dsType, builder, config;
747
+ var _a;
748
+ return __generator(this, function (_b) {
749
+ switch (_b.label) {
750
+ case 0:
751
+ dsType = (_a = schema === null || schema === void 0 ? void 0 : schema.dsType) !== null && _a !== void 0 ? _a : this.dsManager.getDefaultBuilderKey();
752
+ builder = this.dsManager.getBuilderByKey(dsType);
753
+ if (!builder) {
754
+ return [2 /*return*/, {
755
+ dsType: dsType
756
+ }];
757
+ }
758
+ return [4 /*yield*/, builder.guessFormScaffoldConfig({
759
+ schema: schema
760
+ })];
761
+ case 1:
762
+ config = _b.sent();
763
+ return [2 /*return*/, __assign({}, config)];
764
+ }
765
+ });
766
+ });
767
+ },
768
+ pipeOut: function (config) {
769
+ return __awaiter(_this, void 0, void 0, function () {
770
+ var scaffold, builder, schema;
771
+ return __generator(this, function (_a) {
772
+ switch (_a.label) {
773
+ case 0:
774
+ scaffold = cloneDeep(this.scaffold);
775
+ builder = this.dsManager.getBuilderByScaffoldSetting(config);
776
+ if (!builder) {
777
+ return [2 /*return*/, scaffold];
778
+ }
779
+ return [4 /*yield*/, builder.buildFormSchema({
780
+ feat: config.feat,
781
+ renderer: 'form',
782
+ inScaffold: true,
783
+ entitySource: config === null || config === void 0 ? void 0 : config.entitySource,
784
+ fallbackSchema: scaffold,
785
+ scaffoldConfig: config
786
+ })];
787
+ case 1:
788
+ schema = _a.sent();
789
+ /** 脚手架构建的 Schema 加个标识符,避免addChild替换 Schema ID */
790
+ schema.__origin = 'scaffold';
791
+ return [2 /*return*/, schema];
792
+ }
793
+ });
794
+ });
795
+ },
796
+ validate: function (data, form) {
797
+ var feat = data.feat;
798
+ var builder = _this.dsManager.getBuilderByScaffoldSetting(data);
799
+ var featValue = builder === null || builder === void 0 ? void 0 : builder.getFeatValueByKey(feat !== null && feat !== void 0 ? feat : DSFeatureEnum.Insert);
800
+ var fieldsKey = "".concat(featValue, "Fields");
801
+ var errors = {};
802
+ if ((data === null || data === void 0 ? void 0 : data.dsType) === ModelDSBuilderKey) {
803
+ return errors;
804
+ }
805
+ // if (!form.data[apiKey]) {
806
+ // errors[apiKey] = '请输入接口信息';
807
+ // }
808
+ // if (feat === 'Edit' && !form.data?.initApi) {
809
+ // errors['initApi'] = '请输入初始化接口信息';
810
+ // }
811
+ var fieldErrors = FieldSetting.validator(form.data[fieldsKey]);
812
+ if (fieldErrors) {
813
+ errors[fieldsKey] = fieldErrors;
814
+ }
815
+ return errors;
711
816
  }
712
817
  };
713
818
  },
714
819
  enumerable: false,
715
820
  configurable: true
716
821
  });
822
+ Object.defineProperty(FormPlugin.prototype, "dynamicControls", {
823
+ get: function () {
824
+ return this._dynamicControls;
825
+ },
826
+ set: function (controls) {
827
+ if (!controls || !isObject(controls)) {
828
+ throw new Error(i18n("b4f035fa6f9faaa78707b72c352c6a8b"));
829
+ }
830
+ this._dynamicControls = __assign(__assign({}, this._dynamicControls), controls);
831
+ },
832
+ enumerable: false,
833
+ configurable: true
834
+ });
717
835
  FormPlugin.prototype.afterUpdate = function (event) {
718
836
  var _a;
719
837
  var context = event.context;
@@ -785,9 +903,43 @@ var FormPlugin = /** @class */function (_super) {
785
903
  }]
786
904
  });
787
905
  };
906
+ FormPlugin.prototype.getAvailableContextFields = function (scopeNode, target, region) {
907
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
908
+ return __awaiter(this, void 0, void 0, function () {
909
+ var rendererInfo, specialRenderer, parentNode, builder;
910
+ return __generator(this, function (_o) {
911
+ rendererInfo = target.info.renderer;
912
+ specialRenderer = ['user-select', 'department-select'];
913
+ // 只有表单项组件可以使用表单组件的数据域
914
+ if (rendererInfo.isFormItem || rendererInfo.type && specialRenderer.includes(rendererInfo.type) || ((_a = target.sameIdChild) === null || _a === void 0 ? void 0 : _a.info.renderer.isFormItem)) {
915
+ parentNode = scopeNode.parent;
916
+ while (parentNode && (parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== 'crud2') {
917
+ parentNode = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent;
918
+ }
919
+ if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) === 'crud2' && ((scopeNode === null || scopeNode === void 0 ? void 0 : scopeNode.type) === 'form' || /^body\/\d+\/filter/.test((_b = scopeNode.schemaPath) !== null && _b !== void 0 ? _b : ''))) {
920
+ return [2 /*return*/, (_d = (_c = parentNode.info.plugin).getAvailableContextFields) === null || _d === void 0 ? void 0 : _d.call(_c, parentNode, target, region)];
921
+ }
922
+ if (((_e = scopeNode.parent) === null || _e === void 0 ? void 0 : _e.type) === 'service' && ((_h = (_g = (_f = scopeNode.parent) === null || _f === void 0 ? void 0 : _f.parent) === null || _g === void 0 ? void 0 : _g.path) === null || _h === void 0 ? void 0 : _h.endsWith('service'))) {
923
+ return [2 /*return*/, (_k = (_j = scopeNode.parent.parent.info.plugin).getAvailableContextFields) === null || _k === void 0 ? void 0 : _k.call(_j, scopeNode.parent.parent, target, region)];
924
+ }
925
+ builder = this.dsManager.getBuilderBySchema(scopeNode.schema);
926
+ if (builder && scopeNode.schema.api) {
927
+ return [2 /*return*/, builder.getAvailableContextFields({
928
+ schema: scopeNode.schema,
929
+ sourceKey: 'api',
930
+ feat: (_m = (_l = scopeNode.schema) === null || _l === void 0 ? void 0 : _l.feat) !== null && _m !== void 0 ? _m : DSFeatureEnum.Insert
931
+ }, target)];
932
+ }
933
+ }
934
+ return [2 /*return*/];
935
+ });
936
+ });
937
+ };
938
+
788
939
  FormPlugin.id = 'FormPlugin';
789
940
  return FormPlugin;
790
941
  }(BasePlugin);
791
942
  registerEditorPlugin(FormPlugin);
792
943
 
793
944
  export { FormPlugin };
945
+ window.amisEditorVersionInfo={version:'5.5.2-beta.2',buildTime:'2023-09-28'};