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
@@ -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,6 +9,7 @@ import isEqual from 'lodash/isEqual';
9
9
  import isNaN from 'lodash/isNaN';
10
10
  import uniq from 'lodash/uniq';
11
11
  import last from 'lodash/last';
12
+ import merge from 'lodash/merge';
12
13
  import { evalExpression } from './tpl.js';
13
14
  import qs from 'qs';
14
15
  import { autobindMethod } from './autobind.js';
@@ -1229,5 +1230,22 @@ function isNumeric(value) {
1229
1230
  }
1230
1231
  return /^[-+]?(?:\d*[.])?\d+$/.test(value);
1231
1232
  }
1233
+ /**
1234
+ * 获取URL链接中的query参数(包含hash mode)
1235
+ *
1236
+ * @param location Location对象,或者类Location结构的对象
1237
+ */
1238
+ function parseQuery(location) {
1239
+ var _a, _b;
1240
+ var query = (location && !(location instanceof Location) && (location === null || location === void 0 ? void 0 : location.query)) ||
1241
+ (location && (location === null || location === void 0 ? void 0 : location.search) && qsparse(location.search.substring(1))) ||
1242
+ (window.location.search && qsparse(window.location.search.substring(1)));
1243
+ /* 处理hash中的query */
1244
+ var hashQuery = ((_a = window.location) === null || _a === void 0 ? void 0 : _a.hash) && typeof ((_b = window.location) === null || _b === void 0 ? void 0 : _b.hash) === 'string'
1245
+ ? qsparse(window.location.hash.replace(/^#.*\?/gi, ''))
1246
+ : {};
1247
+ var normalizedQuery = isPlainObject(query) ? query : {};
1248
+ return merge(normalizedQuery, hashQuery);
1249
+ }
1232
1250
 
1233
- 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 };
1251
+ 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 };
@@ -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/utils/icon.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
 
@@ -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,16 +1,21 @@
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 './helper.js';
7
+ import { isEqual } from 'lodash';
7
8
  import { isObject } from './object.js';
8
9
 
9
10
  function matchOptionValue(a, b, valueField) {
10
11
  if (valueField === void 0) { valueField = 'value'; }
11
- return isObject(a)
12
- ? a === b[valueField || 'value']
13
- : String(b[valueField || 'value']) === String(a);
12
+ // a 可能为 Option, 此时需要取其value
13
+ var aValue = isObject(a) && a && a.hasOwnProperty(valueField)
14
+ ? a[valueField]
15
+ : a;
16
+ return isObject(aValue)
17
+ ? isEqual(aValue, b[valueField || 'value'])
18
+ : String(b[valueField || 'value']) === String(aValue);
14
19
  }
