amis 1.6.0 → 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 (216) hide show
  1. package/README.md +1 -0
  2. package/lib/RootRenderer.d.ts +2 -0
  3. package/lib/RootRenderer.js +19 -1
  4. package/lib/RootRenderer.js.map +2 -2
  5. package/lib/SchemaRenderer.js +52 -1
  6. package/lib/SchemaRenderer.js.map +2 -2
  7. package/lib/Scoped.d.ts +2 -0
  8. package/lib/Scoped.js +27 -1
  9. package/lib/Scoped.js.map +2 -2
  10. package/lib/actions/Action.d.ts +33 -0
  11. package/lib/actions/Action.js +100 -0
  12. package/lib/actions/Action.js.map +13 -0
  13. package/lib/actions/AjaxAction.d.ts +14 -0
  14. package/lib/actions/AjaxAction.js +68 -0
  15. package/lib/actions/AjaxAction.js.map +13 -0
  16. package/lib/actions/BreakAction.d.ts +12 -0
  17. package/lib/actions/BreakAction.js +28 -0
  18. package/lib/actions/BreakAction.js.map +13 -0
  19. package/lib/actions/BroadcastAction.d.ts +12 -0
  20. package/lib/actions/BroadcastAction.js +40 -0
  21. package/lib/actions/BroadcastAction.js.map +13 -0
  22. package/lib/actions/CmptAction.d.ts +12 -0
  23. package/lib/actions/CmptAction.js +40 -0
  24. package/lib/actions/CmptAction.js.map +13 -0
  25. package/lib/actions/ContinueAction.d.ts +12 -0
  26. package/lib/actions/ContinueAction.js +28 -0
  27. package/lib/actions/ContinueAction.js.map +13 -0
  28. package/lib/actions/CopyAction.d.ts +12 -0
  29. package/lib/actions/CopyAction.js +35 -0
  30. package/lib/actions/CopyAction.js.map +13 -0
  31. package/lib/actions/CustomAction.d.ts +12 -0
  32. package/lib/actions/CustomAction.js +43 -0
  33. package/lib/actions/CustomAction.js.map +13 -0
  34. package/lib/actions/DialogAction.d.ts +12 -0
  35. package/lib/actions/DialogAction.js +31 -0
  36. package/lib/actions/DialogAction.js.map +13 -0
  37. package/lib/actions/DrawerAction.d.ts +12 -0
  38. package/lib/actions/DrawerAction.js +31 -0
  39. package/lib/actions/DrawerAction.js.map +13 -0
  40. package/lib/actions/EmailAction.d.ts +12 -0
  41. package/lib/actions/EmailAction.js +37 -0
  42. package/lib/actions/EmailAction.js.map +13 -0
  43. package/lib/actions/LoopAction.d.ts +12 -0
  44. package/lib/actions/LoopAction.js +93 -0
  45. package/lib/actions/LoopAction.js.map +13 -0
  46. package/lib/actions/OpenPageAction.d.ts +12 -0
  47. package/lib/actions/OpenPageAction.js +33 -0
  48. package/lib/actions/OpenPageAction.js.map +13 -0
  49. package/lib/actions/ParallelAction.d.ts +5 -0
  50. package/lib/actions/ParallelAction.js +33 -0
  51. package/lib/actions/ParallelAction.js.map +13 -0
  52. package/lib/actions/SwitchAction.d.ts +8 -0
  53. package/lib/actions/SwitchAction.js +45 -0
  54. package/lib/actions/SwitchAction.js.map +13 -0
  55. package/lib/actions/index.d.ts +18 -0
  56. package/lib/actions/index.js +22 -0
  57. package/lib/actions/index.js.map +13 -0
  58. package/lib/components/AnchorNav.d.ts +20 -20
  59. package/lib/components/Button.d.ts +20 -20
  60. package/lib/components/CalendarMobile.d.ts +112 -86
  61. package/lib/components/CalendarMobile.js +85 -31
  62. package/lib/components/CalendarMobile.js.map +2 -2
  63. package/lib/components/Collapse.d.ts +20 -20
  64. package/lib/components/DatePicker.js +9 -3
  65. package/lib/components/DatePicker.js.map +2 -2
  66. package/lib/components/DateRangePicker.js +1 -0
  67. package/lib/components/DateRangePicker.js.map +2 -2
  68. package/lib/components/InputBox.d.ts +21 -21
  69. package/lib/components/ListGroup.d.ts +21 -21
  70. package/lib/components/ListMenu.d.ts +84 -84
  71. package/lib/components/MonthRangePicker.js +2 -1
  72. package/lib/components/MonthRangePicker.js.map +2 -2
  73. package/lib/components/Radios.d.ts +21 -21
  74. package/lib/components/Rating.d.ts +21 -21
  75. package/lib/components/ResultBox.d.ts +84 -84
  76. package/lib/components/Select.d.ts +238 -238
  77. package/lib/components/Select.js +4 -3
  78. package/lib/components/Select.js.map +2 -2
  79. package/lib/components/Timeline.js +1 -1
  80. package/lib/components/Timeline.js.map +2 -2
  81. package/lib/components/TimelineItem.d.ts +3 -2
  82. package/lib/components/TimelineItem.js +8 -9
  83. package/lib/components/TimelineItem.js.map +2 -2
  84. package/lib/components/Tree.d.ts +84 -84
  85. package/lib/components/formula/plugin.js +0 -1
  86. package/lib/components/formula/plugin.js.map +2 -2
  87. package/lib/env.d.ts +4 -0
  88. package/lib/env.js.map +2 -2
  89. package/lib/factory.d.ts +2 -1
  90. package/lib/factory.js +78 -0
  91. package/lib/factory.js.map +2 -2
  92. package/lib/helper.css.map +1 -1
  93. package/lib/index.d.ts +2 -0
  94. package/lib/index.js +3 -1
  95. package/lib/index.js.map +2 -2
  96. package/lib/renderers/Action.d.ts +1 -1
  97. package/lib/renderers/Action.js +26 -10
  98. package/lib/renderers/Action.js.map +2 -2
  99. package/lib/renderers/Custom.d.ts +1 -1
  100. package/lib/renderers/Custom.js +1 -1
  101. package/lib/renderers/Custom.js.map +1 -1
  102. package/lib/renderers/Form/DiffEditor.d.ts +6 -0
  103. package/lib/renderers/Form/Editor.d.ts +6 -0
  104. package/lib/renderers/Form/Options.js +9 -7
  105. package/lib/renderers/Form/Options.js.map +2 -2
  106. package/lib/renderers/Form/Select.js +3 -3
  107. package/lib/renderers/Form/Select.js.map +2 -2
  108. package/lib/renderers/Form/index.js +8 -1
  109. package/lib/renderers/Form/index.js.map +2 -2
  110. package/lib/renderers/Link.d.ts +1 -1
  111. package/lib/renderers/Link.js +27 -6
  112. package/lib/renderers/Link.js.map +2 -2
  113. package/lib/renderers/Nav.d.ts +21 -21
  114. package/lib/renderers/Remark.d.ts +1 -1
  115. package/lib/store/formItem.js +1 -1
  116. package/lib/store/formItem.js.map +2 -2
  117. package/lib/themes/ang-ie11.css +180 -1
  118. package/lib/themes/ang.css +180 -1
  119. package/lib/themes/ang.css.map +1 -1
  120. package/lib/themes/antd-ie11.css +184 -2
  121. package/lib/themes/antd.css +184 -2
  122. package/lib/themes/antd.css.map +1 -1
  123. package/lib/themes/cxd-ie11.css +182 -8
  124. package/lib/themes/cxd.css +182 -8
  125. package/lib/themes/cxd.css.map +1 -1
  126. package/lib/themes/dark-ie11.css +182 -1
  127. package/lib/themes/dark.css +182 -1
  128. package/lib/themes/dark.css.map +1 -1
  129. package/lib/themes/default.css +182 -8
  130. package/lib/themes/default.css.map +1 -1
  131. package/lib/utils/api.js +14 -3
  132. package/lib/utils/api.js.map +2 -2
  133. package/lib/utils/debug.d.ts +26 -0
  134. package/lib/utils/debug.js +351 -0
  135. package/lib/utils/debug.js.map +13 -0
  136. package/lib/utils/renderer-event.d.ts +38 -0
  137. package/lib/utils/renderer-event.js +28 -0
  138. package/lib/utils/renderer-event.js.map +13 -0
  139. package/package.json +1 -1
  140. package/scss/_properties.scss +2 -0
  141. package/scss/_variables.scss +1 -0
  142. package/scss/components/_calendar.scss +4 -0
  143. package/scss/components/_debug.scss +167 -0
  144. package/scss/components/_popup.scss +1 -1
  145. package/scss/components/form/_date-range.scss +33 -0
  146. package/scss/components/form/_form.scss +2 -0
  147. package/scss/themes/_antd-variables.scss +4 -1
  148. package/scss/themes/_common.scss +2 -0
  149. package/scss/themes/_cxd-variables.scss +2 -0
  150. package/scss/themes/_dark-variables.scss +3 -0
  151. package/scss/themes/cxd.scss +0 -7
  152. package/sdk/ang-ie11.css +211 -1
  153. package/sdk/ang.css +213 -1
  154. package/sdk/antd-ie11.css +213 -2
  155. package/sdk/antd.css +217 -2
  156. package/sdk/charts.js +16 -16
  157. package/sdk/codemirror.js +7 -7
  158. package/sdk/color-picker.js +65 -65
  159. package/sdk/cropperjs.js +2 -2
  160. package/sdk/cxd-ie11.css +211 -8
  161. package/sdk/cxd.css +215 -8
  162. package/sdk/dark-ie11.css +211 -1
  163. package/sdk/dark.css +215 -1
  164. package/sdk/exceljs.js +1 -1
  165. package/sdk/helper.css.map +1 -1
  166. package/sdk/markdown.js +69 -69
  167. package/sdk/papaparse.js +1 -1
  168. package/sdk/renderers/Form/CityDB.js +1 -1
  169. package/sdk/rest.js +18 -18
  170. package/sdk/rich-text.js +62 -62
  171. package/sdk/sdk-ie11.css +211 -8
  172. package/sdk/sdk.css +215 -8
  173. package/sdk/sdk.js +1293 -1257
  174. package/sdk/thirds/hls.js/hls.js +1 -1
  175. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  176. package/sdk/tinymce.js +57 -57
  177. package/src/RootRenderer.tsx +27 -1
  178. package/src/SchemaRenderer.tsx +70 -4
  179. package/src/Scoped.tsx +46 -4
  180. package/src/actions/Action.ts +138 -0
  181. package/src/actions/AjaxAction.ts +58 -0
  182. package/src/actions/BreakAction.ts +27 -0
  183. package/src/actions/BroadcastAction.ts +41 -0
  184. package/src/actions/CmptAction.ts +36 -0
  185. package/src/actions/ContinueAction.ts +27 -0
  186. package/src/actions/CopyAction.ts +41 -0
  187. package/src/actions/CustomAction.ts +46 -0
  188. package/src/actions/DialogAction.ts +28 -0
  189. package/src/actions/DrawerAction.ts +28 -0
  190. package/src/actions/EmailAction.ts +38 -0
  191. package/src/actions/LoopAction.ts +77 -0
  192. package/src/actions/OpenPageAction.ts +39 -0
  193. package/src/actions/ParallelAction.ts +26 -0
  194. package/src/actions/SwitchAction.ts +35 -0
  195. package/src/actions/index.ts +20 -0
  196. package/src/components/CalendarMobile.tsx +127 -32
  197. package/src/components/DatePicker.tsx +32 -2
  198. package/src/components/DateRangePicker.tsx +2 -1
  199. package/src/components/MonthRangePicker.tsx +2 -1
  200. package/src/components/Select.tsx +4 -3
  201. package/src/components/Timeline.tsx +9 -4
  202. package/src/components/TimelineItem.tsx +62 -29
  203. package/src/components/formula/plugin.ts +0 -2
  204. package/src/env.tsx +22 -0
  205. package/src/factory.tsx +87 -1
  206. package/src/index.tsx +4 -0
  207. package/src/renderers/Action.tsx +11 -2
  208. package/src/renderers/Custom.tsx +1 -1
  209. package/src/renderers/Form/Options.tsx +15 -7
  210. package/src/renderers/Form/Select.tsx +7 -3
  211. package/src/renderers/Form/index.tsx +7 -1
  212. package/src/renderers/Link.tsx +18 -3
  213. package/src/store/formItem.ts +1 -1
  214. package/src/utils/api.ts +15 -2
  215. package/src/utils/debug.tsx +438 -0
  216. package/src/utils/renderer-event.ts +75 -0
