amis 1.9.0-beta.12 → 1.9.0-beta.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (365) hide show
  1. package/lib/Schema.d.ts +4 -2
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/SchemaRenderer.d.ts +2 -2
  4. package/lib/SchemaRenderer.js +3 -3
  5. package/lib/SchemaRenderer.js.map +2 -2
  6. package/lib/actions/Action.d.ts +8 -6
  7. package/lib/actions/Action.js.map +2 -2
  8. package/lib/actions/AjaxAction.d.ts +10 -7
  9. package/lib/actions/AjaxAction.js +27 -21
  10. package/lib/actions/AjaxAction.js.map +2 -2
  11. package/lib/actions/BreakAction.d.ts +2 -2
  12. package/lib/actions/BreakAction.js.map +1 -1
  13. package/lib/actions/BroadcastAction.d.ts +3 -3
  14. package/lib/actions/BroadcastAction.js +3 -2
  15. package/lib/actions/BroadcastAction.js.map +2 -2
  16. package/lib/actions/CmptAction.d.ts +2 -2
  17. package/lib/actions/CmptAction.js +7 -9
  18. package/lib/actions/CmptAction.js.map +2 -2
  19. package/lib/actions/ContinueAction.d.ts +2 -2
  20. package/lib/actions/ContinueAction.js.map +1 -1
  21. package/lib/actions/CopyAction.d.ts +7 -4
  22. package/lib/actions/CopyAction.js +8 -6
  23. package/lib/actions/CopyAction.js.map +2 -2
  24. package/lib/actions/CustomAction.d.ts +2 -2
  25. package/lib/actions/CustomAction.js.map +1 -1
  26. package/lib/actions/DialogAction.d.ts +14 -8
  27. package/lib/actions/DialogAction.js +6 -6
  28. package/lib/actions/DialogAction.js.map +2 -2
  29. package/lib/actions/DrawerAction.d.ts +3 -3
  30. package/lib/actions/DrawerAction.js.map +1 -1
  31. package/lib/actions/EmailAction.d.ts +10 -7
  32. package/lib/actions/EmailAction.js +4 -5
  33. package/lib/actions/EmailAction.js.map +2 -2
  34. package/lib/actions/LinkAction.d.ts +19 -11
  35. package/lib/actions/LinkAction.js +6 -5
  36. package/lib/actions/LinkAction.js.map +2 -2
  37. package/lib/actions/LoopAction.d.ts +6 -3
  38. package/lib/actions/LoopAction.js +22 -20
  39. package/lib/actions/LoopAction.js.map +2 -2
  40. package/lib/actions/PageAction.d.ts +8 -5
  41. package/lib/actions/PageAction.js +3 -2
  42. package/lib/actions/PageAction.js.map +2 -2
  43. package/lib/actions/ParallelAction.d.ts +2 -2
  44. package/lib/actions/ParallelAction.js.map +1 -1
  45. package/lib/actions/SwitchAction.d.ts +2 -2
  46. package/lib/actions/SwitchAction.js.map +1 -1
  47. package/lib/actions/ToastAction.d.ts +2 -2
  48. package/lib/actions/ToastAction.js +6 -4
  49. package/lib/actions/ToastAction.js.map +2 -2
  50. package/lib/components/Editor.d.ts +84 -84
  51. package/lib/components/InputBox.js +1 -1
  52. package/lib/components/InputBox.js.map +2 -2
  53. package/lib/components/Pagination.d.ts +1175 -0
  54. package/lib/components/Pagination.js +274 -0
  55. package/lib/components/Pagination.js.map +13 -0
  56. package/lib/components/PickerContainer.d.ts +1 -0
  57. package/lib/components/PickerContainer.js +3 -2
  58. package/lib/components/PickerContainer.js.map +2 -2
  59. package/lib/components/Rating.js +11 -9
  60. package/lib/components/Rating.js.map +2 -2
  61. package/lib/components/Select.js +3 -3
  62. package/lib/components/Select.js.map +2 -2
  63. package/lib/components/Tag.d.ts +148 -0
  64. package/lib/components/Tag.js +96 -0
  65. package/lib/components/Tag.js.map +13 -0
  66. package/lib/components/TooltipWrapper.d.ts +25 -21
  67. package/lib/components/TooltipWrapper.js +11 -1
  68. package/lib/components/TooltipWrapper.js.map +2 -2
  69. package/lib/components/TransferDropDown.d.ts +85 -84
  70. package/lib/components/TransferDropDown.js +2 -2
  71. package/lib/components/TransferDropDown.js.map +2 -2
  72. package/lib/components/Tree.d.ts +84 -84
  73. package/lib/components/formula/VariableList.d.ts +1 -0
  74. package/lib/components/formula/VariableList.js.map +2 -2
  75. package/lib/components/icons.js +2 -0
  76. package/lib/components/icons.js.map +2 -2
  77. package/lib/components/index.d.ts +4 -1
  78. package/lib/components/index.js +7 -1
  79. package/lib/components/index.js.map +2 -2
  80. package/lib/components/schema-editor/Array.d.ts +11 -0
  81. package/lib/components/schema-editor/Array.js +66 -0
  82. package/lib/components/schema-editor/Array.js.map +13 -0
  83. package/lib/components/schema-editor/Common.d.ts +29 -0
  84. package/lib/components/schema-editor/Common.js +69 -0
  85. package/lib/components/schema-editor/Common.js.map +13 -0
  86. package/lib/components/schema-editor/Item.d.ts +9 -0
  87. package/lib/components/schema-editor/Item.js +31 -0
  88. package/lib/components/schema-editor/Item.js.map +13 -0
  89. package/lib/components/schema-editor/Object.d.ts +44 -0
  90. package/lib/components/schema-editor/Object.js +191 -0
  91. package/lib/components/schema-editor/Object.js.map +13 -0
  92. package/lib/components/schema-editor/SchemaVariableList.d.ts +316 -0
  93. package/lib/components/schema-editor/SchemaVariableList.js +74 -0
  94. package/lib/components/schema-editor/SchemaVariableList.js.map +13 -0
  95. package/lib/components/schema-editor/SchemaVariableListPicker.d.ts +305 -0
  96. package/lib/components/schema-editor/SchemaVariableListPicker.js +32 -0
  97. package/lib/components/schema-editor/SchemaVariableListPicker.js.map +13 -0
  98. package/lib/components/schema-editor/index.d.ts +520 -0
  99. package/lib/components/schema-editor/index.js +118 -0
  100. package/lib/components/schema-editor/index.js.map +13 -0
  101. package/lib/components/table/Cell.d.ts +930 -0
  102. package/lib/components/table/Cell.js +36 -0
  103. package/lib/components/table/Cell.js.map +13 -0
  104. package/lib/components/table/HeadCellDropDown.d.ts +514 -0
  105. package/lib/components/table/HeadCellDropDown.js +52 -0
  106. package/lib/components/table/HeadCellDropDown.js.map +13 -0
  107. package/lib/components/table/HeadCellFilter.d.ts +771 -0
  108. package/lib/components/table/HeadCellFilter.js +106 -0
  109. package/lib/components/table/HeadCellFilter.js.map +13 -0
  110. package/lib/components/table/HeadCellSelect.d.ts +672 -0
  111. package/lib/components/table/HeadCellSelect.js +46 -0
  112. package/lib/components/table/HeadCellSelect.js.map +13 -0
  113. package/lib/components/table/HeadCellSort.d.ts +498 -0
  114. package/lib/components/table/HeadCellSort.js +67 -0
  115. package/lib/components/table/HeadCellSort.js.map +13 -0
  116. package/lib/components/table/index.d.ts +1355 -0
  117. package/lib/components/table/index.js +1095 -0
  118. package/lib/components/table/index.js.map +13 -0
  119. package/lib/env.d.ts +2 -4
  120. package/lib/env.js.map +2 -2
  121. package/lib/factory.js +0 -95
  122. package/lib/factory.js.map +2 -2
  123. package/lib/icons/dot.js +11 -0
  124. package/lib/index.d.ts +6 -1
  125. package/lib/index.js +9 -2
  126. package/lib/index.js.map +2 -2
  127. package/lib/locale/de-DE.js +18 -1
  128. package/lib/locale/de-DE.js.map +2 -2
  129. package/lib/locale/en-US.js +18 -1
  130. package/lib/locale/en-US.js.map +2 -2
  131. package/lib/locale/zh-CN.js +20 -1
  132. package/lib/locale/zh-CN.js.map +2 -2
  133. package/lib/renderers/Action.js +0 -2
  134. package/lib/renderers/Action.js.map +2 -2
  135. package/lib/renderers/Carousel.d.ts +5 -1
  136. package/lib/renderers/Carousel.js +18 -5
  137. package/lib/renderers/Carousel.js.map +2 -2
  138. package/lib/renderers/Form/ButtonGroupSelect.d.ts +2 -0
  139. package/lib/renderers/Form/ButtonGroupSelect.js +7 -0
  140. package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
  141. package/lib/renderers/Form/Checkbox.js +3 -4
  142. package/lib/renderers/Form/Checkbox.js.map +2 -2
  143. package/lib/renderers/Form/Checkboxes.d.ts +2 -1
  144. package/lib/renderers/Form/Checkboxes.js +19 -14
  145. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  146. package/lib/renderers/Form/Combo.js +23 -4
  147. package/lib/renderers/Form/Combo.js.map +2 -2
  148. package/lib/renderers/Form/DiffEditor.d.ts +126 -18
  149. package/lib/renderers/Form/Editor.d.ts +412 -112
  150. package/lib/renderers/Form/Editor.js +10 -1
  151. package/lib/renderers/Form/Editor.js.map +2 -2
  152. package/lib/renderers/Form/InputExcel.js +6 -1
  153. package/lib/renderers/Form/InputExcel.js.map +2 -2
  154. package/lib/renderers/Form/InputFile.js +1 -2
  155. package/lib/renderers/Form/InputFile.js.map +2 -2
  156. package/lib/renderers/Form/InputTree.js +1 -1
  157. package/lib/renderers/Form/InputTree.js.map +2 -2
  158. package/lib/renderers/Form/Item.d.ts +0 -6
  159. package/lib/renderers/Form/JSONSchemaEditor.d.ts +41 -0
  160. package/lib/renderers/Form/JSONSchemaEditor.js +33 -0
  161. package/lib/renderers/Form/JSONSchemaEditor.js.map +13 -0
  162. package/lib/renderers/Form/ListSelect.d.ts +2 -0
  163. package/lib/renderers/Form/ListSelect.js +7 -0
  164. package/lib/renderers/Form/ListSelect.js.map +2 -2
  165. package/lib/renderers/Form/Options.js +1 -0
  166. package/lib/renderers/Form/Options.js.map +2 -2
  167. package/lib/renderers/Form/Select.js +12 -1
  168. package/lib/renderers/Form/Select.js.map +2 -2
  169. package/lib/renderers/Form/TabsTransfer.d.ts +1 -1
  170. package/lib/renderers/Form/TabsTransfer.js +2 -2
  171. package/lib/renderers/Form/TabsTransfer.js.map +2 -2
  172. package/lib/renderers/Form/TreeSelect.d.ts +4 -0
  173. package/lib/renderers/Form/TreeSelect.js +2 -2
  174. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  175. package/lib/renderers/Form/wrapControl.js +10 -5
  176. package/lib/renderers/Form/wrapControl.js.map +2 -2
  177. package/lib/renderers/Pagination.d.ts +49 -30
  178. package/lib/renderers/Pagination.js +3 -132
  179. package/lib/renderers/Pagination.js.map +2 -2
  180. package/lib/renderers/Table/HeadCellSearchDropdown.js +0 -1
  181. package/lib/renderers/Table/HeadCellSearchDropdown.js.map +2 -2
  182. package/lib/renderers/Table-v2/HeadCellSearchDropdown.d.ts +29 -0
  183. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +158 -0
  184. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +13 -0
  185. package/lib/renderers/Table-v2/TableCell.d.ts +6 -0
  186. package/lib/renderers/Table-v2/TableCell.js +28 -0
  187. package/lib/renderers/Table-v2/TableCell.js.map +13 -0
  188. package/lib/renderers/Table-v2/index.d.ts +256 -0
  189. package/lib/renderers/Table-v2/index.js +548 -0
  190. package/lib/renderers/Table-v2/index.js.map +13 -0
  191. package/lib/renderers/Tabs.js +1 -1
  192. package/lib/renderers/Tabs.js.map +2 -2
  193. package/lib/renderers/Tag.d.ts +66 -0
  194. package/lib/renderers/Tag.js +53 -0
  195. package/lib/renderers/Tag.js.map +13 -0
  196. package/lib/renderers/Wizard.js +3 -3
  197. package/lib/renderers/Wizard.js.map +2 -2
  198. package/lib/schemaExtend.js +24 -30
  199. package/lib/schemaExtend.js.map +2 -2
  200. package/lib/store/combo.d.ts +140 -20
  201. package/lib/store/form.d.ts +56 -8
  202. package/lib/store/formItem.d.ts +3 -1
  203. package/lib/store/formItem.js +3 -1
  204. package/lib/store/formItem.js.map +2 -2
  205. package/lib/store/index.js +2 -0
  206. package/lib/store/index.js.map +2 -2
  207. package/lib/store/table-v2.d.ts +308 -0
  208. package/lib/store/table-v2.js +452 -0
  209. package/lib/store/table-v2.js.map +13 -0
  210. package/lib/store/table.d.ts +112 -16
  211. package/lib/store/table.js +1 -1
  212. package/lib/store/table.js.map +2 -2
  213. package/lib/themes/ang-ie11.css +1686 -120
  214. package/lib/themes/ang.css +1807 -208
  215. package/lib/themes/ang.css.map +1 -1
  216. package/lib/themes/antd-ie11.css +1667 -101
  217. package/lib/themes/antd.css +1789 -201
  218. package/lib/themes/antd.css.map +1 -1
  219. package/lib/themes/cxd-ie11.css +1662 -97
  220. package/lib/themes/cxd.css +1983 -394
  221. package/lib/themes/cxd.css.map +1 -1
  222. package/lib/themes/dark-ie11.css +1667 -101
  223. package/lib/themes/dark.css +1789 -201
  224. package/lib/themes/dark.css.map +1 -1
  225. package/lib/themes/default-ie11.css +1662 -97
  226. package/lib/themes/default.css +1983 -394
  227. package/lib/themes/default.css.map +1 -1
  228. package/lib/utils/DataSchema.d.ts +25 -0
  229. package/lib/utils/DataSchema.js +104 -0
  230. package/lib/utils/DataSchema.js.map +13 -0
  231. package/lib/utils/DataScope.d.ts +23 -0
  232. package/lib/utils/DataScope.js +140 -0
  233. package/lib/utils/DataScope.js.map +13 -0
  234. package/lib/utils/handleAction.js +1 -1
  235. package/lib/utils/handleAction.js.map +2 -2
  236. package/lib/utils/renderer-event.d.ts +8 -2
  237. package/lib/utils/renderer-event.js +102 -1
  238. package/lib/utils/renderer-event.js.map +2 -2
  239. package/package.json +3 -2
  240. package/schema.json +1476 -469
  241. package/scss/_properties.scss +69 -0
  242. package/scss/components/_button.scss +37 -39
  243. package/scss/components/_context-menu.scss +3 -18
  244. package/scss/components/_json-schema-editor.scss +126 -0
  245. package/scss/components/_pagination.scss +104 -23
  246. package/scss/components/_result-box.scss +2 -2
  247. package/scss/components/_table-v2.scss +912 -0
  248. package/scss/components/_tag.scss +177 -0
  249. package/scss/components/form/_selection.scss +1 -14
  250. package/scss/components/form/_text.scss +1 -1
  251. package/scss/themes/_antd-variables.scss +0 -13
  252. package/scss/themes/_common.scss +3 -0
  253. package/scss/themes/_cxd-variables.scss +7 -17
  254. package/scss/themes/_dark-variables.scss +0 -13
  255. package/scss/themes/cxd.scss +1 -1
  256. package/sdk/ang-ie11.css +2240 -227
  257. package/sdk/ang.css +2905 -859
  258. package/sdk/antd-ie11.css +2233 -220
  259. package/sdk/antd.css +2905 -870
  260. package/sdk/barcode.js +51 -51
  261. package/sdk/charts.js +14 -14
  262. package/sdk/codemirror.js +7 -7
  263. package/sdk/color-picker.js +65 -65
  264. package/sdk/cropperjs.js +2 -2
  265. package/sdk/cxd-ie11.css +2223 -211
  266. package/sdk/cxd.css +2911 -875
  267. package/sdk/dark-ie11.css +2233 -220
  268. package/sdk/dark.css +2905 -870
  269. package/sdk/exceljs.js +1 -1
  270. package/sdk/locale/de-DE.js +18 -1
  271. package/sdk/markdown.js +69 -69
  272. package/sdk/papaparse.js +1 -1
  273. package/sdk/renderers/Form/CityDB.js +1 -1
  274. package/sdk/rest.js +16 -16
  275. package/sdk/rich-text.js +62 -62
  276. package/sdk/sdk-ie11.css +2223 -211
  277. package/sdk/sdk.css +2911 -875
  278. package/sdk/sdk.js +1326 -1270
  279. package/sdk/thirds/hls.js/hls.js +1 -1
  280. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  281. package/sdk/tinymce.js +57 -57
  282. package/src/Schema.ts +7 -0
  283. package/src/SchemaRenderer.tsx +4 -5
  284. package/src/actions/Action.ts +7 -6
  285. package/src/actions/AjaxAction.ts +33 -24
  286. package/src/actions/BreakAction.ts +2 -2
  287. package/src/actions/BroadcastAction.ts +6 -5
  288. package/src/actions/CmptAction.ts +5 -6
  289. package/src/actions/ContinueAction.ts +2 -2
  290. package/src/actions/CopyAction.ts +14 -8
  291. package/src/actions/CustomAction.ts +2 -2
  292. package/src/actions/DialogAction.ts +16 -10
  293. package/src/actions/DrawerAction.ts +3 -3
  294. package/src/actions/EmailAction.ts +12 -12
  295. package/src/actions/LinkAction.ts +34 -14
  296. package/src/actions/LoopAction.ts +13 -8
  297. package/src/actions/PageAction.ts +9 -6
  298. package/src/actions/ParallelAction.ts +2 -2
  299. package/src/actions/SwitchAction.ts +2 -2
  300. package/src/actions/ToastAction.ts +9 -5
  301. package/src/components/InputBox.tsx +1 -0
  302. package/src/components/Pagination.tsx +446 -0
  303. package/src/components/PickerContainer.tsx +8 -5
  304. package/src/components/Rating.tsx +16 -9
  305. package/src/components/Select.tsx +3 -3
  306. package/src/components/Tag.tsx +179 -0
  307. package/src/components/TooltipWrapper.tsx +14 -1
  308. package/src/components/TransferDropDown.tsx +3 -0
  309. package/src/components/formula/VariableList.tsx +1 -0
  310. package/src/components/icons.tsx +2 -0
  311. package/src/components/index.tsx +7 -1
  312. package/src/components/schema-editor/Array.tsx +95 -0
  313. package/src/components/schema-editor/Common.tsx +138 -0
  314. package/src/components/schema-editor/Item.tsx +36 -0
  315. package/src/components/schema-editor/Object.tsx +299 -0
  316. package/src/components/schema-editor/SchemaVariableList.tsx +97 -0
  317. package/src/components/schema-editor/SchemaVariableListPicker.tsx +66 -0
  318. package/src/components/schema-editor/index.tsx +211 -0
  319. package/src/components/table/Cell.tsx +70 -0
  320. package/src/components/table/HeadCellDropDown.tsx +115 -0
  321. package/src/components/table/HeadCellFilter.tsx +193 -0
  322. package/src/components/table/HeadCellSelect.tsx +86 -0
  323. package/src/components/table/HeadCellSort.tsx +102 -0
  324. package/src/components/table/index.tsx +1681 -0
  325. package/src/env.tsx +7 -14
  326. package/src/factory.tsx +3 -106
  327. package/src/icons/dot.svg +11 -0
  328. package/src/index.tsx +8 -1
  329. package/src/locale/de-DE.ts +18 -1
  330. package/src/locale/en-US.ts +18 -1
  331. package/src/locale/zh-CN.ts +20 -1
  332. package/src/renderers/Action.tsx +1 -1
  333. package/src/renderers/Carousel.tsx +21 -6
  334. package/src/renderers/Form/ButtonGroupSelect.tsx +10 -1
  335. package/src/renderers/Form/Checkbox.tsx +4 -4
  336. package/src/renderers/Form/Checkboxes.tsx +31 -25
  337. package/src/renderers/Form/Combo.tsx +20 -4
  338. package/src/renderers/Form/Editor.tsx +15 -1
  339. package/src/renderers/Form/InputExcel.tsx +6 -1
  340. package/src/renderers/Form/InputFile.tsx +1 -2
  341. package/src/renderers/Form/InputTree.tsx +1 -1
  342. package/src/renderers/Form/JSONSchemaEditor.tsx +67 -0
  343. package/src/renderers/Form/ListSelect.tsx +9 -1
  344. package/src/renderers/Form/Options.tsx +1 -1
  345. package/src/renderers/Form/Select.tsx +7 -0
  346. package/src/renderers/Form/TabsTransfer.tsx +2 -2
  347. package/src/renderers/Form/TreeSelect.tsx +8 -1
  348. package/src/renderers/Form/wrapControl.tsx +11 -5
  349. package/src/renderers/Pagination.tsx +65 -253
  350. package/src/renderers/Table/HeadCellSearchDropdown.tsx +0 -1
  351. package/src/renderers/Table-v2/HeadCellSearchDropdown.tsx +244 -0
  352. package/src/renderers/Table-v2/TableCell.tsx +19 -0
  353. package/src/renderers/Table-v2/index.tsx +1140 -0
  354. package/src/renderers/Tabs.tsx +1 -1
  355. package/src/renderers/Tag.tsx +128 -0
  356. package/src/renderers/Wizard.tsx +3 -3
  357. package/src/schemaExtend.ts +24 -28
  358. package/src/store/formItem.ts +5 -1
  359. package/src/store/index.ts +2 -0
  360. package/src/store/table-v2.ts +646 -0
  361. package/src/store/table.ts +1 -1
  362. package/src/utils/DataSchema.ts +131 -0
  363. package/src/utils/DataScope.ts +190 -0
  364. package/src/utils/handleAction.ts +1 -1
  365. package/src/utils/renderer-event.ts +113 -2
