amis 1.9.1-beta.1 → 1.9.1-beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (248) hide show
  1. package/lib/RootRenderer.js +10 -2
  2. package/lib/RootRenderer.js.map +2 -2
  3. package/lib/Schema.d.ts +3 -2
  4. package/lib/Schema.js.map +1 -1
  5. package/lib/components/Alert2.d.ts +10 -10
  6. package/lib/components/Button.d.ts +11 -10
  7. package/lib/components/Button.js +2 -2
  8. package/lib/components/Button.js.map +2 -2
  9. package/lib/components/CalendarMobile.d.ts +40 -40
  10. package/lib/components/Checkbox.js +1 -1
  11. package/lib/components/Checkbox.js.map +2 -2
  12. package/lib/components/ContextMenu.d.ts +4 -0
  13. package/lib/components/ContextMenu.js +23 -7
  14. package/lib/components/ContextMenu.js.map +2 -2
  15. package/lib/components/DatePicker.d.ts +40 -40
  16. package/lib/components/DateRangePicker.d.ts +40 -40
  17. package/lib/components/Form.d.ts +22 -0
  18. package/lib/components/Form.js +44 -0
  19. package/lib/components/Form.js.map +13 -0
  20. package/lib/components/FormField.d.ts +65 -0
  21. package/lib/components/FormField.js +48 -0
  22. package/lib/components/FormField.js.map +13 -0
  23. package/lib/components/InputBox.d.ts +10 -10
  24. package/lib/components/InputBox.js +4 -3
  25. package/lib/components/InputBox.js.map +2 -2
  26. package/lib/components/InputBoxWithSuggestion.d.ts +280 -0
  27. package/lib/components/InputBoxWithSuggestion.js +65 -0
  28. package/lib/components/InputBoxWithSuggestion.js.map +13 -0
  29. package/lib/components/ListGroup.d.ts +10 -10
  30. package/lib/components/PickerContainer.d.ts +4 -2
  31. package/lib/components/PickerContainer.js +28 -5
  32. package/lib/components/PickerContainer.js.map +2 -2
  33. package/lib/components/Radios.d.ts +10 -10
  34. package/lib/components/ResultBox.d.ts +40 -40
  35. package/lib/components/SearchBox.d.ts +40 -40
  36. package/lib/components/Select.d.ts +195 -202
  37. package/lib/components/Select.js +7 -3
  38. package/lib/components/Select.js.map +2 -2
  39. package/lib/components/Textarea.d.ts +568 -2
  40. package/lib/components/Textarea.js +129 -1
  41. package/lib/components/Textarea.js.map +2 -2
  42. package/lib/components/Toast.js +11 -9
  43. package/lib/components/Toast.js.map +2 -2
  44. package/lib/components/UserSelect.d.ts +500 -0
  45. package/lib/components/UserSelect.js +559 -0
  46. package/lib/components/UserSelect.js.map +13 -0
  47. package/lib/components/UserTabSelect.d.ts +320 -0
  48. package/lib/components/UserTabSelect.js +163 -0
  49. package/lib/components/UserTabSelect.js.map +13 -0
  50. package/lib/components/WithRemoteConfig.d.ts +7 -0
  51. package/lib/components/WithRemoteConfig.js +17 -11
  52. package/lib/components/WithRemoteConfig.js.map +2 -2
  53. package/lib/components/calendar/DaysView.d.ts +26 -1
  54. package/lib/components/calendar/DaysView.js +48 -14
  55. package/lib/components/calendar/DaysView.js.map +2 -2
  56. package/lib/components/calendar/TimeView.d.ts +1 -1
  57. package/lib/components/calendar/TimeView.js +8 -2
  58. package/lib/components/calendar/TimeView.js.map +2 -2
  59. package/lib/components/icons.d.ts +7 -1
  60. package/lib/components/icons.js +17 -1
  61. package/lib/components/icons.js.map +2 -2
  62. package/lib/components/index.d.ts +2 -1
  63. package/lib/components/index.js +3 -1
  64. package/lib/components/index.js.map +2 -2
  65. package/lib/components/json-schema/Array.d.ts +3 -0
  66. package/lib/components/json-schema/Array.js +125 -0
  67. package/lib/components/json-schema/Array.js.map +13 -0
  68. package/lib/components/json-schema/Item.d.ts +3 -0
  69. package/lib/components/json-schema/Item.js +34 -0
  70. package/lib/components/json-schema/Item.js.map +13 -0
  71. package/lib/components/json-schema/Object.d.ts +3 -0
  72. package/lib/components/json-schema/Object.js +178 -0
  73. package/lib/components/json-schema/Object.js.map +13 -0
  74. package/lib/components/json-schema/index.d.ts +279 -0
  75. package/lib/components/json-schema/index.js +16 -0
  76. package/lib/components/json-schema/index.js.map +13 -0
  77. package/lib/components/schema-editor/Array.js +2 -2
  78. package/lib/components/schema-editor/Array.js.map +2 -2
  79. package/lib/components/schema-editor/Common.d.ts +2 -0
  80. package/lib/components/schema-editor/Common.js +39 -3
  81. package/lib/components/schema-editor/Common.js.map +2 -2
  82. package/lib/components/schema-editor/Object.js +2 -2
  83. package/lib/components/schema-editor/Object.js.map +2 -2
  84. package/lib/components/schema-editor/index.d.ts +45 -41
  85. package/lib/components/schema-editor/index.js +5 -5
  86. package/lib/components/schema-editor/index.js.map +2 -2
  87. package/lib/hooks/use-validation-resolver.d.ts +1 -0
  88. package/lib/hooks/use-validation-resolver.js +49 -0
  89. package/lib/hooks/use-validation-resolver.js.map +13 -0
  90. package/lib/icons/department.js +17 -0
  91. package/lib/icons/menu.js +9 -0
  92. package/lib/icons/post.js +15 -0
  93. package/lib/icons/role.js +14 -0
  94. package/lib/icons/user-remove.js +12 -0
  95. package/lib/index.d.ts +2 -0
  96. package/lib/index.js +3 -1
  97. package/lib/index.js.map +2 -2
  98. package/lib/locale/de-DE.js +11 -1
  99. package/lib/locale/de-DE.js.map +2 -2
  100. package/lib/locale/en-US.js +12 -1
  101. package/lib/locale/en-US.js.map +2 -2
  102. package/lib/locale/zh-CN.js +14 -3
  103. package/lib/locale/zh-CN.js.map +2 -2
  104. package/lib/renderers/Action.js +25 -11
  105. package/lib/renderers/Action.js.map +2 -2
  106. package/lib/renderers/CRUD.js +5 -1
  107. package/lib/renderers/CRUD.js.map +2 -2
  108. package/lib/renderers/Dialog.js +9 -3
  109. package/lib/renderers/Dialog.js.map +2 -2
  110. package/lib/renderers/Drawer.js +5 -1
  111. package/lib/renderers/Drawer.js.map +2 -2
  112. package/lib/renderers/Form/InputDate.d.ts +2 -2
  113. package/lib/renderers/Form/InputDate.js.map +2 -2
  114. package/lib/renderers/Form/JSONSchema.d.ts +23 -0
  115. package/lib/renderers/Form/JSONSchema.js +44 -0
  116. package/lib/renderers/Form/JSONSchema.js.map +13 -0
  117. package/lib/renderers/Form/JSONSchemaEditor.d.ts +2 -3
  118. package/lib/renderers/Form/JSONSchemaEditor.js +9 -24
  119. package/lib/renderers/Form/JSONSchemaEditor.js.map +2 -2
  120. package/lib/renderers/Form/Textarea.d.ts +1 -8
  121. package/lib/renderers/Form/Textarea.js +11 -75
  122. package/lib/renderers/Form/Textarea.js.map +2 -2
  123. package/lib/renderers/Form/UserSelect.d.ts +54 -0
  124. package/lib/renderers/Form/UserSelect.js +197 -0
  125. package/lib/renderers/Form/UserSelect.js.map +13 -0
  126. package/lib/renderers/Form/index.d.ts +1 -1
  127. package/lib/renderers/Form/index.js +88 -42
  128. package/lib/renderers/Form/index.js.map +2 -2
  129. package/lib/renderers/Log.d.ts +13 -1
  130. package/lib/renderers/Log.js +82 -16
  131. package/lib/renderers/Log.js.map +2 -2
  132. package/lib/renderers/Page.js +5 -1
  133. package/lib/renderers/Page.js.map +2 -2
  134. package/lib/renderers/Service.js +5 -1
  135. package/lib/renderers/Service.js.map +2 -2
  136. package/lib/renderers/Wizard.js +37 -14
  137. package/lib/renderers/Wizard.js.map +2 -2
  138. package/lib/store/form.js +65 -45
  139. package/lib/store/form.js.map +2 -2
  140. package/lib/themes/ang-ie11.css +561 -21
  141. package/lib/themes/ang.css +538 -9
  142. package/lib/themes/ang.css.map +1 -1
  143. package/lib/themes/antd-ie11.css +561 -21
  144. package/lib/themes/antd.css +538 -9
  145. package/lib/themes/antd.css.map +1 -1
  146. package/lib/themes/cxd-ie11.css +561 -21
  147. package/lib/themes/cxd.css +538 -9
  148. package/lib/themes/cxd.css.map +1 -1
  149. package/lib/themes/dark-ie11.css +561 -21
  150. package/lib/themes/dark.css +538 -9
  151. package/lib/themes/dark.css.map +1 -1
  152. package/lib/themes/default-ie11.css +561 -21
  153. package/lib/themes/default.css +538 -9
  154. package/lib/themes/default.css.map +1 -1
  155. package/lib/utils/api.js +1 -1
  156. package/lib/utils/api.js.map +2 -2
  157. package/lib/utils/renderer-event.js.map +2 -2
  158. package/package.json +2 -1
  159. package/schema.json +539 -3
  160. package/scss/_properties.scss +20 -8
  161. package/scss/components/_input-box.scss +22 -1
  162. package/scss/components/_json-schema.scss +124 -0
  163. package/scss/components/_log.scss +37 -5
  164. package/scss/components/form/_date-range.scss +1 -0
  165. package/scss/components/form/_select.scss +9 -0
  166. package/scss/components/form/_user-select.scss +422 -0
  167. package/scss/themes/_common.scss +2 -0
  168. package/sdk/ang-ie11.css +651 -21
  169. package/sdk/ang.css +628 -9
  170. package/sdk/antd-ie11.css +651 -21
  171. package/sdk/antd.css +628 -9
  172. package/sdk/barcode.js +51 -51
  173. package/sdk/charts.js +14 -14
  174. package/sdk/codemirror.js +7 -7
  175. package/sdk/color-picker.js +65 -65
  176. package/sdk/cropperjs.js +2 -2
  177. package/sdk/cxd-ie11.css +651 -21
  178. package/sdk/cxd.css +628 -9
  179. package/sdk/dark-ie11.css +651 -21
  180. package/sdk/dark.css +628 -9
  181. package/sdk/exceljs.js +1 -1
  182. package/sdk/locale/de-DE.js +11 -1
  183. package/sdk/markdown.js +69 -69
  184. package/sdk/papaparse.js +1 -1
  185. package/sdk/renderers/Form/CityDB.js +1 -1
  186. package/sdk/rest.js +16 -16
  187. package/sdk/rich-text.js +62 -62
  188. package/sdk/sdk-ie11.css +651 -21
  189. package/sdk/sdk.css +628 -9
  190. package/sdk/sdk.js +1655 -1643
  191. package/sdk/thirds/hls.js/hls.js +1 -1
  192. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  193. package/sdk/tinymce.js +57 -57
  194. package/src/RootRenderer.tsx +27 -15
  195. package/src/Schema.ts +5 -1
  196. package/src/components/Button.tsx +3 -0
  197. package/src/components/Checkbox.tsx +2 -1
  198. package/src/components/ContextMenu.tsx +25 -7
  199. package/src/components/Form.tsx +70 -0
  200. package/src/components/FormField.tsx +127 -0
  201. package/src/components/InputBox.tsx +4 -1
  202. package/src/components/InputBoxWithSuggestion.tsx +113 -0
  203. package/src/components/PickerContainer.tsx +20 -5
  204. package/src/components/Select.tsx +18 -10
  205. package/src/components/Textarea.tsx +234 -2
  206. package/src/components/Toast.tsx +19 -18
  207. package/src/components/UserSelect.tsx +850 -0
  208. package/src/components/UserTabSelect.tsx +261 -0
  209. package/src/components/WithRemoteConfig.tsx +22 -7
  210. package/src/components/calendar/DaysView.tsx +53 -16
  211. package/src/components/calendar/TimeView.tsx +10 -5
  212. package/src/components/icons.tsx +17 -1
  213. package/src/components/index.tsx +3 -1
  214. package/src/components/json-schema/Array.tsx +216 -0
  215. package/src/components/json-schema/Item.tsx +47 -0
  216. package/src/components/json-schema/Object.tsx +339 -0
  217. package/src/components/json-schema/index.tsx +44 -0
  218. package/src/components/schema-editor/Array.tsx +3 -1
  219. package/src/components/schema-editor/Common.tsx +61 -4
  220. package/src/components/schema-editor/Object.tsx +3 -1
  221. package/src/components/schema-editor/index.tsx +12 -5
  222. package/src/hooks/use-validation-resolver.ts +45 -0
  223. package/src/icons/department.svg +17 -0
  224. package/src/icons/menu.svg +2 -0
  225. package/src/icons/post.svg +15 -0
  226. package/src/icons/role.svg +14 -0
  227. package/src/icons/user-remove.svg +12 -0
  228. package/src/index.tsx +2 -0
  229. package/src/locale/de-DE.ts +11 -1
  230. package/src/locale/en-US.ts +12 -1
  231. package/src/locale/zh-CN.ts +14 -3
  232. package/src/renderers/Action.tsx +10 -9
  233. package/src/renderers/CRUD.tsx +5 -1
  234. package/src/renderers/Dialog.tsx +9 -3
  235. package/src/renderers/Drawer.tsx +5 -1
  236. package/src/renderers/Form/InputDate.tsx +9 -4
  237. package/src/renderers/Form/JSONSchema.tsx +56 -0
  238. package/src/renderers/Form/JSONSchemaEditor.tsx +8 -27
  239. package/src/renderers/Form/Textarea.tsx +7 -117
  240. package/src/renderers/Form/UserSelect.tsx +263 -0
  241. package/src/renderers/Form/index.tsx +28 -18
  242. package/src/renderers/Log.tsx +148 -13
  243. package/src/renderers/Page.tsx +6 -1
  244. package/src/renderers/Service.tsx +5 -1
  245. package/src/renderers/Wizard.tsx +24 -10
  246. package/src/store/form.ts +24 -17
  247. package/src/utils/api.ts +1 -1
  248. package/src/utils/renderer-event.ts +0 -2
