amis-core 2.2.0 → 2.3.1

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 (301) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +2 -2
  3. package/esm/SchemaRenderer.js +7 -2
  4. package/esm/Scoped.d.ts +1 -1
  5. package/esm/Scoped.js +3 -3
  6. package/esm/WithRootStore.js +1 -1
  7. package/esm/WithStore.js +20 -9
  8. package/esm/_virtual/index.js +1 -1
  9. package/esm/_virtual/index2.js +1 -1
  10. package/esm/_virtual/react-is.development.js +1 -1
  11. package/esm/_virtual/react-is.production.min.js +1 -1
  12. package/esm/actions/Action.d.ts +2 -1
  13. package/esm/actions/Action.js +5 -6
  14. package/esm/actions/AjaxAction.js +1 -1
  15. package/esm/actions/BreakAction.js +1 -1
  16. package/esm/actions/BroadcastAction.js +6 -5
  17. package/esm/actions/CmptAction.js +5 -4
  18. package/esm/actions/ContinueAction.js +1 -1
  19. package/esm/actions/CopyAction.js +1 -1
  20. package/esm/actions/CustomAction.js +2 -1
  21. package/esm/actions/Decorators.js +1 -1
  22. package/esm/actions/DialogAction.js +1 -1
  23. package/esm/actions/DrawerAction.js +1 -1
  24. package/esm/actions/EmailAction.js +1 -1
  25. package/esm/actions/LinkAction.js +1 -1
  26. package/esm/actions/LoopAction.js +1 -1
  27. package/esm/actions/PageAction.js +1 -1
  28. package/esm/actions/ParallelAction.js +1 -1
  29. package/esm/actions/SwitchAction.js +1 -1
  30. package/esm/actions/ToastAction.js +1 -1
  31. package/esm/components/LazyComponent.js +1 -1
  32. package/esm/components/Overlay.js +3 -2
  33. package/esm/components/PopOver.js +2 -1
  34. package/esm/env.js +1 -1
  35. package/esm/envOverwrite.js +1 -1
  36. package/esm/factory.js +3 -3
  37. package/esm/index.js +2 -2
  38. package/esm/locale.js +2 -2
  39. package/esm/node_modules/@restart/hooks/esm/useCommittedRef.js +1 -1
  40. package/esm/node_modules/@restart/hooks/esm/useEventCallback.js +1 -1
  41. package/esm/node_modules/dom-helpers/esm/addEventListener.js +1 -1
  42. package/esm/node_modules/dom-helpers/esm/canUseDOM.js +1 -1
  43. package/esm/node_modules/dom-helpers/esm/contains.js +1 -1
  44. package/esm/node_modules/dom-helpers/esm/listen.js +1 -1
  45. package/esm/node_modules/dom-helpers/esm/ownerDocument.js +1 -1
  46. package/esm/node_modules/dom-helpers/esm/removeEventListener.js +1 -1
  47. package/esm/node_modules/object-assign/index.js +1 -1
  48. package/esm/node_modules/prop-types/checkPropTypes.js +1 -1
  49. package/esm/node_modules/prop-types/factoryWithThrowingShims.js +1 -1
  50. package/esm/node_modules/prop-types/factoryWithTypeCheckers.js +1 -1
  51. package/esm/node_modules/prop-types/index.js +1 -1
  52. package/esm/node_modules/prop-types/lib/ReactPropTypesSecret.js +1 -1
  53. package/esm/node_modules/prop-types/lib/has.js +1 -1
  54. package/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +1 -1
  55. package/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +1 -1
  56. package/esm/node_modules/prop-types/node_modules/react-is/index.js +1 -1
  57. package/esm/node_modules/react-overlays/esm/Portal.js +1 -1
  58. package/esm/node_modules/react-overlays/esm/ownerDocument.js +1 -1
  59. package/esm/node_modules/react-overlays/esm/safeFindDOMNode.js +1 -1
  60. package/esm/node_modules/react-overlays/esm/useRootClose.js +1 -1
  61. package/esm/node_modules/react-overlays/esm/useWaitForDOMRef.js +1 -1
  62. package/esm/node_modules/warning/warning.js +1 -1
  63. package/esm/renderers/Form.d.ts +9 -5
  64. package/esm/renderers/Form.js +19 -13
  65. package/esm/renderers/Item.js +10 -15
  66. package/esm/renderers/Options.d.ts +1 -0
  67. package/esm/renderers/Options.js +19 -39
  68. package/esm/renderers/Placeholder.js +1 -1
  69. package/esm/renderers/builtin.js +1 -1
  70. package/esm/renderers/wrapControl.js +3 -3
  71. package/esm/store/app.js +1 -1
  72. package/esm/store/combo.d.ts +26 -26
  73. package/esm/store/combo.js +1 -1
  74. package/esm/store/crud.js +1 -1
  75. package/esm/store/form.d.ts +11 -11
  76. package/esm/store/form.js +12 -3
  77. package/esm/store/formItem.d.ts +1 -1
  78. package/esm/store/formItem.js +9 -3
  79. package/esm/store/iRenderer.js +1 -1
  80. package/esm/store/index.js +1 -1
  81. package/esm/store/list.js +1 -1
  82. package/esm/store/manager.js +1 -1
  83. package/esm/store/modal.js +1 -1
  84. package/esm/store/node.js +1 -1
  85. package/esm/store/pagination.js +1 -1
  86. package/esm/store/root.js +3 -9
  87. package/esm/store/service.js +1 -1
  88. package/esm/store/table.d.ts +24 -24
  89. package/esm/store/table.js +8 -2
  90. package/esm/store/table2.d.ts +2 -0
  91. package/esm/store/table2.js +9 -2
  92. package/esm/theme.js +1 -1
  93. package/esm/utils/Animation.js +1 -1
  94. package/esm/utils/ColorScale.js +1 -1
  95. package/esm/utils/DataSchema.js +1 -1
  96. package/esm/utils/DataScope.js +1 -1
  97. package/esm/utils/RootClose.js +1 -1
  98. package/esm/utils/SimpleMap.js +1 -1
  99. package/esm/utils/api.js +1 -1
  100. package/esm/utils/attachmentAdpator.js +1 -1
  101. package/esm/utils/autobind.js +1 -1
  102. package/esm/utils/columnsSplit.js +1 -1
  103. package/esm/utils/dataMapping.js +1 -1
  104. package/esm/utils/date.js +1 -1
  105. package/esm/utils/debug.d.ts +3 -0
  106. package/esm/utils/debug.js +27 -5
  107. package/esm/utils/dom.js +1 -1
  108. package/esm/utils/errors.js +1 -1
  109. package/esm/utils/escapeHtml.js +1 -1
  110. package/esm/utils/filter-schema.js +7 -5
  111. package/esm/utils/filter.js +12 -2
  112. package/esm/utils/formatDuration.js +1 -1
  113. package/esm/utils/formula.js +2 -2
  114. package/esm/utils/getVariable.js +1 -1
  115. package/esm/utils/grammar.js +1 -1
  116. package/esm/utils/handleAction.js +1 -1
  117. package/esm/utils/helper.d.ts +10 -0
  118. package/esm/utils/helper.js +20 -2
  119. package/esm/utils/highlight.js +1 -1
  120. package/esm/utils/icon.js +1 -1
  121. package/esm/utils/image.js +1 -1
  122. package/esm/utils/isPureVariable.js +1 -1
  123. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  124. package/esm/utils/keyToPath.js +1 -1
  125. package/esm/utils/makeSorter.js +1 -1
  126. package/esm/utils/normalizeLink.js +1 -1
  127. package/esm/utils/normalizeOptions.js +1 -1
  128. package/esm/utils/object.js +1 -1
  129. package/esm/utils/offset.js +1 -1
  130. package/esm/utils/offsetParent.js +1 -1
  131. package/esm/utils/optionValueCompare.js +9 -4
  132. package/esm/utils/position.js +1 -1
  133. package/esm/utils/prettyBytes.d.ts +1 -1
  134. package/esm/utils/prettyBytes.js +5 -4
  135. package/esm/utils/renderer-event.js +1 -1
  136. package/esm/utils/replaceText.js +1 -1
  137. package/esm/utils/resize-sensor.js +1 -1
  138. package/esm/utils/resolveVariable.js +1 -1
  139. package/esm/utils/resolveVariableAndFilter.js +1 -1
  140. package/esm/utils/scrollPosition.js +1 -1
  141. package/esm/utils/string2regExp.js +1 -1
  142. package/esm/utils/stripNumber.js +2 -2
  143. package/esm/utils/style.js +1 -1
  144. package/esm/utils/toNumber.js +1 -1
  145. package/esm/utils/tokenize.js +1 -1
  146. package/esm/utils/tpl-builtin.js +1 -1
  147. package/esm/utils/tpl-lodash.js +1 -1
  148. package/esm/utils/tpl.js +2 -2
  149. package/esm/utils/uncontrollable.js +1 -1
  150. package/esm/utils/validations.js +9 -1
  151. package/lib/Root.js +1 -1
  152. package/lib/RootRenderer.js +2 -2
  153. package/lib/SchemaRenderer.js +7 -2
  154. package/lib/Scoped.d.ts +1 -1
  155. package/lib/Scoped.js +2 -2
  156. package/lib/WithRootStore.js +1 -1
  157. package/lib/WithStore.js +20 -9
  158. package/lib/_virtual/index.js +1 -1
  159. package/lib/_virtual/index2.js +1 -1
  160. package/lib/_virtual/react-is.development.js +1 -1
  161. package/lib/_virtual/react-is.production.min.js +1 -1
  162. package/lib/actions/Action.d.ts +2 -1
  163. package/lib/actions/Action.js +5 -6
  164. package/lib/actions/AjaxAction.js +1 -1
  165. package/lib/actions/BreakAction.js +1 -1
  166. package/lib/actions/BroadcastAction.js +6 -5
  167. package/lib/actions/CmptAction.js +5 -4
  168. package/lib/actions/ContinueAction.js +1 -1
  169. package/lib/actions/CopyAction.js +1 -1
  170. package/lib/actions/CustomAction.js +2 -1
  171. package/lib/actions/Decorators.js +1 -1
  172. package/lib/actions/DialogAction.js +1 -1
  173. package/lib/actions/DrawerAction.js +1 -1
  174. package/lib/actions/EmailAction.js +1 -1
  175. package/lib/actions/LinkAction.js +1 -1
  176. package/lib/actions/LoopAction.js +1 -1
  177. package/lib/actions/PageAction.js +1 -1
  178. package/lib/actions/ParallelAction.js +1 -1
  179. package/lib/actions/SwitchAction.js +1 -1
  180. package/lib/actions/ToastAction.js +1 -1
  181. package/lib/components/LazyComponent.js +1 -1
  182. package/lib/components/Overlay.js +3 -2
  183. package/lib/components/PopOver.js +2 -1
  184. package/lib/env.js +1 -1
  185. package/lib/envOverwrite.js +1 -1
  186. package/lib/factory.js +2 -2
  187. package/lib/index.js +2 -1
  188. package/lib/locale.js +2 -2
  189. package/lib/node_modules/@restart/hooks/esm/useCommittedRef.js +1 -1
  190. package/lib/node_modules/@restart/hooks/esm/useEventCallback.js +1 -1
  191. package/lib/node_modules/dom-helpers/esm/addEventListener.js +1 -1
  192. package/lib/node_modules/dom-helpers/esm/canUseDOM.js +1 -1
  193. package/lib/node_modules/dom-helpers/esm/contains.js +1 -1
  194. package/lib/node_modules/dom-helpers/esm/listen.js +1 -1
  195. package/lib/node_modules/dom-helpers/esm/ownerDocument.js +1 -1
  196. package/lib/node_modules/dom-helpers/esm/removeEventListener.js +1 -1
  197. package/lib/node_modules/object-assign/index.js +1 -1
  198. package/lib/node_modules/prop-types/checkPropTypes.js +1 -1
  199. package/lib/node_modules/prop-types/factoryWithThrowingShims.js +1 -1
  200. package/lib/node_modules/prop-types/factoryWithTypeCheckers.js +1 -1
  201. package/lib/node_modules/prop-types/index.js +1 -1
  202. package/lib/node_modules/prop-types/lib/ReactPropTypesSecret.js +1 -1
  203. package/lib/node_modules/prop-types/lib/has.js +1 -1
  204. package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +1 -1
  205. package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +1 -1
  206. package/lib/node_modules/prop-types/node_modules/react-is/index.js +1 -1
  207. package/lib/node_modules/react-overlays/esm/Portal.js +1 -1
  208. package/lib/node_modules/react-overlays/esm/ownerDocument.js +1 -1
  209. package/lib/node_modules/react-overlays/esm/safeFindDOMNode.js +1 -1
  210. package/lib/node_modules/react-overlays/esm/useRootClose.js +1 -1
  211. package/lib/node_modules/react-overlays/esm/useWaitForDOMRef.js +1 -1
  212. package/lib/node_modules/warning/warning.js +1 -1
  213. package/lib/renderers/Form.d.ts +9 -5
  214. package/lib/renderers/Form.js +19 -13
  215. package/lib/renderers/Item.js +10 -15
  216. package/lib/renderers/Options.d.ts +1 -0
  217. package/lib/renderers/Options.js +19 -39
  218. package/lib/renderers/Placeholder.js +1 -1
  219. package/lib/renderers/builtin.js +1 -1
  220. package/lib/renderers/wrapControl.js +3 -3
  221. package/lib/store/app.js +1 -1
  222. package/lib/store/combo.d.ts +26 -26
  223. package/lib/store/combo.js +1 -1
  224. package/lib/store/crud.js +1 -1
  225. package/lib/store/form.d.ts +11 -11
  226. package/lib/store/form.js +13 -3
  227. package/lib/store/formItem.d.ts +1 -1
  228. package/lib/store/formItem.js +9 -3
  229. package/lib/store/iRenderer.js +1 -1
  230. package/lib/store/index.js +1 -1
  231. package/lib/store/list.js +1 -1
  232. package/lib/store/manager.js +1 -1
  233. package/lib/store/modal.js +1 -1
  234. package/lib/store/node.js +1 -1
  235. package/lib/store/pagination.js +1 -1
  236. package/lib/store/root.js +2 -8
  237. package/lib/store/service.js +1 -1
  238. package/lib/store/table.d.ts +24 -24
  239. package/lib/store/table.js +8 -2
  240. package/lib/store/table2.d.ts +2 -0
  241. package/lib/store/table2.js +9 -2
  242. package/lib/theme.js +1 -1
  243. package/lib/utils/Animation.js +1 -1
  244. package/lib/utils/ColorScale.js +1 -1
  245. package/lib/utils/DataSchema.js +1 -1
  246. package/lib/utils/DataScope.js +1 -1
  247. package/lib/utils/RootClose.js +1 -1
  248. package/lib/utils/SimpleMap.js +1 -1
  249. package/lib/utils/api.js +1 -1
  250. package/lib/utils/attachmentAdpator.js +1 -1
  251. package/lib/utils/autobind.js +1 -1
  252. package/lib/utils/columnsSplit.js +1 -1
  253. package/lib/utils/dataMapping.js +1 -1
  254. package/lib/utils/date.js +1 -1
  255. package/lib/utils/debug.d.ts +3 -0
  256. package/lib/utils/debug.js +27 -5
  257. package/lib/utils/dom.js +1 -1
  258. package/lib/utils/errors.js +1 -1
  259. package/lib/utils/escapeHtml.js +1 -1
  260. package/lib/utils/filter-schema.js +7 -5
  261. package/lib/utils/filter.js +12 -2
  262. package/lib/utils/formatDuration.js +1 -1
  263. package/lib/utils/formula.js +2 -2
  264. package/lib/utils/getVariable.js +1 -1
  265. package/lib/utils/grammar.js +1 -1
  266. package/lib/utils/handleAction.js +1 -1
  267. package/lib/utils/helper.d.ts +10 -0
  268. package/lib/utils/helper.js +21 -1
  269. package/lib/utils/highlight.js +1 -1
  270. package/lib/utils/icon.js +1 -1
  271. package/lib/utils/image.js +1 -1
  272. package/lib/utils/isPureVariable.js +1 -1
  273. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  274. package/lib/utils/keyToPath.js +1 -1
  275. package/lib/utils/makeSorter.js +1 -1
  276. package/lib/utils/normalizeLink.js +1 -1
  277. package/lib/utils/normalizeOptions.js +1 -1
  278. package/lib/utils/object.js +1 -1
  279. package/lib/utils/offset.js +1 -1
  280. package/lib/utils/offsetParent.js +1 -1
  281. package/lib/utils/optionValueCompare.js +9 -4
  282. package/lib/utils/position.js +1 -1
  283. package/lib/utils/prettyBytes.d.ts +1 -1
  284. package/lib/utils/prettyBytes.js +5 -4
  285. package/lib/utils/renderer-event.js +1 -1
  286. package/lib/utils/replaceText.js +1 -1
  287. package/lib/utils/resize-sensor.js +1 -1
  288. package/lib/utils/resolveVariable.js +1 -1
  289. package/lib/utils/resolveVariableAndFilter.js +1 -1
  290. package/lib/utils/scrollPosition.js +1 -1
  291. package/lib/utils/string2regExp.js +1 -1
  292. package/lib/utils/stripNumber.js +2 -2
  293. package/lib/utils/style.js +1 -1
  294. package/lib/utils/toNumber.js +1 -1
  295. package/lib/utils/tokenize.js +1 -1
  296. package/lib/utils/tpl-builtin.js +1 -1
  297. package/lib/utils/tpl-lodash.js +1 -1
  298. package/lib/utils/tpl.js +2 -2
  299. package/lib/utils/uncontrollable.js +1 -1
  300. package/lib/utils/validations.js +9 -1
  301. package/package.json +15 -15
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -171,7 +171,7 @@ var RootRenderer = /** @class */ (function (_super) {
171
171
  var api = normalizeApi(action.api);
172
172
  if (typeof api.url === 'string') {
173
173
  var fileName = action.fileName || 'data.txt';
174
- if (api.url.indexOf('.') !== -1) {
174
+ if (!action.fileName && api.url.indexOf('.') !== -1) {
175
175
  fileName = api.url.split('/').pop();
176
176
  }
177
177
  saveAs(api.url, fileName);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -265,9 +265,14 @@ var SchemaRenderer = /** @class */ (function (_super) {
265
265
  (schema.visible !== false && !schema.hidden))) {
266
266
  return null;
267
267
  }
268
+ // withStore 里面会处理,而且会实时处理
269
+ // 这里处理反而导致了问题
270
+ if (renderer.storeType) {
271
+ exprProps = {};
272
+ }
268
273
  var isClassComponent = (_a = Component.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent;
269
274
  var $schema = __assign(__assign({}, schema), exprProps);
270
- var props = __assign(__assign(__assign(__assign(__assign({}, theme.getRendererConfig(renderer.name)), restSchema), exprProps), chainEvents(rest, restSchema)), {
275
+ var props = __assign(__assign(__assign(__assign(__assign({}, theme.getRendererConfig(renderer.name)), restSchema), chainEvents(rest, restSchema)), exprProps), {
271
276
  // value: defaultValue, // 备注: 此处并没有将value传递给渲染器
272
277
  defaultData: (_b = restSchema.defaultData) !== null && _b !== void 0 ? _b : defaultData, defaultValue: (_c = restSchema.defaultValue) !== null && _c !== void 0 ? _c : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: $schema, ref: this.refFn, render: this.renderChild, rootStore: rootStore, topStore: topStore, dispatchEvent: this.dispatchEvent });
273
278
  if (disable !== undefined) {
package/esm/Scoped.d.ts CHANGED
@@ -8,7 +8,7 @@ import { RendererData, ActionObject } from './types';
8
8
  export interface ScopedComponentType extends React.Component<RendererProps> {
9
9
  focus?: () => void;
10
10
  doAction?: (action: ActionObject, data: RendererData, throwErrors?: boolean) => void;
11
- receive?: (values: RendererData, subPath?: string) => void;
11
+ receive?: (values: RendererData, subPath?: string, replace?: boolean) => void;
12
12
  reload?: (subPath?: string, query?: RendererData | null, ctx?: RendererData) => void;
13
13
  context: any;
14
14
  }
package/esm/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -12,7 +12,7 @@ import 'moment';
12
12
  import 'lodash/isPlainObject';
13
13
  import { dataMapping } from './utils/dataMapping.js';
14
14
  import './utils/filter.js';
15
- import { findTree, qsparse, qsstringify, autobind } from './utils/helper.js';
15
+ import { findTree, qsparse, qsstringify, parseQuery, autobind } from './utils/helper.js';
16
16
 
17
17
  /**
18
18
  * @file 用来创建一个域,在这个域里面会把里面的运行时实例注册进来,方便组件之间的通信。
@@ -140,7 +140,7 @@ function createScopedTools(path, parent, env) {
140
140
  component.receive(values, subPath);
141
141
  }
142
142
  else if (name === 'window' && env && env.updateLocation) {
143
- var query = __assign(__assign({}, (location.search ? qsparse(location.search.substring(1)) : {})), values);
143
+ var query = __assign(__assign({}, parseQuery(location)), values);
144
144
  var link = location.pathname + '?' + qsstringify(query);
145
145
  env.updateLocation(link, true);
146
146
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
package/esm/WithStore.js CHANGED
@@ -1,10 +1,11 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
6
6
  import { __extends, __assign, __rest, __decorate, __metadata } from 'tslib';
7
7
  import hoistNonReactStatic from 'hoist-non-react-statics';
8
+ import { reaction } from 'mobx';
8
9
  import { observer } from 'mobx-react';
9
10
  import { isAlive } from 'mobx-state-tree';
10
11
  import React from 'react';
@@ -53,6 +54,18 @@ function HocStoreFactory(renderer) {
53
54
  else {
54
55
  store.initData(__assign(__assign({}, _this.formatData(dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data)));
55
56
  }
57
+ _this.state = {};
58
+ var detectField = props.detectField, rest = __rest(props, ["detectField"]);
59
+ var exprProps = {};
60
+ if (!detectField || detectField === 'data') {
61
+ exprProps = getExprProperties(rest, store.data, undefined, rest);
62
+ _this.state = __assign({}, exprProps);
63
+ _this.unReaction = reaction(function () {
64
+ return JSON.stringify(getExprProperties(rest, store.data, undefined, rest));
65
+ }, function () {
66
+ return _this.setState(__assign({}, getExprProperties(rest, store.data, undefined, rest)));
67
+ });
68
+ }
56
69
  return _this;
57
70
  }
58
71
  StoreFactory.prototype.getWrappedInstance = function () {
@@ -131,8 +144,10 @@ function HocStoreFactory(renderer) {
131
144
  }
132
145
  };
133
146
  StoreFactory.prototype.componentWillUnmount = function () {
147
+ var _a;
134
148
  var rootStore = this.context;
135
149
  var store = this.store;
150
+ (_a = this.unReaction) === null || _a === void 0 ? void 0 : _a.call(this);
136
151
  isAlive(store) && rootStore.removeStore(store);
137
152
  // @ts-ignore
138
153
  delete this.store;
@@ -143,15 +158,11 @@ function HocStoreFactory(renderer) {
143
158
  return render(region, node, __assign(__assign({ data: this.store.data, dataUpdatedAt: this.store.updatedAt }, subProps), { scope: this.store.data, store: this.store }));
144
159
  };
145
160
  StoreFactory.prototype.render = function () {
146
- var _a = this.props, detectField = _a.detectField, rest = __rest(_a, ["detectField"]);
147
- var exprProps = {};
148
- if (!detectField || detectField === 'data') {
149
- exprProps = getExprProperties(rest, this.store.data, undefined, rest);
150
- if (exprProps.hidden || exprProps.visible === false) {
151
- return null;
152
- }
161
+ var _a = this.props; _a.detectField; var rest = __rest(_a, ["detectField"]);
162
+ if (this.state.hidden || this.state.visible === false) {
163
+ return null;
153
164
  }
154
- return (React.createElement(Component, __assign({}, rest /* todo */, exprProps, { ref: this.refFn, data: this.store.data, dataUpdatedAt: this.store.updatedAt, store: this.store, scope: this.store.data, render: this.renderChild })));
165
+ return (React.createElement(Component, __assign({}, rest /* todo */, this.state, { ref: this.refFn, data: this.store.data, dataUpdatedAt: this.store.updatedAt, store: this.store, scope: this.store.data, render: this.renderChild })));
155
166
  };
156
167
  StoreFactory.displayName = "WithStore(".concat(Component.displayName || Component.name, ")");
157
168
  StoreFactory.ComposedComponent = Component;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -15,7 +15,8 @@ export interface ListenerAction {
15
15
  actionType: string;
16
16
  description?: string;
17
17
  componentId?: string;
18
- args?: Record<string, any>;
18
+ args?: Record<string, any> | null;
19
+ dataMergeMode?: 'merge' | 'override';
19
20
  outputVar?: string;
20
21
  preventDefault?: boolean;
21
22
  stopPropagation?: boolean;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -95,12 +95,11 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
95
95
  evalExpression(String(actionConfig.preventDefault), mergeData);
96
96
  stopPropagation = actionConfig.stopPropagation &&
97
97
  evalExpression(String(actionConfig.stopPropagation), mergeData);
98
- args = event.data;
99
- if (actionConfig.args) {
100
- args = dataMapping(actionConfig.args, mergeData, function (key) {
98
+ args = actionConfig.args !== undefined
99
+ ? dataMapping(actionConfig.args, mergeData, function (key) {
101
100
  return ['adaptor', 'responseAdaptor', 'requestAdaptor'].includes(key);
102
- });
103
- }
101
+ })
102
+ : event.data;
104
103
  return [4 /*yield*/, actionInstrance.run(__assign(__assign({}, actionConfig), { args: args }), renderer, event, mergeData)];
105
104
  case 1:
106
105
  _b.sent();
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -20,20 +20,21 @@ var BroadcastAction = /** @class */ (function () {
20
20
  function BroadcastAction() {
21
21
  }
22
22
  BroadcastAction.prototype.run = function (action, renderer, event) {
23
+ var _a;
23
24
  return __awaiter(this, void 0, void 0, function () {
24
- return __generator(this, function (_a) {
25
- switch (_a.label) {
25
+ return __generator(this, function (_b) {
26
+ switch (_b.label) {
26
27
  case 0:
27
28
  if (!action.eventName) {
28
29
  console.error('eventName 未定义,请定义事件名称');
29
30
  return [2 /*return*/];
30
31
  }
31
32
  // 作为一个新的事件,需要把广播动作的args参数追加到事件数据中
32
- event.setData(createObject(event.data, action.args));
33
+ event.setData(createObject(event.data, (_a = action.args) !== null && _a !== void 0 ? _a : {}));
33
34
  return [4 /*yield*/, dispatchEvent(action.eventName, renderer, event.context.scoped, action.args, event)];
34
35
  case 1:
35
36
  // 直接触发对应的动作
36
- return [2 /*return*/, _a.sent()];
37
+ return [2 /*return*/, _b.sent()];
37
38
  }
38
39
  });
39
40
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -19,11 +19,12 @@ var CmptAction = /** @class */ (function () {
19
19
  CmptAction.prototype.run = function (action, renderer, event) {
20
20
  var _a, _b, _c, _d, _e, _f, _g, _h;
21
21
  return __awaiter(this, void 0, void 0, function () {
22
- var component;
22
+ var component, dataMergeMode;
23
23
  return __generator(this, function (_j) {
24
24
  component = action.componentId && renderer.props.$schema.id !== action.componentId
25
25
  ? (_a = event.context.scoped) === null || _a === void 0 ? void 0 : _a.getComponentById(action.componentId)
26
26
  : renderer;
27
+ dataMergeMode = action.dataMergeMode || 'merge';
27
28
  // 显隐&状态控制
28
29
  if (['show', 'hidden'].includes(action.actionType)) {
29
30
  return [2 /*return*/, renderer.props.topStore.setVisible(action.componentId, action.actionType === 'show')];
@@ -34,7 +35,7 @@ var CmptAction = /** @class */ (function () {
34
35
  // 数据更新
35
36
  if (action.actionType === 'setValue') {
36
37
  if (component === null || component === void 0 ? void 0 : component.setData) {
37
- return [2 /*return*/, component === null || component === void 0 ? void 0 : component.setData((_b = action.args) === null || _b === void 0 ? void 0 : _b.value, (_c = action.args) === null || _c === void 0 ? void 0 : _c.index)];
38
+ return [2 /*return*/, component === null || component === void 0 ? void 0 : component.setData((_b = action.args) === null || _b === void 0 ? void 0 : _b.value, dataMergeMode === 'override', (_c = action.args) === null || _c === void 0 ? void 0 : _c.index)];
38
39
  }
39
40
  else {
40
41
  return [2 /*return*/, (_e = component === null || component === void 0 ? void 0 : (_d = component.props).onChange) === null || _e === void 0 ? void 0 : _e.call(_d, (_f = action.args) === null || _f === void 0 ? void 0 : _f.value)];
@@ -42,7 +43,7 @@ var CmptAction = /** @class */ (function () {
42
43
  }
43
44
  // 刷新
44
45
  if (action.actionType === 'reload') {
45
- return [2 /*return*/, (_g = component === null || component === void 0 ? void 0 : component.reload) === null || _g === void 0 ? void 0 : _g.call(component, undefined, action.args)];
46
+ return [2 /*return*/, (_g = component === null || component === void 0 ? void 0 : component.reload) === null || _g === void 0 ? void 0 : _g.call(component, undefined, action.args, undefined, undefined, dataMergeMode === 'override')];
46
47
  }
47
48
  // 执行组件动作
48
49
  return [2 /*return*/, (_h = component === null || component === void 0 ? void 0 : component.doAction) === null || _h === void 0 ? void 0 : _h.call(component, action, action.args)];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -24,6 +24,7 @@ import 'lodash/isObject';
24
24
  import 'lodash/isString';
25
25
  import 'lodash/isBoolean';
26
26
  import '../utils/image.js';
27
+ import 'lodash';
27
28
  import { registerAction, runActions } from './Action.js';
28
29
  import '../utils/resize-sensor.js';
29
30
  import '../node_modules/dom-helpers/esm/addEventListener.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -26,6 +26,7 @@ import 'lodash/isObject';
26
26
  import 'lodash/isString';
27
27
  import 'lodash/isBoolean';
28
28
  import '../utils/image.js';
29
+ import 'lodash';
29
30
  import '../actions/Action.js';
30
31
  import { getComputedStyle, resizeSensor } from '../utils/resize-sensor.js';
31
32
  import { RootClose } from '../utils/RootClose.js';
@@ -131,7 +132,7 @@ var Position = /** @class */ (function (_super) {
131
132
  delete props.containerPadding;
132
133
  delete props.shouldUpdatePosition;
133
134
  var child = React.Children.only(children);
134
- return cloneElement(child, __assign(__assign(__assign({}, props), arrowPosition), {
135
+ return cloneElement(child, __assign(__assign(__assign(__assign({}, props), arrowPosition), (child.props.offset ? { offset: child.props.offset } : {})), {
135
136
  // FIXME: Don't forward `positionLeft` and `positionTop` via both props
136
137
  // and `props.style`.
137
138
  positionLeft: positionLeft, positionTop: positionTop, className: cx(className, child.props.className), style: __assign(__assign({}, child.props.style), { left: positionLeft, top: positionTop }) }));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -25,6 +25,7 @@ import 'lodash/isObject';
25
25
  import 'lodash/isString';
26
26
  import 'lodash/isBoolean';
27
27
  import '../utils/image.js';
28
+ import 'lodash';
28
29
  import '../actions/Action.js';
29
30
  import '../utils/resize-sensor.js';
30
31
  import '../node_modules/dom-helpers/esm/addEventListener.js';
package/esm/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
package/esm/factory.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -9,7 +9,7 @@ import { RendererStore } from './store/index.js';
9
9
  import { destroy, getEnv } from 'mobx-state-tree';
10
10
  import { wrapFetcher } from './utils/api.js';
11
11
  import { normalizeLink } from './utils/normalizeLink.js';
12
- import { qsparse, findIndex, promisify } from './utils/helper.js';
12
+ import { qsparse, parseQuery, findIndex, promisify } from './utils/helper.js';
13
13
  import { observer } from 'mobx-react';
14
14
  import { HocScoped } from './Scoped.js';
15
15
  import find from 'lodash/find';
@@ -176,7 +176,7 @@ var defaultOptions = {
176
176
  return false;
177
177
  }
178
178
  var query_1 = qsparse(search.substring(1));
179
- var currentQuery_1 = qsparse(location.search.substring(1));
179
+ var currentQuery_1 = parseQuery(location);
180
180
  return Object.keys(query_1).every(function (key) { return query_1[key] === currentQuery_1[key]; });
181
181
  }
182
182
  else if (pathname === location.pathname) {
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -32,7 +32,7 @@ export { handleAction } from './utils/handleAction.js';
32
32
  import { promisify } from './utils/helper.js';
33
33
  import * as helper from './utils/helper.js';
34
34
  export { helper as utils };
35
- export { JSONTraverse, SkipOperation, __uri, anyChanged, autobind, bulkBindFunctions, camel, chainEvents, chainFunctions, convertArrayValueToMoment, detectPropValueChanged, difference, eachTree, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter } from './utils/helper.js';
35
+ export { JSONTraverse, SkipOperation, __uri, anyChanged, autobind, bulkBindFunctions, camel, chainEvents, chainFunctions, convertArrayValueToMoment, detectPropValueChanged, difference, eachTree, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter } from './utils/helper.js';
36
36
  export { highlight } from './utils/highlight.js';
37
37
  export { generateIcon } from './utils/icon.js';
38
38
  export { getImageDimensions, toDataURL } from './utils/image.js';
package/esm/locale.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -42,7 +42,7 @@ function makeTranslator(locale) {
42
42
  if (!str || typeof str !== 'string') {
43
43
  return str;
44
44
  }
45
- var dict = locales[locale] || locales[defaultLocale];
45
+ var dict = locales[locale] || locales[defaultLocale] || locales['zh-CN'];
46
46
  return format.apply(void 0, __spreadArray([(dict === null || dict === void 0 ? void 0 : dict[str]) || str], args, false));
47
47
  };
48
48
  locale && (fns[locale] = fn);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.2.0
2
+ * amis-core v2.3.1
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5