package/lib/Schema.d.ts CHANGED
@@ -110,8 +110,10 @@ import { UUIDControlSchema } from './renderers/Form/UUID';
110
110
  import { FormControlSchema } from './renderers/Form/Control';
111
111
  import { TransferPickerControlSchema } from './renderers/Form/TransferPicker';
112
112
  import { TabsTransferPickerControlSchema } from './renderers/Form/TabsTransferPicker';
113
- export declare type SchemaType = 'form' | 'button' | 'submit' | 'reset' | 'alert' | 'app' | 'audio' | 'avatar' | 'button-group' | 'button-toolbar' | 'breadcrumb' | 'card' | 'card2' | 'cards' | 'carousel' | 'chart' | 'calendar' | 'collapse' | 'collapse-group' | 'color' | 'container' | 'crud' | 'custom' | 'date' | 'static-date' | 'datetime' | 'static-datetime' | 'time' | 'static-time' | 'month' | 'static-month' | 'dialog' | 'spinner' | 'divider' | 'dropdown-button' | 'drawer' | 'each' | 'flex' | 'flex-item' | 'grid' | 'grid-2d' | 'hbox' | 'icon' | 'iframe' | 'image' | 'static-image' | 'images' | 'static-images' | 'json' | 'static-json' | 'link' | 'list' | 'log' | 'static-list' | 'map' | 'mapping' | 'markdown' | 'nav' | 'page' | 'pagination' | 'pagination-wrapper' | 'property' | 'operation' | 'panel' | 'plain' | 'text' | 'progress' | 'qrcode' | 'qr-code' | 'barcode' | 'remark' | 'search-box' | 'service' | 'sparkline' | 'status' | 'switch' | 'table' | 'static-table' | 'tabs' | 'html' | 'tpl' | 'tasks' | 'vbox' | 'video' | 'wizard' | 'wrapper' | 'web-component' | 'anchor-nav' | 'steps' | 'timeline' | 'control' | 'input-array' | 'button' | 'submit' | 'reset' | 'button-group-select' | 'button-toolbar' | 'chained-select' | 'chart-radios' | 'checkbox' | 'checkboxes' | 'input-city' | 'input-color' | 'combo' | 'condition-builder' | 'container' | 'input-date' | 'input-datetime' | 'input-time' | 'input-quarter' | 'input-year' | 'input-month' | 'input-date-range' | 'input-time-range' | 'input-datetime-range' | 'input-excel' | 'input-formula' | 'diff-editor' | 'editor' | 'bat-editor' | 'c-editor' | 'coffeescript-editor' | 'cpp-editor' | 'csharp-editor' | 'css-editor' | 'dockerfile-editor' | 'fsharp-editor' | 'go-editor' | 'handlebars-editor' | 'html-editor' | 'ini-editor' | 'java-editor' | 'javascript-editor' | 'json-editor' | 'less-editor' | 'lua-editor' | 'markdown-editor' | 'msdax-editor' | 'objective-c-editor' | 'php-editor' | 'plaintext-editor' | 'postiats-editor' | 'powershell-editor' | 'pug-editor' | 'python-editor' | 'r-editor' | 'razor-editor' | 'ruby-editor' | 'sb-editor' | 'scss-editor' | 'sol-editor' | 'sql-editor' | 'swift-editor' | 'typescript-editor' | 'vb-editor' | 'xml-editor' | 'yaml-editor' | 'fieldset' | 'fieldSet' | 'input-file' | 'formula' | 'grid' | 'group' | 'hbox' | 'hidden' | 'icon-picker' | 'input-image' | 'input-group' | 'list-select' | 'location-picker' | 'matrix-checkboxes' | 'input-month-range' | 'input-quarter-range' | 'nested-select' | 'input-number' | 'panel' | 'picker' | 'radios' | 'input-range' | 'input-rating' | 'input-repeat' | 'input-rich-text' | 'select' | 'service' | 'static' | 'input-sub-form' | 'switch' | 'input-table' | 'tabs' | 'tabs-transfer' | 'input-tag' | 'input-text' | 'input-password' | 'input-email' | 'input-url' | 'uuid' | 'multi-select' | 'textarea' | 'transfer' | 'transfer-picker' | 'tabs-transfer-picker' | 'input-tree' | 'tree-select' | 'table-view' | 'portlet' | 'grid-nav' | 'native-date' | 'native-time' | 'native-number' | 'code' | 'tooltip-wrapper';
114
- export declare type SchemaObject = PageSchema | TplSchema | RemarkSchema | ActionSchema | AlertSchema | AudioSchema | AvatarSchema | ButtonGroupSchema | ButtonToolbarSchema | CalendarSchema | CardSchema | CardsSchema | CarouselSchema | ChartSchema | CollapseSchema | CollapseGroupSchema | ColorSchema | ContainerSchema | CRUDSchema | DateSchema | DialogSchema | DividerSchema | DrawerSchema | DropdownButtonSchema | EachSchema | GridSchema | Grid2DSchema | HBoxSchema | IconSchema | IFrameSchema | ImageSchema | ImagesSchema | JsonSchema | LinkSchema | ListSchema | MappingSchema | NavSchema | OperationSchema | PaginationSchema | PaginationWrapperSchema | PanelSchema | PlainSchema | ProgressSchema | QRCodeSchema | SearchBoxSchema | ServiceSchema | SparkLineSchema | StatusSchema | SpinnerSchema | TableSchema | TabsSchema | TasksSchema | VBoxSchema | VideoSchema | WizardSchema | WrapperSchema | TooltipWrapperSchema | FormSchema | AnchorNavSchema | StepsSchema | PortletSchema | TimelineSchema | FormControlSchema | ArrayControlSchema | ButtonGroupControlSchema | ChainedSelectControlSchema | CheckboxControlSchema | CheckboxesControlSchema | InputCityControlSchema | InputColorControlSchema | ComboControlSchema | ConditionBuilderControlSchema | DateControlSchema | DateTimeControlSchema | TimeControlSchema | MonthControlSchema | MonthControlSchema | QuarterControlSchema | YearControlSchema | DateRangeControlSchema | DiffControlSchema | EditorControlSchema | FieldSetControlSchema | FileControlSchema | FormulaControlSchema | GroupControlSchema | HiddenControlSchema | IconPickerControlSchema | ImageControlSchema | InputGroupControlSchema | ListControlSchema | LocationControlSchema | UUIDControlSchema | MatrixControlSchema | MonthRangeControlSchema | QuarterRangeControlSchema | NestedSelectControlSchema | NumberControlSchema | PickerControlSchema | RadiosControlSchema | RangeControlSchema | RatingControlSchema | RichTextControlSchema | RepeatControlSchema | SelectControlSchema | SubFormControlSchema | SwitchControlSchema | StaticExactControlSchema | TableControlSchema | TabsTransferControlSchema | TagControlSchema | TextControlSchema | TextareaControlSchema | TransferControlSchema | TransferPickerControlSchema | TabsTransferPickerControlSchema | TreeControlSchema | TreeSelectControlSchema;
113
+ import { JSONSchemaEditorControlSchema } from './renderers/Form/JSONSchemaEditor';
114
+ import { TableSchemaV2 } from './renderers/Table-v2';
115
+ export declare type SchemaType = 'form' | 'button' | 'submit' | 'reset' | 'alert' | 'app' | 'audio' | 'avatar' | 'button-group' | 'button-toolbar' | 'breadcrumb' | 'card' | 'card2' | 'cards' | 'carousel' | 'chart' | 'calendar' | 'collapse' | 'collapse-group' | 'color' | 'container' | 'crud' | 'custom' | 'date' | 'static-date' | 'datetime' | 'static-datetime' | 'time' | 'static-time' | 'month' | 'static-month' | 'dialog' | 'spinner' | 'divider' | 'dropdown-button' | 'drawer' | 'each' | 'flex' | 'flex-item' | 'grid' | 'grid-2d' | 'hbox' | 'icon' | 'iframe' | 'image' | 'static-image' | 'images' | 'static-images' | 'json-schema-editor' | 'json' | 'static-json' | 'link' | 'list' | 'log' | 'static-list' | 'map' | 'mapping' | 'markdown' | 'nav' | 'page' | 'pagination' | 'pagination-wrapper' | 'property' | 'operation' | 'panel' | 'plain' | 'text' | 'progress' | 'qrcode' | 'qr-code' | 'barcode' | 'remark' | 'search-box' | 'service' | 'sparkline' | 'status' | 'switch' | 'table' | 'static-table' | 'table-v2' | 'tabs' | 'html' | 'tpl' | 'tasks' | 'vbox' | 'video' | 'wizard' | 'wrapper' | 'web-component' | 'anchor-nav' | 'steps' | 'timeline' | 'control' | 'input-array' | 'button' | 'submit' | 'reset' | 'button-group-select' | 'button-toolbar' | 'chained-select' | 'chart-radios' | 'checkbox' | 'checkboxes' | 'input-city' | 'input-color' | 'combo' | 'condition-builder' | 'container' | 'input-date' | 'input-datetime' | 'input-time' | 'input-quarter' | 'input-year' | 'input-month' | 'input-date-range' | 'input-time-range' | 'input-datetime-range' | 'input-excel' | 'input-formula' | 'diff-editor' | 'editor' | 'bat-editor' | 'c-editor' | 'coffeescript-editor' | 'cpp-editor' | 'csharp-editor' | 'css-editor' | 'dockerfile-editor' | 'fsharp-editor' | 'go-editor' | 'handlebars-editor' | 'html-editor' | 'ini-editor' | 'java-editor' | 'javascript-editor' | 'json-editor' | 'less-editor' | 'lua-editor' | 'markdown-editor' | 'msdax-editor' | 'objective-c-editor' | 'php-editor' | 'plaintext-editor' | 'postiats-editor' | 'powershell-editor' | 'pug-editor' | 'python-editor' | 'r-editor' | 'razor-editor' | 'ruby-editor' | 'sb-editor' | 'scss-editor' | 'sol-editor' | 'sql-editor' | 'swift-editor' | 'typescript-editor' | 'vb-editor' | 'xml-editor' | 'yaml-editor' | 'fieldset' | 'fieldSet' | 'input-file' | 'formula' | 'grid' | 'group' | 'hbox' | 'hidden' | 'icon-picker' | 'input-image' | 'input-group' | 'list-select' | 'location-picker' | 'matrix-checkboxes' | 'input-month-range' | 'input-quarter-range' | 'nested-select' | 'input-number' | 'panel' | 'picker' | 'radios' | 'input-range' | 'input-rating' | 'input-repeat' | 'input-rich-text' | 'select' | 'service' | 'static' | 'input-sub-form' | 'switch' | 'input-table' | 'tabs' | 'tabs-transfer' | 'input-tag' | 'input-text' | 'input-password' | 'input-email' | 'input-url' | 'uuid' | 'multi-select' | 'textarea' | 'transfer' | 'transfer-picker' | 'tabs-transfer-picker' | 'input-tree' | 'tree-select' | 'table-view' | 'portlet' | 'grid-nav' | 'tag' | 'native-date' | 'native-time' | 'native-number' | 'code' | 'tooltip-wrapper';
116
+ export declare type SchemaObject = PageSchema | TplSchema | RemarkSchema | ActionSchema | AlertSchema | AudioSchema | AvatarSchema | ButtonGroupSchema | ButtonToolbarSchema | CalendarSchema | CardSchema | CardsSchema | CarouselSchema | ChartSchema | CollapseSchema | CollapseGroupSchema | ColorSchema | ContainerSchema | CRUDSchema | DateSchema | DialogSchema | DividerSchema | DrawerSchema | DropdownButtonSchema | EachSchema | GridSchema | Grid2DSchema | HBoxSchema | IconSchema | IFrameSchema | ImageSchema | ImagesSchema | JsonSchema | LinkSchema | ListSchema | MappingSchema | NavSchema | OperationSchema | PaginationSchema | PaginationWrapperSchema | PanelSchema | PlainSchema | ProgressSchema | QRCodeSchema | SearchBoxSchema | ServiceSchema | SparkLineSchema | StatusSchema | SpinnerSchema | TableSchema | TableSchemaV2 | TabsSchema | TasksSchema | VBoxSchema | VideoSchema | WizardSchema | WrapperSchema | TooltipWrapperSchema | FormSchema | AnchorNavSchema | StepsSchema | PortletSchema | TimelineSchema | FormControlSchema | ArrayControlSchema | ButtonGroupControlSchema | ChainedSelectControlSchema | CheckboxControlSchema | CheckboxesControlSchema | InputCityControlSchema | InputColorControlSchema | ComboControlSchema | ConditionBuilderControlSchema | DateControlSchema | DateTimeControlSchema | TimeControlSchema | MonthControlSchema | MonthControlSchema | QuarterControlSchema | YearControlSchema | DateRangeControlSchema | DiffControlSchema | EditorControlSchema | FieldSetControlSchema | FileControlSchema | FormulaControlSchema | GroupControlSchema | HiddenControlSchema | IconPickerControlSchema | ImageControlSchema | InputGroupControlSchema | ListControlSchema | JSONSchemaEditorControlSchema | LocationControlSchema | UUIDControlSchema | MatrixControlSchema | MonthRangeControlSchema | QuarterRangeControlSchema | NestedSelectControlSchema | NumberControlSchema | PickerControlSchema | RadiosControlSchema | RangeControlSchema | RatingControlSchema | RichTextControlSchema | RepeatControlSchema | SelectControlSchema | SubFormControlSchema | SwitchControlSchema | StaticExactControlSchema | TableControlSchema | TabsTransferControlSchema | TagControlSchema | TextControlSchema | TextareaControlSchema | TransferControlSchema | TransferPickerControlSchema | TabsTransferPickerControlSchema | TreeControlSchema | TreeSelectControlSchema;
115
117
  export declare type SchemaCollection = SchemaObject | SchemaTpl | Array<SchemaObject | SchemaTpl>;
