amis-core 6.4.1 → 6.6.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 (332) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +16 -5
  4. package/esm/Scoped.d.ts +1 -1
  5. package/esm/Scoped.js +5 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +10 -4
  9. package/esm/actions/Action.js +6 -5
  10. package/esm/actions/AjaxAction.js +3 -3
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +2 -2
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +4 -4
  16. package/esm/actions/CustomAction.js +2 -1
  17. package/esm/actions/DialogAction.js +2 -1
  18. package/esm/actions/DrawerAction.js +2 -1
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +2 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +2 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.d.ts +1 -1
  26. package/esm/actions/PrintAction.js +12 -6
  27. package/esm/actions/StatusAction.js +1 -1
  28. package/esm/actions/SwitchAction.js +3 -3
  29. package/esm/actions/ToastAction.js +1 -1
  30. package/esm/actions/WaitAction.js +1 -1
  31. package/esm/components/CustomStyle.js +3 -2
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.js +1 -1
  34. package/esm/components/Overlay.js +2 -1
  35. package/esm/components/PopOver.js +2 -1
  36. package/esm/env.d.ts +2 -4
  37. package/esm/env.js +1 -1
  38. package/esm/envOverwrite.js +1 -1
  39. package/esm/factory.js +1 -1
  40. package/esm/index.js +4 -4
  41. package/esm/locale.js +2 -1
  42. package/esm/polyfills.js +1 -1
  43. package/esm/renderers/Form.d.ts +1 -1
  44. package/esm/renderers/Form.js +43 -9
  45. package/esm/renderers/Item.d.ts +27 -60
  46. package/esm/renderers/Item.js +75 -6
  47. package/esm/renderers/Options.js +40 -13
  48. package/esm/renderers/Placeholder.js +1 -1
  49. package/esm/renderers/builtin.js +1 -1
  50. package/esm/renderers/register.js +1 -1
  51. package/esm/renderers/wrapControl.js +19 -9
  52. package/esm/store/app.d.ts +2 -0
  53. package/esm/store/app.js +2 -1
  54. package/esm/store/combo.d.ts +6 -0
  55. package/esm/store/combo.js +1 -1
  56. package/esm/store/crud.d.ts +2 -0
  57. package/esm/store/crud.js +2 -1
  58. package/esm/store/form.d.ts +2 -0
  59. package/esm/store/form.js +2 -1
  60. package/esm/store/formItem.js +12 -2
  61. package/esm/store/iRenderer.d.ts +2 -0
  62. package/esm/store/iRenderer.js +13 -1
  63. package/esm/store/index.js +1 -1
  64. package/esm/store/list.d.ts +2 -0
  65. package/esm/store/list.js +1 -1
  66. package/esm/store/manager.js +1 -1
  67. package/esm/store/modal.d.ts +2 -0
  68. package/esm/store/modal.js +1 -1
  69. package/esm/store/node.js +1 -1
  70. package/esm/store/pagination.d.ts +2 -0
  71. package/esm/store/pagination.js +2 -1
  72. package/esm/store/root.d.ts +2 -0
  73. package/esm/store/root.js +2 -1
  74. package/esm/store/service.d.ts +2 -0
  75. package/esm/store/service.js +2 -1
  76. package/esm/store/status.js +1 -1
  77. package/esm/store/table.d.ts +6 -0
  78. package/esm/store/table.js +2 -1
  79. package/esm/store/table2.d.ts +2 -0
  80. package/esm/store/table2.js +1 -1
  81. package/esm/theme.js +1 -1
  82. package/esm/types.d.ts +2 -0
  83. package/esm/utils/Animation.js +1 -1
  84. package/esm/utils/ColorScale.js +1 -1
  85. package/esm/utils/DataSchema.js +1 -1
  86. package/esm/utils/DataScope.js +2 -1
  87. package/esm/utils/RootClose.js +1 -1
  88. package/esm/utils/SimpleMap.js +1 -1
  89. package/esm/utils/api.js +21 -3
  90. package/esm/utils/arraySlice.js +1 -1
  91. package/esm/utils/attachmentAdpator.js +1 -1
  92. package/esm/utils/autobind.js +1 -1
  93. package/esm/utils/browser.js +1 -1
  94. package/esm/utils/columnsSplit.js +1 -1
  95. package/esm/utils/concatData.js +1 -1
  96. package/esm/utils/dataMapping.js +1 -1
  97. package/esm/utils/date.d.ts +3 -1
  98. package/esm/utils/date.js +11 -5
  99. package/esm/utils/debug.js +1 -1
  100. package/esm/utils/decodeEntity.js +1 -1
  101. package/esm/utils/dom.js +1 -1
  102. package/esm/utils/errors.js +1 -1
  103. package/esm/utils/escapeHtml.js +1 -1
  104. package/esm/utils/filter-schema.js +7 -4
  105. package/esm/utils/filter.js +1 -1
  106. package/esm/utils/formatDuration.js +1 -1
  107. package/esm/utils/formula.js +2 -1
  108. package/esm/utils/getVariable.js +1 -1
  109. package/esm/utils/grammar.js +1 -1
  110. package/esm/utils/handleAction.js +1 -1
  111. package/esm/utils/helper.d.ts +1 -1
  112. package/esm/utils/helper.js +10 -6
  113. package/esm/utils/highlight.js +1 -1
  114. package/esm/utils/icon.js +1 -1
  115. package/esm/utils/image.js +1 -1
  116. package/esm/utils/isPureVariable.js +1 -1
  117. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  118. package/esm/utils/keyToPath.js +1 -1
  119. package/esm/utils/labelToString.js +1 -1
  120. package/esm/utils/makeSorter.js +1 -1
  121. package/esm/utils/math.js +1 -1
  122. package/esm/utils/memoryParse.js +1 -1
  123. package/esm/utils/normalizeLink.js +1 -1
  124. package/esm/utils/normalizeOptions.d.ts +1 -1
  125. package/esm/utils/normalizeOptions.js +3 -2
  126. package/esm/utils/object.js +1 -1
  127. package/esm/utils/offset.js +1 -1
  128. package/esm/utils/offsetParent.js +1 -1
  129. package/esm/utils/optionValueCompare.js +1 -1
  130. package/esm/utils/position.js +1 -1
  131. package/esm/utils/prettyBytes.js +1 -1
  132. package/esm/utils/printElement.js +1 -1
  133. package/esm/utils/renderer-event.js +7 -6
  134. package/esm/utils/replaceText.js +1 -1
  135. package/esm/utils/resize-sensor.js +1 -1
  136. package/esm/utils/resolveCondition.d.ts +2 -1
  137. package/esm/utils/resolveCondition.js +60 -8
  138. package/esm/utils/resolveVariable.js +1 -1
  139. package/esm/utils/resolveVariableAndFilter.js +1 -1
  140. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  141. package/esm/utils/scrollPosition.js +1 -1
  142. package/esm/utils/string2regExp.js +1 -1
  143. package/esm/utils/stripNumber.js +2 -2
  144. package/esm/utils/style-helper.js +15 -8
  145. package/esm/utils/style.js +2 -1
  146. package/esm/utils/toNumber.js +1 -1
  147. package/esm/utils/tokenize.js +1 -1
  148. package/esm/utils/tpl-builtin.js +2 -1
  149. package/esm/utils/tpl-lodash.js +2 -1
  150. package/esm/utils/tpl.d.ts +8 -1
  151. package/esm/utils/tpl.js +18 -5
  152. package/esm/utils/uncontrollable.js +1 -1
  153. package/esm/utils/validateId.js +1 -1
  154. package/esm/utils/validations.js +2 -1
  155. package/lib/Root.js +1 -1
  156. package/lib/RootRenderer.d.ts +1 -1
  157. package/lib/RootRenderer.js +1 -1
  158. package/lib/SchemaRenderer.js +16 -5
  159. package/lib/Scoped.d.ts +1 -1
  160. package/lib/Scoped.js +5 -1
  161. package/lib/StatusScoped.js +1 -1
  162. package/lib/WithRootStore.js +1 -1
  163. package/lib/WithStore.js +10 -4
  164. package/lib/actions/Action.js +5 -4
  165. package/lib/actions/AjaxAction.js +2 -2
  166. package/lib/actions/BreakAction.js +1 -1
  167. package/lib/actions/BroadcastAction.js +1 -1
  168. package/lib/actions/CmptAction.js +2 -2
  169. package/lib/actions/ContinueAction.js +1 -1
  170. package/lib/actions/CopyAction.js +4 -4
  171. package/lib/actions/CustomAction.js +2 -1
  172. package/lib/actions/DialogAction.js +2 -1
  173. package/lib/actions/DrawerAction.js +2 -1
  174. package/lib/actions/EmailAction.js +1 -1
  175. package/lib/actions/EventAction.js +2 -1
  176. package/lib/actions/LinkAction.js +1 -1
  177. package/lib/actions/LoopAction.js +2 -1
  178. package/lib/actions/PageAction.js +1 -1
  179. package/lib/actions/ParallelAction.js +1 -1
  180. package/lib/actions/PrintAction.d.ts +1 -1
  181. package/lib/actions/PrintAction.js +12 -6
  182. package/lib/actions/StatusAction.js +1 -1
  183. package/lib/actions/SwitchAction.js +2 -2
  184. package/lib/actions/ToastAction.js +1 -1
  185. package/lib/actions/WaitAction.js +1 -1
  186. package/lib/components/CustomStyle.js +3 -2
  187. package/lib/components/ErrorBoundary.js +1 -1
  188. package/lib/components/LazyComponent.js +1 -1
  189. package/lib/components/Overlay.js +2 -1
  190. package/lib/components/PopOver.js +2 -1
  191. package/lib/env.d.ts +2 -4
  192. package/lib/env.js +1 -1
  193. package/lib/envOverwrite.js +1 -1
  194. package/lib/factory.js +1 -1
  195. package/lib/index.js +4 -2
  196. package/lib/locale.js +2 -1
  197. package/lib/polyfills.js +1 -1
  198. package/lib/renderers/Form.d.ts +1 -1
  199. package/lib/renderers/Form.js +43 -9
  200. package/lib/renderers/Item.d.ts +27 -60
  201. package/lib/renderers/Item.js +75 -6
  202. package/lib/renderers/Options.js +40 -13
  203. package/lib/renderers/Placeholder.js +1 -1
  204. package/lib/renderers/builtin.js +1 -1
  205. package/lib/renderers/register.js +1 -1
  206. package/lib/renderers/wrapControl.js +19 -9
  207. package/lib/store/app.d.ts +2 -0
  208. package/lib/store/app.js +2 -1
  209. package/lib/store/combo.d.ts +30 -24
  210. package/lib/store/combo.js +1 -1
  211. package/lib/store/crud.d.ts +2 -0
  212. package/lib/store/crud.js +2 -1
  213. package/lib/store/form.d.ts +12 -10
  214. package/lib/store/form.js +2 -1
  215. package/lib/store/formItem.js +12 -2
  216. package/lib/store/iRenderer.d.ts +2 -0
  217. package/lib/store/iRenderer.js +13 -1
  218. package/lib/store/index.js +1 -1
  219. package/lib/store/list.d.ts +2 -0
  220. package/lib/store/list.js +1 -1
  221. package/lib/store/manager.js +1 -1
  222. package/lib/store/modal.d.ts +2 -0
  223. package/lib/store/modal.js +1 -1
  224. package/lib/store/node.js +1 -1
  225. package/lib/store/pagination.d.ts +2 -0
  226. package/lib/store/pagination.js +2 -1
  227. package/lib/store/root.d.ts +2 -0
  228. package/lib/store/root.js +2 -1
  229. package/lib/store/service.d.ts +2 -0
  230. package/lib/store/service.js +2 -1
  231. package/lib/store/status.js +1 -1
  232. package/lib/store/table.d.ts +26 -20
  233. package/lib/store/table.js +2 -1
  234. package/lib/store/table2.d.ts +2 -0
  235. package/lib/store/table2.js +1 -1
  236. package/lib/theme.js +1 -1
  237. package/lib/types.d.ts +2 -0
  238. package/lib/utils/Animation.js +1 -1
  239. package/lib/utils/ColorScale.js +1 -1
  240. package/lib/utils/DataSchema.js +1 -1
  241. package/lib/utils/DataScope.js +2 -1
  242. package/lib/utils/RootClose.js +1 -1
  243. package/lib/utils/SimpleMap.js +1 -1
  244. package/lib/utils/api.js +23 -3
  245. package/lib/utils/arraySlice.js +1 -1
  246. package/lib/utils/attachmentAdpator.js +1 -1
  247. package/lib/utils/autobind.js +1 -1
  248. package/lib/utils/browser.js +1 -1
  249. package/lib/utils/columnsSplit.js +1 -1
  250. package/lib/utils/concatData.js +1 -1
  251. package/lib/utils/dataMapping.js +1 -1
  252. package/lib/utils/date.d.ts +3 -1
  253. package/lib/utils/date.js +11 -5
  254. package/lib/utils/debug.js +1 -1
  255. package/lib/utils/decodeEntity.js +1 -1
  256. package/lib/utils/dom.js +1 -1
  257. package/lib/utils/errors.js +1 -1
  258. package/lib/utils/escapeHtml.js +1 -1
  259. package/lib/utils/filter-schema.js +6 -3
  260. package/lib/utils/filter.js +1 -1
  261. package/lib/utils/formatDuration.js +1 -1
  262. package/lib/utils/formula.js +2 -1
  263. package/lib/utils/getVariable.js +1 -1
  264. package/lib/utils/grammar.js +1 -1
  265. package/lib/utils/handleAction.js +1 -1
  266. package/lib/utils/helper.d.ts +1 -1
  267. package/lib/utils/helper.js +9 -5
  268. package/lib/utils/highlight.js +1 -1
  269. package/lib/utils/icon.js +1 -1
  270. package/lib/utils/image.js +1 -1
  271. package/lib/utils/isPureVariable.js +1 -1
  272. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  273. package/lib/utils/keyToPath.js +1 -1
  274. package/lib/utils/labelToString.js +1 -1
  275. package/lib/utils/makeSorter.js +1 -1
  276. package/lib/utils/math.js +1 -1
  277. package/lib/utils/memoryParse.js +1 -1
  278. package/lib/utils/normalizeLink.js +1 -1
  279. package/lib/utils/normalizeOptions.d.ts +1 -1
  280. package/lib/utils/normalizeOptions.js +3 -2
  281. package/lib/utils/object.js +1 -1
  282. package/lib/utils/offset.js +1 -1
  283. package/lib/utils/offsetParent.js +1 -1
  284. package/lib/utils/optionValueCompare.js +1 -1
  285. package/lib/utils/position.js +1 -1
  286. package/lib/utils/prettyBytes.js +1 -1
  287. package/lib/utils/printElement.js +1 -1
  288. package/lib/utils/renderer-event.js +6 -5
  289. package/lib/utils/replaceText.js +1 -1
  290. package/lib/utils/resize-sensor.js +1 -1
  291. package/lib/utils/resolveCondition.d.ts +2 -1
  292. package/lib/utils/resolveCondition.js +60 -7
  293. package/lib/utils/resolveVariable.js +1 -1
  294. package/lib/utils/resolveVariableAndFilter.js +1 -1
  295. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  296. package/lib/utils/scrollPosition.js +1 -1
  297. package/lib/utils/string2regExp.js +1 -1
  298. package/lib/utils/stripNumber.js +3 -3
  299. package/lib/utils/style-helper.js +15 -8
  300. package/lib/utils/style.js +2 -1
  301. package/lib/utils/toNumber.js +1 -1
  302. package/lib/utils/tokenize.js +1 -1
  303. package/lib/utils/tpl-builtin.js +2 -1
  304. package/lib/utils/tpl-lodash.js +2 -1
  305. package/lib/utils/tpl.d.ts +8 -1
  306. package/lib/utils/tpl.js +17 -3
  307. package/lib/utils/uncontrollable.js +1 -1
  308. package/lib/utils/validateId.js +1 -1
  309. package/lib/utils/validations.js +2 -1
  310. package/package.json +3 -2
  311. package/esm/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -12
  312. package/esm/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -26
  313. package/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -23
  314. package/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -19
  315. package/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -14
  316. package/esm/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -16
  317. package/esm/node_modules/@rc-component/mini-decimal/es/BigIntDecimal.js +0 -184
  318. package/esm/node_modules/@rc-component/mini-decimal/es/MiniDecimal.js +0 -56
  319. package/esm/node_modules/@rc-component/mini-decimal/es/NumberDecimal.js +0 -119
  320. package/esm/node_modules/@rc-component/mini-decimal/es/numberUtil.js +0 -105
  321. package/esm/node_modules/@rc-component/mini-decimal/es/supportUtil.js +0 -10
  322. package/lib/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +0 -16
  323. package/lib/node_modules/@babel/runtime/helpers/esm/createClass.js +0 -30
  324. package/lib/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -27
  325. package/lib/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -23
  326. package/lib/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -18
  327. package/lib/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -20
  328. package/lib/node_modules/@rc-component/mini-decimal/es/BigIntDecimal.js +0 -188
  329. package/lib/node_modules/@rc-component/mini-decimal/es/MiniDecimal.js +0 -61
  330. package/lib/node_modules/@rc-component/mini-decimal/es/NumberDecimal.js +0 -123
  331. package/lib/node_modules/@rc-component/mini-decimal/es/numberUtil.js +0 -114
  332. package/lib/node_modules/@rc-component/mini-decimal/es/supportUtil.js +0 -14
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/utils/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -58,7 +58,8 @@ function getExprProperties(schema, data, ignoreList, props) {
58
58
  var type = parts === null || parts === void 0 ? void 0 : parts[2];
59
59
  var value = schema[key];
60
60
  if (value &&
61
- typeof value === 'string' &&
61
+ (typeof value === 'string' ||
62
+ Object.prototype.toString.call(value) === '[object Object]') &&
62
63
  (parts === null || parts === void 0 ? void 0 : parts[1]) &&
63
64
  (type === 'On' || type === 'Expr')) {
64
65
  key = parts[1];
@@ -72,7 +73,9 @@ function getExprProperties(schema, data, ignoreList, props) {
72
73
  });
73
74
  }
