amis-core 3.1.0 → 3.2.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 (281) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +2 -2
  4. package/esm/SchemaRenderer.js +3 -2
  5. package/esm/Scoped.js +2 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.d.ts +4 -24
  8. package/esm/WithRootStore.js +12 -4
  9. package/esm/WithStore.js +23 -16
  10. package/esm/actions/Action.js +14 -14
  11. package/esm/actions/AjaxAction.js +1 -1
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +2 -2
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +1 -1
  17. package/esm/actions/CustomAction.js +2 -1
  18. package/esm/actions/DialogAction.d.ts +2 -0
  19. package/esm/actions/DialogAction.js +40 -23
  20. package/esm/actions/DrawerAction.js +4 -4
  21. package/esm/actions/EmailAction.js +1 -1
  22. package/esm/actions/LinkAction.js +1 -1
  23. package/esm/actions/LoopAction.js +1 -1
  24. package/esm/actions/PageAction.js +1 -1
  25. package/esm/actions/ParallelAction.js +1 -1
  26. package/esm/actions/SwitchAction.js +1 -1
  27. package/esm/actions/ToastAction.js +1 -1
  28. package/esm/components/CustomStyle.js +1 -1
  29. package/esm/components/LazyComponent.js +1 -1
  30. package/esm/components/Overlay.js +2 -1
  31. package/esm/components/PopOver.js +2 -1
  32. package/esm/env.js +1 -1
  33. package/esm/envOverwrite.js +1 -1
  34. package/esm/factory.js +1 -1
  35. package/esm/index.d.ts +1 -0
  36. package/esm/index.js +6 -4
  37. package/esm/locale.js +1 -1
  38. package/esm/polyfills.d.ts +3 -0
  39. package/esm/polyfills.js +18 -0
  40. package/esm/renderers/Form.d.ts +1 -1
  41. package/esm/renderers/Form.js +17 -7
  42. package/esm/renderers/Item.d.ts +88 -59
  43. package/esm/renderers/Item.js +86 -40
  44. package/esm/renderers/Options.js +1 -1
  45. package/esm/renderers/Placeholder.js +1 -1
  46. package/esm/renderers/builtin.js +1 -1
  47. package/esm/renderers/register.js +1 -1
  48. package/esm/renderers/wrapControl.d.ts +4 -24
  49. package/esm/renderers/wrapControl.js +51 -53
  50. package/esm/store/app.js +37 -3
  51. package/esm/store/combo.d.ts +168 -28
  52. package/esm/store/combo.js +1 -1
  53. package/esm/store/crud.d.ts +3 -2
  54. package/esm/store/crud.js +12 -5
  55. package/esm/store/form.d.ts +72 -12
  56. package/esm/store/form.js +4 -4
  57. package/esm/store/formItem.d.ts +2 -1
  58. package/esm/store/formItem.js +7 -2
  59. package/esm/store/iRenderer.js +2 -1
  60. package/esm/store/index.js +1 -1
  61. package/esm/store/list.d.ts +1 -0
  62. package/esm/store/list.js +8 -2
  63. package/esm/store/manager.js +1 -1
  64. package/esm/store/modal.js +1 -1
  65. package/esm/store/node.js +1 -1
  66. package/esm/store/pagination.js +1 -1
  67. package/esm/store/root.js +2 -1
  68. package/esm/store/service.js +14 -9
  69. package/esm/store/status.js +1 -1
  70. package/esm/store/table.d.ts +145 -24
  71. package/esm/store/table.js +8 -2
  72. package/esm/store/table2.js +1 -1
  73. package/esm/theme.js +1 -1
  74. package/esm/types.d.ts +5 -2
  75. package/esm/utils/Animation.js +1 -1
  76. package/esm/utils/ColorScale.js +1 -1
  77. package/esm/utils/DataSchema.d.ts +3 -2
  78. package/esm/utils/DataSchema.js +27 -7
  79. package/esm/utils/DataScope.d.ts +10 -3
  80. package/esm/utils/DataScope.js +50 -12
  81. package/esm/utils/RootClose.js +1 -1
  82. package/esm/utils/SimpleMap.js +1 -1
  83. package/esm/utils/api.js +40 -32
  84. package/esm/utils/arraySlice.d.ts +1 -0
  85. package/esm/utils/arraySlice.js +76 -0
  86. package/esm/utils/attachmentAdpator.js +1 -1
  87. package/esm/utils/autobind.js +1 -1
  88. package/esm/utils/columnsSplit.js +1 -1
  89. package/esm/utils/dataMapping.js +26 -18
  90. package/esm/utils/date.js +1 -1
  91. package/esm/utils/debug.js +1 -1
  92. package/esm/utils/decodeEntity.js +1 -1
  93. package/esm/utils/dom.js +4 -1
  94. package/esm/utils/errors.js +1 -1
  95. package/esm/utils/escapeHtml.js +1 -1
  96. package/esm/utils/filter-schema.js +1 -1
  97. package/esm/utils/filter.js +1 -1
  98. package/esm/utils/formatDuration.js +1 -1
  99. package/esm/utils/formula.js +1 -1
  100. package/esm/utils/getVariable.js +1 -1
  101. package/esm/utils/grammar.js +1 -1
  102. package/esm/utils/handleAction.js +1 -1
  103. package/esm/utils/helper.d.ts +8 -1
  104. package/esm/utils/helper.js +57 -10
  105. package/esm/utils/highlight.js +1 -1
  106. package/esm/utils/icon.js +1 -1
  107. package/esm/utils/image.js +1 -1
  108. package/esm/utils/index.d.ts +1 -0
  109. package/esm/utils/isPureVariable.js +1 -1
  110. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  111. package/esm/utils/keyToPath.js +1 -1
  112. package/esm/utils/makeSorter.js +1 -1
  113. package/esm/utils/memoryParse.js +1 -1
  114. package/esm/utils/normalizeLink.js +18 -9
  115. package/esm/utils/normalizeOptions.js +1 -1
  116. package/esm/utils/object.js +1 -1
  117. package/esm/utils/offset.js +1 -1
  118. package/esm/utils/offsetParent.js +1 -1
  119. package/esm/utils/optionValueCompare.js +1 -1
  120. package/esm/utils/position.js +1 -1
  121. package/esm/utils/prettyBytes.js +1 -1
  122. package/esm/utils/renderer-event.js +1 -1
  123. package/esm/utils/replaceText.js +1 -1
  124. package/esm/utils/resize-sensor.js +1 -1
  125. package/esm/utils/resolveCondition.js +1 -1
  126. package/esm/utils/resolveVariable.js +1 -1
  127. package/esm/utils/resolveVariableAndFilter.js +1 -1
  128. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  129. package/esm/utils/scrollPosition.js +1 -1
  130. package/esm/utils/string2regExp.js +1 -1
  131. package/esm/utils/stripNumber.js +1 -1
  132. package/esm/utils/style-helper.js +1 -1
  133. package/esm/utils/style.js +1 -1
  134. package/esm/utils/toNumber.js +1 -1
  135. package/esm/utils/tokenize.js +1 -1
  136. package/esm/utils/tpl-builtin.js +1 -1
  137. package/esm/utils/tpl-lodash.js +1 -1
  138. package/esm/utils/tpl.js +1 -1
  139. package/esm/utils/uncontrollable.js +1 -1
  140. package/esm/utils/validations.js +1 -1
  141. package/lib/Root.js +1 -1
  142. package/lib/RootRenderer.d.ts +1 -1
  143. package/lib/RootRenderer.js +2 -2
  144. package/lib/SchemaRenderer.js +3 -2
  145. package/lib/Scoped.js +2 -1
  146. package/lib/StatusScoped.js +1 -1
  147. package/lib/WithRootStore.d.ts +4 -24
  148. package/lib/WithRootStore.js +12 -4
  149. package/lib/WithStore.js +23 -16
  150. package/lib/actions/Action.js +14 -14
  151. package/lib/actions/AjaxAction.js +1 -1
  152. package/lib/actions/BreakAction.js +1 -1
  153. package/lib/actions/BroadcastAction.js +1 -1
  154. package/lib/actions/CmptAction.js +2 -2
  155. package/lib/actions/ContinueAction.js +1 -1
  156. package/lib/actions/CopyAction.js +1 -1
  157. package/lib/actions/CustomAction.js +2 -1
  158. package/lib/actions/DialogAction.d.ts +2 -0
  159. package/lib/actions/DialogAction.js +40 -23
  160. package/lib/actions/DrawerAction.js +4 -4
  161. package/lib/actions/EmailAction.js +1 -1
  162. package/lib/actions/LinkAction.js +1 -1
  163. package/lib/actions/LoopAction.js +1 -1
  164. package/lib/actions/PageAction.js +1 -1
  165. package/lib/actions/ParallelAction.js +1 -1
  166. package/lib/actions/SwitchAction.js +1 -1
  167. package/lib/actions/ToastAction.js +1 -1
  168. package/lib/components/CustomStyle.js +1 -1
  169. package/lib/components/LazyComponent.js +1 -1
  170. package/lib/components/Overlay.js +2 -1
  171. package/lib/components/PopOver.js +2 -1
  172. package/lib/env.js +1 -1
  173. package/lib/envOverwrite.js +1 -1
  174. package/lib/factory.js +1 -1
  175. package/lib/index.d.ts +1 -0
  176. package/lib/index.js +7 -2
  177. package/lib/locale.js +1 -1
  178. package/lib/polyfills.d.ts +3 -0
  179. package/lib/polyfills.js +20 -0
  180. package/lib/renderers/Form.d.ts +1 -1
  181. package/lib/renderers/Form.js +17 -7
  182. package/lib/renderers/Item.d.ts +88 -59
  183. package/lib/renderers/Item.js +86 -40
  184. package/lib/renderers/Options.js +1 -1
  185. package/lib/renderers/Placeholder.js +1 -1
  186. package/lib/renderers/builtin.js +1 -1
  187. package/lib/renderers/register.js +1 -1
  188. package/lib/renderers/wrapControl.d.ts +4 -24
  189. package/lib/renderers/wrapControl.js +51 -53
  190. package/lib/store/app.js +36 -2
  191. package/lib/store/combo.d.ts +168 -28
  192. package/lib/store/combo.js +1 -1
  193. package/lib/store/crud.d.ts +3 -2
  194. package/lib/store/crud.js +12 -5
  195. package/lib/store/form.d.ts +72 -12
  196. package/lib/store/form.js +4 -4
  197. package/lib/store/formItem.d.ts +2 -1
  198. package/lib/store/formItem.js +7 -2
  199. package/lib/store/iRenderer.js +2 -1
  200. package/lib/store/index.js +1 -1
  201. package/lib/store/list.d.ts +1 -0
  202. package/lib/store/list.js +8 -2
  203. package/lib/store/manager.js +1 -1
  204. package/lib/store/modal.js +1 -1
  205. package/lib/store/node.js +1 -1
  206. package/lib/store/pagination.js +1 -1
  207. package/lib/store/root.js +2 -1
  208. package/lib/store/service.js +14 -9
  209. package/lib/store/status.js +1 -1
  210. package/lib/store/table.d.ts +145 -24
  211. package/lib/store/table.js +7 -1
  212. package/lib/store/table2.js +1 -1
  213. package/lib/theme.js +1 -1
  214. package/lib/types.d.ts +5 -2
  215. package/lib/utils/Animation.js +1 -1
  216. package/lib/utils/ColorScale.js +1 -1
  217. package/lib/utils/DataSchema.d.ts +3 -2
  218. package/lib/utils/DataSchema.js +27 -7
  219. package/lib/utils/DataScope.d.ts +10 -3
  220. package/lib/utils/DataScope.js +50 -11
  221. package/lib/utils/RootClose.js +1 -1
  222. package/lib/utils/SimpleMap.js +1 -1
  223. package/lib/utils/api.js +39 -31
  224. package/lib/utils/arraySlice.d.ts +1 -0
  225. package/lib/utils/arraySlice.js +80 -0
  226. package/lib/utils/attachmentAdpator.js +1 -1
  227. package/lib/utils/autobind.js +1 -1
  228. package/lib/utils/columnsSplit.js +1 -1
  229. package/lib/utils/dataMapping.js +26 -18
  230. package/lib/utils/date.js +1 -1
  231. package/lib/utils/debug.js +1 -1
  232. package/lib/utils/decodeEntity.js +1 -1
  233. package/lib/utils/dom.js +4 -1
  234. package/lib/utils/errors.js +1 -1
  235. package/lib/utils/escapeHtml.js +1 -1
  236. package/lib/utils/filter-schema.js +1 -1
  237. package/lib/utils/filter.js +1 -1
  238. package/lib/utils/formatDuration.js +1 -1
  239. package/lib/utils/formula.js +1 -1
  240. package/lib/utils/getVariable.js +1 -1
  241. package/lib/utils/grammar.js +1 -1
  242. package/lib/utils/handleAction.js +1 -1
  243. package/lib/utils/helper.d.ts +8 -1
  244. package/lib/utils/helper.js +57 -9
  245. package/lib/utils/highlight.js +1 -1
  246. package/lib/utils/icon.js +1 -1
  247. package/lib/utils/image.js +1 -1
  248. package/lib/utils/index.d.ts +1 -0
  249. package/lib/utils/isPureVariable.js +1 -1
  250. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  251. package/lib/utils/keyToPath.js +1 -1
  252. package/lib/utils/makeSorter.js +1 -1
  253. package/lib/utils/memoryParse.js +1 -1
  254. package/lib/utils/normalizeLink.js +18 -9
  255. package/lib/utils/normalizeOptions.js +1 -1
  256. package/lib/utils/object.js +1 -1
  257. package/lib/utils/offset.js +1 -1
  258. package/lib/utils/offsetParent.js +1 -1
  259. package/lib/utils/optionValueCompare.js +1 -1
  260. package/lib/utils/position.js +1 -1
  261. package/lib/utils/prettyBytes.js +1 -1
  262. package/lib/utils/renderer-event.js +1 -1
  263. package/lib/utils/replaceText.js +1 -1
  264. package/lib/utils/resize-sensor.js +1 -1
  265. package/lib/utils/resolveCondition.js +1 -1
  266. package/lib/utils/resolveVariable.js +1 -1
  267. package/lib/utils/resolveVariableAndFilter.js +1 -1
  268. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  269. package/lib/utils/scrollPosition.js +1 -1
  270. package/lib/utils/string2regExp.js +1 -1
  271. package/lib/utils/stripNumber.js +1 -1
  272. package/lib/utils/style-helper.js +1 -1
  273. package/lib/utils/style.js +1 -1
  274. package/lib/utils/toNumber.js +1 -1
  275. package/lib/utils/tokenize.js +1 -1
  276. package/lib/utils/tpl-builtin.js +1 -1
  277. package/lib/utils/tpl-lodash.js +1 -1
  278. package/lib/utils/tpl.js +1 -1
  279. package/lib/utils/uncontrollable.js +1 -1
  280. package/lib/utils/validations.js +1 -1
  281. package/package.json +8 -3
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -25,5 +25,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
25
25
  handleDrawerClose(): void;