116
118
  /**
117
119
  * 表达式,语法 `data.xxx > 5`。
package/lib/Schema.js.map CHANGED
@@ -8,6 +8,6 @@
8
8
  "names": [],
9
9
  "mappings": "",
10
10
  "sourcesContent": [
11
- "import {PageSchema} from './renderers/Page';\nimport {TplSchema} from './renderers/Tpl';\nimport {RemarkSchema} from './renderers/Remark';\nimport {ActionSchema} from './renderers/Action';\nimport {AlertSchema} from './renderers/Alert';\nimport {AudioSchema} from './renderers/Audio';\nimport {ButtonGroupSchema} from './renderers/ButtonGroup';\nimport {ButtonToolbarSchema} from './renderers/Form/ButtonToolbar';\nimport {CardSchema} from './renderers/Card';\nimport {CardsSchema} from './renderers/Cards';\nimport {FormSchema} from './renderers/Form';\nimport {CalendarSchema} from './renderers/Calendar';\nimport {CarouselSchema} from './renderers/Carousel';\nimport {ChartSchema} from './renderers/Chart';\nimport {CollapseSchema} from './renderers/Collapse';\nimport {CollapseGroupSchema} from './renderers/CollapseGroup';\nimport {ColorSchema} from './renderers/Color';\nimport {ContainerSchema} from './renderers/Container';\nimport {CRUDSchema} from './renderers/CRUD';\nimport {DateSchema} from './renderers/Date';\nimport {DividerSchema} from './renderers/Divider';\nimport {DropdownButtonSchema} from './renderers/DropDownButton';\nimport {EachSchema} from './renderers/Each';\nimport {GridSchema} from './renderers/Grid';\nimport {Grid2DSchema} from './renderers/Grid2D';\nimport {HBoxSchema} from './renderers/HBox';\nimport {IconSchema} from './renderers/Icon';\nimport {IFrameSchema} from './renderers/IFrame';\nimport {ImageSchema} from './renderers/Image';\nimport {ImagesSchema} from './renderers/Images';\nimport {JsonSchema} from './renderers/Json';\nimport {LinkSchema} from './renderers/Link';\nimport {ListSchema} from './renderers/List';\nimport {MappingSchema} from './renderers/Mapping';\nimport {NavSchema} from './renderers/Nav';\nimport {OperationSchema} from './renderers/Operation';\nimport {PanelSchema} from './renderers/Panel';\nimport {PlainSchema} from './renderers/Plain';\nimport {ProgressSchema} from './renderers/Progress';\nimport {QRCodeSchema} from './renderers/QRCode';\nimport {ServiceSchema} from './renderers/Service';\nimport {StatusSchema} from './renderers/Status';\nimport {TabsSchema} from './renderers/Tabs';\nimport {PortletSchema} from './renderers/Portlet';\nimport {TasksSchema} from './renderers/Tasks';\nimport {VBoxSchema} from './renderers/VBox';\nimport {VideoSchema} from './renderers/Video';\nimport {WizardSchema} from './renderers/Wizard';\nimport {WrapperSchema} from './renderers/Wrapper';\nimport {TableSchema} from './renderers/Table';\nimport {DialogSchema, DialogSchemaBase} from './renderers/Dialog';\nimport {DrawerSchema} from './renderers/Drawer';\nimport {SearchBoxSchema} from './renderers/SearchBox';\nimport {SparkLineSchema} from './renderers/SparkLine';\nimport {TooltipWrapperSchema} from './renderers/TooltipWrapper';\nimport {PaginationWrapperSchema} from './renderers/PaginationWrapper';\nimport {PaginationSchema} from './renderers/Pagination';\nimport {AnchorNavSchema} from './renderers/AnchorNav';\nimport {AvatarSchema} from './renderers/Avatar';\nimport {StepsSchema} from './renderers/Steps';\nimport {SpinnerSchema} from './renderers/Spinner';\nimport {TimelineSchema} from './renderers/Timeline';\nimport {ArrayControlSchema} from './renderers/Form/InputArray';\nimport {ButtonGroupControlSchema} from './renderers/Form/ButtonGroupSelect';\nimport {ChainedSelectControlSchema} from './renderers/Form/ChainedSelect';\nimport {CheckboxControlSchema} from './renderers/Form/Checkbox';\nimport {CheckboxesControlSchema} from './renderers/Form/Checkboxes';\nimport {ComboControlSchema} from './renderers/Form/Combo';\nimport {ConditionBuilderControlSchema} from './renderers/Form/ConditionBuilder';\nimport {DiffControlSchema} from './renderers/Form/DiffEditor';\nimport {EditorControlSchema} from './renderers/Form/Editor';\nimport {FieldSetControlSchema} from './renderers/Form/FieldSet';\nimport {FormulaControlSchema} from './renderers/Form/Formula';\nimport {GroupControlSchema} from './renderers/Form/Group';\nimport {HiddenControlSchema} from './renderers/Form/Hidden';\nimport {IconPickerControlSchema} from './renderers/Form/IconPicker';\nimport {InputCityControlSchema} from './renderers/Form/InputCity';\nimport {InputColorControlSchema} from './renderers/Form/InputColor';\nimport {\n DateControlSchema,\n DateTimeControlSchema,\n TimeControlSchema,\n MonthControlSchema,\n QuarterControlSchema,\n YearControlSchema\n} from './renderers/Form/InputDate';\nimport {DateRangeControlSchema} from './renderers/Form/InputDateRange';\nimport {FileControlSchema} from './renderers/Form/InputFile';\nimport {InputGroupControlSchema} from './renderers/Form/InputGroup';\nimport {ImageControlSchema} from './renderers/Form/InputImage';\nimport {MonthRangeControlSchema} from './renderers/Form/InputMonthRange';\nimport {QuarterRangeControlSchema} from './renderers/Form/InputQuarterRange';\nimport {NumberControlSchema} from './renderers/Form/InputNumber';\nimport {RangeControlSchema} from './renderers/Form/InputRange';\nimport {RatingControlSchema} from './renderers/Form/InputRating';\nimport {RepeatControlSchema} from './renderers/Form/InputRepeat';\nimport {RichTextControlSchema} from './renderers/Form/InputRichText';\nimport {SubFormControlSchema} from './renderers/Form/InputSubForm';\nimport {TableControlSchema} from './renderers/Form/InputTable';\nimport {TagControlSchema} from './renderers/Form/InputTag';\nimport {TextControlSchema} from './renderers/Form/InputText';\nimport {TreeControlSchema} from './renderers/Form/InputTree';\nimport {ListControlSchema} from './renderers/Form/ListSelect';\nimport {LocationControlSchema} from './renderers/Form/LocationPicker';\nimport {MatrixControlSchema} from './renderers/Form/MatrixCheckboxes';\nimport {NestedSelectControlSchema} from './renderers/Form/NestedSelect';\nimport {PickerControlSchema} from './renderers/Form/Picker';\nimport {RadiosControlSchema} from './renderers/Form/Radios';\nimport {SelectControlSchema} from './renderers/Form/Select';\nimport {StaticExactControlSchema} from './renderers/Form/Static';\nimport {SwitchControlSchema} from './renderers/Form/Switch';\nimport {TabsTransferControlSchema} from './renderers/Form/TabsTransfer';\nimport {TextareaControlSchema} from './renderers/Form/Textarea';\nimport {TransferControlSchema} from './renderers/Form/Transfer';\nimport {TreeSelectControlSchema} from './renderers/Form/TreeSelect';\nimport {UUIDControlSchema} from './renderers/Form/UUID';\nimport {FormControlSchema} from './renderers/Form/Control';\nimport {TransferPickerControlSchema} from './renderers/Form/TransferPicker';\nimport {TabsTransferPickerControlSchema} from './renderers/Form/TabsTransferPicker';\n\n// 每加个类型,这补充一下。\nexport type SchemaType =\n | 'form'\n | 'button'\n | 'submit'\n | 'reset'\n | 'alert'\n | 'app'\n | 'audio'\n | 'avatar'\n | 'button-group'\n | 'button-toolbar'\n | 'breadcrumb'\n | 'card'\n | 'card2'\n | 'cards'\n | 'carousel'\n | 'chart'\n | 'calendar'\n | 'collapse'\n | 'collapse-group'\n | 'color'\n | 'container'\n | 'crud'\n | 'custom'\n | 'date'\n | 'static-date' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'datetime'\n | 'static-datetime' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'time'\n | 'static-time' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'month'\n | 'static-month' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'dialog'\n | 'spinner'\n | 'divider'\n | 'dropdown-button'\n | 'drawer'\n | 'each'\n | 'flex'\n | 'flex-item'\n | 'grid'\n | 'grid-2d'\n | 'hbox'\n | 'icon'\n | 'iframe'\n | 'image'\n | 'static-image' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'images'\n | 'static-images' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'json'\n | 'static-json' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'link'\n | 'list'\n | 'log'\n | 'static-list' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'map'\n | 'mapping'\n | 'markdown'\n | 'nav'\n | 'page'\n | 'pagination'\n | 'pagination-wrapper'\n | 'property'\n | 'operation'\n | 'panel'\n | 'plain'\n | 'text'\n | 'progress'\n | 'qrcode'\n | 'qr-code'\n | 'barcode'\n | 'remark'\n | 'search-box'\n | 'service'\n | 'sparkline'\n | 'status'\n | 'switch'\n | 'table'\n | 'static-table' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'tabs'\n | 'html'\n | 'tpl'\n | 'tasks'\n | 'vbox'\n | 'video'\n | 'wizard'\n | 'wrapper'\n | 'web-component'\n | 'anchor-nav'\n | 'steps'\n | 'timeline'\n | 'control'\n | 'input-array'\n | 'button'\n | 'submit'\n | 'reset'\n | 'button-group-select'\n | 'button-toolbar'\n | 'chained-select'\n | 'chart-radios'\n | 'checkbox'\n | 'checkboxes'\n | 'input-city'\n | 'input-color'\n | 'combo'\n | 'condition-builder'\n | 'container'\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-quarter'\n | 'input-year'\n | 'input-month'\n | 'input-date-range'\n | 'input-time-range'\n | 'input-datetime-range'\n | 'input-excel'\n | 'input-formula'\n | 'diff-editor'\n\n // editor 系列\n | 'editor'\n | 'bat-editor'\n | 'c-editor'\n | 'coffeescript-editor'\n | 'cpp-editor'\n | 'csharp-editor'\n | 'css-editor'\n | 'dockerfile-editor'\n | 'fsharp-editor'\n | 'go-editor'\n | 'handlebars-editor'\n | 'html-editor'\n | 'ini-editor'\n | 'java-editor'\n | 'javascript-editor'\n | 'json-editor'\n | 'less-editor'\n | 'lua-editor'\n | 'markdown-editor'\n | 'msdax-editor'\n | 'objective-c-editor'\n | 'php-editor'\n | 'plaintext-editor'\n | 'postiats-editor'\n | 'powershell-editor'\n | 'pug-editor'\n | 'python-editor'\n | 'r-editor'\n | 'razor-editor'\n | 'ruby-editor'\n | 'sb-editor'\n | 'scss-editor'\n | 'sol-editor'\n | 'sql-editor'\n | 'swift-editor'\n | 'typescript-editor'\n | 'vb-editor'\n | 'xml-editor'\n | 'yaml-editor'\n\n //\n | 'fieldset'\n | 'fieldSet'\n | 'input-file'\n | 'formula'\n | 'grid'\n | 'group'\n | 'hbox'\n | 'hidden'\n | 'icon-picker'\n | 'input-image'\n | 'input-group'\n | 'list-select'\n | 'location-picker'\n | 'matrix-checkboxes'\n | 'input-month-range'\n | 'input-quarter-range'\n | 'nested-select'\n | 'input-number'\n | 'panel'\n | 'picker'\n | 'radios'\n | 'input-range'\n | 'input-rating'\n | 'input-repeat'\n | 'input-rich-text'\n | 'select'\n | 'service'\n | 'static'\n | 'input-sub-form'\n | 'switch'\n | 'input-table'\n | 'tabs'\n | 'tabs-transfer'\n | 'input-tag'\n | 'input-text'\n | 'input-password'\n | 'input-email'\n | 'input-url'\n | 'uuid'\n | 'multi-select'\n | 'textarea'\n | 'transfer'\n | 'transfer-picker'\n | 'tabs-transfer-picker'\n | 'input-tree'\n | 'tree-select'\n | 'table-view'\n | 'portlet'\n | 'grid-nav'\n\n // 原生 input 类型\n | 'native-date'\n | 'native-time'\n | 'native-number'\n | 'code'\n | 'tooltip-wrapper';\n\nexport type SchemaObject =\n | PageSchema\n | TplSchema\n | RemarkSchema\n | ActionSchema\n | AlertSchema\n | AudioSchema\n | AvatarSchema\n | ButtonGroupSchema\n | ButtonToolbarSchema\n | CalendarSchema\n | CardSchema\n | CardsSchema\n | CarouselSchema\n | ChartSchema\n | CollapseSchema\n | CollapseGroupSchema\n | ColorSchema\n | ContainerSchema\n | CRUDSchema\n | DateSchema\n | DialogSchema\n | DividerSchema\n | DrawerSchema\n | DropdownButtonSchema\n | EachSchema\n | GridSchema\n | Grid2DSchema\n | HBoxSchema\n | IconSchema\n | IFrameSchema\n | ImageSchema\n | ImagesSchema\n | JsonSchema\n | LinkSchema\n | ListSchema\n | MappingSchema\n | NavSchema\n | OperationSchema\n | PaginationSchema\n | PaginationWrapperSchema\n | PanelSchema\n | PlainSchema\n | ProgressSchema\n | QRCodeSchema\n | SearchBoxSchema\n | ServiceSchema\n | SparkLineSchema\n | StatusSchema\n | SpinnerSchema\n | TableSchema\n | TabsSchema\n | TasksSchema\n | VBoxSchema\n | VideoSchema\n | WizardSchema\n | WrapperSchema\n | TooltipWrapperSchema\n | FormSchema\n | AnchorNavSchema\n | StepsSchema\n | PortletSchema\n | TimelineSchema\n\n // 表单项\n | FormControlSchema\n | ArrayControlSchema\n | ButtonGroupControlSchema\n | ChainedSelectControlSchema\n | CheckboxControlSchema\n | CheckboxesControlSchema\n | InputCityControlSchema\n | InputColorControlSchema\n | ComboControlSchema\n | ConditionBuilderControlSchema\n | DateControlSchema\n | DateTimeControlSchema\n | TimeControlSchema\n | MonthControlSchema\n | MonthControlSchema\n | QuarterControlSchema\n | YearControlSchema\n | DateRangeControlSchema\n | DiffControlSchema\n | EditorControlSchema\n | FieldSetControlSchema\n | FileControlSchema\n | FormulaControlSchema\n | GroupControlSchema\n | HiddenControlSchema\n | IconPickerControlSchema\n | ImageControlSchema\n | InputGroupControlSchema\n | ListControlSchema\n | LocationControlSchema\n | UUIDControlSchema\n | MatrixControlSchema\n | MonthRangeControlSchema\n | QuarterRangeControlSchema\n | NestedSelectControlSchema\n | NumberControlSchema\n | PickerControlSchema\n | RadiosControlSchema\n | RangeControlSchema\n | RatingControlSchema\n | RichTextControlSchema\n | RepeatControlSchema\n | SelectControlSchema\n | SubFormControlSchema\n | SwitchControlSchema\n | StaticExactControlSchema\n | TableControlSchema\n | TabsTransferControlSchema\n | TagControlSchema\n | TextControlSchema\n | TextareaControlSchema\n | TransferControlSchema\n | TransferPickerControlSchema\n | TabsTransferPickerControlSchema\n | TreeControlSchema\n | TreeSelectControlSchema;\n\nexport type SchemaCollection =\n | SchemaObject\n | SchemaTpl\n | Array<SchemaObject | SchemaTpl>;\n\n/**\n * 表达式,语法 `data.xxx > 5`。\n */\nexport type SchemaExpression = string;\n\n/**\n * css类名,配置字符串,或者对象。\n *\n * className: \"red\"\n *\n * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n *\n * className: {\n * \"red\": \"data.progress > 80\",\n * \"blue\": \"data.progress > 60\"\n * }\n */\nexport type SchemaClassName =\n | string\n | {\n [propName: string]: boolean | undefined | null | SchemaExpression;\n };\n\n// /**\n// * css类名,配置字符串,或者对象。\n// *\n// * className: \"red\"\n// *\n// * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n// *\n// * className: {\n// * \"red\": \"data.progress > 80\",\n// * \"blue\": \"data.progress > 60\"\n// * }\n// */\n// export type SchemaClassName = string;\n\nexport interface SchemaApiObject {\n /**\n * API 发送类型\n */\n method?: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'jsonp';\n\n /**\n * API 发送目标地址\n */\n url: SchemaUrlPath;\n\n /**\n * 用来控制携带数据. 当key 为 `&` 值为 `$$` 时, 将所有原始数据打平设置到 data 中. 当值为 $$ 将所有原始数据赋值到对应的 key 中. 当值为 $ 打头时, 将变量值设置到 key 中.\n */\n data?: {\n [propName: string]: any;\n };\n\n /**\n * 默认数据映射中的key如果带点,或者带大括号,会转成对象比如:\n *\n * {\n * 'a.b': '123'\n * }\n *\n * 经过数据映射后变成\n * {\n * a: {\n * b: '123\n * }\n * }\n *\n * 如果想要关闭此功能,请设置 convertKeyToPath 为 false\n */\n convertKeyToPath?: boolean;\n\n /**\n * 用来做接口返回的数据映射。\n */\n responseData?: {\n [propName: string]: any;\n };\n\n /**\n * 如果 method 为 get 的接口,设置了 data 信息。\n * 默认 data 会自动附带在 query 里面发送给后端。\n *\n * 如果想通过 body 发送给后端,那么请把这个配置成 false。\n *\n * 但是,浏览器还不支持啊,设置了只是摆设。除非服务端支持 method-override\n */\n attachDataToQuery?: boolean;\n\n /**\n * 发送体的格式\n */\n dataType?: 'json' | 'form-data' | 'form';\n\n /**\n * 如果是文件下载接口,请配置这个。\n */\n responseType?: 'blob';\n\n /**\n * 携带 headers,用法和 data 一样,可以用变量。\n */\n headers?: {\n [propName: string]: string | number;\n };\n\n /**\n * 设置发送条件\n */\n sendOn?: SchemaExpression;\n\n /**\n * 默认都是追加模式,如果想完全替换把这个配置成 true\n */\n replaceData?: boolean;\n\n /**\n * 是否自动刷新,当 url 中的取值结果变化时,自动刷新数据。\n *\n * @default true\n */\n autoRefresh?: boolean;\n\n /**\n * 当开启自动刷新的时候,默认是 api 的 url 来自动跟踪变量变化的。\n * 如果你希望监控 url 外的变量,请配置 traceExpression。\n */\n trackExpression?: string;\n\n /**\n * 如果设置了值,同一个接口,相同参数,指定的时间(单位:ms)内请求将直接走缓存。\n */\n cache?: number;\n\n /**\n * 强制将数据附加在 query,默认只有 api 地址中没有用变量的时候 crud 查询接口才会\n * 自动附加数据到 query 部分,如果想强制附加请设置这个属性。\n * 对于那种临时加了个变量但是又不想全部参数写一遍的时候配置很有用。\n */\n forceAppendDataToQuery?: boolean;\n\n /**\n * qs 配置项\n */\n qsOptions?: {\n arrayFormat?: 'indices' | 'brackets' | 'repeat' | 'comma';\n indices?: boolean;\n allowDots?: boolean;\n };\n\n /**\n * autoFillApi 是否显示自动填充错误提示\n */\n silent?: boolean;\n}\n\nexport type SchemaApi = string | SchemaApiObject;\n\n/**\n * 组件名字,这个名字可以用来定位,用于组件通信\n */\nexport type SchemaName = string;\n\n/**\n * 配置刷新动作,这个动作通常在完成渲染器本省的固定动作后出发。\n *\n * 一般用来配置目标组件的 name 属性。多个目标可以用逗号隔开。\n *\n * 当目标是 windows 时表示刷新整个页面。\n *\n * 刷新目标的同时还支持传递参数如: `foo?a=${a}&b=${b},boo?c=${c}`\n */\nexport type SchemaReload = string;\n\n/**\n * 页面跳转地址,支持相对地址。\n */\nexport type SchemaRedirect = string;\n\n/**\n * 支持两种语法,但是不能混着用。分别是:\n *\n * 1. `${xxx}` 或者 `${xxx|upperCase}`\n * 2. `<%= data.xxx %>`\n *\n *\n * 更多文档:https://baidu.gitee.io/amis/docs/concepts/template\n */\nexport type SchemaTpl = string;\n\n/**\n * 初始数据,设置得值可用于组件内部模板使用。\n */\nexport type SchemaDefaultData = {\n [propName: string]: any;\n};\n\n/**\n * 用来关联 json schema 的,不用管。\n */\nexport type SchemaSchema = string;\n\n/**\n * iconfont 里面的类名。\n */\nexport type SchemaIcon = string;\n\nexport type SchemaTokenizeableString = string;\n\nexport type SchemaUrlPath = SchemaTokenizeableString;\n\nexport type SchemaTooltip =\n | string\n | {\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 内容\n */\n content: string;\n };\n\n/**\n * 消息文案配置,记住这个优先级是最低的,如果你的接口返回了 msg,接口返回的优先。\n */\nexport type SchemaMessage = {\n /**\n * 获取失败时的提示\n */\n fetchFailed?: string;\n\n /**\n * 获取成功的提示,默认为空。\n */\n fetchSuccess?: string;\n\n /**\n * 保存失败时的提示。\n */\n saveFailed?: string;\n\n /**\n * 保存成功时的提示。\n */\n saveSuccess?: string;\n};\n\nexport type SchemaFunction = string | Function;\n\nexport interface BaseSchema {\n type: SchemaType;\n\n /**\n * 容器 css 类名\n */\n className?: SchemaClassName;\n\n /**\n * 配合 definitions 一起使用,可以实现无限循环的渲染器。\n */\n $ref?: string;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 是否禁用表达式\n */\n disabledOn?: SchemaExpression;\n\n /**\n * 是否隐藏\n * @deprecated 推荐用 visible\n */\n hidden?: boolean;\n\n /**\n * 是否隐藏表达式\n * @deprecated 推荐用 visibleOn\n */\n hiddenOn?: SchemaExpression;\n\n /**\n * 是否显示\n */\n\n visible?: boolean;\n\n /**\n * 是否显示表达式\n */\n visibleOn?: SchemaExpression;\n\n /**\n * 组件唯一 id,主要用于日志采集\n */\n id?: string;\n}\n\nexport interface Option {\n /**\n * 用来显示的文字\n */\n label?: string;\n\n /**\n * 可以用来给 Option 标记个范围,让数据展示更清晰。\n *\n * 这个只有在数值展示的时候显示。\n */\n scopeLabel?: string;\n\n /**\n * 请保证数值唯一,多个选项值一致会认为是同一个选项。\n */\n value?: any;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 支持嵌套\n */\n children?: Options;\n\n /**\n * 是否可见\n */\n visible?: boolean;\n\n /**\n * 最好不要用!因为有 visible 就够了。\n *\n * @deprecated 用 visible\n */\n hidden?: boolean;\n\n /**\n * 描述,部分控件支持\n */\n description?: string;\n\n /**\n * 标记后数据延时加载\n */\n defer?: boolean;\n\n /**\n * 如果设置了,优先级更高,不设置走 source 接口加载。\n */\n deferApi?: SchemaApi;\n\n /**\n * 标记正在加载。只有 defer 为 true 时有意义。内部字段不可以外部设置\n */\n loading?: boolean;\n\n /**\n * 只有设置了 defer 才有意义,内部字段不可以外部设置\n */\n loaded?: boolean;\n\n [propName: string]: any;\n}\nexport interface Options extends Array<Option> {}\n\nexport interface FeedbackDialog extends DialogSchemaBase {\n /**\n * 可以用来配置 feedback 的出现条件\n */\n visibleOn?: string;\n\n /**\n * feedback 弹框取消是否中断后续操作\n */\n skipRestOnCancel?: boolean;\n\n /**\n * feedback 弹框确认是否中断后续操作\n */\n skipRestOnConfirm?: boolean;\n}\n\nexport type RootSchema = PageSchema;\n\nexport interface ToastSchemaBase extends BaseSchema {\n /**\n * 轻提示内容\n */\n items: Array<{\n title?: SchemaCollection;\n body: SchemaCollection;\n level: 'info' | 'success' | 'error' | 'warning';\n id: string;\n position?:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right'\n | 'center';\n closeButton?: boolean;\n showIcon?: boolean;\n timeout?: number;\n }>;\n\n /**\n * 弹出位置\n */\n position:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right'\n | 'center';\n\n /**\n * 是否展示关闭按钮\n */\n closeButton: boolean;\n\n /**\n * 是否展示图标\n */\n showIcon?: boolean;\n\n /**\n * 持续时间\n */\n timeout: number;\n}\n"
11
+ "import {PageSchema} from './renderers/Page';\nimport {TplSchema} from './renderers/Tpl';\nimport {RemarkSchema} from './renderers/Remark';\nimport {ActionSchema} from './renderers/Action';\nimport {AlertSchema} from './renderers/Alert';\nimport {AudioSchema} from './renderers/Audio';\nimport {ButtonGroupSchema} from './renderers/ButtonGroup';\nimport {ButtonToolbarSchema} from './renderers/Form/ButtonToolbar';\nimport {CardSchema} from './renderers/Card';\nimport {CardsSchema} from './renderers/Cards';\nimport {FormSchema} from './renderers/Form';\nimport {CalendarSchema} from './renderers/Calendar';\nimport {CarouselSchema} from './renderers/Carousel';\nimport {ChartSchema} from './renderers/Chart';\nimport {CollapseSchema} from './renderers/Collapse';\nimport {CollapseGroupSchema} from './renderers/CollapseGroup';\nimport {ColorSchema} from './renderers/Color';\nimport {ContainerSchema} from './renderers/Container';\nimport {CRUDSchema} from './renderers/CRUD';\nimport {DateSchema} from './renderers/Date';\nimport {DividerSchema} from './renderers/Divider';\nimport {DropdownButtonSchema} from './renderers/DropDownButton';\nimport {EachSchema} from './renderers/Each';\nimport {GridSchema} from './renderers/Grid';\nimport {Grid2DSchema} from './renderers/Grid2D';\nimport {HBoxSchema} from './renderers/HBox';\nimport {IconSchema} from './renderers/Icon';\nimport {IFrameSchema} from './renderers/IFrame';\nimport {ImageSchema} from './renderers/Image';\nimport {ImagesSchema} from './renderers/Images';\nimport {JsonSchema} from './renderers/Json';\nimport {LinkSchema} from './renderers/Link';\nimport {ListSchema} from './renderers/List';\nimport {MappingSchema} from './renderers/Mapping';\nimport {NavSchema} from './renderers/Nav';\nimport {OperationSchema} from './renderers/Operation';\nimport {PanelSchema} from './renderers/Panel';\nimport {PlainSchema} from './renderers/Plain';\nimport {ProgressSchema} from './renderers/Progress';\nimport {QRCodeSchema} from './renderers/QRCode';\nimport {ServiceSchema} from './renderers/Service';\nimport {StatusSchema} from './renderers/Status';\nimport {TabsSchema} from './renderers/Tabs';\nimport {PortletSchema} from './renderers/Portlet';\nimport {TasksSchema} from './renderers/Tasks';\nimport {VBoxSchema} from './renderers/VBox';\nimport {VideoSchema} from './renderers/Video';\nimport {WizardSchema} from './renderers/Wizard';\nimport {WrapperSchema} from './renderers/Wrapper';\nimport {TableSchema} from './renderers/Table';\nimport {DialogSchema, DialogSchemaBase} from './renderers/Dialog';\nimport {DrawerSchema} from './renderers/Drawer';\nimport {SearchBoxSchema} from './renderers/SearchBox';\nimport {SparkLineSchema} from './renderers/SparkLine';\nimport {TooltipWrapperSchema} from './renderers/TooltipWrapper';\nimport {PaginationWrapperSchema} from './renderers/PaginationWrapper';\nimport {PaginationSchema} from './renderers/Pagination';\nimport {AnchorNavSchema} from './renderers/AnchorNav';\nimport {AvatarSchema} from './renderers/Avatar';\nimport {StepsSchema} from './renderers/Steps';\nimport {SpinnerSchema} from './renderers/Spinner';\nimport {TimelineSchema} from './renderers/Timeline';\nimport {ArrayControlSchema} from './renderers/Form/InputArray';\nimport {ButtonGroupControlSchema} from './renderers/Form/ButtonGroupSelect';\nimport {ChainedSelectControlSchema} from './renderers/Form/ChainedSelect';\nimport {CheckboxControlSchema} from './renderers/Form/Checkbox';\nimport {CheckboxesControlSchema} from './renderers/Form/Checkboxes';\nimport {ComboControlSchema} from './renderers/Form/Combo';\nimport {ConditionBuilderControlSchema} from './renderers/Form/ConditionBuilder';\nimport {DiffControlSchema} from './renderers/Form/DiffEditor';\nimport {EditorControlSchema} from './renderers/Form/Editor';\nimport {FieldSetControlSchema} from './renderers/Form/FieldSet';\nimport {FormulaControlSchema} from './renderers/Form/Formula';\nimport {GroupControlSchema} from './renderers/Form/Group';\nimport {HiddenControlSchema} from './renderers/Form/Hidden';\nimport {IconPickerControlSchema} from './renderers/Form/IconPicker';\nimport {InputCityControlSchema} from './renderers/Form/InputCity';\nimport {InputColorControlSchema} from './renderers/Form/InputColor';\nimport {\n DateControlSchema,\n DateTimeControlSchema,\n TimeControlSchema,\n MonthControlSchema,\n QuarterControlSchema,\n YearControlSchema\n} from './renderers/Form/InputDate';\nimport {DateRangeControlSchema} from './renderers/Form/InputDateRange';\nimport {FileControlSchema} from './renderers/Form/InputFile';\nimport {InputGroupControlSchema} from './renderers/Form/InputGroup';\nimport {ImageControlSchema} from './renderers/Form/InputImage';\nimport {MonthRangeControlSchema} from './renderers/Form/InputMonthRange';\nimport {QuarterRangeControlSchema} from './renderers/Form/InputQuarterRange';\nimport {NumberControlSchema} from './renderers/Form/InputNumber';\nimport {RangeControlSchema} from './renderers/Form/InputRange';\nimport {RatingControlSchema} from './renderers/Form/InputRating';\nimport {RepeatControlSchema} from './renderers/Form/InputRepeat';\nimport {RichTextControlSchema} from './renderers/Form/InputRichText';\nimport {SubFormControlSchema} from './renderers/Form/InputSubForm';\nimport {TableControlSchema} from './renderers/Form/InputTable';\nimport {TagControlSchema} from './renderers/Form/InputTag';\nimport {TextControlSchema} from './renderers/Form/InputText';\nimport {TreeControlSchema} from './renderers/Form/InputTree';\nimport {ListControlSchema} from './renderers/Form/ListSelect';\nimport {LocationControlSchema} from './renderers/Form/LocationPicker';\nimport {MatrixControlSchema} from './renderers/Form/MatrixCheckboxes';\nimport {NestedSelectControlSchema} from './renderers/Form/NestedSelect';\nimport {PickerControlSchema} from './renderers/Form/Picker';\nimport {RadiosControlSchema} from './renderers/Form/Radios';\nimport {SelectControlSchema} from './renderers/Form/Select';\nimport {StaticExactControlSchema} from './renderers/Form/Static';\nimport {SwitchControlSchema} from './renderers/Form/Switch';\nimport {TabsTransferControlSchema} from './renderers/Form/TabsTransfer';\nimport {TextareaControlSchema} from './renderers/Form/Textarea';\nimport {TransferControlSchema} from './renderers/Form/Transfer';\nimport {TreeSelectControlSchema} from './renderers/Form/TreeSelect';\nimport {UUIDControlSchema} from './renderers/Form/UUID';\nimport {FormControlSchema} from './renderers/Form/Control';\nimport {TransferPickerControlSchema} from './renderers/Form/TransferPicker';\nimport {TabsTransferPickerControlSchema} from './renderers/Form/TabsTransferPicker';\nimport {JSONSchemaEditorControlSchema} from './renderers/Form/JSONSchemaEditor';\nimport {TableSchemaV2} from './renderers/Table-v2';\n\n// 每加个类型,这补充一下。\nexport type SchemaType =\n | 'form'\n | 'button'\n | 'submit'\n | 'reset'\n | 'alert'\n | 'app'\n | 'audio'\n | 'avatar'\n | 'button-group'\n | 'button-toolbar'\n | 'breadcrumb'\n | 'card'\n | 'card2'\n | 'cards'\n | 'carousel'\n | 'chart'\n | 'calendar'\n | 'collapse'\n | 'collapse-group'\n | 'color'\n | 'container'\n | 'crud'\n | 'custom'\n | 'date'\n | 'static-date' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'datetime'\n | 'static-datetime' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'time'\n | 'static-time' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'month'\n | 'static-month' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'dialog'\n | 'spinner'\n | 'divider'\n | 'dropdown-button'\n | 'drawer'\n | 'each'\n | 'flex'\n | 'flex-item'\n | 'grid'\n | 'grid-2d'\n | 'hbox'\n | 'icon'\n | 'iframe'\n | 'image'\n | 'static-image' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'images'\n | 'static-images' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'json-schema-editor'\n | 'json'\n | 'static-json' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'link'\n | 'list'\n | 'log'\n | 'static-list' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'map'\n | 'mapping'\n | 'markdown'\n | 'nav'\n | 'page'\n | 'pagination'\n | 'pagination-wrapper'\n | 'property'\n | 'operation'\n | 'panel'\n | 'plain'\n | 'text'\n | 'progress'\n | 'qrcode'\n | 'qr-code'\n | 'barcode'\n | 'remark'\n | 'search-box'\n | 'service'\n | 'sparkline'\n | 'status'\n | 'switch'\n | 'table'\n | 'static-table' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'table-v2'\n | 'tabs'\n | 'html'\n | 'tpl'\n | 'tasks'\n | 'vbox'\n | 'video'\n | 'wizard'\n | 'wrapper'\n | 'web-component'\n | 'anchor-nav'\n | 'steps'\n | 'timeline'\n | 'control'\n | 'input-array'\n | 'button'\n | 'submit'\n | 'reset'\n | 'button-group-select'\n | 'button-toolbar'\n | 'chained-select'\n | 'chart-radios'\n | 'checkbox'\n | 'checkboxes'\n | 'input-city'\n | 'input-color'\n | 'combo'\n | 'condition-builder'\n | 'container'\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-quarter'\n | 'input-year'\n | 'input-month'\n | 'input-date-range'\n | 'input-time-range'\n | 'input-datetime-range'\n | 'input-excel'\n | 'input-formula'\n | 'diff-editor'\n\n // editor 系列\n | 'editor'\n | 'bat-editor'\n | 'c-editor'\n | 'coffeescript-editor'\n | 'cpp-editor'\n | 'csharp-editor'\n | 'css-editor'\n | 'dockerfile-editor'\n | 'fsharp-editor'\n | 'go-editor'\n | 'handlebars-editor'\n | 'html-editor'\n | 'ini-editor'\n | 'java-editor'\n | 'javascript-editor'\n | 'json-editor'\n | 'less-editor'\n | 'lua-editor'\n | 'markdown-editor'\n | 'msdax-editor'\n | 'objective-c-editor'\n | 'php-editor'\n | 'plaintext-editor'\n | 'postiats-editor'\n | 'powershell-editor'\n | 'pug-editor'\n | 'python-editor'\n | 'r-editor'\n | 'razor-editor'\n | 'ruby-editor'\n | 'sb-editor'\n | 'scss-editor'\n | 'sol-editor'\n | 'sql-editor'\n | 'swift-editor'\n | 'typescript-editor'\n | 'vb-editor'\n | 'xml-editor'\n | 'yaml-editor'\n\n //\n | 'fieldset'\n | 'fieldSet'\n | 'input-file'\n | 'formula'\n | 'grid'\n | 'group'\n | 'hbox'\n | 'hidden'\n | 'icon-picker'\n | 'input-image'\n | 'input-group'\n | 'list-select'\n | 'location-picker'\n | 'matrix-checkboxes'\n | 'input-month-range'\n | 'input-quarter-range'\n | 'nested-select'\n | 'input-number'\n | 'panel'\n | 'picker'\n | 'radios'\n | 'input-range'\n | 'input-rating'\n | 'input-repeat'\n | 'input-rich-text'\n | 'select'\n | 'service'\n | 'static'\n | 'input-sub-form'\n | 'switch'\n | 'input-table'\n | 'tabs'\n | 'tabs-transfer'\n | 'input-tag'\n | 'input-text'\n | 'input-password'\n | 'input-email'\n | 'input-url'\n | 'uuid'\n | 'multi-select'\n | 'textarea'\n | 'transfer'\n | 'transfer-picker'\n | 'tabs-transfer-picker'\n | 'input-tree'\n | 'tree-select'\n | 'table-view'\n | 'portlet'\n | 'grid-nav'\n | 'tag'\n\n // 原生 input 类型\n | 'native-date'\n | 'native-time'\n | 'native-number'\n | 'code'\n | 'tooltip-wrapper';\n\nexport type SchemaObject =\n | PageSchema\n | TplSchema\n | RemarkSchema\n | ActionSchema\n | AlertSchema\n | AudioSchema\n | AvatarSchema\n | ButtonGroupSchema\n | ButtonToolbarSchema\n | CalendarSchema\n | CardSchema\n | CardsSchema\n | CarouselSchema\n | ChartSchema\n | CollapseSchema\n | CollapseGroupSchema\n | ColorSchema\n | ContainerSchema\n | CRUDSchema\n | DateSchema\n | DialogSchema\n | DividerSchema\n | DrawerSchema\n | DropdownButtonSchema\n | EachSchema\n | GridSchema\n | Grid2DSchema\n | HBoxSchema\n | IconSchema\n | IFrameSchema\n | ImageSchema\n | ImagesSchema\n | JsonSchema\n | LinkSchema\n | ListSchema\n | MappingSchema\n | NavSchema\n | OperationSchema\n | PaginationSchema\n | PaginationWrapperSchema\n | PanelSchema\n | PlainSchema\n | ProgressSchema\n | QRCodeSchema\n | SearchBoxSchema\n | ServiceSchema\n | SparkLineSchema\n | StatusSchema\n | SpinnerSchema\n | TableSchema\n | TableSchemaV2\n | TabsSchema\n | TasksSchema\n | VBoxSchema\n | VideoSchema\n | WizardSchema\n | WrapperSchema\n | TooltipWrapperSchema\n | FormSchema\n | AnchorNavSchema\n | StepsSchema\n | PortletSchema\n | TimelineSchema\n\n // 表单项\n | FormControlSchema\n | ArrayControlSchema\n | ButtonGroupControlSchema\n | ChainedSelectControlSchema\n | CheckboxControlSchema\n | CheckboxesControlSchema\n | InputCityControlSchema\n | InputColorControlSchema\n | ComboControlSchema\n | ConditionBuilderControlSchema\n | DateControlSchema\n | DateTimeControlSchema\n | TimeControlSchema\n | MonthControlSchema\n | MonthControlSchema\n | QuarterControlSchema\n | YearControlSchema\n | DateRangeControlSchema\n | DiffControlSchema\n | EditorControlSchema\n | FieldSetControlSchema\n | FileControlSchema\n | FormulaControlSchema\n | GroupControlSchema\n | HiddenControlSchema\n | IconPickerControlSchema\n | ImageControlSchema\n | InputGroupControlSchema\n | ListControlSchema\n | JSONSchemaEditorControlSchema\n | LocationControlSchema\n | UUIDControlSchema\n | MatrixControlSchema\n | MonthRangeControlSchema\n | QuarterRangeControlSchema\n | NestedSelectControlSchema\n | NumberControlSchema\n | PickerControlSchema\n | RadiosControlSchema\n | RangeControlSchema\n | RatingControlSchema\n | RichTextControlSchema\n | RepeatControlSchema\n | SelectControlSchema\n | SubFormControlSchema\n | SwitchControlSchema\n | StaticExactControlSchema\n | TableControlSchema\n | TabsTransferControlSchema\n | TagControlSchema\n | TextControlSchema\n | TextareaControlSchema\n | TransferControlSchema\n | TransferPickerControlSchema\n | TabsTransferPickerControlSchema\n | TreeControlSchema\n | TreeSelectControlSchema;\n\nexport type SchemaCollection =\n | SchemaObject\n | SchemaTpl\n | Array<SchemaObject | SchemaTpl>;\n\n/**\n * 表达式,语法 `data.xxx > 5`。\n */\nexport type SchemaExpression = string;\n\n/**\n * css类名,配置字符串,或者对象。\n *\n * className: \"red\"\n *\n * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n *\n * className: {\n * \"red\": \"data.progress > 80\",\n * \"blue\": \"data.progress > 60\"\n * }\n */\nexport type SchemaClassName =\n | string\n | {\n [propName: string]: boolean | undefined | null | SchemaExpression;\n };\n\n// /**\n// * css类名,配置字符串,或者对象。\n// *\n// * className: \"red\"\n// *\n// * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n// *\n// * className: {\n// * \"red\": \"data.progress > 80\",\n// * \"blue\": \"data.progress > 60\"\n// * }\n// */\n// export type SchemaClassName = string;\n\nexport interface SchemaApiObject {\n /**\n * API 发送类型\n */\n method?: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'jsonp';\n\n /**\n * API 发送目标地址\n */\n url: SchemaUrlPath;\n\n /**\n * 用来控制携带数据. 当key 为 `&` 值为 `$$` 时, 将所有原始数据打平设置到 data 中. 当值为 $$ 将所有原始数据赋值到对应的 key 中. 当值为 $ 打头时, 将变量值设置到 key 中.\n */\n data?: {\n [propName: string]: any;\n };\n\n /**\n * 默认数据映射中的key如果带点,或者带大括号,会转成对象比如:\n *\n * {\n * 'a.b': '123'\n * }\n *\n * 经过数据映射后变成\n * {\n * a: {\n * b: '123\n * }\n * }\n *\n * 如果想要关闭此功能,请设置 convertKeyToPath 为 false\n */\n convertKeyToPath?: boolean;\n\n /**\n * 用来做接口返回的数据映射。\n */\n responseData?: {\n [propName: string]: any;\n };\n\n /**\n * 如果 method 为 get 的接口,设置了 data 信息。\n * 默认 data 会自动附带在 query 里面发送给后端。\n *\n * 如果想通过 body 发送给后端,那么请把这个配置成 false。\n *\n * 但是,浏览器还不支持啊,设置了只是摆设。除非服务端支持 method-override\n */\n attachDataToQuery?: boolean;\n\n /**\n * 发送体的格式\n */\n dataType?: 'json' | 'form-data' | 'form';\n\n /**\n * 如果是文件下载接口,请配置这个。\n */\n responseType?: 'blob';\n\n /**\n * 携带 headers,用法和 data 一样,可以用变量。\n */\n headers?: {\n [propName: string]: string | number;\n };\n\n /**\n * 设置发送条件\n */\n sendOn?: SchemaExpression;\n\n /**\n * 默认都是追加模式,如果想完全替换把这个配置成 true\n */\n replaceData?: boolean;\n\n /**\n * 是否自动刷新,当 url 中的取值结果变化时,自动刷新数据。\n *\n * @default true\n */\n autoRefresh?: boolean;\n\n /**\n * 当开启自动刷新的时候,默认是 api 的 url 来自动跟踪变量变化的。\n * 如果你希望监控 url 外的变量,请配置 traceExpression。\n */\n trackExpression?: string;\n\n /**\n * 如果设置了值,同一个接口,相同参数,指定的时间(单位:ms)内请求将直接走缓存。\n */\n cache?: number;\n\n /**\n * 强制将数据附加在 query,默认只有 api 地址中没有用变量的时候 crud 查询接口才会\n * 自动附加数据到 query 部分,如果想强制附加请设置这个属性。\n * 对于那种临时加了个变量但是又不想全部参数写一遍的时候配置很有用。\n */\n forceAppendDataToQuery?: boolean;\n\n /**\n * qs 配置项\n */\n qsOptions?: {\n arrayFormat?: 'indices' | 'brackets' | 'repeat' | 'comma';\n indices?: boolean;\n allowDots?: boolean;\n };\n\n /**\n * autoFillApi 是否显示自动填充错误提示\n */\n silent?: boolean;\n}\n\nexport type SchemaApi = string | SchemaApiObject;\n\n/**\n * 组件名字,这个名字可以用来定位,用于组件通信\n */\nexport type SchemaName = string;\n\n/**\n * 配置刷新动作,这个动作通常在完成渲染器本省的固定动作后出发。\n *\n * 一般用来配置目标组件的 name 属性。多个目标可以用逗号隔开。\n *\n * 当目标是 windows 时表示刷新整个页面。\n *\n * 刷新目标的同时还支持传递参数如: `foo?a=${a}&b=${b},boo?c=${c}`\n */\nexport type SchemaReload = string;\n\n/**\n * 页面跳转地址,支持相对地址。\n */\nexport type SchemaRedirect = string;\n\n/**\n * 支持两种语法,但是不能混着用。分别是:\n *\n * 1. `${xxx}` 或者 `${xxx|upperCase}`\n * 2. `<%= data.xxx %>`\n *\n *\n * 更多文档:https://baidu.gitee.io/amis/docs/concepts/template\n */\nexport type SchemaTpl = string;\n\n/**\n * 初始数据,设置得值可用于组件内部模板使用。\n */\nexport type SchemaDefaultData = {\n [propName: string]: any;\n};\n\n/**\n * 用来关联 json schema 的,不用管。\n */\nexport type SchemaSchema = string;\n\n/**\n * iconfont 里面的类名。\n */\nexport type SchemaIcon = string;\n\nexport type SchemaTokenizeableString = string;\n\nexport type SchemaUrlPath = SchemaTokenizeableString;\n\nexport type SchemaTooltip =\n | string\n | {\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 内容\n */\n content: string;\n };\n\n/**\n * 消息文案配置,记住这个优先级是最低的,如果你的接口返回了 msg,接口返回的优先。\n */\nexport type SchemaMessage = {\n /**\n * 获取失败时的提示\n */\n fetchFailed?: string;\n\n /**\n * 获取成功的提示,默认为空。\n */\n fetchSuccess?: string;\n\n /**\n * 保存失败时的提示。\n */\n saveFailed?: string;\n\n /**\n * 保存成功时的提示。\n */\n saveSuccess?: string;\n};\n\nexport type SchemaFunction = string | Function;\n\nexport interface BaseSchema {\n type: SchemaType;\n\n /**\n * 容器 css 类名\n */\n className?: SchemaClassName;\n\n /**\n * 配合 definitions 一起使用,可以实现无限循环的渲染器。\n */\n $ref?: string;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 是否禁用表达式\n */\n disabledOn?: SchemaExpression;\n\n /**\n * 是否隐藏\n * @deprecated 推荐用 visible\n */\n hidden?: boolean;\n\n /**\n * 是否隐藏表达式\n * @deprecated 推荐用 visibleOn\n */\n hiddenOn?: SchemaExpression;\n\n /**\n * 是否显示\n */\n\n visible?: boolean;\n\n /**\n * 是否显示表达式\n */\n visibleOn?: SchemaExpression;\n\n /**\n * 组件唯一 id,主要用于日志采集\n */\n id?: string;\n}\n\nexport interface Option {\n /**\n * 用来显示的文字\n */\n label?: string;\n\n /**\n * 可以用来给 Option 标记个范围,让数据展示更清晰。\n *\n * 这个只有在数值展示的时候显示。\n */\n scopeLabel?: string;\n\n /**\n * 请保证数值唯一,多个选项值一致会认为是同一个选项。\n */\n value?: any;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 支持嵌套\n */\n children?: Options;\n\n /**\n * 是否可见\n */\n visible?: boolean;\n\n /**\n * 最好不要用!因为有 visible 就够了。\n *\n * @deprecated 用 visible\n */\n hidden?: boolean;\n\n /**\n * 描述,部分控件支持\n */\n description?: string;\n\n /**\n * 标记后数据延时加载\n */\n defer?: boolean;\n\n /**\n * 如果设置了,优先级更高,不设置走 source 接口加载。\n */\n deferApi?: SchemaApi;\n\n /**\n * 标记正在加载。只有 defer 为 true 时有意义。内部字段不可以外部设置\n */\n loading?: boolean;\n\n /**\n * 只有设置了 defer 才有意义,内部字段不可以外部设置\n */\n loaded?: boolean;\n\n [propName: string]: any;\n}\nexport interface Options extends Array<Option> {}\n\nexport interface FeedbackDialog extends DialogSchemaBase {\n /**\n * 可以用来配置 feedback 的出现条件\n */\n visibleOn?: string;\n\n /**\n * feedback 弹框取消是否中断后续操作\n */\n skipRestOnCancel?: boolean;\n\n /**\n * feedback 弹框确认是否中断后续操作\n */\n skipRestOnConfirm?: boolean;\n}\n\nexport type RootSchema = PageSchema;\n\nexport interface ToastSchemaBase extends BaseSchema {\n /**\n * 轻提示内容\n */\n items: Array<{\n title?: SchemaCollection;\n body: SchemaCollection;\n level: 'info' | 'success' | 'error' | 'warning';\n id: string;\n position?:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right'\n | 'center';\n closeButton?: boolean;\n showIcon?: boolean;\n timeout?: number;\n }>;\n\n /**\n * 弹出位置\n */\n position:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right'\n | 'center';\n\n /**\n * 是否展示关闭按钮\n */\n closeButton: boolean;\n\n /**\n * 是否展示图标\n */\n showIcon?: boolean;\n\n /**\n * 持续时间\n */\n timeout: number;\n}\n"
12
12
  ]