74
75
  if (type === 'On') {
75
- value = (props === null || props === void 0 ? void 0 : props[key]) || tpl.evalExpression(value, ctx || data);
76
+ value =
77
+ (props === null || props === void 0 ? void 0 : props[key]) ||
78
+ tpl.evalExpressionWithConditionBuilder(value, ctx || data);
76
79
  }
77
80
  else {
78
81
  value = tpl.filter(value, ctx || data);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -16,6 +16,7 @@ require('tslib');
16
16
  require('moment');
17
17
  require('lodash/isPlainObject');
18
18
  var getVariable = require('./getVariable.js');
19
+ require('@rc-component/mini-decimal');
19
20
  var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
20
21
  require('./filter.js');
21
22
  var grammar = require('./grammar.js');
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -68,7 +68,7 @@ export declare function visibilityFilter(items: any, data?: object): any;
68
68
  export declare function isDisabled(schema: {
69
69
  disabledOn?: string;
70
70
  disabled?: boolean;
71
- }, data?: object): boolean | "" | undefined;
71
+ }, data?: object): boolean | "" | Promise<boolean> | undefined;
72
72
  export declare function hasAbility(schema: any, ability: string, data?: object, defaultValue?: boolean): boolean;
73
73
  export declare function makeHorizontalDeeper(horizontal: {
74
74
  left: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -25,6 +25,7 @@ require('moment');
25
25
  var object = require('./object.js');
26
26
  var tokenize = require('./tokenize.js');
27
27
  var isPureVariable = require('./isPureVariable.js');
28
+ require('@rc-component/mini-decimal');
28
29
  var resolveVariable = require('./resolveVariable.js');
29
30
  var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
30
31
  require('./filter.js');
@@ -294,8 +295,10 @@ function hasVisibleExpression(schema) {
294
295
  function isVisible(schema, data) {
295
296
  return !(schema.hidden ||
296
297
  schema.visible === false ||
297
- (schema.hiddenOn && tpl.evalExpression(schema.hiddenOn, data)) ||
298
- (schema.visibleOn && !tpl.evalExpression(schema.visibleOn, data)));
298
+ (schema.hiddenOn &&
299
+ tpl.evalExpressionWithConditionBuilder(schema.hiddenOn, data)) ||
300
+ (schema.visibleOn &&
301
+ !tpl.evalExpressionWithConditionBuilder(schema.visibleOn, data)));
299
302
  }
300
303
  function isUnfolded(node, config) {
301
304
  var foldedField = config.foldedField, unfoldedField = config.unfoldedField;
@@ -319,14 +322,15 @@ function visibilityFilter(items, data) {
319
322
  }
320
323
  function isDisabled(schema, data) {
321
324
  return (schema.disabled ||
322
- (schema.disabledOn && tpl.evalExpression(schema.disabledOn, data)));
325
+ (schema.disabledOn &&
326
+ tpl.evalExpressionWithConditionBuilder(schema.disabledOn, data)));
323
327
  }
324
328
  function hasAbility(schema, ability, data, defaultValue) {
325
329
  if (defaultValue === void 0) { defaultValue = true; }
326
330
  return schema.hasOwnProperty(ability)
327
331
  ? schema[ability]
328
332
  : schema.hasOwnProperty("".concat(ability, "On"))
329
- ? tpl.evalExpression(schema["".concat(ability, "On")], data || schema)
333
+ ? tpl.evalExpressionWithConditionBuilder(schema["".concat(ability, "On")], data || schema)
330
334
  : defaultValue;
331
335
  }
332
336
  function makeHorizontalDeeper(horizontal, count) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.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.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.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.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,7 +1,7 @@
1
1
  import { Options } from '../types';
2
2
  export declare function normalizeOptions(options: string | {
3
3
  [propName: string]: string;
4
- } | Array<string> | Options, share?: {
4
+ } | Array<string | number> | Options, share?: {
5
5
  values: Array<any>;
6
6
  options: Array<any>;
7
7
  }, valueField?: string): Options;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -40,7 +40,8 @@ function normalizeOptions(options, share, valueField) {
40
40
  });
41
41
  }
