amis-core 6.7.0 → 6.9.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +24 -2
  4. package/esm/SchemaRenderer.d.ts +0 -1
  5. package/esm/SchemaRenderer.js +44 -20
  6. package/esm/Scoped.d.ts +1 -1
  7. package/esm/Scoped.js +2 -1
  8. package/esm/StatusScoped.js +1 -1
  9. package/esm/WithRootStore.js +1 -1
  10. package/esm/WithStore.js +14 -14
  11. package/esm/actions/Action.js +2 -1
  12. package/esm/actions/AjaxAction.js +1 -1
  13. package/esm/actions/BreakAction.js +1 -1
  14. package/esm/actions/BroadcastAction.js +1 -1
  15. package/esm/actions/CmptAction.js +57 -50
  16. package/esm/actions/ContinueAction.js +1 -1
  17. package/esm/actions/CopyAction.js +1 -1
  18. package/esm/actions/CustomAction.js +2 -1
  19. package/esm/actions/DialogAction.js +3 -1
  20. package/esm/actions/DrawerAction.js +2 -1
  21. package/esm/actions/EmailAction.js +1 -1
  22. package/esm/actions/EventAction.js +2 -1
  23. package/esm/actions/LinkAction.js +1 -1
  24. package/esm/actions/LoopAction.js +2 -1
  25. package/esm/actions/PageAction.js +1 -1
  26. package/esm/actions/ParallelAction.js +1 -1
  27. package/esm/actions/PrintAction.js +1 -1
  28. package/esm/actions/StatusAction.js +1 -1
  29. package/esm/actions/SwitchAction.js +1 -1
  30. package/esm/actions/ToastAction.js +3 -3
  31. package/esm/actions/WaitAction.js +1 -1
  32. package/esm/components/CustomStyle.js +1 -1
  33. package/esm/components/ErrorBoundary.js +1 -1
  34. package/esm/components/LazyComponent.d.ts +40 -2
  35. package/esm/components/LazyComponent.js +13 -7
  36. package/esm/components/Overlay.js +2 -1
  37. package/esm/components/PopOver.d.ts +1 -1
  38. package/esm/components/PopOver.js +2 -1
  39. package/esm/env.d.ts +0 -4
  40. package/esm/env.js +1 -1
  41. package/esm/envOverwrite.js +1 -1
  42. package/esm/factory.d.ts +19 -2
  43. package/esm/factory.js +205 -45
  44. package/esm/index.d.ts +4 -4
  45. package/esm/index.js +9 -5
  46. package/esm/locale.d.ts +1 -1
  47. package/esm/locale.js +14 -2
  48. package/esm/polyfills.js +1 -1
  49. package/esm/renderers/Form.d.ts +5 -5
  50. package/esm/renderers/Form.js +68 -29
  51. package/esm/renderers/Item.d.ts +109 -18
  52. package/esm/renderers/Item.js +164 -126
  53. package/esm/renderers/Options.d.ts +3 -3
  54. package/esm/renderers/Options.js +43 -19
  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 +3 -3
  59. package/esm/renderers/wrapControl.js +25 -10
  60. package/esm/store/app.d.ts +3 -3
  61. package/esm/store/app.js +2 -1
  62. package/esm/store/combo.d.ts +425 -15
  63. package/esm/store/combo.js +1 -1
  64. package/esm/store/crud.d.ts +3 -3
  65. package/esm/store/crud.js +2 -1
  66. package/esm/store/form.d.ts +178 -7
  67. package/esm/store/form.js +29 -6
  68. package/esm/store/formItem.d.ts +5 -0
  69. package/esm/store/formItem.js +32 -10
  70. package/esm/store/iRenderer.d.ts +4 -3
  71. package/esm/store/iRenderer.js +29 -4
  72. package/esm/store/index.d.ts +1 -0
  73. package/esm/store/index.js +3 -2
  74. package/esm/store/list.d.ts +3 -3
  75. package/esm/store/list.js +1 -1
  76. package/esm/store/manager.js +1 -1
  77. package/esm/store/modal.d.ts +3 -3
  78. package/esm/store/modal.js +1 -1
  79. package/esm/store/node.js +1 -1
  80. package/esm/store/pagination.d.ts +3 -3
  81. package/esm/store/pagination.js +2 -1
  82. package/esm/store/root.d.ts +5 -3
  83. package/esm/store/root.js +46 -21
  84. package/esm/store/service.d.ts +3 -3
  85. package/esm/store/service.js +11 -4
  86. package/esm/store/status.js +1 -1
  87. package/esm/store/table.d.ts +396 -36
  88. package/esm/store/table.js +84 -54
  89. package/esm/store/table2.d.ts +3 -3
  90. package/esm/store/table2.js +1 -1
  91. package/esm/theme.d.ts +1 -1
  92. package/esm/theme.js +13 -2
  93. package/esm/types.d.ts +19 -2
  94. package/esm/utils/Animation.js +1 -1
  95. package/esm/utils/ColorScale.js +1 -1
  96. package/esm/utils/DataSchema.js +1 -1
  97. package/esm/utils/DataScope.js +1 -1
  98. package/esm/utils/RootClose.js +1 -1
  99. package/esm/utils/SimpleMap.js +1 -1
  100. package/esm/utils/api.d.ts +21 -1
  101. package/esm/utils/api.js +138 -41
  102. package/esm/utils/arraySlice.js +1 -1
  103. package/esm/utils/attachmentAdpator.js +1 -1
  104. package/esm/utils/autobind.js +1 -1
  105. package/esm/utils/browser.js +1 -1
  106. package/esm/utils/columnsSplit.js +1 -1
  107. package/esm/utils/concatData.js +1 -1
  108. package/esm/utils/dataMapping.js +1 -1
  109. package/esm/utils/date.js +1 -1
  110. package/esm/utils/debug.js +17 -3
  111. package/esm/utils/decodeEntity.js +1 -1
  112. package/esm/utils/dom.js +1 -1
  113. package/esm/utils/errors.js +1 -1
  114. package/esm/utils/escapeHtml.js +1 -1
  115. package/esm/utils/filter-schema.js +1 -1
  116. package/esm/utils/filter.js +1 -1
  117. package/esm/utils/formatDuration.js +1 -1
  118. package/esm/utils/formula.js +2 -1
  119. package/esm/utils/getVariable.js +1 -1
  120. package/esm/utils/grammar.js +1 -1
  121. package/esm/utils/handleAction.js +1 -1
  122. package/esm/utils/helper.d.ts +4 -1
  123. package/esm/utils/helper.js +20 -4
  124. package/esm/utils/highlight.js +1 -1
  125. package/esm/utils/icon.js +1 -1
  126. package/esm/utils/image.js +1 -1
  127. package/esm/utils/isPureVariable.js +2 -2
  128. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  129. package/esm/utils/keyToPath.js +1 -1
  130. package/esm/utils/labelToString.js +4 -1
  131. package/esm/utils/makeSorter.js +1 -1
  132. package/esm/utils/math.js +1 -1
  133. package/esm/utils/memoryParse.d.ts +2 -1
  134. package/esm/utils/memoryParse.js +10 -6
  135. package/esm/utils/normalizeLink.js +1 -1
  136. package/esm/utils/normalizeOptions.js +1 -1
  137. package/esm/utils/object.d.ts +2 -4
  138. package/esm/utils/object.js +1 -1
  139. package/esm/utils/offset.js +1 -1
  140. package/esm/utils/offsetParent.js +1 -1
  141. package/esm/utils/optionValueCompare.js +1 -1
  142. package/esm/utils/position.js +1 -1
  143. package/esm/utils/prettyBytes.js +1 -1
  144. package/esm/utils/printElement.js +1 -1
  145. package/esm/utils/renderer-event.js +1 -1
  146. package/esm/utils/replaceText.js +1 -1
  147. package/esm/utils/resize-sensor.js +30 -1
  148. package/esm/utils/resolveCondition.js +2 -1
  149. package/esm/utils/resolveVariable.js +1 -1
  150. package/esm/utils/resolveVariableAndFilter.js +1 -1
  151. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  152. package/esm/utils/scrollPosition.js +1 -1
  153. package/esm/utils/string2regExp.js +1 -1
  154. package/esm/utils/stripNumber.js +1 -1
  155. package/esm/utils/style-helper.js +1 -1
  156. package/esm/utils/style.js +2 -1
  157. package/esm/utils/toNumber.js +1 -1
  158. package/esm/utils/tokenize.js +1 -1
  159. package/esm/utils/tpl-builtin.js +2 -1
  160. package/esm/utils/tpl-lodash.js +2 -1
  161. package/esm/utils/tpl.js +1 -1
  162. package/esm/utils/uncontrollable.js +1 -1
  163. package/esm/utils/validateId.js +1 -1
  164. package/esm/utils/validations.js +2 -1
  165. package/esm/utils/visitedCache.d.ts +46 -0
  166. package/esm/utils/visitedCache.js +124 -0
  167. package/lib/Root.js +1 -1
  168. package/lib/RootRenderer.js +23 -1
  169. package/lib/SchemaRenderer.d.ts +0 -1
  170. package/lib/SchemaRenderer.js +42 -18
  171. package/lib/Scoped.d.ts +1 -1
  172. package/lib/Scoped.js +2 -1
  173. package/lib/StatusScoped.js +1 -1
  174. package/lib/WithRootStore.js +1 -1
  175. package/lib/WithStore.js +14 -14
  176. package/lib/actions/Action.js +2 -1
  177. package/lib/actions/AjaxAction.js +1 -1
  178. package/lib/actions/BreakAction.js +1 -1
  179. package/lib/actions/BroadcastAction.js +1 -1
  180. package/lib/actions/CmptAction.js +56 -49
  181. package/lib/actions/ContinueAction.js +1 -1
  182. package/lib/actions/CopyAction.js +1 -1
  183. package/lib/actions/CustomAction.js +2 -1
  184. package/lib/actions/DialogAction.js +3 -1
  185. package/lib/actions/DrawerAction.js +2 -1
  186. package/lib/actions/EmailAction.js +1 -1
  187. package/lib/actions/EventAction.js +2 -1
  188. package/lib/actions/LinkAction.js +1 -1
  189. package/lib/actions/LoopAction.js +2 -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 +2 -2
  196. package/lib/actions/WaitAction.js +1 -1
  197. package/lib/components/CustomStyle.js +1 -1
  198. package/lib/components/ErrorBoundary.js +1 -1
  199. package/lib/components/LazyComponent.d.ts +40 -2
  200. package/lib/components/LazyComponent.js +14 -7
  201. package/lib/components/Overlay.js +2 -1
  202. package/lib/components/PopOver.d.ts +1 -1
  203. package/lib/components/PopOver.js +2 -1
  204. package/lib/env.d.ts +0 -4
  205. package/lib/env.js +1 -1
  206. package/lib/envOverwrite.js +1 -1
  207. package/lib/factory.d.ts +19 -2
  208. package/lib/factory.js +211 -44
  209. package/lib/index.d.ts +4 -4
  210. package/lib/index.js +16 -2
  211. package/lib/locale.d.ts +1 -1
  212. package/lib/locale.js +14 -2
  213. package/lib/polyfills.js +1 -1
  214. package/lib/renderers/Form.d.ts +5 -5
  215. package/lib/renderers/Form.js +65 -26
  216. package/lib/renderers/Item.d.ts +110 -19
  217. package/lib/renderers/Item.js +163 -125
  218. package/lib/renderers/Options.d.ts +3 -3
  219. package/lib/renderers/Options.js +43 -19
  220. package/lib/renderers/Placeholder.js +1 -1
  221. package/lib/renderers/builtin.js +1 -1
  222. package/lib/renderers/register.js +1 -1
  223. package/lib/renderers/wrapControl.d.ts +3 -3
  224. package/lib/renderers/wrapControl.js +25 -10
  225. package/lib/store/app.d.ts +3 -3
  226. package/lib/store/app.js +2 -1
  227. package/lib/store/combo.d.ts +449 -40
  228. package/lib/store/combo.js +1 -1
  229. package/lib/store/crud.d.ts +3 -3
  230. package/lib/store/crud.js +3 -2
  231. package/lib/store/form.d.ts +188 -18
  232. package/lib/store/form.js +29 -6
  233. package/lib/store/formItem.d.ts +5 -0
  234. package/lib/store/formItem.js +32 -10
  235. package/lib/store/iRenderer.d.ts +4 -3
  236. package/lib/store/iRenderer.js +29 -4
  237. package/lib/store/index.d.ts +1 -0
  238. package/lib/store/index.js +3 -1
  239. package/lib/store/list.d.ts +3 -3
  240. package/lib/store/list.js +1 -1
  241. package/lib/store/manager.js +1 -1
  242. package/lib/store/modal.d.ts +3 -3
  243. package/lib/store/modal.js +1 -1
  244. package/lib/store/node.js +1 -1
  245. package/lib/store/pagination.d.ts +3 -3
  246. package/lib/store/pagination.js +2 -1
  247. package/lib/store/root.d.ts +5 -3
  248. package/lib/store/root.js +44 -19
  249. package/lib/store/service.d.ts +3 -3
  250. package/lib/store/service.js +11 -4
  251. package/lib/store/status.js +1 -1
  252. package/lib/store/table.d.ts +416 -57
  253. package/lib/store/table.js +84 -54
  254. package/lib/store/table2.d.ts +3 -3
  255. package/lib/store/table2.js +1 -1
  256. package/lib/theme.d.ts +1 -1
  257. package/lib/theme.js +13 -2
  258. package/lib/types.d.ts +19 -2
  259. package/lib/utils/Animation.js +1 -1
  260. package/lib/utils/ColorScale.js +1 -1
  261. package/lib/utils/DataSchema.js +1 -1
  262. package/lib/utils/DataScope.js +1 -1
  263. package/lib/utils/RootClose.js +1 -1
  264. package/lib/utils/SimpleMap.js +1 -1
  265. package/lib/utils/api.d.ts +21 -1
  266. package/lib/utils/api.js +141 -40
  267. package/lib/utils/arraySlice.js +1 -1
  268. package/lib/utils/attachmentAdpator.js +1 -1
  269. package/lib/utils/autobind.js +1 -1
  270. package/lib/utils/browser.js +1 -1
  271. package/lib/utils/columnsSplit.js +1 -1
  272. package/lib/utils/concatData.js +1 -1
  273. package/lib/utils/dataMapping.js +1 -1
  274. package/lib/utils/date.js +1 -1
  275. package/lib/utils/debug.js +18 -4
  276. package/lib/utils/decodeEntity.js +1 -1
  277. package/lib/utils/dom.js +1 -1
  278. package/lib/utils/errors.js +1 -1
  279. package/lib/utils/escapeHtml.js +1 -1
  280. package/lib/utils/filter-schema.js +1 -1
  281. package/lib/utils/filter.js +1 -1
  282. package/lib/utils/formatDuration.js +1 -1
  283. package/lib/utils/formula.js +2 -1
  284. package/lib/utils/getVariable.js +1 -1
  285. package/lib/utils/grammar.js +1 -1
  286. package/lib/utils/handleAction.js +1 -1
  287. package/lib/utils/helper.d.ts +4 -1
  288. package/lib/utils/helper.js +19 -3
  289. package/lib/utils/highlight.js +1 -1
  290. package/lib/utils/icon.js +1 -1
  291. package/lib/utils/image.js +1 -1
  292. package/lib/utils/isPureVariable.js +2 -2
  293. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  294. package/lib/utils/keyToPath.js +1 -1
  295. package/lib/utils/labelToString.js +4 -1
  296. package/lib/utils/makeSorter.js +1 -1
  297. package/lib/utils/math.js +1 -1
  298. package/lib/utils/memoryParse.d.ts +2 -1
  299. package/lib/utils/memoryParse.js +10 -6
  300. package/lib/utils/normalizeLink.js +1 -1
  301. package/lib/utils/normalizeOptions.js +1 -1
  302. package/lib/utils/object.d.ts +2 -4
  303. package/lib/utils/object.js +1 -1
  304. package/lib/utils/offset.js +1 -1
  305. package/lib/utils/offsetParent.js +1 -1
  306. package/lib/utils/optionValueCompare.js +1 -1
  307. package/lib/utils/position.js +1 -1
  308. package/lib/utils/prettyBytes.js +1 -1
  309. package/lib/utils/printElement.js +1 -1
  310. package/lib/utils/renderer-event.js +1 -1
  311. package/lib/utils/replaceText.js +1 -1
  312. package/lib/utils/resize-sensor.js +30 -1
  313. package/lib/utils/resolveCondition.js +2 -1
  314. package/lib/utils/resolveVariable.js +1 -1
  315. package/lib/utils/resolveVariableAndFilter.js +1 -1
  316. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  317. package/lib/utils/scrollPosition.js +1 -1
  318. package/lib/utils/string2regExp.js +1 -1
  319. package/lib/utils/stripNumber.js +1 -1
  320. package/lib/utils/style-helper.js +1 -1
  321. package/lib/utils/style.js +2 -1
  322. package/lib/utils/toNumber.js +1 -1
  323. package/lib/utils/tokenize.js +1 -1
  324. package/lib/utils/tpl-builtin.js +2 -1
  325. package/lib/utils/tpl-lodash.js +2 -1
  326. package/lib/utils/tpl.js +1 -1
  327. package/lib/utils/uncontrollable.js +1 -1
  328. package/lib/utils/validateId.js +1 -1
  329. package/lib/utils/validations.js +2 -1
  330. package/lib/utils/visitedCache.d.ts +46 -0
  331. package/lib/utils/visitedCache.js +128 -0
  332. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -19,6 +19,7 @@ require('moment');
