amis 1.5.6 → 1.6.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/.husky/pre-commit +1 -1
  2. package/README.md +1 -0
  3. package/lib/RootRenderer.d.ts +2 -0
  4. package/lib/RootRenderer.js +19 -1
  5. package/lib/RootRenderer.js.map +2 -2
  6. package/lib/Schema.d.ts +3 -2
  7. package/lib/Schema.js.map +1 -1
  8. package/lib/SchemaRenderer.js +52 -1
  9. package/lib/SchemaRenderer.js.map +2 -2
  10. package/lib/Scoped.d.ts +2 -0
  11. package/lib/Scoped.js +27 -1
  12. package/lib/Scoped.js.map +2 -2
  13. package/lib/actions/Action.d.ts +33 -0
  14. package/lib/actions/Action.js +100 -0
  15. package/lib/actions/Action.js.map +13 -0
  16. package/lib/actions/AjaxAction.d.ts +14 -0
  17. package/lib/actions/AjaxAction.js +68 -0
  18. package/lib/actions/AjaxAction.js.map +13 -0
  19. package/lib/actions/BreakAction.d.ts +12 -0
  20. package/lib/actions/BreakAction.js +28 -0
  21. package/lib/actions/BreakAction.js.map +13 -0
  22. package/lib/actions/BroadcastAction.d.ts +12 -0
  23. package/lib/actions/BroadcastAction.js +40 -0
  24. package/lib/actions/BroadcastAction.js.map +13 -0
  25. package/lib/actions/CmptAction.d.ts +12 -0
  26. package/lib/actions/CmptAction.js +40 -0
  27. package/lib/actions/CmptAction.js.map +13 -0
  28. package/lib/actions/ContinueAction.d.ts +12 -0
  29. package/lib/actions/ContinueAction.js +28 -0
  30. package/lib/actions/ContinueAction.js.map +13 -0
  31. package/lib/actions/CopyAction.d.ts +12 -0
  32. package/lib/actions/CopyAction.js +35 -0
  33. package/lib/actions/CopyAction.js.map +13 -0
  34. package/lib/actions/CustomAction.d.ts +12 -0
  35. package/lib/actions/CustomAction.js +43 -0
  36. package/lib/actions/CustomAction.js.map +13 -0
  37. package/lib/actions/DialogAction.d.ts +12 -0
  38. package/lib/actions/DialogAction.js +31 -0
  39. package/lib/actions/DialogAction.js.map +13 -0
  40. package/lib/actions/DrawerAction.d.ts +12 -0
  41. package/lib/actions/DrawerAction.js +31 -0
  42. package/lib/actions/DrawerAction.js.map +13 -0
  43. package/lib/actions/EmailAction.d.ts +12 -0
  44. package/lib/actions/EmailAction.js +37 -0
  45. package/lib/actions/EmailAction.js.map +13 -0
  46. package/lib/actions/LoopAction.d.ts +12 -0
  47. package/lib/actions/LoopAction.js +93 -0
  48. package/lib/actions/LoopAction.js.map +13 -0
  49. package/lib/actions/OpenPageAction.d.ts +12 -0
  50. package/lib/actions/OpenPageAction.js +33 -0
  51. package/lib/actions/OpenPageAction.js.map +13 -0
  52. package/lib/actions/ParallelAction.d.ts +5 -0
  53. package/lib/actions/ParallelAction.js +33 -0
  54. package/lib/actions/ParallelAction.js.map +13 -0
  55. package/lib/actions/SwitchAction.d.ts +8 -0
  56. package/lib/actions/SwitchAction.js +45 -0
  57. package/lib/actions/SwitchAction.js.map +13 -0
  58. package/lib/actions/index.d.ts +18 -0
  59. package/lib/actions/index.js +22 -0
  60. package/lib/actions/index.js.map +13 -0
  61. package/lib/components/AnchorNav.d.ts +20 -20
  62. package/lib/components/AssociatedSelection.d.ts +84 -84
  63. package/lib/components/AssociatedSelection.js +2 -2
  64. package/lib/components/AssociatedSelection.js.map +2 -2
  65. package/lib/components/Avatar.d.ts +135 -0
  66. package/lib/components/Avatar.js +120 -0
  67. package/lib/components/Avatar.js.map +13 -0
  68. package/lib/components/BaiduMapPicker.js.map +2 -2
  69. package/lib/components/Button.d.ts +20 -20
  70. package/lib/components/CalendarMobile.d.ts +573 -0
  71. package/lib/components/CalendarMobile.js +486 -0
  72. package/lib/components/CalendarMobile.js.map +13 -0
  73. package/lib/components/Cascader.d.ts +123 -0
  74. package/lib/components/Cascader.js +487 -0
  75. package/lib/components/Cascader.js.map +13 -0
  76. package/lib/components/ChainedSelection.d.ts +84 -84
  77. package/lib/components/ChainedSelection.js +15 -3
  78. package/lib/components/ChainedSelection.js.map +2 -2
  79. package/lib/components/CityArea.d.ts +527 -0
  80. package/lib/components/CityArea.js +177 -0
  81. package/lib/components/CityArea.js.map +13 -0
  82. package/lib/components/Collapse.d.ts +20 -20
  83. package/lib/components/ColorPicker.d.ts +84 -84
  84. package/lib/components/ColorPicker.js +4 -3
  85. package/lib/components/ColorPicker.js.map +2 -2
  86. package/lib/components/DatePicker.d.ts +85 -84
  87. package/lib/components/DatePicker.js +21 -8
  88. package/lib/components/DatePicker.js.map +2 -2
  89. package/lib/components/DateRangePicker.d.ts +85 -84
  90. package/lib/components/DateRangePicker.js +19 -6
  91. package/lib/components/DateRangePicker.js.map +2 -2
  92. package/lib/components/GroupedSelection.d.ts +84 -84
  93. package/lib/components/GroupedSelection.js +14 -2
  94. package/lib/components/GroupedSelection.js.map +2 -2
  95. package/lib/components/InputBox.d.ts +21 -21
  96. package/lib/components/ListGroup.d.ts +21 -21
  97. package/lib/components/ListMenu.d.ts +84 -84
  98. package/lib/components/MonthRangePicker.d.ts +85 -84
  99. package/lib/components/MonthRangePicker.js +18 -7
  100. package/lib/components/MonthRangePicker.js.map +2 -2
  101. package/lib/components/Overlay.d.ts +1 -1
  102. package/lib/components/Overlay.js.map +1 -1
  103. package/lib/components/Picker.d.ts +1 -0
  104. package/lib/components/Picker.js +16 -7
  105. package/lib/components/Picker.js.map +2 -2
  106. package/lib/components/PickerColumn.d.ts +1 -0
  107. package/lib/components/PickerColumn.js +21 -18
  108. package/lib/components/PickerColumn.js.map +2 -2
  109. package/lib/components/PickerContainer.d.ts +3 -0
  110. package/lib/components/PickerContainer.js +12 -5
  111. package/lib/components/PickerContainer.js.map +2 -2
  112. package/lib/components/PopOverContainer.d.ts +1 -0
  113. package/lib/components/PopOverContainer.js +5 -3
  114. package/lib/components/PopOverContainer.js.map +2 -2
  115. package/lib/components/PopUp.d.ts +1041 -28
  116. package/lib/components/PopUp.js +32 -8
  117. package/lib/components/PopUp.js.map +2 -2
  118. package/lib/components/Radios.d.ts +21 -21
  119. package/lib/components/Rating.d.ts +21 -21
  120. package/lib/components/ResultBox.d.ts +85 -84
  121. package/lib/components/ResultBox.js +9 -4
  122. package/lib/components/ResultBox.js.map +2 -2
  123. package/lib/components/ResultList.d.ts +9 -2
  124. package/lib/components/ResultList.js +22 -2
  125. package/lib/components/ResultList.js.map +2 -2
  126. package/lib/components/Select.d.ts +238 -238
  127. package/lib/components/Select.js +13 -9
  128. package/lib/components/Select.js.map +2 -2
  129. package/lib/components/Selection.d.ts +94 -86
  130. package/lib/components/Selection.js +11 -2
  131. package/lib/components/Selection.js.map +2 -2
  132. package/lib/components/Steps.js.map +2 -2
  133. package/lib/components/TableSelection.d.ts +85 -85
  134. package/lib/components/TableSelection.js +1 -9
  135. package/lib/components/TableSelection.js.map +2 -2
  136. package/lib/components/Tabs.js +31 -33
  137. package/lib/components/Tabs.js.map +2 -2
  138. package/lib/components/TabsTransfer.d.ts +87 -256
  139. package/lib/components/TabsTransfer.js +52 -9
  140. package/lib/components/TabsTransfer.js.map +2 -2
  141. package/lib/components/TabsTransferPicker.d.ts +1 -1
  142. package/lib/components/TabsTransferPicker.js +20 -18
  143. package/lib/components/TabsTransferPicker.js.map +2 -2
  144. package/lib/components/Timeline.d.ts +69 -0
  145. package/lib/components/Timeline.js +16 -0
  146. package/lib/components/Timeline.js.map +13 -0
  147. package/lib/components/TimelineItem.d.ts +517 -0
  148. package/lib/components/TimelineItem.js +40 -0
  149. package/lib/components/TimelineItem.js.map +13 -0
  150. package/lib/components/Transfer.d.ts +100 -98
  151. package/lib/components/Transfer.js +2 -3
  152. package/lib/components/Transfer.js.map +2 -2
  153. package/lib/components/TransferDropDown.d.ts +85 -84
  154. package/lib/components/TransferDropDown.js +9 -10
  155. package/lib/components/TransferDropDown.js.map +2 -2
  156. package/lib/components/TransferPicker.d.ts +1 -0
  157. package/lib/components/TransferPicker.js +19 -4
  158. package/lib/components/TransferPicker.js.map +2 -2
  159. package/lib/components/Tree.d.ts +84 -84
  160. package/lib/components/TreeSelection.d.ts +85 -85
  161. package/lib/components/TreeSelection.js +7 -1
  162. package/lib/components/TreeSelection.js.map +2 -2
  163. package/lib/components/calendar/Calendar.d.ts +19 -0
  164. package/lib/components/calendar/Calendar.js +71 -1
  165. package/lib/components/calendar/Calendar.js.map +2 -2
  166. package/lib/components/calendar/DaysView.d.ts +21 -0
  167. package/lib/components/calendar/DaysView.js +76 -17
  168. package/lib/components/calendar/DaysView.js.map +2 -2
  169. package/lib/components/calendar/MonthsView.d.ts +34 -0
  170. package/lib/components/calendar/MonthsView.js +68 -3
  171. package/lib/components/calendar/MonthsView.js.map +2 -2
  172. package/lib/components/calendar/QuartersView.d.ts +1 -0
  173. package/lib/components/calendar/QuartersView.js +2 -2
  174. package/lib/components/calendar/QuartersView.js.map +2 -2
  175. package/lib/components/calendar/TimeView.d.ts +30 -18
  176. package/lib/components/calendar/TimeView.js +47 -8
  177. package/lib/components/calendar/TimeView.js.map +2 -2
  178. package/lib/components/calendar/YearsView.d.ts +6 -0
  179. package/lib/components/calendar/YearsView.js +21 -10
  180. package/lib/components/calendar/YearsView.js.map +2 -2
  181. package/lib/components/condition-builder/Field.js +1 -4
  182. package/lib/components/condition-builder/Field.js.map +2 -2
  183. package/lib/components/condition-builder/Func.js +1 -1
  184. package/lib/components/condition-builder/Func.js.map +2 -2
  185. package/lib/components/formula/Editor.d.ts +3 -0
  186. package/lib/components/formula/Editor.js +3 -2
  187. package/lib/components/formula/Editor.js.map +2 -2
  188. package/lib/components/formula/FuncList.js +2 -1
  189. package/lib/components/formula/FuncList.js.map +2 -2
  190. package/lib/components/formula/Picker.js +1 -1
  191. package/lib/components/formula/Picker.js.map +2 -2
  192. package/lib/components/formula/plugin.js +0 -1
  193. package/lib/components/formula/plugin.js.map +2 -2
  194. package/lib/components/icons.js +2 -0
  195. package/lib/components/icons.js.map +2 -2
  196. package/lib/components/index.d.ts +2 -1
  197. package/lib/components/index.js +4 -2
  198. package/lib/components/index.js.map +2 -2
  199. package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
  200. package/lib/components/virtual-list/index.js +1 -2
  201. package/lib/components/virtual-list/index.js.map +2 -2
  202. package/lib/env.d.ts +4 -0
  203. package/lib/env.js.map +2 -2
  204. package/lib/factory.d.ts +2 -1
  205. package/lib/factory.js +83 -0
  206. package/lib/factory.js.map +2 -2
  207. package/lib/helper.css.map +1 -1
  208. package/lib/icons/tree-down.js +7 -0
  209. package/lib/index.d.ts +3 -0
  210. package/lib/index.js +4 -1
  211. package/lib/index.js.map +2 -2
  212. package/lib/locale/de-DE.js +17 -2
  213. package/lib/locale/de-DE.js.map +2 -2
  214. package/lib/locale/en-US.js +17 -2
  215. package/lib/locale/en-US.js.map +2 -2
  216. package/lib/locale/zh-CN.js +16 -1
  217. package/lib/locale/zh-CN.js.map +2 -2
  218. package/lib/renderers/Action.d.ts +1 -1
  219. package/lib/renderers/Action.js +26 -10
  220. package/lib/renderers/Action.js.map +2 -2
  221. package/lib/renderers/Avatar.d.ts +35 -26
  222. package/lib/renderers/Avatar.js +14 -19
  223. package/lib/renderers/Avatar.js.map +2 -2
  224. package/lib/renderers/CRUD.js +1 -2
  225. package/lib/renderers/CRUD.js.map +2 -2
  226. package/lib/renderers/Card.js +6 -5
  227. package/lib/renderers/Card.js.map +2 -2
  228. package/lib/renderers/Custom.d.ts +1 -1
  229. package/lib/renderers/Custom.js +1 -1
  230. package/lib/renderers/Custom.js.map +2 -2
  231. package/lib/renderers/DropDownButton.d.ts +11 -2
  232. package/lib/renderers/DropDownButton.js +30 -12
  233. package/lib/renderers/DropDownButton.js.map +2 -2
  234. package/lib/renderers/Each.js +5 -2
  235. package/lib/renderers/Each.js.map +2 -2
  236. package/lib/renderers/Flex.js +1 -5
  237. package/lib/renderers/Flex.js.map +2 -2
  238. package/lib/renderers/Form/ChartRadios.js.map +2 -2
  239. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  240. package/lib/renderers/Form/CityDB.js +526 -2
  241. package/lib/renderers/Form/CityDB.js.map +2 -2
  242. package/lib/renderers/Form/DiffEditor.d.ts +6 -0
  243. package/lib/renderers/Form/DiffEditor.js +2 -1
  244. package/lib/renderers/Form/DiffEditor.js.map +2 -2
  245. package/lib/renderers/Form/Editor.d.ts +6 -0
  246. package/lib/renderers/Form/InputCity.d.ts +85 -84
  247. package/lib/renderers/Form/InputCity.js +4 -2
  248. package/lib/renderers/Form/InputCity.js.map +2 -2
  249. package/lib/renderers/Form/InputColor.d.ts +84 -84
  250. package/lib/renderers/Form/InputColor.js +6 -2
  251. package/lib/renderers/Form/InputColor.js.map +2 -2
  252. package/lib/renderers/Form/InputDate.js +10 -5
  253. package/lib/renderers/Form/InputDate.js.map +2 -2
  254. package/lib/renderers/Form/InputDateRange.js +6 -2
  255. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  256. package/lib/renderers/Form/InputFormula.d.ts +4 -1
  257. package/lib/renderers/Form/InputFormula.js +2 -2
  258. package/lib/renderers/Form/InputFormula.js.map +2 -2
  259. package/lib/renderers/Form/InputImage.d.ts +1 -0
  260. package/lib/renderers/Form/InputImage.js +8 -4
  261. package/lib/renderers/Form/InputImage.js.map +2 -2
  262. package/lib/renderers/Form/InputMonthRange.js +1 -1
  263. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  264. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  265. package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
  266. package/lib/renderers/Form/InputYearRange.js +1 -1
  267. package/lib/renderers/Form/InputYearRange.js.map +2 -2
  268. package/lib/renderers/Form/Item.d.ts +10 -14
  269. package/lib/renderers/Form/Item.js +18 -9
  270. package/lib/renderers/Form/Item.js.map +2 -2
  271. package/lib/renderers/Form/NestedSelect.d.ts +1 -0
  272. package/lib/renderers/Form/NestedSelect.js +8 -4
  273. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  274. package/lib/renderers/Form/Options.js +9 -7
  275. package/lib/renderers/Form/Options.js.map +2 -2
  276. package/lib/renderers/Form/Select.d.ts +2 -0
  277. package/lib/renderers/Form/Select.js +9 -6
  278. package/lib/renderers/Form/Select.js.map +2 -2
  279. package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
  280. package/lib/renderers/Form/TabsTransfer.js +20 -1
  281. package/lib/renderers/Form/TabsTransfer.js.map +2 -2
  282. package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
  283. package/lib/renderers/Form/TabsTransferPicker.js +21 -2
  284. package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
  285. package/lib/renderers/Form/Transfer.d.ts +15 -4
  286. package/lib/renderers/Form/Transfer.js +55 -18
  287. package/lib/renderers/Form/Transfer.js.map +2 -2
  288. package/lib/renderers/Form/TransferPicker.d.ts +3 -32
  289. package/lib/renderers/Form/TransferPicker.js +1 -1
  290. package/lib/renderers/Form/TransferPicker.js.map +2 -2
  291. package/lib/renderers/Form/TreeSelect.js +4 -4
  292. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  293. package/lib/renderers/Form/index.js +10 -2
  294. package/lib/renderers/Form/index.js.map +2 -2
  295. package/lib/renderers/IFrame.js +0 -2
  296. package/lib/renderers/IFrame.js.map +2 -2
  297. package/lib/renderers/Link.d.ts +1 -1
  298. package/lib/renderers/Link.js +27 -6
  299. package/lib/renderers/Link.js.map +2 -2
  300. package/lib/renderers/Nav.d.ts +21 -21
  301. package/lib/renderers/Nav.js +4 -1
  302. package/lib/renderers/Nav.js.map +2 -2
  303. package/lib/renderers/Remark.d.ts +5 -1
  304. package/lib/renderers/Remark.js +39 -7
  305. package/lib/renderers/Remark.js.map +2 -2
  306. package/lib/renderers/Steps.js +5 -5
  307. package/lib/renderers/Steps.js.map +2 -2
  308. package/lib/renderers/Table/TableRow.js +4 -1
  309. package/lib/renderers/Table/TableRow.js.map +2 -2
  310. package/lib/renderers/Table/index.js +4 -1
  311. package/lib/renderers/Table/index.js.map +2 -2
  312. package/lib/renderers/Tabs.js +1 -1
  313. package/lib/renderers/Tabs.js.map +2 -2
  314. package/lib/renderers/Timeline.d.ts +65 -0
  315. package/lib/renderers/Timeline.js +54 -0
  316. package/lib/renderers/Timeline.js.map +13 -0
  317. package/lib/renderers/Video.js.map +2 -2
  318. package/lib/schemaExtend.js +23 -9
  319. package/lib/schemaExtend.js.map +2 -2
  320. package/lib/store/combo.js.map +2 -2
  321. package/lib/store/formItem.js +7 -7
  322. package/lib/store/formItem.js.map +2 -2
  323. package/lib/store/table.js +1 -1
  324. package/lib/store/table.js.map +2 -2
  325. package/lib/themes/ang-ie11.css +1149 -53
  326. package/lib/themes/ang.css +1149 -53
  327. package/lib/themes/ang.css.map +1 -1
  328. package/lib/themes/antd-ie11.css +1187 -53
  329. package/lib/themes/antd.css +1187 -53
  330. package/lib/themes/antd.css.map +1 -1
  331. package/lib/themes/cxd-ie11.css +1190 -71
  332. package/lib/themes/cxd.css +1190 -71
  333. package/lib/themes/cxd.css.map +1 -1
  334. package/lib/themes/dark-ie11.css +1152 -53
  335. package/lib/themes/dark.css +1152 -53
  336. package/lib/themes/dark.css.map +1 -1
  337. package/lib/themes/default.css +1190 -71
  338. package/lib/themes/default.css.map +1 -1
  339. package/lib/utils/RootClose.js +3 -1
  340. package/lib/utils/RootClose.js.map +2 -2
  341. package/lib/utils/api.js +14 -3
  342. package/lib/utils/api.js.map +2 -2
  343. package/lib/utils/debug.d.ts +26 -0
  344. package/lib/utils/debug.js +351 -0
  345. package/lib/utils/debug.js.map +13 -0
  346. package/lib/utils/helper.d.ts +1 -6
  347. package/lib/utils/helper.js +6 -17
  348. package/lib/utils/helper.js.map +2 -2
  349. package/lib/utils/renderer-event.d.ts +38 -0
  350. package/lib/utils/renderer-event.js +28 -0
  351. package/lib/utils/renderer-event.js.map +13 -0
  352. package/package.json +12 -6
  353. package/schema.json +3483 -810
  354. package/scss/_properties.scss +20 -6
  355. package/scss/_variables.scss +1 -0
  356. package/scss/components/_avatar.scss +27 -9
  357. package/scss/components/_calendar.scss +291 -0
  358. package/scss/components/_card.scss +1 -1
  359. package/scss/components/_cascader.scss +102 -0
  360. package/scss/components/_city-area.scss +27 -0
  361. package/scss/components/_collapse-group.scss +1 -3
  362. package/scss/components/_debug.scss +167 -0
  363. package/scss/components/_dropdown.scss +39 -9
  364. package/scss/components/_formula.scss +30 -6
  365. package/scss/components/_modal.scss +18 -0
  366. package/scss/components/_panel.scss +45 -0
  367. package/scss/components/_picker-columns.scss +15 -5
  368. package/scss/components/_popup.scss +43 -16
  369. package/scss/components/_result-box.scss +31 -0
  370. package/scss/components/_timeline.scss +198 -0
  371. package/scss/components/form/_checks.scss +2 -0
  372. package/scss/components/form/_color.scss +2 -2
  373. package/scss/components/form/_date-range.scss +34 -1
  374. package/scss/components/form/_date.scss +46 -1
  375. package/scss/components/form/_form.scss +170 -0
  376. package/scss/components/form/_nested-select.scss +3 -0
  377. package/scss/components/form/_result-list.scss +2 -0
  378. package/scss/components/form/_select.scss +32 -3
  379. package/scss/components/form/_selection.scss +5 -4
  380. package/scss/components/form/_transfer.scss +3 -0
  381. package/scss/components/form/_tree-select.scss +1 -1
  382. package/scss/themes/_antd-variables.scss +45 -0
  383. package/scss/themes/_common.scss +5 -0
  384. package/scss/themes/_cxd-variables.scss +51 -2
  385. package/scss/themes/_dark-variables.scss +4 -0
  386. package/scss/themes/cxd.scss +0 -19
  387. package/sdk/ang-ie11.css +1450 -142
  388. package/sdk/ang.css +1473 -159
  389. package/sdk/antd-ie11.css +1451 -142
  390. package/sdk/antd.css +1511 -159
  391. package/sdk/charts.js +15 -15
  392. package/sdk/codemirror.js +7 -7
  393. package/sdk/color-picker.js +65 -65
  394. package/sdk/cropperjs.js +2 -2
  395. package/sdk/cxd-ie11.css +1449 -159
  396. package/sdk/cxd.css +1514 -179
  397. package/sdk/dark-ie11.css +1450 -142
  398. package/sdk/dark.css +1476 -159
  399. package/sdk/exceljs.js +1 -1
  400. package/sdk/helper.css.map +1 -1
  401. package/sdk/locale/de-DE.js +17 -2
  402. package/sdk/markdown.js +69 -69
  403. package/sdk/papaparse.js +1 -1
  404. package/sdk/renderers/Form/CityDB.js +1 -1
  405. package/sdk/rest.js +18 -18
  406. package/sdk/rich-text.js +62 -62
  407. package/sdk/sdk-ie11.css +1449 -159
  408. package/sdk/sdk.css +1514 -179
  409. package/sdk/sdk.js +1311 -1253
  410. package/sdk/thirds/hls.js/hls.js +1 -1
  411. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  412. package/sdk/tinymce.js +57 -57
  413. package/src/RootRenderer.tsx +27 -1
  414. package/src/Schema.ts +3 -0
  415. package/src/SchemaRenderer.tsx +70 -4
  416. package/src/Scoped.tsx +46 -4
  417. package/src/actions/Action.ts +138 -0
  418. package/src/actions/AjaxAction.ts +58 -0
  419. package/src/actions/BreakAction.ts +27 -0
  420. package/src/actions/BroadcastAction.ts +41 -0
  421. package/src/actions/CmptAction.ts +36 -0
  422. package/src/actions/ContinueAction.ts +27 -0
  423. package/src/actions/CopyAction.ts +41 -0
  424. package/src/actions/CustomAction.ts +46 -0
  425. package/src/actions/DialogAction.ts +28 -0
  426. package/src/actions/DrawerAction.ts +28 -0
  427. package/src/actions/EmailAction.ts +38 -0
  428. package/src/actions/LoopAction.ts +77 -0
  429. package/src/actions/OpenPageAction.ts +39 -0
  430. package/src/actions/ParallelAction.ts +26 -0
  431. package/src/actions/SwitchAction.ts +35 -0
  432. package/src/actions/index.ts +20 -0
  433. package/src/components/AssociatedSelection.tsx +5 -1
  434. package/src/components/Avatar.tsx +253 -0
  435. package/src/components/BaiduMapPicker.tsx +19 -14
  436. package/src/components/CalendarMobile.tsx +658 -0
  437. package/src/components/Cascader.tsx +564 -0
  438. package/src/components/ChainedSelection.tsx +16 -3
  439. package/src/components/CityArea.tsx +315 -0
  440. package/src/components/ColorPicker.tsx +41 -40
  441. package/src/components/DatePicker.tsx +80 -34
  442. package/src/components/DateRangePicker.tsx +85 -30
  443. package/src/components/GroupedSelection.tsx +14 -2
  444. package/src/components/MonthRangePicker.tsx +78 -31
  445. package/src/components/Overlay.tsx +1 -1
  446. package/src/components/Picker.tsx +55 -35
  447. package/src/components/PickerColumn.tsx +43 -36
  448. package/src/components/PickerContainer.tsx +13 -1
  449. package/src/components/PopOverContainer.tsx +31 -17
  450. package/src/components/PopUp.tsx +84 -57
  451. package/src/components/ResultBox.tsx +14 -2
  452. package/src/components/ResultList.tsx +36 -6
  453. package/src/components/Select.tsx +24 -26
  454. package/src/components/Selection.tsx +21 -3
  455. package/src/components/Steps.tsx +23 -10
  456. package/src/components/TableSelection.tsx +1 -44
  457. package/src/components/Tabs.tsx +65 -54
  458. package/src/components/TabsTransfer.tsx +78 -9
  459. package/src/components/TabsTransferPicker.tsx +25 -13
  460. package/src/components/Timeline.tsx +36 -0
  461. package/src/components/TimelineItem.tsx +140 -0
  462. package/src/components/Transfer.tsx +11 -8
  463. package/src/components/TransferDropDown.tsx +20 -12
  464. package/src/components/TransferPicker.tsx +25 -4
  465. package/src/components/TreeSelection.tsx +7 -1
  466. package/src/components/calendar/Calendar.tsx +101 -4
  467. package/src/components/calendar/DaysView.tsx +165 -33
  468. package/src/components/calendar/MonthsView.tsx +108 -1
  469. package/src/components/calendar/QuartersView.tsx +3 -2
  470. package/src/components/calendar/TimeView.tsx +104 -41
  471. package/src/components/calendar/YearsView.tsx +34 -17
  472. package/src/components/condition-builder/Field.tsx +1 -3
  473. package/src/components/condition-builder/Func.tsx +1 -1
  474. package/src/components/formula/Editor.tsx +16 -11
  475. package/src/components/formula/FuncList.tsx +3 -1
  476. package/src/components/formula/Picker.tsx +2 -1
  477. package/src/components/formula/plugin.ts +0 -2
  478. package/src/components/icons.tsx +2 -0
  479. package/src/components/index.tsx +2 -0
  480. package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
  481. package/src/components/virtual-list/index.tsx +4 -6
  482. package/src/env.tsx +22 -0
  483. package/src/factory.tsx +93 -1
  484. package/src/icons/tree-down.svg +5 -0
  485. package/src/index.tsx +5 -0
  486. package/src/locale/de-DE.ts +17 -2
  487. package/src/locale/en-US.ts +17 -2
  488. package/src/locale/zh-CN.ts +16 -1
  489. package/src/renderers/Action.tsx +11 -2
  490. package/src/renderers/Avatar.tsx +83 -74
  491. package/src/renderers/CRUD.tsx +1 -3
  492. package/src/renderers/Card.tsx +10 -6
  493. package/src/renderers/Custom.tsx +7 -4
  494. package/src/renderers/DropDownButton.tsx +69 -35
  495. package/src/renderers/Each.tsx +4 -4
  496. package/src/renderers/Flex.tsx +3 -7
  497. package/src/renderers/Form/ChartRadios.tsx +2 -7
  498. package/src/renderers/Form/Checkboxes.tsx +1 -1
  499. package/src/renderers/Form/CityDB.ts +526 -2
  500. package/src/renderers/Form/DiffEditor.tsx +2 -3
  501. package/src/renderers/Form/InputCity.tsx +23 -3
  502. package/src/renderers/Form/InputColor.tsx +21 -2
  503. package/src/renderers/Form/InputDate.tsx +48 -20
  504. package/src/renderers/Form/InputDateRange.tsx +9 -2
  505. package/src/renderers/Form/InputFormula.tsx +9 -4
  506. package/src/renderers/Form/InputImage.tsx +9 -4
  507. package/src/renderers/Form/InputMonthRange.tsx +0 -1
  508. package/src/renderers/Form/InputQuarterRange.tsx +0 -1
  509. package/src/renderers/Form/InputYearRange.tsx +0 -1
  510. package/src/renderers/Form/Item.tsx +29 -8
  511. package/src/renderers/Form/NestedSelect.tsx +32 -4
  512. package/src/renderers/Form/Options.tsx +15 -7
  513. package/src/renderers/Form/Select.tsx +21 -5
  514. package/src/renderers/Form/TabsTransfer.tsx +28 -38
  515. package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
  516. package/src/renderers/Form/Transfer.tsx +75 -24
  517. package/src/renderers/Form/TransferPicker.tsx +6 -38
  518. package/src/renderers/Form/TreeSelect.tsx +18 -16
  519. package/src/renderers/Form/index.tsx +9 -2
  520. package/src/renderers/IFrame.tsx +0 -2
  521. package/src/renderers/Link.tsx +18 -3
  522. package/src/renderers/Nav.tsx +4 -1
  523. package/src/renderers/Remark.tsx +68 -18
  524. package/src/renderers/Steps.tsx +11 -13
  525. package/src/renderers/Table/TableRow.tsx +3 -1
  526. package/src/renderers/Table/index.tsx +7 -1
  527. package/src/renderers/Tabs.tsx +6 -2
  528. package/src/renderers/Timeline.tsx +141 -0
  529. package/src/renderers/Video.tsx +4 -20
  530. package/src/schemaExtend.ts +22 -10
  531. package/src/store/combo.ts +1 -3
  532. package/src/store/formItem.ts +3 -3
  533. package/src/store/table.ts +2 -1
  534. package/src/utils/RootClose.ts +5 -1
  535. package/src/utils/api.ts +15 -2
  536. package/src/utils/debug.tsx +438 -0
  537. package/src/utils/helper.ts +6 -16
  538. package/src/utils/renderer-event.ts +75 -0
