amis-core 3.1.1 → 3.2.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 (281) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +2 -2
  4. package/esm/SchemaRenderer.js +3 -2
  5. package/esm/Scoped.js +2 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.d.ts +4 -24
  8. package/esm/WithRootStore.js +12 -4
  9. package/esm/WithStore.js +23 -16
  10. package/esm/actions/Action.js +14 -14
  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 -1
  18. package/esm/actions/DialogAction.d.ts +2 -0
  19. package/esm/actions/DialogAction.js +40 -23
  20. package/esm/actions/DrawerAction.js +4 -4
  21. package/esm/actions/EmailAction.js +1 -1
  22. package/esm/actions/LinkAction.js +1 -1
  23. package/esm/actions/LoopAction.js +1 -1
  24. package/esm/actions/PageAction.js +1 -1
  25. package/esm/actions/ParallelAction.js +1 -1
  26. package/esm/actions/SwitchAction.js +1 -1
  27. package/esm/actions/ToastAction.js +1 -1
  28. package/esm/components/CustomStyle.js +1 -1
  29. package/esm/components/LazyComponent.js +1 -1
  30. package/esm/components/Overlay.js +2 -1
  31. package/esm/components/PopOver.js +2 -1
  32. package/esm/env.js +1 -1
  33. package/esm/envOverwrite.js +1 -1
  34. package/esm/factory.js +1 -1
  35. package/esm/index.d.ts +1 -0
  36. package/esm/index.js +6 -4
  37. package/esm/locale.js +1 -1
  38. package/esm/polyfills.d.ts +3 -0
  39. package/esm/polyfills.js +18 -0
  40. package/esm/renderers/Form.d.ts +1 -1
  41. package/esm/renderers/Form.js +17 -7
  42. package/esm/renderers/Item.d.ts +88 -59
  43. package/esm/renderers/Item.js +86 -40
  44. package/esm/renderers/Options.js +1 -1
  45. package/esm/renderers/Placeholder.js +1 -1
  46. package/esm/renderers/builtin.js +1 -1
  47. package/esm/renderers/register.js +1 -1
  48. package/esm/renderers/wrapControl.d.ts +4 -24
  49. package/esm/renderers/wrapControl.js +51 -53
  50. package/esm/store/app.js +37 -3
  51. package/esm/store/combo.d.ts +168 -28
  52. package/esm/store/combo.js +1 -1
  53. package/esm/store/crud.d.ts +3 -2
  54. package/esm/store/crud.js +12 -5
  55. package/esm/store/form.d.ts +72 -12
  56. package/esm/store/form.js +4 -4
  57. package/esm/store/formItem.d.ts +2 -1
  58. package/esm/store/formItem.js +7 -2
  59. package/esm/store/iRenderer.js +2 -1
  60. package/esm/store/index.js +1 -1
  61. package/esm/store/list.d.ts +1 -0
  62. package/esm/store/list.js +8 -2
  63. package/esm/store/manager.js +1 -1
  64. package/esm/store/modal.js +1 -1
  65. package/esm/store/node.js +1 -1
  66. package/esm/store/pagination.js +1 -1
  67. package/esm/store/root.js +2 -1
  68. package/esm/store/service.js +14 -9
  69. package/esm/store/status.js +1 -1
  70. package/esm/store/table.d.ts +145 -24
  71. package/esm/store/table.js +8 -2
  72. package/esm/store/table2.js +1 -1
  73. package/esm/theme.js +1 -1
  74. package/esm/types.d.ts +5 -2
  75. package/esm/utils/Animation.js +1 -1
  76. package/esm/utils/ColorScale.js +1 -1
  77. package/esm/utils/DataSchema.d.ts +3 -2
  78. package/esm/utils/DataSchema.js +27 -7
  79. package/esm/utils/DataScope.d.ts +10 -3
  80. package/esm/utils/DataScope.js +50 -12
  81. package/esm/utils/RootClose.js +1 -1
  82. package/esm/utils/SimpleMap.js +1 -1
  83. package/esm/utils/api.js +40 -32
  84. package/esm/utils/arraySlice.d.ts +1 -0
  85. package/esm/utils/arraySlice.js +76 -0
  86. package/esm/utils/attachmentAdpator.js +1 -1
  87. package/esm/utils/autobind.js +1 -1
  88. package/esm/utils/columnsSplit.js +1 -1
  89. package/esm/utils/dataMapping.js +26 -18
  90. package/esm/utils/date.js +1 -1
  91. package/esm/utils/debug.js +1 -1
  92. package/esm/utils/decodeEntity.js +1 -1
  93. package/esm/utils/dom.js +4 -1
  94. package/esm/utils/errors.js +1 -1
  95. package/esm/utils/escapeHtml.js +1 -1
  96. package/esm/utils/filter-schema.js +1 -1
  97. package/esm/utils/filter.js +1 -1
  98. package/esm/utils/formatDuration.js +1 -1
  99. package/esm/utils/formula.js +1 -1
  100. package/esm/utils/getVariable.js +1 -1
  101. package/esm/utils/grammar.js +1 -1
  102. package/esm/utils/handleAction.js +1 -1
  103. package/esm/utils/helper.d.ts +8 -1
  104. package/esm/utils/helper.js +57 -10
  105. package/esm/utils/highlight.js +1 -1
  106. package/esm/utils/icon.js +1 -1
  107. package/esm/utils/image.js +1 -1
  108. package/esm/utils/index.d.ts +1 -0
  109. package/esm/utils/isPureVariable.js +1 -1
  110. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  111. package/esm/utils/keyToPath.js +1 -1
  112. package/esm/utils/makeSorter.js +1 -1
  113. package/esm/utils/memoryParse.js +1 -1
  114. package/esm/utils/normalizeLink.js +18 -9
  115. package/esm/utils/normalizeOptions.js +1 -1
  116. package/esm/utils/object.js +1 -1
  117. package/esm/utils/offset.js +1 -1
  118. package/esm/utils/offsetParent.js +1 -1
  119. package/esm/utils/optionValueCompare.js +1 -1
  120. package/esm/utils/position.js +1 -1
  121. package/esm/utils/prettyBytes.js +1 -1
  122. package/esm/utils/renderer-event.js +1 -1
  123. package/esm/utils/replaceText.js +1 -1
  124. package/esm/utils/resize-sensor.js +1 -1
  125. package/esm/utils/resolveCondition.js +1 -1
  126. package/esm/utils/resolveVariable.js +1 -1
  127. package/esm/utils/resolveVariableAndFilter.js +1 -1
  128. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  129. package/esm/utils/scrollPosition.js +1 -1
  130. package/esm/utils/string2regExp.js +1 -1
  131. package/esm/utils/stripNumber.js +1 -1
  132. package/esm/utils/style-helper.js +1 -1
  133. package/esm/utils/style.js +1 -1
  134. package/esm/utils/toNumber.js +1 -1
  135. package/esm/utils/tokenize.js +1 -1
  136. package/esm/utils/tpl-builtin.js +1 -1
  137. package/esm/utils/tpl-lodash.js +1 -1
  138. package/esm/utils/tpl.js +1 -1
  139. package/esm/utils/uncontrollable.js +1 -1
  140. package/esm/utils/validations.js +1 -1
  141. package/lib/Root.js +1 -1
  142. package/lib/RootRenderer.d.ts +1 -1
  143. package/lib/RootRenderer.js +2 -2
  144. package/lib/SchemaRenderer.js +3 -2
  145. package/lib/Scoped.js +2 -1
  146. package/lib/StatusScoped.js +1 -1
  147. package/lib/WithRootStore.d.ts +4 -24
  148. package/lib/WithRootStore.js +12 -4
  149. package/lib/WithStore.js +23 -16
  150. package/lib/actions/Action.js +14 -14
  151. package/lib/actions/AjaxAction.js +1 -1
  152. package/lib/actions/BreakAction.js +1 -1
  153. package/lib/actions/BroadcastAction.js +1 -1
  154. package/lib/actions/CmptAction.js +2 -2
  155. package/lib/actions/ContinueAction.js +1 -1
  156. package/lib/actions/CopyAction.js +1 -1
  157. package/lib/actions/CustomAction.js +2 -1
  158. package/lib/actions/DialogAction.d.ts +2 -0
  159. package/lib/actions/DialogAction.js +40 -23
  160. package/lib/actions/DrawerAction.js +4 -4
  161. package/lib/actions/EmailAction.js +1 -1
  162. package/lib/actions/LinkAction.js +1 -1
  163. package/lib/actions/LoopAction.js +1 -1
  164. package/lib/actions/PageAction.js +1 -1
  165. package/lib/actions/ParallelAction.js +1 -1
  166. package/lib/actions/SwitchAction.js +1 -1
  167. package/lib/actions/ToastAction.js +1 -1
  168. package/lib/components/CustomStyle.js +1 -1
  169. package/lib/components/LazyComponent.js +1 -1
  170. package/lib/components/Overlay.js +2 -1
  171. package/lib/components/PopOver.js +2 -1
  172. package/lib/env.js +1 -1
  173. package/lib/envOverwrite.js +1 -1
  174. package/lib/factory.js +1 -1
  175. package/lib/index.d.ts +1 -0
  176. package/lib/index.js +7 -2
  177. package/lib/locale.js +1 -1
  178. package/lib/polyfills.d.ts +3 -0
  179. package/lib/polyfills.js +20 -0
  180. package/lib/renderers/Form.d.ts +1 -1
  181. package/lib/renderers/Form.js +17 -7
  182. package/lib/renderers/Item.d.ts +88 -59
  183. package/lib/renderers/Item.js +86 -40
  184. package/lib/renderers/Options.js +1 -1
  185. package/lib/renderers/Placeholder.js +1 -1
  186. package/lib/renderers/builtin.js +1 -1
  187. package/lib/renderers/register.js +1 -1
  188. package/lib/renderers/wrapControl.d.ts +4 -24
  189. package/lib/renderers/wrapControl.js +51 -53
  190. package/lib/store/app.js +36 -2
  191. package/lib/store/combo.d.ts +168 -28
  192. package/lib/store/combo.js +1 -1
  193. package/lib/store/crud.d.ts +3 -2
  194. package/lib/store/crud.js +12 -5
  195. package/lib/store/form.d.ts +72 -12
  196. package/lib/store/form.js +4 -4
  197. package/lib/store/formItem.d.ts +2 -1
  198. package/lib/store/formItem.js +7 -2
  199. package/lib/store/iRenderer.js +2 -1
  200. package/lib/store/index.js +1 -1
  201. package/lib/store/list.d.ts +1 -0
  202. package/lib/store/list.js +8 -2
  203. package/lib/store/manager.js +1 -1
  204. package/lib/store/modal.js +1 -1
  205. package/lib/store/node.js +1 -1
  206. package/lib/store/pagination.js +1 -1
  207. package/lib/store/root.js +2 -1
  208. package/lib/store/service.js +14 -9
  209. package/lib/store/status.js +1 -1
  210. package/lib/store/table.d.ts +145 -24
  211. package/lib/store/table.js +7 -1
  212. package/lib/store/table2.js +1 -1
  213. package/lib/theme.js +1 -1
  214. package/lib/types.d.ts +5 -2
  215. package/lib/utils/Animation.js +1 -1
  216. package/lib/utils/ColorScale.js +1 -1
  217. package/lib/utils/DataSchema.d.ts +3 -2
  218. package/lib/utils/DataSchema.js +27 -7
  219. package/lib/utils/DataScope.d.ts +10 -3
  220. package/lib/utils/DataScope.js +50 -11
  221. package/lib/utils/RootClose.js +1 -1
  222. package/lib/utils/SimpleMap.js +1 -1
  223. package/lib/utils/api.js +39 -31
  224. package/lib/utils/arraySlice.d.ts +1 -0
  225. package/lib/utils/arraySlice.js +80 -0
  226. package/lib/utils/attachmentAdpator.js +1 -1
  227. package/lib/utils/autobind.js +1 -1
  228. package/lib/utils/columnsSplit.js +1 -1
  229. package/lib/utils/dataMapping.js +26 -18
  230. package/lib/utils/date.js +1 -1
  231. package/lib/utils/debug.js +1 -1
  232. package/lib/utils/decodeEntity.js +1 -1
  233. package/lib/utils/dom.js +4 -1
  234. package/lib/utils/errors.js +1 -1
  235. package/lib/utils/escapeHtml.js +1 -1
  236. package/lib/utils/filter-schema.js +1 -1
  237. package/lib/utils/filter.js +1 -1
  238. package/lib/utils/formatDuration.js +1 -1
  239. package/lib/utils/formula.js +1 -1
  240. package/lib/utils/getVariable.js +1 -1
  241. package/lib/utils/grammar.js +1 -1
  242. package/lib/utils/handleAction.js +1 -1
  243. package/lib/utils/helper.d.ts +8 -1
  244. package/lib/utils/helper.js +57 -9
  245. package/lib/utils/highlight.js +1 -1
  246. package/lib/utils/icon.js +1 -1
  247. package/lib/utils/image.js +1 -1
  248. package/lib/utils/index.d.ts +1 -0
  249. package/lib/utils/isPureVariable.js +1 -1
  250. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  251. package/lib/utils/keyToPath.js +1 -1
  252. package/lib/utils/makeSorter.js +1 -1
  253. package/lib/utils/memoryParse.js +1 -1
  254. package/lib/utils/normalizeLink.js +18 -9
  255. package/lib/utils/normalizeOptions.js +1 -1
  256. package/lib/utils/object.js +1 -1
  257. package/lib/utils/offset.js +1 -1
  258. package/lib/utils/offsetParent.js +1 -1
  259. package/lib/utils/optionValueCompare.js +1 -1
  260. package/lib/utils/position.js +1 -1
  261. package/lib/utils/prettyBytes.js +1 -1
  262. package/lib/utils/renderer-event.js +1 -1
  263. package/lib/utils/replaceText.js +1 -1
  264. package/lib/utils/resize-sensor.js +1 -1
  265. package/lib/utils/resolveCondition.js +1 -1
  266. package/lib/utils/resolveVariable.js +1 -1
  267. package/lib/utils/resolveVariableAndFilter.js +1 -1
  268. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  269. package/lib/utils/scrollPosition.js +1 -1
  270. package/lib/utils/string2regExp.js +1 -1
  271. package/lib/utils/stripNumber.js +1 -1
  272. package/lib/utils/style-helper.js +1 -1
  273. package/lib/utils/style.js +1 -1
  274. package/lib/utils/toNumber.js +1 -1
  275. package/lib/utils/tokenize.js +1 -1
  276. package/lib/utils/tpl-builtin.js +1 -1
  277. package/lib/utils/tpl-lodash.js +1 -1
  278. package/lib/utils/tpl.js +1 -1
  279. package/lib/utils/uncontrollable.js +1 -1
  280. package/lib/utils/validations.js +1 -1
  281. package/package.json +8 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -256,7 +256,7 @@ export declare const autobind: typeof autobindMethod;
