amis-core 6.6.0 → 6.8.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 (312) hide show
  1. package/esm/Root.js +4 -3
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +1 -1
  4. package/esm/SchemaRenderer.d.ts +0 -1
  5. package/esm/SchemaRenderer.js +19 -10
  6. package/esm/Scoped.js +2 -1
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +8 -8
  10. package/esm/actions/Action.js +33 -31
  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 +55 -48
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +1 -1
  17. package/esm/actions/CustomAction.js +12 -3
  18. package/esm/actions/DialogAction.js +3 -1
  19. package/esm/actions/DrawerAction.js +2 -1
  20. package/esm/actions/EmailAction.js +1 -1
  21. package/esm/actions/EventAction.js +2 -1
  22. package/esm/actions/LinkAction.js +1 -1
  23. package/esm/actions/LoopAction.js +2 -1
  24. package/esm/actions/PageAction.js +1 -1
  25. package/esm/actions/ParallelAction.js +1 -1
  26. package/esm/actions/PrintAction.js +1 -1
  27. package/esm/actions/StatusAction.js +1 -1
  28. package/esm/actions/SwitchAction.js +1 -1
  29. package/esm/actions/ToastAction.js +1 -1
  30. package/esm/actions/WaitAction.js +1 -1
  31. package/esm/components/CustomStyle.js +1 -1
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.js +1 -1
  34. package/esm/components/Overlay.js +2 -1
  35. package/esm/components/PopOver.d.ts +2 -0
  36. package/esm/components/PopOver.js +5 -4
  37. package/esm/env.d.ts +4 -0
  38. package/esm/env.js +1 -1
  39. package/esm/envOverwrite.js +1 -1
  40. package/esm/factory.js +1 -1
  41. package/esm/index.js +3 -3
  42. package/esm/locale.js +2 -1
  43. package/esm/polyfills.js +1 -1
  44. package/esm/renderers/Form.js +123 -25
  45. package/esm/renderers/Item.d.ts +97 -12
  46. package/esm/renderers/Item.js +180 -126
  47. package/esm/renderers/Options.js +2 -1
  48. package/esm/renderers/Placeholder.js +1 -1
  49. package/esm/renderers/builtin.js +1 -1
  50. package/esm/renderers/register.js +1 -1
  51. package/esm/renderers/wrapControl.js +2 -1
  52. package/esm/store/app.d.ts +1 -0
  53. package/esm/store/app.js +2 -1
  54. package/esm/store/combo.d.ts +411 -0
  55. package/esm/store/combo.js +1 -1
  56. package/esm/store/crud.d.ts +1 -0
  57. package/esm/store/crud.js +2 -1
  58. package/esm/store/form.d.ts +171 -0
  59. package/esm/store/form.js +2 -1
  60. package/esm/store/formItem.d.ts +5 -0
  61. package/esm/store/formItem.js +30 -8
  62. package/esm/store/iRenderer.d.ts +1 -0
  63. package/esm/store/iRenderer.js +8 -3
  64. package/esm/store/index.js +1 -1
  65. package/esm/store/list.d.ts +1 -0
  66. package/esm/store/list.js +1 -1
  67. package/esm/store/manager.js +1 -1
  68. package/esm/store/modal.d.ts +1 -0
  69. package/esm/store/modal.js +1 -1
  70. package/esm/store/node.js +1 -1
  71. package/esm/store/pagination.d.ts +1 -0
  72. package/esm/store/pagination.js +2 -1
  73. package/esm/store/root.d.ts +1 -0
  74. package/esm/store/root.js +2 -1
  75. package/esm/store/service.d.ts +1 -0
  76. package/esm/store/service.js +2 -1
  77. package/esm/store/status.js +1 -1
  78. package/esm/store/table.d.ts +382 -21
  79. package/esm/store/table.js +84 -54
  80. package/esm/store/table2.d.ts +1 -0
  81. package/esm/store/table2.js +1 -1
  82. package/esm/theme.js +1 -1
  83. package/esm/types.d.ts +1 -1
  84. package/esm/utils/Animation.js +1 -1
  85. package/esm/utils/ColorScale.js +1 -1
  86. package/esm/utils/DataSchema.js +1 -1
  87. package/esm/utils/DataScope.js +2 -2
  88. package/esm/utils/RootClose.js +1 -1
  89. package/esm/utils/SimpleMap.js +1 -1
  90. package/esm/utils/api.js +2 -2
  91. package/esm/utils/arraySlice.js +1 -1
  92. package/esm/utils/attachmentAdpator.js +1 -1
  93. package/esm/utils/autobind.js +1 -1
  94. package/esm/utils/browser.js +1 -1
  95. package/esm/utils/columnsSplit.js +1 -1
  96. package/esm/utils/concatData.js +1 -1
  97. package/esm/utils/dataMapping.js +1 -1
  98. package/esm/utils/date.js +1 -1
  99. package/esm/utils/debug.js +17 -3
  100. package/esm/utils/decodeEntity.js +1 -1
  101. package/esm/utils/dom.js +1 -1
  102. package/esm/utils/errors.js +1 -1
  103. package/esm/utils/escapeHtml.js +1 -1
  104. package/esm/utils/filter-schema.js +1 -1
  105. package/esm/utils/filter.js +1 -1
  106. package/esm/utils/formatDuration.js +1 -1
  107. package/esm/utils/formula.js +2 -1
  108. package/esm/utils/getVariable.js +1 -1
  109. package/esm/utils/grammar.js +1 -1
  110. package/esm/utils/handleAction.js +1 -1
  111. package/esm/utils/helper.d.ts +5 -1
  112. package/esm/utils/helper.js +37 -8
  113. package/esm/utils/highlight.js +1 -1
  114. package/esm/utils/icon.js +1 -1
  115. package/esm/utils/image.js +1 -1
  116. package/esm/utils/isPureVariable.js +2 -2
  117. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  118. package/esm/utils/keyToPath.js +1 -1
  119. package/esm/utils/labelToString.js +1 -1
  120. package/esm/utils/makeSorter.js +1 -1
  121. package/esm/utils/math.js +1 -1
  122. package/esm/utils/memoryParse.d.ts +2 -1
  123. package/esm/utils/memoryParse.js +10 -6
  124. package/esm/utils/normalizeLink.js +1 -1
  125. package/esm/utils/normalizeOptions.js +1 -1
  126. package/esm/utils/object.d.ts +2 -4
  127. package/esm/utils/object.js +1 -1
  128. package/esm/utils/offset.js +1 -1
  129. package/esm/utils/offsetParent.js +1 -1
  130. package/esm/utils/optionValueCompare.js +1 -1
  131. package/esm/utils/position.js +1 -1
  132. package/esm/utils/prettyBytes.js +1 -1
  133. package/esm/utils/printElement.js +1 -1
  134. package/esm/utils/renderer-event.js +5 -3
  135. package/esm/utils/replaceText.js +1 -1
  136. package/esm/utils/resize-sensor.js +30 -1
  137. package/esm/utils/resolveCondition.js +2 -1
  138. package/esm/utils/resolveVariable.js +1 -1
  139. package/esm/utils/resolveVariableAndFilter.js +1 -1
  140. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  141. package/esm/utils/scrollPosition.js +1 -1
  142. package/esm/utils/string2regExp.js +1 -1
  143. package/esm/utils/stripNumber.js +1 -1
  144. package/esm/utils/style-helper.d.ts +4 -2
  145. package/esm/utils/style-helper.js +27 -13
  146. package/esm/utils/style.js +2 -1
  147. package/esm/utils/toNumber.js +1 -1
  148. package/esm/utils/tokenize.js +1 -1
  149. package/esm/utils/tpl-builtin.js +2 -1
  150. package/esm/utils/tpl-lodash.js +2 -1
  151. package/esm/utils/tpl.js +1 -1
  152. package/esm/utils/uncontrollable.js +1 -1
  153. package/esm/utils/validateId.js +3 -3
  154. package/esm/utils/validations.js +2 -1
  155. package/esm/utils/visitedCache.d.ts +46 -0
  156. package/esm/utils/visitedCache.js +124 -0
  157. package/lib/Root.js +4 -3
  158. package/lib/RootRenderer.js +1 -1
  159. package/lib/SchemaRenderer.d.ts +0 -1
  160. package/lib/SchemaRenderer.js +19 -10
  161. package/lib/Scoped.js +2 -1
  162. package/lib/StatusScoped.js +1 -1
  163. package/lib/WithRootStore.js +1 -1
  164. package/lib/WithStore.js +8 -8
  165. package/lib/actions/Action.js +33 -31
  166. package/lib/actions/AjaxAction.js +1 -1
  167. package/lib/actions/BreakAction.js +1 -1
  168. package/lib/actions/BroadcastAction.js +1 -1
  169. package/lib/actions/CmptAction.js +55 -48
  170. package/lib/actions/ContinueAction.js +1 -1
  171. package/lib/actions/CopyAction.js +1 -1
  172. package/lib/actions/CustomAction.js +12 -3
  173. package/lib/actions/DialogAction.js +3 -1
  174. package/lib/actions/DrawerAction.js +2 -1
  175. package/lib/actions/EmailAction.js +1 -1
  176. package/lib/actions/EventAction.js +2 -1
  177. package/lib/actions/LinkAction.js +1 -1
  178. package/lib/actions/LoopAction.js +2 -1
  179. package/lib/actions/PageAction.js +1 -1
  180. package/lib/actions/ParallelAction.js +1 -1
  181. package/lib/actions/PrintAction.js +1 -1
  182. package/lib/actions/StatusAction.js +1 -1
  183. package/lib/actions/SwitchAction.js +1 -1
  184. package/lib/actions/ToastAction.js +1 -1
  185. package/lib/actions/WaitAction.js +1 -1
  186. package/lib/components/CustomStyle.js +1 -1
  187. package/lib/components/ErrorBoundary.js +1 -1
  188. package/lib/components/LazyComponent.js +1 -1
  189. package/lib/components/Overlay.js +2 -1
  190. package/lib/components/PopOver.d.ts +2 -0
  191. package/lib/components/PopOver.js +5 -4
  192. package/lib/env.d.ts +4 -0
  193. package/lib/env.js +1 -1
  194. package/lib/envOverwrite.js +1 -1
  195. package/lib/factory.js +1 -1
  196. package/lib/index.js +3 -2
  197. package/lib/locale.js +2 -1
  198. package/lib/polyfills.js +1 -1
  199. package/lib/renderers/Form.js +122 -24
  200. package/lib/renderers/Item.d.ts +97 -12
  201. package/lib/renderers/Item.js +179 -125
  202. package/lib/renderers/Options.js +2 -1
  203. package/lib/renderers/Placeholder.js +1 -1
  204. package/lib/renderers/builtin.js +1 -1
  205. package/lib/renderers/register.js +1 -1
  206. package/lib/renderers/wrapControl.js +2 -1
  207. package/lib/store/app.d.ts +1 -0
  208. package/lib/store/app.js +2 -1
  209. package/lib/store/combo.d.ts +435 -24
  210. package/lib/store/combo.js +1 -1
  211. package/lib/store/crud.d.ts +1 -0
  212. package/lib/store/crud.js +2 -1
  213. package/lib/store/form.d.ts +181 -10
  214. package/lib/store/form.js +2 -1
  215. package/lib/store/formItem.d.ts +5 -0
  216. package/lib/store/formItem.js +30 -8
  217. package/lib/store/iRenderer.d.ts +1 -0
  218. package/lib/store/iRenderer.js +8 -3
  219. package/lib/store/index.js +1 -1
  220. package/lib/store/list.d.ts +1 -0
  221. package/lib/store/list.js +1 -1
  222. package/lib/store/manager.js +1 -1
  223. package/lib/store/modal.d.ts +1 -0
  224. package/lib/store/modal.js +1 -1
  225. package/lib/store/node.js +1 -1
  226. package/lib/store/pagination.d.ts +1 -0
  227. package/lib/store/pagination.js +2 -1
  228. package/lib/store/root.d.ts +1 -0
  229. package/lib/store/root.js +2 -1
  230. package/lib/store/service.d.ts +1 -0
  231. package/lib/store/service.js +2 -1
  232. package/lib/store/status.js +1 -1
  233. package/lib/store/table.d.ts +402 -41
  234. package/lib/store/table.js +84 -54
  235. package/lib/store/table2.d.ts +1 -0
  236. package/lib/store/table2.js +1 -1
  237. package/lib/theme.js +1 -1
  238. package/lib/types.d.ts +1 -1
  239. package/lib/utils/Animation.js +1 -1
  240. package/lib/utils/ColorScale.js +1 -1
  241. package/lib/utils/DataSchema.js +1 -1
  242. package/lib/utils/DataScope.js +2 -2
  243. package/lib/utils/RootClose.js +1 -1
  244. package/lib/utils/SimpleMap.js +1 -1
  245. package/lib/utils/api.js +2 -2
  246. package/lib/utils/arraySlice.js +1 -1
  247. package/lib/utils/attachmentAdpator.js +1 -1
  248. package/lib/utils/autobind.js +1 -1
  249. package/lib/utils/browser.js +1 -1
  250. package/lib/utils/columnsSplit.js +1 -1
  251. package/lib/utils/concatData.js +1 -1
  252. package/lib/utils/dataMapping.js +1 -1
  253. package/lib/utils/date.js +1 -1
  254. package/lib/utils/debug.js +17 -3
  255. package/lib/utils/decodeEntity.js +1 -1
  256. package/lib/utils/dom.js +1 -1
  257. package/lib/utils/errors.js +1 -1
  258. package/lib/utils/escapeHtml.js +1 -1
  259. package/lib/utils/filter-schema.js +1 -1
  260. package/lib/utils/filter.js +1 -1
  261. package/lib/utils/formatDuration.js +1 -1
  262. package/lib/utils/formula.js +2 -1
  263. package/lib/utils/getVariable.js +1 -1
  264. package/lib/utils/grammar.js +1 -1
  265. package/lib/utils/handleAction.js +1 -1
  266. package/lib/utils/helper.d.ts +5 -1
  267. package/lib/utils/helper.js +36 -6
  268. package/lib/utils/highlight.js +1 -1
  269. package/lib/utils/icon.js +1 -1
  270. package/lib/utils/image.js +1 -1
  271. package/lib/utils/isPureVariable.js +2 -2
  272. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  273. package/lib/utils/keyToPath.js +1 -1
  274. package/lib/utils/labelToString.js +1 -1
  275. package/lib/utils/makeSorter.js +1 -1
  276. package/lib/utils/math.js +1 -1
  277. package/lib/utils/memoryParse.d.ts +2 -1
  278. package/lib/utils/memoryParse.js +10 -6
  279. package/lib/utils/normalizeLink.js +1 -1
  280. package/lib/utils/normalizeOptions.js +1 -1
  281. package/lib/utils/object.d.ts +2 -4
  282. package/lib/utils/object.js +1 -1
  283. package/lib/utils/offset.js +1 -1
  284. package/lib/utils/offsetParent.js +1 -1
  285. package/lib/utils/optionValueCompare.js +1 -1
  286. package/lib/utils/position.js +1 -1
  287. package/lib/utils/prettyBytes.js +1 -1
  288. package/lib/utils/printElement.js +1 -1
  289. package/lib/utils/renderer-event.js +5 -3
  290. package/lib/utils/replaceText.js +1 -1
  291. package/lib/utils/resize-sensor.js +30 -1
  292. package/lib/utils/resolveCondition.js +2 -1
  293. package/lib/utils/resolveVariable.js +1 -1
  294. package/lib/utils/resolveVariableAndFilter.js +1 -1
  295. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  296. package/lib/utils/scrollPosition.js +1 -1
  297. package/lib/utils/string2regExp.js +1 -1
  298. package/lib/utils/stripNumber.js +1 -1
  299. package/lib/utils/style-helper.d.ts +4 -2
  300. package/lib/utils/style-helper.js +27 -13
  301. package/lib/utils/style.js +2 -1
  302. package/lib/utils/toNumber.js +1 -1
  303. package/lib/utils/tokenize.js +1 -1
  304. package/lib/utils/tpl-builtin.js +2 -1
  305. package/lib/utils/tpl-lodash.js +2 -1
  306. package/lib/utils/tpl.js +1 -1
  307. package/lib/utils/uncontrollable.js +1 -1
  308. package/lib/utils/validateId.js +3 -3
  309. package/lib/utils/validations.js +2 -1
  310. package/lib/utils/visitedCache.d.ts +46 -0
  311. package/lib/utils/visitedCache.js +128 -0
  312. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.6.0
