amis-core 6.2.2 → 6.4.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 (329) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +28 -10
  4. package/esm/SchemaRenderer.js +17 -7
  5. package/esm/Scoped.d.ts +2 -1
  6. package/esm/Scoped.js +30 -14
  7. package/esm/StatusScoped.js +4 -2
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +28 -17
  10. package/esm/actions/Action.js +5 -3
  11. package/esm/actions/AjaxAction.js +29 -19
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +3 -3
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +1 -1
  17. package/esm/actions/CustomAction.js +2 -2
  18. package/esm/actions/DialogAction.d.ts +8 -0
  19. package/esm/actions/DialogAction.js +116 -40
  20. package/esm/actions/DrawerAction.d.ts +5 -0
  21. package/esm/actions/DrawerAction.js +74 -11
  22. package/esm/actions/EmailAction.js +1 -1
  23. package/esm/actions/EventAction.d.ts +20 -0
  24. package/esm/actions/EventAction.js +102 -0
  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/PrintAction.d.ts +2 -2
  30. package/esm/actions/PrintAction.js +6 -6
  31. package/esm/actions/StatusAction.js +1 -1
  32. package/esm/actions/SwitchAction.js +1 -1
  33. package/esm/actions/ToastAction.js +1 -1
  34. package/esm/actions/WaitAction.d.ts +18 -0
  35. package/esm/actions/WaitAction.js +41 -0
  36. package/esm/actions/index.d.ts +2 -0
  37. package/esm/components/CustomStyle.js +1 -4
  38. package/esm/components/ErrorBoundary.js +1 -1
  39. package/esm/components/LazyComponent.js +1 -1
  40. package/esm/components/Overlay.d.ts +3 -0
  41. package/esm/components/Overlay.js +7 -4
  42. package/esm/components/PopOver.js +2 -2
  43. package/esm/env.js +1 -1
  44. package/esm/envOverwrite.js +1 -1
  45. package/esm/factory.d.ts +3 -0
  46. package/esm/factory.js +1 -1
  47. package/esm/index.js +6 -4
  48. package/esm/locale.js +4 -2
  49. package/esm/polyfills.js +1 -1
  50. package/esm/renderers/Form.d.ts +6 -4
  51. package/esm/renderers/Form.js +134 -66
  52. package/esm/renderers/Item.d.ts +123 -79
  53. package/esm/renderers/Item.js +159 -60
  54. package/esm/renderers/Options.d.ts +0 -11
  55. package/esm/renderers/Options.js +20 -84
  56. package/esm/renderers/Placeholder.js +1 -1
  57. package/esm/renderers/builtin.js +1 -1
  58. package/esm/renderers/register.js +1 -1
  59. package/esm/renderers/wrapControl.d.ts +2 -1
  60. package/esm/renderers/wrapControl.js +34 -28
  61. package/esm/store/app.d.ts +5 -5
  62. package/esm/store/app.js +1 -1
  63. package/esm/store/combo.d.ts +255 -63
  64. package/esm/store/combo.js +1 -1
  65. package/esm/store/crud.d.ts +5 -5
  66. package/esm/store/crud.js +12 -6
  67. package/esm/store/form.d.ts +105 -25
  68. package/esm/store/form.js +33 -15
  69. package/esm/store/formItem.d.ts +6 -2
  70. package/esm/store/formItem.js +68 -5
  71. package/esm/store/iRenderer.d.ts +5 -5
  72. package/esm/store/iRenderer.js +28 -12
  73. package/esm/store/index.js +1 -1
  74. package/esm/store/list.d.ts +18 -5
  75. package/esm/store/list.js +14 -1
  76. package/esm/store/manager.js +1 -1
  77. package/esm/store/modal.d.ts +5 -5
  78. package/esm/store/modal.js +1 -1
  79. package/esm/store/node.js +1 -1
  80. package/esm/store/pagination.d.ts +5 -5
  81. package/esm/store/pagination.js +1 -1
  82. package/esm/store/root.d.ts +5 -5
  83. package/esm/store/root.js +1 -1
  84. package/esm/store/service.d.ts +5 -5
  85. package/esm/store/service.js +2 -2
  86. package/esm/store/status.js +1 -1
  87. package/esm/store/table.d.ts +244 -55
  88. package/esm/store/table.js +27 -9
  89. package/esm/store/table2.d.ts +5 -5
  90. package/esm/store/table2.js +1 -1
  91. package/esm/theme.js +4 -2
  92. package/esm/types.d.ts +7 -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/arraySlice.js +1 -1
  101. package/esm/utils/attachmentAdpator.js +1 -1
  102. package/esm/utils/autobind.js +1 -1
  103. package/esm/utils/browser.js +1 -1
  104. package/esm/utils/columnsSplit.js +1 -1
  105. package/esm/utils/concatData.js +1 -1
  106. package/esm/utils/dataMapping.js +1 -1
  107. package/esm/utils/date.js +1 -1
  108. package/esm/utils/debug.js +1 -1
  109. package/esm/utils/decodeEntity.js +1 -1
  110. package/esm/utils/dom.d.ts +2 -2
  111. package/esm/utils/dom.js +72 -13
  112. package/esm/utils/errors.js +1 -1
  113. package/esm/utils/escapeHtml.js +1 -1
  114. package/esm/utils/filter-schema.js +1 -1
  115. package/esm/utils/filter.js +1 -1
  116. package/esm/utils/formatDuration.js +1 -1
  117. package/esm/utils/formula.js +2 -2
  118. package/esm/utils/getVariable.js +1 -1
  119. package/esm/utils/grammar.js +1 -1
  120. package/esm/utils/handleAction.js +1 -1
  121. package/esm/utils/helper.d.ts +12 -6
  122. package/esm/utils/helper.js +41 -18
  123. package/esm/utils/highlight.js +1 -1
  124. package/esm/utils/icon.js +1 -1
  125. package/esm/utils/image.js +1 -1
  126. package/esm/utils/isPureVariable.js +1 -1
  127. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  128. package/esm/utils/keyToPath.js +1 -1
  129. package/esm/utils/labelToString.js +1 -1
  130. package/esm/utils/makeSorter.js +1 -1
  131. package/esm/utils/math.js +1 -1
  132. package/esm/utils/memoryParse.js +1 -1
  133. package/esm/utils/normalizeLink.js +1 -1
  134. package/esm/utils/normalizeOptions.js +1 -1
  135. package/esm/utils/object.js +1 -1
  136. package/esm/utils/offset.js +1 -1
  137. package/esm/utils/offsetParent.js +1 -1
  138. package/esm/utils/optionValueCompare.js +1 -1
  139. package/esm/utils/position.js +1 -1
  140. package/esm/utils/prettyBytes.js +1 -1
  141. package/esm/utils/printElement.js +1 -1
  142. package/esm/utils/renderer-event.d.ts +13 -0
  143. package/esm/utils/renderer-event.js +111 -2
  144. package/esm/utils/replaceText.js +1 -1
  145. package/esm/utils/resize-sensor.js +1 -1
  146. package/esm/utils/resolveCondition.js +1 -1
  147. package/esm/utils/resolveVariable.js +1 -1
  148. package/esm/utils/resolveVariableAndFilter.js +1 -1
  149. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  150. package/esm/utils/scrollPosition.js +1 -1
  151. package/esm/utils/string2regExp.js +1 -1
  152. package/esm/utils/stripNumber.d.ts +1 -1
  153. package/esm/utils/stripNumber.js +4 -3
  154. package/esm/utils/style-helper.d.ts +21 -2
  155. package/esm/utils/style-helper.js +55 -10
  156. package/esm/utils/style.js +1 -1
  157. package/esm/utils/toNumber.js +1 -1
  158. package/esm/utils/tokenize.js +1 -1
  159. package/esm/utils/tpl-builtin.js +1 -1
  160. package/esm/utils/tpl-lodash.js +1 -1
  161. package/esm/utils/tpl.js +4 -4
  162. package/esm/utils/uncontrollable.js +1 -1
  163. package/esm/utils/validateId.js +5 -2
  164. package/esm/utils/validations.js +1 -1
  165. package/lib/Root.js +1 -1
  166. package/lib/RootRenderer.d.ts +2 -2
  167. package/lib/RootRenderer.js +28 -10
  168. package/lib/SchemaRenderer.js +16 -6
  169. package/lib/Scoped.d.ts +2 -1
  170. package/lib/Scoped.js +30 -14
  171. package/lib/StatusScoped.js +4 -2
  172. package/lib/WithRootStore.js +1 -1
  173. package/lib/WithStore.js +28 -17
  174. package/lib/actions/Action.js +5 -3
  175. package/lib/actions/AjaxAction.js +29 -19
  176. package/lib/actions/BreakAction.js +1 -1
  177. package/lib/actions/BroadcastAction.js +1 -1
  178. package/lib/actions/CmptAction.js +3 -3
  179. package/lib/actions/ContinueAction.js +1 -1
  180. package/lib/actions/CopyAction.js +1 -1
  181. package/lib/actions/CustomAction.js +1 -1
  182. package/lib/actions/DialogAction.d.ts +8 -0
  183. package/lib/actions/DialogAction.js +119 -40
  184. package/lib/actions/DrawerAction.d.ts +5 -0
  185. package/lib/actions/DrawerAction.js +77 -11
  186. package/lib/actions/EmailAction.js +1 -1
  187. package/lib/actions/EventAction.d.ts +20 -0
  188. package/lib/actions/EventAction.js +109 -0
  189. package/lib/actions/LinkAction.js +1 -1
  190. package/lib/actions/LoopAction.js +1 -1
  191. package/lib/actions/PageAction.js +1 -1
  192. package/lib/actions/ParallelAction.js +1 -1
  193. package/lib/actions/PrintAction.d.ts +2 -2
  194. package/lib/actions/PrintAction.js +6 -6
  195. package/lib/actions/StatusAction.js +1 -1
  196. package/lib/actions/SwitchAction.js +1 -1
  197. package/lib/actions/ToastAction.js +1 -1
  198. package/lib/actions/WaitAction.d.ts +18 -0
  199. package/lib/actions/WaitAction.js +45 -0
  200. package/lib/actions/index.d.ts +2 -0
  201. package/lib/components/CustomStyle.js +1 -4
  202. package/lib/components/ErrorBoundary.js +1 -1
  203. package/lib/components/LazyComponent.js +1 -1
  204. package/lib/components/Overlay.d.ts +3 -0
  205. package/lib/components/Overlay.js +7 -4
  206. package/lib/components/PopOver.js +1 -1
  207. package/lib/env.js +1 -1
  208. package/lib/envOverwrite.js +1 -1
  209. package/lib/factory.d.ts +3 -0
  210. package/lib/factory.js +1 -1
  211. package/lib/index.js +6 -4
  212. package/lib/locale.js +4 -2
  213. package/lib/polyfills.js +1 -1
  214. package/lib/renderers/Form.d.ts +6 -4
  215. package/lib/renderers/Form.js +135 -65
  216. package/lib/renderers/Item.d.ts +123 -79
  217. package/lib/renderers/Item.js +158 -58
  218. package/lib/renderers/Options.d.ts +0 -11
  219. package/lib/renderers/Options.js +19 -84
  220. package/lib/renderers/Placeholder.js +1 -1
  221. package/lib/renderers/builtin.js +1 -1
  222. package/lib/renderers/register.js +1 -1
  223. package/lib/renderers/wrapControl.d.ts +2 -1
  224. package/lib/renderers/wrapControl.js +34 -28
  225. package/lib/store/app.d.ts +5 -5
  226. package/lib/store/app.js +1 -1
  227. package/lib/store/combo.d.ts +279 -88
  228. package/lib/store/combo.js +1 -1
  229. package/lib/store/crud.d.ts +5 -5
  230. package/lib/store/crud.js +12 -6
  231. package/lib/store/form.d.ts +115 -36
  232. package/lib/store/form.js +33 -15
  233. package/lib/store/formItem.d.ts +6 -2
  234. package/lib/store/formItem.js +67 -4
  235. package/lib/store/iRenderer.d.ts +5 -5
  236. package/lib/store/iRenderer.js +27 -11
  237. package/lib/store/index.js +1 -1
  238. package/lib/store/list.d.ts +18 -5
  239. package/lib/store/list.js +14 -1
  240. package/lib/store/manager.js +1 -1
  241. package/lib/store/modal.d.ts +5 -5
  242. package/lib/store/modal.js +1 -1
  243. package/lib/store/node.js +1 -1
  244. package/lib/store/pagination.d.ts +5 -5
  245. package/lib/store/pagination.js +1 -1
  246. package/lib/store/root.d.ts +5 -5
  247. package/lib/store/root.js +1 -1
  248. package/lib/store/service.d.ts +5 -5
  249. package/lib/store/service.js +2 -2
  250. package/lib/store/status.js +1 -1
  251. package/lib/store/table.d.ts +264 -76
  252. package/lib/store/table.js +27 -9
  253. package/lib/store/table2.d.ts +5 -5
  254. package/lib/store/table2.js +1 -1
  255. package/lib/theme.js +4 -2
  256. package/lib/types.d.ts +7 -1
  257. package/lib/utils/Animation.js +1 -1
  258. package/lib/utils/ColorScale.js +1 -1
  259. package/lib/utils/DataSchema.js +1 -1
  260. package/lib/utils/DataScope.js +1 -1
  261. package/lib/utils/RootClose.js +1 -1
  262. package/lib/utils/SimpleMap.js +1 -1
  263. package/lib/utils/api.js +1 -1
  264. package/lib/utils/arraySlice.js +1 -1
  265. package/lib/utils/attachmentAdpator.js +1 -1
  266. package/lib/utils/autobind.js +1 -1
  267. package/lib/utils/browser.js +1 -1
  268. package/lib/utils/columnsSplit.js +1 -1
  269. package/lib/utils/concatData.js +1 -1
  270. package/lib/utils/dataMapping.js +1 -1
  271. package/lib/utils/date.js +1 -1
  272. package/lib/utils/debug.js +1 -1
  273. package/lib/utils/decodeEntity.js +1 -1
  274. package/lib/utils/dom.d.ts +2 -2
  275. package/lib/utils/dom.js +72 -13
  276. package/lib/utils/errors.js +1 -1
  277. package/lib/utils/escapeHtml.js +1 -1
  278. package/lib/utils/filter-schema.js +1 -1
  279. package/lib/utils/filter.js +1 -1
  280. package/lib/utils/formatDuration.js +1 -1
  281. package/lib/utils/formula.js +2 -2
  282. package/lib/utils/getVariable.js +1 -1
  283. package/lib/utils/grammar.js +1 -1
  284. package/lib/utils/handleAction.js +1 -1
  285. package/lib/utils/helper.d.ts +12 -6
  286. package/lib/utils/helper.js +41 -20
  287. package/lib/utils/highlight.js +1 -1
  288. package/lib/utils/icon.js +1 -1
  289. package/lib/utils/image.js +1 -1
  290. package/lib/utils/isPureVariable.js +1 -1
  291. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  292. package/lib/utils/keyToPath.js +1 -1
  293. package/lib/utils/labelToString.js +1 -1
  294. package/lib/utils/makeSorter.js +1 -1
  295. package/lib/utils/math.js +1 -1
  296. package/lib/utils/memoryParse.js +1 -1
  297. package/lib/utils/normalizeLink.js +1 -1
  298. package/lib/utils/normalizeOptions.js +1 -1
  299. package/lib/utils/object.js +1 -1
  300. package/lib/utils/offset.js +1 -1
  301. package/lib/utils/offsetParent.js +1 -1
  302. package/lib/utils/optionValueCompare.js +1 -1
  303. package/lib/utils/position.js +1 -1
  304. package/lib/utils/prettyBytes.js +1 -1
  305. package/lib/utils/printElement.js +1 -1
  306. package/lib/utils/renderer-event.d.ts +13 -0
  307. package/lib/utils/renderer-event.js +111 -1
  308. package/lib/utils/replaceText.js +1 -1
  309. package/lib/utils/resize-sensor.js +1 -1
  310. package/lib/utils/resolveCondition.js +1 -1
  311. package/lib/utils/resolveVariable.js +1 -1
  312. package/lib/utils/resolveVariableAndFilter.js +1 -1
  313. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  314. package/lib/utils/scrollPosition.js +1 -1
  315. package/lib/utils/string2regExp.js +1 -1
  316. package/lib/utils/stripNumber.d.ts +1 -1
  317. package/lib/utils/stripNumber.js +4 -3
  318. package/lib/utils/style-helper.d.ts +21 -2
  319. package/lib/utils/style-helper.js +55 -10
  320. package/lib/utils/style.js +1 -1
  321. package/lib/utils/toNumber.js +1 -1
  322. package/lib/utils/tokenize.js +1 -1
  323. package/lib/utils/tpl-builtin.js +1 -1
  324. package/lib/utils/tpl-lodash.js +1 -1
  325. package/lib/utils/tpl.js +4 -4
  326. package/lib/utils/uncontrollable.js +1 -1
  327. package/lib/utils/validateId.js +9 -2
  328. package/lib/utils/validations.js +1 -1
  329. package/package.json +5 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -9,7 +9,6 @@ import uniq from 'lodash/uniq';
