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
 
@@ -15,6 +15,7 @@ import 'moment';
15
15
  import { createObject, setVariable } from '../utils/object.js';
16
16
  import { isPureVariable } from '../utils/isPureVariable.js';
17
17
  import '@rc-component/mini-decimal';
18
+ import '../utils/memoryParse.js';
18
19
  import { resolveVariableAndFilter } from '../utils/resolveVariableAndFilter.js';
19
20
  import 'lodash/isPlainObject';
20
21
  import '../utils/filter.js';
@@ -518,12 +519,12 @@ function registerOptionsControl(config) {
518
519
  var formItem = this.props.formItem;
519
520
  formItem && formItem.setLoading(value);
520
521
  };
521
- FormOptionsItem.prototype.handleOptionAdd = function (idx, value, skipForm) {
522
+ FormOptionsItem.prototype.handleOptionAdd = function (idx, value, skipForm, callback) {
522
523
  var _a, _b;
523
524
  if (idx === void 0) { idx = -1; }
524
525
  if (skipForm === void 0) { skipForm = false; }
525
526
  return __awaiter(this, void 0, void 0, function () {
526
- 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;
527
+ 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;
527
528
  var _e;
528
529
  var _this = this;
529
530
  return __generator(this, function (_f) {
@@ -653,13 +654,24 @@ function registerOptionsControl(config) {
653
654
  if (isPrevented) {
654
655
  return [2 /*return*/];
655
656
  }
656
- if (!(((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
657
- (parent === null || parent === void 0 ? void 0 : parent.defer))) return [3 /*break*/, 13];
658
- return [4 /*yield*/, this.deferLoad(parent)];
657
+ return [4 /*yield*/, (callback === null || callback === void 0 ? void 0 : callback(result))];
659
658
  case 12:
660
- _f.sent();
661
- return [3 /*break*/, 14];
659
+ ret = _f.sent();
660
+ if (!(ret === false)) return [3 /*break*/, 13];
661
+ // 如果回调里面返回 false,就不继续了。
662
+ return [2 /*return*/];
662
663
  case 13:
664
+ if (!
665
+ // 如果是懒加载的,只懒加载当前节点。
666
+ (((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
667
+ (parent === null || parent === void 0 ? void 0 : parent.defer)))
668
+ // 如果是懒加载的,只懒加载当前节点。
669
+ return [3 /*break*/, 15];
670
+ return [4 /*yield*/, this.deferLoad(parent)];
671
+ case 14:
672
+ _f.sent();
673
+ return [3 /*break*/, 16];
674
+ case 15:
663
675
  if (source && addApi) {
664
676
  // 如果配置了 source 且配置了 addApi 直接重新拉取接口就够了
665
677
  // 不能不判断 addApi 就刷新,因为有些场景就是临时添加的。
@@ -677,18 +689,18 @@ function registerOptionsControl(config) {
677
689
  }
678
690
  model.setOptions(options, this.changeOptionValue, data);
679
691
  }
680
- _f.label = 14;
681
- case 14: return [2 /*return*/];
692
+ _f.label = 16;
693
+ case 16: return [2 /*return*/];
682
694
  }
683
695
  });
684
696
  });
685
697
  };
686
- FormOptionsItem.prototype.handleOptionEdit = function (value, origin, skipForm) {
698
+ FormOptionsItem.prototype.handleOptionEdit = function (value, origin, skipForm, callback) {
687
699
  var _a, _b;
688
700
  if (origin === void 0) { origin = value; }
689
701
  if (skipForm === void 0) { skipForm = false; }
690
702
  return __awaiter(this, void 0, void 0, function () {
691
- var _c, editControls, editDialog, disabled, labelField, valueField, onOpenDialog, editApi, editInitApi, env, source, data, model, optionLabel, __, customEditPrevent, result, _d, prevent, payload, e_2, isPrevented, indexes;
703
+ 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;
692
704
  var _this = this;
693
705
  return __generator(this, function (_e) {
694
706
  switch (_e.label) {
@@ -797,7 +809,14 @@ function registerOptionsControl(config) {
797
809
  if (isPrevented) {
798
810
  return [2 /*return*/];
799
811
  }
800
- if (source && editApi) {
812
+ return [4 /*yield*/, (callback === null || callback === void 0 ? void 0 : callback(result))];
813
+ case 12:
814
+ ret = _e.sent();
815
+ if (ret === false) {
816
+ // 如果回调里面返回 false,就不继续了。
817
+ return [2 /*return*/];
818
+ }
819
+ else if (source && editApi) {
801
820
  this.reload();
802
821
  }
803
822
  else {
@@ -811,10 +830,10 @@ function registerOptionsControl(config) {
811
830
  });
812
831
  });
813
832
  };
814
- FormOptionsItem.prototype.handleOptionDelete = function (value) {
833
+ FormOptionsItem.prototype.handleOptionDelete = function (value, callback) {
815
834
  var _a, _b;
816
835
  return __awaiter(this, void 0, void 0, function () {
817
- var _c, deleteConfirmText, disabled, data, deleteApi, onDelete, env, model, source, valueField, __, ctx, confirmed, _d, isPrevented, delConfirmPrevent, result, options, indexes, e_3;
836
+ var _c, deleteConfirmText, disabled, data, deleteApi, onDelete, env, model, source, valueField, __, ctx, confirmed, _d, isPrevented, delConfirmPrevent, result, ret, options, indexes, e_3;
818
837
  return __generator(this, function (_e) {
819
838
  switch (_e.label) {
820
839
  case 0:
@@ -870,7 +889,12 @@ function registerOptionsControl(config) {
870
889
  if (onDelete) {
871
890
  onDelete(ctx);
872
891
  }
873
- if (source) {
892
+ ret = callback === null || callback === void 0 ? void 0 : callback(ctx);
893
+ if (ret === false) {
894
+ // 如果回调里面返回 false,就不继续了。
895
+ return [2 /*return*/];
896
+ }
897
+ else if (source) {
874
898
  this.reload();
875
899
  }
876
900
  else {
@@ -984,19 +1008,19 @@ function registerOptionsControl(config) {
984
1008
  __decorate([
985
1009
  autobind,
986
1010
  __metadata("design:type", Function),
987
- __metadata("design:paramtypes", [Object, Object, Boolean]),
1011
+ __metadata("design:paramtypes", [Object, Object, Boolean, Function]),
988
1012
  __metadata("design:returntype", Promise)
989
1013
  ], FormOptionsItem.prototype, "handleOptionAdd", null);
990
1014
  __decorate([
991
1015
  autobind,
992
1016
  __metadata("design:type", Function),
993
- __metadata("design:paramtypes", [Object, Object, Boolean]),
1017
+ __metadata("design:paramtypes", [Object, Object, Boolean, Function]),
994
1018
  __metadata("design:returntype", Promise)
995
1019
  ], FormOptionsItem.prototype, "handleOptionEdit", null);
996
1020
  __decorate([
997
1021
  autobind,
998
1022
  __metadata("design:type", Function),
999
- __metadata("design:paramtypes", [Object]),
1023
+ __metadata("design:paramtypes", [Object, Function]),
1000
1024
  __metadata("design:returntype", Promise)
1001
1025
  ], FormOptionsItem.prototype, "handleOptionDelete", null);
1002
1026
  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
 
@@ -25,6 +25,7 @@ import 'lodash/chunk';
25
25
  import { getVariable } from '../utils/getVariable.js';
26
26
  import 'lodash/isPlainObject';
27
27
  import 'amis-formula';
28
+ import '../utils/memoryParse.js';
28
29
  import { tokenize } from '../utils/tokenize.js';
29
30
  import '../utils/DataSchema.js';
30
31
  import '../utils/DataScope.js';
@@ -59,14 +60,14 @@ function wrapControl(ComposedComponent) {
59
60
  __extends(class_1, _super);
60
61
  function class_1(props) {
61
62
  var _this = this;
62
- var _a;
63
+ var _a, _b;
63
64
  _this = _super.call(this, props) || this;
64
65
  _this.value = undefined;
65
66
  _this.lazyEmitChange = debounce(_this.emitChange.bind(_this), 250, {
66
67
  trailing: true,
67
68
  leading: false
68
69
  });
69
- var _b = _this.props, form = _b.formStore, formItem = _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;
70
+ var _c = _this.props, form = _c.formStore, formItem = _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;
70
71
  _this.getValue = _this.getValue.bind(_this);
71
72
  _this.setValue = _this.setValue.bind(_this);
72
73
  _this.handleChange = _this.handleChange.bind(_this);
@@ -76,7 +77,8 @@ function wrapControl(ComposedComponent) {
76
77
  _this.validate = _this.validate.bind(_this);
77
78
  _this.flushChange = _this.flushChange.bind(_this);
78
79
  _this.renderChild = _this.renderChild.bind(_this);
79
- var name = _this.props.$schema.name;
80
+ var name = _this.props.$schema.name ||
81
+ ((_a = ComposedComponent.defaultProps) === null || _a === void 0 ? void 0 : _a.name);
80
82
  // 如果 name 是表达式
81
83
  // 扩充 each 用法
82
84
  if (isExpression(name)) {
@@ -101,7 +103,7 @@ function wrapControl(ComposedComponent) {
101
103
  model.config(__assign(__assign({}, pick(__assign(__assign({}, ComposedComponent.defaultProps), _this.props.$schema), ['multiple'])), { id: id, type: type, required: props.required || required, unique: unique, value: value, isValueSchemaExp: 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 }));
102
104
  // issue 这个逻辑应该在 combo 里面自己实现。
103
105
  if (_this.model.unique &&
104
- ((_a = form === null || form === void 0 ? void 0 : form.parentStore) === null || _a === void 0 ? void 0 : _a.storeType) === ComboStore.name) {
106
+ ((_b = form === null || form === void 0 ? void 0 : form.parentStore) === null || _b === void 0 ? void 0 : _b.storeType) === ComboStore.name) {
105
107
  var combo = form.parentStore;
106
108
  combo.bindUniuqueItem(model);
107
109
  }
@@ -321,7 +323,9 @@ function wrapControl(ComposedComponent) {
321
323
  isAlive(formItem) &&
322
324
  formItem.removeSubFormItem(this.model);
323
325
  this.model.clearValueOnHidden &&
324
- ((_a = this.model.form) === null || _a === void 0 ? void 0 : _a.deleteValueByName(this.model.name));
326
+ ((_a = this.model.form) === null || _a === void 0 ? void 0 : _a.deleteValueByName(this.model.name, {
327
+ type: 'hide'
328
+ }));
325
329
  isAlive(rootStore) && rootStore.removeStore(this.model);
326
330
  }
327
331
  delete this.model;
@@ -444,7 +448,7 @@ function wrapControl(ComposedComponent) {
444
448
  var oldValue = this.model.value;
445
449
  value = callStrFunction.call(this, pipeOut, ['value', 'oldValue', 'data'], value, oldValue, data);
446
450
  }
447
- this.model.changeTmpValue(value, 'input');
451
+ this.model.changeTmpValue(value, type === 'formula' ? 'formulaChanged' : 'input');
448
452
  if (changeImmediately || conrolChangeImmediately || !formInited) {
449
453
  this.emitChange(submitOnChange);
450
454
  }
@@ -494,13 +498,24 @@ function wrapControl(ComposedComponent) {
494
498
  if (!this.model) {
495
499
  return;
496
500
  }
501
+ var changeReason = {
502
+ type: 'input'
503
+ };
504
+ if (model.changeMotivation === 'formulaChanged') {
505
+ changeReason.type = 'formula';
506
+ }
507
+ else if (model.changeMotivation === 'initialValue' ||
508
+ model.changeMotivation === 'formInited' ||
509
+ model.changeMotivation === 'defaultValue') {
510
+ changeReason.type = 'init';
511
+ }
497
512
  if (model.extraName) {
498
513
  var values = model.splitExtraValue(value);
499
- onChange === null || onChange === void 0 ? void 0 : onChange(values[0], model.name);
500
- onChange === null || onChange === void 0 ? void 0 : onChange(values[1], model.extraName, submitOnChange === true);
514
+ onChange === null || onChange === void 0 ? void 0 : onChange(values[0], model.name, undefined, undefined, changeReason);
515
+ onChange === null || onChange === void 0 ? void 0 : onChange(values[1], model.extraName, submitOnChange === true, undefined, changeReason);
501
516
  }
502
517
  else {
503
- onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, submitOnChange === true);
518
+ onChange === null || onChange === void 0 ? void 0 : onChange(value, model.name, submitOnChange === true, undefined, changeReason);
504
519
  }
505
520
  this.checkValidate();
506
521
  };
@@ -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/esm/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
 
@@ -13,6 +13,7 @@ import '../utils/ColorScale.js';
13
13
  import 'react';
14
14
  import 'lodash/chunk';
15
15
  import { createObject } from '../utils/object.js';
16
+ import '../utils/memoryParse.js';
16
17
  import 'amis-formula';
17
18
  import 'lodash/isPlainObject';
18
19
  import '../utils/DataSchema.js';