amis-core 3.2.0 → 3.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 (297) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +3 -3
  4. package/esm/SchemaRenderer.js +5 -2
  5. package/esm/Scoped.d.ts +4 -1
  6. package/esm/Scoped.js +8 -5
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +1 -1
  10. package/esm/actions/Action.d.ts +1 -0
  11. package/esm/actions/Action.js +62 -37
  12. package/esm/actions/AjaxAction.d.ts +6 -8
  13. package/esm/actions/AjaxAction.js +20 -18
  14. package/esm/actions/BreakAction.js +1 -1
  15. package/esm/actions/BroadcastAction.js +1 -1
  16. package/esm/actions/CmptAction.d.ts +1 -2
  17. package/esm/actions/CmptAction.js +46 -31
  18. package/esm/actions/ContinueAction.js +1 -1
  19. package/esm/actions/CopyAction.js +1 -1
  20. package/esm/actions/CustomAction.js +2 -2
  21. package/esm/actions/DialogAction.js +5 -6
  22. package/esm/actions/DrawerAction.js +4 -4
  23. package/esm/actions/EmailAction.js +1 -1
  24. package/esm/actions/LinkAction.js +1 -1
  25. package/esm/actions/LoopAction.js +1 -1
  26. package/esm/actions/PageAction.js +1 -1
  27. package/esm/actions/ParallelAction.js +1 -1
  28. package/esm/actions/StatusAction.d.ts +15 -0
  29. package/esm/actions/StatusAction.js +49 -0
  30. package/esm/actions/SwitchAction.js +1 -1
  31. package/esm/actions/ToastAction.js +1 -1
  32. package/esm/actions/index.d.ts +1 -0
  33. package/esm/components/CustomStyle.js +1 -1
  34. package/esm/components/LazyComponent.js +1 -1
  35. package/esm/components/Overlay.js +2 -2
  36. package/esm/components/PopOver.js +2 -2
  37. package/esm/env.js +1 -1
  38. package/esm/envOverwrite.js +1 -1
  39. package/esm/factory.js +2 -2
  40. package/esm/index.d.ts +2 -1
  41. package/esm/index.js +13 -13
  42. package/esm/locale.js +1 -1
  43. package/esm/polyfills.js +1 -1
  44. package/esm/renderers/Form.d.ts +6 -6
  45. package/esm/renderers/Form.js +168 -124
  46. package/esm/renderers/Item.d.ts +42 -66
  47. package/esm/renderers/Item.js +11 -41
  48. package/esm/renderers/Options.js +1 -2
  49. package/esm/renderers/Placeholder.js +1 -1
  50. package/esm/renderers/builtin.js +1 -1
  51. package/esm/renderers/register.js +1 -1
  52. package/esm/renderers/wrapControl.js +101 -47
  53. package/esm/store/app.js +8 -4
  54. package/esm/store/combo.d.ts +444 -1912
  55. package/esm/store/combo.js +9 -2
  56. package/esm/store/crud.d.ts +1 -0
  57. package/esm/store/crud.js +11 -5
  58. package/esm/store/form.d.ts +132 -892
  59. package/esm/store/form.js +83 -81
  60. package/esm/store/formItem.d.ts +5 -2
  61. package/esm/store/formItem.js +13 -2
  62. package/esm/store/iRenderer.js +2 -2
  63. package/esm/store/index.js +1 -1
  64. package/esm/store/list.js +1 -1
  65. package/esm/store/manager.js +1 -1
  66. package/esm/store/modal.js +1 -1
  67. package/esm/store/node.js +1 -1
  68. package/esm/store/pagination.js +1 -1
  69. package/esm/store/root.js +2 -2
  70. package/esm/store/service.js +4 -4
  71. package/esm/store/status.js +1 -1
  72. package/esm/store/table.d.ts +503 -2040
  73. package/esm/store/table.js +79 -55
  74. package/esm/store/table2.d.ts +49 -0
  75. package/esm/store/table2.js +37 -4
  76. package/esm/theme.js +1 -1
  77. package/esm/types.d.ts +17 -3
  78. package/esm/utils/Animation.js +1 -1
  79. package/esm/utils/ColorScale.js +1 -1
  80. package/esm/utils/DataSchema.js +1 -1
  81. package/esm/utils/DataScope.js +1 -1
  82. package/esm/utils/RootClose.js +1 -1
  83. package/esm/utils/SimpleMap.js +1 -1
  84. package/esm/utils/api.d.ts +2 -2
  85. package/esm/utils/api.js +113 -81
  86. package/esm/utils/arraySlice.js +1 -1
  87. package/esm/utils/attachmentAdpator.js +1 -1
  88. package/esm/utils/autobind.js +1 -1
  89. package/esm/utils/columnsSplit.js +1 -1
  90. package/esm/utils/dataMapping.js +4 -2
  91. package/esm/utils/date.js +1 -1
  92. package/esm/utils/debug.d.ts +2 -0
  93. package/esm/utils/debug.js +34 -7
  94. package/esm/utils/decodeEntity.js +1 -1
  95. package/esm/utils/dom.js +1 -1
  96. package/esm/utils/errors.js +1 -1
  97. package/esm/utils/escapeHtml.js +1 -1
  98. package/esm/utils/filter-schema.js +1 -1
  99. package/esm/utils/filter.js +1 -1
  100. package/esm/utils/formatDuration.js +1 -1
  101. package/esm/utils/formula.d.ts +0 -1
  102. package/esm/utils/formula.js +6 -9
  103. package/esm/utils/getVariable.js +1 -1
  104. package/esm/utils/grammar.js +1 -1
  105. package/esm/utils/handleAction.js +1 -1
  106. package/esm/utils/helper.d.ts +11 -1
  107. package/esm/utils/helper.js +14 -2
  108. package/esm/utils/highlight.js +1 -1
  109. package/esm/utils/icon.d.ts +4 -2
  110. package/esm/utils/icon.js +3 -2
  111. package/esm/utils/image.js +1 -1
  112. package/esm/utils/index.d.ts +1 -0
  113. package/esm/utils/isPureVariable.js +1 -1
  114. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  115. package/esm/utils/keyToPath.js +1 -1
  116. package/esm/utils/makeSorter.js +1 -1
  117. package/esm/utils/math.d.ts +3 -0
  118. package/esm/utils/math.js +52 -0
  119. package/esm/utils/memoryParse.js +1 -1
  120. package/esm/utils/normalizeLink.js +1 -1
  121. package/esm/utils/normalizeOptions.js +1 -1
  122. package/esm/utils/object.d.ts +7 -0
  123. package/esm/utils/object.js +13 -2
  124. package/esm/utils/offset.js +1 -1
  125. package/esm/utils/offsetParent.js +1 -1
  126. package/esm/utils/optionValueCompare.js +2 -2
  127. package/esm/utils/position.js +1 -1
  128. package/esm/utils/prettyBytes.js +1 -1
  129. package/esm/utils/renderer-event.d.ts +1 -1
  130. package/esm/utils/renderer-event.js +14 -6
  131. package/esm/utils/replaceText.js +1 -1
  132. package/esm/utils/resize-sensor.js +1 -1
  133. package/esm/utils/resolveCondition.js +1 -1
  134. package/esm/utils/resolveVariable.js +1 -1
  135. package/esm/utils/resolveVariableAndFilter.js +1 -1
  136. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  137. package/esm/utils/scrollPosition.js +1 -1
  138. package/esm/utils/string2regExp.js +1 -1
  139. package/esm/utils/stripNumber.js +1 -1
  140. package/esm/utils/style-helper.js +1 -1
  141. package/esm/utils/style.js +1 -1
  142. package/esm/utils/toNumber.js +1 -1
  143. package/esm/utils/tokenize.js +1 -1
  144. package/esm/utils/tpl-builtin.js +1 -1
  145. package/esm/utils/tpl-lodash.js +1 -1
  146. package/esm/utils/tpl.js +1 -1
  147. package/esm/utils/uncontrollable.js +1 -1
  148. package/esm/utils/validations.js +1 -1
  149. package/lib/Root.js +10 -7
  150. package/lib/RootRenderer.d.ts +1 -1
  151. package/lib/RootRenderer.js +11 -8
  152. package/lib/SchemaRenderer.js +12 -6
  153. package/lib/Scoped.d.ts +4 -1
  154. package/lib/Scoped.js +18 -13
  155. package/lib/StatusScoped.js +5 -2
  156. package/lib/WithRootStore.js +5 -2
  157. package/lib/WithStore.js +5 -2
  158. package/lib/actions/Action.d.ts +1 -0
  159. package/lib/actions/Action.js +62 -37
  160. package/lib/actions/AjaxAction.d.ts +6 -8
  161. package/lib/actions/AjaxAction.js +20 -18
  162. package/lib/actions/BreakAction.js +1 -1
  163. package/lib/actions/BroadcastAction.js +1 -1
  164. package/lib/actions/CmptAction.d.ts +1 -2
  165. package/lib/actions/CmptAction.js +46 -31
  166. package/lib/actions/ContinueAction.js +1 -1
  167. package/lib/actions/CopyAction.js +1 -1
  168. package/lib/actions/CustomAction.js +8 -5
  169. package/lib/actions/DialogAction.js +5 -6
  170. package/lib/actions/DrawerAction.js +4 -4
  171. package/lib/actions/EmailAction.js +1 -1
  172. package/lib/actions/LinkAction.js +1 -1
  173. package/lib/actions/LoopAction.js +1 -1
  174. package/lib/actions/PageAction.js +1 -1
  175. package/lib/actions/ParallelAction.js +1 -1
  176. package/lib/actions/StatusAction.d.ts +15 -0
  177. package/lib/actions/StatusAction.js +53 -0
  178. package/lib/actions/SwitchAction.js +1 -1
  179. package/lib/actions/ToastAction.js +1 -1
  180. package/lib/actions/index.d.ts +1 -0
  181. package/lib/components/CustomStyle.js +1 -1
  182. package/lib/components/LazyComponent.js +12 -14
  183. package/lib/components/Overlay.js +14 -14
  184. package/lib/components/PopOver.js +11 -10
  185. package/lib/env.js +4 -1
  186. package/lib/envOverwrite.js +1 -1
  187. package/lib/factory.js +11 -9
  188. package/lib/index.d.ts +2 -1
  189. package/lib/index.js +21 -19
  190. package/lib/locale.js +6 -3
  191. package/lib/polyfills.js +1 -1
  192. package/lib/renderers/Form.d.ts +6 -6
  193. package/lib/renderers/Form.js +180 -131
  194. package/lib/renderers/Item.d.ts +42 -66
  195. package/lib/renderers/Item.js +51 -75
  196. package/lib/renderers/Options.js +10 -5
  197. package/lib/renderers/Placeholder.js +1 -1
  198. package/lib/renderers/builtin.js +1 -1
  199. package/lib/renderers/register.js +1 -1
  200. package/lib/renderers/wrapControl.js +104 -47
  201. package/lib/store/app.js +14 -7
  202. package/lib/store/combo.d.ts +444 -1912
  203. package/lib/store/combo.js +9 -2
  204. package/lib/store/crud.d.ts +1 -0
  205. package/lib/store/crud.js +11 -5
  206. package/lib/store/form.d.ts +132 -892
  207. package/lib/store/form.js +81 -79
  208. package/lib/store/formItem.d.ts +5 -2
  209. package/lib/store/formItem.js +13 -2
  210. package/lib/store/iRenderer.js +8 -5
  211. package/lib/store/index.js +1 -1
  212. package/lib/store/list.js +1 -1
  213. package/lib/store/manager.js +1 -1
  214. package/lib/store/modal.js +1 -1
  215. package/lib/store/node.js +1 -1
  216. package/lib/store/pagination.js +1 -1
  217. package/lib/store/root.js +8 -5
  218. package/lib/store/service.js +4 -4
  219. package/lib/store/status.js +1 -1
  220. package/lib/store/table.d.ts +503 -2040
  221. package/lib/store/table.js +79 -55
  222. package/lib/store/table2.d.ts +49 -0
  223. package/lib/store/table2.js +36 -3
  224. package/lib/theme.js +6 -3
  225. package/lib/types.d.ts +17 -3
  226. package/lib/utils/Animation.js +1 -1
  227. package/lib/utils/ColorScale.js +1 -1
  228. package/lib/utils/DataSchema.js +1 -1
  229. package/lib/utils/DataScope.js +1 -1
  230. package/lib/utils/RootClose.js +1 -1
  231. package/lib/utils/SimpleMap.js +1 -1
  232. package/lib/utils/api.d.ts +2 -2
  233. package/lib/utils/api.js +113 -81
  234. package/lib/utils/arraySlice.js +1 -1
  235. package/lib/utils/attachmentAdpator.js +1 -1
  236. package/lib/utils/autobind.js +1 -1
  237. package/lib/utils/columnsSplit.js +8 -6
  238. package/lib/utils/dataMapping.js +4 -2
  239. package/lib/utils/date.js +1 -1
  240. package/lib/utils/debug.d.ts +2 -0
  241. package/lib/utils/debug.js +61 -33
  242. package/lib/utils/decodeEntity.js +1 -1
  243. package/lib/utils/dom.js +7 -5
  244. package/lib/utils/errors.js +1 -1
  245. package/lib/utils/escapeHtml.js +1 -1
  246. package/lib/utils/filter-schema.js +1 -1
  247. package/lib/utils/filter.js +1 -1
  248. package/lib/utils/formatDuration.js +1 -1
  249. package/lib/utils/formula.d.ts +0 -1
  250. package/lib/utils/formula.js +6 -10
  251. package/lib/utils/getVariable.js +1 -1
  252. package/lib/utils/grammar.js +1 -1
  253. package/lib/utils/handleAction.js +1 -1
  254. package/lib/utils/helper.d.ts +11 -1
  255. package/lib/utils/helper.js +14 -1
  256. package/lib/utils/highlight.js +8 -9
  257. package/lib/utils/icon.d.ts +4 -2
  258. package/lib/utils/icon.js +12 -10
  259. package/lib/utils/image.js +1 -1
  260. package/lib/utils/index.d.ts +1 -0
  261. package/lib/utils/isPureVariable.js +1 -1
  262. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  263. package/lib/utils/keyToPath.js +1 -1
  264. package/lib/utils/makeSorter.js +1 -1
  265. package/lib/utils/math.d.ts +3 -0
  266. package/lib/utils/math.js +58 -0
  267. package/lib/utils/memoryParse.js +1 -1
  268. package/lib/utils/normalizeLink.js +1 -1
  269. package/lib/utils/normalizeOptions.js +1 -1
  270. package/lib/utils/object.d.ts +7 -0
  271. package/lib/utils/object.js +13 -1
  272. package/lib/utils/offset.js +1 -1
  273. package/lib/utils/offsetParent.js +1 -1
  274. package/lib/utils/optionValueCompare.js +7 -3
  275. package/lib/utils/position.js +1 -1
  276. package/lib/utils/prettyBytes.js +1 -1
  277. package/lib/utils/renderer-event.d.ts +1 -1
  278. package/lib/utils/renderer-event.js +13 -5
  279. package/lib/utils/replaceText.js +1 -1
  280. package/lib/utils/resize-sensor.js +1 -1
  281. package/lib/utils/resolveCondition.js +1 -1
  282. package/lib/utils/resolveVariable.js +1 -1
  283. package/lib/utils/resolveVariableAndFilter.js +1 -1
  284. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  285. package/lib/utils/scrollPosition.js +1 -1
  286. package/lib/utils/string2regExp.js +1 -1
  287. package/lib/utils/stripNumber.js +1 -1
  288. package/lib/utils/style-helper.js +1 -1
  289. package/lib/utils/style.js +1 -1
  290. package/lib/utils/toNumber.js +1 -1
  291. package/lib/utils/tokenize.js +1 -1
  292. package/lib/utils/tpl-builtin.js +1 -1
  293. package/lib/utils/tpl-lodash.js +1 -1
  294. package/lib/utils/tpl.js +1 -1
  295. package/lib/utils/uncontrollable.js +1 -1
  296. package/lib/utils/validations.js +1 -1
  297. package/package.json +5 -5