2
+ * amis-core v6.8.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -21,6 +21,7 @@ var Scoped = require('../Scoped.js');
21
21
  require('amis-formula');
22
22
  require('moment');
23
23
  var object = require('../utils/object.js');
24
+ require('../utils/memoryParse.js');
24
25
  require('@rc-component/mini-decimal');
25
26
  var dataMapping = require('../utils/dataMapping.js');
26
27
  require('../utils/filter.js');
@@ -50,10 +51,7 @@ require('react-dom');
50
51
  require('../utils/SimpleMap.js');
51
52
  require('lodash/mapValues');
52
53
  require('lodash/camelCase');
53
- require('lodash/cloneDeep');
54
- require('lodash/map');
55
- require('lodash/isEmpty');
56
- require('lodash/kebabCase');
54
+ var styleHelper = require('../utils/style-helper.js');
57
55
  require('uncontrollable');
58
56
  require('hoist-non-react-statics');
59
57
  require('../utils/validations.js');
@@ -61,6 +59,7 @@ require('../utils/resolveCondition.js');
61
59
  var mobx = require('mobx');
62
60
  require('../utils/Animation.js');
63
61
  var groupBy = require('lodash/groupBy');
62
+ var CustomStyle = require('../components/CustomStyle.js');
64
63
 
