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
@@ -0,0 +1,1212 @@
1
+ /**
2
+ * amis-editor v5.5.2-beta.2
3
+ * build time: 2023-09-28
4
+ * Copyright 2018-2023 @fex
5
+ */
6
+
7
+ import { __extends, __awaiter, __generator, __assign, __spreadArray, __read } from 'tslib';
8
+ import sortBy from 'lodash/sortBy';
9
+ import pick from 'lodash/pick';
10
+ import get from 'lodash/get';
11
+ import uniq from 'lodash/uniq';
12
+ import omit from 'lodash/omit';
13
+ import intersection from 'lodash/intersection';
14
+ import isFunction from 'lodash/isFunction';
15
+ import { isObject } from 'amis-core';
16
+ import { toast } from 'amis';
17
+ import { tipedLabel, getSchemaTpl, generateNodeId, JSONPipeOut } from 'amis-editor-core';
18
+ import { DSBuilder, registerDSBuilder } from './DSBuilder.js';
19
+ import { DSFeatureEnum, FormOperatorMap, DSFeature } from './constants.js';
20
+ import { displayType2inputType, traverseSchemaDeep } from './utils.js';
21
+ import { i18n } from 'i18n-runtime';
22
+
23
+ /**
24
+ * @file ApiDsBuilder
25
+ * @desc 外部 API 接口数据源构造器
26
+ */
27
+ var ApiDSBuilder = /** @class */function (_super) {
28
+ __extends(ApiDSBuilder, _super);
29
+ function ApiDSBuilder() {
30
+ var _this = _super !== null && _super.apply(this, arguments) || this;
31
+ _this.isDefault = true;
32
+ _this.name = i18n("45f3a444853a11667f97e941b53266b0");
33
+ _this.order = 1;
34
+ _this.features = ['List', 'Insert', 'View', 'Edit', 'Delete', 'BulkEdit', 'BulkDelete', 'SimpleQuery'];
35
+ return _this;
36
+ }
37
+ Object.defineProperty(ApiDSBuilder.prototype, "key", {
38
+ /**
39
+ * 获取键值。
40
+ */
41
+ get: function () {
42
+ return this.constructor.key;
43
+ },
44
+ enumerable: false,
45
+ configurable: true
46
+ });
47
+ ApiDSBuilder.prototype.match = function (schema, key) {
48
+ var sourceKey = key && typeof key === 'string' ? key : 'api';
49
+ var apiSchema = schema === null || schema === void 0 ? void 0 : schema[sourceKey];
50
+ if ((schema === null || schema === void 0 ? void 0 : schema.dsType) === this.key || (apiSchema === null || apiSchema === void 0 ? void 0 : apiSchema.sourceType) === this.key) {
51
+ return true;
52
+ }
53
+ /**
54
+ * 携带 jsonql 一定不是 API 接口
55
+ * 携带 strategy 为实体接口通过混合构建策略生成
56
+ * */
57
+ if (isObject(apiSchema) && (apiSchema.jsonql != null || apiSchema.strategy != null)) {
58
+ return false;
59
+ }
60
+ var maybeApiUrl = typeof apiSchema === 'string' ? apiSchema : isObject(apiSchema) ? (apiSchema === null || apiSchema === void 0 ? void 0 : apiSchema.url) || '' : '';
61
+ if (typeof maybeApiUrl === 'string' && (/^(get|post|put|delete|patch|option|jsonp):/.test(apiSchema) || !~maybeApiUrl.indexOf('api://'))) {
62
+ return true;
63
+ }
64
+ return false;
65
+ };
66
+ ApiDSBuilder.prototype.getContextFields = function (options) {
67
+ return __awaiter(this, void 0, void 0, function () {
68
+ return __generator(this, function (_a) {
69
+ return [2 /*return*/, []];
70
+ });
71
+ });
72
+ };
73
+ ApiDSBuilder.prototype.getAvailableContextFields = function (options, target) {
74
+ return __awaiter(this, void 0, void 0, function () {
75
+ return __generator(this, function (_a) {
76
+ return [2 /*return*/];
77
+ });
78
+ });
79
+ };
80
+
81
+ ApiDSBuilder.prototype.getCRUDListFields = function (options) {
82
+ var _a;
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ var _b, schema, controlSettings, fieldMapper, columns, result;
85
+ return __generator(this, function (_c) {
86
+ _b = options || {}, schema = _b.schema, controlSettings = _b.controlSettings;
87
+ fieldMapper = (controlSettings || {}).fieldMapper;
88
+ columns = (_a = schema === null || schema === void 0 ? void 0 : schema.columns) !== null && _a !== void 0 ? _a : [];
89
+ result = [];
90
+ columns.forEach(function (item) {
91
+ var option = isFunction(fieldMapper) ? fieldMapper(item) : false;
92
+ if (option !== false) {
93
+ result.push(option);
94
+ }
95
+ });
96
+ return [2 /*return*/, result];
97
+ });
98
+ });
99
+ };
100
+ ApiDSBuilder.prototype.getCRUDSimpleQueryFields = function (options) {
101
+ var _a, _b;
102
+ return __awaiter(this, void 0, void 0, function () {
103
+ var _c, schema, controlSettings, fieldMapper, filterSchema, result;
104
+ return __generator(this, function (_d) {
105
+ _c = options || {}, schema = _c.schema, controlSettings = _c.controlSettings;
106
+ fieldMapper = (controlSettings || {}).fieldMapper;
107
+ filterSchema = (schema === null || schema === void 0 ? void 0 : schema.filter) ? Array.isArray(schema.filter) ? schema.filter.find(function (item) {
108
+ return item.behavior && Array.isArray(item.behavior) && item.type === 'form';
109
+ }) : ((_a = schema.filter) === null || _a === void 0 ? void 0 : _a.type) === 'form' ? schema.filter : undefined : undefined;
110
+ result = [];
111
+ ((_b = filterSchema === null || filterSchema === void 0 ? void 0 : filterSchema.body) !== null && _b !== void 0 ? _b : []).forEach(function (formItem) {
112
+ if (formItem.type === 'condition-builder' || formItem.behavior === DSFeatureEnum.AdvancedQuery) {
113
+ return;
114
+ }
115
+ var option = isFunction(fieldMapper) ? fieldMapper(formItem) : false;
116
+ if (option !== false) {
117
+ result.push(option);
118
+ }
119
+ });
120
+ return [2 /*return*/, result];
121
+ });
122
+ });
123
+ };
124
+ ApiDSBuilder.prototype.makeSourceSettingForm = function (options) {
125
+ var _a = options || {},
126
+ feat = _a.feat,
127
+ renderer = _a.renderer,
128
+ inScaffold = _a.inScaffold,
129
+ sourceSettings = _a.sourceSettings,
130
+ sourceKey = _a.sourceKey;
131
+ if (!feat) {
132
+ return [];
133
+ }
134
+ var _b = sourceSettings || {},
135
+ label = _b.label,
136
+ name = _b.name,
137
+ renderLabel = _b.renderLabel,
138
+ labelClassName = _b.labelClassName,
139
+ mode = _b.mode,
140
+ horizontalConfig = _b.horizontalConfig,
141
+ visibleOn = _b.visibleOn;
142
+ var isCRUD = renderer === 'crud';
143
+ /** 处理Label */
144
+ var labelText = label !== null && label !== void 0 ? label : isCRUD && feat !== 'List' ? this.getFeatLabelByKey(feat) + i18n("54ea89b497ec3bb319c68844dfa3687f") : i18n("54ea89b497ec3bb319c68844dfa3687f");
145
+ var normalizedLabel = labelText;
146
+ if (feat === 'Insert') {
147
+ normalizedLabel = tipedLabel(labelText, "\u7528\u6765\u4FDD\u5B58\u6570\u636E, \u8868\u5355\u63D0\u4EA4\u540E\u5C06\u6570\u636E\u4F20\u5165\u6B64\u63A5\u53E3\u3002<br/>\n \u63A5\u53E3\u54CD\u5E94\u4F53\u8981\u6C42(\u5982\u679Cdata\u4E2D\u6709\u6570\u636E\uFF0C\u8BE5\u6570\u636E\u5C06\u88AB\u5408\u5E76\u5230\u8868\u5355\u4E0A\u4E0B\u6587\u4E2D)\uFF1A<br/>\n <pre>".concat(JSON.stringify({
148
+ status: 0,
149
+ msg: '',
150
+ data: {}
151
+ }, null, 2), "</pre>"));
152
+ } else if (feat === 'List') {
153
+ normalizedLabel = tipedLabel(labelText, "\u63A5\u53E3\u54CD\u5E94\u4F53\u8981\u6C42\uFF1A<br/>\n <pre>".concat(JSON.stringify({
154
+ status: 0,
155
+ msg: '',
156
+ items: {},
157
+ page: 0,
158
+ total: 0
159
+ }, null, 2), "</pre>"));
160
+ }
161
+ var layoutMode = mode !== null && mode !== void 0 ? mode : 'horizontal';
162
+ var baseApiSchemaConfig = __assign(__assign(__assign({
163
+ renderLabel: renderLabel !== null && renderLabel !== void 0 ? renderLabel : true,
164
+ label: normalizedLabel,
165
+ name: name !== null && name !== void 0 ? name : inScaffold ? this.getFeatValueByKey(feat) + 'Api' : 'api',
166
+ mode: layoutMode,
167
+ labelClassName: labelClassName,
168
+ inputClassName: 'm-b-none'
169
+ }, layoutMode === 'horizontal' ? horizontalConfig !== null && horizontalConfig !== void 0 ? horizontalConfig : {} : {}), visibleOn && typeof visibleOn === 'string' ? {
170
+ visibleOn: visibleOn
171
+ } : {}), {
172
+ onPickerConfirm: function (value) {
173
+ var transformedValue = value;
174
+ var transform = function (apiObj) {
175
+ var _a;
176
+ return "".concat(((_a = apiObj === null || apiObj === void 0 ? void 0 : apiObj.api) === null || _a === void 0 ? void 0 : _a.method) || 'post', ":api://").concat((apiObj === null || apiObj === void 0 ? void 0 : apiObj.key) || '');
177
+ };
178
+ if (value) {
179
+ transformedValue = Array.isArray(value) ? value.map(transform).join(',') : transform(value);
180
+ }
181
+ return transformedValue;
182
+ }
183
+ });
184
+ return __spreadArray([/** 提交接口 */
185
+ getSchemaTpl('apiControl', baseApiSchemaConfig), /** 表单初始化接口 */
186
+ feat === 'Edit' && (renderer === 'form' || sourceKey === 'initApi') ? getSchemaTpl('apiControl', __assign(__assign({}, baseApiSchemaConfig), {
187
+ name: 'initApi',
188
+ label: tipedLabel(i18n("b4bc91701b86fe8543d649e97daea602"), "\u63A5\u53E3\u54CD\u5E94\u4F53\u8981\u6C42\uFF1A<br/>\n <pre>".concat(JSON.stringify({
189
+ status: 0,
190
+ msg: '',
191
+ data: {}
192
+ }, null, 2), "</pre>"))
193
+ })) : null], __read(feat === 'List' && renderer === 'crud' && !inScaffold ? [getSchemaTpl('apiControl', __assign(__assign({}, baseApiSchemaConfig), {
194
+ name: 'quickSaveApi',
195
+ label: tipedLabel(i18n("33eaf97ecb3465754855e847f14d129c"), i18n("419b0a74c438b81124992616dd0a36f3"))
196
+ })), getSchemaTpl('apiControl', __assign(__assign({}, baseApiSchemaConfig), {
197
+ name: 'quickSaveItemApi',
198
+ label: tipedLabel(i18n("ce7d31d64f2315e1d4cede288b9dfc60"), i18n("152e8c553fe6fbc51df7c72a45917107"))
199
+ }))] : []), false).filter(Boolean);
200
+ };
201
+ ApiDSBuilder.prototype.makeFieldsSettingForm = function (options) {
202
+ var _this = this;
203
+ var _a = options || {},
204
+ feat = _a.feat,
205
+ inScaffold = _a.inScaffold,
206
+ renderer = _a.renderer,
207
+ fieldSettings = _a.fieldSettings;
208
+ var renderLabel = (fieldSettings || {}).renderLabel;
209
+ if (!feat || !inScaffold || ['Import', 'Export', 'FuzzyQuery', 'Delete', 'BulkDelete'].includes(feat)) {
210
+ return [];
211
+ }
212
+ var result = [{
213
+ type: 'ae-field-setting',
214
+ name: this.getFieldsKey(options),
215
+ label: renderLabel === false ? false : i18n("9caecd931b956381e0763d05aa42835c"),
216
+ renderer: renderer,
217
+ feat: feat,
218
+ fieldKeys: this.features.map(function (f) {
219
+ return _this.getFieldsKey({
220
+ feat: f
221
+ });
222
+ }),
223
+ config: {
224
+ showInputType: renderer === 'form' || renderer === 'crud' && ['Edit', 'BulkEdit', 'Insert', 'View', 'SimpleQuery', 'List'].includes(feat),
225
+ showDisplayType: renderer === 'crud' && ['List'].includes(feat)
226
+ },
227
+ onAutoGenerateFields: this.autoGenerateFields.bind(this)
228
+ }];
229
+ return result;
230
+ };
231
+ /** 基于接口生成字段 */
232
+ ApiDSBuilder.prototype.autoGenerateFields = function (_a) {
233
+ var _b, _c, _d, _e, _f;
234
+ var api = _a.api,
235
+ props = _a.props;
236
+ _a.setState;
237
+ return __awaiter(this, void 0, void 0, function () {
238
+ var manager, env, ctx, feat, schemaFilter, result, fields, sampleRow, items;
239
+ return __generator(this, function (_g) {
240
+ switch (_g.label) {
241
+ case 0:
242
+ manager = props.manager, env = props.env, ctx = props.data, feat = props.feat;
243
+ schemaFilter = (_b = manager === null || manager === void 0 ? void 0 : manager.store) === null || _b === void 0 ? void 0 : _b.schemaFilter;
244
+ if (schemaFilter) {
245
+ api = schemaFilter({
246
+ api: api
247
+ }).api;
248
+ }
249
+ return [4 /*yield*/, env === null || env === void 0 ? void 0 : env.fetcher(api, ctx)];
250
+ case 1:
251
+ result = _g.sent();
252
+ if (!result.ok) {
253
+ toast.warning((_d = (_c = result.defaultMsg) !== null && _c !== void 0 ? _c : result.msg) !== null && _d !== void 0 ? _d : i18n("91aa2166ee4811414381c8d94e6567e6"));
254
+ return [2 /*return*/];
255
+ }
256
+
257
+ fields = [];
258
+ if (feat === 'List') {
259
+ items = ((_e = result.data) === null || _e === void 0 ? void 0 : _e.rows) || ((_f = result.data) === null || _f === void 0 ? void 0 : _f.items) || result.data;
260
+ sampleRow = items === null || items === void 0 ? void 0 : items[0];
261
+ } else {
262
+ sampleRow = result.data;
263
+ }
264
+ if (sampleRow) {
265
+ Object.entries(sampleRow).forEach(function (_a) {
266
+ var _b = __read(_a, 2),
267
+ key = _b[0],
268
+ value = _b[1];
269
+ var inputType = 'input-text';
270
+ if (Array.isArray(value)) {
271
+ inputType = 'select';
272
+ } else if (isObject(value)) {
273
+ inputType = 'combo';
274
+ } else if (typeof value === 'number') {
275
+ inputType = 'input-number';
276
+ }
277
+ fields.push({
278
+ label: key,
279
+ name: key,
280
+ displayType: 'tpl',
281
+ inputType: inputType,
282
+ checked: true
283
+ });
284
+ });
285
+ }
286
+ return [2 /*return*/, fields];
287
+ }
288
+ });
289
+ });
290
+ };
291
+ ApiDSBuilder.prototype.getApiKey = function (options) {
292
+ var feat = (options || {}).feat;
293
+ return feat ? "".concat(this.getFeatValueByKey(feat), "Api") : 'api';
294
+ };
295
+ ApiDSBuilder.prototype.getFieldsKey = function (options) {
296
+ var feat = (options || {}).feat;
297
+ return feat ? "".concat(this.getFeatValueByKey(feat), "Fields") : '';
298
+ };
299
+ ApiDSBuilder.prototype.buildBaseButtonSchema = function (options, schemaPatch) {
300
+ var _a, _b;
301
+ var feat = (options || {}).feat;
302
+ var _c = schemaPatch || {},
303
+ buttonSchema = _c.buttonSchema,
304
+ formSchema = _c.formSchema,
305
+ dialogSchema = _c.dialogSchema,
306
+ componentId = _c.componentId;
307
+ if (!feat) {
308
+ return __assign({}, buttonSchema);
309
+ }
310
+ var labelMap = {
311
+ Insert: i18n("66ab5e9f24c8f46012a25c89919fb191"),
312
+ View: i18n("607e7a4f377fa66b0b28ce318aab841f"),
313
+ Edit: i18n("95b351c86267f3aedf89520959bce689"),
314
+ BulkEdit: i18n("e73cefac9d030927da1618c7b15c98c9"),
315
+ Delete: i18n("2f4aaddde33c9b93c36fd2503f3d122b"),
316
+ BulkDelete: i18n("7fb62b30119c3797a843a48368463314")
317
+ };
318
+ var titleMap = {
319
+ Insert: i18n("50abd0bf31e07dbee84e9e5b9a407840"),
320
+ View: i18n("c00a96da01a3cf0445df3b0d05918317"),
321
+ Edit: i18n("7695a3b5bfbcfdb3e7b085f8cd6455be"),
322
+ BulkEdit: i18n("6f2f7e3794aa8502d02cb20aba881df1"),
323
+ Delete: i18n("40f8f022c51542d282edda5b9ed4b512"),
324
+ BulkDelete: i18n("c1c29e445748fa076c5fee45274bdd36")
325
+ };
326
+ var schema = __assign(__assign({
327
+ type: 'button',
328
+ label: (_a = labelMap[feat]) !== null && _a !== void 0 ? _a : i18n("fa966345577ba81af19408f203db968f")
329
+ }, buttonSchema), {
330
+ behavior: feat,
331
+ onEvent: {
332
+ click: {
333
+ actions: [{
334
+ actionType: 'dialog',
335
+ dialog: __assign({
336
+ body: __assign(__assign({}, formSchema), {
337
+ onEvent: {
338
+ submitSucc: {
339
+ actions: [{
340
+ actionType: 'search',
341
+ groupType: 'component',
342
+ componentId: componentId
343
+ }]
344
+ }
345
+ }
346
+ }),
347
+ title: (_b = titleMap[feat]) !== null && _b !== void 0 ? _b : i18n("6cff4b6d794cc17f5d24dbe0d21e5732"),
348
+ size: 'md',
349
+ actions: [{
350
+ type: 'button',
351
+ actionType: 'cancel',
352
+ label: i18n("b15d91274e9fc68608c609999e0413fa")
353
+ }]
354
+ }, dialogSchema)
355
+ }]
356
+ }
357
+ }
358
+ });
359
+ return schema;
360
+ };
361
+ /** 构建表单按钮操作区 */
362
+ ApiDSBuilder.prototype.buildFormOperators = function (options, componentId) {
363
+ var _a = options || {};
364
+ _a.feat;
365
+ var scaffoldConfig = _a.scaffoldConfig;
366
+ var operators = (scaffoldConfig || {}).operators;
367
+ var schema = sortBy(operators !== null && operators !== void 0 ? operators : Object.values(FormOperatorMap), ['order']).map(function (item) {
368
+ return __assign({
369
+ type: 'button',
370
+ label: item.label,
371
+ onEvent: {
372
+ click: {
373
+ actions: [{
374
+ actionType: item.value,
375
+ componentId: componentId
376
+ }]
377
+ }
378
+ }
379
+ }, item.schema);
380
+ });
381
+ return schema;
382
+ };
383
+ /**
384
+ * 为输入类控件追加的初始化Schema配置,避免某些类型组件渲染报错
385
+ */
386
+ ApiDSBuilder.prototype.appendSchema2InputControl = function (inputType) {
387
+ if (inputType === 'combo') {
388
+ return {
389
+ items: [{
390
+ type: 'input-text',
391
+ name: 'input-text',
392
+ placeholder: i18n("97d07614380da93d257f9fbf81aa56fb")
393
+ }]
394
+ };
395
+ } else {
396
+ return {};
397
+ }
398
+ };
399
+ ApiDSBuilder.prototype.buildBaseFormSchema = function (options, schemaPatch, componentId) {
400
+ var _this = this;
401
+ var _a;
402
+ schemaPatch = schemaPatch || {};
403
+ var _b = options || {},
404
+ feat = _b.feat,
405
+ renderer = _b.renderer,
406
+ scaffoldConfig = _b.scaffoldConfig;
407
+ if (!feat) {
408
+ return __assign(__assign({}, schemaPatch), componentId ? {
409
+ id: componentId
410
+ } : {});
411
+ }
412
+ var fieldsKey = this.getFieldsKey(options);
413
+ var apiKey = this.getApiKey(options);
414
+ var fields = (_a = scaffoldConfig === null || scaffoldConfig === void 0 ? void 0 : scaffoldConfig[fieldsKey]) !== null && _a !== void 0 ? _a : [];
415
+ var apiSchema = scaffoldConfig === null || scaffoldConfig === void 0 ? void 0 : scaffoldConfig[apiKey];
416
+ var id = componentId !== null && componentId !== void 0 ? componentId : generateNodeId();
417
+ var schema = __assign({
418
+ id: id,
419
+ type: 'form',
420
+ title: i18n("eee1e2258d7ea163fec625ee44be9637"),
421
+ mode: 'horizontal',
422
+ dsType: this.key,
423
+ feat: feat,
424
+ body: fields.map(function (f) {
425
+ var _a;
426
+ var type = f.inputType ? (_a = displayType2inputType(f.inputType)) !== null && _a !== void 0 ? _a : 'input-text' : 'input-text';
427
+ return __assign(__assign(__assign({}, pick(f, ['name', 'label'])), {
428
+ type: type
429
+ }), _this.appendSchema2InputControl(type));
430
+ }),
431
+ api: apiSchema
432
+ }, renderer === 'form' ? {
433
+ actions: this.buildFormOperators(options, id)
434
+ } : {});
435
+ if (['Insert', 'Edit', 'BulkEdit'].includes(feat)) {
436
+ schema.resetAfterSubmit = true;
437
+ }
438
+ if (feat === 'View') {
439
+ schema.static = true;
440
+ }
441
+ return __assign(__assign(__assign({}, schema), schemaPatch), {
442
+ id: id
443
+ });
444
+ };
445
+ ApiDSBuilder.prototype.buildInsertSchema = function (options, componentId) {
446
+ return __awaiter(this, void 0, void 0, function () {
447
+ var _a, renderer, scaffoldConfig, insertApi, formId, formActions, title, formSchema;
448
+ return __generator(this, function (_b) {
449
+ _a = options || {}, renderer = _a.renderer, scaffoldConfig = _a.scaffoldConfig;
450
+ insertApi = (scaffoldConfig || {}).insertApi;
451
+ if (renderer === 'form') {
452
+ return [2 /*return*/, this.buildBaseFormSchema(__assign({}, options), undefined, componentId)];
453
+ }
454
+ formId = componentId !== null && componentId !== void 0 ? componentId : generateNodeId();
455
+ formActions = [{
456
+ type: 'button',
457
+ actionType: 'cancel',
458
+ label: i18n("625fb26b4b3340f7872b411f401e754c")
459
+ }, {
460
+ type: 'button',
461
+ actionType: 'submit',
462
+ label: i18n("939d5345ad4345dbaabe14798f6ac0f1"),
463
+ level: 'primary'
464
+ }];
465
+ title = i18n("50abd0bf31e07dbee84e9e5b9a407840");
466
+ formSchema = this.buildBaseFormSchema(__assign(__assign({}, options), {
467
+ feat: DSFeatureEnum.Insert
468
+ }), {
469
+ id: formId,
470
+ title: title,
471
+ api: insertApi,
472
+ actions: formActions
473
+ });
474
+ return [2 /*return*/, __assign({}, this.buildBaseButtonSchema(__assign(__assign({}, options), {
475
+ feat: DSFeatureEnum.Insert
476
+ }), {
477
+ buttonSchema: {
478
+ level: 'primary',
479
+ className: 'm-r-xs'
480
+ },
481
+ dialogSchema: {
482
+ title: title,
483
+ actions: formActions
484
+ },
485
+ formSchema: formSchema,
486
+ componentId: componentId
487
+ }))];
488
+ });
489
+ });
490
+ };
491
+ ApiDSBuilder.prototype.buildViewSchema = function (options, componentId) {
492
+ return __awaiter(this, void 0, void 0, function () {
493
+ var _a, renderer, scaffoldConfig, viewApi, formActions, title, formSchema, buttonSchema;
494
+ return __generator(this, function (_b) {
495
+ _a = options || {}, renderer = _a.renderer, scaffoldConfig = _a.scaffoldConfig;
496
+ viewApi = (scaffoldConfig || {}).viewApi;
497
+ formActions = [{
498
+ type: 'button',
499
+ actionType: 'cancel',
500
+ label: i18n("b15d91274e9fc68608c609999e0413fa")
501
+ }];
502
+ title = i18n("c00a96da01a3cf0445df3b0d05918317");
503
+ formSchema = this.buildBaseFormSchema(__assign(__assign({}, options), {
504
+ feat: DSFeatureEnum.View
505
+ }), {
506
+ title: title,
507
+ initApi: viewApi,
508
+ actions: formActions
509
+ });
510
+ if (renderer === 'crud') {
511
+ buttonSchema = __assign({}, this.buildBaseButtonSchema(__assign(__assign({}, options), {
512
+ feat: DSFeatureEnum.View
513
+ }), {
514
+ buttonSchema: {
515
+ level: 'link'
516
+ },
517
+ dialogSchema: {
518
+ title: title,
519
+ actions: formActions
520
+ },
521
+ formSchema: formSchema,
522
+ componentId: componentId
523
+ }));
524
+ return [2 /*return*/, buttonSchema];
525
+ }
526
+ return [2 /*return*/, formSchema];
527
+ });
528
+ });
529
+ };
530
+ ApiDSBuilder.prototype.buildEditSchema = function (options, componentId) {
531
+ return __awaiter(this, void 0, void 0, function () {
532
+ var _a, renderer, scaffoldConfig, isForm, _b, editApi, initApi, formId, formActions, title, formSchema;
533
+ return __generator(this, function (_c) {
534
+ _a = options || {}, renderer = _a.renderer, scaffoldConfig = _a.scaffoldConfig;
535
+ isForm = renderer === 'form';
536
+ if (isForm) {
537
+ return [2 /*return*/, this.buildBaseFormSchema(options, undefined, componentId)];
538
+ }
539
+ _b = scaffoldConfig || {}, editApi = _b.editApi, initApi = _b.initApi;
540
+ formId = generateNodeId();
541
+ formActions = [{
542
+ type: 'button',
543
+ actionType: 'cancel',
544
+ label: i18n("625fb26b4b3340f7872b411f401e754c")
545
+ }, {
546
+ type: 'button',
547
+ actionType: 'submit',
548
+ label: i18n("939d5345ad4345dbaabe14798f6ac0f1"),
549
+ level: 'primary'
550
+ }];
551
+ title = i18n("7695a3b5bfbcfdb3e7b085f8cd6455be");
552
+ formSchema = this.buildBaseFormSchema(__assign(__assign({}, options), {
553
+ feat: DSFeatureEnum.Edit
554
+ }), {
555
+ id: formId,
556
+ title: title,
557
+ initApi: initApi,
558
+ api: editApi,
559
+ actions: formActions
560
+ });
561
+ return [2 /*return*/, __assign({}, this.buildBaseButtonSchema(__assign(__assign({}, options), {
562
+ feat: DSFeatureEnum.Edit
563
+ }), {
564
+ buttonSchema: {
565
+ level: 'link'
566
+ },
567
+ dialogSchema: {
568
+ title: title,
569
+ actions: formActions
570
+ },
571
+ formSchema: formSchema,
572
+ componentId: componentId
573
+ }))];
574
+ });
575
+ });
576
+ };
577
+ ApiDSBuilder.prototype.buildBulkEditSchema = function (options, componentId) {
578
+ return __awaiter(this, void 0, void 0, function () {
579
+ var renderer, scaffoldConfig, bulkEditApi, isForm, formId, formActions, title, formSchema;
580
+ return __generator(this, function (_a) {
581
+ renderer = options.renderer, scaffoldConfig = options.scaffoldConfig;
582
+ bulkEditApi = (scaffoldConfig || {}).bulkEditApi;
583
+ isForm = renderer === 'form';
584
+ if (isForm) {
585
+ return [2 /*return*/, this.buildBaseFormSchema(options, undefined, componentId)];
586
+ }
587
+ formId = generateNodeId();
588
+ formActions = [{
589
+ type: 'button',
590
+ actionType: 'cancel',
591
+ label: i18n("625fb26b4b3340f7872b411f401e754c")
592
+ }, {
593
+ type: 'button',
594
+ actionType: 'submit',
595
+ label: i18n("939d5345ad4345dbaabe14798f6ac0f1"),
596
+ level: 'primary'
597
+ }];
598
+ title = i18n("e73cefac9d030927da1618c7b15c98c9");
599
+ formSchema = this.buildBaseFormSchema(__assign(__assign({}, options), {
600
+ feat: DSFeatureEnum.BulkEdit
601
+ }), {
602
+ id: formId,
603
+ title: title,
604
+ api: bulkEditApi,
605
+ actions: formActions
606
+ });
607
+ return [2 /*return*/, __assign({}, this.buildBaseButtonSchema(__assign(__assign({}, options), {
608
+ feat: DSFeatureEnum.BulkEdit
609
+ }), {
610
+ buttonSchema: {
611
+ className: 'm-r-xs',
612
+ disabledOn: '${selectedItems != null && selectedItems.length < 1}'
613
+ },
614
+ dialogSchema: {
615
+ title: title,
616
+ actions: formActions
617
+ },
618
+ formSchema: formSchema,
619
+ componentId: componentId
620
+ }))];
621
+ });
622
+ });
623
+ };
624
+ ApiDSBuilder.prototype.buildCRUDDeleteSchema = function (options, componentId) {
625
+ return __awaiter(this, void 0, void 0, function () {
626
+ var scaffoldConfig, deleteApi;
627
+ return __generator(this, function (_a) {
628
+ scaffoldConfig = (options || {}).scaffoldConfig;
629
+ deleteApi = (scaffoldConfig || {}).deleteApi;
630
+ return [2 /*return*/, {
631
+ type: 'button',
632
+ label: i18n("2f4aaddde33c9b93c36fd2503f3d122b"),
633
+ behavior: 'Delete',
634
+ className: 'm-r-xs text-danger',
635
+ level: 'link',
636
+ confirmText: i18n("ebf98d77b1a002935ad5c41446f257b3"),
637
+ onEvent: {
638
+ click: {
639
+ actions: [{
640
+ actionType: 'ajax',
641
+ api: deleteApi,
642
+ data: {
643
+ '&': '$$'
644
+ }
645
+ }, {
646
+ actionType: 'search',
647
+ groupType: 'component',
648
+ componentId: componentId
649
+ }]
650
+ }
651
+ }
652
+ }];
653
+ });
654
+ });
655
+ };
656
+ ApiDSBuilder.prototype.buildCRUDBulkDeleteSchema = function (options, componentId) {
657
+ return __awaiter(this, void 0, void 0, function () {
658
+ var scaffoldConfig, _a, bulkDeleteApi, _b, primaryField;
659
+ return __generator(this, function (_c) {
660
+ scaffoldConfig = (options || {}).scaffoldConfig;
661
+ _a = scaffoldConfig || {}, bulkDeleteApi = _a.bulkDeleteApi, _b = _a.primaryField, primaryField = _b === void 0 ? 'id' : _b;
662
+ return [2 /*return*/, {
663
+ type: 'button',
664
+ label: i18n("7fb62b30119c3797a843a48368463314"),
665
+ behavior: 'BulkDelete',
666
+ level: 'danger',
667
+ className: 'm-r-xs',
668
+ confirmText: i18n("d00d3377afe33a0f1b63293f3a3e3a79") + "\u300C${JOIN(ARRAYMAP(selectedItems, item => item.".concat(primaryField, "), ',')}\u300D"),
669
+ disabledOn: '${selectedItems != null && selectedItems.length < 1}',
670
+ onEvent: {
671
+ click: {
672
+ actions: [{
673
+ actionType: 'ajax',
674
+ api: bulkDeleteApi
675
+ }, {
676
+ actionType: 'search',
677
+ groupType: 'component',
678
+ componentId: componentId
679
+ }]
680
+ }
681
+ }
682
+ }];
683
+ });
684
+ });
685
+ };
686
+ ApiDSBuilder.prototype.buildSimpleQueryCollectionSchema = function (options) {
687
+ var _a;
688
+ return __awaiter(this, void 0, void 0, function () {
689
+ var _b, renderer, schema, simpleQueryFields, filter;
690
+ return __generator(this, function (_c) {
691
+ switch (_c.label) {
692
+ case 0:
693
+ _b = options || {}, renderer = _b.renderer, schema = _b.schema;
694
+ if (renderer !== 'crud') {
695
+ return [2 /*return*/];
696
+ }
697
+
698
+ simpleQueryFields = ((_a = schema === null || schema === void 0 ? void 0 : schema.columns) !== null && _a !== void 0 ? _a : []).filter(function (item) {
699
+ return item.type !== 'operation';
700
+ }).map(function (item) {
701
+ var _a, _b;
702
+ var inputType = item.type ? (_a = displayType2inputType(item.type)) !== null && _a !== void 0 ? _a : 'input-text' : 'input-text';
703
+ return {
704
+ type: (_b = item.type) !== null && _b !== void 0 ? _b : 'input-text',
705
+ inputType: inputType,
706
+ name: item.name,
707
+ label: item.title,
708
+ size: 'full',
709
+ required: false,
710
+ behavior: 'SimpleQuery'
711
+ };
712
+ });
713
+ return [4 /*yield*/, this.buildCRUDFilterSchema(__assign(__assign({}, options), {
714
+ scaffoldConfig: {
715
+ dsType: this.key,
716
+ simpleQueryFields: simpleQueryFields
717
+ }
718
+ }), schema === null || schema === void 0 ? void 0 : schema.id)];
719
+ case 1:
720
+ filter = _c.sent();
721
+ return [2 /*return*/, filter.body];
722
+ }
723
+ });
724
+ });
725
+ };
726
+ ApiDSBuilder.prototype.buildCRUDFilterSchema = function (options, componentId) {
727
+ return __awaiter(this, void 0, void 0, function () {
728
+ var scaffoldConfig, simpleQueryFields, fields, formSchema;
729
+ var _this = this;
730
+ return __generator(this, function (_a) {
731
+ scaffoldConfig = (options || {}).scaffoldConfig;
732
+ simpleQueryFields = (scaffoldConfig || {}).simpleQueryFields;
733
+ fields = simpleQueryFields !== null && simpleQueryFields !== void 0 ? simpleQueryFields : [];
734
+ formSchema = {
735
+ type: 'form',
736
+ title: i18n("0943d61befec4c6cf2d21d170c9b066e"),
737
+ mode: 'inline',
738
+ columnCount: 3,
739
+ clearValueOnHidden: true,
740
+ behavior: ['SimpleQuery'],
741
+ body: fields.map(function (f) {
742
+ var _a;
743
+ var type = (_a = f.inputType) !== null && _a !== void 0 ? _a : 'input-text';
744
+ return __assign(__assign(__assign({}, pick(f, ['name', 'label'])), {
745
+ type: type,
746
+ size: 'full',
747
+ required: false,
748
+ behavior: 'SimpleQuery'
749
+ }), _this.appendSchema2InputControl(type));
750
+ }),
751
+ actions: [{
752
+ type: 'reset',
753
+ label: i18n("4b9c3271dc2f299dc3aeffb369187513")
754
+ }, {
755
+ type: 'submit',
756
+ label: i18n("bee912d79eefb7335988c4997aa9138d"),
757
+ level: 'primary'
758
+ }]
759
+ };
760
+ return [2 /*return*/, formSchema];
761
+ });
762
+ });
763
+ };
764
+ ApiDSBuilder.prototype.buildCRUDOpColumn = function (options, componentId) {
765
+ return __awaiter(this, void 0, void 0, function () {
766
+ var feats, buttons, _a, _b, _c, _d, _e, _f;
767
+ return __generator(this, function (_g) {
768
+ switch (_g.label) {
769
+ case 0:
770
+ feats = (options || {}).feats;
771
+ buttons = [];
772
+ if (!(feats === null || feats === void 0 ? void 0 : feats.includes('View'))) return [3 /*break*/, 2];
773
+ _b = (_a = buttons).push;
774
+ return [4 /*yield*/, this.buildViewSchema(options, componentId)];
775
+ case 1:
776
+ _b.apply(_a, [_g.sent()]);
777
+ _g.label = 2;
778
+ case 2:
779
+ if (!(feats === null || feats === void 0 ? void 0 : feats.includes('Edit'))) return [3 /*break*/, 4];
780
+ _d = (_c = buttons).push;
781
+ return [4 /*yield*/, this.buildEditSchema(options, componentId)];
782
+ case 3:
783
+ _d.apply(_c, [_g.sent()]);
784
+ _g.label = 4;
785
+ case 4:
786
+ if (!(feats === null || feats === void 0 ? void 0 : feats.includes('Delete'))) return [3 /*break*/, 6];
787
+ _f = (_e = buttons).push;
788
+ return [4 /*yield*/, this.buildCRUDDeleteSchema(options, componentId)];
789
+ case 5:
790
+ _f.apply(_e, [_g.sent()]);
791
+ _g.label = 6;
792
+ case 6:
793
+ return [2 /*return*/, {
794
+ type: 'operation',
795
+ title: i18n("2b6bc0f293f5ca01b006206c2535ccbc"),
796
+ buttons: buttons
797
+ }];
798
+ }
799
+ });
800
+ });
801
+ };
802
+ ApiDSBuilder.prototype.buildCRUDColumn = function (field, options, componentId) {
803
+ return __awaiter(this, void 0, void 0, function () {
804
+ return __generator(this, function (_a) {
805
+ return [2 /*return*/, {
806
+ type: field.displayType,
807
+ title: field.label,
808
+ name: field.name
809
+ /** 绑定列值, 似乎不需要 */
810
+ // [f.typeKey || 'value']: `\${f.key}`
811
+ }];
812
+ });
813
+ });
814
+ };
815
+
816
+ ApiDSBuilder.prototype.buildCRUDColumnsSchema = function (options, componentId) {
817
+ return __awaiter(this, void 0, void 0, function () {
818
+ var scaffoldConfig, listFields, fields, opColumn, columns;
819
+ var _this = this;
820
+ return __generator(this, function (_a) {
821
+ switch (_a.label) {
822
+ case 0:
823
+ scaffoldConfig = options.scaffoldConfig;
824
+ listFields = (scaffoldConfig || {}).listFields;
825
+ fields = listFields !== null && listFields !== void 0 ? listFields : [];
826
+ return [4 /*yield*/, this.buildCRUDOpColumn(options, componentId)];
827
+ case 1:
828
+ opColumn = _a.sent();
829
+ return [4 /*yield*/, Promise.all(fields.map(function (f) {
830
+ return __awaiter(_this, void 0, void 0, function () {
831
+ return __generator(this, function (_a) {
832
+ return [2 /*return*/, this.buildCRUDColumn(f, options, componentId)];
833
+ });
834
+ });
835
+ }))];
836
+ case 2:
837
+ columns = _a.sent().filter(Boolean);
838
+ return [2 /*return*/, __spreadArray(__spreadArray([], __read(columns), false), __read(opColumn.buttons.length !== 0 ? [opColumn] : []), false)];
839
+ }
840
+ });
841
+ });
842
+ };
843
+ ApiDSBuilder.prototype.buildToolbarContainer = function (align, body, behaviors) {
844
+ if (body === void 0) {
845
+ body = [];
846
+ }
847
+ body = Array.isArray(body) ? body : [body];
848
+ return __assign(__assign({
849
+ type: 'container',
850
+ align: align
851
+ }, behaviors ? {
852
+ behavior: behaviors
853
+ } : {}), {
854
+ body: Array.isArray(body) ? body : [body],
855
+ wrapperBody: false,
856
+ style: __assign({
857
+ flexGrow: 1,
858
+ flex: '1 1 auto',
859
+ position: 'static',
860
+ display: 'flex',
861
+ flexBasis: 'auto',
862
+ flexDirection: 'row',
863
+ flexWrap: 'nowrap',
864
+ alignItems: 'stretch'
865
+ }, align ? {
866
+ justifyContent: align === 'left' ? 'flex-start' : 'flex-end'
867
+ } : {})
868
+ });
869
+ };
870
+ ApiDSBuilder.prototype.buildToolbarFlex = function (position, left, right) {
871
+ return [{
872
+ type: 'flex',
873
+ direction: 'row',
874
+ justify: 'flex-start',
875
+ alignItems: 'stretch',
876
+ style: {
877
+ position: 'static'
878
+ },
879
+ items: [this.buildToolbarContainer('left', left, position === 'header' ? [DSFeatureEnum.Insert, DSFeatureEnum.BulkEdit, DSFeatureEnum.BulkDelete] : undefined), this.buildToolbarContainer('right', right, position === 'header' ? [DSFeatureEnum.FuzzyQuery] : undefined)].filter(Boolean)
880
+ }];
881
+ };
882
+ ApiDSBuilder.prototype.buildHeaderToolbar = function (options, componentId) {
883
+ return __awaiter(this, void 0, void 0, function () {
884
+ var feats, collection, _a, _b, _c, _d, _e, _f;
885
+ return __generator(this, function (_g) {
886
+ switch (_g.label) {
887
+ case 0:
888
+ feats = (options || {}).feats;
889
+ collection = [];
890
+ if (!(feats === null || feats === void 0 ? void 0 : feats.includes('Insert'))) return [3 /*break*/, 2];
891
+ _b = (_a = collection).push;
892
+ return [4 /*yield*/, this.buildInsertSchema(options, componentId)];
893
+ case 1:
894
+ _b.apply(_a, [_g.sent()]);
895
+ _g.label = 2;
896
+ case 2:
897
+ if (!(feats === null || feats === void 0 ? void 0 : feats.includes('BulkEdit'))) return [3 /*break*/, 4];
898
+ _d = (_c = collection).push;
899
+ return [4 /*yield*/, this.buildBulkEditSchema(options, componentId)];
900
+ case 3:
901
+ _d.apply(_c, [_g.sent()]);
902
+ _g.label = 4;
903
+ case 4:
904
+ if (!(feats === null || feats === void 0 ? void 0 : feats.includes('BulkDelete'))) return [3 /*break*/, 6];
905
+ _f = (_e = collection).push;
906
+ return [4 /*yield*/, this.buildCRUDBulkDeleteSchema(options, componentId)];
907
+ case 5:
908
+ _f.apply(_e, [_g.sent()]);
909
+ _g.label = 6;
910
+ case 6:
911
+ return [2 /*return*/, this.buildToolbarFlex('header', collection, [])];
912
+ }
913
+ });
914
+ });
915
+ };
916
+ ApiDSBuilder.prototype.buildFooterToolbar = function (options, componentId) {
917
+ return this.buildToolbarFlex('footer', [], [{
918
+ type: 'pagination',
919
+ behavior: 'Pagination',
920
+ layout: ['total', 'perPage', 'pager'],
921
+ perPage: 10,
922
+ perPageAvailable: [10, 20, 50, 100],
923
+ align: 'right'
924
+ }]);
925
+ };
926
+ ApiDSBuilder.prototype.guessFormScaffoldConfig = function (options) {
927
+ var _a, _b;
928
+ var _c, _d;
929
+ var schema = (options || {}).schema;
930
+ var dsType = this.key;
931
+ if (!schema.dsType || schema.dsType !== dsType) {
932
+ return {
933
+ dsType: dsType
934
+ };
935
+ }
936
+ var feat = (_c = schema === null || schema === void 0 ? void 0 : schema.feat) !== null && _c !== void 0 ? _c : 'Insert';
937
+ /** 表单操作 */
938
+ var operators = ((_d = schema.actions) !== null && _d !== void 0 ? _d : []).map(function (item) {
939
+ var opValue = get(item, 'onEvent.click.actions[0].actionType');
940
+ if (typeof opValue === 'string' && opValue && ['submit', 'reset', 'cancel'].includes(opValue)) {
941
+ return FormOperatorMap[opValue];
942
+ }
943
+ return undefined;
944
+ }).filter(Boolean);
945
+ var featValue = this.getFeatValueByKey(feat);
946
+ var fieldKey = featValue ? "".concat(featValue, "Fields") : '';
947
+ var apiKey = featValue ? "".concat(featValue, "Api") : '';
948
+ var fields = (Array.isArray(schema === null || schema === void 0 ? void 0 : schema.body) ? schema.body : [schema.body]).map(function (item) {
949
+ if (!item) {
950
+ return false;
951
+ }
952
+ return {
953
+ name: item.name,
954
+ label: item.label,
955
+ displayType: 'tpl' /** 对于form这个属性没用 */,
956
+ inputType: item.type
957
+ };
958
+ }).filter(function (f) {
959
+ return f != null;
960
+ });
961
+ var config = __assign(__assign(__assign(__assign({
962
+ feat: feat,
963
+ dsType: dsType
964
+ }, fieldKey ? (_a = {}, _a[fieldKey] = fields, _a) : {}), apiKey ? (_b = {}, _b[apiKey] = JSONPipeOut(schema === null || schema === void 0 ? void 0 : schema.api), _b) : {}), feat === 'Edit' || schema.initApi != null ? {
965
+ initApi: JSONPipeOut(schema === null || schema === void 0 ? void 0 : schema.initApi)
966
+ } : {}), {
967
+ operators: operators.length < 1 ? [FormOperatorMap['cancel'], FormOperatorMap['submit']] : operators,
968
+ __pristineSchema: omit(JSONPipeOut(schema), __spreadArray([], __read(Object.values(DSFeature).map(function (item) {
969
+ return "".concat(item.value, "Fields");
970
+ })), false))
971
+ });
972
+ return config;
973
+ };
974
+ ApiDSBuilder.prototype.guessCRUDScaffoldConfig = function (options) {
975
+ var _a;
976
+ var schema = (options || {}).schema;
977
+ var dsType = this.key;
978
+ if (!schema.dsType || schema.dsType !== dsType) {
979
+ return {
980
+ dsType: dsType,
981
+ primaryField: 'id'
982
+ };
983
+ }
984
+ var listFields = (Array.isArray(schema === null || schema === void 0 ? void 0 : schema.columns) ? schema.columns : [schema.columns]).filter(function (item) {
985
+ return item.type !== 'operation';
986
+ }).map(function (item) {
987
+ if (!item) {
988
+ return;
989
+ }
990
+ return {
991
+ name: item.name,
992
+ label: item.title,
993
+ displayType: item.type,
994
+ inputType: 'input-text' /** 对于CRUD这个属性没用 */
995
+ };
996
+ }).filter(function (f) {
997
+ return f != null;
998
+ });
999
+ var viewFields = [];
1000
+ var viewApi;
1001
+ var insertFields = [];
1002
+ var insertApi;
1003
+ var editFields = [];
1004
+ var editApi;
1005
+ var bulkEditFields = [];
1006
+ var bulkEditApi;
1007
+ var simpleQueryFields = [];
1008
+ var bulkDeleteApi;
1009
+ var deleteApi;
1010
+ /** 已开启特性 */
1011
+ var feats = [];
1012
+ var collectFormFields = function (body) {
1013
+ return body.map(function (item) {
1014
+ var _a;
1015
+ return __assign(__assign({}, pick(item, ['name', 'label'])), {
1016
+ inputType: (_a = item.type) !== null && _a !== void 0 ? _a : 'input-text',
1017
+ displayType: 'tpl'
1018
+ });
1019
+ });
1020
+ };
1021
+ traverseSchemaDeep(schema, function (key, value, host) {
1022
+ var _a, _b, _c, _d, _e;
1023
+ if (key === 'feat') {
1024
+ if (value === 'Insert') {
1025
+ feats.push('Insert');
1026
+ insertFields = collectFormFields((_a = host === null || host === void 0 ? void 0 : host.body) !== null && _a !== void 0 ? _a : []);
1027
+ insertApi = host === null || host === void 0 ? void 0 : host.api;
1028
+ } else if (value === 'Edit') {
1029
+ feats.push('Edit');
1030
+ editFields = collectFormFields((_b = host === null || host === void 0 ? void 0 : host.body) !== null && _b !== void 0 ? _b : []);
1031
+ editApi = host === null || host === void 0 ? void 0 : host.api;
1032
+ } else if (value === 'BulkEdit') {
1033
+ feats.push('BulkEdit');
1034
+ bulkEditFields = collectFormFields((_c = host === null || host === void 0 ? void 0 : host.body) !== null && _c !== void 0 ? _c : []);
1035
+ bulkEditApi = host === null || host === void 0 ? void 0 : host.api;
1036
+ } else if (value === 'View') {
1037
+ feats.push('View');
1038
+ viewFields = collectFormFields((_d = host === null || host === void 0 ? void 0 : host.body) !== null && _d !== void 0 ? _d : []);
1039
+ viewApi = host === null || host === void 0 ? void 0 : host.initApi;
1040
+ }
1041
+ }
1042
+ if (key === 'behavior') {
1043
+ if (value === 'BulkDelete') {
1044
+ feats.push('BulkDelete');
1045
+ var actions = get(host, 'onEvent.click.actions', []);
1046
+ var actionSchema = actions.find(function (action) {
1047
+ var _a;
1048
+ return (action === null || action === void 0 ? void 0 : action.actionType) === 'ajax' && ((action === null || action === void 0 ? void 0 : action.api) != null || ((_a = action === null || action === void 0 ? void 0 : action.args) === null || _a === void 0 ? void 0 : _a.api) != null);
1049
+ });
1050
+ bulkDeleteApi = get(actionSchema, 'api', '') || get(actionSchema, 'args.api', '');
1051
+ } else if (value === 'Delete') {
1052
+ feats.push('Delete');
1053
+ var actions = get(host, 'onEvent.click.actions', []);
1054
+ var actionSchema = actions.find(function (action) {
1055
+ var _a;
1056
+ return (action === null || action === void 0 ? void 0 : action.actionType) === 'ajax' && ((action === null || action === void 0 ? void 0 : action.api) != null || ((_a = action === null || action === void 0 ? void 0 : action.args) === null || _a === void 0 ? void 0 : _a.api) != null);
1057
+ });
1058
+ deleteApi = get(actionSchema, 'api', '') || get(actionSchema, 'args.api', '');
1059
+ } else if (Array.isArray(value) && value.includes('SimpleQuery')) {
1060
+ feats.push('SimpleQuery');
1061
+ simpleQueryFields = ((_e = host === null || host === void 0 ? void 0 : host.body) !== null && _e !== void 0 ? _e : []).map(function (item) {
1062
+ var _a;
1063
+ return __assign(__assign({}, pick(item, ['name', 'label'])), {
1064
+ inputType: (_a = item.type) !== null && _a !== void 0 ? _a : 'input-text',
1065
+ isplayType: 'tpl'
1066
+ });
1067
+ });
1068
+ }
1069
+ }
1070
+ return [key, value];
1071
+ });
1072
+ var finalFeats = uniq(feats);
1073
+ var config = {
1074
+ dsType: dsType,
1075
+ tools: intersection(finalFeats, [DSFeatureEnum.Insert, DSFeatureEnum.BulkDelete, DSFeatureEnum.BulkEdit]),
1076
+ /** 数据操作 */
1077
+ operators: intersection(finalFeats, [DSFeatureEnum.View, DSFeatureEnum.Edit, DSFeatureEnum.Delete]),
1078
+ /** 条件查询 */
1079
+ filters: intersection(finalFeats, [DSFeatureEnum.FuzzyQuery, DSFeatureEnum.SimpleQuery, DSFeatureEnum.AdvancedQuery]),
1080
+ listFields: listFields,
1081
+ listApi: JSONPipeOut(schema === null || schema === void 0 ? void 0 : schema.api),
1082
+ viewFields: viewFields,
1083
+ viewApi: JSONPipeOut(viewApi),
1084
+ insertFields: insertFields,
1085
+ insertApi: JSONPipeOut(insertApi),
1086
+ editFields: editFields,
1087
+ editApi: JSONPipeOut(editApi),
1088
+ bulkEditFields: bulkEditFields,
1089
+ bulkEditApi: JSONPipeOut(bulkEditApi),
1090
+ deleteApi: JSONPipeOut(deleteApi),
1091
+ bulkDeleteApi: JSONPipeOut(bulkDeleteApi),
1092
+ simpleQueryFields: simpleQueryFields,
1093
+ primaryField: (_a = schema === null || schema === void 0 ? void 0 : schema.primaryField) !== null && _a !== void 0 ? _a : 'id',
1094
+ __pristineSchema: omit(JSONPipeOut(schema), __spreadArray([], __read(Object.values(DSFeature).map(function (item) {
1095
+ return "".concat(item.value, "Fields");
1096
+ })), false))
1097
+ };
1098
+ return config;
1099
+ };
1100
+ ApiDSBuilder.prototype.buildCRUDSchema = function (options) {
1101
+ return __awaiter(this, void 0, void 0, function () {
1102
+ var feats, scaffoldConfig, _a, _b, primaryField, listApi, editApi, bulkEditApi, enableBulkEdit, enableBulkDelete, enableEdit, enableMultiple, id, _c, _d, _e;
1103
+ var _f, _g;
1104
+ return __generator(this, function (_h) {
1105
+ switch (_h.label) {
1106
+ case 0:
1107
+ feats = options.feats, scaffoldConfig = options.scaffoldConfig;
1108
+ _a = scaffoldConfig || {}, _b = _a.primaryField, primaryField = _b === void 0 ? 'id' : _b, listApi = _a.listApi, editApi = _a.editApi, bulkEditApi = _a.bulkEditApi;
1109
+ enableBulkEdit = feats === null || feats === void 0 ? void 0 : feats.includes('BulkEdit');
1110
+ enableBulkDelete = feats === null || feats === void 0 ? void 0 : feats.includes('BulkDelete');
1111
+ enableEdit = feats === null || feats === void 0 ? void 0 : feats.includes('Edit');
1112
+ enableMultiple = enableBulkEdit || enableBulkDelete;
1113
+ id = generateNodeId();
1114
+ _c = [__assign(__assign(__assign(__assign({
1115
+ id: id,
1116
+ type: 'crud2',
1117
+ mode: 'table2',
1118
+ dsType: this.key,
1119
+ syncLocation: true
1120
+ }, enableMultiple ? {
1121
+ selectable: true,
1122
+ multiple: true
1123
+ } : {}), {
1124
+ primaryField: primaryField,
1125
+ loadType: 'pagination',
1126
+ api: listApi
1127
+ }), enableBulkEdit ? {
1128
+ quickSaveApi: bulkEditApi
1129
+ } : {}), enableEdit ? {
1130
+ quickSaveItemApi: editApi
1131
+ } : {})];
1132
+ if (!(feats === null || feats === void 0 ? void 0 : feats.includes(DSFeatureEnum.SimpleQuery))) return [3 /*break*/, 2];
1133
+ _f = {};
1134
+ return [4 /*yield*/, this.buildCRUDFilterSchema(options, id)];
1135
+ case 1:
1136
+ _d = (_f.filter = _h.sent(), _f);
1137
+ return [3 /*break*/, 3];
1138
+ case 2:
1139
+ _d = {};
1140
+ _h.label = 3;
1141
+ case 3:
1142
+ _e = [__assign.apply(void 0, _c.concat([_d]))];
1143
+ _g = {};
1144
+ return [4 /*yield*/, this.buildHeaderToolbar(options, id)];
1145
+ case 4:
1146
+ _g.headerToolbar = _h.sent(), _g.footerToolbar = this.buildFooterToolbar(options, id);
1147
+ return [4 /*yield*/, this.buildCRUDColumnsSchema(options, id)];
1148
+ case 5:
1149
+ /** 暂时不考虑 cards 和 list */
1150
+ return [2 /*return*/, __assign.apply(void 0, _e.concat([(_g.columns = _h.sent(), _g)]))];
1151
+ }
1152
+ });
1153
+ });
1154
+ };
1155
+ ApiDSBuilder.prototype.buildFormSchema = function (options) {
1156
+ var _a;
1157
+ return __awaiter(this, void 0, void 0, function () {
1158
+ var feat, scaffoldConfig, _b, initApi, __pristineSchema, formSchema, id, baseSchema;
1159
+ return __generator(this, function (_c) {
1160
+ switch (_c.label) {
1161
+ case 0:
1162
+ feat = options.feat, scaffoldConfig = options.scaffoldConfig;
1163
+ _b = scaffoldConfig || {}, initApi = _b.initApi, __pristineSchema = _b.__pristineSchema;
1164
+ id = (_a = __pristineSchema === null || __pristineSchema === void 0 ? void 0 : __pristineSchema.id) !== null && _a !== void 0 ? _a : generateNodeId();
1165
+ if (!(feat === 'Insert')) return [3 /*break*/, 2];
1166
+ return [4 /*yield*/, this.buildInsertSchema(options, id)];
1167
+ case 1:
1168
+ formSchema = _c.sent();
1169
+ return [3 /*break*/, 6];
1170
+ case 2:
1171
+ if (!(feat === 'Edit')) return [3 /*break*/, 4];
1172
+ return [4 /*yield*/, this.buildEditSchema(options, id)];
1173
+ case 3:
1174
+ formSchema = _c.sent();
1175
+ return [3 /*break*/, 6];
1176
+ case 4:
1177
+ return [4 /*yield*/, this.buildBulkEditSchema(options, id)];
1178
+ case 5:
1179
+ formSchema = _c.sent();
1180
+ _c.label = 6;
1181
+ case 6:
1182
+ baseSchema = __assign(__assign(__assign({}, formSchema), feat === 'Edit' ? {
1183
+ initApi: initApi
1184
+ } : {}), {
1185
+ dsType: this.key
1186
+ });
1187
+ if (__pristineSchema && isObject(__pristineSchema)) {
1188
+ return [2 /*return*/, __assign(__assign(__assign({}, __pristineSchema), baseSchema), {
1189
+ id: id
1190
+ })];
1191
+ }
1192
+ return [2 /*return*/, baseSchema];
1193
+ }
1194
+ });
1195
+ });
1196
+ };
1197
+ ApiDSBuilder.prototype.buildApiSchema = function (options) {
1198
+ return __awaiter(this, void 0, void 0, function () {
1199
+ var schema;
1200
+ return __generator(this, function (_a) {
1201
+ schema = options.schema;
1202
+ return [2 /*return*/, schema];
1203
+ });
1204
+ });
1205
+ };
1206
+ ApiDSBuilder.key = 'api';
1207
+ return ApiDSBuilder;
1208
+ }(DSBuilder);
1209
+ registerDSBuilder(ApiDSBuilder);
1210
+
1211
+ export { ApiDSBuilder };
1212
+ window.amisEditorVersionInfo={version:'5.5.2-beta.2',buildTime:'2023-09-28'};