amis-core 6.2.2 → 6.3.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 (327) 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 +15 -6
  5. package/esm/Scoped.d.ts +1 -1
  6. package/esm/Scoped.js +3 -1
  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 +2 -2
  11. package/esm/actions/AjaxAction.js +1 -1
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +2 -2
  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 +95 -35
  20. package/esm/actions/DrawerAction.d.ts +5 -0
  21. package/esm/actions/DrawerAction.js +66 -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.js +1 -1
  30. package/esm/actions/StatusAction.js +1 -1
  31. package/esm/actions/SwitchAction.js +1 -1
  32. package/esm/actions/ToastAction.js +1 -1
  33. package/esm/actions/WaitAction.d.ts +18 -0
  34. package/esm/actions/WaitAction.js +41 -0
  35. package/esm/actions/index.d.ts +2 -0
  36. package/esm/components/CustomStyle.js +1 -1
  37. package/esm/components/ErrorBoundary.js +1 -1
  38. package/esm/components/LazyComponent.js +1 -1
  39. package/esm/components/Overlay.d.ts +3 -0
  40. package/esm/components/Overlay.js +7 -4
  41. package/esm/components/PopOver.js +2 -2
  42. package/esm/env.js +1 -1
  43. package/esm/envOverwrite.js +1 -1
  44. package/esm/factory.d.ts +2 -0
  45. package/esm/factory.js +1 -1
  46. package/esm/index.js +6 -4
  47. package/esm/locale.js +4 -2
  48. package/esm/polyfills.js +1 -1
  49. package/esm/renderers/Form.d.ts +3 -2
  50. package/esm/renderers/Form.js +82 -25
  51. package/esm/renderers/Item.d.ts +123 -79
  52. package/esm/renderers/Item.js +159 -60
  53. package/esm/renderers/Options.d.ts +0 -11
  54. package/esm/renderers/Options.js +20 -84
  55. package/esm/renderers/Placeholder.js +1 -1
  56. package/esm/renderers/builtin.js +1 -1
  57. package/esm/renderers/register.js +1 -1
  58. package/esm/renderers/wrapControl.d.ts +2 -1
  59. package/esm/renderers/wrapControl.js +4 -2
  60. package/esm/store/app.d.ts +5 -5
  61. package/esm/store/app.js +1 -1
  62. package/esm/store/combo.d.ts +255 -63
  63. package/esm/store/combo.js +1 -1
  64. package/esm/store/crud.d.ts +5 -5
  65. package/esm/store/crud.js +1 -1
  66. package/esm/store/form.d.ts +105 -25
  67. package/esm/store/form.js +33 -15
  68. package/esm/store/formItem.d.ts +6 -2
  69. package/esm/store/formItem.js +68 -5
  70. package/esm/store/iRenderer.d.ts +5 -5
  71. package/esm/store/iRenderer.js +23 -10
  72. package/esm/store/index.js +1 -1
  73. package/esm/store/list.d.ts +5 -5
  74. package/esm/store/list.js +1 -1
  75. package/esm/store/manager.js +1 -1
  76. package/esm/store/modal.d.ts +5 -5
  77. package/esm/store/modal.js +1 -1
  78. package/esm/store/node.js +1 -1
  79. package/esm/store/pagination.d.ts +5 -5
  80. package/esm/store/pagination.js +1 -1
  81. package/esm/store/root.d.ts +5 -5
  82. package/esm/store/root.js +1 -1
  83. package/esm/store/service.d.ts +5 -5
  84. package/esm/store/service.js +2 -2
  85. package/esm/store/status.js +1 -1
  86. package/esm/store/table.d.ts +243 -55
  87. package/esm/store/table.js +23 -9
  88. package/esm/store/table2.d.ts +5 -5
  89. package/esm/store/table2.js +1 -1
  90. package/esm/theme.js +4 -2
  91. package/esm/types.d.ts +7 -1
  92. package/esm/utils/Animation.js +1 -1
  93. package/esm/utils/ColorScale.js +1 -1
  94. package/esm/utils/DataSchema.js +1 -1
  95. package/esm/utils/DataScope.js +1 -1
  96. package/esm/utils/RootClose.js +1 -1
  97. package/esm/utils/SimpleMap.js +1 -1
  98. package/esm/utils/api.js +1 -1
  99. package/esm/utils/arraySlice.js +1 -1
  100. package/esm/utils/attachmentAdpator.js +1 -1
  101. package/esm/utils/autobind.js +1 -1
  102. package/esm/utils/browser.js +1 -1
  103. package/esm/utils/columnsSplit.js +1 -1
  104. package/esm/utils/concatData.js +1 -1
  105. package/esm/utils/dataMapping.js +1 -1
  106. package/esm/utils/date.js +1 -1
  107. package/esm/utils/debug.js +1 -1
  108. package/esm/utils/decodeEntity.js +1 -1
  109. package/esm/utils/dom.d.ts +2 -2
  110. package/esm/utils/dom.js +70 -11
  111. package/esm/utils/errors.js +1 -1
  112. package/esm/utils/escapeHtml.js +1 -1
  113. package/esm/utils/filter-schema.js +1 -1
  114. package/esm/utils/filter.js +1 -1
  115. package/esm/utils/formatDuration.js +1 -1
  116. package/esm/utils/formula.js +2 -2
  117. package/esm/utils/getVariable.js +1 -1
  118. package/esm/utils/grammar.js +1 -1
  119. package/esm/utils/handleAction.js +1 -1
  120. package/esm/utils/helper.d.ts +12 -6
  121. package/esm/utils/helper.js +39 -16
  122. package/esm/utils/highlight.js +1 -1
  123. package/esm/utils/icon.js +1 -1
  124. package/esm/utils/image.js +1 -1
  125. package/esm/utils/isPureVariable.js +1 -1
  126. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  127. package/esm/utils/keyToPath.js +1 -1
  128. package/esm/utils/labelToString.js +1 -1
  129. package/esm/utils/makeSorter.js +1 -1
  130. package/esm/utils/math.js +1 -1
  131. package/esm/utils/memoryParse.js +1 -1
  132. package/esm/utils/normalizeLink.js +1 -1
  133. package/esm/utils/normalizeOptions.js +1 -1
  134. package/esm/utils/object.js +1 -1
  135. package/esm/utils/offset.js +1 -1
  136. package/esm/utils/offsetParent.js +1 -1
  137. package/esm/utils/optionValueCompare.js +1 -1
  138. package/esm/utils/position.js +1 -1
  139. package/esm/utils/prettyBytes.js +1 -1
  140. package/esm/utils/printElement.js +1 -1
  141. package/esm/utils/renderer-event.d.ts +11 -0
  142. package/esm/utils/renderer-event.js +99 -2
  143. package/esm/utils/replaceText.js +1 -1
  144. package/esm/utils/resize-sensor.js +1 -1
  145. package/esm/utils/resolveCondition.js +1 -1
  146. package/esm/utils/resolveVariable.js +1 -1
  147. package/esm/utils/resolveVariableAndFilter.js +1 -1
  148. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  149. package/esm/utils/scrollPosition.js +1 -1
  150. package/esm/utils/string2regExp.js +1 -1
  151. package/esm/utils/stripNumber.d.ts +1 -1
  152. package/esm/utils/stripNumber.js +4 -3
  153. package/esm/utils/style-helper.d.ts +21 -2
  154. package/esm/utils/style-helper.js +55 -10
  155. package/esm/utils/style.js +1 -1
  156. package/esm/utils/toNumber.js +1 -1
  157. package/esm/utils/tokenize.js +1 -1
  158. package/esm/utils/tpl-builtin.js +1 -1
  159. package/esm/utils/tpl-lodash.js +1 -1
  160. package/esm/utils/tpl.js +1 -1
  161. package/esm/utils/uncontrollable.js +1 -1
  162. package/esm/utils/validateId.js +5 -2
  163. package/esm/utils/validations.js +1 -1
  164. package/lib/Root.js +1 -1
  165. package/lib/RootRenderer.d.ts +1 -1
  166. package/lib/RootRenderer.js +28 -10
  167. package/lib/SchemaRenderer.js +14 -5
  168. package/lib/Scoped.d.ts +1 -1
  169. package/lib/Scoped.js +3 -1
  170. package/lib/StatusScoped.js +4 -2
  171. package/lib/WithRootStore.js +1 -1
  172. package/lib/WithStore.js +28 -17
  173. package/lib/actions/Action.js +2 -2
  174. package/lib/actions/AjaxAction.js +1 -1
  175. package/lib/actions/BreakAction.js +1 -1
  176. package/lib/actions/BroadcastAction.js +1 -1
  177. package/lib/actions/CmptAction.js +2 -2
  178. package/lib/actions/ContinueAction.js +1 -1
  179. package/lib/actions/CopyAction.js +1 -1
  180. package/lib/actions/CustomAction.js +1 -1
  181. package/lib/actions/DialogAction.d.ts +8 -0
  182. package/lib/actions/DialogAction.js +98 -35
  183. package/lib/actions/DrawerAction.d.ts +5 -0
  184. package/lib/actions/DrawerAction.js +69 -11
  185. package/lib/actions/EmailAction.js +1 -1
  186. package/lib/actions/EventAction.d.ts +20 -0
  187. package/lib/actions/EventAction.js +109 -0
  188. package/lib/actions/LinkAction.js +1 -1
  189. package/lib/actions/LoopAction.js +1 -1
  190. package/lib/actions/PageAction.js +1 -1
  191. package/lib/actions/ParallelAction.js +1 -1
  192. package/lib/actions/PrintAction.js +1 -1
  193. package/lib/actions/StatusAction.js +1 -1
  194. package/lib/actions/SwitchAction.js +1 -1
  195. package/lib/actions/ToastAction.js +1 -1
  196. package/lib/actions/WaitAction.d.ts +18 -0
  197. package/lib/actions/WaitAction.js +45 -0
  198. package/lib/actions/index.d.ts +2 -0
  199. package/lib/components/CustomStyle.js +1 -1
  200. package/lib/components/ErrorBoundary.js +1 -1
  201. package/lib/components/LazyComponent.js +1 -1
  202. package/lib/components/Overlay.d.ts +3 -0
  203. package/lib/components/Overlay.js +7 -4
  204. package/lib/components/PopOver.js +1 -1
  205. package/lib/env.js +1 -1
  206. package/lib/envOverwrite.js +1 -1
  207. package/lib/factory.d.ts +2 -0
  208. package/lib/factory.js +1 -1
  209. package/lib/index.js +6 -4
  210. package/lib/locale.js +4 -2
  211. package/lib/polyfills.js +1 -1
  212. package/lib/renderers/Form.d.ts +3 -2
  213. package/lib/renderers/Form.js +83 -24
  214. package/lib/renderers/Item.d.ts +123 -79
  215. package/lib/renderers/Item.js +158 -58
  216. package/lib/renderers/Options.d.ts +0 -11
  217. package/lib/renderers/Options.js +19 -84
  218. package/lib/renderers/Placeholder.js +1 -1
  219. package/lib/renderers/builtin.js +1 -1
  220. package/lib/renderers/register.js +1 -1
  221. package/lib/renderers/wrapControl.d.ts +2 -1
  222. package/lib/renderers/wrapControl.js +4 -2
  223. package/lib/store/app.d.ts +5 -5
  224. package/lib/store/app.js +1 -1
  225. package/lib/store/combo.d.ts +255 -63
  226. package/lib/store/combo.js +1 -1
  227. package/lib/store/crud.d.ts +5 -5
  228. package/lib/store/crud.js +1 -1
  229. package/lib/store/form.d.ts +105 -25
  230. package/lib/store/form.js +33 -15
  231. package/lib/store/formItem.d.ts +6 -2
  232. package/lib/store/formItem.js +67 -4
  233. package/lib/store/iRenderer.d.ts +5 -5
  234. package/lib/store/iRenderer.js +23 -10
  235. package/lib/store/index.js +1 -1
  236. package/lib/store/list.d.ts +5 -5
  237. package/lib/store/list.js +1 -1
  238. package/lib/store/manager.js +1 -1
  239. package/lib/store/modal.d.ts +5 -5
  240. package/lib/store/modal.js +1 -1
  241. package/lib/store/node.js +1 -1
  242. package/lib/store/pagination.d.ts +5 -5
  243. package/lib/store/pagination.js +1 -1
  244. package/lib/store/root.d.ts +5 -5
  245. package/lib/store/root.js +1 -1
  246. package/lib/store/service.d.ts +5 -5
  247. package/lib/store/service.js +2 -2
  248. package/lib/store/status.js +1 -1
  249. package/lib/store/table.d.ts +243 -55
  250. package/lib/store/table.js +23 -9
  251. package/lib/store/table2.d.ts +5 -5
  252. package/lib/store/table2.js +1 -1
  253. package/lib/theme.js +4 -2
  254. package/lib/types.d.ts +7 -1
  255. package/lib/utils/Animation.js +1 -1
  256. package/lib/utils/ColorScale.js +1 -1
  257. package/lib/utils/DataSchema.js +1 -1
  258. package/lib/utils/DataScope.js +1 -1
  259. package/lib/utils/RootClose.js +1 -1
  260. package/lib/utils/SimpleMap.js +1 -1
  261. package/lib/utils/api.js +1 -1
  262. package/lib/utils/arraySlice.js +1 -1
  263. package/lib/utils/attachmentAdpator.js +1 -1
  264. package/lib/utils/autobind.js +1 -1
  265. package/lib/utils/browser.js +1 -1
  266. package/lib/utils/columnsSplit.js +1 -1
  267. package/lib/utils/concatData.js +1 -1
  268. package/lib/utils/dataMapping.js +1 -1
  269. package/lib/utils/date.js +1 -1
  270. package/lib/utils/debug.js +1 -1
  271. package/lib/utils/decodeEntity.js +1 -1
  272. package/lib/utils/dom.d.ts +2 -2
  273. package/lib/utils/dom.js +70 -11
  274. package/lib/utils/errors.js +1 -1
  275. package/lib/utils/escapeHtml.js +1 -1
  276. package/lib/utils/filter-schema.js +1 -1
  277. package/lib/utils/filter.js +1 -1
  278. package/lib/utils/formatDuration.js +1 -1
  279. package/lib/utils/formula.js +2 -2
  280. package/lib/utils/getVariable.js +1 -1
  281. package/lib/utils/grammar.js +1 -1
  282. package/lib/utils/handleAction.js +1 -1
  283. package/lib/utils/helper.d.ts +12 -6
  284. package/lib/utils/helper.js +39 -17
  285. package/lib/utils/highlight.js +1 -1
  286. package/lib/utils/icon.js +1 -1
  287. package/lib/utils/image.js +1 -1
  288. package/lib/utils/isPureVariable.js +1 -1
  289. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  290. package/lib/utils/keyToPath.js +1 -1
  291. package/lib/utils/labelToString.js +1 -1
  292. package/lib/utils/makeSorter.js +1 -1
  293. package/lib/utils/math.js +1 -1
  294. package/lib/utils/memoryParse.js +1 -1
  295. package/lib/utils/normalizeLink.js +1 -1
  296. package/lib/utils/normalizeOptions.js +1 -1
  297. package/lib/utils/object.js +1 -1
  298. package/lib/utils/offset.js +1 -1
  299. package/lib/utils/offsetParent.js +1 -1
  300. package/lib/utils/optionValueCompare.js +1 -1
  301. package/lib/utils/position.js +1 -1
  302. package/lib/utils/prettyBytes.js +1 -1
  303. package/lib/utils/printElement.js +1 -1
  304. package/lib/utils/renderer-event.d.ts +11 -0
  305. package/lib/utils/renderer-event.js +99 -1
  306. package/lib/utils/replaceText.js +1 -1
  307. package/lib/utils/resize-sensor.js +1 -1
  308. package/lib/utils/resolveCondition.js +1 -1
  309. package/lib/utils/resolveVariable.js +1 -1
  310. package/lib/utils/resolveVariableAndFilter.js +1 -1
  311. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  312. package/lib/utils/scrollPosition.js +1 -1
  313. package/lib/utils/string2regExp.js +1 -1
  314. package/lib/utils/stripNumber.d.ts +1 -1
  315. package/lib/utils/stripNumber.js +4 -3
  316. package/lib/utils/style-helper.d.ts +21 -2
  317. package/lib/utils/style-helper.js +55 -10
  318. package/lib/utils/style.js +1 -1
  319. package/lib/utils/toNumber.js +1 -1
  320. package/lib/utils/tokenize.js +1 -1
  321. package/lib/utils/tpl-builtin.js +1 -1
  322. package/lib/utils/tpl-lodash.js +1 -1
  323. package/lib/utils/tpl.js +1 -1
  324. package/lib/utils/uncontrollable.js +1 -1
  325. package/lib/utils/validateId.js +9 -2
  326. package/lib/utils/validations.js +1 -1
  327. package/package.json +5 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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;