15
20
  function optionValueCompare(a, valueField) {
16
21
  if (valueField === void 0) { valueField = 'value'; }
@@ -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 +1 @@
1
- export declare const prettyBytes: (num: number) => string;
1
+ export declare const prettyBytes: (num: number, step?: number) => string;
@@ -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
  var UNITS = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
7
- var prettyBytes = function (num) {
7
+ var prettyBytes = function (num, step) {
8
+ if (step === void 0) { step = 1000; }
8
9
  if (!Number.isFinite(num)) {
9
10
  throw new TypeError("Expected a finite number, got ".concat(typeof num, ": ").concat(num));
10
11
  }
@@ -15,8 +16,8 @@ var prettyBytes = function (num) {
15
16
  if (num < 1) {
16
17
  return (neg ? '-' : '') + num + ' B';
17
18
  }
18
- var exponent = Math.min(Math.floor(Math.log(num) / Math.log(1000)), UNITS.length - 1);
19
- var numStr = Number((num / Math.pow(1000, exponent)).toPrecision(3));
19
+ var exponent = Math.min(Math.floor(Math.log(num) / Math.log(step)), UNITS.length - 1);
20
+ var numStr = Number((num / Math.pow(step, exponent)).toPrecision(3));
20
21
  var unit = UNITS[exponent];
21
22
  return (neg ? '-' : '') + numStr + ' ' + unit;
22
23
  };
@@ -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,12 +1,12 @@
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
  // 主要用于解决 0.1+0.2 结果的精度问题导致太长
7
7
  function stripNumber(number) {
8
8
  if (typeof number === 'number' && !Number.isInteger(number)) {
9
- return parseFloat(number.toPrecision(12));
9
+ return parseFloat(number.toPrecision(16));
10
10
  }
11
11
  else {
12
12
  return number;
@@ -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
 
package/esm/utils/tpl.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
 
@@ -54,7 +54,7 @@ function evalExpression(expression, data) {
54
54
  expression.substring(0, 2) === '${' &&
55
55
  expression[expression.length - 1] === '}') {
56
56
  // 启用新版本的公式表达式
57
- return evalFormula(expression, data);
57
+ return !!evalFormula(expression, data);
58
58
  }
59
59
  // 后续改用 FormulaExec['js']
60
60
  var debug = false;
@@ -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
 
@@ -140,6 +140,10 @@ var validations = {
140
140
  return validations.matchRegexp(values, value, /^[A-Z\s\u00C0-\u017F]+$/i);
141
141
  },
142
142
  isLength: function (values, value, length) {
143
+ // 此方法应该判断文本长度,如果传入数据为number,导致 maxLength 和 maximum 表现一致了,默认转成string
144
+ if (typeof value === 'number') {
145
+ value = String(value);
146
+ }
143
147
  return !isExisty(value) || isEmpty(value) || value.length === length;
144
148
  },
145
149
  equals: function (values, value, eql) {
@@ -156,6 +160,10 @@ var validations = {
156
160
  return !isExisty(value) || value.length <= length;
157
161
  },
158
162
  minLength: function (values, value, length) {
163
+ // 此方法应该判断文本长度,如果传入数据为number,导致 maxLength 和 maximum 表现一致了,默认转成string
164
+ if (typeof value === 'number') {
165
+ value = String(value);
166
+ }
159
167
  return !isExisty(value) || isEmpty(value) || value.length >= length;
160
168
  },
161
169
  isUrlPath: function (values, value, regexp) {
package/lib/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
 
@@ -182,7 +182,7 @@ var RootRenderer = /** @class */ (function (_super) {
182
182
  var api$1 = api.normalizeApi(action.api);
183
183
  if (typeof api$1.url === 'string') {
184
184
  var fileName = action.fileName || 'data.txt';
185
- if (api$1.url.indexOf('.') !== -1) {
185
+ if (!action.fileName && api$1.url.indexOf('.') !== -1) {
186
186
  fileName = api$1.url.split('/').pop();
187
187
  }
188
188
  fileSaver.saveAs(api$1.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
 
@@ -275,9 +275,14 @@ var SchemaRenderer = /** @class */ (function (_super) {
275
275
  (schema.visible !== false && !schema.hidden))) {
276
276
  return null;
277
277
  }
278
+ // withStore 里面会处理,而且会实时处理
279
+ // 这里处理反而导致了问题
280
+ if (renderer.storeType) {
281
+ exprProps = {};
282
+ }
278
283
  var isClassComponent = (_a = Component.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent;
279
284
  var $schema = tslib.__assign(tslib.__assign({}, schema), exprProps);
280
- var props = tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, theme.getRendererConfig(renderer.name)), restSchema), exprProps), helper.chainEvents(rest, restSchema)), {
285
+ var props = tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, theme.getRendererConfig(renderer.name)), restSchema), helper.chainEvents(rest, restSchema)), exprProps), {
281
286
  // value: defaultValue, // 备注: 此处并没有将value传递给渲染器
282
287
  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 });
283
288
  if (disable !== undefined) {
package/lib/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/lib/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
 
@@ -150,7 +150,7 @@ function createScopedTools(path, parent, env) {
150
150
  component.receive(values, subPath);
151
151
  }
152
152
  else if (name === 'window' && env && env.updateLocation) {
153
- var query = tslib.__assign(tslib.__assign({}, (location.search ? helper.qsparse(location.search.substring(1)) : {})), values);
153
+ var query = tslib.__assign(tslib.__assign({}, helper.parseQuery(location)), values);
154
154
  var link = location.pathname + '?' + helper.qsstringify(query);
155
155
  env.updateLocation(link, true);
156
156
  }
@@ -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/lib/WithStore.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,6 +9,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var tslib = require('tslib');
11
11
  var hoistNonReactStatic = require('hoist-non-react-statics');
12
+ var mobx = require('mobx');
12
13
  var mobxReact = require('mobx-react');
13
14
  var mobxStateTree = require('mobx-state-tree');
14
15
  var React = require('react');
@@ -62,6 +63,18 @@ function HocStoreFactory(renderer) {
62
63
  else {
63
64
  store.initData(tslib.__assign(tslib.__assign({}, _this.formatData(dataMapping.dataMapping(_this.props.defaultData, _this.props.data))), _this.formatData(_this.props.data)));
64
65
  }
66
+ _this.state = {};
67
+ var detectField = props.detectField, rest = tslib.__rest(props, ["detectField"]);
68
+ var exprProps = {};
69
+ if (!detectField || detectField === 'data') {
70
+ exprProps = filterSchema.getExprProperties(rest, store.data, undefined, rest);
71
+ _this.state = tslib.__assign({}, exprProps);
72
+ _this.unReaction = mobx.reaction(function () {
73
+ return JSON.stringify(filterSchema.getExprProperties(rest, store.data, undefined, rest));
74
+ }, function () {
75
+ return _this.setState(tslib.__assign({}, filterSchema.getExprProperties(rest, store.data, undefined, rest)));
76
+ });
77
+ }
65
78
  return _this;
66
79
  }
67
80
  StoreFactory.prototype.getWrappedInstance = function () {
@@ -140,8 +153,10 @@ function HocStoreFactory(renderer) {
140
153
  }
141
154
  };
142
155
  StoreFactory.prototype.componentWillUnmount = function () {
156
+ var _a;
143
157
  var rootStore = this.context;
144
158
  var store = this.store;
159
+ (_a = this.unReaction) === null || _a === void 0 ? void 0 : _a.call(this);
145
160
  mobxStateTree.isAlive(store) && rootStore.removeStore(store);
146
161
  // @ts-ignore
147
162
  delete this.store;
@@ -152,15 +167,11 @@ function HocStoreFactory(renderer) {
152
167
  return render(region, node, tslib.__assign(tslib.__assign({ data: this.store.data, dataUpdatedAt: this.store.updatedAt }, subProps), { scope: this.store.data, store: this.store }));
153
168
  };
154
169
  StoreFactory.prototype.render = function () {
155
- var _a = this.props, detectField = _a.detectField, rest = tslib.__rest(_a, ["detectField"]);
156
- var exprProps = {};
157
- if (!detectField || detectField === 'data') {
158
- exprProps = filterSchema.getExprProperties(rest, this.store.data, undefined, rest);
159
- if (exprProps.hidden || exprProps.visible === false) {
160
- return null;
161
- }
170
+ var _a = this.props; _a.detectField; var rest = tslib.__rest(_a, ["detectField"]);
171
+ if (this.state.hidden || this.state.visible === false) {
172
+ return null;
162
173
  }
163
- return (React__default["default"].createElement(Component, tslib.__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 })));
174
+ return (React__default["default"].createElement(Component, tslib.__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 })));
164
175
  };
165
176
  StoreFactory.displayName = "WithStore(".concat(Component.displayName || Component.name, ")");
166
177
  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
 
@@ -99,12 +99,11 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
99
99
  tpl.evalExpression(String(actionConfig.preventDefault), mergeData);
100
100
  stopPropagation = actionConfig.stopPropagation &&
101
101
  tpl.evalExpression(String(actionConfig.stopPropagation), mergeData);
102
- args = event.data;
103
- if (actionConfig.args) {
104
- args = dataMapping.dataMapping(actionConfig.args, mergeData, function (key) {
102
+ args = actionConfig.args !== undefined
103
+ ? dataMapping.dataMapping(actionConfig.args, mergeData, function (key) {
105
104
  return ['adaptor', 'responseAdaptor', 'requestAdaptor'].includes(key);
106
- });
107
- }
105
+ })
106
+ : event.data;
108
107
  return [4 /*yield*/, actionInstrance.run(tslib.__assign(tslib.__assign({}, actionConfig), { args: args }), renderer, event, mergeData)];
109
108
  case 1:
110
109
  _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
 
@@ -24,20 +24,21 @@ var BroadcastAction = /** @class */ (function () {
24
24
  function BroadcastAction() {
25
25
  }
26
26
  BroadcastAction.prototype.run = function (action, renderer, event) {
27
+ var _a;
27
28
  return tslib.__awaiter(this, void 0, void 0, function () {
28
- return tslib.__generator(this, function (_a) {
29
- switch (_a.label) {
29
+ return tslib.__generator(this, function (_b) {
30
+ switch (_b.label) {
30
31
  case 0:
31
32
  if (!action.eventName) {
32
33
  console.error('eventName 未定义,请定义事件名称');
33
34
  return [2 /*return*/];
34
35
  }
35
36
  // 作为一个新的事件,需要把广播动作的args参数追加到事件数据中
36
- event.setData(object.createObject(event.data, action.args));
37
+ event.setData(object.createObject(event.data, (_a = action.args) !== null && _a !== void 0 ? _a : {}));
37
38
  return [4 /*yield*/, rendererEvent.dispatchEvent(action.eventName, renderer, event.context.scoped, action.args, event)];
38
39
  case 1:
39
40
  // 直接触发对应的动作
40
- return [2 /*return*/, _a.sent()];
41
+ return [2 /*return*/, _b.sent()];
41
42
  }
42
43
  });
43
44
  });