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
 
@@ -13,7 +13,6 @@ var uniq = require('lodash/uniq');
13
13
  var last = require('lodash/last');
14
14
  var merge = require('lodash/merge');
15
15
  var isPlainObject = require('lodash/isPlainObject');
16
- var isEqual = require('lodash/isEqual');
17
16
  var isNaN = require('lodash/isNaN');
18
17
  var isNumber = require('lodash/isNumber');
19
18
  var isString = require('lodash/isString');
@@ -40,7 +39,6 @@ var uniq__default = /*#__PURE__*/_interopDefaultLegacy(uniq);
40
39
  var last__default = /*#__PURE__*/_interopDefaultLegacy(last);
41
40
  var merge__default = /*#__PURE__*/_interopDefaultLegacy(merge);
42
41
  var isPlainObject__default = /*#__PURE__*/_interopDefaultLegacy(isPlainObject);
43
- var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
44
42
  var isNaN__default = /*#__PURE__*/_interopDefaultLegacy(isNaN);
45
43
  var isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);
46
44
  var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
@@ -421,7 +419,8 @@ function difference(object$1, base, keepProps) {
421
419
  if (keepProps && ~keepProps.indexOf(key)) {
422
420
  result_1[key] = a;
423
421
  }
424
- if (isEqual__default["default"](a, b)) {
422
+ // isEquals 里面没有处理好递归引用对象的情况
423
+ if (!isObjectShallowModified(a, b, false, undefined, undefined, 10)) {
425
424
  return;
426
425
  }
427
426
  if (!object$1.hasOwnProperty(key)) {
@@ -1627,21 +1626,44 @@ function replaceUrlParams(path, params) {
1627
1626
  return path;
1628
1627
  }
1629
1628
  var TEST_ID_KEY = 'data-testid';
1630
- function buildTestId(testid, data) {
1631
- var _a;
1632
- if (!testid) {
1633
- return {};
1634
- }
1635
- return _a = {},
1636
- _a[TEST_ID_KEY] = tpl.filter(testid, data),
1637
- _a;
1638
- }
1639
- function getTestId(testid, data) {
1640
- if (!testid) {
1641
- return undefined;
1629
+ var TestIdBuilder = /** @class */ (function () {
1630
+ // 为空就表示没有启用testId,后续一直返回都将是空
1631
+ function TestIdBuilder(testId) {
1632
+ this.testId = testId;
1642
1633
  }
1643
- return buildTestId(testid, data)[TEST_ID_KEY];
1644
- }
1634
+ TestIdBuilder.fast = function (testId) {
1635
+ var _a;
1636
+ return _a = {},
1637
+ _a[TEST_ID_KEY] = testId,
1638
+ _a;
1639
+ };
1640
+ // 生成子区域的testid生成器
1641
+ TestIdBuilder.prototype.getChild = function (childPath, data) {
1642
+ if (this.testId == null) {
1643
+ return new TestIdBuilder();
1644
+ }
1645
+ return new TestIdBuilder(data
1646
+ ? tpl.filter("".concat(this.testId, "-").concat(childPath), data)
1647
+ : "".concat(this.testId, "-").concat(childPath));
1648
+ };
1649
+ // 获取当前组件的testid
1650
+ TestIdBuilder.prototype.getTestId = function (data) {
1651
+ var _a;
1652
+ if (this.testId == null) {
1653
+ return undefined;
1654
+ }
1655
+ return _a = {},
1656
+ _a[TEST_ID_KEY] = data ? tpl.filter(this.testId, data) : this.testId,
1657
+ _a;
1658
+ };
1659
+ TestIdBuilder.prototype.getTestIdValue = function (data) {
1660
+ if (this.testId == null) {
1661
+ return undefined;
1662
+ }
1663
+ return data ? tpl.filter(this.testId, data) : this.testId;
1664
+ };
1665
+ return TestIdBuilder;
1666
+ }());
1645
1667
 
1646
1668
  exports.cloneObject = object.cloneObject;
1647
1669
  exports.createObject = object.createObject;
@@ -1656,11 +1678,11 @@ exports.JSONTraverse = JSONTraverse;
1656
1678
  exports.JSONValueMap = JSONValueMap;
1657
1679
  exports.SkipOperation = SkipOperation;
1658
1680
  exports.TEST_ID_KEY = TEST_ID_KEY;
1681
+ exports.TestIdBuilder = TestIdBuilder;
1659
1682
  exports.ValidateError = ValidateError;
1660
1683
  exports.__uri = __uri;
1661
1684
  exports.anyChanged = anyChanged;
1662
1685
  exports.autobind = autobind;
1663
- exports.buildTestId = buildTestId;
1664
1686
  exports.buildTrackExpression = buildTrackExpression;
1665
1687
  exports.bulkBindFunctions = bulkBindFunctions;
1666
1688
  exports.camel = camel;
@@ -1688,7 +1710,6 @@ exports.getPropValue = getPropValue;
1688
1710
  exports.getRange = getRange;
1689
1711
  exports.getScrollParent = getScrollParent;
1690
1712
  exports.getScrollbarWidth = getScrollbarWidth;
1691
- exports.getTestId = getTestId;
1692
1713
  exports.getTree = getTree;
1693
1714
  exports.getTreeAncestors = getTreeAncestors;
1694
1715
  exports.getTreeDepth = getTreeDepth;
@@ -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/lib/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/lib/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,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,8 +9,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var tslib = require('tslib');
11
11
  var Action = require('../actions/Action.js');
12
+ var formula = require('./formula.js');
13
+ var helper = require('./helper.js');
12
14
  var object = require('./object.js');
13
15
  var debounce = require('lodash/debounce');
16
+ var resolveVariableAndFilterForAsync = require('./resolveVariableAndFilterForAsync.js');
17
+ var tpl = require('./tpl.js');
14
18
 
15
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
20
 
@@ -38,6 +42,12 @@ function createRendererEvent(type, context) {
38
42
  },
39
43
  setData: function (data) {
40
44
  rendererEvent.context.data = data;
45
+ },
46
+ // 用来记录那些还没完的动作
47
+ // 有时候要等所有完成了才进行下一步
48
+ pendingPromise: [],
49
+ allDone: function () {
50
+ return Promise.all(rendererEvent.pendingPromise);
41
51
  }
42
52
  }, {
43
53
  context: {
@@ -54,6 +64,12 @@ function createRendererEvent(type, context) {
54
64
  },
55
65
  setData: {
56
66
  enumerable: false
67
+ },
68
+ pendingPromise: {
69
+ enumerable: false
70
+ },
71
+ allDone: {
72
+ enumerable: false
57
73
  }
58
74
  });
59
75
  return rendererEvent;
@@ -274,9 +290,103 @@ var resolveEventData = function (props, data, valueKey) {
274
290
  return object.createObject(props.data, props.name && valueKey
275
291
  ? tslib.__assign(tslib.__assign({}, data), (_a = {}, _a[props.name] = data[valueKey], _a.__rendererData = tslib.__assign(tslib.__assign({}, props.data), (_b = {}, _b[props.name] = data[valueKey], _b)), _a)) : data);
276
292
  };
293
+ /**
294
+ * 基于 index、condition、oldCondition 获取匹配的事件目标
295
+ * @param tree
296
+ * @param ctx
297
+ * @param index
298
+ * @param condition
299
+ * @param oldCondition
300
+ * @returns
301
+ */
302
+ function getMatchedEventTargets(tree, ctx, index, condition, oldCondition) {
303
+ return tslib.__awaiter(this, void 0, void 0, function () {
304
+ var targets, row, _a, promies_1, promies_2;
305
+ var _this = this;
306
+ return tslib.__generator(this, function (_b) {
307
+ switch (_b.label) {
308
+ case 0:
309
+ targets = [];
310
+ if (!(typeof index === 'number')) return [3 /*break*/, 1];
311
+ row = tree[index];
312
+ row && targets.push(row);
313
+ return [3 /*break*/, 9];
314
+ case 1:
315
+ if (!(typeof index === 'string')) return [3 /*break*/, 5];
316
+ if (!formula.isExpression(index)) return [3 /*break*/, 3];
317
+ return [4 /*yield*/, resolveVariableAndFilterForAsync.resolveVariableAndFilterForAsync(index, ctx)];
318
+ case 2:
319
+ _a = _b.sent();
320
+ return [3 /*break*/, 4];
321
+ case 3:
322
+ _a = index;
323
+ _b.label = 4;
324
+ case 4:
325
+ index = _a;
326
+ index.split(',').forEach(function (i) {
327
+ i = i.trim();
328
+ if (i) {
329
+ var indexes = i.split('.').map(function (ii) { return parseInt(ii, 10); });
330
+ var row = helper.getTree(tree, indexes);
331
+ row && targets.push(row);
332
+ }
333
+ });
334
+ return [3 /*break*/, 9];
335
+ case 5:
336
+ if (!condition) return [3 /*break*/, 7];
337
+ promies_1 = [];
338
+ helper.eachTree(tree, function (item) {
339
+ var data = item.storeType ? item.data : item;
340
+ promies_1.push(function () { return tslib.__awaiter(_this, void 0, void 0, function () {
341
+ var result;
342
+ return tslib.__generator(this, function (_a) {
343
+ switch (_a.label) {
344
+ case 0: return [4 /*yield*/, tpl.evalExpressionWithConditionBuilder(condition, object.createObject(ctx, data))];
345
+ case 1:
346
+ result = _a.sent();
347
+ result && targets.push(item);
348
+ return [2 /*return*/];
349
+ }
350
+ });
351
+ }); });
352
+ });
353
+ return [4 /*yield*/, Promise.all(promies_1.map(function (fn) { return fn(); }))];
354
+ case 6:
355
+ _b.sent();
356
+ return [3 /*break*/, 9];
357
+ case 7:
358
+ if (!oldCondition) return [3 /*break*/, 9];
359
+ promies_2 = [];
360
+ helper.eachTree(tree, function (item, rowIndex) {
361
+ var record = item.storeType ? item.data : item;
362
+ promies_2.push(function () { return tslib.__awaiter(_this, void 0, void 0, function () {
363
+ var result;
364
+ return tslib.__generator(this, function (_a) {
365
+ result = tpl.evalExpression(oldCondition, object.createObject(ctx, {
366
+ record: record,
367
+ rowIndex: rowIndex,
368
+ item: record,
369
+ index: rowIndex,
370
+ indexPath: item.path
371
+ }));
372
+ result && targets.push(item);
373
+ return [2 /*return*/];
374
+ });
375
+ }); });
376
+ });
377
+ return [4 /*yield*/, Promise.all(promies_2.map(function (fn) { return fn(); }))];
378
+ case 8:
379
+ _b.sent();
380
+ _b.label = 9;
381
+ case 9: return [2 /*return*/, targets];
382
+ }
383
+ });
384
+ });
385
+ }
277
386
 
278
387
  exports.bindEvent = bindEvent;
279
388
  exports.createRendererEvent = createRendererEvent;
280
389
  exports.dispatchEvent = dispatchEvent;
390
+ exports.getMatchedEventTargets = getMatchedEventTargets;
281
391
  exports.getRendererEventListeners = getRendererEventListeners;
282
392
  exports.resolveEventData = 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,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
 
@@ -8,9 +8,10 @@
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  // 主要用于解决 0.1+0.2 结果的精度问题导致太长
11
- function stripNumber(number) {
11
+ function stripNumber(number, precision) {
12
+ if (precision === void 0) { precision = 16; }
12
13
  if (typeof number === 'number' && !Number.isInteger(number)) {
13
- return parseFloat(number.toPrecision(16));
14
+ return parseFloat(number.toPrecision(precision));
14
15
  }
15
16
  else {
16
17
  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
 
@@ -53,18 +53,51 @@ var inheritValueMap = {
53
53
  background: 'bg-color',
54
54
  radius: 'border'
55
55
  };
56
- function findOrCreateStyle(id, doc) {
56
+ /**
57
+ * 查找或创建style标签
58
+ * @param param
59
+ * @param param.classId 根据classId查找或创建style标签
60
+ * @param param.id 用于赋值给style的class
61
+ * @param param.doc 文档对象,默认为document
62
+ * @param param.before 插入到某个class为id的style标签之前
63
+ */
64
+ function findOrCreateStyle(_a) {
65
+ var _b;
66
+ var classId = _a.classId, doc = _a.doc, before = _a.before, id = _a.id;
57
67
  doc = doc || document;
58
- var varStyleTag = doc.getElementById(id);
68
+ var varStyleTag = doc.getElementById(classId);
59
69
  if (!varStyleTag) {
60
70
  varStyleTag = doc.createElement('style');
61
- varStyleTag.id = id;
62
- doc.body.appendChild(varStyleTag);
71
+ varStyleTag.id = classId;
72
+ varStyleTag.setAttribute('class', id || '');
73
+ var beforeStyleTag = (_b = doc.getElementsByClassName(before || '')) === null || _b === void 0 ? void 0 : _b[0];
74
+ // 如果存在before则插入到before之前,否则插入到body中
75
+ if (beforeStyleTag) {
76
+ beforeStyleTag.before(varStyleTag);
77
+ }
78
+ else {
79
+ doc.body.appendChild(varStyleTag);
80
+ }
63
81
  }
64
82
  return varStyleTag;
65
83
  }
66
- function insertStyle(style, id, doc) {
67
- var varStyleTag = findOrCreateStyle('amis-' + id, doc);
84
+ /*
85
+ * 插入样式
86
+ * @param param
87
+ * @param param.style 样式内容
88
+ * @param param.classId 样式标识,会绑定到id上
89
+ * @param param.id id,会绑定到class上
90
+ * @param param.doc 文档对象
91
+ * @param param.before 插入到某个id之前
92
+ */
93
+ function insertStyle(_a) {
94
+ var style = _a.style, classId = _a.classId, id = _a.id, doc = _a.doc, before = _a.before;
95
+ var varStyleTag = findOrCreateStyle({
96
+ classId: 'amis-' + classId,
97
+ doc: doc,
98
+ before: before,
99
+ id: id
100
+ });
68
101
  // bca-disable-line
69
102
  varStyleTag.innerHTML = style;
70
103
  if (!style) {
@@ -72,7 +105,7 @@ function insertStyle(style, id, doc) {
72
105
  }
73
106
  }
74
107
  function addStyle(style, id) {
75
- var varStyleTag = findOrCreateStyle(id);
108
+ var varStyleTag = findOrCreateStyle({ classId: id });
76
109
  // bca-disable-line
77
110
  varStyleTag.innerHTML += style;
78
111
  }
@@ -251,7 +284,14 @@ function insertCustomStyle(prams) {
251
284
  if (typeof (data === null || data === void 0 ? void 0 : data.index) === 'number') {
252
285
  classId += "-".concat(data.index);
253
286
  }
254
- insertStyle(value, classId, doc);
287
+ // 这里需要插入到wrapperCustomStyle的前面
288
+ insertStyle({
289
+ style: value,
290
+ classId: classId,
291
+ doc: doc,
292
+ id: classId.replace(/(-.*)/, ''),
293
+ before: classId.replace(/(-.*)/, '')
294
+ });
255
295
  }
256
296
  /**
257
297
  * 根据路径获取默认值
@@ -330,7 +370,12 @@ function insertEditCustomStyle(params) {
330
370
  }
331
371
  });
332
372
  }
333
- insertStyle(content, 'wrapperCustomStyle-' + ((id === null || id === void 0 ? void 0 : id.replace('u:', '')) || helper.uuid()) + index, doc);
373
+ insertStyle({
374
+ style: content,
375
+ classId: 'wrapperCustomStyle-' + ((id === null || id === void 0 ? void 0 : id.replace('u:', '')) || helper.uuid()) + index,
376
+ doc: doc,
377
+ id: id === null || id === void 0 ? void 0 : id.replace('u:', '').replace(/(-.*)/, '')
378
+ });
334
379
  }
335
380
  /**
336
381
  * 移除自定义样式