@@ -65,5 +66,15 @@ export declare const getRendererEventListeners: () => RendererEventListener[];
65
66
  * @param valueKey
66
67
  */
67
68
  export declare const resolveEventData: (props: any, data: any, valueKey?: string) => object;
69
+ /**
70
+ * 基于 index、condition、oldCondition 获取匹配的事件目标
71
+ * @param tree
72
+ * @param ctx
73
+ * @param index
74
+ * @param condition
75
+ * @param oldCondition
76
+ * @returns
77
+ */
78
+ export declare function getMatchedEventTargets<T extends TreeItem>(tree: Array<T>, ctx: any, index?: string | number, condition?: string, oldCondition?: string): Promise<T[]>;
68
79
  declare const _default: {};
69
80
  export default _default;
@@ -1,12 +1,16 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.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
  // 创建渲染器事件对象
@@ -266,5 +270,98 @@ var resolveEventData = function (props, data, valueKey) {
266
270
  return createObject(props.data, props.name && valueKey
267
271
  ? __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
272
  };
273
+ /**
274
+ * 基于 index、condition、oldCondition 获取匹配的事件目标
275
+ * @param tree
276
+ * @param ctx
277
+ * @param index
278
+ * @param condition
279
+ * @param oldCondition
280
+ * @returns
281
+ */
282
+ function getMatchedEventTargets(tree, ctx, index, condition, oldCondition) {
283
+ return __awaiter(this, void 0, void 0, function () {
284
+ var targets, row, _a, promies_1, promies_2;
285
+ var _this = this;
286
+ return __generator(this, function (_b) {
287
+ switch (_b.label) {
288
+ case 0:
289
+ targets = [];
290
+ if (!(typeof index === 'number')) return [3 /*break*/, 1];
291
+ row = tree[index];
292
+ row && targets.push(row);
293
+ return [3 /*break*/, 9];
294
+ case 1:
295
+ if (!(typeof index === 'string')) return [3 /*break*/, 5];
296
+ if (!isExpression(index)) return [3 /*break*/, 3];
297
+ return [4 /*yield*/, resolveVariableAndFilterForAsync(index, ctx)];
298
+ case 2:
299
+ _a = _b.sent();
300
+ return [3 /*break*/, 4];
301
+ case 3:
302
+ _a = index;
303
+ _b.label = 4;
304
+ case 4:
305
+ index = _a;
306
+ index.split(',').forEach(function (i) {
307
+ i = i.trim();
308
+ if (i) {
309
+ var indexes = i.split('.').map(function (ii) { return parseInt(ii, 10); });
310
+ var row = getTree(tree, indexes);
311
+ row && targets.push(row);
312
+ }
313
+ });
314
+ return [3 /*break*/, 9];
315
+ case 5:
316
+ if (!condition) return [3 /*break*/, 7];
317
+ promies_1 = [];
318
+ eachTree(tree, function (item) {
319
+ var data = item.storeType ? item.data : item;
320
+ promies_1.push(function () { return __awaiter(_this, void 0, void 0, function () {
321
+ var result;
322
+ return __generator(this, function (_a) {
323
+ switch (_a.label) {
324
+ case 0: return [4 /*yield*/, evalExpressionWithConditionBuilder(condition, createObject(ctx, data))];
325
+ case 1:
326
+ result = _a.sent();
327
+ result && targets.push(item);
328
+ return [2 /*return*/];
329
+ }
330
+ });
331
+ }); });
332
+ });
333
+ return [4 /*yield*/, Promise.all(promies_1.map(function (fn) { return fn(); }))];
334
+ case 6:
335
+ _b.sent();
336
+ return [3 /*break*/, 9];
337
+ case 7:
338
+ if (!oldCondition) return [3 /*break*/, 9];
339
+ promies_2 = [];
340
+ eachTree(tree, function (item, rowIndex) {
341
+ var record = item.storeType ? item.data : item;
342
+ promies_2.push(function () { return __awaiter(_this, void 0, void 0, function () {
343
+ var result;
344
+ return __generator(this, function (_a) {
345
+ result = evalExpression(oldCondition, createObject(ctx, {
346
+ record: record,
347
+ rowIndex: rowIndex,
348
+ item: record,
349
+ index: rowIndex,
350
+ indexPath: item.path
351
+ }));
352
+ result && targets.push(item);
353
+ return [2 /*return*/];
354
+ });
355
+ }); });
356
+ });
357
+ return [4 /*yield*/, Promise.all(promies_2.map(function (fn) { return fn(); }))];
358
+ case 8:
359
+ _b.sent();
360
+ _b.label = 9;
361
+ case 9: return [2 /*return*/, targets];
362
+ }
363
+ });
364
+ });
365
+ }
269
366
 
270
- export { bindEvent, createRendererEvent, dispatchEvent, getRendererEventListeners, resolveEventData };
367
+ export { bindEvent, createRendererEvent, dispatchEvent, getMatchedEventTargets, getRendererEventListeners, resolveEventData };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.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.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/utils/tpl.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.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.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,9 +1,10 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __read } from 'tslib';
7
+ import moment from 'moment';
7
8
 