65
64
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
66
65
 
@@ -112,7 +111,7 @@ var Form = /** @class */ (function (_super) {
112
111
  _this.blockRouting = _this.blockRouting.bind(_this);
113
112
  _this.beforePageUnload = _this.beforePageUnload.bind(_this);
114
113
  _this.formItemDispatchEvent = _this.formItemDispatchEvent.bind(_this);
115
- var store = props.store, canAccessSuperData = props.canAccessSuperData, persistData = props.persistData, simpleMode = props.simpleMode;
114
+ var store = props.store, canAccessSuperData = props.canAccessSuperData, persistData = props.persistData, simpleMode = props.simpleMode, formLazyChange = props.formLazyChange;
116
115
  store.setCanAccessSuperData(canAccessSuperData !== false);
117
116
  store.setPersistData(persistData);
118
117
  if (simpleMode) {
@@ -132,7 +131,7 @@ var Form = /** @class */ (function (_super) {
132
131
  // https://github.com/baidu/amis/issues/8773
133
132
  _this.toDispose.push(mobx.reaction(function () { return store.initedAt; }, function () {
134
133
  store.inited &&
135
- _this.lazyEmitChange(!!_this.props.submitOnChange, true);
134
+ (formLazyChange === false ? _this.emitChange : _this.lazyEmitChange)(!!_this.props.submitOnChange, true);
136
135
  }));
137
136
  return _this;
138
137
  }
@@ -491,29 +490,54 @@ var Form = /** @class */ (function (_super) {
491
490
  };
492
491
  Form.prototype.flush = function () {
493
492
  return tslib.__awaiter(this, void 0, void 0, function () {
494
- var hooks;
495
- return tslib.__generator(this, function (_a) {
496
- switch (_a.label) {
493
+ var hooks, hooks_1, hooks_1_1, hook, e_1_1;
494
+ var e_1, _a;
495
+ return tslib.__generator(this, function (_b) {
496
+ switch (_b.label) {
497
497
  case 0:
498
- _a.trys.push([0, , 4, 5]);
498
+ _b.trys.push([0, , 11, 12]);
499
499
  if (this.flushing) {
500
500
  return [2 /*return*/];
501
501
  }
502
502
  this.flushing = true;
503
503
  hooks = this.hooks['flush'] || [];
504
- return [4 /*yield*/, Promise.all(hooks.map(function (fn) { return fn(); }))];
504
+ _b.label = 1;
505
505
  case 1:
506
- _a.sent();
507
- if (!!this.emitting) return [3 /*break*/, 3];
508
- return [4 /*yield*/, this.lazyEmitChange.flush()];
506
+ _b.trys.push([1, 6, 7, 8]);
507
+ hooks_1 = tslib.__values(hooks), hooks_1_1 = hooks_1.next();
508
+ _b.label = 2;
509
509
  case 2:
510
- _a.sent();
511
- _a.label = 3;
512
- case 3: return [3 /*break*/, 5];
510
+ if (!!hooks_1_1.done) return [3 /*break*/, 5];
511
+ hook = hooks_1_1.value;
512
+ return [4 /*yield*/, hook()];
513
+ case 3:
514
+ _b.sent();
515
+ _b.label = 4;
513
516
  case 4:
517
+ hooks_1_1 = hooks_1.next();
518
+ return [3 /*break*/, 2];
519
+ case 5: return [3 /*break*/, 8];
520
+ case 6:
521
+ e_1_1 = _b.sent();
522
+ e_1 = { error: e_1_1 };
523
+ return [3 /*break*/, 8];
524
+ case 7:
525
+ try {
526
+ if (hooks_1_1 && !hooks_1_1.done && (_a = hooks_1.return)) _a.call(hooks_1);
527
+ }
528
+ finally { if (e_1) throw e_1.error; }
529
+ return [7 /*endfinally*/];
530
+ case 8:
531
+ if (!!this.emitting) return [3 /*break*/, 10];
532
+ return [4 /*yield*/, this.lazyEmitChange.flush()];
533
+ case 9:
534
+ _b.sent();
535
+ _b.label = 10;
536
+ case 10: return [3 /*break*/, 12];
537
+ case 11:
514
538
  this.flushing = false;
515
539
  return [7 /*endfinally*/];
516
- case 5: return [2 /*return*/];
540
+ case 12: return [2 /*return*/];
517
541
  }
518
542
  });
519
543
  });
@@ -1238,14 +1262,20 @@ var Form = /** @class */ (function (_super) {
1238
1262
  return render("".concat(region ? "".concat(region, "/") : '').concat(key), subSchema, subProps);
1239
1263
  };
1240
1264
  Form.prototype.renderBody = function () {
1241
- var _a = this.props, body = _a.body, mode = _a.mode, className = _a.className, cx = _a.classnames, debug = _a.debug, debugConfig = _a.debugConfig, $path = _a.$path, store = _a.store, columnCount = _a.columnCount, render = _a.render, staticClassName = _a.staticClassName, _b = _a.static, isStatic = _b === void 0 ? false : _b, loadingConfig = _a.loadingConfig; _a.testid;
1265
+ var _a = this.props, body = _a.body, mode = _a.mode, className = _a.className, cx = _a.classnames, debug = _a.debug, debugConfig = _a.debugConfig, $path = _a.$path, store = _a.store, columnCount = _a.columnCount, render = _a.render, staticClassName = _a.staticClassName, _b = _a.static, isStatic = _b === void 0 ? false : _b, loadingConfig = _a.loadingConfig, themeCss = _a.themeCss, id = _a.id, wrapperCustomStyle = _a.wrapperCustomStyle, env = _a.env, wrapWithPanel = _a.wrapWithPanel; _a.testid;
1242
1266
  var restError = store.restError;
1243
1267
  var WrapperComponent = this.props.wrapperComponent ||
1244
1268
  (/(?:\/|^)form\//.test($path) ? 'div' : 'form');
1245
1269
  var padDom = helper.repeatCount(columnCount && Array.isArray(body)
1246
1270
  ? (columnCount - (body.length % columnCount)) % columnCount
1247
1271
  : 0, function (index) { return (_J$X_("div", { className: cx("Form-item Form-item--".concat(mode, " is-placeholder")), key: index })); });
1248
- return (_J$X_(WrapperComponent, { className: cx("Form", "Form--".concat(mode || 'normal'), columnCount ? "Form--column Form--column-".concat(columnCount) : null, staticClassName && isStatic ? staticClassName : className, isStatic ? 'Form--isStatic' : null), onSubmit: this.handleFormSubmit, noValidate: true },
1272
+ return (_J$X_(WrapperComponent, { className: cx("Form", "Form--".concat(mode || 'normal'), columnCount ? "Form--column Form--column-".concat(columnCount) : null, staticClassName && isStatic ? staticClassName : className, isStatic ? 'Form--isStatic' : null, styleHelper.setThemeClassName(tslib.__assign(tslib.__assign({}, this.props), { name: [
1273
+ 'formControlClassName',
1274
+ 'itemClassName',
1275
+ 'staticClassName',
1276
+ 'itemLabelClassName'
1277
+ ], id: id, themeCss: themeCss })), !wrapWithPanel &&
1278
+ styleHelper.setThemeClassName(tslib.__assign(tslib.__assign({}, this.props), { name: 'wrapperCustomStyle', id: id, themeCss: wrapperCustomStyle }))), onSubmit: this.handleFormSubmit, noValidate: true },
1249
1279
  _J$X_("input", { type: "submit", style: { display: 'none' } }),
1250
1280
  debug
1251
1281
  ? render('form-debug-json', tslib.__assign({ type: 'json', value: store.data, ellipsisThreshold: 120, className: cx('Form--debug') }, debugConfig))
@@ -1275,17 +1305,81 @@ var Form = /** @class */ (function (_super) {
1275
1305
  onConfirm: this.handleDrawerConfirm,
1276
1306
  onClose: this.handleDrawerClose,
1277
1307
  show: store.drawerOpen
1278
- })));
1308
+ }),
1309
+ _J$X_(CustomStyle["default"], tslib.__assign({}, this.props, { config: {
1310
+ themeCss: themeCss,
1311
+ classNames: [
1312
+ wrapWithPanel && {
1313
+ key: 'panelClassName'
1314
+ },
1315
+ !wrapWithPanel && {
1316
+ key: 'formControlClassName'
1317
+ },
1318
+ {
1319
+ key: 'headerControlClassName',
1320
+ weights: {
1321
+ default: {
1322
+ parent: ".".concat(cx('Panel'))
1323
+ }
1324
+ }
1325
+ },
1326
+ wrapWithPanel && {
1327
+ key: 'headerTitleControlClassName',
1328
+ weights: {
1329
+ default: {
1330
+ important: true
1331
+ }
1332
+ }
1333
+ },
1334
+ wrapWithPanel && {
1335
+ key: 'bodyControlClassName'
1336
+ },
1337
+ wrapWithPanel && {
1338
+ key: 'actionsControlClassName',
1339
+ weights: {
1340
+ default: {
1341
+ parent: ".".concat(cx('Panel--form'))
1342
+ }
1343
+ }
1344
+ },
1345
+ {
1346
+ key: 'itemClassName',
1347
+ weights: {
1348
+ default: {
1349
+ inner: ".".concat(cx('Form-item'))
1350
+ }
1351
+ }
1352
+ },
1353
+ {
1354
+ key: 'staticClassName',
1355
+ weights: {
1356
+ default: {
1357
+ inner: ".".concat(cx('Form-static'))
1358
+ }
1359
+ }
1360
+ },
1361
+ {
1362
+ key: 'itemLabelClassName',
1363
+ weights: {
1364
+ default: {
1365
+ inner: ".".concat(cx('Form-label'))
1366
+ }
1367
+ }
1368
+ }
1369
+ ].filter(function (n) { return n; }),
1370
+ wrapperCustomStyle: wrapperCustomStyle,
1371
+ id: id
1372
+ }, env: env }))));
1279
1373
  };
1280
1374
  Form.prototype.render = function () {
1281
- var _a = this.props; _a.$path; _a.$schema; var wrapWithPanel = _a.wrapWithPanel, render = _a.render, title = _a.title, store = _a.store, panelClassName = _a.panelClassName, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, footerWrapClassName = _a.footerWrapClassName, actionsClassName = _a.actionsClassName, bodyClassName = _a.bodyClassName, cx = _a.classnames, style = _a.style, affixFooter = _a.affixFooter, lazyLoad = _a.lazyLoad, __ = _a.translate, footer = _a.footer;
1375
+ var _a = this.props; _a.$path; _a.$schema; var wrapWithPanel = _a.wrapWithPanel, render = _a.render, title = _a.title, store = _a.store, panelClassName = _a.panelClassName, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, footerWrapClassName = _a.footerWrapClassName, actionsClassName = _a.actionsClassName, bodyClassName = _a.bodyClassName, cx = _a.classnames, style = _a.style, affixFooter = _a.affixFooter, lazyLoad = _a.lazyLoad, __ = _a.translate, footer = _a.footer, id = _a.id, wrapperCustomStyle = _a.wrapperCustomStyle, themeCss = _a.themeCss;
1282
1376
  var body = this.renderBody();
1283
1377
  if (wrapWithPanel) {
1284
1378
  body = render('body', {
1285
1379
  type: 'panel',
1286
1380
  title: __(title)
1287
1381
  }, {
1288
- className: cx(panelClassName, 'Panel--form'),
1382
+ className: cx(panelClassName, 'Panel--form', styleHelper.setThemeClassName(tslib.__assign(tslib.__assign({}, this.props), { name: 'wrapperCustomStyle', id: id, themeCss: wrapperCustomStyle })), styleHelper.setThemeClassName(tslib.__assign(tslib.__assign({}, this.props), { name: 'panelClassName', id: id, themeCss: themeCss }))),
1289
1383
  style: style,
1290
1384
  formStore: this.props.store,
1291
1385
  children: body,
@@ -1295,11 +1389,15 @@ var Form = /** @class */ (function (_super) {
1295
1389
  disabled: store.loading,
1296
1390
  btnDisabled: store.loading || store.validating,
1297
1391
  headerClassName: headerClassName,
1392
+ headerControlClassName: styleHelper.setThemeClassName(tslib.__assign(tslib.__assign({}, this.props), { name: 'headerControlClassName', id: id, themeCss: themeCss })),
1393
+ headerTitleControlClassName: styleHelper.setThemeClassName(tslib.__assign(tslib.__assign({}, this.props), { name: 'headerTitleControlClassName', id: id, themeCss: themeCss })),
1298
1394
  footer: footer,
1299
1395
  footerClassName: footerClassName,
1300
1396
  footerWrapClassName: footerWrapClassName,
1301
1397
  actionsClassName: actionsClassName,
1398
+ actionsControlClassName: styleHelper.setThemeClassName(tslib.__assign(tslib.__assign({}, this.props), { name: 'actionsControlClassName', id: id, themeCss: themeCss })),
1302
1399
  bodyClassName: bodyClassName,
1400
+ bodyControlClassName: styleHelper.setThemeClassName(tslib.__assign(tslib.__assign({}, this.props), { name: 'bodyControlClassName', id: id, themeCss: themeCss })),
1303
1401
  affixFooter: affixFooter
1304
1402
  });
1305
1403
  }
@@ -5,6 +5,7 @@ import { IFormItemStore, IFormStore } from '../store/form';
5
5
  import { RendererProps, TestFunc, RendererConfig } from '../factory';
6
6
  import { FormHorizontal, FormSchemaBase } from './Form';
7
7
  import { ActionObject, BaseApiObject, BaseSchemaWithoutType, ClassName, Schema } from '../types';
8
+ import { IScopedContext } from '../Scoped';
8
9
  export type LabelAlign = 'right' | 'left' | 'top' | 'inherit';
9
10
  export interface FormBaseControl extends BaseSchemaWithoutType {
10
11
  /**
@@ -303,6 +304,10 @@ export interface FormBaseControl extends BaseSchemaWithoutType {
303
304
  * 是否为参照录入模式,参照录入会展示候选值供用户选择,而不是直接填充。
304
305
  */
305
306
  showSuggestion?: boolean;
307
+ /**
308
+ * 参照录入时,默认选中的值
309
+ */
310
+ defaultSelection?: any;
306
311
  /**
307
312
  * 自动填充 api
308
313
  */
@@ -321,7 +326,7 @@ export interface FormBaseControl extends BaseSchemaWithoutType {
321
326
  /**
322
327
  * 触发条件,默认为 change
323
328
  */
324
- trigger?: 'change' | 'foucs';
329
+ trigger?: 'change' | 'focus' | 'blur';
325
330
  /**
326
331
  * 弹窗方式,当为参照录入时用可以配置
327
332
  */
@@ -359,6 +364,10 @@ export interface FormItemBasicConfig extends Partial<RendererConfig> {
359
364
  storeType?: string;
360
365
  validations?: string;
361
366
  strictMode?: boolean;
367
+ /**
368
+ * 是否是瘦子
369
+ */
370
+ thin?: boolean;
362
371
  /**
363
372
  * schema变化使视图更新的属性白名单
364
373
  */
@@ -444,7 +453,76 @@ export declare class FormItemWrap extends React.Component<FormItemProps> {
444
453
  updateAutoFillData(context: any): void;
445
454
  syncApiAutoFill: import("lodash").DebouncedFunc<(term: any, forceLoad?: boolean, skipIfExits?: any) => Promise<void>>;
446
455
  syncOptionAutoFill(selectedOptions: Array<any>, skipIfExits?: boolean): void;
447
- buildAutoFillSchema(): React.JSX.Element | {
456
+ /**
457
+ * 应用映射函数,根据给定的映射关系,更新数据对象
458
+ *
459
+ * @param mapping 映射关系,类型为任意类型
460
+ * @param ctx 上下文对象,类型为任意类型
461
+ * @param skipIfExits 是否跳过已存在的属性,默认为 false
462
+ */
463
+ applyMapping(mapping: any, ctx: any, skipIfExits?: boolean, ignoreSelf?: boolean): void;
464
+ buildAutoFillSchema(): {
465
+ popOverContainer: any;
466
+ popOverClassName: any;
467
+ placement: any;
468
+ offset: any;
469
+ body: {
470
+ type: string;
471
+ title: string;
472
+ className: string;
473
+ body: {
474
+ type: string;
475
+ embed: boolean;
476
+ joinValues: boolean;
477
+ strictMode: boolean;
478
+ label: boolean;
479
+ labelField: any;
480
+ valueField: any;
481
+ multiple: any;
482
+ name: string;
483
+ value: any;
484
+ options: never[];
485
+ required: boolean;
486
+ source: any;
487
+ pickerSchema: {
488
+ type: string;
489
+ bodyClassName: string;
490
+ affixHeader: boolean;
491
+ alwaysShowPagination: boolean;
492
+ keepItemSelectionOnPageChange: boolean;
493
+ headerToolbar: never[];
494
+ footerToolbar: ({
495
+ type: string;
496
+ align: string;
497
+ className?: undefined;
498
+ } | {
499
+ type: string;
500
+ align: string;
501
+ className: string;
502
+ })[];
503
+ multiple: any;
504
+ filter: any;
505
+ columns: any;
506
+ };
507
+ }[];
508
+ actions: ({
509
+ type: string;
510
+ actionType: string;
511
+ label: any;
512
+ level?: undefined;
513
+ } | {
514
+ type: string;
515
+ actionType: string;
516
+ level: string;
517
+ label: any;
518
+ })[];
519
+ };
520
+ type?: undefined;
521
+ className?: undefined;
522
+ title?: undefined;
523
+ size?: undefined;
524
+ actions?: undefined;
525
+ } | {
448
526
  type: any;
449
527
  className: string;
450
528
  title: any;
@@ -458,16 +536,19 @@ export declare class FormItemWrap extends React.Component<FormItemProps> {
458
536
  type: string;
459
537
  embed: boolean;
460
538
  joinValues: boolean;
539
+ strictMode: boolean;
461
540
  label: boolean;
462
541
  labelField: any;
463
542
  valueField: any;
464
543
  multiple: any;
465
544
  name: string;
545
+ value: any;
466
546
  options: never[];
467
547
  required: boolean;
468
548
  source: any;
469
549
  pickerSchema: {
470
550
  type: string;
551
+ bodyClassName: string;
471
552
  affixHeader: boolean;
472
553
  alwaysShowPagination: boolean;
473
554
  keepItemSelectionOnPageChange: boolean;
@@ -485,7 +566,7 @@ export declare class FormItemWrap extends React.Component<FormItemProps> {
485
566
  filter: any;
486
567
  columns: any;
487
568
  };
488
- };
569
+ }[];
489
570
  actions: ({
490
571
  type: string;
491
572
  actionType: string;
@@ -509,10 +590,14 @@ export declare class FormItemWrap extends React.Component<FormItemProps> {
509
590
  level: string;
510
591
  label: any;
511
592
  })[];
593
+ popOverContainer?: undefined;
594
+ popOverClassName?: undefined;
595
+ placement?: undefined;
596
+ offset?: undefined;
512
597
  } | undefined;
513
- handleSubmit(values: any): void;
514
- handleAction(e: React.UIEvent<any>, action: ActionObject, data: object): void;
515
- handleClose(): void;
598
+ handlePopOverConfirm(values: any): void;
599
+ handlePopOverAction(e: React.UIEvent<any>, action: ActionObject, data: object, throwErrors?: boolean, delegate?: IScopedContext): any;
600
+ closePopOver(): void;
516
601
  handleOpenDialog(schema: Schema, data: any): Promise<unknown>;
517
602
  handleDialogConfirm([values]: Array<any>): void;
518
603
  handleDialogClose(confirmed?: boolean): void;
@@ -558,10 +643,10 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
558
643
  storeType: string;
559
644
  } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
560
645
  readonly fetcher: any;
561
- readonly notify: any;
562
- readonly isCancel: (value: any) => boolean; /**
563
- * 当修改完的时候是否提交表单。
646
+ readonly notify: any; /**
647
+ * 显示一个小图标, 鼠标放上去的时候显示提示内容
564
648
  */
649
+ readonly isCancel: (value: any) => boolean;
565
650
  readonly __: import("..").TranslateFn<any>;
566
651
  getStoreById(id: string): {
567
652
  id: string;
@@ -724,10 +809,10 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
724
809
  storeType: import("mobx-state-tree").IType<string | undefined, string, string>;
725
810
  }, {
726
811
  readonly fetcher: any;
727
- readonly notify: any;
728
- readonly isCancel: (value: any) => boolean; /**
729
- * 当修改完的时候是否提交表单。
812
+ readonly notify: any; /**
813
+ * 显示一个小图标, 鼠标放上去的时候显示提示内容
730
814
  */
815
+ readonly isCancel: (value: any) => boolean;
731
816
  readonly __: import("..").TranslateFn<any>;
732
817
  getStoreById(id: string): {
733
818
  id: string;