256
256
  export declare const bulkBindFunctions: <T extends {
257
257
  [propName: string]: any;
258
258
  }>(context: T, funNames: FunctionPropertyNames<T>[]) => void;
259
- export declare function sortArray<T extends any>(items: Array<T>, field: string, dir: -1 | 1): Array<T>;
259
+ export declare function sortArray<T extends any>(items: Array<T>, field: string, dir: -1 | 1, fieldGetter?: (item: T, field: string) => any): Array<T>;
260
260
  export declare function hasFile(object: any): boolean;
261
261
  export declare function qsstringify(data: any, options?: any, keepEmptyArray?: boolean): string;
262
262
  export declare function qsparse(data: string, options?: any): qs.ParsedQs;
@@ -314,6 +314,13 @@ export declare function hashCode(s: string): number;
314
314
  * @param mapper
315
315
  */
316
316
  export declare function JSONTraverse(json: any, mapper: (value: any, key: string | number, host: Object) => any): void;
317
+ /**
318
+ * 每层都会执行,返回新的对象,新对象不会递归下去
319
+ * @param json
320
+ * @param mapper
321
+ * @returns
322
+ */
323
+ export declare function JSONValueMap(json: any, mapper: (value: any, key: string | number, host: Object, stack: Array<Object>) => any, stack?: Array<Object>): any;
317
324
  export declare function convertArrayValueToMoment(value: number[], types: string[], mom: moment.Moment): moment.Moment;