8
9
  /**
9
10
  * 身份证号码校验,(没有校验城市和区县)
@@ -131,7 +132,9 @@ function verifyRegion(province, city, country) {
131
132
  return true;
132
133
  }
133
134
  function verifyBirthday(birthday) {
134
- return !isNaN(+birthday);
135
+ var min = moment(new Date('1850-01-01')); // 还有1850年前的人活着吗?
136
+ var max = moment().endOf('day'); // 最大值是今天
137
+ return !isNaN(+birthday) && moment(birthday).isBetween(min, max);
135
138
  }
136
139
  /**
137
140
  * 校验码计算方式
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.2.2
2
+ * amis-core v6.3.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -18,7 +18,7 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
18
18
  componentDidCatch(error: any, errorInfo: any): void;
19
19
  componentWillUnmount(): void;
20
20
  handlePageVisibilityChange(): void;
21
- handleAction(e: React.UIEvent<any> | void, action: ActionObject, ctx: object, throwErrors?: boolean, delegate?: IScopedContext): void;
21
+ handleAction(e: React.UIEvent<any> | void, action: ActionObject, ctx: object, throwErrors?: boolean, delegate?: IScopedContext): any;
22
22
  handleDialogConfirm(values: object[], action: ActionObject, ...args: Array<any>): void;
23
23
  handleDialogClose(confirmed?: boolean): void;
24
24
  handleDrawerConfirm(values: object[], action: ActionObject, ...args: Array<any>): void;