9
9
  import last from 'lodash/last';
10
10
  import merge from 'lodash/merge';
11
11
  import isPlainObject from 'lodash/isPlainObject';
12
- import isEqual from 'lodash/isEqual';
13
12
  import isNaN from 'lodash/isNaN';
14
13
  import isNumber from 'lodash/isNumber';
15
14
  import isString from 'lodash/isString';
@@ -407,7 +406,8 @@ function difference(object, base, keepProps) {
407
406
  if (keepProps && ~keepProps.indexOf(key)) {
408
407
  result_1[key] = a;
409
408
  }
410
- if (isEqual(a, b)) {
409
+ // isEquals 里面没有处理好递归引用对象的情况
410
+ if (!isObjectShallowModified(a, b, false, undefined, undefined, 10)) {
411
411
  return;
412
412
  }
413
413
  if (!object.hasOwnProperty(key)) {
@@ -1613,20 +1613,43 @@ function replaceUrlParams(path, params) {
1613
1613
  return path;
1614
1614
  }
1615
1615
  var TEST_ID_KEY = 'data-testid';
1616
- function buildTestId(testid, data) {
1617
- var _a;
1618
- if (!testid) {
1619
- return {};
1620
- }
1621
- return _a = {},
1622
- _a[TEST_ID_KEY] = filter(testid, data),
1623
- _a;
1624
- }
1625
- function getTestId(testid, data) {
1626
- if (!testid) {
1627
- return undefined;
1616
+ var TestIdBuilder = /** @class */ (function () {
1617
+ // 为空就表示没有启用testId,后续一直返回都将是空
1618
+ function TestIdBuilder(testId) {
1619
+ this.testId = testId;
1628
1620
  }
1629
- return buildTestId(testid, data)[TEST_ID_KEY];
1630
- }
1621
+ TestIdBuilder.fast = function (testId) {
1622
+ var _a;
1623
+ return _a = {},
1624
+ _a[TEST_ID_KEY] = testId,
1625
+ _a;
1626
+ };
1627
+ // 生成子区域的testid生成器
1628
+ TestIdBuilder.prototype.getChild = function (childPath, data) {
1629
+ if (this.testId == null) {
1630
+ return new TestIdBuilder();
1631
+ }
1632
+ return new TestIdBuilder(data
1633
+ ? filter("".concat(this.testId, "-").concat(childPath), data)
1634
+ : "".concat(this.testId, "-").concat(childPath));
1635
+ };
1636
+ // 获取当前组件的testid
1637
+ TestIdBuilder.prototype.getTestId = function (data) {
1638
+ var _a;
1639
+ if (this.testId == null) {
1640
+ return undefined;
1641
+ }
1642
+ return _a = {},
1643
+ _a[TEST_ID_KEY] = data ? filter(this.testId, data) : this.testId,
1644
+ _a;
1645
+ };
1646
+ TestIdBuilder.prototype.getTestIdValue = function (data) {
1647
+ if (this.testId == null) {
1648
+ return undefined;
1649
+ }
1650
+ return data ? filter(this.testId, data) : this.testId;
1651
+ };
1652
+ return TestIdBuilder;
1653
+ }());
1631
1654
 
1632
- export { JSONTraverse, JSONValueMap, SkipOperation, TEST_ID_KEY, ValidateError, __uri, anyChanged, autobind, buildTestId, buildTrackExpression, bulkBindFunctions, camel, chainEvents, chainFunctions, changedEffect, convertArrayValueToMoment, countTree, detectPropValueChanged, difference, differenceFromAll, eachTree, evalTrackExpression, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTestId, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, importLazyComponent, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parsePrimitiveQueryString, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, replaceUrlParams, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
1655
+ export { JSONTraverse, JSONValueMap, SkipOperation, TEST_ID_KEY, TestIdBuilder, ValidateError, __uri, anyChanged, autobind, buildTrackExpression, bulkBindFunctions, camel, chainEvents, chainFunctions, changedEffect, convertArrayValueToMoment, countTree, detectPropValueChanged, difference, differenceFromAll, eachTree, evalTrackExpression, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, importLazyComponent, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parsePrimitiveQueryString, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, replaceUrlParams, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/utils/icon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/utils/math.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -2,6 +2,7 @@
2
2
  import { ListenerAction } from '../actions/Action';
3
3
  import { RendererProps } from '../factory';
4
4
  import { IScopedContext } from '../Scoped';
5
+ import { TreeItem } from './helper';
5
6
  export interface debounceConfig {
6
7
  maxWait?: number;
7
8
  wait?: number;
@@ -49,6 +50,8 @@ export type RendererEvent<T, P = any> = {
49
50
  preventDefault: () => void;
50
51
  stopPropagation: () => void;
51
52
  setData: (data: P) => void;
53
+ pendingPromise: Promise<any>[];
54
+ allDone: () => Promise<any>;
52
55
  };
53
56
  export interface RendererEventContext {
54
57
  data?: any;
@@ -65,5 +68,15 @@ export declare const getRendererEventListeners: () => RendererEventListener[];
65
68
  * @param valueKey
66
69
  */
67
70
  export declare const resolveEventData: (props: any, data: any, valueKey?: string) => object;
71
+ /**
72
+ * 基于 index、condition、oldCondition 获取匹配的事件目标
73
+ * @param tree
74
+ * @param ctx
75
+ * @param index
76
+ * @param condition
77
+ * @param oldCondition
78
+ * @returns
79
+ */
80
+ export declare function getMatchedEventTargets<T extends TreeItem>(tree: Array<T>, ctx: any, index?: string | number, condition?: string, oldCondition?: string): Promise<T[]>;
68
81
  declare const _default: {};
69
82
  export default _default;
@@ -1,12 +1,16 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __values, __awaiter, __generator, __assign } from 'tslib';
7
7
  import { runActions } from '../actions/Action.js';
8
+ import { isExpression } from './formula.js';
9
+ import { eachTree, getTree } from './helper.js';
8
10
  import { extendObject, createObject } from './object.js';
9
11
  import debounce from 'lodash/debounce';
12
+ import { resolveVariableAndFilterForAsync } from './resolveVariableAndFilterForAsync.js';
13
+ import { evalExpression, evalExpressionWithConditionBuilder } from './tpl.js';
10
14
 
11
15
  var rendererEventListeners = [];
12
16
  // 创建渲染器事件对象
@@ -30,6 +34,12 @@ function createRendererEvent(type, context) {
30
34
  },
31
35
  setData: function (data) {
32
36
  rendererEvent.context.data = data;
37
+ },
38
+ // 用来记录那些还没完的动作
39
+ // 有时候要等所有完成了才进行下一步
40
+ pendingPromise: [],
41
+ allDone: function () {
42
+ return Promise.all(rendererEvent.pendingPromise);
33
43
  }
34
44
  }, {
35
45
  context: {
@@ -46,6 +56,12 @@ function createRendererEvent(type, context) {
46
56
  },
47
57
  setData: {
48
58
  enumerable: false
59
+ },
60
+ pendingPromise: {
61
+ enumerable: false
62
+ },
63
+ allDone: {
64
+ enumerable: false
49
65
  }
50
66
  });
51
67
  return rendererEvent;
@@ -266,5 +282,98 @@ var resolveEventData = function (props, data, valueKey) {
266
282
  return createObject(props.data, props.name && valueKey
267
283
  ? __assign(__assign({}, data), (_a = {}, _a[props.name] = data[valueKey], _a.__rendererData = __assign(__assign({}, props.data), (_b = {}, _b[props.name] = data[valueKey], _b)), _a)) : data);
268
284
  };
285
+ /**
286
+ * 基于 index、condition、oldCondition 获取匹配的事件目标
287
+ * @param tree
288
+ * @param ctx
289
+ * @param index
290
+ * @param condition
291
+ * @param oldCondition
292
+ * @returns
293
+ */
294
+ function getMatchedEventTargets(tree, ctx, index, condition, oldCondition) {
295
+ return __awaiter(this, void 0, void 0, function () {
296
+ var targets, row, _a, promies_1, promies_2;
297
+ var _this = this;
298
+ return __generator(this, function (_b) {
299
+ switch (_b.label) {
300
+ case 0:
301
+ targets = [];
302
+ if (!(typeof index === 'number')) return [3 /*break*/, 1];
303
+ row = tree[index];
304
+ row && targets.push(row);
305
+ return [3 /*break*/, 9];
306
+ case 1:
307
+ if (!(typeof index === 'string')) return [3 /*break*/, 5];
308
+ if (!isExpression(index)) return [3 /*break*/, 3];
309
+ return [4 /*yield*/, resolveVariableAndFilterForAsync(index, ctx)];
310
+ case 2:
311
+ _a = _b.sent();
312
+ return [3 /*break*/, 4];
313
+ case 3:
314
+ _a = index;
315
+ _b.label = 4;
316
+ case 4:
317
+ index = _a;
318
+ index.split(',').forEach(function (i) {
319
+ i = i.trim();
320
+ if (i) {
321
+ var indexes = i.split('.').map(function (ii) { return parseInt(ii, 10); });
322
+ var row = getTree(tree, indexes);
323
+ row && targets.push(row);
324
+ }
325
+ });
326
+ return [3 /*break*/, 9];
327
+ case 5:
328
+ if (!condition) return [3 /*break*/, 7];
329
+ promies_1 = [];
330
+ eachTree(tree, function (item) {
331
+ var data = item.storeType ? item.data : item;
332
+ promies_1.push(function () { return __awaiter(_this, void 0, void 0, function () {
333
+ var result;
334
+ return __generator(this, function (_a) {
335
+ switch (_a.label) {
336
+ case 0: return [4 /*yield*/, evalExpressionWithConditionBuilder(condition, createObject(ctx, data))];
337
+ case 1:
338
+ result = _a.sent();
339
+ result && targets.push(item);
340
+ return [2 /*return*/];
341
+ }
342
+ });
343
+ }); });
344
+ });
345
+ return [4 /*yield*/, Promise.all(promies_1.map(function (fn) { return fn(); }))];
346
+ case 6:
347
+ _b.sent();
348
+ return [3 /*break*/, 9];
349
+ case 7:
350
+ if (!oldCondition) return [3 /*break*/, 9];
351
+ promies_2 = [];
352
+ eachTree(tree, function (item, rowIndex) {
353
+ var record = item.storeType ? item.data : item;
354
+ promies_2.push(function () { return __awaiter(_this, void 0, void 0, function () {
355
+ var result;
356
+ return __generator(this, function (_a) {
357
+ result = evalExpression(oldCondition, createObject(ctx, {
358
+ record: record,
359
+ rowIndex: rowIndex,
360
+ item: record,
361
+ index: rowIndex,
362
+ indexPath: item.path
363
+ }));
364
+ result && targets.push(item);
365
+ return [2 /*return*/];
366
+ });
367
+ }); });
368
+ });
369
+ return [4 /*yield*/, Promise.all(promies_2.map(function (fn) { return fn(); }))];
370
+ case 8:
371
+ _b.sent();
372
+ _b.label = 9;
373
+ case 9: return [2 /*return*/, targets];
374
+ }
375
+ });
376
+ });
377
+ }
269
378
 
270
- export { bindEvent, createRendererEvent, dispatchEvent, getRendererEventListeners, resolveEventData };
379
+ export { bindEvent, createRendererEvent, dispatchEvent, getMatchedEventTargets, getRendererEventListeners, resolveEventData };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1 +1 @@
1
- export declare function stripNumber(number: number): number;
1
+ export declare function stripNumber(number: number, precision?: number): number;
@@ -1,12 +1,13 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  // 主要用于解决 0.1+0.2 结果的精度问题导致太长
7
- function stripNumber(number) {
7
+ function stripNumber(number, precision) {
8
+ if (precision === void 0) { precision = 16; }
8
9
  if (typeof number === 'number' && !Number.isInteger(number)) {
9
- return parseFloat(number.toPrecision(16));
10
+ return parseFloat(number.toPrecision(precision));
10
11
  }
11
12
  else {
12
13
  return number;
@@ -7,8 +7,27 @@ interface extra {
7
7
  pre?: string;
8
8
  suf?: string;
9
9
  }
10
- export declare function findOrCreateStyle(id: string, doc?: Document): HTMLElement;
11
- export declare function insertStyle(style: string, id: string, doc?: Document): void;
10
+ /**
11
+ * 查找或创建style标签
12
+ * @param param
13
+ * @param param.classId 根据classId查找或创建style标签
14
+ * @param param.id 用于赋值给style的class
15
+ * @param param.doc 文档对象,默认为document
16
+ * @param param.before 插入到某个class为id的style标签之前
17
+ */
18
+ export declare function findOrCreateStyle({ classId, doc, before, id }: {
19
+ classId: string;
20
+ doc?: Document;
21
+ before?: string;
22
+ id?: string;
23
+ }): HTMLElement;
24
+ export declare function insertStyle({ style, classId, id, doc, before }: {
25
+ style: string;
26
+ classId: string;
27
+ id?: string;
28
+ doc?: Document;
29
+ before?: string;
30
+ }): void;
12
31
  export declare function addStyle(style: string, id: string): void;
13
32
  export declare function formatStyle(themeCss: any, classNames?: CustomStyleClassName[], id?: string, defaultData?: any, data?: any): {
14
33
  value: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -41,18 +41,51 @@ var inheritValueMap = {
41
41
  background: 'bg-color',
42
42
  radius: 'border'
43
43
  };
44
- function findOrCreateStyle(id, doc) {
44
+ /**
45
+ * 查找或创建style标签
46
+ * @param param
47
+ * @param param.classId 根据classId查找或创建style标签
48
+ * @param param.id 用于赋值给style的class
49
+ * @param param.doc 文档对象,默认为document
50
+ * @param param.before 插入到某个class为id的style标签之前
51
+ */
52
+ function findOrCreateStyle(_a) {
53
+ var _b;
54
+ var classId = _a.classId, doc = _a.doc, before = _a.before, id = _a.id;
45
55
  doc = doc || document;
46
- var varStyleTag = doc.getElementById(id);
56
+ var varStyleTag = doc.getElementById(classId);
47
57
  if (!varStyleTag) {
48
58
  varStyleTag = doc.createElement('style');
49
- varStyleTag.id = id;
50
- doc.body.appendChild(varStyleTag);
59
+ varStyleTag.id = classId;
60
+ varStyleTag.setAttribute('class', id || '');
61
+ var beforeStyleTag = (_b = doc.getElementsByClassName(before || '')) === null || _b === void 0 ? void 0 : _b[0];
62
+ // 如果存在before则插入到before之前,否则插入到body中
63
+ if (beforeStyleTag) {
64
+ beforeStyleTag.before(varStyleTag);
65
+ }
66
+ else {
67
+ doc.body.appendChild(varStyleTag);
68
+ }
51
69
  }
52
70
  return varStyleTag;
53
71
  }
54
- function insertStyle(style, id, doc) {
55
- var varStyleTag = findOrCreateStyle('amis-' + id, doc);
72
+ /*
73
+ * 插入样式
74
+ * @param param
75
+ * @param param.style 样式内容
76
+ * @param param.classId 样式标识,会绑定到id上
77
+ * @param param.id id,会绑定到class上
78
+ * @param param.doc 文档对象
79
+ * @param param.before 插入到某个id之前
80
+ */
81
+ function insertStyle(_a) {
82
+ var style = _a.style, classId = _a.classId, id = _a.id, doc = _a.doc, before = _a.before;
83
+ var varStyleTag = findOrCreateStyle({
84
+ classId: 'amis-' + classId,
85
+ doc: doc,
86
+ before: before,
87
+ id: id
88
+ });
56
89
  // bca-disable-line
57
90
  varStyleTag.innerHTML = style;
58
91
  if (!style) {
@@ -60,7 +93,7 @@ function insertStyle(style, id, doc) {
60
93
  }
61
94
  }
62
95
  function addStyle(style, id) {
63
- var varStyleTag = findOrCreateStyle(id);
96
+ var varStyleTag = findOrCreateStyle({ classId: id });
64
97
  // bca-disable-line
65
98
  varStyleTag.innerHTML += style;
66
99
  }
@@ -239,7 +272,14 @@ function insertCustomStyle(prams) {
239
272
  if (typeof (data === null || data === void 0 ? void 0 : data.index) === 'number') {
240
273
  classId += "-".concat(data.index);
241
274
  }
242
- insertStyle(value, classId, doc);
275
+ // 这里需要插入到wrapperCustomStyle的前面
276
+ insertStyle({
277
+ style: value,
278
+ classId: classId,
279
+ doc: doc,
280
+ id: classId.replace(/(-.*)/, ''),
281
+ before: classId.replace(/(-.*)/, '')
282
+ });
243
283
  }
244
284
  /**
245
285
  * 根据路径获取默认值
@@ -318,7 +358,12 @@ function insertEditCustomStyle(params) {
318
358
  }
319
359
  });
320
360
  }
321
- insertStyle(content, 'wrapperCustomStyle-' + ((id === null || id === void 0 ? void 0 : id.replace('u:', '')) || uuid()) + index, doc);
361
+ insertStyle({
362
+ style: content,
363
+ classId: 'wrapperCustomStyle-' + ((id === null || id === void 0 ? void 0 : id.replace('u:', '')) || uuid()) + index,
364
+ doc: doc,
365
+ id: id === null || id === void 0 ? void 0 : id.replace('u:', '').replace(/(-.*)/, '')
366
+ });
322
367
  }
323
368
  /**
324
369
  * 移除自定义样式
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.4.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5