@@ -3,19 +3,21 @@
3
3
  */
4
4
  import React from 'react';
5
5
  import { ClassNamesFn } from '../theme';
6
- export interface IconCheckedSchema {
6
+ interface IconCheckedSchema {
7
7
  id: string;
8
8
  name?: string;
9
9
  svg?: string;
10
10
  }
11
- export interface IconCheckedSchemaNew {
11
+ interface IconCheckedSchemaNew {
12
12
  type: 'icon';
13
13
  icon: IconCheckedSchema;
14
14
  }
15
15
  /**
16
+ * 废弃,不建议使用
16
17
  * 判断字符串来生成 i 或 img
17
18
  * @param icon icon 设置
18
19
  * @param className 内部用的 className
19
20
  * @param classNameProp amis 配置里设置的 className
20
21
  */
21
22
  export declare const generateIcon: (cx: ClassNamesFn, icon?: string | IconCheckedSchema | React.ReactNode | IconCheckedSchemaNew, className?: string, classNameProp?: string) => React.JSX.Element | null | undefined;
23
+ export {};
package/esm/utils/icon.js CHANGED
@@ -1,15 +1,16 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
6
6
  import React from 'react';
7
- import { isObject } from 'lodash';
7
+ import isObject from 'lodash/isObject';
8
8
 
9
9
  /**
10
10
  * @file 图标支持的公共方法,主要是支持自动识别地址和 icon-font
11
11
  */
12
12
  /**
13
+ * 废弃,不建议使用
13
14
  * 判断字符串来生成 i 或 img
14
15
  * @param icon icon 设置
15
16
  * @param className 内部用的 className
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -55,5 +55,6 @@ export * from './decodeEntity';
55
55
  export * from './style-helper';
56
56
  export * from './resolveCondition';
57
57
  export * from './arraySlice';
58
+ export * from './math';
58
59
  import animation from './Animation';
59
60
  export { animation };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -0,0 +1,3 @@
1
+ export declare function safeAdd(arg1: number, arg2: number): number;
2
+ export declare function safeSub(arg1: number, arg2: number): number;
3
+ export declare function numberFormatter(num: number | string, precision?: number): string;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * amis-core v3.3.0
3
+ * Copyright 2018-2023 fex
4
+ */
5
+
6
+ function safeAdd(arg1, arg2) {
7
+ var digits1, digits2, maxDigits;
8
+ try {
9
+ digits1 = arg1.toString().split('.')[1].length;
10
+ }
11
+ catch (e) {
12
+ digits1 = 0;
13
+ }
14
+ try {
15
+ digits2 = arg2.toString().split('.')[1].length;
16
+ }
17
+ catch (e) {
18
+ digits2 = 0;
19
+ }
20
+ maxDigits = Math.pow(10, Math.max(digits1, digits2));
21
+ return (arg1 * maxDigits + arg2 * maxDigits) / maxDigits;
22
+ }
23
+ //减
24
+ function safeSub(arg1, arg2) {
25
+ var digits1, digits2, maxDigits;
26
+ try {
27
+ digits1 = arg1.toString().split('.')[1].length;
28
+ }
29
+ catch (e) {
30
+ digits1 = 0;
31
+ }
32
+ try {
33
+ digits2 = arg2.toString().split('.')[1].length;
34
+ }
35
+ catch (e) {
36
+ digits2 = 0;
37
+ }
38
+ maxDigits = Math.pow(10, Math.max(digits1, digits2));
39
+ return (arg1 * maxDigits - arg2 * maxDigits) / maxDigits;
40
+ }
41
+ function numberFormatter(num, precision) {
42
+ if (precision === void 0) { precision = 0; }
43
+ var ZERO = 0;
44
+ var number = +num;
45
+ if (typeof number === 'number' && !isNaN(number)) {
46
+ var regexp = precision ? /(\d)(?=(\d{3})+\.)/g : /(\d)(?=(\d{3})+$)/g;
47
+ return number.toFixed(precision).replace(regexp, '$1,');
48
+ }
49
+ return ZERO.toFixed(precision);
50
+ }
51
+
52
+ export { numberFormatter, safeAdd, safeSub };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -5,6 +5,13 @@ export declare function createObject(superProps?: {
5
5
  }, properties?: any): object;
6
6
  export declare function extractObjectChain(value: any): object[];
7
7
  export declare function createObjectFromChain(chain: Array<object>): object;
8
+ /**
9
+ * 向最近一层插入新链
10
+ * @param obj
11
+ * @param value
12
+ * @returns
13
+ */
14
+ export declare function injectObjectChain(obj: any, value: any): object;
8
15
  export declare function cloneObject(target: any, persistOwnProps?: boolean): any;
9
16
  export declare function extendObject(target: any, src?: any, persistOwnProps?: boolean): any;
10
17
  export declare function isObject(obj: any): any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -50,6 +50,17 @@ function createObjectFromChain(chain) {
50
50
  }), value);