13
13
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { RendererConfig, RendererEnv, RendererProps } from './factory';
3
3
  import { Schema, SchemaNode } from './types';
4
- import type { RendererEvent } from './utils/renderer-event';
4
+ import { RendererEvent } from './utils/renderer-event';
5
5
  interface SchemaRendererProps extends Partial<RendererProps> {
6
6
  schema: Schema;
7
7
  $path: string;
@@ -26,7 +26,7 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
26
26
  getWrappedInstance(): any;
27
27
  refFn(ref: any): void;
28
28
  childRef(ref: any): void;
29
- dispatchEvent(e: React.MouseEvent<any>, data: any): Promise<RendererEvent<any> | undefined>;
29
+ dispatchEvent(e: React.MouseEvent<any>, data: any): Promise<RendererEvent<any> | void>;
30
30
  renderChild(region: string, node?: SchemaNode, subProps?: {
31
31
  data?: object;
32
32
  [propName: string]: any;
@@ -14,6 +14,7 @@ var debug_1 = require("./utils/debug");
14
14
  var filter_schema_1 = (0, tslib_1.__importDefault)(require("./utils/filter-schema"));
15
15
  var helper_1 = require("./utils/helper");
16
16
  var SimpleMap_1 = require("./utils/SimpleMap");
17
+ var renderer_event_1 = require("./utils/renderer-event");
17
18
  var mobx_state_tree_1 = require("mobx-state-tree");
18
19
  var mobx_1 = require("mobx");
19
20
  var tpl_builtin_1 = require("./utils/tpl-builtin");
@@ -60,9 +61,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
60
61
  return _this;
61
62
  }
62
63
  SchemaRenderer.prototype.componentDidMount = function () {
63
- var env = this.props.env;
64
64
  // 这里无法区分监听的是不是广播,所以又bind一下,主要是为了绑广播
65
- this.unbindEvent = env.bindEvent(this.cRef);
65
+ this.unbindEvent = (0, renderer_event_1.bindEvent)(this.cRef);
66
66
  };
67
67
  SchemaRenderer.prototype.componentWillUnmount = function () {
68
68
  var _a, _b;
@@ -147,7 +147,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
147
147
  return (0, tslib_1.__awaiter)(this, void 0, Promise, function () {
148
148
  return (0, tslib_1.__generator)(this, function (_a) {
149
149
  switch (_a.label) {
150
- case 0: return [4 /*yield*/, this.props.env.dispatchEvent(e, this.cRef, this.context, data)];
150
+ case 0: return [4 /*yield*/, (0, renderer_event_1.dispatchEvent)(e, this.cRef, this.context, data)];
151
151
  case 1: return [2 /*return*/, _a.sent()];
152
152
  }
153
153
  });
@@ -6,8 +6,8 @@
6
6
  "/src/SchemaRenderer.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import difference from 'lodash/difference';\nimport omit from 'lodash/omit';\nimport React from 'react';\nimport LazyComponent from './components/LazyComponent';\nimport {\n filterSchema,\n loadRenderer,\n RendererComponent,\n RendererConfig,\n RendererEnv,\n RendererProps,\n resolveRenderer\n} from './factory';\nimport {asFormItem} from './renderers/Form/Item';\nimport {renderChild, renderChildren} from './Root';\nimport {ScopedContext} from './Scoped';\nimport {Schema, SchemaNode} from './types';\nimport {DebugWrapper} from './utils/debug';\nimport getExprProperties from './utils/filter-schema';\nimport {anyChanged, chainEvents, autobind} from './utils/helper';\nimport {SimpleMap} from './utils/SimpleMap';\n\nimport type {RendererEvent} from './utils/renderer-event';\nimport {isAlive} from 'mobx-state-tree';\nimport {reaction} from 'mobx';\nimport {resolveVariableAndFilter} from './utils/tpl-builtin';\n\ninterface SchemaRendererProps extends Partial<RendererProps> {\n schema: Schema;\n $path: string;\n env: RendererEnv;\n}\n\nconst defaultOmitList = [\n 'type',\n 'name',\n '$ref',\n 'className',\n 'data',\n 'children',\n 'ref',\n 'visible',\n 'visibleOn',\n 'hidden',\n 'hiddenOn',\n 'disabled',\n 'disabledOn',\n 'component',\n 'detectField',\n 'defaultValue',\n 'defaultData',\n 'required',\n 'requiredOn',\n 'syncSuperStore',\n 'mode',\n 'body'\n];\n\nconst componentCache: SimpleMap = new SimpleMap();\n\nexport class SchemaRenderer extends React.Component<SchemaRendererProps, any> {\n static displayName: string = 'Renderer';\n static contextType = ScopedContext;\n\n rendererKey = '';\n renderer: RendererConfig | null;\n ref: any;\n cRef: any;\n\n schema: any;\n path: string;\n\n reaction: any;\n unbindEvent: (() => void) | undefined = undefined;\n\n constructor(props: SchemaRendererProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n this.renderChild = this.renderChild.bind(this);\n this.reRender = this.reRender.bind(this);\n this.resolveRenderer(this.props);\n\n this.dispatchEvent = this.dispatchEvent.bind(this);\n\n // 监听rootStore更新\n this.reaction = reaction(\n () =>\n `${props.rootStore.visibleState[props.schema.id || props.$path]}${\n props.rootStore.disableState[props.schema.id || props.$path]\n }`,\n () => this.forceUpdate()\n );\n }\n\n componentDidMount() {\n const {env} = this.props;\n // 这里无法区分监听的是不是广播,所以又bind一下,主要是为了绑广播\n this.unbindEvent = env.bindEvent(this.cRef);\n }\n\n componentWillUnmount() {\n this.reaction?.();\n this.unbindEvent?.();\n }\n\n // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。\n shouldComponentUpdate(nextProps: SchemaRendererProps) {\n const props = this.props;\n const list: Array<string> = difference(Object.keys(nextProps), [\n 'schema',\n 'scope'\n ]);\n\n if (\n difference(Object.keys(props), ['schema', 'scope']).length !==\n list.length ||\n anyChanged(list, this.props, nextProps)\n ) {\n return true;\n } else {\n const list: Array<string> = Object.keys(nextProps.schema);\n\n if (\n Object.keys(props.schema).length !== list.length ||\n anyChanged(list, props.schema, nextProps.schema)\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n resolveRenderer(props: SchemaRendererProps, force = false): any {\n let schema = props.schema;\n let path = props.$path;\n\n if (schema && schema.$ref) {\n schema = {\n ...props.resolveDefinitions(schema.$ref),\n ...schema\n };\n\n path = path.replace(/(?!.*\\/).*/, schema.type);\n }\n\n if (\n schema?.type &&\n (force ||\n !this.renderer ||\n this.rendererKey !== `${schema.type}-${schema.$$id}`)\n ) {\n const rendererResolver = props.env.rendererResolver || resolveRenderer;\n this.renderer = rendererResolver(path, schema, props);\n this.rendererKey = `${schema.type}-${schema.$$id}`;\n } else {\n // 自定义组件如果在节点设置了 label name 什么的,就用 formItem 包一层\n // 至少自动支持了 valdiations, label, description 等逻辑。\n if (schema.children && !schema.component && schema.asFormItem) {\n schema.component = PlaceholderComponent;\n schema.renderChildren = schema.children;\n delete schema.children;\n }\n\n if (\n schema.component &&\n !schema.component.wrapedAsFormItem &&\n schema.asFormItem\n ) {\n const cache = componentCache.get(schema.component);\n\n if (cache) {\n schema.component = cache;\n } else {\n const cache = asFormItem({\n strictMode: false,\n ...schema.asFormItem\n })(schema.component);\n componentCache.set(schema.component, cache);\n cache.wrapedAsFormItem = true;\n schema.component = cache;\n }\n }\n }\n\n return {path, schema};\n }\n\n getWrappedInstance() {\n return this.cRef;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n @autobind\n childRef(ref: any) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n\n this.cRef = ref;\n }\n\n async dispatchEvent(\n e: React.MouseEvent<any>,\n data: any\n ): Promise<RendererEvent<any> | undefined> {\n return await this.props.env.dispatchEvent(e, this.cRef, this.context, data);\n }\n\n renderChild(\n region: string,\n node?: SchemaNode,\n subProps: {\n data?: object;\n [propName: string]: any;\n } = {}\n ) {\n let {schema: _, $path: __, env, ...rest} = this.props;\n let {path: $path} = this.resolveRenderer(this.props);\n\n const omitList = defaultOmitList.concat();\n if (this.renderer) {\n const Component = this.renderer.component;\n Component.propsList &&\n omitList.push.apply(omitList, Component.propsList as Array<string>);\n }\n\n return renderChild(`${$path}${region ? `/${region}` : ''}`, node || '', {\n ...omit(rest, omitList),\n ...subProps,\n data: subProps.data || rest.data,\n env: env\n });\n }\n\n reRender() {\n this.resolveRenderer(this.props, true);\n this.forceUpdate();\n }\n\n render(): JSX.Element | null {\n let {$path: _, schema: __, rootStore, ...rest} = this.props;\n\n if (__ == null) {\n return null;\n }\n\n let {path: $path, schema} = this.resolveRenderer(this.props);\n const theme = this.props.env.theme;\n\n if (Array.isArray(schema)) {\n return renderChildren($path, schema as any, rest) as JSX.Element;\n }\n\n const detectData =\n schema &&\n (schema.detectField === '&' ? rest : rest[schema.detectField || 'data']);\n const exprProps: any = detectData\n ? getExprProperties(schema, detectData, undefined, rest)\n : {};\n\n // 控制显隐\n const visible = isAlive(rootStore)\n ? rootStore.visibleState[schema.id || $path]\n : undefined;\n const disable = isAlive(rootStore)\n ? rootStore.disableState[schema.id || $path]\n : undefined;\n\n if (\n visible === false ||\n (visible !== true &&\n exprProps &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n schema.hidden ||\n schema.visible === false ||\n rest.hidden ||\n rest.visible === false))\n ) {\n (rest as any).invisible = true;\n }\n\n if (schema.children) {\n return rest.invisible\n ? null\n : React.isValidElement(schema.children)\n ? schema.children\n : (schema.children as Function)({\n ...rest,\n ...exprProps,\n $path: $path,\n $schema: schema,\n render: this.renderChild,\n forwardedRef: this.refFn\n });\n } else if (typeof schema.component === 'function') {\n const isSFC = !(schema.component.prototype instanceof React.Component);\n const {\n data: defaultData,\n value: defaultValue,\n activeKey: defaultActiveKey,\n key: propKey,\n ...restSchema\n } = schema;\n return rest.invisible\n ? null\n : React.createElement(schema.component as any, {\n ...rest,\n ...restSchema,\n ...exprProps,\n defaultData,\n defaultValue,\n defaultActiveKey,\n propKey,\n $path: $path,\n $schema: schema,\n ref: isSFC ? undefined : this.refFn,\n forwardedRef: isSFC ? this.refFn : undefined,\n render: this.renderChild\n });\n } else if (Object.keys(schema).length === 0) {\n return null;\n } else if (!this.renderer) {\n return rest.invisible ? null : (\n <LazyComponent\n {...rest}\n {...exprProps}\n getComponent={async () => {\n const result = await rest.env.loadRenderer(\n schema,\n $path,\n this.reRender\n );\n if (result && typeof result === 'function') {\n return result;\n } else if (result && React.isValidElement(result)) {\n return () => result;\n }\n\n this.reRender();\n return () => loadRenderer(schema, $path);\n }}\n $path={$path}\n $schema={schema}\n retry={this.reRender}\n />\n );\n }\n\n const renderer = this.renderer as RendererConfig;\n schema = filterSchema(schema, renderer, rest);\n const {\n data: defaultData,\n value: defaultValue,\n key: propKey,\n activeKey: defaultActiveKey,\n ...restSchema\n } = schema;\n const Component = renderer.component;\n\n // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的\n // 而 visibleOn 和 hiddenOn 是无效的,\n // 这个本来就是个bug,但是已经被广泛使用了\n // 我只能继续实现这个bug了\n if (\n rest.invisible &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n !renderer.isFormItem ||\n (schema.visible !== false && !schema.hidden))\n ) {\n return null;\n }\n\n const isClassComponent = Component.prototype?.isReactComponent;\n const $schema = {...schema, ...exprProps};\n let props = {\n ...theme.getRendererConfig(renderer.name),\n ...restSchema,\n ...chainEvents(rest, restSchema),\n ...exprProps,\n defaultData: restSchema.defaultData ?? defaultData,\n defaultValue: restSchema.defaultValue ?? defaultValue,\n defaultActiveKey: defaultActiveKey,\n propKey: propKey,\n $path: $path,\n $schema: $schema,\n ref: this.refFn,\n render: this.renderChild,\n rootStore: rootStore,\n dispatchEvent: this.dispatchEvent\n };\n\n if (disable) {\n (props as any).disabled = true;\n }\n\n // 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层\n if (renderer.autoVar) {\n for (const key of Object.keys($schema)) {\n if (typeof props[key] === 'string') {\n props[key] = resolveVariableAndFilter(\n props[key],\n props.data,\n '| raw'\n );\n }\n }\n }\n\n const component = isClassComponent ? (\n <Component {...props} ref={this.childRef} />\n ) : (\n <Component {...props} />\n );\n\n return this.props.env.enableAMISDebug ? (\n <DebugWrapper renderer={renderer}>{component}</DebugWrapper>\n ) : (\n component\n );\n }\n}\n\nclass PlaceholderComponent extends React.Component {\n render() {\n const {renderChildren, ...rest} = this.props as any;\n\n if (typeof renderChildren === 'function') {\n return renderChildren(rest);\n }\n\n return null;\n }\n}\n"
11
+ "import difference from 'lodash/difference';\nimport omit from 'lodash/omit';\nimport React from 'react';\nimport LazyComponent from './components/LazyComponent';\nimport {\n filterSchema,\n loadRenderer,\n RendererComponent,\n RendererConfig,\n RendererEnv,\n RendererProps,\n resolveRenderer\n} from './factory';\nimport {asFormItem} from './renderers/Form/Item';\nimport {renderChild, renderChildren} from './Root';\nimport {ScopedContext} from './Scoped';\nimport {Schema, SchemaNode} from './types';\nimport {DebugWrapper} from './utils/debug';\nimport getExprProperties from './utils/filter-schema';\nimport {anyChanged, chainEvents, autobind} from './utils/helper';\nimport {SimpleMap} from './utils/SimpleMap';\n\nimport {bindEvent, dispatchEvent, RendererEvent} from './utils/renderer-event';\nimport {isAlive} from 'mobx-state-tree';\nimport {reaction} from 'mobx';\nimport {resolveVariableAndFilter} from './utils/tpl-builtin';\n\ninterface SchemaRendererProps extends Partial<RendererProps> {\n schema: Schema;\n $path: string;\n env: RendererEnv;\n}\n\nconst defaultOmitList = [\n 'type',\n 'name',\n '$ref',\n 'className',\n 'data',\n 'children',\n 'ref',\n 'visible',\n 'visibleOn',\n 'hidden',\n 'hiddenOn',\n 'disabled',\n 'disabledOn',\n 'component',\n 'detectField',\n 'defaultValue',\n 'defaultData',\n 'required',\n 'requiredOn',\n 'syncSuperStore',\n 'mode',\n 'body'\n];\n\nconst componentCache: SimpleMap = new SimpleMap();\n\nexport class SchemaRenderer extends React.Component<SchemaRendererProps, any> {\n static displayName: string = 'Renderer';\n static contextType = ScopedContext;\n\n rendererKey = '';\n renderer: RendererConfig | null;\n ref: any;\n cRef: any;\n\n schema: any;\n path: string;\n\n reaction: any;\n unbindEvent: (() => void) | undefined = undefined;\n\n constructor(props: SchemaRendererProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n this.renderChild = this.renderChild.bind(this);\n this.reRender = this.reRender.bind(this);\n this.resolveRenderer(this.props);\n\n this.dispatchEvent = this.dispatchEvent.bind(this);\n\n // 监听rootStore更新\n this.reaction = reaction(\n () =>\n `${props.rootStore.visibleState[props.schema.id || props.$path]}${\n props.rootStore.disableState[props.schema.id || props.$path]\n }`,\n () => this.forceUpdate()\n );\n }\n\n componentDidMount() {\n // 这里无法区分监听的是不是广播,所以又bind一下,主要是为了绑广播\n this.unbindEvent = bindEvent(this.cRef);\n }\n\n componentWillUnmount() {\n this.reaction?.();\n this.unbindEvent?.();\n }\n\n // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。\n shouldComponentUpdate(nextProps: SchemaRendererProps) {\n const props = this.props;\n const list: Array<string> = difference(Object.keys(nextProps), [\n 'schema',\n 'scope'\n ]);\n\n if (\n difference(Object.keys(props), ['schema', 'scope']).length !==\n list.length ||\n anyChanged(list, this.props, nextProps)\n ) {\n return true;\n } else {\n const list: Array<string> = Object.keys(nextProps.schema);\n\n if (\n Object.keys(props.schema).length !== list.length ||\n anyChanged(list, props.schema, nextProps.schema)\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n resolveRenderer(props: SchemaRendererProps, force = false): any {\n let schema = props.schema;\n let path = props.$path;\n\n if (schema && schema.$ref) {\n schema = {\n ...props.resolveDefinitions(schema.$ref),\n ...schema\n };\n\n path = path.replace(/(?!.*\\/).*/, schema.type);\n }\n\n if (\n schema?.type &&\n (force ||\n !this.renderer ||\n this.rendererKey !== `${schema.type}-${schema.$$id}`)\n ) {\n const rendererResolver = props.env.rendererResolver || resolveRenderer;\n this.renderer = rendererResolver(path, schema, props);\n this.rendererKey = `${schema.type}-${schema.$$id}`;\n } else {\n // 自定义组件如果在节点设置了 label name 什么的,就用 formItem 包一层\n // 至少自动支持了 valdiations, label, description 等逻辑。\n if (schema.children && !schema.component && schema.asFormItem) {\n schema.component = PlaceholderComponent;\n schema.renderChildren = schema.children;\n delete schema.children;\n }\n\n if (\n schema.component &&\n !schema.component.wrapedAsFormItem &&\n schema.asFormItem\n ) {\n const cache = componentCache.get(schema.component);\n\n if (cache) {\n schema.component = cache;\n } else {\n const cache = asFormItem({\n strictMode: false,\n ...schema.asFormItem\n })(schema.component);\n componentCache.set(schema.component, cache);\n cache.wrapedAsFormItem = true;\n schema.component = cache;\n }\n }\n }\n\n return {path, schema};\n }\n\n getWrappedInstance() {\n return this.cRef;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n @autobind\n childRef(ref: any) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n\n this.cRef = ref;\n }\n\n async dispatchEvent(\n e: React.MouseEvent<any>,\n data: any\n ): Promise<RendererEvent<any> | void> {\n return await dispatchEvent(e, this.cRef, this.context, data);\n }\n\n renderChild(\n region: string,\n node?: SchemaNode,\n subProps: {\n data?: object;\n [propName: string]: any;\n } = {}\n ) {\n let {schema: _, $path: __, env, ...rest} = this.props;\n let {path: $path} = this.resolveRenderer(this.props);\n\n const omitList = defaultOmitList.concat();\n if (this.renderer) {\n const Component = this.renderer.component;\n Component.propsList &&\n omitList.push.apply(omitList, Component.propsList as Array<string>);\n }\n\n return renderChild(`${$path}${region ? `/${region}` : ''}`, node || '', {\n ...omit(rest, omitList),\n ...subProps,\n data: subProps.data || rest.data,\n env: env\n });\n }\n\n reRender() {\n this.resolveRenderer(this.props, true);\n this.forceUpdate();\n }\n\n render(): JSX.Element | null {\n let {$path: _, schema: __, rootStore, ...rest} = this.props;\n\n if (__ == null) {\n return null;\n }\n\n let {path: $path, schema} = this.resolveRenderer(this.props);\n const theme = this.props.env.theme;\n\n if (Array.isArray(schema)) {\n return renderChildren($path, schema as any, rest) as JSX.Element;\n }\n\n const detectData =\n schema &&\n (schema.detectField === '&' ? rest : rest[schema.detectField || 'data']);\n const exprProps: any = detectData\n ? getExprProperties(schema, detectData, undefined, rest)\n : {};\n\n // 控制显隐\n const visible = isAlive(rootStore)\n ? rootStore.visibleState[schema.id || $path]\n : undefined;\n const disable = isAlive(rootStore)\n ? rootStore.disableState[schema.id || $path]\n : undefined;\n\n if (\n visible === false ||\n (visible !== true &&\n exprProps &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n schema.hidden ||\n schema.visible === false ||\n rest.hidden ||\n rest.visible === false))\n ) {\n (rest as any).invisible = true;\n }\n\n if (schema.children) {\n return rest.invisible\n ? null\n : React.isValidElement(schema.children)\n ? schema.children\n : (schema.children as Function)({\n ...rest,\n ...exprProps,\n $path: $path,\n $schema: schema,\n render: this.renderChild,\n forwardedRef: this.refFn\n });\n } else if (typeof schema.component === 'function') {\n const isSFC = !(schema.component.prototype instanceof React.Component);\n const {\n data: defaultData,\n value: defaultValue,\n activeKey: defaultActiveKey,\n key: propKey,\n ...restSchema\n } = schema;\n return rest.invisible\n ? null\n : React.createElement(schema.component as any, {\n ...rest,\n ...restSchema,\n ...exprProps,\n defaultData,\n defaultValue,\n defaultActiveKey,\n propKey,\n $path: $path,\n $schema: schema,\n ref: isSFC ? undefined : this.refFn,\n forwardedRef: isSFC ? this.refFn : undefined,\n render: this.renderChild\n });\n } else if (Object.keys(schema).length === 0) {\n return null;\n } else if (!this.renderer) {\n return rest.invisible ? null : (\n <LazyComponent\n {...rest}\n {...exprProps}\n getComponent={async () => {\n const result = await rest.env.loadRenderer(\n schema,\n $path,\n this.reRender\n );\n if (result && typeof result === 'function') {\n return result;\n } else if (result && React.isValidElement(result)) {\n return () => result;\n }\n\n this.reRender();\n return () => loadRenderer(schema, $path);\n }}\n $path={$path}\n $schema={schema}\n retry={this.reRender}\n />\n );\n }\n\n const renderer = this.renderer as RendererConfig;\n schema = filterSchema(schema, renderer, rest);\n const {\n data: defaultData,\n value: defaultValue,\n key: propKey,\n activeKey: defaultActiveKey,\n ...restSchema\n } = schema;\n const Component = renderer.component;\n\n // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的\n // 而 visibleOn 和 hiddenOn 是无效的,\n // 这个本来就是个bug,但是已经被广泛使用了\n // 我只能继续实现这个bug了\n if (\n rest.invisible &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n !renderer.isFormItem ||\n (schema.visible !== false && !schema.hidden))\n ) {\n return null;\n }\n\n const isClassComponent = Component.prototype?.isReactComponent;\n const $schema = {...schema, ...exprProps};\n let props = {\n ...theme.getRendererConfig(renderer.name),\n ...restSchema,\n ...chainEvents(rest, restSchema),\n ...exprProps,\n defaultData: restSchema.defaultData ?? defaultData,\n defaultValue: restSchema.defaultValue ?? defaultValue,\n defaultActiveKey: defaultActiveKey,\n propKey: propKey,\n $path: $path,\n $schema: $schema,\n ref: this.refFn,\n render: this.renderChild,\n rootStore: rootStore,\n dispatchEvent: this.dispatchEvent\n };\n\n if (disable) {\n (props as any).disabled = true;\n }\n\n // 自动解析变量模式,主要是方便直接引入第三方组件库,无需为了支持变量封装一层\n if (renderer.autoVar) {\n for (const key of Object.keys($schema)) {\n if (typeof props[key] === 'string') {\n props[key] = resolveVariableAndFilter(\n props[key],\n props.data,\n '| raw'\n );\n }\n }\n }\n\n const component = isClassComponent ? (\n <Component {...props} ref={this.childRef} />\n ) : (\n <Component {...props} />\n );\n\n return this.props.env.enableAMISDebug ? (\n <DebugWrapper renderer={renderer}>{component}</DebugWrapper>\n ) : (\n component\n );\n }\n}\n\nclass PlaceholderComponent extends React.Component {\n render() {\n const {renderChildren, ...rest} = this.props as any;\n\n if (typeof renderChildren === 'function') {\n return renderChildren(rest);\n }\n\n return null;\n }\n}\n"
12
12
  ]
13
13
  }
@@ -1,3 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { RendererProps } from '../factory';
1
3
  import { RendererEvent } from '../utils/renderer-event';
2
4
  declare type LogicActionType = 'parallel' | 'switch' | 'loop' | 'continue' | 'break';
3
5
  export declare enum LoopStatus {
@@ -18,14 +20,14 @@ export interface ListenerAction {
18
20
  export interface LogicAction extends ListenerAction {
19
21
  children?: ListenerAction[];
20
22
  }
21
- export interface ListenerContext {
23
+ export interface ListenerContext extends React.Component<RendererProps> {
22
24
  [propName: string]: any;
23
25
  }
24
- export interface Action {
25
- run: (action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any>, mergeData?: any) => Promise<void>;
26
+ export interface RendererAction {
27
+ run: (action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any>, mergeData?: any) => Promise<RendererEvent<any> | void>;
26
28
  }
27
- export declare const registerAction: (type: string, action: Action) => void;
28
- export declare const getActionByType: (type: string) => Action;
29
+ export declare const registerAction: (type: string, action: RendererAction) => void;
30
+ export declare const getActionByType: (type: string) => RendererAction;
29
31
  export declare const runActions: (actions: ListenerAction | ListenerAction[], renderer: ListenerContext, event: any) => Promise<void>;
30
- export declare const runAction: (actionInstrance: Action, actionConfig: ListenerAction, renderer: ListenerContext, event: any) => Promise<void>;
32
+ export declare const runAction: (actionInstrance: RendererAction, actionConfig: ListenerAction, renderer: ListenerContext, event: any) => Promise<void>;
31
33
  export {};
@@ -6,8 +6,8 @@
6
6
  "/src/actions/Action.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import {extendObject} from '../utils/helper';\nimport {RendererEvent} from '../utils/renderer-event';\nimport {evalExpression} from '../utils/tpl';\nimport {dataMapping} from '../utils/tpl-builtin';\n\n// 逻辑动作类型,支持并行、排他(switch)、循环(支持continue和break)\ntype LogicActionType = 'parallel' | 'switch' | 'loop' | 'continue' | 'break';\n\n// 循环动作执行状态\nexport enum LoopStatus {\n NORMAL,\n BREAK,\n CONTINUE\n}\n\n// 监听器动作定义\nexport interface ListenerAction {\n actionType: 'broadcast' | LogicActionType | 'custom' | string; // 动作类型 逻辑动作|自定义(脚本支撑)|reload|url|ajax|dialog|drawer 其他扩充的组件动作\n description?: string; // 事件描述,actionType: broadcast\n componentId?: string; // 组件ID,用于直接执行指定组件的动作\n args?: any; // 参数,可以配置数据映射\n outputVar?: any; // 输出数据变量名\n preventDefault?: boolean; // 阻止原有组件的动作行为\n stopPropagation?: boolean; // 阻止后续的事件处理器执行\n expression?: string; // 执行条件\n}\n\nexport interface LogicAction extends ListenerAction {\n children?: ListenerAction[]; // 子动作\n}\n\nexport interface ListenerContext {\n [propName: string]: any;\n}\n\n// Action 基础接口\nexport interface Action {\n // 运行这个 Action,每个类型的 Action 都只有一个实例,run 函数是个可重入的函数\n run: (\n action: ListenerAction,\n renderer: ListenerContext,\n event: RendererEvent<any>,\n mergeData?: any // 有些Action内部需要通过上下文数据处理专有逻辑,这里的数据是事件数据+渲染器数据\n ) => Promise<void>;\n}\n\n// 存储 Action 和类型的映射关系,用于后续查找\nconst ActionTypeMap: {[key: string]: Action} = {};\n\n// 注册 Action\nexport const registerAction = (type: string, action: Action) => {\n ActionTypeMap[type] = action;\n};\n\n// 通过类型获取 Action 实例\nexport const getActionByType = (type: string) => {\n return ActionTypeMap[type];\n};\n\nexport const runActions = async (\n actions: ListenerAction | ListenerAction[],\n renderer: ListenerContext,\n event: any\n) => {\n if (!Array.isArray(actions)) {\n actions = [actions];\n }\n\n for (const actionConfig of actions) {\n let actionInstrance = getActionByType(actionConfig.actionType);\n\n // 如果存在指定组件ID,说明是组件专有动作\n if (!actionInstrance && actionConfig.componentId) {\n actionInstrance = getActionByType('component');\n } else if (\n actionConfig.actionType === 'url' ||\n actionConfig.actionType === 'link' ||\n actionConfig.actionType === 'jump'\n ) {\n // 打开页面动作\n actionInstrance = getActionByType('openlink');\n }\n\n // 找不到就通过组件专有动作完成\n if (!actionInstrance) {\n actionInstrance = getActionByType('component');\n }\n\n // 这些节点的子节点运行逻辑由节点内部实现\n await runAction(actionInstrance, actionConfig, renderer, event);\n\n if (event.stoped) {\n break;\n }\n }\n};\n\n// 执行动作,与原有动作处理打通\nexport const runAction = async (\n actionInstrance: Action,\n actionConfig: ListenerAction,\n renderer: ListenerContext,\n event: any\n) => {\n // 用户可能,需要用到事件数据和当前域的数据,因此merge事件数据和当前渲染器数据\n // 需要保持渲染器数据链\b完整\n const mergeData = extendObject(renderer.props.data, {\n event\n });\n\n if (\n actionConfig.expression &&\n !evalExpression(actionConfig.expression, mergeData)\n ) {\n return;\n }\n\n // 修正参数,处理数据映射\n let args = event.data;\n\n if (actionConfig.args) {\n args = dataMapping(actionConfig.args, mergeData);\n }\n\n await actionInstrance.run(\n {\n ...actionConfig,\n args\n },\n renderer,\n event,\n mergeData\n );\n\n // 阻止原有动作执行\n actionConfig.preventDefault && event.preventDefault();\n // 阻止后续动作执行\n actionConfig.stopPropagation && event.stopPropagation();\n};\n"
11
+ "import {RendererProps} from '../factory';\nimport {extendObject} from '../utils/helper';\nimport {RendererEvent} from '../utils/renderer-event';\nimport {evalExpression} from '../utils/tpl';\nimport {dataMapping} from '../utils/tpl-builtin';\n\n// 逻辑动作类型,支持并行、排他(switch)、循环(支持continue和break)\ntype LogicActionType = 'parallel' | 'switch' | 'loop' | 'continue' | 'break';\n\n// 循环动作执行状态\nexport enum LoopStatus {\n NORMAL,\n BREAK,\n CONTINUE\n}\n\n// 监听器动作定义\nexport interface ListenerAction {\n actionType: 'broadcast' | LogicActionType | 'custom' | string; // 动作类型 逻辑动作|自定义(脚本支撑)|reload|url|ajax|dialog|drawer 其他扩充的组件动作\n description?: string; // 事件描述,actionType: broadcast\n componentId?: string; // 组件ID,用于直接执行指定组件的动作\n args?: any; // 参数,可以配置数据映射\n outputVar?: any; // 输出数据变量名\n preventDefault?: boolean; // 阻止原有组件的动作行为\n stopPropagation?: boolean; // 阻止后续的事件处理器执行\n expression?: string; // 执行条件\n}\n\nexport interface LogicAction extends ListenerAction {\n children?: ListenerAction[]; // 子动作\n}\n\nexport interface ListenerContext extends React.Component<RendererProps> {\n [propName: string]: any;\n}\n\n// Action 基础接口\nexport interface RendererAction {\n // 运行这个 Action,每个类型的 Action 都只有一个实例,run 函数是个可重入的函数\n run: (\n action: ListenerAction,\n renderer: ListenerContext,\n event: RendererEvent<any>,\n mergeData?: any // 有些Action内部需要通过上下文数据处理专有逻辑,这里的数据是事件数据+渲染器数据\n ) => Promise<RendererEvent<any> | void>;\n}\n\n// 存储 Action 和类型的映射关系,用于后续查找\nconst ActionTypeMap: {[key: string]: RendererAction} = {};\n\n// 注册 Action\nexport const registerAction = (type: string, action: RendererAction) => {\n ActionTypeMap[type] = action;\n};\n\n// 通过类型获取 Action 实例\nexport const getActionByType = (type: string) => {\n return ActionTypeMap[type];\n};\n\nexport const runActions = async (\n actions: ListenerAction | ListenerAction[],\n renderer: ListenerContext,\n event: any\n) => {\n if (!Array.isArray(actions)) {\n actions = [actions];\n }\n\n for (const actionConfig of actions) {\n let actionInstrance = getActionByType(actionConfig.actionType);\n\n // 如果存在指定组件ID,说明是组件专有动作\n if (!actionInstrance && actionConfig.componentId) {\n actionInstrance = getActionByType('component');\n } else if (\n actionConfig.actionType === 'url' ||\n actionConfig.actionType === 'link' ||\n actionConfig.actionType === 'jump'\n ) {\n // 打开页面动作\n actionInstrance = getActionByType('openlink');\n }\n\n // 找不到就通过组件专有动作完成\n if (!actionInstrance) {\n actionInstrance = getActionByType('component');\n }\n\n // 这些节点的子节点运行逻辑由节点内部实现\n await runAction(actionInstrance, actionConfig, renderer, event);\n\n if (event.stoped) {\n break;\n }\n }\n};\n\n// 执行动作,与原有动作处理打通\nexport const runAction = async (\n actionInstrance: RendererAction,\n actionConfig: ListenerAction,\n renderer: ListenerContext,\n event: any\n) => {\n // 用户可能,需要用到事件数据和当前域的数据,因此merge事件数据和当前渲染器数据\n // 需要保持渲染器数据链\b完整\n const mergeData = extendObject(renderer.props.data, {\n event\n });\n\n if (\n actionConfig.expression &&\n !evalExpression(actionConfig.expression, mergeData)\n ) {\n return;\n }\n\n // 修正参数,处理数据映射\n let args = event.data;\n\n if (actionConfig.args) {\n args = dataMapping(actionConfig.args, mergeData);\n }\n\n await actionInstrance.run(\n {\n ...actionConfig,\n args\n },\n renderer,\n event,\n mergeData\n );\n\n // 阻止原有动作执行\n actionConfig.preventDefault && event.preventDefault();\n // 阻止后续动作执行\n actionConfig.stopPropagation && event.stopPropagation();\n};\n"
12
12
  ]
13
13
  }
@@ -1,13 +1,16 @@
1
1
  import { Api } from '../types';
2
2
  import { RendererEvent } from '../utils/renderer-event';
3
- import { Action, ListenerAction, ListenerContext } from './Action';
3
+ import { RendererAction, ListenerAction, ListenerContext } from './Action';
4
4
  export interface IAjaxAction extends ListenerAction {
5
- api: Api;
6
- messages: {
7
- success: string;
8
- failed: string;
5
+ args: {
6
+ api: Api;
7
+ messages: {
8
+ success: string;
9
+ failed: string;
10
+ };
11
+ options: object;
12
+ [propName: string]: any;
9
13
  };
10
- options: object;
11
14
  }
12
15
  /**
13
16
  * 发送请求动作
@@ -16,6 +19,6 @@ export interface IAjaxAction extends ListenerAction {
16
19
  * @class AjaxAction
17
20
  * @implements {Action}
18
21
  */
19
- export declare class AjaxAction implements Action {
22
+ export declare class AjaxAction implements RendererAction {
20
23
  run(action: IAjaxAction, renderer: ListenerContext, event: RendererEvent<any>): Promise<any>;
21
24
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AjaxAction = void 0;
4
4
  var tslib_1 = require("tslib");
5
+ var omit_1 = (0, tslib_1.__importDefault)(require("lodash/omit"));
5
6
  var api_1 = require("../utils/api");
6
7
  var errors_1 = require("../utils/errors");
7
8
  var helper_1 = require("../utils/helper");
@@ -17,42 +18,47 @@ var AjaxAction = /** @class */ (function () {
17
18
  function AjaxAction() {
18
19
  }
19
20
  AjaxAction.prototype.run = function (action, renderer, event) {
20
- var _a, _b, _c;
21
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
21
22
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
22
- var env, result, responseData, e_1, result;
23
- var _d;
24
- return (0, tslib_1.__generator)(this, function (_e) {
25
- switch (_e.label) {
23
+ var env, result, responseData, msg, e_1, result;
24
+ var _m;
25
+ return (0, tslib_1.__generator)(this, function (_o) {
26
+ switch (_o.label) {
26
27
  case 0:
28
+ if (!((_a = renderer.props.env) === null || _a === void 0 ? void 0 : _a.fetcher)) {
29
+ throw new Error('env.fetcher is required!');
30
+ }
27
31
  env = event.context.env;
28
- _e.label = 1;
32
+ _o.label = 1;
29
33
  case 1:
30
- _e.trys.push([1, 3, , 4]);
31
- return [4 /*yield*/, env.fetcher(action.api, action.args, (_a = action.options) !== null && _a !== void 0 ? _a : {})];
34
+ _o.trys.push([1, 3, , 4]);
35
+ return [4 /*yield*/, env.fetcher((_b = action.args) === null || _b === void 0 ? void 0 : _b.api, (0, omit_1.default)((_c = action.args) !== null && _c !== void 0 ? _c : {}, ['api', 'options', 'messages']), (_e = (_d = action.args) === null || _d === void 0 ? void 0 : _d.options) !== null && _e !== void 0 ? _e : {})];
32
36
  case 2:
33
- result = _e.sent();
37
+ result = _o.sent();
34
38
  if (!(0, helper_1.isEmpty)(result.data) || result.ok) {
35
39
  responseData = (0, api_1.normalizeApiResponseData)(result.data);
36
- // 记录请求返回的数据
40
+ // 记录请求返回的数据
37
41
  event.setData((0, helper_1.createObject)(event.data, action.outputVar
38
- ? (_d = {},
39
- _d["".concat(action.outputVar)] = responseData,
40
- _d) : responseData));
42
+ ? (_m = {},
43
+ _m["".concat(action.outputVar)] = responseData,
44
+ _m) : responseData));
41
45
  }
42
46
  if (!result.ok) {
43
- throw new errors_1.ServerError((_b = (action.messages && action.messages.failed)) !== null && _b !== void 0 ? _b : result.msg, result);
47
+ throw new errors_1.ServerError((_h = (_g = (_f = action.args) === null || _f === void 0 ? void 0 : _f.messages) === null || _g === void 0 ? void 0 : _g.failed) !== null && _h !== void 0 ? _h : result.msg, result);
44
48
  }
45
49
  else {
46
- env.notify('success', (_c = (action.messages && action.messages.success)) !== null && _c !== void 0 ? _c : result.msg, result.msgTimeout !== undefined
47
- ? {
48
- closeButton: true,
49
- timeout: result.msgTimeout
50
- }
51
- : undefined);
50
+ msg = (_l = (_k = (_j = action.args) === null || _j === void 0 ? void 0 : _j.messages) === null || _k === void 0 ? void 0 : _k.success) !== null && _l !== void 0 ? _l : result.msg;
51
+ msg &&
52
+ env.notify('success', msg, result.msgTimeout !== undefined
53
+ ? {
54
+ closeButton: true,
55
+ timeout: result.msgTimeout
56
+ }
57
+ : undefined);
52
58
  }
53
59
  return [2 /*return*/, result.data];
54
60
  case 3:
55
- e_1 = _e.sent();
61
+ e_1 = _o.sent();
56
62
  if (e_1.type === 'ServerError') {
57
63
  result = e_1.response;
58
64
  env.notify('error', e_1.message, result.msgTimeout !== undefined
@@ -6,8 +6,8 @@
6
6
  "/src/actions/AjaxAction.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AACA,oCAAsD;AACtD,0CAA4C;AAC5C,0CAAiE;AAGjE,mCAKkB;AAWlB;;;;;;GAMG;AACH;IAAA;IAqEA,CAAC;IApEO,wBAAG,GAAT,UACE,MAAmB,EACnB,QAAyB,EACzB,KAAyB;;;;;;;;wBAEnB,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;;;;wBAEb,qBAAM,GAAG,CAAC,OAAO,CAC9B,MAAM,CAAC,GAAa,EACpB,MAAM,CAAC,IAAI,EACX,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CACrB,EAAA;;wBAJK,MAAM,GAAG,SAId;wBAED,IAAI,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE;4BAChC,YAAY,GAAG,IAAA,8BAAwB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BAC3D,cAAc;4BACd,KAAK,CAAC,OAAO,CACX,IAAA,qBAAY,EACV,KAAK,CAAC,IAAI,EACV,MAAM,CAAC,SAAS;gCACd,CAAC;oCACG,GAAC,UAAG,MAAM,CAAC,SAAS,CAAE,IAAG,YAAY;wCAEzC,CAAC,CAAC,YAAY,CACjB,CACF,CAAC;yBACH;wBAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;4BACd,MAAM,IAAI,oBAAW,CACnB,MAAA,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,mCAAI,MAAM,CAAC,GAAG,EACzD,MAAM,CACP,CAAC;yBACH;6BAAM;4BACL,GAAG,CAAC,MAAM,CACR,SAAS,EACT,MAAA,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,mCAAI,MAAM,CAAC,GAAG,EAC1D,MAAM,CAAC,UAAU,KAAK,SAAS;gCAC7B,CAAC,CAAC;oCACE,WAAW,EAAE,IAAI;oCACjB,OAAO,EAAE,MAAM,CAAC,UAAU;iCAC3B;gCACH,CAAC,CAAC,SAAS,CACd,CAAC;yBACH;wBAED,sBAAO,MAAM,CAAC,IAAI,EAAC;;;wBAEnB,IAAI,GAAC,CAAC,IAAI,KAAK,aAAa,EAAE;4BACtB,MAAM,GAAI,GAAiB,CAAC,QAAQ,CAAC;4BAC3C,GAAG,CAAC,MAAM,CACR,OAAO,EACP,GAAC,CAAC,OAAO,EACT,MAAM,CAAC,UAAU,KAAK,SAAS;gCAC7B,CAAC,CAAC;oCACE,WAAW,EAAE,IAAI;oCACjB,OAAO,EAAE,MAAM,CAAC,UAAU;iCAC3B;gCACH,CAAC,CAAC,SAAS,CACd,CAAC;yBACH;6BAAM;4BACL,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAC,CAAC,OAAO,CAAC,CAAC;yBAChC;;;;;;KAKJ;IACH,iBAAC;AAAD,CAAC,AArED,IAqEC;AArEY,gCAAU;AAuEvB,IAAA,uBAAc,EAAC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC",
9
+ "mappings": ";;;;AAAA,kEAA+B;AAE/B,oCAAsD;AACtD,0CAA4C;AAC5C,0CAAsD;AAEtD,mCAKkB;AAclB;;;;;;GAMG;AACH;IAAA;IA2EA,CAAC;IA1EO,wBAAG,GAAT,UACE,MAAmB,EACnB,QAAyB,EACzB,KAAyB;;;;;;;;wBAEzB,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,0CAAE,OAAO,CAAA,EAAE;4BAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;yBAC7C;wBAEK,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;;;;wBAEb,qBAAM,GAAG,CAAC,OAAO,CAC9B,MAAA,MAAM,CAAC,IAAI,0CAAE,GAAa,EAC1B,IAAA,cAAI,EAAC,MAAA,MAAM,CAAC,IAAI,mCAAI,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,EACvD,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,OAAO,mCAAI,EAAE,CAC3B,EAAA;;wBAJK,MAAM,GAAG,SAId;wBAED,IAAI,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE;4BAChC,YAAY,GAAG,IAAA,8BAAwB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BAC3D,YAAY;4BACZ,KAAK,CAAC,OAAO,CACX,IAAA,qBAAY,EACV,KAAK,CAAC,IAAI,EACV,MAAM,CAAC,SAAS;gCACd,CAAC;oCACG,GAAC,UAAG,MAAM,CAAC,SAAS,CAAE,IAAG,YAAY;wCAEzC,CAAC,CAAC,YAAY,CACjB,CACF,CAAC;yBACH;wBAED,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;4BACd,MAAM,IAAI,oBAAW,CACnB,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,QAAQ,0CAAE,MAAM,mCAAI,MAAM,CAAC,GAAG,EAC3C,MAAM,CACP,CAAC;yBACH;6BAAM;4BACC,GAAG,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,QAAQ,0CAAE,OAAO,mCAAI,MAAM,CAAC,GAAG,CAAC;4BACzD,GAAG;gCACD,GAAG,CAAC,MAAM,CACR,SAAS,EACT,GAAG,EACH,MAAM,CAAC,UAAU,KAAK,SAAS;oCAC7B,CAAC,CAAC;wCACE,WAAW,EAAE,IAAI;wCACjB,OAAO,EAAE,MAAM,CAAC,UAAU;qCAC3B;oCACH,CAAC,CAAC,SAAS,CACd,CAAC;yBACL;wBAED,sBAAO,MAAM,CAAC,IAAI,EAAC;;;wBAEnB,IAAI,GAAC,CAAC,IAAI,KAAK,aAAa,EAAE;4BACtB,MAAM,GAAI,GAAiB,CAAC,QAAQ,CAAC;4BAC3C,GAAG,CAAC,MAAM,CACR,OAAO,EACP,GAAC,CAAC,OAAO,EACT,MAAM,CAAC,UAAU,KAAK,SAAS;gCAC7B,CAAC,CAAC;oCACE,WAAW,EAAE,IAAI;oCACjB,OAAO,EAAE,MAAM,CAAC,UAAU;iCAC3B;gCACH,CAAC,CAAC,SAAS,CACd,CAAC;yBACH;6BAAM;4BACL,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAC,CAAC,OAAO,CAAC,CAAC;yBAChC;;;;;;KAKJ;IACH,iBAAC;AAAD,CAAC,AA3ED,IA2EC;AA3EY,gCAAU;AA6EvB,IAAA,uBAAc,EAAC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC",
10
10
  "sourcesContent": [
11
- "import {Api} from '../types';\nimport {normalizeApiResponseData} from '../utils/api';\nimport {ServerError} from '../utils/errors';\nimport {createObject, isEmpty, isVisible} from '../utils/helper';\nimport {RendererEvent} from '../utils/renderer-event';\nimport {filter} from '../utils/tpl';\nimport {\n Action,\n ListenerAction,\n ListenerContext,\n registerAction\n} from './Action';\n\nexport interface IAjaxAction extends ListenerAction {\n api: Api;\n messages: {\n success: string;\n failed: string;\n };\n options: object;\n}\n\n/**\n * 发送请求动作\n *\n * @export\n * @class AjaxAction\n * @implements {Action}\n */\nexport class AjaxAction implements Action {\n async run(\n action: IAjaxAction,\n renderer: ListenerContext,\n event: RendererEvent<any>\n ) {\n const env = event.context.env;\n try {\n const result = await env.fetcher(\n action.api as string,\n action.args,\n action.options ?? {}\n );\n\n if (!isEmpty(result.data) || result.ok) {\n const responseData = normalizeApiResponseData(result.data);\n // \b\b记录请求返回的数据\n event.setData(\n createObject(\n event.data,\n action.outputVar\n ? {\n [`${action.outputVar}`]: responseData\n }\n : responseData\n )\n );\n }\n\n if (!result.ok) {\n throw new ServerError(\n (action.messages && action.messages.failed) ?? result.msg,\n result\n );\n } else {\n env.notify(\n 'success',\n (action.messages && action.messages.success) ?? result.msg,\n result.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: result.msgTimeout\n }\n : undefined\n );\n }\n\n return result.data;\n } catch (e) {\n if (e.type === 'ServerError') {\n const result = (e as ServerError).response;\n env.notify(\n 'error',\n e.message,\n result.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: result.msgTimeout\n }\n : undefined\n );\n } else {\n env.notify('error', e.message);\n }\n\n // 不阻塞后面执行\n // throw e;\n }\n }\n}\n\nregisterAction('ajax', new AjaxAction());\n"
11
+ "import omit from 'lodash/omit';\nimport {Api} from '../types';\nimport {normalizeApiResponseData} from '../utils/api';\nimport {ServerError} from '../utils/errors';\nimport {createObject, isEmpty} from '../utils/helper';\nimport {RendererEvent} from '../utils/renderer-event';\nimport {\n RendererAction,\n ListenerAction,\n ListenerContext,\n registerAction\n} from './Action';\n\nexport interface IAjaxAction extends ListenerAction {\n args: {\n api: Api;\n messages: {\n success: string;\n failed: string;\n };\n options: object;\n [propName: string]: any;\n };\n}\n\n/**\n * 发送请求动作\n *\n * @export\n * @class AjaxAction\n * @implements {Action}\n */\nexport class AjaxAction implements RendererAction {\n async run(\n action: IAjaxAction,\n renderer: ListenerContext,\n event: RendererEvent<any>\n ) {\n if (!renderer.props.env?.fetcher) {\n throw new Error('env.fetcher is required!');\n }\n\n const env = event.context.env;\n try {\n const result = await env.fetcher(\n action.args?.api as string,\n omit(action.args ?? {}, ['api', 'options', 'messages']),\n action.args?.options ?? {}\n );\n\n if (!isEmpty(result.data) || result.ok) {\n const responseData = normalizeApiResponseData(result.data);\n // 记录请求返回的数据\n event.setData(\n createObject(\n event.data,\n action.outputVar\n ? {\n [`${action.outputVar}`]: responseData\n }\n : responseData\n )\n );\n }\n\n if (!result.ok) {\n throw new ServerError(\n action.args?.messages?.failed ?? result.msg,\n result\n );\n } else {\n const msg = action.args?.messages?.success ?? result.msg;\n msg &&\n env.notify(\n 'success',\n msg,\n result.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: result.msgTimeout\n }\n : undefined\n );\n }\n\n return result.data;\n } catch (e) {\n if (e.type === 'ServerError') {\n const result = (e as ServerError).response;\n env.notify(\n 'error',\n e.message,\n result.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: result.msgTimeout\n }\n : undefined\n );\n } else {\n env.notify('error', e.message);\n }\n\n // 不阻塞后面执行\n // throw e;\n }\n }\n}\n\nregisterAction('ajax', new AjaxAction());\n"
12
12
  ]
13
13
  }
@@ -1,5 +1,5 @@
1
1
  import { RendererEvent } from '../utils/renderer-event';
2
- import { Action, ListenerAction, ListenerContext } from './Action';
2
+ import { RendererAction, ListenerAction, ListenerContext } from './Action';
3
3
  /**
4
4
  * breach
5
5
  *
@@ -7,6 +7,6 @@ import { Action, ListenerAction, ListenerContext } from './Action';
7
7
  * @class BreakAction
8
8
  * @implements {Action}
9
9
  */
10
- export declare class BreakAction implements Action {
10
+ export declare class BreakAction implements RendererAction {
11
11
  run(action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any>): Promise<void>;
12
12
  }
@@ -8,6 +8,6 @@
8
8
  "names": [],
9
9
  "mappings": ";;;;AACA,mCAMkB;AAElB;;;;;;GAMG;AACH;IAAA;IAQA,CAAC;IAPO,yBAAG,GAAT,UACE,MAAsB,EACtB,QAAyB,EACzB,KAAyB;;;gBAEzB,QAAQ,CAAC,UAAU,GAAG,mBAAU,CAAC,KAAK,CAAC;;;;KACxC;IACH,kBAAC;AAAD,CAAC,AARD,IAQC;AARY,kCAAW;AAUxB,IAAA,uBAAc,EAAC,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC",
10
10
  "sourcesContent": [
11
- "import {RendererEvent} from '../utils/renderer-event';\nimport {\n Action,\n ListenerAction,\n ListenerContext,\n LoopStatus,\n registerAction\n} from './Action';\n\n/**\n * breach\n *\n * @export\n * @class BreakAction\n * @implements {Action}\n */\nexport class BreakAction implements Action {\n async run(\n action: ListenerAction,\n renderer: ListenerContext,\n event: RendererEvent<any>\n ) {\n renderer.loopStatus = LoopStatus.BREAK;\n }\n}\n\nregisterAction('break', new BreakAction());\n"
11
+ "import {RendererEvent} from '../utils/renderer-event';\nimport {\n RendererAction,\n ListenerAction,\n ListenerContext,\n LoopStatus,\n registerAction\n} from './Action';\n\n/**\n * breach\n *\n * @export\n * @class BreakAction\n * @implements {Action}\n */\nexport class BreakAction implements RendererAction {\n async run(\n action: ListenerAction,\n renderer: ListenerContext,\n event: RendererEvent<any>\n ) {\n renderer.loopStatus = LoopStatus.BREAK;\n }\n}\n\nregisterAction('break', new BreakAction());\n"
12
12
  ]
13
13
  }