26
26
  openFeedback(dialog: any, ctx: any): Promise<unknown>;
27
27
  reloadTarget(scoped: IScopedContext, target: string, data?: any): void;
28
- render(): string | number | boolean | React.JSX.Element | React.ReactFragment | null | undefined;
28
+ render(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
29
29
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -117,7 +117,7 @@ var RootRenderer = /** @class */ (function (_super) {
117
117
  }
118
118
  else if (action.actionType === 'dialog') {
119
119
  store.setCurrentAction(action);
120
- store.openDialog(ctx, undefined, undefined, delegate);
120
+ store.openDialog(ctx, undefined, action.callback, delegate);
121
121
  }
122
122
  else if (action.actionType === 'drawer') {
123
123
  store.setCurrentAction(action);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -53,7 +53,8 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
53
53
  'id',
54
54
  'inputOnly',
55
55
  'label',
56
- 'renderLabel'
56
+ 'renderLabel',
57
+ 'trackExpression'
57
58
  ];
58
59
  var componentCache = new SimpleMap();
59
60
  var SchemaRenderer = /** @class */ (function (_super) {
package/esm/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -42,6 +42,7 @@ import 'lodash/camelCase';
42
42
  import 'uncontrollable';
43
43
  import './utils/validations.js';
44
44
  import './utils/resolveCondition.js';
45
+ import 'mobx';
45
46
  import './utils/Animation.js';
46
47
 
47
48
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -333,30 +333,10 @@ export declare const RootStoreContext: React.Context<{
333
333
  export declare function withRootStore<T extends React.ComponentType<React.ComponentProps<T> & {
334
334
  rootStore: IRendererStore;
335
335
  }>>(ComposedComponent: T): {
336
- new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">> | Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>): {
337
- render(): React.JSX.Element;
338
- context: unknown;
339
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
340
- forceUpdate(callback?: (() => void) | undefined): void;
341
- readonly props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>;
342
- state: Readonly<{}>;
343
- refs: {
344
- [key: string]: React.ReactInstance;
345
- };
346
- componentDidMount?(): void;
347
- shouldComponentUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): boolean;
348
- componentWillUnmount?(): void;
349
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
350
- getSnapshotBeforeUpdate?(prevProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, prevState: Readonly<{}>): any;
351
- componentDidUpdate?(prevProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, prevState: Readonly<{}>, snapshot?: any): void;
352
- componentWillMount?(): void;
353
- UNSAFE_componentWillMount?(): void;
354
- componentWillReceiveProps?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextContext: any): void;
355
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextContext: any): void;
356
- componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): void;
357
- UNSAFE_componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): void;
358
- };
359
- new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>, context: any): {
336
+ new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>): {
337
+ ref: any;
338
+ getWrappedInstance(): any;
339
+ refFn(ref: any): void;
360
340
  render(): React.JSX.Element;
361
341
  context: unknown;
362
342
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -12,15 +12,23 @@ function withRootStore(ComposedComponent) {
12
12
  var _a;
13
13
  var result = hoistNonReactStatic((_a = /** @class */ (function (_super) {
14
14
  __extends(class_1, _super);
15
- function class_1() {
16
- return _super !== null && _super.apply(this, arguments) || this;
15
+ function class_1(props) {
16
+ var _this = _super.call(this, props) || this;
17
+ _this.refFn = _this.refFn.bind(_this);
18
+ return _this;
17
19
  }
20
+ class_1.prototype.getWrappedInstance = function () {
21
+ return this.ref.control;
22
+ };
23
+ class_1.prototype.refFn = function (ref) {
24
+ this.ref = ref;
25
+ };
18
26
  class_1.prototype.render = function () {
19
27
  var rootStore = this.context;
20
28
  var injectedProps = {
21
29
  rootStore: rootStore
22
30
  };
23
- return (React.createElement(ComposedComponent, __assign({}, this.props, injectedProps)));
31
+ return (React.createElement(ComposedComponent, __assign({}, this.props, injectedProps, { ref: this.refFn })));
24
32
  };
25
33
  return class_1;
26
34
  }(React.Component)),
package/esm/WithStore.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -14,6 +14,7 @@ import { guid, isObjectShallowModified, isSuperDataModified, syncDataFromSuper }
14
14
  import 'amis-formula';
15
15
  import 'moment';
16
16
  import { createObject, extendObject } from './utils/object.js';
17
+ import { tokenize } from './utils/tokenize.js';
17
18
  import { dataMapping } from './utils/dataMapping.js';
18
19
  import './utils/filter.js';
19
20
  import { RootStoreContext } from './WithRootStore.js';
@@ -97,20 +98,26 @@ function HocStoreFactory(renderer) {
97
98
  if (extendsData === false) {
98
99
  if (shouldSync === true ||
99
100
  prevProps.defaultData !== props.defaultData ||
100
- isObjectShallowModified(prevProps.data, props.data) ||
101
- //
102
- // 特殊处理 CRUD。
103
- // CRUD 中 toolbar 里面的 data 是空对象,但是 __super 会不一样
104
- (props.data &&
105
- prevProps.data &&
106
- props.data.__super !== prevProps.data.__super)) {
101
+ (props.trackExpression
102
+ ? tokenize(props.trackExpression, props.data) !==
103
+ tokenize(props.trackExpression, prevProps.data)
104
+ : isObjectShallowModified(prevProps.data, props.data) ||
105
+ //
106
+ // 特殊处理 CRUD。
107
+ // CRUD 中 toolbar 里面的 data 是空对象,但是 __super 会不一样
108
+ (props.data &&
109
+ prevProps.data &&
110
+ props.data.__super !== prevProps.data.__super))) {
107
111
  store.initData(extendObject(props.data, __assign(__assign(__assign({}, (store.hasRemoteData ? store.data : null)), this.formatData(props.defaultData)), this.formatData(props.data))));
108
112
  }
109
113
  }
110
114
  else if (shouldSync === true ||
111
- isObjectShallowModified(prevProps.data, props.data) ||
112
- (props.syncSuperStore !== false &&
113
- isSuperDataModified(props.data, prevProps.data, store))) {
115
+ (props.trackExpression
116
+ ? tokenize(props.trackExpression, props.data) !==
117
+ tokenize(props.trackExpression, prevProps.data)
118
+ : isObjectShallowModified(prevProps.data, props.data) ||
119
+ (props.syncSuperStore !== false &&
120
+ isSuperDataModified(props.data, prevProps.data, store)))) {
114
121
  if (props.store && props.store.data === props.data) {
115
122
  store.initData(createObject(props.store.data, props.syncSuperStore === false
116
123
  ? __assign({}, store.data) : syncDataFromSuper(store.data, props.store.data, prevProps.scope, store, props.syncSuperStore === true)));
@@ -123,9 +130,8 @@ function HocStoreFactory(renderer) {
123
130
  store.initData(createObject(props.scope, props.data));
124
131
  }
125
132
  }
126
- else if ((shouldSync === true ||
127
- !props.store ||
128
- props.data !== props.store.data) &&
133
+ else if (!props.trackExpression &&
134
+ (!props.store || props.data !== props.store.data) &&
129
135
  props.data &&
130
136
  props.data.__super) {
131
137
  // 这个用法很少,当 data.__super 值发生变化时,更新 store.data
@@ -136,9 +142,10 @@ function HocStoreFactory(renderer) {
136
142
  }
137
143
  // nextProps.data.__super !== props.data.__super) &&
138
144
  }
139
- else if (props.scope &&
145
+ else if (!props.trackExpression &&
146
+ props.scope &&
140
147
  props.data === props.store.data &&
141
- (shouldSync === true || prevProps.data !== props.data)) {
148
+ prevProps.data !== props.data) {
142
149
  // 只有父级数据变动的时候才应该进来,
143
150
  // 目前看来这个 case 很少有情况下能进来
144
151
  store.initData(createObject(props.scope, __assign({}, store.data)));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -88,7 +88,7 @@ var getOmitActionProp = function (type) {
88
88
  omitList = ['drawer'];
89
89
  break;
90
90
  case 'confirmDialog':
91
- omitList = ['confirmDialog'];
91
+ omitList = ['dialog'];
92
92
  break;
93
93
  case 'reload':
94
94
  omitList = ['resetPage'];
@@ -158,7 +158,7 @@ var runActions = function (actions, renderer, event) { return __awaiter(void 0,
158
158
  }); };
159
159
  // 执行动作,与原有动作处理打通
160
160
  var runAction = function (actionInstrance, actionConfig, renderer, event) { return __awaiter(void 0, void 0, void 0, function () {
161
- var additional, mergeData, expression, isStop, preventDefault, stopPropagation, key, args, afterMappingData, actionData, data, stoped, actionResult;
161
+ var additional, mergeData, expression, isStop, preventDefault, key, args, afterMappingData, actionData, data, stopped, actionResult, stopPropagation;
162
162
  var _a, _b, _c;
163
163
  return __generator(this, function (_d) {
164
164
  switch (_d.label) {
@@ -194,13 +194,6 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
194
194
  preventDefault = _d.sent();
195
195
  _d.label = 4;
196
196
  case 4:
197
- stopPropagation = false;
198
- if (!actionConfig.stopPropagation) return [3 /*break*/, 6];
199
- return [4 /*yield*/, evalExpressionWithConditionBuilder(actionConfig.stopPropagation, mergeData, false)];
200
- case 5:
201
- stopPropagation = _d.sent();
202
- _d.label = 6;
203
- case 6:
204
197
  key = {
205
198
  componentId: dataMapping(actionConfig.componentId, mergeData),
206
199
  componentName: dataMapping(actionConfig.componentName, mergeData)
@@ -225,20 +218,27 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
225
218
  : event.data;
226
219
  (_b = console.group) === null || _b === void 0 ? void 0 : _b.call(console, "run action ".concat(actionConfig.actionType));
227
220
  console.debug("[".concat(actionConfig.actionType, "] action args, data"), args, data);
228
- stoped = false;
221
+ stopped = false;
229
222
  return [4 /*yield*/, actionInstrance.run(__assign(__assign(__assign({}, actionConfig), { args: args, data: data }), key), renderer, event, mergeData)];
230
- case 7:
223
+ case 5:
231
224
  actionResult = _d.sent();
232
225
  // 二次确认弹窗如果取消,则终止后续动作
233
226
  if ((actionConfig === null || actionConfig === void 0 ? void 0 : actionConfig.actionType) === 'confirmDialog' && !actionResult) {
234
- stoped = true;
227
+ stopped = true;
235
228
  }
229
+ stopPropagation = false;
230
+ if (!actionConfig.stopPropagation) return [3 /*break*/, 7];
231
+ return [4 /*yield*/, evalExpressionWithConditionBuilder(actionConfig.stopPropagation, mergeData, false)];
232
+ case 6:
233
+ stopPropagation = _d.sent();
234
+ _d.label = 7;
235
+ case 7:
236
236
  console.debug("[".concat(actionConfig.actionType, "] action end event"), event);
237
237
  (_c = console.groupEnd) === null || _c === void 0 ? void 0 : _c.call(console);
238
238
  // 阻止原有动作执行
239
239
  preventDefault && event.preventDefault();
240
240
  // 阻止后续动作执行
241
- (stopPropagation || stoped) && event.stopPropagation();
241
+ (stopPropagation || stopped) && event.stopPropagation();
242
242
  return [2 /*return*/];
243
243
  }
244
244
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -24,7 +24,7 @@ var CmptAction = /** @class */ (function () {
24
24
  switch (_p.label) {
25
25
  case 0:
26
26
  key = action.componentId || action.componentName;
27
- component = key && renderer.props.$schema[action.componentId ? 'id' : 'name'] !== key
27
+ component = key
28
28
  ? (_a = event.context.scoped) === null || _a === void 0 ? void 0 : _a[action.componentId ? 'getComponentById' : 'getComponentByName'](key)
29
29
  : renderer;
30
30
  dataMergeMode = action.dataMergeMode || 'merge';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -37,6 +37,7 @@ import 'uncontrollable';
37
37
  import 'hoist-non-react-statics';
38
38
  import '../utils/validations.js';
39
39
  import '../utils/resolveCondition.js';
40
+ import 'mobx';
40
41
  import '../utils/Animation.js';
41
42
 
42
43
  /**
@@ -3,6 +3,7 @@ import { RendererEvent } from '../utils/renderer-event';
3
3
  import { RendererAction, ListenerAction, ListenerContext } from './Action';
4
4
  export interface IAlertAction extends ListenerAction {
5
5
  actionType: 'alert';
6
+ dialog?: Schema;
6
7
  args: {
7
8
  msg: string;
8
9
  [propName: string]: any;
@@ -25,6 +26,7 @@ export interface IDialogAction extends ListenerAction {
25
26
  }
26
27
  export interface IConfirmDialogAction extends ListenerAction {
27
28
  actionType: 'confirmDialog';
29
+ dialog?: Schema;
28
30
  args: {
29
31
  msg: string;
30
32
  title: string;
@@ -1,11 +1,12 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
6
6
  import { __awaiter, __generator, __assign } from 'tslib';
7
7
  import { registerAction } from './Action.js';
8
- import { render } from '../index.js';
8
+ import '../index.js';
9
+ import { filter } from '../utils/tpl.js';
9
10
 
10
11
  /**
11
12
  * 打开弹窗动作
@@ -18,16 +19,16 @@ var DialogAction = /** @class */ (function () {
18
19
  function DialogAction() {
19
20
  }
20
21
  DialogAction.prototype.run = function (action, renderer, event) {
21
- var _a, _b, _c;
22
+ var _a, _b, _c, _d;
22
23
  return __awaiter(this, void 0, void 0, function () {
23
- return __generator(this, function (_d) {
24
+ return __generator(this, function (_e) {
24
25
  // 防止editor preview模式下执行
25
26
  if (action.$$id !== undefined) {
26
27
  return [2 /*return*/];
27
28
  }
28
29
  (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
29
30
  actionType: 'dialog',
30
- dialog: ((_c = action.args) === null || _c === void 0 ? void 0 : _c.dialog) || action.dialog,
31
+ dialog: (_c = action.dialog) !== null && _c !== void 0 ? _c : (_d = action.args) === null || _d === void 0 ? void 0 : _d.dialog,
31
32
  reload: 'none'
32
33
  }, action.data);
33
34
  return [2 /*return*/];
@@ -71,10 +72,10 @@ var AlertAction = /** @class */ (function () {
71
72
  function AlertAction() {
72
73
  }
73
74
  AlertAction.prototype.run = function (action, renderer, event) {
74
- var _a, _b, _c, _d;
75
+ var _a, _b, _c, _d, _e, _f, _g, _h;
75
76
  return __awaiter(this, void 0, void 0, function () {
76
- return __generator(this, function (_e) {
77
- (_b = (_a = event.context.env).alert) === null || _b === void 0 ? void 0 : _b.call(_a, (_c = action.args) === null || _c === void 0 ? void 0 : _c.msg, (_d = action.args) === null || _d === void 0 ? void 0 : _d.title);
77
+ return __generator(this, function (_j) {
78
+ (_b = (_a = event.context.env).alert) === null || _b === void 0 ? void 0 : _b.call(_a, (_d = filter((_c = action.dialog) === null || _c === void 0 ? void 0 : _c.msg, event.data)) !== null && _d !== void 0 ? _d : (_e = action.args) === null || _e === void 0 ? void 0 : _e.msg, (_g = filter((_f = action.dialog) === null || _f === void 0 ? void 0 : _f.title, event.data)) !== null && _g !== void 0 ? _g : (_h = action.args) === null || _h === void 0 ? void 0 : _h.title);
78
79
  return [2 /*return*/];
79
80
  });
80
81
  });
@@ -88,25 +89,41 @@ var ConfirmAction = /** @class */ (function () {
88
89
  function ConfirmAction() {
89
90
  }
90
91
  ConfirmAction.prototype.run = function (action, renderer, event) {
91
- var _a, _b, _c;
92
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
92
93
  return __awaiter(this, void 0, void 0, function () {
93
- var content, confirmed;
94
- return __generator(this, function (_d) {
95
- switch (_d.label) {
94
+ var type, confirmed_1, confirmed;
95
+ return __generator(this, function (_x) {
96
+ switch (_x.label) {
96
97
  case 0:
97
- content = ((_a = action.args) === null || _a === void 0 ? void 0 : _a.body)
98
- ? render(action.args.body)
99
- : action.args.msg;
100
- return [4 /*yield*/, ((_c = (_b = event.context.env).confirm) === null || _c === void 0 ? void 0 : _c.call(_b, content, action.args.title, {
101
- closeOnEsc: action.args.closeOnEsc,
102
- size: action.args.size,
103
- confirmText: action.args.confirmText,
104
- cancelText: action.args.cancelText,
105
- confirmBtnLevel: action.args.confirmBtnLevel,
106
- cancelBtnLevel: action.args.cancelBtnLevel
98
+ type = (_b = (_a = action.dialog) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : (_c = action.args) === null || _c === void 0 ? void 0 : _c.type;
99
+ if (!!type) return [3 /*break*/, 2];
100
+ return [4 /*yield*/, ((_e = (_d = event.context.env).confirm) === null || _e === void 0 ? void 0 : _e.call(_d, filter((_f = action.dialog) === null || _f === void 0 ? void 0 : _f.msg, event.data) || ((_g = action.args) === null || _g === void 0 ? void 0 : _g.msg), filter((_h = action.dialog) === null || _h === void 0 ? void 0 : _h.title, event.data) || ((_j = action.args) === null || _j === void 0 ? void 0 : _j.title), {
101
+ closeOnEsc: filter((_k = action.dialog) === null || _k === void 0 ? void 0 : _k.closeOnEsc, event.data) ||
102
+ ((_l = action.args) === null || _l === void 0 ? void 0 : _l.closeOnEsc),
103
+ size: filter((_m = action.dialog) === null || _m === void 0 ? void 0 : _m.size, event.data) || ((_o = action.args) === null || _o === void 0 ? void 0 : _o.size),
104
+ confirmText: filter((_p = action.dialog) === null || _p === void 0 ? void 0 : _p.confirmText, event.data) ||
105
+ ((_q = action.args) === null || _q === void 0 ? void 0 : _q.confirmText),
106
+ cancelText: filter((_r = action.dialog) === null || _r === void 0 ? void 0 : _r.cancelText, event.data) ||
107
+ ((_s = action.args) === null || _s === void 0 ? void 0 : _s.cancelText),
108
+ confirmBtnLevel: filter((_t = action.dialog) === null || _t === void 0 ? void 0 : _t.confirmBtnLevel, event.data) ||
109
+ ((_u = action.args) === null || _u === void 0 ? void 0 : _u.confirmBtnLevel),
110
+ cancelBtnLevel: filter((_v = action.dialog) === null || _v === void 0 ? void 0 : _v.cancelBtnLevel, event.data) ||
111
+ ((_w = action.args) === null || _w === void 0 ? void 0 : _w.cancelBtnLevel)
107
112
  }))];
108
113
  case 1:
109
- confirmed = _d.sent();
114
+ confirmed_1 = _x.sent();
115
+ return [2 /*return*/, confirmed_1];
116
+ case 2: return [4 /*yield*/, new Promise(function (resolve, reject) {
117
+ var _a, _b, _c;
118
+ (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
119
+ actionType: 'dialog',
120
+ dialog: (_c = action.dialog) !== null && _c !== void 0 ? _c : action.args,
121
+ reload: 'none',
122
+ callback: function (result) { return resolve(result); }
123
+ }, action.data);
124
+ })];
125
+ case 3:
126
+ confirmed = _x.sent();
110
127
  return [2 /*return*/, confirmed];
111
128
  }
112
129
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -17,12 +17,12 @@ var DrawerAction = /** @class */ (function () {
17
17
  function DrawerAction() {
18
18
  }
19
19
  DrawerAction.prototype.run = function (action, renderer, event) {
20
- var _a, _b, _c;
20
+ var _a, _b, _c, _d;
21
21
  return __awaiter(this, void 0, void 0, function () {
22
- return __generator(this, function (_d) {
22
+ return __generator(this, function (_e) {
23
23
  (_b = (_a = renderer.props).onAction) === null || _b === void 0 ? void 0 : _b.call(_a, event, {
24
24
  actionType: 'drawer',
25
- drawer: ((_c = action.args) === null || _c === void 0 ? void 0 : _c.drawer) || action.drawer,
25
+ drawer: (_c = action.drawer) !== null && _c !== void 0 ? _c : (_d = action.args) === null || _d === void 0 ? void 0 : _d.drawer,
26
26
  reload: 'none'
27
27
  }, action.data);
28
28
  return [2 /*return*/];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -39,6 +39,7 @@ import 'uncontrollable';
39
39
  import 'hoist-non-react-statics';
40
40
  import '../utils/validations.js';
41
41
  import '../utils/resolveCondition.js';
42
+ import 'mobx';
42
43
  import '../utils/Animation.js';
43
44
 
44
45
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -38,6 +38,7 @@ import 'uncontrollable';
38
38
  import 'hoist-non-react-statics';
39
39
  import '../utils/validations.js';
40
40
  import '../utils/resolveCondition.js';
41
+ import 'mobx';
41
42
  import '../utils/Animation.js';
42
43
 
43
44
  /**
package/esm/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/esm/factory.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.0
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5