package/lib/Scoped.js.map CHANGED
@@ -6,8 +6,8 @@
6
6
  "/src/Scoped.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file 用来创建一个域,在这个域里面会把里面的运行时实例注册进来,方便组件之间的通信。\n * @author fex\n */\n\nimport React from 'react';\nimport find from 'lodash/find';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {dataMapping} from './utils/tpl-builtin';\nimport {RendererEnv, RendererProps} from './factory';\nimport {noop, autobind, qsstringify, qsparse} from './utils/helper';\nimport {RendererData, Action} from './types';\n\nexport interface ScopedComponentType extends React.Component<RendererProps> {\n focus?: () => void;\n doAction?: (\n action: Action,\n data: RendererData,\n throwErrors?: boolean\n ) => void;\n receive?: (values: RendererData, subPath?: string) => void;\n reload?: (\n subPath?: string,\n query?: RendererData | null,\n ctx?: RendererData\n ) => void;\n context: any;\n}\n\nexport interface IScopedContext {\n parent?: AliasIScopedContext;\n registerComponent: (component: ScopedComponentType) => void;\n unRegisterComponent: (component: ScopedComponentType) => void;\n getComponentByName: (name: string) => ScopedComponentType;\n getComponents: () => Array<ScopedComponentType>;\n reload: (target: string, ctx: RendererData) => void;\n send: (target: string, ctx: RendererData) => void;\n close: (target: string) => void;\n}\ntype AliasIScopedContext = IScopedContext;\nexport const ScopedContext = React.createContext(createScopedTools(''));\n\nfunction createScopedTools(\n path?: string,\n parent?: AliasIScopedContext,\n env?: RendererEnv\n): IScopedContext {\n const components: Array<ScopedComponentType> = [];\n\n return {\n parent,\n registerComponent(component: ScopedComponentType) {\n // 不要把自己注册在自己的 Scoped 上,自己的 Scoped 是给子节点们注册的。\n if (component.props.$path === path && parent) {\n return parent.registerComponent(component);\n }\n\n if (!~components.indexOf(component)) {\n components.push(component);\n }\n },\n\n unRegisterComponent(component: ScopedComponentType) {\n // 自己本身实际上注册在父级 Scoped 上。\n if (component.props.$path === path && parent) {\n return parent.unRegisterComponent(component);\n }\n\n const idx = components.indexOf(component);\n\n if (~idx) {\n components.splice(idx, 1);\n }\n },\n\n getComponentByName(name: string) {\n if (~name.indexOf('.')) {\n const paths = name.split('.');\n const len = paths.length;\n\n return paths.reduce((scope, name, idx) => {\n if (scope && scope.getComponentByName) {\n const result = scope.getComponentByName(name);\n return result && idx < len - 1 ? result.context : result;\n }\n\n return null;\n }, this);\n }\n\n const resolved = find(\n components,\n component =>\n component.props.name === name || component.props.id === name\n );\n return resolved || (parent && parent.getComponentByName(name));\n },\n\n getComponents() {\n return components.concat();\n },\n\n reload(target: string | Array<string>, ctx: any) {\n const scoped = this;\n\n let targets =\n typeof target === 'string' ? target.split(/\\s*,\\s*/) : target;\n targets.forEach(name => {\n const idx2 = name.indexOf('?');\n let query = null;\n\n if (~idx2) {\n const queryObj = qsparse(\n name\n .substring(idx2 + 1)\n .replace(\n /\\$\\{(.*?)\\}/,\n (_, match) => '${' + encodeURIComponent(match) + '}'\n )\n );\n query = dataMapping(queryObj, ctx);\n name = name.substring(0, idx2);\n }\n\n const idx = name.indexOf('.');\n let subPath = '';\n\n if (~idx) {\n subPath = name.substring(1 + idx);\n name = name.substring(0, idx);\n }\n\n if (name === 'window') {\n if (query) {\n const link = location.pathname + '?' + qsstringify(query);\n env ? env.updateLocation(link, true) : location.replace(link);\n } else {\n location.reload();\n }\n } else {\n const component = scoped.getComponentByName(name);\n component &&\n component.reload &&\n component.reload(subPath, query, ctx);\n }\n });\n },\n\n send(receive: string | Array<string>, values: object) {\n const scoped = this;\n let receives =\n typeof receive === 'string' ? receive.split(/\\s*,\\s*/) : receive;\n\n // todo 没找到做提示!\n receives.forEach(name => {\n const askIdx = name.indexOf('?');\n if (~askIdx) {\n const query = name.substring(askIdx + 1);\n const queryObj = qsparse(\n query.replace(\n /\\$\\{(.*?)\\}/,\n (_, match) => '${' + encodeURIComponent(match) + '}'\n )\n );\n\n name = name.substring(0, askIdx);\n values = dataMapping(queryObj, values);\n }\n\n const idx = name.indexOf('.');\n let subPath = '';\n\n if (~idx) {\n subPath = name.substring(1 + idx);\n name = name.substring(0, idx);\n }\n\n const component = scoped.getComponentByName(name);\n\n if (component && component.receive) {\n component.receive(values, subPath);\n } else if (name === 'window' && env && env.updateLocation) {\n const query = {\n ...(location.search ? qsparse(location.search.substring(1)) : {}),\n ...values\n };\n const link = location.pathname + '?' + qsstringify(query);\n env.updateLocation(link, true);\n }\n });\n },\n\n /**\n * 主要是用来关闭指定弹框的\n *\n * @param target 目标 name\n */\n close(target: string | boolean) {\n const scoped = this;\n\n if (typeof target === 'string') {\n // 过滤已经关掉的,当用户 close 配置多个弹框 name 时会出现这种情况\n target\n .split(/\\s*,\\s*/)\n .map(name => scoped.getComponentByName(name))\n .filter(component => component && component.props.show)\n .forEach(closeDialog);\n }\n }\n };\n}\n\nfunction closeDialog(component: ScopedComponentType) {\n (component.context as IScopedContext)\n .getComponents()\n .filter(\n item =>\n item &&\n (item.props.type === 'dialog' || item.props.type === 'drawer') &&\n item.props.show\n )\n .forEach(closeDialog);\n component.props.onClose && component.props.onClose();\n}\n\nexport function HocScoped<\n T extends {\n $path?: string;\n env: RendererEnv;\n }\n>(\n ComposedComponent: React.ComponentType<T>\n): React.ComponentType<\n T & {\n scopeRef?: (ref: any) => void;\n }\n> & {\n ComposedComponent: React.ComponentType<T>;\n} {\n type ScopedProps = T & {\n scopeRef?: (ref: any) => void;\n };\n class ScopedComponent extends React.Component<ScopedProps> {\n static displayName = `Scoped(${\n ComposedComponent.displayName || ComposedComponent.name\n })`;\n static contextType = ScopedContext;\n static ComposedComponent = ComposedComponent;\n ref: any;\n scoped?: IScopedContext;\n\n constructor(props: ScopedProps, context: IScopedContext) {\n super(props);\n\n this.scoped = createScopedTools(\n this.props.$path,\n context,\n this.props.env\n );\n const scopeRef = props.scopeRef;\n scopeRef && scopeRef(this.scoped);\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n @autobind\n childRef(ref: any) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n\n this.ref = ref;\n }\n\n componentWillUnmount() {\n const scopeRef = this.props.scopeRef;\n scopeRef && scopeRef(null);\n delete this.scoped;\n }\n\n render() {\n const {scopeRef, ...rest} = this.props;\n\n return (\n <ScopedContext.Provider value={this.scoped!}>\n <ComposedComponent\n {\n ...(rest as any) /* todo */\n }\n ref={this.childRef}\n />\n </ScopedContext.Provider>\n );\n }\n }\n\n hoistNonReactStatic(ScopedComponent, ComposedComponent);\n return ScopedComponent;\n}\n\nexport default HocScoped;\n"