318
325
  export declare function getRange(min: number, max: number, step?: number): number[];
319
326
  export declare function repeatCount(count: number, iterator: (index: number) => any): any[];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -858,11 +858,11 @@ var autobind = autobindMethod;
858
858
  var bulkBindFunctions = function (context, funNames) {
859
859
  funNames.forEach(function (key) { return (context[key] = context[key].bind(context)); });
860
860
  };
861
- function sortArray(items, field, dir) {
861
+ function sortArray(items, field, dir, fieldGetter) {
862
862
  return items.sort(function (a, b) {
863
863
  var ret;
864
- var a1 = a[field];
865
- var b1 = b[field];
864
+ var a1 = fieldGetter ? fieldGetter(a, field) : a[field];
865
+ var b1 = fieldGetter ? fieldGetter(b, field) : b[field];
866
866
  if (typeof a1 === 'number' && typeof b1 === 'number') {
867
867
  ret = a1 < b1 ? -1 : a1 === b1 ? 0 : 1;
868
868
  }
@@ -885,11 +885,12 @@ function qsstringify(data, options, keepEmptyArray) {
885
885
  arrayFormat: 'indices',
886
886
  encodeValuesOnly: true
887
887
  }; }
888
- // qs会保留空字符串。fix: Combo模式的空数组,无法清空。改为存为空字符串;只转换一层
889
- keepEmptyArray &&
890
- Object.keys(data).forEach(function (key) {
891
- Array.isArray(data[key]) && !data[key].length && (data[key] = '');
888
+ // qs会保留空字符串。fix: Combo模式的空数组,无法清空。改为存为空字符串;
889
+ if (keepEmptyArray) {
890
+ data = JSONValueMap(data, function (value) {
891
+ return Array.isArray(value) && !value.length ? '' : value;
892
892
  });
893
+ }
893
894
  return qs.stringify(data, options);
894
895
  }
895
896
  function qsparse(data, options) {
@@ -958,6 +959,7 @@ function chainFunctions() {
958
959
  function chainEvents(props, schema) {
959
960
  var ret = {};
960
961
  Object.keys(props).forEach(function (key) {
962
+ var _a;
961
963
  if (key.substr(0, 2) === 'on' &&
962
964
  typeof props[key] === 'function' &&
963
965
  typeof schema[key] === 'function' &&
@@ -971,7 +973,7 @@ function chainEvents(props, schema) {
971
973
  }
972
974
  }
973
975
  else {
974
- ret[key] = props[key];
976
+ ret[key] = (_a = props[key]) !== null && _a !== void 0 ? _a : schema[key];
975
977
  }
976
978
  });
977
979
  return ret;
@@ -1237,6 +1239,51 @@ function JSONTraverse(json, mapper) {
1237
1239
  }
1238
1240
  });
1239
1241
  }
1242
+ /**
1243
+ * 每层都会执行,返回新的对象,新对象不会递归下去
1244
+ * @param json
1245
+ * @param mapper
1246
+ * @returns
1247
+ */
1248
+ function JSONValueMap(json, mapper, stack) {
1249
+ if (stack === void 0) { stack = []; }
1250
+ if (!isPlainObject(json) && !Array.isArray(json)) {
1251
+ return json;
1252
+ }
1253
+ var iterator = function (origin, key, host, stack) {
1254
+ if (stack === void 0) { stack = []; }
1255
+ var maped = mapper(origin, key, host, stack);
1256
+ if (maped === origin && (isPlainObject(origin) || Array.isArray(origin))) {
1257
+ return JSONValueMap(origin, mapper, stack);
1258
+ }
1259
+ return maped;
1260
+ };
1261
+ if (Array.isArray(json)) {
1262
+ var flag_1 = false;
1263
+ var mapped = json.map(function (value, index) {
1264
+ var result = iterator(value, index, json, [json].concat(stack));
1265
+ if (result !== value) {
1266
+ flag_1 = true;
1267
+ return result;
1268
+ }
1269
+ return value;
1270
+ });
1271
+ return flag_1 ? mapped : json;
1272
+ }
1273
+ var flag = false;
1274
+ var toUpdate = {};
1275
+ Object.keys(json).forEach(function (key) {
1276
+ var value = json[key];
1277
+ var result = iterator(value, key, json, [json].concat(stack));
1278
+ if (result !== value) {
1279
+ flag = true;
1280
+ toUpdate[key] = result;
1281
+ return;
1282
+ }
1283
+ });
1284
+ return flag
1285
+ ? __assign(__assign({}, json), toUpdate) : json;
1286
+ }
1240
1287
  function convertArrayValueToMoment(value, types, mom) {
1241
1288
  if (value.length === 0)
1242
1289
  return mom;
@@ -1290,4 +1337,4 @@ function parseQuery(location) {
1290
1337
  return merge(normalizedQuery, hashQuery);
1291
1338
  }
1292
1339
 
1293
- export { JSONTraverse, SkipOperation, __uri, anyChanged, autobind, bulkBindFunctions, camel, chainEvents, chainFunctions, convertArrayValueToMoment, detectPropValueChanged, difference, eachTree, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
1340
+ export { JSONTraverse, JSONValueMap, SkipOperation, __uri, anyChanged, autobind, bulkBindFunctions, camel, chainEvents, chainFunctions, convertArrayValueToMoment, detectPropValueChanged, difference, eachTree, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/esm/utils/icon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -54,5 +54,6 @@ export * from './toNumber';
54
54
  export * from './decodeEntity';
55
55
  export * from './style-helper';
56
56
  export * from './resolveCondition';
57
+ export * from './arraySlice';
57
58
  import animation from './Animation';
58
59
  export { animation };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -14,13 +14,21 @@ var normalizeLink = function (to, location) {
14
14
  }
15
15
  var idx = to.indexOf('?');
16
16
  var idx2 = to.indexOf('#');
17
- var pathname = ~idx
18
- ? to.substring(0, idx)
19
- : ~idx2
20
- ? to.substring(0, idx2)
21
- : to;
22
- var search = ~idx ? to.substring(idx, ~idx2 ? idx2 : undefined) : '';
23
- var hash = ~idx2 ? to.substring(idx2) : location.hash;
17
+ var pathname = to;
18
+ var search = '';
19
+ var hash = location.hash;
20
+ // host?a=a#b 的情况
21
+ if (idx < idx2) {
22
+ pathname = ~idx ? to.substring(0, idx) : ~idx2 ? to.substring(0, idx2) : to;
23
+ hash = ~idx2 ? to.substring(idx2) : location.hash;
24
+ search = ~idx ? to.substring(idx, ~idx2 ? idx2 : undefined) : '';
25
+ }
26
+ // host#b?a=a 的情况
27
+ else if (idx > idx2) {
28
+ pathname = ~idx2 ? to.substring(0, idx2) : ~idx ? to.substring(0, idx) : to;
29
+ hash = ~idx2 ? to.substring(idx2, ~idx ? idx : undefined) : location.hash;
30
+ search = ~idx ? to.substring(idx) : '';
31
+ }
24
32
  if (!pathname) {
25
33
  pathname = location.pathname;
26
34
  }
@@ -37,7 +45,8 @@ var normalizeLink = function (to, location) {
37
45
  }
38
46
  pathname = paths.concat(pathname).join('/');
39
47
  }
40
- return pathname + search + hash;
48
+ var rest = idx < idx2 ? search + hash : hash + search;
49
+ return pathname + rest;
41
50
  };
42
51
 
43
52
  export { normalizeLink };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.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.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.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.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -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 | React.ReactFragment | null | undefined;
28
+ render(): string | number | boolean | React.JSX.Element | Iterable<React.ReactNode> | null | undefined;
29
29
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -128,7 +128,7 @@ var RootRenderer = /** @class */ (function (_super) {
128
128
  }
129
129
  else if (action.actionType === 'dialog') {
130
130
  store.setCurrentAction(action);
131
- store.openDialog(ctx, undefined, undefined, delegate);
131
+ store.openDialog(ctx, undefined, action.callback, delegate);
132
132
  }
133
133
  else if (action.actionType === 'drawer') {
134
134
  store.setCurrentAction(action);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -63,7 +63,8 @@ var RENDERER_TRANSMISSION_OMIT_PROPS = [
63
63
  'id',
64
64
  'inputOnly',
65
65
  'label',
66
- 'renderLabel'
66
+ 'renderLabel',
67
+ 'trackExpression'
67
68
  ];
68
69
  var componentCache = new SimpleMap.SimpleMap();
69
70
  var SchemaRenderer = /** @class */ (function (_super) {
package/lib/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -46,6 +46,7 @@ require('lodash/camelCase');
46
46
  require('uncontrollable');
47
47
  require('./utils/validations.js');
48
48
  require('./utils/resolveCondition.js');
49
+ require('mobx');
49
50
  require('./utils/Animation.js');
50
51
 
51
52
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.2.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -333,30 +333,10 @@ export declare const RootStoreContext: React.Context<{
333
333
  export declare function withRootStore<T extends React.ComponentType<React.ComponentProps<T> & {
334
334
  rootStore: IRendererStore;
335
335
  }>>(ComposedComponent: T): {
336
- new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">> | Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>): {
337
- render(): React.JSX.Element;
338
- context: unknown;
339
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
340
- forceUpdate(callback?: (() => void) | undefined): void;
341
- readonly props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>;
342
- state: Readonly<{}>;
343
- refs: {
344
- [key: string]: React.ReactInstance;
345
- };
346
- componentDidMount?(): void;
347
- shouldComponentUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): boolean;
348
- componentWillUnmount?(): void;
349
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
350
- getSnapshotBeforeUpdate?(prevProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, prevState: Readonly<{}>): any;
351
- componentDidUpdate?(prevProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, prevState: Readonly<{}>, snapshot?: any): void;
352
- componentWillMount?(): void;
353
- UNSAFE_componentWillMount?(): void;
354
- componentWillReceiveProps?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextContext: any): void;
355
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextContext: any): void;
356
- componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): void;
357
- UNSAFE_componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>, nextState: Readonly<{}>, nextContext: any): void;
358
- };
359
- new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>, context: any): {
336
+ new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>): {
337
+ ref: any;
338
+ getWrappedInstance(): any;
339
+ refFn(ref: any): void;
360
340
  render(): React.JSX.Element;
361
341
  context: unknown;
362
342
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "rootStore">>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;