package/README.md CHANGED
@@ -4,6 +4,7 @@
4
4
  </p>
5
5
 
6
6
  [文档(国内)](https://baidu.gitee.io/amis/) |
7
+ [文档(备用)](https://aisuda.bce.baidu.com/amis/) |
7
8
  [文档(国外)](https://baidu.github.io/amis/) |
8
9
  [可视化编辑器](https://aisuda.github.io/amis-editor-demo/) |
9
10
  [amis-admin](https://github.com/aisuda/amis-admin) |
@@ -10,9 +10,11 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
10
10
  store: IRootStore;
11
11
  static contextType: React.Context<IScopedContext>;
12
12
  constructor(props: RootRendererProps);
13
+ componentDidMount(): void;
13
14
  componentDidUpdate(prevProps: RootRendererProps): void;
14
15
  componentDidCatch(error: any, errorInfo: any): void;
15
16
  componentWillUnmount(): void;
17
+ handlePageVisibilityChange(): void;
16
18
  handleAction(e: React.UIEvent<any> | void, action: Action, ctx: object, throwErrors?: boolean, delegate?: IScopedContext): void;
17
19
  handleDialogConfirm(values: object[], action: Action, ...args: Array<any>): void;
18
20
  handleDialogClose(confirmed?: boolean): void;
@@ -31,10 +31,14 @@ var RootRenderer = /** @class */ (function (_super) {
31
31
  'handleDialogConfirm',
32
32
  'handleDialogClose',
33
33
  'handleDrawerConfirm',
34
- 'handleDrawerClose'
34
+ 'handleDrawerClose',
35
+ 'handlePageVisibilityChange'
35
36
  ]);
36
37
  return _this;
37
38
  }
39
+ RootRenderer.prototype.componentDidMount = function () {
40
+ document.addEventListener('visibilitychange', this.handlePageVisibilityChange);
41
+ };
38
42
  RootRenderer.prototype.componentDidUpdate = function (prevProps) {
39
43
  var props = this.props;
40
44
  if (props.data !== prevProps.data) {
@@ -49,6 +53,20 @@ var RootRenderer = /** @class */ (function (_super) {
49
53
  };
50
54
  RootRenderer.prototype.componentWillUnmount = function () {
51
55
  this.props.rootStore.removeStore(this.store);
56
+ document.removeEventListener('visibilitychange', this.handlePageVisibilityChange);
57
+ };
58
+ RootRenderer.prototype.handlePageVisibilityChange = function () {
59
+ var env = this.props.env;
60
+ if (document.visibilityState === 'hidden') {
61
+ env === null || env === void 0 ? void 0 : env.tracker({
62
+ eventType: 'pageHidden'
63
+ });
64
+ }
65
+ else if (document.visibilityState === 'visible') {
66
+ env === null || env === void 0 ? void 0 : env.tracker({
67
+ eventType: 'pageVisible'
68
+ });
69
+ }
52
70
  };
53
71
  RootRenderer.prototype.handleAction = function (e, action, ctx, throwErrors, delegate) {
54
72
  var _this = this;
@@ -6,8 +6,8 @@
6
6
  "/src/RootRenderer.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import {observer} from 'mobx-react';\nimport React from 'react';\nimport Alert from './components/Alert2';\nimport Spinner from './components/Spinner';\nimport {renderChild, RootProps} from './Root';\nimport {IScopedContext, ScopedContext} from './Scoped';\nimport {IRootStore, RootStore} from './store/root';\nimport {Action} from './types';\nimport {bulkBindFunctions, guid, isVisible} from './utils/helper';\nimport {filter} from './utils/tpl';\nimport qs from 'qs';\nimport pick from 'lodash/pick';\nimport mapValues from 'lodash/mapValues';\n\nexport interface RootRendererProps extends RootProps {\n location?: any;\n}\n\n@observer\nexport class RootRenderer extends React.Component<RootRendererProps> {\n store: IRootStore;\n static contextType = ScopedContext;\n\n constructor(props: RootRendererProps) {\n super(props);\n\n this.store = props.rootStore.addStore({\n id: guid(),\n path: this.props.$path,\n storeType: RootStore.name,\n parentId: ''\n }) as IRootStore;\n\n this.store.initData(props.data);\n this.store.updateLocation(props.location);\n\n bulkBindFunctions<RootRenderer /*为毛 this 的类型自动识别不出来?*/>(this, [\n 'handleAction',\n 'handleDialogConfirm',\n 'handleDialogClose',\n 'handleDrawerConfirm',\n 'handleDrawerClose'\n ]);\n }\n\n componentDidUpdate(prevProps: RootRendererProps) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n this.store.initData(props.data);\n }\n\n if (props.location !== prevProps.location) {\n this.store.updateLocation(props.location);\n }\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n this.store.setRuntimeError(error, errorInfo);\n }\n\n componentWillUnmount() {\n this.props.rootStore.removeStore(this.store);\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {env, messages, onAction} = this.props;\n const store = this.store;\n\n if (\n onAction?.(e, action, ctx, throwErrors, delegate || this.context) ===\n false\n ) {\n return;\n }\n\n const scoped = delegate || this.context;\n if (action.actionType === 'reload') {\n action.target && scoped.reload(action.target, ctx);\n } else if (action.target) {\n action.target.split(',').forEach(name => {\n let target = scoped.getComponentByName(name);\n target &&\n target.doAction &&\n target.doAction(\n {\n ...action,\n target: undefined\n },\n ctx\n );\n });\n } else if (\n action.actionType === 'url' ||\n action.actionType === 'link' ||\n action.actionType === 'jump'\n ) {\n if (!env || !env.jumpTo) {\n throw new Error('env.jumpTo is required!');\n }\n\n env.jumpTo(\n filter(\n (action.to || action.url || action.link) as string,\n ctx,\n '| raw'\n ),\n action,\n ctx\n );\n } else if (action.actionType === 'email') {\n const mailTo = filter(action.to, ctx);\n const mailInfo = mapValues(\n pick(action, 'to', 'cc', 'bcc', 'subject', 'body'),\n val => filter(val, ctx)\n );\n const mailStr = qs.stringify(mailInfo);\n const mailto = `mailto:${mailTo}?${mailStr}`;\n\n window.open(mailto);\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(ctx);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(ctx);\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, ctx, {\n successMessage:\n (action.messages && action.messages.success) ||\n (messages && messages.saveSuccess),\n errorMessage:\n (action.messages && action.messages.failed) ||\n (messages && messages.saveSuccess)\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload &&\n this.reloadTarget(\n delegate || this.context,\n action.reload,\n store.data\n );\n })\n .catch(() => {});\n } else if (\n action.actionType === 'copy' &&\n (action.content || action.copy)\n ) {\n env.copy &&\n env.copy(filter(action.content || action.copy, ctx, '| raw'), {\n format: action.copyFormat\n });\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(confirmed = false) {\n const store = this.store;\n store.closeDialog(confirmed);\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose() {\n const store = this.store;\n store.closeDrawer();\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const store = this.store;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n reloadTarget(scoped: IScopedContext, target: string, data?: any) {\n scoped.reload(target, data);\n }\n\n render() {\n const {pathPrefix, schema, ...rest} = this.props;\n const store = this.store;\n\n if (store.runtimeError) {\n return (\n <Alert level=\"danger\">\n <h3>{this.store.runtimeError?.toString()}</h3>\n <pre>\n <code>{this.store.runtimeErrorStack.componentStack}</code>\n </pre>\n </Alert>\n );\n }\n\n return (\n <>\n {\n renderChild(pathPrefix!, schema, {\n ...rest,\n data: this.store.downStream,\n onAction: this.handleAction\n }) as JSX.Element\n }\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {store.error ? (\n <Alert level=\"danger\" showCloseButton onClose={store.clearMessage}>\n {store.msg}\n </Alert>\n ) : null}\n\n {renderChild(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n ...rest,\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen,\n onAction: this.handleAction\n }\n )}\n\n {renderChild(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n ...rest,\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction\n }\n )}\n </>\n );\n }\n}\n"
11
+ "import {observer} from 'mobx-react';\nimport {getEnv} from 'mobx-state-tree';\nimport React from 'react';\nimport Alert from './components/Alert2';\nimport Spinner from './components/Spinner';\nimport {renderChild, RootProps} from './Root';\nimport {IScopedContext, ScopedContext} from './Scoped';\nimport {IRootStore, RootStore} from './store/root';\nimport {Action} from './types';\nimport {bulkBindFunctions, guid, isVisible} from './utils/helper';\nimport {filter} from './utils/tpl';\nimport qs from 'qs';\nimport pick from 'lodash/pick';\nimport mapValues from 'lodash/mapValues';\n\nexport interface RootRendererProps extends RootProps {\n location?: any;\n}\n\n@observer\nexport class RootRenderer extends React.Component<RootRendererProps> {\n store: IRootStore;\n static contextType = ScopedContext;\n\n constructor(props: RootRendererProps) {\n super(props);\n\n this.store = props.rootStore.addStore({\n id: guid(),\n path: this.props.$path,\n storeType: RootStore.name,\n parentId: ''\n }) as IRootStore;\n\n this.store.initData(props.data);\n this.store.updateLocation(props.location);\n\n bulkBindFunctions<RootRenderer /*为毛 this 的类型自动识别不出来?*/>(this, [\n 'handleAction',\n 'handleDialogConfirm',\n 'handleDialogClose',\n 'handleDrawerConfirm',\n 'handleDrawerClose',\n 'handlePageVisibilityChange'\n ]);\n }\n\n componentDidMount() {\n document.addEventListener(\n 'visibilitychange',\n this.handlePageVisibilityChange\n );\n }\n\n componentDidUpdate(prevProps: RootRendererProps) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n this.store.initData(props.data);\n }\n\n if (props.location !== prevProps.location) {\n this.store.updateLocation(props.location);\n }\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n this.store.setRuntimeError(error, errorInfo);\n }\n\n componentWillUnmount() {\n this.props.rootStore.removeStore(this.store);\n document.removeEventListener(\n 'visibilitychange',\n this.handlePageVisibilityChange\n );\n }\n\n handlePageVisibilityChange() {\n const env = this.props.env;\n if (document.visibilityState === 'hidden') {\n env?.tracker({\n eventType: 'pageHidden'\n });\n } else if (document.visibilityState === 'visible') {\n env?.tracker({\n eventType: 'pageVisible'\n });\n }\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {env, messages, onAction} = this.props;\n const store = this.store;\n\n if (\n onAction?.(e, action, ctx, throwErrors, delegate || this.context) ===\n false\n ) {\n return;\n }\n\n const scoped = delegate || this.context;\n if (action.actionType === 'reload') {\n action.target && scoped.reload(action.target, ctx);\n } else if (action.target) {\n action.target.split(',').forEach(name => {\n let target = scoped.getComponentByName(name);\n target &&\n target.doAction &&\n target.doAction(\n {\n ...action,\n target: undefined\n },\n ctx\n );\n });\n } else if (\n action.actionType === 'url' ||\n action.actionType === 'link' ||\n action.actionType === 'jump'\n ) {\n if (!env || !env.jumpTo) {\n throw new Error('env.jumpTo is required!');\n }\n\n env.jumpTo(\n filter(\n (action.to || action.url || action.link) as string,\n ctx,\n '| raw'\n ),\n action,\n ctx\n );\n } else if (action.actionType === 'email') {\n const mailTo = filter(action.to, ctx);\n const mailInfo = mapValues(\n pick(action, 'to', 'cc', 'bcc', 'subject', 'body'),\n val => filter(val, ctx)\n );\n const mailStr = qs.stringify(mailInfo);\n const mailto = `mailto:${mailTo}?${mailStr}`;\n\n window.open(mailto);\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(ctx);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(ctx);\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, ctx, {\n successMessage:\n (action.messages && action.messages.success) ||\n (messages && messages.saveSuccess),\n errorMessage:\n (action.messages && action.messages.failed) ||\n (messages && messages.saveSuccess)\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload &&\n this.reloadTarget(\n delegate || this.context,\n action.reload,\n store.data\n );\n })\n .catch(() => {});\n } else if (\n action.actionType === 'copy' &&\n (action.content || action.copy)\n ) {\n env.copy &&\n env.copy(filter(action.content || action.copy, ctx, '| raw'), {\n format: action.copyFormat\n });\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(confirmed = false) {\n const store = this.store;\n store.closeDialog(confirmed);\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose() {\n const store = this.store;\n store.closeDrawer();\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const store = this.store;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n reloadTarget(scoped: IScopedContext, target: string, data?: any) {\n scoped.reload(target, data);\n }\n\n render() {\n const {pathPrefix, schema, ...rest} = this.props;\n const store = this.store;\n\n if (store.runtimeError) {\n return (\n <Alert level=\"danger\">\n <h3>{this.store.runtimeError?.toString()}</h3>\n <pre>\n <code>{this.store.runtimeErrorStack.componentStack}</code>\n </pre>\n </Alert>\n );\n }\n\n return (\n <>\n {\n renderChild(pathPrefix!, schema, {\n ...rest,\n data: this.store.downStream,\n onAction: this.handleAction\n }) as JSX.Element\n }\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {store.error ? (\n <Alert level=\"danger\" showCloseButton onClose={store.clearMessage}>\n {store.msg}\n </Alert>\n ) : null}\n\n {renderChild(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n ...rest,\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen,\n onAction: this.handleAction\n }\n )}\n\n {renderChild(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n ...rest,\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction\n }\n )}\n </>\n );\n }\n}\n"
12
12
  ]
13
13
  }
@@ -9,6 +9,8 @@ var LazyComponent_1 = (0, tslib_1.__importDefault)(require("./components/LazyCom
9
9
  var factory_1 = require("./factory");
10
10
  var Item_1 = require("./renderers/Form/Item");
11
11
  var Root_1 = require("./Root");
12
+ var Scoped_1 = require("./Scoped");
13
+ var debug_1 = require("./utils/debug");
12
14
  var filter_schema_1 = (0, tslib_1.__importDefault)(require("./utils/filter-schema"));
13
15
  var helper_1 = require("./utils/helper");
14
16
  var SimpleMap_1 = require("./utils/SimpleMap");
@@ -37,6 +39,54 @@ var defaultOmitList = [
37
39
  'body'
38
40
  ];
39
41
  var componentCache = new SimpleMap_1.SimpleMap();
42
+ var BroadcastCmpt = /** @class */ (function (_super) {
43
+ (0, tslib_1.__extends)(BroadcastCmpt, _super);
44
+ function BroadcastCmpt(props, context) {
45
+ var _this = _super.call(this, props) || this;
46
+ _this.unbindEvent = undefined;
47
+ _this.triggerEvent = _this.triggerEvent.bind(_this);
48
+ return _this;
49
+ }
50
+ BroadcastCmpt.prototype.componentDidMount = function () {
51
+ var env = this.props.env;
52
+ this.unbindEvent = env.bindEvent(this.ref);
53
+ };
54
+ BroadcastCmpt.prototype.componentWillUnmount = function () {
55
+ var _a;
56
+ (_a = this.unbindEvent) === null || _a === void 0 ? void 0 : _a.call(this);
57
+ };
58
+ BroadcastCmpt.prototype.getWrappedInstance = function () {
59
+ return this.ref;
60
+ };
61
+ BroadcastCmpt.prototype.triggerEvent = function (e, data) {
62
+ return (0, tslib_1.__awaiter)(this, void 0, Promise, function () {
63
+ return (0, tslib_1.__generator)(this, function (_a) {
64
+ switch (_a.label) {
65
+ case 0: return [4 /*yield*/, this.props.env.dispatchEvent(e, this.ref, data)];
66
+ case 1: return [2 /*return*/, _a.sent()];
67
+ }
68
+ });
69
+ });
70
+ };
71
+ BroadcastCmpt.prototype.childRef = function (ref) {
72
+ while (ref && ref.getWrappedInstance) {
73
+ ref = ref.getWrappedInstance();
74
+ }
75
+ this.ref = ref;
76
+ };
77
+ BroadcastCmpt.prototype.render = function () {
78
+ var _a = this.props, Component = _a.component, rest = (0, tslib_1.__rest)(_a, ["component"]);
79
+ return (react_1.default.createElement(Component, (0, tslib_1.__assign)({ ref: this.childRef }, rest, { scoped: this.context, dispatchEvent: this.triggerEvent })));
80
+ };
81
+ BroadcastCmpt.contextType = Scoped_1.ScopedContext;
82
+ (0, tslib_1.__decorate)([
83
+ helper_1.autobind,
84
+ (0, tslib_1.__metadata)("design:type", Function),
85
+ (0, tslib_1.__metadata)("design:paramtypes", [Object]),
86
+ (0, tslib_1.__metadata)("design:returntype", void 0)
87
+ ], BroadcastCmpt.prototype, "childRef", null);
88
+ return BroadcastCmpt;
89
+ }(react_1.default.Component));
40
90
  var SchemaRenderer = /** @class */ (function (_super) {
41
91
  (0, tslib_1.__extends)(SchemaRenderer, _super);
42
92
  function SchemaRenderer(props) {
@@ -210,7 +260,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
210
260
  (schema.visible !== false && !schema.hidden))) {
211
261
  return null;
212
262
  }
213
- return (react_1.default.createElement(Component, (0, tslib_1.__assign)({}, theme.getRendererConfig(renderer.name), restSchema, (0, helper_1.chainEvents)(rest, restSchema), exprProps, { defaultData: (_a = restSchema.defaultData) !== null && _a !== void 0 ? _a : defaultData, defaultValue: (_b = restSchema.defaultValue) !== null && _b !== void 0 ? _b : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, "$path": $path, "$schema": (0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema), exprProps), ref: this.refFn, render: this.renderChild })));
263
+ var component = (react_1.default.createElement(BroadcastCmpt, (0, tslib_1.__assign)({}, theme.getRendererConfig(renderer.name), restSchema, (0, helper_1.chainEvents)(rest, restSchema), exprProps, { defaultData: (_a = restSchema.defaultData) !== null && _a !== void 0 ? _a : defaultData, defaultValue: (_b = restSchema.defaultValue) !== null && _b !== void 0 ? _b : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, "$path": $path, "$schema": (0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema), exprProps), ref: this.refFn, render: this.renderChild, component: Component })));
264
+ return debug_1.enableAMISDebug ? (react_1.default.createElement(debug_1.DebugWrapper, { renderer: renderer }, component)) : (component);
214
265
  };
215
266
  SchemaRenderer.displayName = 'Renderer';
216
267
  return SchemaRenderer;
@@ -6,8 +6,8 @@
6
6
  "/src/SchemaRenderer.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,8EAA2C;AAC3C,kEAA+B;AAC/B,6DAA0B;AAC1B,0FAAuD;AACvD,qCAOmB;AACnB,8CAAiD;AACjD,+BAAmD;AAEnD,qFAAsD;AACtD,yCAAuD;AACvD,+CAA4C;AAQ5C,IAAM,eAAe,GAAG;IACtB,MAAM;IACN,MAAM;IACN,MAAM;IACN,WAAW;IACX,MAAM;IACN,UAAU;IACV,KAAK;IACL,SAAS;IACT,WAAW;IACX,QAAQ;IACR,UAAU;IACV,UAAU;IACV,YAAY;IACZ,WAAW;IACX,aAAa;IACb,cAAc;IACd,aAAa;IACb,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,MAAM;IACN,MAAM;CACP,CAAC;AAEF,IAAM,cAAc,GAAc,IAAI,qBAAS,EAAE,CAAC;AAElD;IAAoC,+CAAyC;IAU3E,wBAAY,KAA0B;QAAtC,YACE,kBAAM,KAAK,CAAC,SAKb;QAbD,iBAAW,GAAG,EAAE,CAAC;QASf,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACnC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAC/C,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QACzC,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;;IACnC,CAAC;IAED,uDAAuD;IACvD,8CAAqB,GAArB,UAAsB,SAA8B;QAClD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAM,IAAI,GAAkB,IAAA,oBAAU,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC7D,QAAQ;YACR,OAAO;SACR,CAAC,CAAC;QAEH,IACE,IAAA,oBAAU,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM;YACxD,IAAI,CAAC,MAAM;YACb,IAAA,mBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EACvC;YACA,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAM,MAAI,GAAkB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAE1D,IACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAI,CAAC,MAAM;gBAChD,IAAA,mBAAU,EAAC,MAAI,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAChD;gBACA,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAe,GAAf,UAAgB,KAA0B,EAAE,KAAa;QAAb,sBAAA,EAAA,aAAa;QACvD,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QAEvB,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;YACzB,MAAM,mDACD,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GACrC,MAAM,CACV,CAAC;YAEF,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;SAChD;QAED,IACE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;YACZ,CAAC,KAAK;gBACJ,CAAC,IAAI,CAAC,QAAQ;gBACd,IAAI,CAAC,WAAW,KAAQ,MAAM,CAAC,IAAI,SAAI,MAAM,CAAC,IAAM,CAAC,EACvD;YACA,IAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,IAAI,yBAAe,CAAC;YACvE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,GAAM,MAAM,CAAC,IAAI,SAAI,MAAM,CAAC,IAAM,CAAC;SACpD;aAAM;YACL,+CAA+C;YAC/C,+CAA+C;YAC/C,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE;gBAC7D,MAAM,CAAC,SAAS,GAAG,oBAAoB,CAAC;gBACxC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACxC,OAAO,MAAM,CAAC,QAAQ,CAAC;aACxB;YAED,IACE,MAAM,CAAC,SAAS;gBAChB,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB;gBAClC,MAAM,CAAC,UAAU,EACjB;gBACA,IAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEnD,IAAI,KAAK,EAAE;oBACT,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;iBAC1B;qBAAM;oBACL,IAAM,OAAK,GAAG,IAAA,iBAAU,0BACtB,UAAU,EAAE,KAAK,IACd,MAAM,CAAC,UAAU,EACpB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACrB,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,OAAK,CAAC,CAAC;oBAC5C,OAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC9B,MAAM,CAAC,SAAS,GAAG,OAAK,CAAC;iBAC1B;aACF;SACF;QAED,OAAO,EAAC,IAAI,MAAA,EAAE,MAAM,QAAA,EAAC,CAAC;IACxB,CAAC;IAED,2CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,8BAAK,GAAL,UAAM,GAAQ;QACZ,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,oCAAW,GAAX,UACE,MAAc,EACd,IAAiB,EACjB,QAGM;QAHN,yBAAA,EAAA,aAGM;QAEN,IAAI,KAAuC,IAAI,CAAC,KAAK,EAAxC,CAAC,YAAA,EAAS,EAAE,WAAA,EAAE,GAAG,SAAA,EAAK,IAAI,2BAAnC,0BAAoC,CAAa,CAAC;QACjD,IAAM,KAAK,GAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAApC,CAAqC;QAErD,IAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC1C,SAAS,CAAC,SAAS;gBACjB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,SAA0B,CAAC,CAAC;SACvE;QAED,OAAO,IAAA,kBAAW,EAAC,KAAG,KAAK,IAAG,MAAM,CAAC,CAAC,CAAC,MAAI,MAAQ,CAAC,CAAC,CAAC,EAAE,CAAE,EAAE,IAAI,IAAI,EAAE,wEACjE,IAAA,cAAI,EAAC,IAAI,EAAE,QAAQ,CAAC,GACpB,QAAQ,KACX,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAChC,GAAG,EAAE,GAAG,IACR,CAAC;IACL,CAAC;IAED,iCAAQ,GAAR;QACE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,+BAAM,GAAN;QAAA,iBA6IC;;QA5IC,IAAI,KAAkC,IAAI,CAAC,KAAK,EAApC,CAAC,WAAA,EAAU,EAAE,YAAA,EAAK,IAAI,2BAA9B,mBAA+B,CAAa,CAAC;QAEjD,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,OAAO,IAAI,CAAC;SACb;QAEG,IAAA,KAAwB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAjD,KAAK,UAAA,EAAE,MAAM,YAAoC,CAAC;QAC7D,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QAEnC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,OAAO,IAAA,qBAAc,EAAC,KAAK,EAAE,MAAa,EAAE,IAAI,CAAgB,CAAC;SAClE;QAED,IAAM,UAAU,GACd,MAAM;YACN,CAAC,MAAM,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,CAAC;QAC3E,IAAM,SAAS,GAAQ,UAAU;YAC/B,CAAC,CAAC,IAAA,uBAAiB,EAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC;YACxD,CAAC,CAAC,EAAE,CAAC;QAEP,IACE,SAAS;YACT,CAAC,SAAS,CAAC,MAAM;gBACf,SAAS,CAAC,OAAO,KAAK,KAAK;gBAC3B,MAAM,CAAC,MAAM;gBACb,MAAM,CAAC,OAAO,KAAK,KAAK;gBACxB,IAAI,CAAC,MAAM;gBACX,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,EACzB;YACC,IAAY,CAAC,SAAS,GAAG,IAAI,CAAC;SAChC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,OAAO,IAAI,CAAC,SAAS;gBACnB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,eAAK,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvC,CAAC,CAAC,MAAM,CAAC,QAAQ;oBACjB,CAAC,CAAE,MAAM,CAAC,QAAqB,uEACxB,IAAI,GACJ,SAAS,KACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,IAAI,CAAC,WAAW,EACxB,YAAY,EAAE,IAAI,CAAC,KAAK,IACxB,CAAC;SACR;aAAM,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE;YACjD,IAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,YAAY,eAAK,CAAC,SAAS,CAAC,CAAC;YAErE,IAAM,aAAW,GAKf,MAAM,KALS,EACV,cAAY,GAIjB,MAAM,MAJW,EACR,kBAAgB,GAGzB,MAAM,UAHmB,EACtB,SAAO,GAEV,MAAM,IAFI,EACT,YAAU,uBACX,MAAM,EANJ,qCAML,CADc,CACJ;YACX,OAAO,IAAI,CAAC,SAAS;gBACnB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,eAAK,CAAC,aAAa,CAAC,MAAM,CAAC,SAAgB,8FACtC,IAAI,GACJ,YAAU,GACV,SAAS,KACZ,WAAW,eAAA,EACX,YAAY,gBAAA,EACZ,gBAAgB,oBAAA,EAChB,OAAO,WAAA,EACP,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EACnC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC5C,MAAM,EAAE,IAAI,CAAC,WAAW,IACxB,CAAC;SACR;aAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7B,8BAAC,uBAAa,4BACR,IAAI,EACJ,SAAS,IACb,YAAY,EAAE;;;;oCACG,qBAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CACxC,MAAM,EACN,KAAK,EACL,IAAI,CAAC,QAAQ,CACd,EAAA;;gCAJK,MAAM,GAAG,SAId;gCACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;oCAC1C,sBAAO,MAAM,EAAC;iCACf;qCAAM,IAAI,MAAM,IAAI,eAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;oCACjD,sBAAO,cAAM,OAAA,MAAM,EAAN,CAAM,EAAC;iCACrB;gCAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gCAChB,sBAAO,cAAM,OAAA,IAAA,sBAAY,EAAC,MAAM,EAAE,KAAK,CAAC,EAA3B,CAA2B,EAAC;;;qBAC1C,WACM,KAAK,aACH,MAAM,EACf,KAAK,EAAE,IAAI,CAAC,QAAQ,IACpB,CACH,CAAC;SACH;QAED,IAAM,QAAQ,GAAG,IAAI,CAAC,QAA0B,CAAC;QACjD,MAAM,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE5C,IAAM,WAAW,GAKf,MAAM,KALS,EACV,YAAY,GAIjB,MAAM,MAJW,EACd,OAAO,GAGV,MAAM,IAHI,EACD,gBAAgB,GAEzB,MAAM,UAFmB,EACxB,UAAU,uBACX,MAAM,EANJ,qCAML,CADc,CACJ;QACX,IAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QAErC,oDAAoD;QACpD,+BAA+B;QAC/B,wBAAwB;QACxB,gBAAgB;QAChB,IACE,IAAI,CAAC,SAAS;YACd,CAAC,SAAS,CAAC,MAAM;gBACf,SAAS,CAAC,OAAO,KAAK,KAAK;gBAC3B,CAAC,QAAQ,CAAC,UAAU;gBACpB,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAC/C;YACA,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CACL,8BAAC,SAAS,4BACJ,KAAK,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EACtC,UAAU,EACV,IAAA,oBAAW,EAAC,IAAI,EAAE,UAAU,CAAC,EAC7B,SAAS,IACb,WAAW,EAAE,MAAA,UAAU,CAAC,WAAW,mCAAI,WAAW,EAClD,YAAY,EAAE,MAAA,UAAU,CAAC,YAAY,mCAAI,YAAY,EACrD,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,WACT,KAAK,6DACC,MAAM,GAAK,SAAS,GACjC,GAAG,EAAE,IAAI,CAAC,KAAK,EACf,MAAM,EAAE,IAAI,CAAC,WAAW,IACxB,CACH,CAAC;IACJ,CAAC;IAxRM,0BAAW,GAAW,UAAU,CAAC;IAyR1C,qBAAC;CAAA,AA1RD,CAAoC,eAAK,CAAC,SAAS,GA0RlD;AA1RY,wCAAc;AA4R3B;IAAmC,qDAAe;IAAlD;;IAUA,CAAC;IATC,qCAAM,GAAN;QACE,IAAM,KAA4B,IAAI,CAAC,KAAY,EAA5C,cAAc,oBAAA,EAAK,IAAI,2BAAxB,kBAAyB,CAAoB,CAAC;QAEpD,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE;YACxC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;SAC7B;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IACH,2BAAC;AAAD,CAAC,AAVD,CAAmC,eAAK,CAAC,SAAS,GAUjD",
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 RendererConfig,\n RendererEnv,\n RendererProps,\n resolveRenderer\n} from './factory';\nimport {asFormItem} from './renderers/Form/Item';\nimport {renderChild, renderChildren} from './Root';\nimport {Schema, SchemaNode} from './types';\nimport getExprProperties from './utils/filter-schema';\nimport {anyChanged, chainEvents} from './utils/helper';\nimport {SimpleMap} from './utils/SimpleMap';\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\n rendererKey = '';\n renderer: RendererConfig | null;\n ref: any;\n\n schema: any;\n path: string;\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\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.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\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: __, ...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 if (\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 return (\n <Component\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, ...exprProps}}\n ref={this.refFn}\n render={this.renderChild}\n />\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 {IScopedContext, ScopedContext} from './Scoped';\nimport {Schema, SchemaNode} from './types';\nimport {DebugWrapper, enableAMISDebug} from './utils/debug';\nimport getExprProperties from './utils/filter-schema';\nimport {anyChanged, chainEvents, autobind} from './utils/helper';\nimport {RendererEvent} from './utils/renderer-event';\nimport {SimpleMap} from './utils/SimpleMap';\n\ninterface SchemaRendererProps extends Partial<RendererProps> {\n schema: Schema;\n $path: string;\n env: RendererEnv;\n}\n\ninterface BroadcastCmptProps extends RendererProps {\n component: RendererComponent;\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\nclass BroadcastCmpt extends React.Component<BroadcastCmptProps> {\n ref: any;\n unbindEvent: (() => void) | undefined = undefined;\n static contextType = ScopedContext;\n\n constructor(props: BroadcastCmptProps, context: IScopedContext) {\n super(props);\n this.triggerEvent = this.triggerEvent.bind(this);\n }\n\n componentDidMount() {\n const {env} = this.props;\n this.unbindEvent = env.bindEvent(this.ref);\n }\n\n componentWillUnmount() {\n this.unbindEvent?.();\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n async triggerEvent(\n e: React.MouseEvent<any>,\n data: any\n ): Promise<RendererEvent<any> | undefined> {\n return await this.props.env.dispatchEvent(e, this.ref, data);\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 render() {\n const {component: Component, ...rest} = this.props;\n return (\n <Component\n ref={this.childRef}\n {...rest}\n scoped={this.context}\n dispatchEvent={this.triggerEvent}\n />\n );\n }\n}\n\nexport class SchemaRenderer extends React.Component<SchemaRendererProps, any> {\n static displayName: string = 'Renderer';\n\n rendererKey = '';\n renderer: RendererConfig | null;\n ref: any;\n\n schema: any;\n path: string;\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\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.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\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: __, ...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 if (\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 // 原来表单项的 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 component = (\n <BroadcastCmpt\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, ...exprProps}}\n ref={this.refFn}\n render={this.renderChild}\n component={Component}\n />\n );\n\n return 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
  }
package/lib/Scoped.d.ts CHANGED
@@ -14,9 +14,11 @@ export interface ScopedComponentType extends React.Component<RendererProps> {
14
14
  }
15
15
  export interface IScopedContext {
16
16
  parent?: AliasIScopedContext;
17
+ children?: AliasIScopedContext[];
17
18
  registerComponent: (component: ScopedComponentType) => void;
18
19
  unRegisterComponent: (component: ScopedComponentType) => void;
19
20
  getComponentByName: (name: string) => ScopedComponentType;
21
+ getComponentById: (id: string) => ScopedComponentType | undefined;
20
22
  getComponents: () => Array<ScopedComponentType>;
21
23
  reload: (target: string, ctx: RendererData) => void;
22
24
  send: (target: string, ctx: RendererData) => void;
package/lib/Scoped.js CHANGED
@@ -14,7 +14,7 @@ var helper_1 = require("./utils/helper");
14
14
  exports.ScopedContext = react_1.default.createContext(createScopedTools(''));
15
15
  function createScopedTools(path, parent, env) {
16
16
  var components = [];
17
- return {
17
+ var self = {
18
18
  parent: parent,
19
19
  registerComponent: function (component) {
20
20
  // 不要把自己注册在自己的 Scoped 上,自己的 Scoped 是给子节点们注册的。
@@ -52,6 +52,25 @@ function createScopedTools(path, parent, env) {
52
52
  });
53
53
  return resolved || (parent && parent.getComponentByName(name));
54
54
  },
55
+ getComponentById: function (id) {
56
+ var root = this;
57
+ // 找到顶端scoped
58
+ while (root.parent) {
59
+ root = root.parent;
60
+ }
61
+ // 向下查找
62
+ var component = undefined;
63
+ (0, helper_1.findTree)([root], function (item) {
64
+ return item.getComponents().find(function (cmpt) {
65
+ if (cmpt.props.id === id) {
66
+ component = cmpt;
67
+ return true;
68
+ }
69
+ return false;
70
+ });
71
+ });
72
+ return component;
73
+ },
55
74
  getComponents: function () {
56
75
  return components.concat();
57
76
  },
@@ -137,6 +156,13 @@ function createScopedTools(path, parent, env) {
137
156
  }
138
157
  }
139
158
  };
159
+ if (!parent) {
160
+ return self;
161
+ }
162
+ !parent.children && (parent.children = []);
163
+ // 把孩子带上
164
+ parent.children.push(self);
165
+ return self;
140
166
  }
141
167
  function closeDialog(component) {
142
168
  component.context
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