11
+ "/**\n * @file 用来创建一个域,在这个域里面会把里面的运行时实例注册进来,方便组件之间的通信。\n * @author fex\n */\n\nimport React from 'react';\nimport find from 'lodash/find';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {dataMapping} from './utils/tpl-builtin';\nimport {RendererEnv, RendererProps} from './factory';\nimport {\n noop,\n autobind,\n qsstringify,\n qsparse,\n createObject,\n findTree,\n TreeItem\n} from './utils/helper';\nimport {RendererData, Action} from './types';\n\nexport interface ScopedComponentType extends React.Component<RendererProps> {\n focus?: () => void;\n doAction?: (\n action: Action,\n data: RendererData,\n throwErrors?: boolean\n ) => void;\n receive?: (values: RendererData, subPath?: string) => void;\n reload?: (\n subPath?: string,\n query?: RendererData | null,\n ctx?: RendererData\n ) => void;\n context: any;\n}\n\nexport interface IScopedContext {\n parent?: AliasIScopedContext;\n children?: AliasIScopedContext[];\n registerComponent: (component: ScopedComponentType) => void;\n unRegisterComponent: (component: ScopedComponentType) => void;\n getComponentByName: (name: string) => ScopedComponentType;\n getComponentById: (id: string) => ScopedComponentType | undefined;\n getComponents: () => Array<ScopedComponentType>;\n reload: (target: string, ctx: RendererData) => void;\n send: (target: string, ctx: RendererData) => void;\n close: (target: string) => void;\n}\ntype AliasIScopedContext = IScopedContext;\nexport const ScopedContext = React.createContext(createScopedTools(''));\n\nfunction createScopedTools(\n path?: string,\n parent?: AliasIScopedContext,\n env?: RendererEnv\n): IScopedContext {\n const components: Array<ScopedComponentType> = [];\n const self = {\n parent,\n registerComponent(component: ScopedComponentType) {\n // 不要把自己注册在自己的 Scoped 上,自己的 Scoped 是给子节点们注册的。\n if (component.props.$path === path && parent) {\n return parent.registerComponent(component);\n }\n\n if (!~components.indexOf(component)) {\n components.push(component);\n }\n },\n\n unRegisterComponent(component: ScopedComponentType) {\n // 自己本身实际上注册在父级 Scoped 上。\n if (component.props.$path === path && parent) {\n return parent.unRegisterComponent(component);\n }\n\n const idx = components.indexOf(component);\n\n if (~idx) {\n components.splice(idx, 1);\n }\n },\n\n getComponentByName(name: string) {\n if (~name.indexOf('.')) {\n const paths = name.split('.');\n const len = paths.length;\n\n return paths.reduce((scope, name, idx) => {\n if (scope && scope.getComponentByName) {\n const result: ScopedComponentType = scope.getComponentByName(name);\n return result && idx < len - 1 ? result.context : result;\n }\n\n return null;\n }, this);\n }\n\n const resolved = find(\n components,\n component =>\n component.props.name === name || component.props.id === name\n );\n return resolved || (parent && parent.getComponentByName(name));\n },\n\n getComponentById(id: string) {\n let root: AliasIScopedContext = this;\n // 找到顶端scoped\n while (root.parent) {\n root = root.parent;\n }\n\n // 向下查找\n let component = undefined;\n findTree([root], (item: TreeItem) =>\n item.getComponents().find((cmpt: ScopedComponentType) => {\n if (cmpt.props.id === id) {\n component = cmpt;\n return true;\n }\n return false;\n })\n ) as ScopedComponentType | undefined;\n return component;\n },\n\n getComponents() {\n return components.concat();\n },\n\n reload(target: string | Array<string>, ctx: any) {\n const scoped = this;\n\n let targets =\n typeof target === 'string' ? target.split(/\\s*,\\s*/) : target;\n targets.forEach(name => {\n const idx2 = name.indexOf('?');\n let query = null;\n\n if (~idx2) {\n const queryObj = qsparse(\n name\n .substring(idx2 + 1)\n .replace(\n /\\$\\{(.*?)\\}/,\n (_, match) => '${' + encodeURIComponent(match) + '}'\n )\n );\n query = dataMapping(queryObj, ctx);\n name = name.substring(0, idx2);\n }\n\n const idx = name.indexOf('.');\n let subPath = '';\n\n if (~idx) {\n subPath = name.substring(1 + idx);\n name = name.substring(0, idx);\n }\n\n if (name === 'window') {\n if (query) {\n const link = location.pathname + '?' + qsstringify(query);\n env ? env.updateLocation(link, true) : location.replace(link);\n } else {\n location.reload();\n }\n } else {\n const component = scoped.getComponentByName(name);\n component &&\n component.reload &&\n component.reload(subPath, query, ctx);\n }\n });\n },\n\n send(receive: string | Array<string>, values: object) {\n const scoped = this;\n let receives =\n typeof receive === 'string' ? receive.split(/\\s*,\\s*/) : receive;\n\n // todo 没找到做提示!\n receives.forEach(name => {\n const askIdx = name.indexOf('?');\n if (~askIdx) {\n const query = name.substring(askIdx + 1);\n const queryObj = qsparse(\n query.replace(\n /\\$\\{(.*?)\\}/,\n (_, match) => '${' + encodeURIComponent(match) + '}'\n )\n );\n\n name = name.substring(0, askIdx);\n values = dataMapping(queryObj, values);\n }\n\n const idx = name.indexOf('.');\n let subPath = '';\n\n if (~idx) {\n subPath = name.substring(1 + idx);\n name = name.substring(0, idx);\n }\n\n const component = scoped.getComponentByName(name);\n\n if (component && component.receive) {\n component.receive(values, subPath);\n } else if (name === 'window' && env && env.updateLocation) {\n const query = {\n ...(location.search ? qsparse(location.search.substring(1)) : {}),\n ...values\n };\n const link = location.pathname + '?' + qsstringify(query);\n env.updateLocation(link, true);\n }\n });\n },\n\n /**\n * 主要是用来关闭指定弹框的\n *\n * @param target 目标 name\n */\n close(target: string | boolean) {\n const scoped = this;\n\n if (typeof target === 'string') {\n // 过滤已经关掉的,当用户 close 配置多个弹框 name 时会出现这种情况\n target\n .split(/\\s*,\\s*/)\n .map(name => scoped.getComponentByName(name))\n .filter(component => component && component.props.show)\n .forEach(closeDialog);\n }\n }\n };\n\n if (!parent) {\n return self;\n }\n\n !parent.children && (parent.children = []);\n\n // 把孩子带上\n parent.children!.push(self);\n\n return self;\n}\n\nfunction closeDialog(component: ScopedComponentType) {\n (component.context as IScopedContext)\n .getComponents()\n .filter(\n item =>\n item &&\n (item.props.type === 'dialog' || item.props.type === 'drawer') &&\n item.props.show\n )\n .forEach(closeDialog);\n component.props.onClose && component.props.onClose();\n}\n\nexport function HocScoped<\n T extends {\n $path?: string;\n env: RendererEnv;\n }\n>(\n ComposedComponent: React.ComponentType<T>\n): React.ComponentType<\n T & {\n scopeRef?: (ref: any) => void;\n }\n> & {\n ComposedComponent: React.ComponentType<T>;\n} {\n type ScopedProps = T & {\n scopeRef?: (ref: any) => void;\n };\n class ScopedComponent extends React.Component<ScopedProps> {\n static displayName = `Scoped(${\n ComposedComponent.displayName || ComposedComponent.name\n })`;\n static contextType = ScopedContext;\n static ComposedComponent = ComposedComponent;\n ref: any;\n scoped?: IScopedContext;\n\n constructor(props: ScopedProps, context: IScopedContext) {\n super(props);\n\n this.scoped = createScopedTools(\n this.props.$path,\n context,\n this.props.env\n );\n\n const scopeRef = props.scopeRef;\n scopeRef && scopeRef(this.scoped);\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n @autobind\n childRef(ref: any) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n\n this.ref = ref;\n }\n\n componentWillUnmount() {\n const scopeRef = this.props.scopeRef;\n scopeRef && scopeRef(null);\n delete this.scoped;\n }\n\n render() {\n const {scopeRef, ...rest} = this.props;\n\n return (\n <ScopedContext.Provider value={this.scoped!}>\n <ComposedComponent\n {\n ...(rest as any) /* todo */\n }\n ref={this.childRef}\n />\n </ScopedContext.Provider>\n );\n }\n }\n\n hoistNonReactStatic(ScopedComponent, ComposedComponent);\n return ScopedComponent;\n}\n\nexport default HocScoped;\n"
12
12
  ]