42
42
  else if (Array.isArray(options) &&
43
- typeof options[0] === 'string') {
43
+ (typeof options[0] === 'string' ||
44
+ typeof options[0] === 'number')) {
44
45
  return options.map(function (item) {
45
46
  var _a;
46
47
  var idx = share.values.indexOf(item);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -130,9 +130,10 @@ var bindEvent = function (renderer) {
130
130
  return function (eventName) {
131
131
  // eventName用来避免过滤广播事件
132
132
  rendererEventListeners = rendererEventListeners.filter(function (item) {
133
- return item.renderer === renderer && eventName !== undefined
134
- ? item.type !== eventName
135
- : true;
133
+ // 如果 eventName undefined,表示全部解绑,否则解绑指定事件
134
+ return eventName === undefined
135
+ ? item.renderer !== renderer
136
+ : item.renderer !== renderer || item.type !== eventName;
136
137
  });
137
138
  };
138
139
  }
@@ -341,7 +342,7 @@ function getMatchedEventTargets(tree, ctx, index, condition, oldCondition) {
341
342
  var result;
342
343
  return tslib.__generator(this, function (_a) {
343
344
  switch (_a.label) {
344
- case 0: return [4 /*yield*/, tpl.evalExpressionWithConditionBuilder(condition, object.createObject(ctx, data))];
345
+ case 0: return [4 /*yield*/, tpl.evalExpressionWithConditionBuilderAsync(condition, object.createObject(ctx, data))];
345
346
  case 1:
346
347
  result = _a.sent();
347
348
  result && targets.push(item);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,4 +1,5 @@
1
- export declare function resolveCondition(conditions: any, data: any, defaultResult?: boolean): Promise<boolean>;
1
+ export declare function resolveConditionAsync(conditions: any, data: any, defaultResult?: boolean): Promise<boolean>;
2
+ export declare function resolveCondition(conditions: any, data: any, defaultResult?: boolean): boolean | Promise<boolean>;
2
3
  export declare function registerConditionComputer(op: string, func: (left: any, right: any, fieldType?: string) => boolean, fieldType?: string): void;
3
4
  export declare function getConditionComputers(): {
4
5
  [op: string]: (left: any, right: any, fieldType?: string | undefined) => boolean;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -16,6 +16,12 @@ var startsWith = require('lodash/startsWith');
16
16
  var resolveVariableAndFilterForAsync = require('./resolveVariableAndFilterForAsync.js');
17
17
  var moment = require('moment');
18
18
  var capitalize = require('lodash/capitalize');
19
+ require('amis-formula');
20
+ require('lodash/isPlainObject');
21
+ var isPureVariable = require('./isPureVariable.js');
22
+ require('@rc-component/mini-decimal');
23
+ var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
24
+ require('./filter.js');
19
25
 
20
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
27
 
@@ -30,7 +36,7 @@ var capitalize__default = /*#__PURE__*/_interopDefaultLegacy(capitalize);
30
36
  var conditionResolverMap = {};
31
37
  var DEFAULT_RESULT = true;
32
38
  var conditionComputeErrorHandler;
33
- function resolveCondition(conditions, data, defaultResult) {
39
+ function resolveConditionAsync(conditions, data, defaultResult) {
34
40
  if (defaultResult === void 0) { defaultResult = true; }
35
41
  return tslib.__awaiter(this, void 0, void 0, function () {
36
42
  var e_1;
@@ -46,7 +52,7 @@ function resolveCondition(conditions, data, defaultResult) {
46
52
  _a.label = 1;
47
53
  case 1:
48
54
  _a.trys.push([1, 3, , 6]);
49
- return [4 /*yield*/, computeConditions(conditions.children, conditions.conjunction, data)];
55
+ return [4 /*yield*/, computeConditionsAsync(conditions.children, conditions.conjunction, data)];
50
56
  case 2: return [2 /*return*/, _a.sent()];
51
57
  case 3:
52
58
  e_1 = _a.sent();
@@ -59,7 +65,26 @@ function resolveCondition(conditions, data, defaultResult) {
59
65
  });
60
66
  });
61
67
  }
62
- function computeConditions(conditions, conjunction, data) {
68
+ function resolveCondition(conditions, data, defaultResult) {
69
+ if (defaultResult === void 0) { defaultResult = true; }
70
+ if (!conditions ||
71
+ !conditions.conjunction ||
72
+ !Array.isArray(conditions.children) ||
73
+ !conditions.children.length) {
74
+ return defaultResult;
75
+ }
76
+ try {
77
+ return computeConditions(conditions.children, conditions.conjunction, data);
78
+ }
79
+ catch (e) {
80
+ // 如果函数未定义,则交给handler
81
+ if (e.name === 'FormulaEvalError') {
82
+ return conditionComputeErrorHandler === null || conditionComputeErrorHandler === void 0 ? void 0 : conditionComputeErrorHandler(conditions.children, conditions.conjunction, data);
83
+ }
84
+ return defaultResult;
85
+ }
86
+ }
87
+ function computeConditionsAsync(conditions, conjunction, data) {
63
88
  if (conjunction === void 0) { conjunction = 'and'; }
64
89
  return tslib.__awaiter(this, void 0, void 0, function () {
65
90
  var computeResult, index, len, item, result, _a;
@@ -73,11 +98,11 @@ function computeConditions(conditions, conjunction, data) {
73
98
  if (!(index < len)) return [3 /*break*/, 7];
74
99
  item = conditions[index];
75
100
  if (!(item.conjunction && Array.isArray(item.children) && item.children.length)) return [3 /*break*/, 3];
76
- return [4 /*yield*/, computeConditions(item.children, item.conjunction, data)];
101
+ return [4 /*yield*/, computeConditionsAsync(item.children, item.conjunction, data)];
77
102
  case 2:
78
103
  _a = _b.sent();
79
104
  return [3 /*break*/, 5];
80
- case 3: return [4 /*yield*/, computeCondition(item, index, data)];
105
+ case 3: return [4 /*yield*/, computeConditionAsync(item, index, data)];
81
106
  case 4:
82
107
  _a = _b.sent();
83
108
  _b.label = 5;
@@ -97,7 +122,23 @@ function computeConditions(conditions, conjunction, data) {
97
122
  });
98
123
  });
99
124
  }
100
- function computeCondition(rule, index, data) {
125
+ function computeConditions(conditions, conjunction, data) {
126
+ if (conjunction === void 0) { conjunction = 'and'; }
127
+ var computeResult = true;
128
+ for (var index = 0, len = conditions.length; index < len; index++) {
129
+ var item = conditions[index];
130
+ var result = item.conjunction && Array.isArray(item.children) && item.children.length
131
+ ? computeConditions(item.children, item.conjunction, data)
132
+ : computeCondition(item, index, data);
133
+ computeResult = !!result;
134
+ if ((result && conjunction === 'or') ||
135
+ (!result && conjunction === 'and')) {
136
+ break;
137
+ }
138
+ }
139
+ return computeResult;
140
+ }
141
+ function computeConditionAsync(rule, index, data) {
101
142
  var _a;
102
143
  return tslib.__awaiter(this, void 0, void 0, function () {
103
144
  var leftValue, rightValue, func;
@@ -114,6 +155,17 @@ function computeCondition(rule, index, data) {
114
155
  });
115
156
  });
116
157
  }
158
+ function computeCondition(rule, index, data) {
159
+ var _a;
160
+ var leftValue = get__default["default"](data, rule.left.field);
161
+ var rightValue = isPureVariable.isPureVariable(rule.right)
162
+ ? resolveVariableAndFilter.resolveVariableAndFilter(rule.right, data)
163
+ : rule.right;
164
+ var func = (_a = conditionResolverMap["".concat(rule.op, "For").concat(capitalize__default["default"](rule.left.type))]) !== null && _a !== void 0 ? _a : conditionResolverMap[rule.op];
165
+ return func && typeof func === 'function'
166
+ ? func(leftValue, rightValue, rule.left.type)
167
+ : DEFAULT_RESULT;
168
+ }
117
169
  function startsWithFunc(left, right) {
118
170
  if (left === undefined || right === undefined) {
119
171
  return DEFAULT_RESULT;
@@ -335,4 +387,5 @@ registerConditionComputer('ends_with', endsWithFunc);
335
387
  exports.getConditionComputers = getConditionComputers;
336
388
  exports.registerConditionComputer = registerConditionComputer;
337
389
  exports.resolveCondition = resolveCondition;
390
+ exports.resolveConditionAsync = resolveConditionAsync;
338
391
  exports.setConditionComputeErrorHandler = setConditionComputeErrorHandler;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.1
2
+ * amis-core v6.6.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -7,14 +7,14 @@
7
7
 
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
- var MiniDecimal = require('../node_modules/@rc-component/mini-decimal/es/MiniDecimal.js');
10
+ var miniDecimal = require('@rc-component/mini-decimal');
11
11
 
12
12
  // 主要用于解决 0.1+0.2 结果的精度问题导致太长
13
13
  function stripNumber(number, precision) {
14
14
  if (precision === void 0) { precision = 16; }
15
15
  if (typeof number === 'number' && !Number.isInteger(number)) {
16
16
  // return parseFloat(number.toPrecision(precision));
17
- return parseFloat(MiniDecimal.toFixed(number.toString(), '.', precision));
17
+ return parseFloat(miniDecimal.toFixed(number.toString(), '.', precision));
18
18
  }
19
19
  else {
20
20
  return number;