51
51
  });
52
52
  }
53
+ /**
54
+ * 向最近一层插入新链
55
+ * @param obj
56
+ * @param value
57
+ * @returns
58
+ */
59
+ function injectObjectChain(obj, value) {
60
+ var chain = extractObjectChain(obj);
61
+ chain.splice(chain.length - 1, 0, value);
62
+ return createObjectFromChain(chain);
63
+ }
53
64
  function cloneObject(target, persistOwnProps) {
54
65
  if (persistOwnProps === void 0) { persistOwnProps = true; }
55
66
  var obj = target && target.__super
@@ -164,4 +175,4 @@ function pickValues(names, data) {
164
175
  return ret;
165
176
  }
166
177
 
167
- export { cloneObject, createObject, createObjectFromChain, deleteVariable, extendObject, extractObjectChain, isObject, pickValues, setVariable };
178
+ export { cloneObject, createObject, createObjectFromChain, deleteVariable, extendObject, extractObjectChain, injectObjectChain, isObject, pickValues, setVariable };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,10 +1,10 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
6
6
  import './helper.js';
7
- import { isEqual } from 'lodash';
7
+ import isEqual from 'lodash/isEqual';
8
8
  import { isObject } from './object.js';
9
9
 
10
10
  function matchOptionValue(a, b, valueField) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -48,7 +48,7 @@ export interface RendererEventContext {
48
48
  [propName: string]: any;
49
49
  }
50
50
  export declare function createRendererEvent<T extends RendererEventContext>(type: string, context: T): RendererEvent<T>;
51
- export declare const bindEvent: (renderer: any) => (() => void) | undefined;
51
+ export declare const bindEvent: (renderer: any) => ((eventName?: string) => void) | undefined;
52
52
  export declare function dispatchEvent(e: string | React.MouseEvent<any>, renderer: React.Component<RendererProps>, scoped: IScopedContext, data: any, broadcast?: RendererEvent<any>): Promise<RendererEvent<any> | void>;
53
53
  export declare const getRendererEventListeners: () => RendererEventListener[];
54
54
  /**
@@ -1,18 +1,18 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
6
6
  import { __values, __awaiter, __generator, __assign } from 'tslib';
7
7
  import { runActions } from '../actions/Action.js';
8
- import { createObject } from './object.js';
8
+ import { extendObject, createObject } from './object.js';
9
9
  import debounce from 'lodash/debounce';
10
10
 
11
11
  var rendererEventListeners = [];
12
12
  // 创建渲染器事件对象
13
13
  function createRendererEvent(type, context) {
14
14
  var rendererEvent = {
15
- context: context,
15
+ context: extendObject({ pristineData: context.data }, context),
16
16
  type: type,
17
17
  prevented: false,
18
18
  stoped: false,
@@ -25,6 +25,9 @@ function createRendererEvent(type, context) {
25
25
  get data() {
26
26
  return rendererEvent.context.data;
27
27
  },
28
+ get pristineData() {
29
+ return rendererEvent.context.pristineData;
30
+ },
28
31
  setData: function (data) {
29
32
  rendererEvent.context.data = data;
30
33
  }
@@ -82,8 +85,13 @@ var bindEvent = function (renderer) {
82
85
  }
83
86
  finally { if (e_1) throw e_1.error; }
84
87
  }
85
- return function () {
86
- rendererEventListeners = rendererEventListeners.filter(function (item) { return item.renderer !== renderer; });
88
+ return function (eventName) {
89
+ // eventName用来避免过滤广播事件
90
+ rendererEventListeners = rendererEventListeners.filter(function (item) {
91
+ return item.renderer !== renderer && eventName !== undefined
92
+ ? item.type !== eventName
93
+ : true;
94
+ });
87
95
  };
88
96
  }
89
97
  return undefined;
@@ -133,7 +141,7 @@ function dispatchEvent(e, renderer, scoped, data, broadcast) {
133
141
  checkExecuted = function () {
134
142
  executedCount++;
135
143
  if (executedCount === listeners.length) {
136
- unbindEvent === null || unbindEvent === void 0 ? void 0 : unbindEvent();
144
+ unbindEvent === null || unbindEvent === void 0 ? void 0 : unbindEvent(eventName);
137
145
  }
138
146
  };
139
147
  _loop_2 = function (listener) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/esm/utils/tpl.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/lib/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -24,6 +24,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
24
24
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
25
  var isPlainObject__default = /*#__PURE__*/_interopDefaultLegacy(isPlainObject);
26
26
 
27
+ var __react_jsx__ = require('react');
28
+ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
29
+ (__react_jsx__["default"] || __react_jsx__).Fragment;
27
30
  var rootWrappers = [];
28
31
  function addRootWrapper(fn) {
29
32
  rootWrappers.push(fn);
@@ -47,12 +50,12 @@ var Root = /** @class */ (function (_super) {
47
50
  if (themeName === 'default') {
48
51
  themeName = 'cxd';
49
52
  }
50
- return (React__default["default"].createElement(WithRootStore.RootStoreContext.Provider, { value: rootStore },
51
- React__default["default"].createElement(theme.ThemeContext.Provider, { value: themeName },
52
- React__default["default"].createElement(locale.LocaleContext.Provider, { value: this.props.locale }, rootWrappers.reduce(function (props, wrapper) {
53
+ return (_J$X_(WithRootStore.RootStoreContext.Provider, { value: rootStore },
54
+ _J$X_(theme.ThemeContext.Provider, { value: themeName },
55
+ _J$X_(locale.LocaleContext.Provider, { value: this.props.locale }, rootWrappers.reduce(function (props, wrapper) {
53
56
  return tslib.__assign(tslib.__assign({}, props), { children: wrapper(props) });
54
57
  }, tslib.__assign(tslib.__assign({ pathPrefix: pathPrefix || '', schema: isPlainObject__default["default"](schema)
55
- ? tslib.__assign({ type: 'page' }, schema) : schema }, rest), { render: renderChild, rootStore: rootStore, resolveDefinitions: this.resolveDefinitions, location: location, data: data, env: env, classnames: theme$1.classnames, classPrefix: theme$1.classPrefix, locale: locale$1, translate: translate, children: (React__default["default"].createElement(RootRenderer.RootRenderer, tslib.__assign({ pathPrefix: pathPrefix || '', schema: isPlainObject__default["default"](schema)
58
+ ? tslib.__assign({ type: 'page' }, schema) : schema }, rest), { render: renderChild, rootStore: rootStore, resolveDefinitions: this.resolveDefinitions, location: location, data: data, env: env, classnames: theme$1.classnames, classPrefix: theme$1.classPrefix, locale: locale$1, translate: translate, children: (_J$X_(RootRenderer.RootRenderer, tslib.__assign({ pathPrefix: pathPrefix || '', schema: isPlainObject__default["default"](schema)
56
59
  ? tslib.__assign({ type: 'page' }, schema) : schema }, rest, { render: renderChild, rootStore: rootStore, resolveDefinitions: this.resolveDefinitions, location: location, data: data, context: context, env: env, classnames: theme$1.classnames, classPrefix: theme$1.classPrefix, locale: locale$1, translate: translate }))) })).children))));
57
60
  };
58
61
  tslib.__decorate([
@@ -100,9 +103,9 @@ function renderChild(prefix, node, props) {
100
103
  // 找渲染器也是在那,所以没办法在之前根据渲染器信息来包裹个组件下发 statusStore
101
104
  // 所以这里先根据 type 来处理一下
102
105
  // 等后续把状态处理再抽一层,可以把此处放到 SchemaRenderer 里面去
103
- return (React__default["default"].createElement(StatusScopedSchemaRenderer, tslib.__assign({ render: renderChild }, props, { schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
106
+ return (_J$X_(StatusScopedSchemaRenderer, tslib.__assign({ render: renderChild }, props, { schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
104
107
  }
105
- return (React__default["default"].createElement(SchemaRenderer.SchemaRenderer, tslib.__assign({ render: renderChild }, props, { schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
108
+ return (_J$X_(SchemaRenderer.SchemaRenderer, tslib.__assign({ render: renderChild }, props, { schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
106
109
  }
107
110
  var ScopedRootRenderer = StatusScoped.StatusScoped(Scoped.HocScoped(Root));
108
111
 
@@ -25,5 +25,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
25
25
  handleDrawerClose(): void;
26
26
  openFeedback(dialog: any, ctx: any): Promise<unknown>;
27
27
  reloadTarget(scoped: IScopedContext, target: string, data?: any): void;
28
- render(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
28
+ render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
29
29
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -27,6 +27,9 @@ var qs__default = /*#__PURE__*/_interopDefaultLegacy(qs);
27
27
  var pick__default = /*#__PURE__*/_interopDefaultLegacy(pick);
28
28
  var mapValues__default = /*#__PURE__*/_interopDefaultLegacy(mapValues);
29
29
 
30
+ var __react_jsx__ = require('react');
31
+ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
32
+ (__react_jsx__["default"] || __react_jsx__).Fragment;
30
33
  var RootRenderer = /** @class */ (function (_super) {
31
34
  tslib.__extends(RootRenderer, _super);
32
35
  function RootRenderer(props) {
@@ -128,7 +131,7 @@ var RootRenderer = /** @class */ (function (_super) {
128
131
  }
129
132
  else if (action.actionType === 'dialog') {
130
133
  store.setCurrentAction(action);
131
- store.openDialog(ctx, undefined, action.callback, delegate);
134
+ store.openDialog(ctx, undefined, action.callback, delegate || this.context);
132
135
  }
133
136
  else if (action.actionType === 'drawer') {
134
137
  store.setCurrentAction(action);
@@ -268,7 +271,7 @@ var RootRenderer = /** @class */ (function (_super) {
268
271
  });
269
272
  store.openDialog(ctx, undefined, function (confirmed) {
270
273
  resolve(confirmed);
271
- });
274
+ }, _this.context);
272
275
  });
273
276
  };
274
277
  RootRenderer.prototype.reloadTarget = function (scoped, target, data) {
@@ -282,12 +285,12 @@ var RootRenderer = /** @class */ (function (_super) {
282
285
  return render('error', {
283
286
  type: 'alert',
284
287
  level: 'danger'
285
- }, tslib.__assign(tslib.__assign({}, rest), { topStore: this.store, body: (React__default["default"].createElement(React__default["default"].Fragment, null,
286
- React__default["default"].createElement("h3", null, (_a = this.store.runtimeError) === null || _a === void 0 ? void 0 : _a.toString()),
287
- React__default["default"].createElement("pre", null,
288
- React__default["default"].createElement("code", null, this.store.runtimeErrorStack.componentStack)))) }));
288
+ }, tslib.__assign(tslib.__assign({}, rest), { topStore: this.store, body: (_J$X_(React__default["default"].Fragment, null,
289
+ _J$X_("h3", null, (_a = this.store.runtimeError) === null || _a === void 0 ? void 0 : _a.toString()),
290
+ _J$X_("pre", null,
291
+ _J$X_("code", null, this.store.runtimeErrorStack.componentStack)))) }));
289
292
  }
290
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
293
+ return (_J$X_(React__default["default"].Fragment, null,
291
294
  render(pathPrefix, schema, tslib.__assign(tslib.__assign({}, rest), { topStore: this.store, data: this.store.downStream, onAction: this.handleAction })),
292
295
  render('spinner', {
293
296
  type: 'spinner'