13
13
  }
@@ -0,0 +1,33 @@
1
+ import { RendererEvent } from '../utils/renderer-event';
2
+ declare type LogicActionType = 'parallel' | 'switch' | 'loop' | 'continue' | 'break';
3
+ export declare enum LoopStatus {
4
+ NORMAL = 0,
5
+ BREAK = 1,
6
+ CONTINUE = 2
7
+ }
8
+ export interface ListenerAction {
9
+ actionType: 'broadcast' | LogicActionType | 'custom' | string;
10
+ eventName?: string;
11
+ description?: string;
12
+ componentId?: string;
13
+ args?: any;
14
+ preventDefault?: boolean;
15
+ stopPropagation?: boolean;
16
+ execOn?: string;
17
+ script?: string;
18
+ [propName: string]: any;
19
+ }
20
+ export interface LogicAction extends ListenerAction {
21
+ children?: ListenerAction[];
22
+ }
23
+ export interface ListenerContext {
24
+ [propName: string]: any;
25
+ }
26
+ export interface Action {
27
+ run: (action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any>, mergeData?: any) => Promise<void>;
28
+ }
29
+ export declare const registerAction: (type: string, action: Action) => void;
30
+ export declare const getActionByType: (type: string) => Action;
31
+ export declare const runActions: (actions: ListenerAction | ListenerAction[], renderer: ListenerContext, event: any) => Promise<void>;
32
+ export declare const runAction: (actionInstrance: Action, actionConfig: ListenerAction, renderer: ListenerContext, event: any) => Promise<void>;
33
+ export {};
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runAction = exports.runActions = exports.getActionByType = exports.registerAction = exports.LoopStatus = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var helper_1 = require("../utils/helper");
6
+ var tpl_1 = require("../utils/tpl");
7
+ var tpl_builtin_1 = require("../utils/tpl-builtin");
8
+ // 循环动作执行状态
9
+ var LoopStatus;
10
+ (function (LoopStatus) {
11
+ LoopStatus[LoopStatus["NORMAL"] = 0] = "NORMAL";
12
+ LoopStatus[LoopStatus["BREAK"] = 1] = "BREAK";
13
+ LoopStatus[LoopStatus["CONTINUE"] = 2] = "CONTINUE";
14
+ })(LoopStatus = exports.LoopStatus || (exports.LoopStatus = {}));
15
+ // 存储 Action 和类型的映射关系,用于后续查找
16
+ var ActionTypeMap = {};
17
+ // 注册 Action
18
+ var registerAction = function (type, action) {
19
+ ActionTypeMap[type] = action;
20
+ };
21
+ exports.registerAction = registerAction;
22
+ // 通过类型获取 Action 实例
23
+ var getActionByType = function (type) {
24
+ return ActionTypeMap[type];
25
+ };
26
+ exports.getActionByType = getActionByType;
27
+ var runActions = function (actions, renderer, event) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
28
+ var _i, actions_1, actionConfig, actionInstrance;
29
+ return (0, tslib_1.__generator)(this, function (_a) {
30
+ switch (_a.label) {
31
+ case 0:
32
+ if (!Array.isArray(actions)) {
33
+ actions = [actions];
34
+ }
35
+ _i = 0, actions_1 = actions;
36
+ _a.label = 1;
37
+ case 1:
38
+ if (!(_i < actions_1.length)) return [3 /*break*/, 4];
39
+ actionConfig = actions_1[_i];
40
+ actionInstrance = (0, exports.getActionByType)(actionConfig.actionType);
41
+ // 如果存在指定组件ID,说明是组件专有动作
42
+ if (actionConfig.componentId) {
43
+ actionInstrance = (0, exports.getActionByType)('component');
44
+ }
45
+ else if (actionConfig.actionType === 'url' ||
46
+ actionConfig.actionType === 'link' ||
47
+ actionConfig.actionType === 'jump') {
48
+ // 打开页面动作
49
+ actionInstrance = (0, exports.getActionByType)('openpage');
50
+ }
51
+ // 找不到就通过组件专有动作完成
52
+ if (!actionInstrance) {
53
+ actionInstrance = (0, exports.getActionByType)('component');
54
+ }
55
+ // 这些节点的子节点运行逻辑由节点内部实现
56
+ return [4 /*yield*/, (0, exports.runAction)(actionInstrance, actionConfig, renderer, event)];
57
+ case 2:
58
+ // 这些节点的子节点运行逻辑由节点内部实现
59
+ _a.sent();
60
+ if (event.stoped) {
61
+ return [3 /*break*/, 4];
62
+ }
63
+ _a.label = 3;
64
+ case 3:
65
+ _i++;
66
+ return [3 /*break*/, 1];
67
+ case 4: return [2 /*return*/];
68
+ }
69
+ });
70
+ }); };
71
+ exports.runActions = runActions;
72
+ // 执行动作,与原有动作处理打通
73
+ var runAction = function (actionInstrance, actionConfig, renderer, event) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
74
+ var mergeData, args;
75
+ return (0, tslib_1.__generator)(this, function (_a) {
76
+ switch (_a.label) {
77
+ case 0:
78
+ mergeData = (0, helper_1.extendObject)(renderer.props.data, {
79
+ event: event
80
+ });
81
+ if (actionConfig.execOn && !(0, tpl_1.evalExpression)(actionConfig.execOn, mergeData)) {
82
+ return [2 /*return*/];
83
+ }
84
+ args = event.data;
85
+ if (actionConfig.args) {
86
+ args = (0, tpl_builtin_1.dataMapping)(actionConfig.args, mergeData);
87
+ }
88
+ return [4 /*yield*/, actionInstrance.run((0, tslib_1.__assign)((0, tslib_1.__assign)({}, actionConfig), { args: args }), renderer, event, mergeData)];
89
+ case 1:
90
+ _a.sent();
91
+ // 阻止原有动作执行
92
+ actionConfig.preventDefault && event.preventDefault();
93
+ // 阻止后续动作执行
94
+ actionConfig.stopPropagation && event.stopPropagation();
95
+ return [2 /*return*/];
96
+ }
97
+ });
98
+ }); };
99
+ exports.runAction = runAction;
100
+ //# sourceMappingURL=./actions/Action.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "Action.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/actions/Action.ts"
7
+ ],
8
+ "names": [],
9
+ "mappings": "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",
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 eventName?: string; // 事件名称,actionType: broadcast\n description?: string; // 事件描述,actionType: broadcast\n componentId?: string; // 组件ID,用于直接执行指定组件的动作\n args?: any; // 参数,可以配置数据映射\n preventDefault?: boolean; // 阻止原有组件的动作行为\n stopPropagation?: boolean; // 阻止后续的事件处理器执行\n execOn?: string; // 执行条件\n script?: string; // 自定义JS,actionType: custom\n [propName: string]: any; // 扩展各种Action\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 (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('openpage');\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 (actionConfig.execOn && !evalExpression(actionConfig.execOn, mergeData)) {\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
+ ]
13
+ }
@@ -0,0 +1,14 @@
1
+ import { IRootStore } from '../store/root';
2
+ import { RendererEvent } from '../utils/renderer-event';
3
+ import { Action, ListenerAction, ListenerContext } from './Action';
4
+ /**
5
+ * 发送请求动作
6
+ *
7
+ * @export
8
+ * @class AjaxAction
9
+ * @implements {Action}
10
+ */
11
+ export declare class AjaxAction implements Action {
12
+ run(action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any>): Promise<void>;
13
+ openFeedback(dialog: any, store: IRootStore): Promise<unknown>;
14
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AjaxAction = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var helper_1 = require("../utils/helper");
6
+ var tpl_1 = require("../utils/tpl");
7
+ var Action_1 = require("./Action");
8
+ /**
9
+ * 发送请求动作
10
+ *
11
+ * @export
12
+ * @class AjaxAction
13
+ * @implements {Action}
14
+ */
15
+ var AjaxAction = /** @class */ (function () {
16
+ function AjaxAction() {
17
+ }
18
+ AjaxAction.prototype.run = function (action, renderer, event) {
19
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
20
+ var store;
21
+ var _this = this;
22
+ return (0, tslib_1.__generator)(this, function (_a) {
23
+ store = renderer.props.store;
24
+ store.setCurrentAction(action);
25
+ store
26
+ .saveRemote(action.api, action.args, {
27
+ successMessage: action.messages && action.messages.success,
28
+ errorMessage: action.messages && action.messages.failed
29
+ })
30
+ .then(function () { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
31
+ var redirect;
32
+ return (0, tslib_1.__generator)(this, function (_a) {
33
+ switch (_a.label) {
34
+ case 0:
35
+ if (!(action.feedback && (0, helper_1.isVisible)(action.feedback, store.data))) return [3 /*break*/, 2];
36
+ return [4 /*yield*/, this.openFeedback(action.feedback, store)];
37
+ case 1:
38
+ _a.sent();
39
+ _a.label = 2;
40
+ case 2:
41
+ redirect = action.redirect && (0, tpl_1.filter)(action.redirect, store.data);
42
+ redirect && renderer.env.jumpTo(redirect, action);
43
+ return [2 /*return*/];
44
+ }
45
+ });
46
+ }); })
47
+ .catch(function () { });
48
+ return [2 /*return*/];
49
+ });
50
+ });
51
+ };
52
+ AjaxAction.prototype.openFeedback = function (dialog, store) {
53
+ return new Promise(function (resolve) {
54
+ store.setCurrentAction({
55
+ type: 'button',
56
+ actionType: 'dialog',
57
+ dialog: dialog
58
+ });
59
+ store.openDialog(store.data, undefined, function (confirmed) {
60
+ resolve(confirmed);
61
+ });
62
+ });
63
+ };
64
+ return AjaxAction;
65
+ }());
66
+ exports.AjaxAction = AjaxAction;
67
+ (0, Action_1.registerAction)('ajax', new AjaxAction());
68
+ //# sourceMappingURL=./actions/AjaxAction.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "AjaxAction.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/actions/AjaxAction.ts"
7
+ ],
8
+ "names": [],
9
+ "mappings": ";;;;AACA,0CAA0C;AAE1C,oCAAoC;AACpC,mCAKkB;AAElB;;;;;;GAMG;AACH;IAAA;IAqCA,CAAC;IApCO,wBAAG,GAAT,UACE,MAAsB,EACtB,QAAyB,EACzB,KAAyB;;;;;gBAEnB,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;gBAEnC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC/B,KAAK;qBACF,UAAU,CAAC,MAAM,CAAC,GAAa,EAAE,MAAM,CAAC,IAAI,EAAE;oBAC7C,cAAc,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO;oBAC1D,YAAY,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;iBACxD,CAAC;qBACD,IAAI,CAAC;;;;;qCACA,CAAA,MAAM,CAAC,QAAQ,IAAI,IAAA,kBAAS,EAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA,EAAzD,wBAAyD;gCAC3D,qBAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAA;;gCAA/C,SAA+C,CAAC;;;gCAG5C,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAA,YAAM,EAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gCACxE,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;;;;qBACnD,CAAC;qBACD,KAAK,CAAC,cAAO,CAAC,CAAC,CAAC;;;;KACpB;IAED,iCAAY,GAAZ,UAAa,MAAW,EAAE,KAAiB;QACzC,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;YACxB,KAAK,CAAC,gBAAgB,CAAC;gBACrB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,UAAA,SAAS;gBAC/C,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACH,iBAAC;AAAD,CAAC,AArCD,IAqCC;AArCY,gCAAU;AAuCvB,IAAA,uBAAc,EAAC,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC",
10
+ "sourcesContent": [
11
+ "import {IRootStore} from '../store/root';\nimport {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\n/**\n * 发送请求动作\n *\n * @export\n * @class AjaxAction\n * @implements {Action}\n */\nexport class AjaxAction implements Action {\n async run(\n action: ListenerAction,\n renderer: ListenerContext,\n event: RendererEvent<any>\n ) {\n const store = renderer.props.store;\n\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, action.args, {\n successMessage: action.messages && action.messages.success,\n errorMessage: action.messages && action.messages.failed\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store);\n }\n\n const redirect = action.redirect && filter(action.redirect, store.data);\n redirect && renderer.env.jumpTo(redirect, action);\n })\n .catch(() => {});\n }\n\n openFeedback(dialog: any, store: IRootStore) {\n return new Promise(resolve => {\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(store.data, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n}\n\nregisterAction('ajax', new AjaxAction());\n"
12
+ ]
13
+ }
@@ -0,0 +1,12 @@
1
+ import { RendererEvent } from '../utils/renderer-event';
2
+ import { Action, ListenerAction, ListenerContext } from './Action';
3
+ /**
4
+ * breach
5
+ *
6
+ * @export
7
+ * @class BreakAction
8
+ * @implements {Action}
9
+ */
10
+ export declare class BreakAction implements Action {
11
+ run(action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any>): Promise<void>;
12
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BreakAction = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var Action_1 = require("./Action");
6
+ /**
7
+ * breach
8
+ *
9
+ * @export
10
+ * @class BreakAction
11
+ * @implements {Action}
12
+ */
13
+ var BreakAction = /** @class */ (function () {
14
+ function BreakAction() {
15
+ }
16
+ BreakAction.prototype.run = function (action, renderer, event) {
17
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
18
+ return (0, tslib_1.__generator)(this, function (_a) {
19
+ renderer.loopStatus = Action_1.LoopStatus.BREAK;
20
+ return [2 /*return*/];
21
+ });
22
+ });
23
+ };
24
+ return BreakAction;
25
+ }());
26
+ exports.BreakAction = BreakAction;
27
+ (0, Action_1.registerAction)('break', new BreakAction());
28
+ //# sourceMappingURL=./actions/BreakAction.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "BreakAction.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/actions/BreakAction.ts"
7
+ ],
8
+ "names": [],
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
+ "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"
12
+ ]
13
+ }
@@ -0,0 +1,12 @@
1
+ import { RendererEvent } from '../utils/renderer-event';
2
+ import { Action, ListenerAction, ListenerContext } from './Action';
3
+ /**
4
+ * broadcast
5
+ *
6
+ * @export
7
+ * @class BroadcastAction
8
+ * @implements {Action}
9
+ */
10
+ export declare class BroadcastAction implements Action {
11
+ run(action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any>): Promise<any>;
12
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BroadcastAction = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var helper_1 = require("../utils/helper");
6
+ var Action_1 = require("./Action");
7
+ /**
8
+ * broadcast
9
+ *
10
+ * @export
11
+ * @class BroadcastAction
12
+ * @implements {Action}
13
+ */
14
+ var BroadcastAction = /** @class */ (function () {
15
+ function BroadcastAction() {
16
+ }
17
+ BroadcastAction.prototype.run = function (action, renderer, event) {
18
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
19
+ return (0, tslib_1.__generator)(this, function (_a) {
20
+ switch (_a.label) {
21
+ case 0:
22
+ if (!action.eventName) {
23
+ console.warn('eventName 未定义,请定义事件名称');
24
+ return [2 /*return*/];
25
+ }
26
+ // 作为一个新的事件,需要把广播动作的args参数追加到事件数据中
27
+ event.setData((0, helper_1.createObject)(event.data, action.args));
28
+ return [4 /*yield*/, event.context.env.dispatchEvent(action.eventName, renderer, action.args, event)];
29
+ case 1:
30
+ // 直接触发对应的动作
31
+ return [2 /*return*/, _a.sent()];
32
+ }
33
+ });
34
+ });
35
+ };
36
+ return BroadcastAction;
37
+ }());
38
+ exports.BroadcastAction = BroadcastAction;
39
+ (0, Action_1.registerAction)('broadcast', new BroadcastAction());
40
+ //# sourceMappingURL=./actions/BroadcastAction.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "BroadcastAction.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/actions/BroadcastAction.ts"
7
+ ],
8
+ "names": [],
9
+ "mappings": ";;;;AAAA,0CAA6C;AAE7C,mCAKkB;AAElB;;;;;;GAMG;AACH;IAAA;IAsBA,CAAC;IArBO,6BAAG,GAAT,UACE,MAAsB,EACtB,QAAyB,EACzB,KAAyB;;;;;wBAEzB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;4BACrB,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;4BACtC,sBAAO;yBACR;wBAED,kCAAkC;wBAClC,KAAK,CAAC,OAAO,CAAC,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;wBAG9C,qBAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAC1C,MAAM,CAAC,SAAS,EAChB,QAAQ,EACR,MAAM,CAAC,IAAI,EACX,KAAK,CACN,EAAA;;oBAND,YAAY;oBACZ,sBAAO,SAKN,EAAC;;;;KACH;IACH,sBAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,0CAAe;AAwB5B,IAAA,uBAAc,EAAC,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC",
10
+ "sourcesContent": [
11
+ "import {createObject} from '../utils/helper';\nimport {RendererEvent} from '../utils/renderer-event';\nimport {\n Action,\n ListenerAction,\n ListenerContext,\n registerAction\n} from './Action';\n\n/**\n * broadcast\n *\n * @export\n * @class BroadcastAction\n * @implements {Action}\n */\nexport class BroadcastAction implements Action {\n async run(\n action: ListenerAction,\n renderer: ListenerContext,\n event: RendererEvent<any>\n ) {\n if (!action.eventName) {\n console.warn('eventName 未定义,请定义事件名称');\n return;\n }\n\n // 作为一个新的事件,需要把广播动作的args参数追加到事件数据中\n event.setData(createObject(event.data, action.args));\n\n // 直接触发对应的动作\n return await event.context.env.dispatchEvent(\n action.eventName,\n renderer,\n action.args,\n event\n );\n }\n}\n\nregisterAction('broadcast', new BroadcastAction());\n"
12
+ ]
13
+ }
@@ -0,0 +1,12 @@
1
+ import { RendererEvent } from '../utils/renderer-event';
2
+ import { Action, ListenerAction, ListenerContext } from './Action';
3
+ /**
4
+ * 组件动作
5
+ *
6
+ * @export
7
+ * @class CmptAction
8
+ * @implements {Action}
9
+ */
10
+ export declare class CmptAction implements Action {
11
+ run(action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any>): Promise<void>;
12
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CmptAction = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var Action_1 = require("./Action");
6
+ /**
7
+ * 组件动作
8
+ *
9
+ * @export
10
+ * @class CmptAction
11
+ * @implements {Action}
12
+ */
13
+ var CmptAction = /** @class */ (function () {
14
+ function CmptAction() {
15
+ }
16
+ CmptAction.prototype.run = function (action, renderer, event) {
17
+ var _a, _b, _c, _d;
18
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
19
+ var component;
20
+ return (0, tslib_1.__generator)(this, function (_e) {
21
+ switch (_e.label) {
22
+ case 0:
23
+ component = renderer.props.$schema.id !== action.componentId
24
+ ? (_a = renderer.props.scoped) === null || _a === void 0 ? void 0 : _a.getComponentById(action.componentId)
25
+ : renderer;
26
+ return [4 /*yield*/, ((_c = (_b = component.props).onAction) === null || _c === void 0 ? void 0 : _c.call(_b, event, action, action.args))];
27
+ case 1:
28
+ // 执行组件动作
29
+ (_e.sent()) ||
30
+ ((_d = component.doAction) === null || _d === void 0 ? void 0 : _d.call(component, action, action.args));
31
+ return [2 /*return*/];
32
+ }
33
+ });
34
+ });
35
+ };
36
+ return CmptAction;
37
+ }());
38
+ exports.CmptAction = CmptAction;
39
+ (0, Action_1.registerAction)('component', new CmptAction());
40
+ //# sourceMappingURL=./actions/CmptAction.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "CmptAction.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/actions/CmptAction.ts"
7
+ ],
8
+ "names": [],
9
+ "mappings": ";;;;AAEA,mCAMkB;AAElB;;;;;;GAMG;AACH;IAAA;IAgBA,CAAC;IAfO,wBAAG,GAAT,UACE,MAAsB,EACtB,QAAyB,EACzB,KAAyB;;;;;;;wBAGnB,SAAS,GACb,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,WAAW;4BAC9C,CAAC,CAAC,MAAA,QAAQ,CAAC,KAAK,CAAC,MAAM,0CAAE,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC;4BAC7D,CAAC,CAAC,QAAQ,CAAC;wBAGd,qBAAM,CAAA,MAAA,MAAA,SAAS,CAAC,KAAK,EAAC,QAAQ,mDAAG,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA,EAAA;;wBAD7D,SAAS;wBACT,CAAC,SAA4D,CAAC;6BAC5D,MAAA,SAAS,CAAC,QAAQ,+CAAlB,SAAS,EAAY,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC;;;;;KAC7C;IACH,iBAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBY,gCAAU;AAkBvB,IAAA,uBAAc,EAAC,WAAW,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC",
10
+ "sourcesContent": [
11
+ "import {RendererEvent} from '../utils/renderer-event';\nimport {dataMapping} from '../utils/tpl-builtin';\nimport {\n Action,\n ListenerAction,\n ListenerContext,\n LoopStatus,\n registerAction\n} from './Action';\n\n/**\n * 组件动作\n *\n * @export\n * @class CmptAction\n * @implements {Action}\n */\nexport class CmptAction implements Action {\n async run(\n action: ListenerAction,\n renderer: ListenerContext,\n event: RendererEvent<any>\n ) {\n // 根据唯一ID查找指定组件\n const component =\n renderer.props.$schema.id !== action.componentId\n ? renderer.props.scoped?.getComponentById(action.componentId)\n : renderer;\n\n // 执行组件动作\n (await component.props.onAction?.(event, action, action.args)) ||\n component.doAction?.(action, action.args);\n }\n}\n\nregisterAction('component', new CmptAction());\n"
12
+ ]
13
+ }
@@ -0,0 +1,12 @@
1
+ import { RendererEvent } from '../utils/renderer-event';
2
+ import { Action, ListenerAction, ListenerContext } from './Action';
3
+ /**
4
+ * continue
5
+ *
6
+ * @export
7
+ * @class ContinueAction
8
+ * @implements {Action}
9
+ */
10
+ export declare class ContinueAction implements Action {
11
+ run(action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any>): Promise<void>;
12
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContinueAction = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var Action_1 = require("./Action");
6
+ /**
7
+ * continue
8
+ *
9
+ * @export
10
+ * @class ContinueAction
11
+ * @implements {Action}
12
+ */
13
+ var ContinueAction = /** @class */ (function () {
14
+ function ContinueAction() {
15
+ }
16
+ ContinueAction.prototype.run = function (action, renderer, event) {
17
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
18
+ return (0, tslib_1.__generator)(this, function (_a) {
19
+ renderer.loopStatus = Action_1.LoopStatus.CONTINUE;
20
+ return [2 /*return*/];
21
+ });
22
+ });
23
+ };
24
+ return ContinueAction;
25
+ }());
26
+ exports.ContinueAction = ContinueAction;
27
+ (0, Action_1.registerAction)('continue', new ContinueAction());
28
+ //# sourceMappingURL=./actions/ContinueAction.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "ContinueAction.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/actions/ContinueAction.ts"
7
+ ],
8
+ "names": [],
9
+ "mappings": ";;;;AACA,mCAMkB;AAElB;;;;;;GAMG;AACH;IAAA;IAQA,CAAC;IAPO,4BAAG,GAAT,UACE,MAAsB,EACtB,QAAyB,EACzB,KAAyB;;;gBAEzB,QAAQ,CAAC,UAAU,GAAG,mBAAU,CAAC,QAAQ,CAAC;;;;KAC3C;IACH,qBAAC;AAAD,CAAC,AARD,IAQC;AARY,wCAAc;AAU3B,IAAA,uBAAc,EAAC,UAAU,EAAE,IAAI,cAAc,EAAE,CAAC,CAAC",
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 * continue\n *\n * @export\n * @class ContinueAction\n * @implements {Action}\n */\nexport class ContinueAction implements Action {\n async run(\n action: ListenerAction,\n renderer: ListenerContext,\n event: RendererEvent<any>\n ) {\n renderer.loopStatus = LoopStatus.CONTINUE;\n }\n}\n\nregisterAction('continue', new ContinueAction());\n"
12
+ ]
13
+ }
@@ -0,0 +1,12 @@
1
+ import { RendererEvent } from '../utils/renderer-event';
2
+ import { Action, ListenerAction, ListenerContext } from './Action';
3
+ /**
4
+ * 复制动作
5
+ *
6
+ * @export
7
+ * @class CopyAction
8
+ * @implements {Action}
9
+ */
10
+ export declare class CopyAction implements Action {
11
+ run(action: ListenerAction, renderer: ListenerContext, event: RendererEvent<any>): Promise<void>;
12
+ }