19
19
  var object = require('../utils/object.js');
20
20
  var isPureVariable = require('../utils/isPureVariable.js');
21
21
  require('@rc-component/mini-decimal');
22
+ require('../utils/memoryParse.js');
22
23
  var resolveVariableAndFilter = require('../utils/resolveVariableAndFilter.js');
23
24
  require('lodash/isPlainObject');
24
25
  require('../utils/filter.js');
@@ -533,12 +534,12 @@ function registerOptionsControl(config) {
533
534
  var formItem = this.props.formItem;
534
535
  formItem && formItem.setLoading(value);
535
536
  };
536
- FormOptionsItem.prototype.handleOptionAdd = function (idx, value, skipForm) {
537
+ FormOptionsItem.prototype.handleOptionAdd = function (idx, value, skipForm, callback) {
537
538
  var _a, _b;
538
539
  if (idx === void 0) { idx = -1; }
539
540
  if (skipForm === void 0) { skipForm = false; }
540
541
  return tslib.__awaiter(this, void 0, void 0, function () {
541
- var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, customAddPrevent, result, _d, prevent, payload, e_1, isPrevented, options;
542
+ var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, customAddPrevent, result, _d, prevent, payload, e_1, isPrevented, ret, options;
542
543
  var _e;
543
544
  var _this = this;
544
545
  return tslib.__generator(this, function (_f) {
@@ -668,13 +669,24 @@ function registerOptionsControl(config) {
668
669
  if (isPrevented) {
669
670
  return [2 /*return*/];
670
671
  }
671
- if (!(((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
672
- (parent === null || parent === void 0 ? void 0 : parent.defer))) return [3 /*break*/, 13];
673
- return [4 /*yield*/, this.deferLoad(parent)];
672
+ return [4 /*yield*/, (callback === null || callback === void 0 ? void 0 : callback(result))];
674
673
  case 12:
675
- _f.sent();
676
- return [3 /*break*/, 14];
674
+ ret = _f.sent();
675
+ if (!(ret === false)) return [3 /*break*/, 13];
676
+ // 如果回调里面返回 false,就不继续了。
677
+ return [2 /*return*/];
677
678
  case 13:
679
+ if (!
680
+ // 如果是懒加载的,只懒加载当前节点。
681
+ (((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
682
+ (parent === null || parent === void 0 ? void 0 : parent.defer)))
683
+ // 如果是懒加载的,只懒加载当前节点。
684
+ return [3 /*break*/, 15];
685
+ return [4 /*yield*/, this.deferLoad(parent)];
686
+ case 14:
687
+ _f.sent();
688
+ return [3 /*break*/, 16];
689
+ case 15:
678
690
  if (source && addApi) {
679
691
  // 如果配置了 source 且配置了 addApi 直接重新拉取接口就够了
680
692
  // 不能不判断 addApi 就刷新,因为有些场景就是临时添加的。
@@ -692,18 +704,18 @@ function registerOptionsControl(config) {
692
704
  }
693
705
  model.setOptions(options, this.changeOptionValue, data);
694
706
  }
695
- _f.label = 14;
696
- case 14: return [2 /*return*/];
707
+ _f.label = 16;
708
+ case 16: return [2 /*return*/];
697
709
  }
698
710
  });
699
711
  });
700
712
  };
701
- FormOptionsItem.prototype.handleOptionEdit = function (value, origin, skipForm) {
713
+ FormOptionsItem.prototype.handleOptionEdit = function (value, origin, skipForm, callback) {
702
714
  var _a, _b;
703
715
  if (origin === void 0) { origin = value; }
704
716
  if (skipForm === void 0) { skipForm = false; }
705
717
  return tslib.__awaiter(this, void 0, void 0, function () {
706
- var _c, editControls, editDialog, disabled, labelField, valueField, onOpenDialog, editApi, editInitApi, env, source, data, model, optionLabel, __, customEditPrevent, result, _d, prevent, payload, e_2, isPrevented, indexes;
718
+ var _c, editControls, editDialog, disabled, labelField, valueField, onOpenDialog, editApi, editInitApi, env, source, data, model, optionLabel, __, customEditPrevent, result, _d, prevent, payload, e_2, isPrevented, ret, indexes;
707
719
  var _this = this;
708
720
  return tslib.__generator(this, function (_e) {
709
721
  switch (_e.label) {
@@ -812,7 +824,14 @@ function registerOptionsControl(config) {
812
824
  if (isPrevented) {
813
825
  return [2 /*return*/];
814
826
  }
815
- if (source && editApi) {
827
+ return [4 /*yield*/, (callback === null || callback === void 0 ? void 0 : callback(result))];
828
+ case 12:
829
+ ret = _e.sent();
830
+ if (ret === false) {
831
+ // 如果回调里面返回 false,就不继续了。
832
+ return [2 /*return*/];
833
+ }
834
+ else if (source && editApi) {
816
835
  this.reload();
817
836
  }
818
837
  else {
@@ -826,10 +845,10 @@ function registerOptionsControl(config) {
826
845
  });
827
846
  });
828
847
  };
829
- FormOptionsItem.prototype.handleOptionDelete = function (value) {
848
+ FormOptionsItem.prototype.handleOptionDelete = function (value, callback) {
830
849
  var _a, _b;
831
850
  return tslib.__awaiter(this, void 0, void 0, function () {
832
- var _c, deleteConfirmText, disabled, data, deleteApi, onDelete, env, model, source, valueField, __, ctx, confirmed, _d, isPrevented, delConfirmPrevent, result, options, indexes, e_3;
851
+ var _c, deleteConfirmText, disabled, data, deleteApi, onDelete, env, model, source, valueField, __, ctx, confirmed, _d, isPrevented, delConfirmPrevent, result, ret, options, indexes, e_3;
833
852
  return tslib.__generator(this, function (_e) {
834
853
  switch (_e.label) {
835
854
  case 0:
@@ -885,7 +904,12 @@ function registerOptionsControl(config) {
885
904
  if (onDelete) {
886
905
  onDelete(ctx);
887
906
  }
888
- if (source) {
907
+ ret = callback === null || callback === void 0 ? void 0 : callback(ctx);
908
+ if (ret === false) {
909
+ // 如果回调里面返回 false,就不继续了。
910
+ return [2 /*return*/];
911
+ }
912
+ else if (source) {
889
913
  this.reload();
890
914
  }
891
915
  else {
@@ -999,19 +1023,19 @@ function registerOptionsControl(config) {
999
1023
  tslib.__decorate([
1000
1024
  helper.autobind,
1001
1025
  tslib.__metadata("design:type", Function),
1002
- tslib.__metadata("design:paramtypes", [Object, Object, Boolean]),
1026
+ tslib.__metadata("design:paramtypes", [Object, Object, Boolean, Function]),
1003
1027
  tslib.__metadata("design:returntype", Promise)
1004
1028
  ], FormOptionsItem.prototype, "handleOptionAdd", null);
1005
1029
  tslib.__decorate([
1006
1030
  helper.autobind,
1007
1031
  tslib.__metadata("design:type", Function),
1008
- tslib.__metadata("design:paramtypes", [Object, Object, Boolean]),
1032
+ tslib.__metadata("design:paramtypes", [Object, Object, Boolean, Function]),
1009
1033
  tslib.__metadata("design:returntype", Promise)
1010
1034
  ], FormOptionsItem.prototype, "handleOptionEdit", null);
1011
1035
  tslib.__decorate([
1012
1036
  helper.autobind,
1013
1037
  tslib.__metadata("design:type", Function),
1014
- tslib.__metadata("design:paramtypes", [Object]),
1038
+ tslib.__metadata("design:paramtypes", [Object, Function]),
1015
1039
  tslib.__metadata("design:returntype", Promise)
1016
1040
  ], FormOptionsItem.prototype, "handleOptionDelete", null);
1017
1041
  return FormOptionsItem;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -3,7 +3,7 @@ import { IFormStore, IFormItemStore } from '../store/form';
3
3
  import { RendererProps } from '../factory';
4
4
  import { IIRendererStore } from '../store';
5
5
  import hoistNonReactStatic from 'hoist-non-react-statics';
6
- import { Api } from '../types';
6
+ import { Api, DataChangeReason } from '../types';
7
7
  export interface ControlOutterProps extends RendererProps {
8
8
  formStore?: IFormStore;
9
9
  name?: string;
@@ -40,12 +40,12 @@ export interface ControlOutterProps extends RendererProps {
40
40
  [propName: string]: any;
41
41
  };
42
42
  store?: IIRendererStore;
43
- onChange?: (value: any, name: string, submit?: boolean, changePristine?: boolean) => void;
43
+ onChange?: (value: any, name: string, submit?: boolean, changePristine?: boolean, changeReason?: DataChangeReason) => void;
44
44
  formItemDispatchEvent: (type: string, data: any) => void;
45
45
  formItemRef?: (control: any) => void;
46
46
  }
47
47
  export interface ControlProps {
48
- onBulkChange?: (values: Object) => void;
48
+ onBulkChange?: (values: Object, submitOnChange?: boolean, changeReason?: DataChangeReason) => void;
49
49
  onChange?: (value: any, name: string, submit: boolean) => void;
50
50
  store: IIRendererStore;
51
51
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -29,6 +29,7 @@ require('../utils/columnsSplit.js');
29
29
  var getVariable = require('../utils/getVariable.js');
30
30
  require('lodash/isPlainObject');
31
31
  require('amis-formula');
32
+ require('../utils/memoryParse.js');
32
33
  var tokenize = require('../utils/tokenize.js');
33
34
  require('../utils/DataSchema.js');
34
35
  require('../utils/DataScope.js');
@@ -77,14 +78,14 @@ function wrapControl(ComposedComponent) {
77
78
  tslib.__extends(class_1, _super);
78
79
  function class_1(props) {
79
80
  var _this = this;
80
- var _a;
81
+ var _a, _b;
81
82
  _this = _super.call(this, props) || this;
82
83
  _this.value = undefined;
83
84
  _this.lazyEmitChange = debounce__default["default"](_this.emitChange.bind(_this), 250, {
84
85
  trailing: true,
85
86
  leading: false
86
87
  });
87
- var _b = _this.props, form = _b.formStore, formItem$1 = _b.formItem, rootStore = _b.rootStore, store = _b.store, onChange = _b.onChange, data = _b.data, inputGroupControl = _b.inputGroupControl, colIndex = _b.colIndex, rowIndex = _b.rowIndex, _c = _b.$schema, id = _c.id, type = _c.type, required = _c.required, validations = _c.validations, validationErrors = _c.validationErrors, unique = _c.unique, value = _c.value, extraName = _c.extraName; _c.multiple; var delimiter = _c.delimiter, valueField = _c.valueField, labelField = _c.labelField, joinValues = _c.joinValues, extractValue = _c.extractValue, selectFirst = _c.selectFirst, autoFill = _c.autoFill, clearValueOnHidden = _c.clearValueOnHidden, validateApi = _c.validateApi, minLength = _c.minLength, maxLength = _c.maxLength, validateOnChange = _c.validateOnChange, label = _c.label, pagination = _c.pagination;
88
+ var _c = _this.props, form = _c.formStore, formItem$1 = _c.formItem, rootStore = _c.rootStore, store = _c.store, onChange = _c.onChange, data = _c.data, inputGroupControl = _c.inputGroupControl, colIndex = _c.colIndex, rowIndex = _c.rowIndex, _d = _c.$schema, id = _d.id, type = _d.type, required = _d.required, validations = _d.validations, validationErrors = _d.validationErrors, unique = _d.unique, value = _d.value, extraName = _d.extraName; _d.multiple; var delimiter = _d.delimiter, valueField = _d.valueField, labelField = _d.labelField, joinValues = _d.joinValues, extractValue = _d.extractValue, selectFirst = _d.selectFirst, autoFill = _d.autoFill, clearValueOnHidden = _d.clearValueOnHidden, validateApi = _d.validateApi, minLength = _d.minLength, maxLength = _d.maxLength, validateOnChange = _d.validateOnChange, label = _d.label, pagination = _d.pagination;
88
89
  _this.getValue = _this.getValue.bind(_this);
89
90
  _this.setValue = _this.setValue.bind(_this);
90
91
  _this.handleChange = _this.handleChange.bind(_this);
@@ -94,7 +95,8 @@ function wrapControl(ComposedComponent) {
94
95
  _this.validate = _this.validate.bind(_this);
95
96
  _this.flushChange = _this.flushChange.bind(_this);
96
97
  _this.renderChild = _this.renderChild.bind(_this);
97
- var name = _this.props.$schema.name;
98
+ var name = _this.props.$schema.name ||
99
+ ((_a = ComposedComponent.defaultProps) === null || _a === void 0 ? void 0 : _a.name);
98
100
  // 如果 name 是表达式
99
101
  // 扩充 each 用法
100
102
  if (formula.isExpression(name)) {
@@ -119,7 +121,7 @@ function wrapControl(ComposedComponent) {
119
121
  model.config(tslib.__assign(tslib.__assign({}, pick__default["default"](tslib.__assign(tslib.__assign({}, ComposedComponent.defaultProps), _this.props.$schema), ['multiple'])), { id: id, type: type, required: props.required || required, unique: unique, value: value, isValueSchemaExp: formula.isExpression(value), rules: validations, messages: validationErrors, delimiter: delimiter, valueField: valueField, labelField: labelField, joinValues: joinValues, extractValue: extractValue, selectFirst: selectFirst, autoFill: autoFill, clearValueOnHidden: clearValueOnHidden, validateApi: validateApi, minLength: minLength, maxLength: maxLength, validateOnChange: validateOnChange, label: label, inputGroupControl: inputGroupControl, extraName: extraName, pagination: pagination }));
120
122
  // issue 这个逻辑应该在 combo 里面自己实现。
121
123
  if (_this.model.unique &&
122
- ((_a = form === null || form === void 0 ? void 0 : form.parentStore) === null || _a === void 0 ? void 0 : _a.storeType) === combo.ComboStore.name) {
124
+ ((_b = form === null || form === void 0 ? void 0 : form.parentStore) === null || _b === void 0 ? void 0 : _b.storeType) === combo.ComboStore.name) {
123
125
  var combo$1 = form.parentStore;
124
126
  combo$1.bindUniuqueItem(model);
125
127
  }
@@ -339,7 +341,9 @@ function wrapControl(ComposedComponent) {
339
341
  mobxStateTree.isAlive(formItem) &&
340
342
  formItem.removeSubFormItem(this.model);
341
343
  this.model.clearValueOnHidden &&
342
- ((_a = this.model.form) === null || _a === void 0 ? void 0 : _a.deleteValueByName(this.model.name));
344
+ ((_a = this.model.form) === null || _a === void 0 ? void 0 : _a.deleteValueByName(this.model.name, {
345
+ type: 'hide'
346
+ }));
343
347
  mobxStateTree.isAlive(rootStore) && rootStore.removeStore(this.model);
344
348
  }
345
349
  delete this.model;
@@ -462,7 +466,7 @@ function wrapControl(ComposedComponent) {
462
466
  var oldValue = this.model.value;
463
467
  value = api.callStrFunction.call(this, pipeOut, ['value', 'oldValue', 'data'], value, oldValue, data);
464
468
  }
465
- this.model.changeTmpValue(value, 'input');
469
+ this.model.changeTmpValue(value, type === 'formula' ? 'formulaChanged' : 'input');
466
470
  if (changeImmediately || conrolChangeImmediately || !formInited) {
467
471
  this.emitChange(submitOnChange);
468
472
  }
@@ -512,13 +516,24 @@ function wrapControl(ComposedComponent) {
512
516
  if (!this.model) {
513
517
  return;
514
518
  }
519
+ var changeReason = {
520
+ type: 'input'
521
+ };
522
+ if (model.changeMotivation === 'formulaChanged') {
523
+ changeReason.type = 'formula';
524
+ }
525
+ else if (model.changeMotivation === 'initialValue' ||
526
+ model.changeMotivation === 'formInited' ||
527
+ model.changeMotivation === 'defaultValue') {
528
+ changeReason.type = 'init';
529
+ }
515
530
  if (model.extraName) {
516
531
  var values = model.splitExtraValue(value);
517
- onChange === null || onChange === void 0 ? void 0 : onChange(values[0], model.name);
518
- onChange === null || onChange === void 0 ? void 0 : onChange(values[1], model.extraName, submitOnChange === true);
532
+ onChange === null || onChange === void 0 ? void 0 : onChange(values[0], model.name, undefined, undefined, changeReason);
533
+ onChange === null || onChange === void 0 ? void 0 : onChange(values[1], model.extraName, submitOnChange === true, undefined, changeReason);
519
534
  }
520
535
  else {
521
- onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, submitOnChange === true);
536
+ onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, submitOnChange === true, undefined, changeReason);
522
537
  }
523
538
  this.checkValidate();
524
539
  };
@@ -53,10 +53,10 @@ export declare const AppStore: import("mobx-state-tree").IModelType<{
53
53
  readonly pristineDiff: any;
54
54
  } & {
55
55
  setTopStore(value: any): void;
56
- initData(data?: object, skipSetPristine?: boolean): void;
56
+ initData(data?: object, skipSetPristine?: boolean, changeReason?: import("../types").DataChangeReason | undefined): void;
57
57
  reset(): void;
58
- updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined): void;
59
- changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined): void;
58
+ updateData(data?: object, tag?: object | undefined, replace?: boolean | undefined, concatFields?: string | string[] | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
59
+ changeValue(name: string, value: any, changePristine?: boolean | undefined, force?: boolean | undefined, otherModifier?: ((data: Object) => void) | undefined, changeReason?: import("../types").DataChangeReason | undefined): void;
60
60
  setCurrentAction(action: any, resolveDefinitions?: ((schema: any) => any) | undefined): void;
61
61
  openDialog(ctx: any, additonal?: object | undefined, callback?: ((confirmed: boolean, values: any) => void) | undefined, scoped?: import("..").IScopedContext | undefined): void;
62
62
  closeDialog(confirmed?: any, data?: any): void;
package/lib/store/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-beta.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -16,6 +16,7 @@ require('../utils/browser.js');
16
16
  require('../utils/ColorScale.js');
17
17
  require('../utils/columnsSplit.js');
18
18
  var object = require('../utils/object.js');
19
+ require('../utils/memoryParse.js');
19
20
  require('amis-formula');
20
21
  require('lodash/isPlainObject');
21
22
  require('../utils/DataSchema.js');