package/lib/store/form.js CHANGED
@@ -212,34 +212,34 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
212
212
  setRestError([]);
213
213
  }
214
214
  var saveRemote = (0, mobx_state_tree_1.flow)(function saveRemote(api, data, options) {
215
- var ret, json, ret, e_1, result;
216
- var _a, _b, _c, _d;
215
+ var ret, json, ret, e_1, ret, result;
216
+ var _a, _b, _c, _d, _e, _f, _g;
217
217
  if (options === void 0) { options = {}; }
218
- return (0, tslib_1.__generator)(this, function (_e) {
219
- switch (_e.label) {
218
+ return (0, tslib_1.__generator)(this, function (_h) {
219
+ switch (_h.label) {
220
220
  case 0:
221
221
  clearRestError();
222
- _e.label = 1;
222
+ _h.label = 1;
223
223
  case 1:
224
- _e.trys.push([1, 10, , 11]);
224
+ _h.trys.push([1, 12, , 15]);
225
225
  options = (0, tslib_1.__assign)({ method: 'post' }, options);
226
226
  if (!(options && options.beforeSend)) return [3 /*break*/, 4];
227
227
  ret = options.beforeSend(data);
228
228
  if (!(ret && ret.then)) return [3 /*break*/, 3];
229
229
  return [4 /*yield*/, ret];
230
230
  case 2:
231
- ret = _e.sent();
232
- _e.label = 3;
231
+ ret = _h.sent();
232
+ _h.label = 3;
233
233
  case 3:
234
234
  if (ret === false) {
235
235
  return [2 /*return*/];
236
236
  }
237
- _e.label = 4;
237
+ _h.label = 4;
238
238
  case 4:
239
239
  self.markSaving(true);
240
240
  return [4 /*yield*/, (0, mobx_state_tree_1.getEnv)(self).fetcher(api, data, options)];
241
241
  case 5:
242
- json = _e.sent();
242
+ json = _h.sent();
243
243
  // 失败也同样修改数据,如果有数据的话。
244
244
  if (!(0, helper_1.isEmpty)(json.data) || json.ok) {
245
245
  self.updatedAt = Date.now();
@@ -250,10 +250,6 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
250
250
  : undefined, !!api.replaceData);
251
251
  }
252
252
  if (!!json.ok) return [3 /*break*/, 6];
253
- // 验证错误
254
- if (options && options.onFailed) {
255
- options.onFailed(json);
256
- }
257
253
  if (json.status === 422 && json.errors) {
258
254
  setFormItemErrors(json.errors);
259
255
  self.updateMessage((_b = (_a = json.msg) !== null && _a !== void 0 ? _a : self.__(options && options.errorMessage)) !== null && _b !== void 0 ? _b : self.__('Form.validateFailed'), true);
@@ -264,31 +260,48 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
264
260
  throw new errors_1.ServerError(self.msg, json);
265
261
  case 6:
266
262
  updateSavedData();
267
- if (!(options && options.onSuccess)) return [3 /*break*/, 8];
268
- ret = options.onSuccess(json);
269
- if (!(ret && ret.then)) return [3 /*break*/, 8];
263
+ ret = options && options.onSuccess && options.onSuccess(json);
264
+ if (!(ret === null || ret === void 0 ? void 0 : ret.then)) return [3 /*break*/, 8];
270
265
  return [4 /*yield*/, ret];
271
266
  case 7:
272
- _e.sent();
273
- _e.label = 8;
267
+ ret = _h.sent();
268
+ _h.label = 8;
274
269
  case 8:
270
+ if (!((_d = ret === null || ret === void 0 ? void 0 : ret.cbResult) === null || _d === void 0 ? void 0 : _d.then)) return [3 /*break*/, 10];
271
+ return [4 /*yield*/, ret.cbResult];
272
+ case 9:
273
+ _h.sent();
274
+ _h.label = 10;
275
+ case 10:
275
276
  self.markSaving(false);
276
- self.updateMessage((_d = json.msg) !== null && _d !== void 0 ? _d : self.__(options && options.successMessage));
277
- self.msg &&
278
- (0, mobx_state_tree_1.getEnv)(self).notify('success', self.msg, json.msgTimeout !== undefined
279
- ? {
280
- closeButton: true,
281
- timeout: json.msgTimeout
282
- }
283
- : undefined);
277
+ self.updateMessage((_e = json.msg) !== null && _e !== void 0 ? _e : self.__(options && options.successMessage));
278
+ if (!((_f = ret === null || ret === void 0 ? void 0 : ret.dispatcher) === null || _f === void 0 ? void 0 : _f.prevented)) {
279
+ self.msg &&
280
+ (0, mobx_state_tree_1.getEnv)(self).notify('success', self.msg, json.msgTimeout !== undefined
281
+ ? {
282
+ closeButton: true,
283
+ timeout: json.msgTimeout
284
+ }
285
+ : undefined);
286
+ }
284
287
  return [2 /*return*/, json.data];
285
- case 9: return [3 /*break*/, 11];
286
- case 10:
287
- e_1 = _e.sent();
288
+ case 11: return [3 /*break*/, 15];
289
+ case 12:
290
+ e_1 = _h.sent();
288
291
  self.markSaving(false);
292
+ ret = options && options.onFailed && options.onFailed(e_1.response || {});
293
+ if (!(ret === null || ret === void 0 ? void 0 : ret.then)) return [3 /*break*/, 14];
294
+ return [4 /*yield*/, ret];
295
+ case 13:
296
+ ret = _h.sent();
297
+ _h.label = 14;
298
+ case 14:
289
299
  if (!(0, mobx_state_tree_1.isAlive)(self) || self.disposed) {
290
300
  return [2 /*return*/];
291
301
  }
302
+ if ((_g = ret === null || ret === void 0 ? void 0 : ret.dispatcher) === null || _g === void 0 ? void 0 : _g.prevented) {
303
+ return [2 /*return*/];
304
+ }
292
305
  if (e_1.type === 'ServerError') {
293
306
  result = e_1.response;
294
307
  (0, mobx_state_tree_1.getEnv)(self).notify('error', e_1.message, result.msgTimeout !== undefined
@@ -302,7 +315,7 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
302
315
  (0, mobx_state_tree_1.getEnv)(self).notify('error', e_1.message);
303
316
  }
304
317
  throw e_1;
305
- case 11: return [2 /*return*/];
318
+ case 15: return [2 /*return*/];
306
319
  }
307
320
  });
308
321
  });
@@ -348,7 +361,7 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
348
361
  }, [self]);
349
362
  };
350
363
  var submit = (0, mobx_state_tree_1.flow)(function submit(fn, hooks, failedMessage, validateErrCb) {
351
- var valid, msg, env, diff, result;
364
+ var valid, msg, env, dispatcher, diff, result;
352
365
  return (0, tslib_1.__generator)(this, function (_a) {
353
366
  switch (_a.label) {
354
367
  case 0:
@@ -356,37 +369,44 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
356
369
  self.submiting = true;
357
370
  _a.label = 1;
358
371
  case 1:
359
- _a.trys.push([1, , 5, 6]);
372
+ _a.trys.push([1, , 8, 9]);
360
373
  return [4 /*yield*/, validate(hooks)];
361
374
  case 2:
362
375
  valid = _a.sent();
363
- // 如果不是valid,而且有包含不是remote的报错的表单项时,不可提交
364
- if ((!valid &&
376
+ if (!((!valid &&
365
377
  self.items.some(function (item) {
366
378
  return item.errorData.some(function (e) { return e.tag !== 'remote'; });
367
379
  })) ||
368
- self.restError.length) {
369
- msg = failedMessage !== null && failedMessage !== void 0 ? failedMessage : self.__('Form.validateFailed');
370
- env = (0, mobx_state_tree_1.getEnv)(self);
380
+ self.restError.length)) return [3 /*break*/, 5];
381
+ msg = failedMessage !== null && failedMessage !== void 0 ? failedMessage : self.__('Form.validateFailed');
382
+ env = (0, mobx_state_tree_1.getEnv)(self);
383
+ dispatcher = validateErrCb && validateErrCb();
384
+ if (!(dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.then)) return [3 /*break*/, 4];
385
+ return [4 /*yield*/, dispatcher];
386
+ case 3:
387
+ dispatcher = _a.sent();
388
+ _a.label = 4;
389
+ case 4:
390
+ if (!(dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.prevented)) {
371
391
  msg && env.notify('error', msg);
372
- validateErrCb && validateErrCb();
373
- throw new Error(msg);
374
392
  }
375
- if (!fn) return [3 /*break*/, 4];
393
+ throw new Error(msg);
394
+ case 5:
395
+ if (!fn) return [3 /*break*/, 7];
376
396
  diff = (0, helper_1.difference)(self.data, self.pristine);
377
397
  return [4 /*yield*/, fn((0, helper_1.createObject)((0, helper_1.createObject)(self.data.__super, {
378
398
  diff: diff,
379
399
  __diff: diff,
380
400
  pristine: self.pristine
381
401
  }), self.data))];
382
- case 3:
402
+ case 6:
383
403
  result = _a.sent();
384
404
  return [2 /*return*/, result !== null && result !== void 0 ? result : self.data];
385
- case 4: return [2 /*return*/, self.data];
386
- case 5:
405
+ case 7: return [2 /*return*/, self.data];
406
+ case 8:
387
407
  self.submiting = false;
388
408
  return [7 /*endfinally*/];
389
- case 6: return [2 /*return*/];
409
+ case 9: return [2 /*return*/];
390
410
  }
391
411
  });
392
412
  });
@@ -6,8 +6,8 @@
6
6
  "/src/store/form.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import {\n types,\n getEnv,\n flow,\n getRoot,\n detach,\n destroy,\n isAlive,\n Instance\n} from 'mobx-state-tree';\nimport debounce from 'lodash/debounce';\nimport {ServiceStore} from './service';\nimport {FormItemStore, IFormItemStore, SFormItemStore} from './formItem';\nimport {Api, ApiObject, fetchOptions, Payload} from '../types';\nimport {ServerError} from '../utils/errors';\nimport {\n getVariable,\n setVariable,\n deleteVariable,\n cloneObject,\n createObject,\n difference,\n guid,\n isEmpty,\n mapObject,\n keyToPath\n} from '../utils/helper';\nimport isEqual from 'lodash/isEqual';\nimport flatten from 'lodash/flatten';\nimport {getStoreById, removeStore} from './manager';\nimport {filter} from '../utils/tpl';\nimport {normalizeApiResponseData} from '../utils/api';\n\nexport const FormStore = ServiceStore.named('FormStore')\n .props({\n inited: false,\n validated: false,\n submited: false,\n submiting: false,\n savedData: types.frozen(),\n // items: types.optional(types.array(types.late(() => FormItemStore)), []),\n canAccessSuperData: true,\n persistData: types.optional(types.union(types.string, types.boolean), ''),\n restError: types.optional(types.array(types.string), []) // 没有映射到表达项上的 errors\n })\n .views(self => {\n function getItems() {\n const formItems: Array<IFormItemStore> = [];\n\n // 查找孩子节点中是 formItem 的表单项\n const pool = self.children.concat();\n while (pool.length) {\n const current = pool.shift()!;\n\n if (current.storeType === FormItemStore.name) {\n formItems.push(current);\n } else {\n pool.push(...current.children);\n }\n }\n\n return formItems;\n }\n\n return {\n get loading() {\n return self.saving || self.fetching;\n },\n\n get items() {\n return getItems();\n },\n\n get errors() {\n let errors: {\n [propName: string]: Array<string>;\n } = {};\n\n getItems().forEach(item => {\n if (!item.valid) {\n errors[item.name] = Array.isArray(errors[item.name])\n ? errors[item.name].concat(item.errors)\n : item.errors.concat();\n }\n });\n\n return errors;\n },\n\n getValueByName(\n name: string,\n canAccessSuperData = self.canAccessSuperData\n ) {\n return getVariable(self.data, name, canAccessSuperData);\n },\n\n getPristineValueByName(name: string) {\n return getVariable(self.pristine, name);\n },\n\n getItemById(id: string) {\n return getItems().find(item => item.itemId === id);\n },\n\n getItemByName(name: string) {\n return getItems().find(item => item.name === name);\n },\n\n getItemsByName(name: string) {\n return getItems().filter(item => item.name === name);\n },\n\n get valid() {\n return (\n getItems().every(item => item.valid) &&\n (!self.restError || !self.restError.length)\n );\n },\n\n get validating() {\n return getItems().some(item => item.validating);\n },\n\n get isPristine() {\n return isEqual(self.pristine, self.data);\n },\n\n get modified() {\n if (self.savedData) {\n return self.savedData !== self.data;\n }\n\n return !this.isPristine;\n },\n\n get persistKey() {\n return `${location.pathname}/${self.path}/${\n typeof self.persistData === 'string'\n ? filter(self.persistData, self.data)\n : self.persistData\n }`;\n }\n };\n })\n .actions(self => {\n function setValues(values: object, tag?: object, replace?: boolean) {\n self.updateData(values, tag, replace);\n\n // 如果数据域中有数据变化,就都reset一下,去掉之前残留的验证消息\n self.items.forEach(item => item.reset());\n\n // 同步 options\n syncOptions();\n }\n\n function setValueByName(\n name: string,\n value: any,\n isPristine: boolean = false,\n force: boolean = false\n ) {\n // 没有变化就不跑了。\n const origin = getVariable(self.data, name, false);\n\n const prev = self.data;\n const data = cloneObject(self.data);\n\n if (value !== origin) {\n if (prev.__prev) {\n // 基于之前的 __prev 改\n const prevData = cloneObject(prev.__prev);\n setVariable(prevData, name, origin);\n Object.defineProperty(data, '__prev', {\n value: prevData,\n enumerable: false,\n configurable: false,\n writable: false\n });\n } else {\n Object.defineProperty(data, '__prev', {\n value: {...prev},\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n } else if (!force) {\n return;\n }\n\n setVariable(data, name, value);\n\n if (isPristine) {\n const pristine = cloneObject(self.pristine);\n setVariable(pristine, name, value);\n self.pristine = pristine;\n }\n\n if (!data.__pristine) {\n Object.defineProperty(data, '__pristine', {\n value: self.pristine,\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n\n self.data = data;\n\n // 同步 options\n syncOptions();\n }\n\n function deleteValueByName(name: string) {\n const prev = self.data;\n const data = cloneObject(self.data);\n\n if (prev.__prev) {\n // 基于之前的 __prev 改\n const prevData = cloneObject(prev.__prev);\n setVariable(prevData, name, getVariable(prev, name));\n Object.defineProperty(data, '__prev', {\n value: prevData,\n enumerable: false,\n configurable: false,\n writable: false\n });\n } else {\n Object.defineProperty(data, '__prev', {\n value: {...prev},\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n\n deleteVariable(data, name);\n self.data = data;\n }\n\n function trimValues() {\n let data = mapObject(self.data, (item: any) =>\n typeof item === 'string' ? item.trim() : item\n );\n self.updateData(data);\n }\n\n const syncOptions = debounce(\n () => self.items.forEach(item => item.syncOptions(undefined, self.data)),\n 250,\n {\n trailing: true,\n leading: false\n }\n );\n\n function setRestError(errors: string[]) {\n self.restError.replace(errors);\n }\n\n function addRestError(msg: string, name?: string | Array<string>) {\n const names = name\n ? Array.isArray(name)\n ? name.concat()\n : [name]\n : null;\n\n if (Array.isArray(names)) {\n const errors: any = {};\n names.forEach(name => (errors[name] = msg));\n setFormItemErrors(errors, 'rules');\n } else {\n self.restError.push(msg);\n }\n }\n\n function clearRestError() {\n setRestError([]);\n }\n\n const saveRemote: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* saveRemote(\n api: Api,\n data: object,\n options: fetchOptions = {}\n ) {\n clearRestError();\n\n try {\n options = {\n method: 'post', // 默认走 post\n ...options\n };\n\n if (options && options.beforeSend) {\n let ret = options.beforeSend(data);\n\n if (ret && ret.then) {\n ret = yield ret;\n }\n\n if (ret === false) {\n return;\n }\n }\n\n self.markSaving(true);\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n\n // 失败也同样修改数据,如果有数据的话。\n if (!isEmpty(json.data) || json.ok) {\n self.updatedAt = Date.now();\n\n setValues(\n normalizeApiResponseData(json.data),\n json.ok\n ? {\n __saved: Date.now()\n }\n : undefined,\n !!(api as ApiObject).replaceData\n );\n }\n\n if (!json.ok) {\n // 验证错误\n if (options && options.onFailed) {\n options.onFailed(json);\n }\n if (json.status === 422 && json.errors) {\n setFormItemErrors(json.errors);\n\n self.updateMessage(\n json.msg ??\n self.__(options && options.errorMessage) ??\n self.__('Form.validateFailed'),\n true\n );\n } else {\n self.updateMessage(\n json.msg ?? self.__(options && options.errorMessage),\n true\n );\n }\n\n throw new ServerError(self.msg, json);\n } else {\n updateSavedData();\n if (options && options.onSuccess) {\n const ret = options.onSuccess(json);\n\n if (ret && ret.then) {\n yield ret;\n }\n }\n self.markSaving(false);\n self.updateMessage(\n json.msg ?? self.__(options && options.successMessage)\n );\n self.msg &&\n getEnv(self).notify(\n 'success',\n self.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n return json.data;\n }\n } catch (e) {\n self.markSaving(false);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n if (e.type === 'ServerError') {\n const result = (e as ServerError).response;\n getEnv(self).notify(\n 'error',\n e.message,\n result.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: result.msgTimeout\n }\n : undefined\n );\n } else {\n getEnv(self).notify('error', e.message);\n }\n\n throw e;\n }\n });\n\n function setFormItemErrors(\n errors: {[propName: string]: string},\n tag = 'remote'\n ) {\n Object.keys(errors).forEach((key: string) => {\n const item = self.getItemById(key);\n const items = self.getItemsByName(key);\n\n if (item) {\n item.setError(errors[key], tag);\n delete errors[key];\n } else if (items.length) {\n // 通过 name 直接找到的\n items.forEach(item => item.setError(errors[key], tag));\n delete errors[key];\n } else {\n // 尝试通过path寻找\n const items = getItemsByPath(key);\n\n if (Array.isArray(items) && items.length) {\n items.forEach(item => item.setError(`${errors[key]}`, tag));\n delete errors[key];\n }\n }\n });\n\n // 没有映射上的error信息加在msg后显示出来\n !isEmpty(errors) &&\n setRestError(Object.keys(errors).map(key => String(errors[key])));\n }\n\n const getItemsByPath = (key: string) => {\n const paths = keyToPath(key);\n const len = paths.length;\n\n return paths.reduce(\n (stores: any[], path, idx) => {\n if (Array.isArray(stores) && stores.every(s => s.getItemsByName)) {\n const items = flatten(\n stores.map(s => s.getItemsByName(path))\n ).filter(i => i);\n const subStores = items\n .map(item => item?.getSubStore?.())\n .filter(i => i);\n return subStores.length && idx < len - 1 ? subStores : items;\n }\n return null;\n },\n [self]\n );\n };\n\n const submit: (\n fn?: (values: object) => Promise<any>,\n hooks?: Array<() => Promise<any>>,\n failedMessage?: string,\n validateErrCb?: () => void\n ) => Promise<any> = flow(function* submit(\n fn: any,\n hooks?: Array<() => Promise<any>>,\n failedMessage?: string,\n validateErrCb?: () => void\n ) {\n self.submited = true;\n self.submiting = true;\n\n try {\n let valid = yield validate(hooks);\n\n // 如果不是valid,而且有包含不是remote的报错的表单项时,不可提交\n if (\n (!valid &&\n self.items.some(item =>\n item.errorData.some(e => e.tag !== 'remote')\n )) ||\n self.restError.length\n ) {\n let msg = failedMessage ?? self.__('Form.validateFailed');\n const env = getEnv(self);\n\n msg && env.notify('error', msg);\n validateErrCb && validateErrCb();\n throw new Error(msg);\n }\n\n if (fn) {\n const diff = difference(self.data, self.pristine);\n const result = yield fn(\n createObject(\n createObject(self.data.__super, {\n diff: diff,\n __diff: diff,\n pristine: self.pristine\n }),\n self.data\n )\n );\n return result ?? self.data;\n }\n\n return self.data;\n } finally {\n self.submiting = false;\n }\n });\n\n const validate: (\n hooks?: Array<() => Promise<any>>,\n forceValidate?: boolean\n ) => Promise<boolean> = flow(function* validate(\n hooks?: Array<() => Promise<any>>,\n forceValidate?: boolean\n ) {\n self.validated = true;\n const items = self.items.concat();\n for (let i = 0, len = items.length; i < len; i++) {\n let item = items[i] as IFormItemStore;\n\n // 先清除组合校验的错误\n item.clearError('rules');\n\n // 验证过,或者是 unique 的表单项,或者强制验证,或者有远端校验api\n if (\n !item.validated ||\n item.unique ||\n forceValidate ||\n !!item.validateApi\n ) {\n yield item.validate(self.data);\n }\n }\n\n if (hooks && hooks.length) {\n for (let i = 0, len = hooks.length; i < len; i++) {\n yield hooks[i]();\n }\n }\n\n return self.valid;\n });\n\n const validateFields: (fields: Array<string>) => Promise<boolean> = flow(\n function* validateFields(fields: Array<string>) {\n const items = self.items.concat();\n let result: Array<boolean> = [];\n for (let i = 0, len = items.length; i < len; i++) {\n let item = items[i] as IFormItemStore;\n\n if (~fields.indexOf(item.name)) {\n result.push(yield item.validate(self.data));\n }\n }\n return result.every(item => item);\n }\n );\n\n function clearErrors() {\n const items = self.items.concat();\n items.forEach(item => item.reset());\n }\n\n function reset(cb?: (data: any) => void, resetData: boolean = true) {\n if (resetData) {\n self.data = self.pristine;\n }\n\n // 值可能变了,重新验证一次。\n self.validated = false;\n self.submited = false;\n self.items.forEach(item => item.reset());\n cb && cb(self.data);\n }\n\n function clear(cb?: (data: any) => void) {\n const toClear: any = {};\n self.items.forEach(item => {\n if (item.name && item.type !== 'hidden') {\n setVariable(toClear, item.name, item.resetValue);\n }\n });\n setValues(toClear);\n self.validated = false;\n self.submited = false;\n self.items.forEach(item => item.reset());\n cb && cb(self.data);\n }\n\n function setCanAccessSuperData(value: boolean = true) {\n self.canAccessSuperData = value;\n }\n\n function setInited(value: boolean) {\n self.inited = value;\n }\n\n function setPersistData(value = '') {\n self.persistData = value;\n }\n\n const setLocalPersistData = () => {\n localStorage.setItem(self.persistKey, JSON.stringify(self.data));\n };\n\n function getLocalPersistData() {\n let data = localStorage.getItem(self.persistKey);\n if (data) {\n self.updateData(JSON.parse(data));\n }\n }\n\n function clearLocalPersistData() {\n localStorage.removeItem(self.persistKey);\n }\n\n function updateSavedData() {\n self.savedData = self.data;\n }\n\n return {\n setInited,\n setValues,\n setValueByName,\n trimValues,\n submit,\n validate,\n validateFields,\n clearErrors,\n saveRemote,\n reset,\n syncOptions,\n setCanAccessSuperData,\n deleteValueByName,\n getLocalPersistData,\n setLocalPersistData,\n clearLocalPersistData,\n setPersistData,\n clear,\n updateSavedData,\n setFormItemErrors,\n getItemsByPath,\n setRestError,\n addRestError,\n clearRestError,\n beforeDestroy() {\n syncOptions.cancel();\n }\n };\n });\n\nexport type IFormStore = Instance<typeof FormStore>;\nexport {IFormItemStore};\n"
11
+ "import {\n types,\n getEnv,\n flow,\n getRoot,\n detach,\n destroy,\n isAlive,\n Instance\n} from 'mobx-state-tree';\nimport debounce from 'lodash/debounce';\nimport {ServiceStore} from './service';\nimport {FormItemStore, IFormItemStore, SFormItemStore} from './formItem';\nimport {Api, ApiObject, fetchOptions, Payload} from '../types';\nimport {ServerError} from '../utils/errors';\nimport {\n getVariable,\n setVariable,\n deleteVariable,\n cloneObject,\n createObject,\n difference,\n guid,\n isEmpty,\n mapObject,\n keyToPath\n} from '../utils/helper';\nimport isEqual from 'lodash/isEqual';\nimport flatten from 'lodash/flatten';\nimport {getStoreById, removeStore} from './manager';\nimport {filter} from '../utils/tpl';\nimport {normalizeApiResponseData} from '../utils/api';\n\nexport const FormStore = ServiceStore.named('FormStore')\n .props({\n inited: false,\n validated: false,\n submited: false,\n submiting: false,\n savedData: types.frozen(),\n // items: types.optional(types.array(types.late(() => FormItemStore)), []),\n canAccessSuperData: true,\n persistData: types.optional(types.union(types.string, types.boolean), ''),\n restError: types.optional(types.array(types.string), []) // 没有映射到表达项上的 errors\n })\n .views(self => {\n function getItems() {\n const formItems: Array<IFormItemStore> = [];\n\n // 查找孩子节点中是 formItem 的表单项\n const pool = self.children.concat();\n while (pool.length) {\n const current = pool.shift()!;\n\n if (current.storeType === FormItemStore.name) {\n formItems.push(current);\n } else {\n pool.push(...current.children);\n }\n }\n\n return formItems;\n }\n\n return {\n get loading() {\n return self.saving || self.fetching;\n },\n\n get items() {\n return getItems();\n },\n\n get errors() {\n let errors: {\n [propName: string]: Array<string>;\n } = {};\n\n getItems().forEach(item => {\n if (!item.valid) {\n errors[item.name] = Array.isArray(errors[item.name])\n ? errors[item.name].concat(item.errors)\n : item.errors.concat();\n }\n });\n\n return errors;\n },\n\n getValueByName(\n name: string,\n canAccessSuperData = self.canAccessSuperData\n ) {\n return getVariable(self.data, name, canAccessSuperData);\n },\n\n getPristineValueByName(name: string) {\n return getVariable(self.pristine, name);\n },\n\n getItemById(id: string) {\n return getItems().find(item => item.itemId === id);\n },\n\n getItemByName(name: string) {\n return getItems().find(item => item.name === name);\n },\n\n getItemsByName(name: string) {\n return getItems().filter(item => item.name === name);\n },\n\n get valid() {\n return (\n getItems().every(item => item.valid) &&\n (!self.restError || !self.restError.length)\n );\n },\n\n get validating() {\n return getItems().some(item => item.validating);\n },\n\n get isPristine() {\n return isEqual(self.pristine, self.data);\n },\n\n get modified() {\n if (self.savedData) {\n return self.savedData !== self.data;\n }\n\n return !this.isPristine;\n },\n\n get persistKey() {\n return `${location.pathname}/${self.path}/${\n typeof self.persistData === 'string'\n ? filter(self.persistData, self.data)\n : self.persistData\n }`;\n }\n };\n })\n .actions(self => {\n function setValues(values: object, tag?: object, replace?: boolean) {\n self.updateData(values, tag, replace);\n\n // 如果数据域中有数据变化,就都reset一下,去掉之前残留的验证消息\n self.items.forEach(item => item.reset());\n\n // 同步 options\n syncOptions();\n }\n\n function setValueByName(\n name: string,\n value: any,\n isPristine: boolean = false,\n force: boolean = false\n ) {\n // 没有变化就不跑了。\n const origin = getVariable(self.data, name, false);\n\n const prev = self.data;\n const data = cloneObject(self.data);\n\n if (value !== origin) {\n if (prev.__prev) {\n // 基于之前的 __prev 改\n const prevData = cloneObject(prev.__prev);\n setVariable(prevData, name, origin);\n Object.defineProperty(data, '__prev', {\n value: prevData,\n enumerable: false,\n configurable: false,\n writable: false\n });\n } else {\n Object.defineProperty(data, '__prev', {\n value: {...prev},\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n } else if (!force) {\n return;\n }\n\n setVariable(data, name, value);\n\n if (isPristine) {\n const pristine = cloneObject(self.pristine);\n setVariable(pristine, name, value);\n self.pristine = pristine;\n }\n\n if (!data.__pristine) {\n Object.defineProperty(data, '__pristine', {\n value: self.pristine,\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n\n self.data = data;\n\n // 同步 options\n syncOptions();\n }\n\n function deleteValueByName(name: string) {\n const prev = self.data;\n const data = cloneObject(self.data);\n\n if (prev.__prev) {\n // 基于之前的 __prev 改\n const prevData = cloneObject(prev.__prev);\n setVariable(prevData, name, getVariable(prev, name));\n Object.defineProperty(data, '__prev', {\n value: prevData,\n enumerable: false,\n configurable: false,\n writable: false\n });\n } else {\n Object.defineProperty(data, '__prev', {\n value: {...prev},\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n\n deleteVariable(data, name);\n self.data = data;\n }\n\n function trimValues() {\n let data = mapObject(self.data, (item: any) =>\n typeof item === 'string' ? item.trim() : item\n );\n self.updateData(data);\n }\n\n const syncOptions = debounce(\n () => self.items.forEach(item => item.syncOptions(undefined, self.data)),\n 250,\n {\n trailing: true,\n leading: false\n }\n );\n\n function setRestError(errors: string[]) {\n self.restError.replace(errors);\n }\n\n function addRestError(msg: string, name?: string | Array<string>) {\n const names = name\n ? Array.isArray(name)\n ? name.concat()\n : [name]\n : null;\n\n if (Array.isArray(names)) {\n const errors: any = {};\n names.forEach(name => (errors[name] = msg));\n setFormItemErrors(errors, 'rules');\n } else {\n self.restError.push(msg);\n }\n }\n\n function clearRestError() {\n setRestError([]);\n }\n\n const saveRemote: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* saveRemote(\n api: Api,\n data: object,\n options: fetchOptions = {}\n ) {\n clearRestError();\n\n try {\n options = {\n method: 'post', // 默认走 post\n ...options\n };\n\n if (options && options.beforeSend) {\n let ret = options.beforeSend(data);\n\n if (ret && ret.then) {\n ret = yield ret;\n }\n\n if (ret === false) {\n return;\n }\n }\n\n self.markSaving(true);\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n\n // 失败也同样修改数据,如果有数据的话。\n if (!isEmpty(json.data) || json.ok) {\n self.updatedAt = Date.now();\n\n setValues(\n normalizeApiResponseData(json.data),\n json.ok\n ? {\n __saved: Date.now()\n }\n : undefined,\n !!(api as ApiObject).replaceData\n );\n }\n\n if (!json.ok) {\n\n if (json.status === 422 && json.errors) {\n setFormItemErrors(json.errors);\n\n self.updateMessage(\n json.msg ??\n self.__(options && options.errorMessage) ??\n self.__('Form.validateFailed'),\n true\n );\n } else {\n self.updateMessage(\n json.msg ?? self.__(options && options.errorMessage),\n true\n );\n }\n\n throw new ServerError(self.msg, json);\n } else {\n updateSavedData();\n let ret = options && options.onSuccess && options.onSuccess(json);\n if (ret?.then) {\n ret = yield ret;\n }\n if (ret?.cbResult?.then) {\n yield ret.cbResult;\n }\n self.markSaving(false);\n self.updateMessage(\n json.msg ?? self.__(options && options.successMessage)\n );\n if (!ret?.dispatcher?.prevented) {\n self.msg &&\n getEnv(self).notify(\n 'success',\n self.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n }\n return json.data;\n }\n } catch (e) {\n self.markSaving(false);\n let ret = options && options.onFailed && options.onFailed(e.response || {});\n if (ret?.then) {\n ret = yield ret;\n }\n if (!isAlive(self) || self.disposed) {\n return;\n }\n if (ret?.dispatcher?.prevented) {\n return;\n }\n if (e.type === 'ServerError') {\n const result = (e as ServerError).response;\n getEnv(self).notify(\n 'error',\n e.message,\n result.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: result.msgTimeout\n }\n : undefined\n );\n } else {\n getEnv(self).notify('error', e.message);\n }\n throw e;\n }\n });\n\n function setFormItemErrors(\n errors: {[propName: string]: string},\n tag = 'remote'\n ) {\n Object.keys(errors).forEach((key: string) => {\n const item = self.getItemById(key);\n const items = self.getItemsByName(key);\n\n if (item) {\n item.setError(errors[key], tag);\n delete errors[key];\n } else if (items.length) {\n // 通过 name 直接找到的\n items.forEach(item => item.setError(errors[key], tag));\n delete errors[key];\n } else {\n // 尝试通过path寻找\n const items = getItemsByPath(key);\n\n if (Array.isArray(items) && items.length) {\n items.forEach(item => item.setError(`${errors[key]}`, tag));\n delete errors[key];\n }\n }\n });\n\n // 没有映射上的error信息加在msg后显示出来\n !isEmpty(errors) &&\n setRestError(Object.keys(errors).map(key => String(errors[key])));\n }\n\n const getItemsByPath = (key: string) => {\n const paths = keyToPath(key);\n const len = paths.length;\n\n return paths.reduce(\n (stores: any[], path, idx) => {\n if (Array.isArray(stores) && stores.every(s => s.getItemsByName)) {\n const items = flatten(\n stores.map(s => s.getItemsByName(path))\n ).filter(i => i);\n const subStores = items\n .map(item => item?.getSubStore?.())\n .filter(i => i);\n return subStores.length && idx < len - 1 ? subStores : items;\n }\n return null;\n },\n [self]\n );\n };\n\n const submit: (\n fn?: (values: object) => Promise<any>,\n hooks?: Array<() => Promise<any>>,\n failedMessage?: string,\n validateErrCb?: () => void\n ) => Promise<any> = flow(function* submit(\n fn: any,\n hooks?: Array<() => Promise<any>>,\n failedMessage?: string,\n validateErrCb?: () => void\n ) {\n self.submited = true;\n self.submiting = true;\n\n try {\n let valid = yield validate(hooks);\n\n // 如果不是valid,而且有包含不是remote的报错的表单项时,不可提交\n if (\n (!valid &&\n self.items.some(item =>\n item.errorData.some(e => e.tag !== 'remote')\n )) ||\n self.restError.length\n ) {\n let msg = failedMessage ?? self.__('Form.validateFailed');\n const env = getEnv(self);\n let dispatcher: any = validateErrCb && validateErrCb();\n if (dispatcher?.then) {\n dispatcher = yield dispatcher;\n }\n if (!dispatcher?.prevented){\n msg && env.notify('error', msg);\n }\n throw new Error(msg);\n }\n\n if (fn) {\n const diff = difference(self.data, self.pristine);\n const result = yield fn(\n createObject(\n createObject(self.data.__super, {\n diff: diff,\n __diff: diff,\n pristine: self.pristine\n }),\n self.data\n )\n );\n return result ?? self.data;\n }\n\n return self.data;\n } finally {\n self.submiting = false;\n }\n });\n\n const validate: (\n hooks?: Array<() => Promise<any>>,\n forceValidate?: boolean\n ) => Promise<boolean> = flow(function* validate(\n hooks?: Array<() => Promise<any>>,\n forceValidate?: boolean\n ) {\n self.validated = true;\n const items = self.items.concat();\n for (let i = 0, len = items.length; i < len; i++) {\n let item = items[i] as IFormItemStore;\n\n // 先清除组合校验的错误\n item.clearError('rules');\n\n // 验证过,或者是 unique 的表单项,或者强制验证,或者有远端校验api\n if (\n !item.validated ||\n item.unique ||\n forceValidate ||\n !!item.validateApi\n ) {\n yield item.validate(self.data);\n }\n }\n\n if (hooks && hooks.length) {\n for (let i = 0, len = hooks.length; i < len; i++) {\n yield hooks[i]();\n }\n }\n\n return self.valid;\n });\n\n const validateFields: (fields: Array<string>) => Promise<boolean> = flow(\n function* validateFields(fields: Array<string>) {\n const items = self.items.concat();\n let result: Array<boolean> = [];\n for (let i = 0, len = items.length; i < len; i++) {\n let item = items[i] as IFormItemStore;\n\n if (~fields.indexOf(item.name)) {\n result.push(yield item.validate(self.data));\n }\n }\n return result.every(item => item);\n }\n );\n\n function clearErrors() {\n const items = self.items.concat();\n items.forEach(item => item.reset());\n }\n\n function reset(cb?: (data: any) => void, resetData: boolean = true) {\n if (resetData) {\n self.data = self.pristine;\n }\n\n // 值可能变了,重新验证一次。\n self.validated = false;\n self.submited = false;\n self.items.forEach(item => item.reset());\n cb && cb(self.data);\n }\n\n function clear(cb?: (data: any) => void) {\n const toClear: any = {};\n self.items.forEach(item => {\n if (item.name && item.type !== 'hidden') {\n setVariable(toClear, item.name, item.resetValue);\n }\n });\n setValues(toClear);\n self.validated = false;\n self.submited = false;\n self.items.forEach(item => item.reset());\n cb && cb(self.data);\n }\n\n function setCanAccessSuperData(value: boolean = true) {\n self.canAccessSuperData = value;\n }\n\n function setInited(value: boolean) {\n self.inited = value;\n }\n\n function setPersistData(value = '') {\n self.persistData = value;\n }\n\n const setLocalPersistData = () => {\n localStorage.setItem(self.persistKey, JSON.stringify(self.data));\n };\n\n function getLocalPersistData() {\n let data = localStorage.getItem(self.persistKey);\n if (data) {\n self.updateData(JSON.parse(data));\n }\n }\n\n function clearLocalPersistData() {\n localStorage.removeItem(self.persistKey);\n }\n\n function updateSavedData() {\n self.savedData = self.data;\n }\n\n return {\n setInited,\n setValues,\n setValueByName,\n trimValues,\n submit,\n validate,\n validateFields,\n clearErrors,\n saveRemote,\n reset,\n syncOptions,\n setCanAccessSuperData,\n deleteValueByName,\n getLocalPersistData,\n setLocalPersistData,\n clearLocalPersistData,\n setPersistData,\n clear,\n updateSavedData,\n setFormItemErrors,\n getItemsByPath,\n setRestError,\n addRestError,\n clearRestError,\n beforeDestroy() {\n syncOptions.cancel();\n }\n };\n });\n\nexport type IFormStore = Instance<typeof FormStore>;\nexport {IFormItemStore};\n"
12
12
  ]
13
13
  }