amis 1.10.0 → 1.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (536) hide show
  1. package/lib/Root.js +2 -2
  2. package/lib/Root.js.map +1 -1
  3. package/lib/RootRenderer.js +1 -1
  4. package/lib/RootRenderer.js.map +1 -1
  5. package/lib/Schema.d.ts +1 -1
  6. package/lib/Schema.js.map +1 -1
  7. package/lib/SchemaRenderer.js +4 -4
  8. package/lib/SchemaRenderer.js.map +1 -1
  9. package/lib/Scoped.js +1 -1
  10. package/lib/Scoped.js.map +1 -1
  11. package/lib/WithRootStore.js +1 -1
  12. package/lib/WithRootStore.js.map +1 -1
  13. package/lib/WithStore.js +1 -1
  14. package/lib/WithStore.js.map +1 -1
  15. package/lib/actions/AjaxAction.js +1 -1
  16. package/lib/actions/AjaxAction.js.map +1 -1
  17. package/lib/actions/Decorators.js +1 -1
  18. package/lib/actions/Decorators.js.map +1 -1
  19. package/lib/actions/EmailAction.js +1 -1
  20. package/lib/actions/EmailAction.js.map +1 -1
  21. package/lib/actions/LoopAction.js +2 -2
  22. package/lib/actions/LoopAction.js.map +1 -1
  23. package/lib/compat.js +1 -1
  24. package/lib/compat.js.map +1 -1
  25. package/lib/components/Alert2.d.ts +10 -10
  26. package/lib/components/Alert2.js +2 -2
  27. package/lib/components/Alert2.js.map +1 -1
  28. package/lib/components/AnchorNav.js +1 -1
  29. package/lib/components/AnchorNav.js.map +1 -1
  30. package/lib/components/ArrayInput.js +2 -2
  31. package/lib/components/ArrayInput.js.map +1 -1
  32. package/lib/components/AsideNav.js +4 -4
  33. package/lib/components/AsideNav.js.map +1 -1
  34. package/lib/components/Avatar.d.ts +10 -10
  35. package/lib/components/Avatar.js +3 -3
  36. package/lib/components/Avatar.js.map +1 -1
  37. package/lib/components/Badge.js +10 -10
  38. package/lib/components/Badge.js.map +1 -1
  39. package/lib/components/BaiduMapPicker.js +1 -1
  40. package/lib/components/BaiduMapPicker.js.map +1 -1
  41. package/lib/components/Breadcrumb.js +1 -1
  42. package/lib/components/Breadcrumb.js.map +1 -1
  43. package/lib/components/Button.js +3 -3
  44. package/lib/components/Button.js.map +1 -1
  45. package/lib/components/CalendarMobile.js +2 -2
  46. package/lib/components/CalendarMobile.js.map +1 -1
  47. package/lib/components/Card.js +1 -1
  48. package/lib/components/Card.js.map +1 -1
  49. package/lib/components/ChainedSelection.js +1 -1
  50. package/lib/components/ChainedSelection.js.map +1 -1
  51. package/lib/components/Checkbox.js +10 -4
  52. package/lib/components/Checkbox.js.map +2 -2
  53. package/lib/components/Collapse.js +3 -3
  54. package/lib/components/Collapse.js.map +1 -1
  55. package/lib/components/ColorPicker.js +5 -5
  56. package/lib/components/ColorPicker.js.map +1 -1
  57. package/lib/components/ContextMenu.js +3 -3
  58. package/lib/components/ContextMenu.js.map +1 -1
  59. package/lib/components/DatePicker.js +3 -3
  60. package/lib/components/DatePicker.js.map +1 -1
  61. package/lib/components/DateRangePicker.js +14 -14
  62. package/lib/components/DateRangePicker.js.map +1 -1
  63. package/lib/components/Drawer.js +10 -10
  64. package/lib/components/Drawer.js.map +1 -1
  65. package/lib/components/Editor.js +3 -3
  66. package/lib/components/Editor.js.map +1 -1
  67. package/lib/components/GridNav.js +11 -11
  68. package/lib/components/GridNav.js.map +1 -1
  69. package/lib/components/InputBox.js +1 -1
  70. package/lib/components/InputBox.js.map +1 -1
  71. package/lib/components/Layout.js +1 -1
  72. package/lib/components/Layout.js.map +1 -1
  73. package/lib/components/ListGroup.d.ts +10 -10
  74. package/lib/components/ListGroup.js +1 -1
  75. package/lib/components/ListGroup.js.map +1 -1
  76. package/lib/components/Modal.js +4 -4
  77. package/lib/components/Modal.js.map +1 -1
  78. package/lib/components/MonthRangePicker.js +13 -13
  79. package/lib/components/MonthRangePicker.js.map +1 -1
  80. package/lib/components/NumberInput.js +3 -3
  81. package/lib/components/NumberInput.js.map +1 -1
  82. package/lib/components/Picker.js +4 -4
  83. package/lib/components/Picker.js.map +1 -1
  84. package/lib/components/PickerColumn.js +4 -4
  85. package/lib/components/PickerColumn.js.map +1 -1
  86. package/lib/components/PopOver.js +2 -2
  87. package/lib/components/PopOver.js.map +1 -1
  88. package/lib/components/PopUp.js +10 -10
  89. package/lib/components/PopUp.js.map +1 -1
  90. package/lib/components/Progress.js +5 -5
  91. package/lib/components/Progress.js.map +1 -1
  92. package/lib/components/PullRefresh.js +2 -2
  93. package/lib/components/PullRefresh.js.map +1 -1
  94. package/lib/components/Radios.js +2 -2
  95. package/lib/components/Radios.js.map +1 -1
  96. package/lib/components/Range.js +9 -3
  97. package/lib/components/Range.js.map +2 -2
  98. package/lib/components/Rating.js +1 -1
  99. package/lib/components/Rating.js.map +1 -1
  100. package/lib/components/ResultBox.d.ts +41 -40
  101. package/lib/components/ResultBox.js +26 -22
  102. package/lib/components/ResultBox.js.map +2 -2
  103. package/lib/components/ResultList.js +5 -5
  104. package/lib/components/ResultList.js.map +1 -1
  105. package/lib/components/ResultTreeList.js +1 -1
  106. package/lib/components/ResultTreeList.js.map +1 -1
  107. package/lib/components/SearchBox.d.ts +40 -40
  108. package/lib/components/Select.js +14 -10
  109. package/lib/components/Select.js.map +2 -2
  110. package/lib/components/SparkLine.js +3 -3
  111. package/lib/components/SparkLine.js.map +1 -1
  112. package/lib/components/Spinner.js +2 -2
  113. package/lib/components/Spinner.js.map +1 -1
  114. package/lib/components/Steps.d.ts +1 -0
  115. package/lib/components/Steps.js +10 -8
  116. package/lib/components/Steps.js.map +2 -2
  117. package/lib/components/Switch.js +2 -2
  118. package/lib/components/Switch.js.map +1 -1
  119. package/lib/components/Tabs.js +5 -5
  120. package/lib/components/Tabs.js.map +1 -1
  121. package/lib/components/Tag.js +3 -3
  122. package/lib/components/Tag.js.map +1 -1
  123. package/lib/components/Textarea.js +2 -2
  124. package/lib/components/Textarea.js.map +1 -1
  125. package/lib/components/Timeline.js +1 -1
  126. package/lib/components/Timeline.js.map +1 -1
  127. package/lib/components/TimelineItem.js +3 -3
  128. package/lib/components/TimelineItem.js.map +1 -1
  129. package/lib/components/Toast.js +3 -3
  130. package/lib/components/Toast.js.map +1 -1
  131. package/lib/components/Tooltip.js +1 -1
  132. package/lib/components/Tooltip.js.map +1 -1
  133. package/lib/components/TransferSearch.js +1 -1
  134. package/lib/components/TransferSearch.js.map +1 -1
  135. package/lib/components/Tree.js +5 -5
  136. package/lib/components/Tree.js.map +1 -1
  137. package/lib/components/TreeSelection.js +2 -2
  138. package/lib/components/TreeSelection.js.map +1 -1
  139. package/lib/components/UserSelect.js +4 -4
  140. package/lib/components/UserSelect.js.map +1 -1
  141. package/lib/components/WithRemoteConfig.js +1 -1
  142. package/lib/components/WithRemoteConfig.js.map +1 -1
  143. package/lib/components/WithStore.js +1 -1
  144. package/lib/components/WithStore.js.map +1 -1
  145. package/lib/components/calendar/DaysView.js +2 -2
  146. package/lib/components/calendar/DaysView.js.map +1 -1
  147. package/lib/components/calendar/QuartersView.js +1 -1
  148. package/lib/components/calendar/QuartersView.js.map +1 -1
  149. package/lib/components/calendar/TimeView.js +2 -2
  150. package/lib/components/calendar/TimeView.js.map +1 -1
  151. package/lib/components/condition-builder/Group.js +2 -2
  152. package/lib/components/condition-builder/Group.js.map +1 -1
  153. package/lib/components/condition-builder/GroupOrItem.js +1 -1
  154. package/lib/components/condition-builder/GroupOrItem.js.map +1 -1
  155. package/lib/components/condition-builder/index.d.ts +12 -2
  156. package/lib/components/condition-builder/index.js +40 -4
  157. package/lib/components/condition-builder/index.js.map +2 -2
  158. package/lib/components/formula/Editor.js +5 -5
  159. package/lib/components/formula/Editor.js.map +1 -1
  160. package/lib/components/formula/Picker.d.ts +0 -1
  161. package/lib/components/formula/Picker.js +8 -17
  162. package/lib/components/formula/Picker.js.map +2 -2
  163. package/lib/components/formula/VariableList.js +7 -7
  164. package/lib/components/formula/VariableList.js.map +1 -1
  165. package/lib/components/formula/plugin.js +1 -1
  166. package/lib/components/formula/plugin.js.map +1 -1
  167. package/lib/components/icons.js +1 -1
  168. package/lib/components/icons.js.map +1 -1
  169. package/lib/components/schema-editor/SchemaVariableList.js +1 -1
  170. package/lib/components/schema-editor/SchemaVariableList.js.map +1 -1
  171. package/lib/components/table/Cell.js +2 -2
  172. package/lib/components/table/Cell.js.map +1 -1
  173. package/lib/components/table/HeadCellFilter.js +1 -1
  174. package/lib/components/table/HeadCellFilter.js.map +1 -1
  175. package/lib/components/table/HeadCellSelect.js +1 -1
  176. package/lib/components/table/HeadCellSelect.js.map +1 -1
  177. package/lib/components/table/index.d.ts +9 -7
  178. package/lib/components/table/index.js +111 -111
  179. package/lib/components/table/index.js.map +2 -2
  180. package/lib/components/virtual-list/SizeAndPositionManager.js +4 -4
  181. package/lib/components/virtual-list/SizeAndPositionManager.js.map +1 -1
  182. package/lib/env.js +1 -1
  183. package/lib/env.js.map +1 -1
  184. package/lib/factory.js +3 -3
  185. package/lib/factory.js.map +1 -1
  186. package/lib/index.d.ts +1 -0
  187. package/lib/index.js +2 -1
  188. package/lib/index.js.map +2 -2
  189. package/lib/locale.js +1 -1
  190. package/lib/locale.js.map +1 -1
  191. package/lib/renderers/AnchorNav.js +1 -1
  192. package/lib/renderers/AnchorNav.js.map +1 -1
  193. package/lib/renderers/App.js +2 -2
  194. package/lib/renderers/App.js.map +1 -1
  195. package/lib/renderers/Audio.js +2 -2
  196. package/lib/renderers/Audio.js.map +1 -1
  197. package/lib/renderers/ButtonGroup.d.ts +2 -2
  198. package/lib/renderers/ButtonGroup.js.map +1 -1
  199. package/lib/renderers/CRUD.js +8 -8
  200. package/lib/renderers/CRUD.js.map +1 -1
  201. package/lib/renderers/CRUD2.d.ts +213 -0
  202. package/lib/renderers/CRUD2.js +724 -0
  203. package/lib/renderers/CRUD2.js.map +13 -0
  204. package/lib/renderers/Card.js +6 -6
  205. package/lib/renderers/Card.js.map +1 -1
  206. package/lib/renderers/Card2.d.ts +1 -1
  207. package/lib/renderers/Card2.js +1 -2
  208. package/lib/renderers/Card2.js.map +2 -2
  209. package/lib/renderers/Cards.d.ts +3 -0
  210. package/lib/renderers/Cards.js +62 -15
  211. package/lib/renderers/Cards.js.map +2 -2
  212. package/lib/renderers/Carousel.js +2 -2
  213. package/lib/renderers/Carousel.js.map +1 -1
  214. package/lib/renderers/Chart.js +2 -2
  215. package/lib/renderers/Chart.js.map +1 -1
  216. package/lib/renderers/Dialog.js +5 -5
  217. package/lib/renderers/Dialog.js.map +1 -1
  218. package/lib/renderers/Divider.js +1 -1
  219. package/lib/renderers/Divider.js.map +1 -1
  220. package/lib/renderers/Drawer.js +4 -4
  221. package/lib/renderers/Drawer.js.map +1 -1
  222. package/lib/renderers/DropDownButton.js +5 -5
  223. package/lib/renderers/DropDownButton.js.map +1 -1
  224. package/lib/renderers/Each.js +1 -1
  225. package/lib/renderers/Each.js.map +1 -1
  226. package/lib/renderers/Flex.js +2 -2
  227. package/lib/renderers/Flex.js.map +1 -1
  228. package/lib/renderers/Form/ButtonGroupSelect.js +4 -4
  229. package/lib/renderers/Form/ButtonGroupSelect.js.map +1 -1
  230. package/lib/renderers/Form/ButtonToolbar.js +1 -1
  231. package/lib/renderers/Form/ButtonToolbar.js.map +1 -1
  232. package/lib/renderers/Form/ChainedSelect.js +2 -2
  233. package/lib/renderers/Form/ChainedSelect.js.map +1 -1
  234. package/lib/renderers/Form/ChartRadios.js +1 -1
  235. package/lib/renderers/Form/ChartRadios.js.map +1 -1
  236. package/lib/renderers/Form/Checkbox.js +1 -1
  237. package/lib/renderers/Form/Checkbox.js.map +1 -1
  238. package/lib/renderers/Form/Combo.js +8 -8
  239. package/lib/renderers/Form/Combo.js.map +1 -1
  240. package/lib/renderers/Form/ConditionBuilder.d.ts +10 -0
  241. package/lib/renderers/Form/ConditionBuilder.js +6 -2
  242. package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
  243. package/lib/renderers/Form/DiffEditor.d.ts +66 -20
  244. package/lib/renderers/Form/DiffEditor.js +2 -2
  245. package/lib/renderers/Form/DiffEditor.js.map +1 -1
  246. package/lib/renderers/Form/Editor.d.ts +66 -20
  247. package/lib/renderers/Form/Editor.js +4 -4
  248. package/lib/renderers/Form/Editor.js.map +1 -1
  249. package/lib/renderers/Form/FieldSet.js +1 -1
  250. package/lib/renderers/Form/FieldSet.js.map +1 -1
  251. package/lib/renderers/Form/Group.js +4 -4
  252. package/lib/renderers/Form/Group.js.map +1 -1
  253. package/lib/renderers/Form/IconPicker.js +2 -2
  254. package/lib/renderers/Form/IconPicker.js.map +1 -1
  255. package/lib/renderers/Form/InputColor.js +1 -1
  256. package/lib/renderers/Form/InputColor.js.map +1 -1
  257. package/lib/renderers/Form/InputDateRange.js +1 -1
  258. package/lib/renderers/Form/InputDateRange.js.map +1 -1
  259. package/lib/renderers/Form/InputFile.js +5 -5
  260. package/lib/renderers/Form/InputFile.js.map +1 -1
  261. package/lib/renderers/Form/InputFormula.js +1 -1
  262. package/lib/renderers/Form/InputFormula.js.map +2 -2
  263. package/lib/renderers/Form/InputGroup.js +1 -1
  264. package/lib/renderers/Form/InputGroup.js.map +1 -1
  265. package/lib/renderers/Form/InputImage.d.ts +1 -1
  266. package/lib/renderers/Form/InputImage.js +8 -4
  267. package/lib/renderers/Form/InputImage.js.map +2 -2
  268. package/lib/renderers/Form/InputMonthRange.js +1 -1
  269. package/lib/renderers/Form/InputMonthRange.js.map +1 -1
  270. package/lib/renderers/Form/InputNumber.js +2 -2
  271. package/lib/renderers/Form/InputNumber.js.map +1 -1
  272. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  273. package/lib/renderers/Form/InputQuarterRange.js.map +1 -1
  274. package/lib/renderers/Form/InputRange.js +2 -2
  275. package/lib/renderers/Form/InputRange.js.map +1 -1
  276. package/lib/renderers/Form/InputRepeat.js +2 -2
  277. package/lib/renderers/Form/InputRepeat.js.map +1 -1
  278. package/lib/renderers/Form/InputRichText.js +2 -2
  279. package/lib/renderers/Form/InputRichText.js.map +1 -1
  280. package/lib/renderers/Form/InputSubForm.js +5 -5
  281. package/lib/renderers/Form/InputSubForm.js.map +1 -1
  282. package/lib/renderers/Form/InputTable.js +2 -2
  283. package/lib/renderers/Form/InputTable.js.map +1 -1
  284. package/lib/renderers/Form/InputTag.js +1 -1
  285. package/lib/renderers/Form/InputTag.js.map +1 -1
  286. package/lib/renderers/Form/InputText.js +12 -12
  287. package/lib/renderers/Form/InputText.js.map +1 -1
  288. package/lib/renderers/Form/InputTree.js +1 -1
  289. package/lib/renderers/Form/InputTree.js.map +1 -1
  290. package/lib/renderers/Form/InputYearRange.js +1 -1
  291. package/lib/renderers/Form/InputYearRange.js.map +1 -1
  292. package/lib/renderers/Form/Item.d.ts +4 -0
  293. package/lib/renderers/Form/Item.js +8 -8
  294. package/lib/renderers/Form/Item.js.map +2 -2
  295. package/lib/renderers/Form/ListSelect.js +2 -2
  296. package/lib/renderers/Form/ListSelect.js.map +1 -1
  297. package/lib/renderers/Form/NestedSelect.js +1 -1
  298. package/lib/renderers/Form/NestedSelect.js.map +1 -1
  299. package/lib/renderers/Form/Options.js +2 -2
  300. package/lib/renderers/Form/Options.js.map +1 -1
  301. package/lib/renderers/Form/Picker.js +3 -3
  302. package/lib/renderers/Form/Picker.js.map +1 -1
  303. package/lib/renderers/Form/Radios.js +1 -1
  304. package/lib/renderers/Form/Radios.js.map +1 -1
  305. package/lib/renderers/Form/Select.js +3 -3
  306. package/lib/renderers/Form/Select.js.map +1 -1
  307. package/lib/renderers/Form/Static.js +1 -1
  308. package/lib/renderers/Form/Static.js.map +1 -1
  309. package/lib/renderers/Form/TabsTransfer.js +1 -1
  310. package/lib/renderers/Form/TabsTransfer.js.map +1 -1
  311. package/lib/renderers/Form/TabsTransferPicker.js +1 -1
  312. package/lib/renderers/Form/TabsTransferPicker.js.map +1 -1
  313. package/lib/renderers/Form/Transfer.js +3 -3
  314. package/lib/renderers/Form/Transfer.js.map +1 -1
  315. package/lib/renderers/Form/TreeSelect.d.ts +0 -1
  316. package/lib/renderers/Form/TreeSelect.js +5 -13
  317. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  318. package/lib/renderers/Form/index.js +11 -7
  319. package/lib/renderers/Form/index.js.map +2 -2
  320. package/lib/renderers/Grid.js +7 -7
  321. package/lib/renderers/Grid.js.map +1 -1
  322. package/lib/renderers/Grid2D.js +1 -1
  323. package/lib/renderers/Grid2D.js.map +1 -1
  324. package/lib/renderers/HBox.js +5 -5
  325. package/lib/renderers/HBox.js.map +1 -1
  326. package/lib/renderers/IFrame.js +1 -1
  327. package/lib/renderers/IFrame.js.map +1 -1
  328. package/lib/renderers/Icon.d.ts +1 -1
  329. package/lib/renderers/Icon.js +16 -11
  330. package/lib/renderers/Icon.js.map +2 -2
  331. package/lib/renderers/Image.js +3 -3
  332. package/lib/renderers/Image.js.map +1 -1
  333. package/lib/renderers/List.js +14 -14
  334. package/lib/renderers/List.js.map +1 -1
  335. package/lib/renderers/Mapping.js +1 -1
  336. package/lib/renderers/Mapping.js.map +1 -1
  337. package/lib/renderers/Operation.js +1 -1
  338. package/lib/renderers/Operation.js.map +1 -1
  339. package/lib/renderers/Page.js +7 -7
  340. package/lib/renderers/Page.js.map +1 -1
  341. package/lib/renderers/Panel.js +2 -2
  342. package/lib/renderers/Panel.js.map +1 -1
  343. package/lib/renderers/PopOver.js +2 -2
  344. package/lib/renderers/PopOver.js.map +1 -1
  345. package/lib/renderers/Portlet.js +10 -10
  346. package/lib/renderers/Portlet.js.map +1 -1
  347. package/lib/renderers/Property.js +3 -3
  348. package/lib/renderers/Property.js.map +1 -1
  349. package/lib/renderers/QRCode.js +1 -1
  350. package/lib/renderers/QRCode.js.map +1 -1
  351. package/lib/renderers/QuickEdit.js +11 -11
  352. package/lib/renderers/QuickEdit.js.map +1 -1
  353. package/lib/renderers/Remark.js +1 -1
  354. package/lib/renderers/Remark.js.map +1 -1
  355. package/lib/renderers/Service.js +2 -2
  356. package/lib/renderers/Service.js.map +1 -1
  357. package/lib/renderers/Status.js +1 -1
  358. package/lib/renderers/Status.js.map +1 -1
  359. package/lib/renderers/Table/ColumnToggler.js +5 -5
  360. package/lib/renderers/Table/ColumnToggler.js.map +1 -1
  361. package/lib/renderers/Table/HeadCellFilterDropdown.js +2 -2
  362. package/lib/renderers/Table/HeadCellFilterDropdown.js.map +1 -1
  363. package/lib/renderers/Table/HeadCellSearchDropdown.js +2 -2
  364. package/lib/renderers/Table/HeadCellSearchDropdown.js.map +1 -1
  365. package/lib/renderers/Table/ItemActionsWrapper.js +2 -2
  366. package/lib/renderers/Table/ItemActionsWrapper.js.map +1 -1
  367. package/lib/renderers/Table/TableBody.js +3 -3
  368. package/lib/renderers/Table/TableBody.js.map +1 -1
  369. package/lib/renderers/Table/TableContent.js +1 -1
  370. package/lib/renderers/Table/TableContent.js.map +1 -1
  371. package/lib/renderers/Table/TableRow.js +4 -4
  372. package/lib/renderers/Table/TableRow.js.map +1 -1
  373. package/lib/renderers/Table/index.js +32 -32
  374. package/lib/renderers/Table/index.js.map +2 -2
  375. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +1 -1
  376. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +1 -1
  377. package/lib/renderers/Table-v2/index.d.ts +8 -5
  378. package/lib/renderers/Table-v2/index.js +88 -59
  379. package/lib/renderers/Table-v2/index.js.map +2 -2
  380. package/lib/renderers/TableView.js +4 -4
  381. package/lib/renderers/TableView.js.map +1 -1
  382. package/lib/renderers/Tabs.js +4 -4
  383. package/lib/renderers/Tabs.js.map +1 -1
  384. package/lib/renderers/Tasks.js +1 -1
  385. package/lib/renderers/Tasks.js.map +1 -1
  386. package/lib/renderers/Tpl.js +1 -1
  387. package/lib/renderers/Tpl.js.map +1 -1
  388. package/lib/renderers/VBox.js +2 -2
  389. package/lib/renderers/VBox.js.map +1 -1
  390. package/lib/renderers/Video.js +4 -4
  391. package/lib/renderers/Video.js.map +1 -1
  392. package/lib/renderers/Wizard.js +7 -7
  393. package/lib/renderers/Wizard.js.map +1 -1
  394. package/lib/renderers/Wrapper.js +1 -1
  395. package/lib/renderers/Wrapper.js.map +1 -1
  396. package/lib/store/app.js +3 -3
  397. package/lib/store/app.js.map +1 -1
  398. package/lib/store/combo.d.ts +72 -22
  399. package/lib/store/crud.d.ts +2 -0
  400. package/lib/store/crud.js +22 -2
  401. package/lib/store/crud.js.map +2 -2
  402. package/lib/store/form.d.ts +30 -9
  403. package/lib/store/form.js +30 -12
  404. package/lib/store/form.js.map +2 -2
  405. package/lib/store/formItem.d.ts +3 -1
  406. package/lib/store/formItem.js +6 -8
  407. package/lib/store/formItem.js.map +2 -2
  408. package/lib/store/list.d.ts +2 -0
  409. package/lib/store/list.js +8 -0
  410. package/lib/store/list.js.map +2 -2
  411. package/lib/store/node.js +2 -2
  412. package/lib/store/node.js.map +1 -1
  413. package/lib/store/table-v2.js +7 -7
  414. package/lib/store/table-v2.js.map +1 -1
  415. package/lib/store/table.d.ts +60 -18
  416. package/lib/store/table.js +6 -6
  417. package/lib/store/table.js.map +1 -1
  418. package/lib/theme.js +1 -1
  419. package/lib/theme.js.map +1 -1
  420. package/lib/themes/ang-ie11.css +187 -30
  421. package/lib/themes/ang.css +190 -31
  422. package/lib/themes/ang.css.map +1 -1
  423. package/lib/themes/antd-ie11.css +182 -25
  424. package/lib/themes/antd.css +190 -31
  425. package/lib/themes/antd.css.map +1 -1
  426. package/lib/themes/cxd-ie11.css +189 -32
  427. package/lib/themes/cxd.css +192 -33
  428. package/lib/themes/cxd.css.map +1 -1
  429. package/lib/themes/dark-ie11.css +184 -27
  430. package/lib/themes/dark.css +190 -31
  431. package/lib/themes/dark.css.map +1 -1
  432. package/lib/themes/default-ie11.css +189 -32
  433. package/lib/themes/default.css +192 -33
  434. package/lib/themes/default.css.map +1 -1
  435. package/lib/types.d.ts +1 -1
  436. package/lib/types.js.map +1 -1
  437. package/lib/utils/ColorScale.js +4 -4
  438. package/lib/utils/ColorScale.js.map +1 -1
  439. package/lib/utils/api.js +7 -7
  440. package/lib/utils/api.js.map +1 -1
  441. package/lib/utils/autobind.js +2 -2
  442. package/lib/utils/autobind.js.map +1 -1
  443. package/lib/utils/columnsSplit.js +2 -2
  444. package/lib/utils/columnsSplit.js.map +1 -1
  445. package/lib/utils/debug.js +13 -13
  446. package/lib/utils/debug.js.map +1 -1
  447. package/lib/utils/dom.js +1 -1
  448. package/lib/utils/dom.js.map +1 -1
  449. package/lib/utils/filter-schema.js +1 -1
  450. package/lib/utils/filter-schema.js.map +1 -1
  451. package/lib/utils/formula.js +1 -1
  452. package/lib/utils/formula.js.map +1 -1
  453. package/lib/utils/helper.js +6 -6
  454. package/lib/utils/helper.js.map +1 -1
  455. package/lib/utils/icon.js +7 -0
  456. package/lib/utils/icon.js.map +2 -2
  457. package/lib/utils/resize-sensor.js +1 -1
  458. package/lib/utils/resize-sensor.js.map +1 -1
  459. package/lib/utils/style.js +1 -1
  460. package/lib/utils/style.js.map +1 -1
  461. package/lib/utils/tpl-builtin.js +1 -1
  462. package/lib/utils/tpl-builtin.js.map +1 -1
  463. package/lib/utils/tpl-lodash.js +1 -1
  464. package/lib/utils/tpl-lodash.js.map +1 -1
  465. package/lib/utils/tpl.js +2 -2
  466. package/lib/utils/tpl.js.map +1 -1
  467. package/lib/utils/validations.js +2 -2
  468. package/lib/utils/validations.js.map +1 -1
  469. package/package.json +1 -1
  470. package/schema.json +231 -365
  471. package/scss/_properties.scss +5 -3
  472. package/scss/components/_condition-builder.scss +11 -0
  473. package/scss/components/_crud.scss +8 -3
  474. package/scss/components/_crud2.scss +148 -0
  475. package/scss/components/_formula.scss +2 -3
  476. package/scss/components/_result-box.scss +25 -7
  477. package/scss/components/_steps.scss +21 -26
  478. package/scss/components/_table-v2.scss +1 -3
  479. package/scss/components/form/_checks.scss +26 -16
  480. package/scss/components/form/_select.scss +4 -0
  481. package/scss/themes/_common.scss +1 -0
  482. package/scss/themes/_cxd-variables.scss +2 -2
  483. package/sdk/ang-ie11.css +228 -32
  484. package/sdk/ang.css +231 -33
  485. package/sdk/antd-ie11.css +223 -27
  486. package/sdk/antd.css +231 -33
  487. package/sdk/barcode.js +51 -51
  488. package/sdk/charts.js +17 -17
  489. package/sdk/codemirror.js +7 -7
  490. package/sdk/color-picker.js +65 -65
  491. package/sdk/cropperjs.js +3 -3
  492. package/sdk/cxd-ie11.css +230 -34
  493. package/sdk/cxd.css +233 -35
  494. package/sdk/dark-ie11.css +225 -29
  495. package/sdk/dark.css +231 -33
  496. package/sdk/exceljs.js +1 -1
  497. package/sdk/markdown.js +69 -69
  498. package/sdk/papaparse.js +3 -3
  499. package/sdk/renderers/Form/CityDB.js +1 -1
  500. package/sdk/rest.js +16 -16
  501. package/sdk/rich-text.js +62 -62
  502. package/sdk/sdk-ie11.css +230 -34
  503. package/sdk/sdk.css +233 -35
  504. package/sdk/sdk.js +1663 -1775
  505. package/sdk/thirds/hls.js/hls.js +19 -19
  506. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  507. package/sdk/tinymce.js +57 -57
  508. package/src/Schema.ts +1 -0
  509. package/src/components/Checkbox.tsx +10 -3
  510. package/src/components/Range.tsx +14 -7
  511. package/src/components/ResultBox.tsx +65 -54
  512. package/src/components/Select.tsx +10 -7
  513. package/src/components/Steps.tsx +60 -18
  514. package/src/components/condition-builder/index.tsx +107 -8
  515. package/src/components/formula/Picker.tsx +27 -16
  516. package/src/components/table/index.tsx +190 -193
  517. package/src/index.tsx +1 -0
  518. package/src/renderers/ButtonGroup.tsx +2 -2
  519. package/src/renderers/CRUD2.tsx +1213 -0
  520. package/src/renderers/Card2.tsx +2 -3
  521. package/src/renderers/Cards.tsx +55 -10
  522. package/src/renderers/Form/ConditionBuilder.tsx +19 -2
  523. package/src/renderers/Form/InputFormula.tsx +1 -1
  524. package/src/renderers/Form/InputImage.tsx +7 -5
  525. package/src/renderers/Form/Item.tsx +11 -1
  526. package/src/renderers/Form/TreeSelect.tsx +14 -16
  527. package/src/renderers/Form/index.tsx +7 -2
  528. package/src/renderers/Icon.tsx +8 -1
  529. package/src/renderers/Table/index.tsx +5 -5
  530. package/src/renderers/Table-v2/index.tsx +92 -72
  531. package/src/store/crud.ts +23 -1
  532. package/src/store/form.ts +31 -24
  533. package/src/store/formItem.ts +65 -52
  534. package/src/store/list.ts +10 -0
  535. package/src/types.ts +2 -1
  536. package/src/utils/icon.tsx +9 -0
@@ -182,7 +182,9 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
182
182
  validateOnChange?: boolean | undefined;
183
183
  label?: string | undefined;
184
184
  }) => void;
185
- validate: (data: Object, hook?: any) => Promise<boolean>;
185
+ validate: (data: Object, hook?: any, customRules?: {
186
+ [propName: string]: any;
187
+ } | undefined) => Promise<boolean>;
186
188
  setError: (msg: string | string[], tag?: string) => void;
187
189
  addError: (msg: string | (string | {
188
190
  msg: string;
@@ -589,7 +591,9 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
589
591
  validateOnChange?: boolean | undefined;
590
592
  label?: string | undefined;
591
593
  }) => void;
592
- validate: (data: Object, hook?: any) => Promise<boolean>;
594
+ validate: (data: Object, hook?: any, customRules?: {
595
+ [propName: string]: any;
596
+ } | undefined) => Promise<boolean>;
593
597
  setError: (msg: string | string[], tag?: string) => void;
594
598
  addError: (msg: string | (string | {
595
599
  msg: string;
@@ -1005,7 +1009,9 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
1005
1009
  validateOnChange?: boolean | undefined;
1006
1010
  label?: string | undefined;
1007
1011
  }) => void;
1008
- validate: (data: Object, hook?: any) => Promise<boolean>;
1012
+ validate: (data: Object, hook?: any, customRules?: {
1013
+ [propName: string]: any;
1014
+ } | undefined) => Promise<boolean>;
1009
1015
  setError: (msg: string | string[], tag?: string) => void;
1010
1016
  addError: (msg: string | (string | {
1011
1017
  msg: string;
@@ -1412,7 +1418,9 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
1412
1418
  validateOnChange?: boolean | undefined;
1413
1419
  label?: string | undefined;
1414
1420
  }) => void;
1415
- validate: (data: Object, hook?: any) => Promise<boolean>;
1421
+ validate: (data: Object, hook?: any, customRules?: {
1422
+ [propName: string]: any;
1423
+ } | undefined) => Promise<boolean>;
1416
1424
  setError: (msg: string | string[], tag?: string) => void;
1417
1425
  addError: (msg: string | (string | {
1418
1426
  msg: string;
@@ -1823,7 +1831,9 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
1823
1831
  validateOnChange?: boolean | undefined;
1824
1832
  label?: string | undefined;
1825
1833
  }) => void;
1826
- validate: (data: Object, hook?: any) => Promise<boolean>;
1834
+ validate: (data: Object, hook?: any, customRules?: {
1835
+ [propName: string]: any;
1836
+ } | undefined) => Promise<boolean>;
1827
1837
  setError: (msg: string | string[], tag?: string) => void;
1828
1838
  addError: (msg: string | (string | {
1829
1839
  msg: string;
@@ -2230,7 +2240,9 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
2230
2240
  validateOnChange?: boolean | undefined;
2231
2241
  label?: string | undefined;
2232
2242
  }) => void;
2233
- validate: (data: Object, hook?: any) => Promise<boolean>;
2243
+ validate: (data: Object, hook?: any, customRules?: {
2244
+ [propName: string]: any;
2245
+ } | undefined) => Promise<boolean>;
2234
2246
  setError: (msg: string | string[], tag?: string) => void;
2235
2247
  addError: (msg: string | (string | {
2236
2248
  msg: string;
@@ -2641,7 +2653,9 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
2641
2653
  validateOnChange?: boolean | undefined;
2642
2654
  label?: string | undefined;
2643
2655
  }) => void;
2644
- validate: (data: Object, hook?: any) => Promise<boolean>;
2656
+ validate: (data: Object, hook?: any, customRules?: {
2657
+ [propName: string]: any;
2658
+ } | undefined) => Promise<boolean>;
2645
2659
  setError: (msg: string | string[], tag?: string) => void;
2646
2660
  addError: (msg: string | (string | {
2647
2661
  msg: string;
@@ -3048,7 +3062,9 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
3048
3062
  validateOnChange?: boolean | undefined;
3049
3063
  label?: string | undefined;
3050
3064
  }) => void;
3051
- validate: (data: Object, hook?: any) => Promise<boolean>;
3065
+ validate: (data: Object, hook?: any, customRules?: {
3066
+ [propName: string]: any;
3067
+ } | undefined) => Promise<boolean>;
3052
3068
  setError: (msg: string | string[], tag?: string) => void;
3053
3069
  addError: (msg: string | (string | {
3054
3070
  msg: string;
@@ -3369,7 +3385,12 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
3369
3385
  trimValues: () => void;
3370
3386
  submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: (() => Promise<any>)[] | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined) => Promise<any>;
3371
3387
  validate: (hooks?: (() => Promise<any>)[] | undefined, forceValidate?: boolean | undefined) => Promise<boolean>;
3372
- validateFields: (fields: Array<string>) => Promise<boolean>;
3388
+ validateFields: (fields: (string | {
3389
+ name: string;
3390
+ rules: {
3391
+ [propName: string]: any;
3392
+ };
3393
+ })[]) => Promise<boolean>;
3373
3394
  clearErrors: () => void;
3374
3395
  saveRemote: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
3375
3396
  reset: (cb?: ((data: any) => void) | undefined, resetData?: boolean) => void;
package/lib/store/form.js CHANGED
@@ -4,6 +4,7 @@ exports.IFormItemStore = exports.FormStore = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var mobx_state_tree_1 = require("mobx-state-tree");
6
6
  var debounce_1 = (0, tslib_1.__importDefault)(require("lodash/debounce"));
7
+ var find_1 = (0, tslib_1.__importDefault)(require("lodash/find"));
7
8
  var service_1 = require("./service");
8
9
  var formItem_1 = require("./formItem");
9
10
  Object.defineProperty(exports, "IFormItemStore", { enumerable: true, get: function () { return formItem_1.IFormItemStore; } });
@@ -92,7 +93,7 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
92
93
  return !this.isPristine;
93
94
  },
94
95
  get persistKey() {
95
- return "".concat(location.pathname, "/").concat(self.path, "/").concat(typeof self.persistData === 'string'
96
+ return location.pathname + "/" + self.path + "/" + (typeof self.persistData === 'string'
96
97
  ? (0, tpl_1.filter)(self.persistData, self.data)
97
98
  : self.persistData);
98
99
  }
@@ -337,7 +338,7 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
337
338
  // 尝试通过path寻找
338
339
  var items_1 = getItemsByPath(key);
339
340
  if (Array.isArray(items_1) && items_1.length) {
340
- items_1.forEach(function (item) { return item.setError("".concat(errors[key]), tag); });
341
+ items_1.forEach(function (item) { return item.setError("" + errors[key], tag); });
341
342
  delete errors[key];
342
343
  }
343
344
  }
@@ -453,23 +454,40 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
453
454
  });
454
455
  });
455
456
  var validateFields = (0, mobx_state_tree_1.flow)(function validateFields(fields) {
456
- var items, result, i, len, item, _a, _b;
457
- return (0, tslib_1.__generator)(this, function (_c) {
458
- switch (_c.label) {
457
+ var items, normalizedfields, result, _loop_1, i, len;
458
+ return (0, tslib_1.__generator)(this, function (_a) {
459
+ switch (_a.label) {
459
460
  case 0:
460
461
  items = self.items.concat();
462
+ normalizedfields = fields.map(function (field) {
463
+ return typeof field === 'string' ? { name: field, rules: {} } : field;
464
+ });
461
465
  result = [];
466
+ _loop_1 = function (i, len) {
467
+ var item, field, _b, _c;
468
+ return (0, tslib_1.__generator)(this, function (_d) {
469
+ switch (_d.label) {
470
+ case 0:
471
+ item = items[i];
472
+ field = (0, find_1.default)(normalizedfields, function (field) { return field.name === item.name; });
473
+ if (!field) return [3 /*break*/, 2];
474
+ _c = (_b = result).push;
475
+ return [4 /*yield*/, item.validate(self.data, undefined, field.rules)];
476
+ case 1:
477
+ _c.apply(_b, [_d.sent()]);
478
+ _d.label = 2;
479
+ case 2: return [2 /*return*/];
480
+ }
481
+ });
482
+ };
462
483
  i = 0, len = items.length;
463
- _c.label = 1;
484
+ _a.label = 1;
464
485
  case 1:
465
486
  if (!(i < len)) return [3 /*break*/, 4];
466
- item = items[i];
467
- if (!~fields.indexOf(item.name)) return [3 /*break*/, 3];
468
- _b = (_a = result).push;
469
- return [4 /*yield*/, item.validate(self.data)];
487
+ return [5 /*yield**/, _loop_1(i, len)];
470
488
  case 2:
471
- _b.apply(_a, [_c.sent()]);
472
- _c.label = 3;
489
+ _a.sent();
490
+ _a.label = 3;
473
491
  case 3:
474
492
  i++;
475
493
  return [3 /*break*/, 1];
@@ -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 (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"
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 find from 'lodash/find';\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 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 =\n 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: (\n fields: Array<string | {name: string; rules: {[propName: string]: any}}>\n ) => Promise<boolean> = flow(function* validateFields(\n fields: Array<string | {name: string; rules: {[propName: string]: any}}>\n ) {\n const items = self.items.concat();\n const normalizedfields = fields.map(field =>\n typeof field === 'string' ? {name: field, rules: {}} : field\n );\n let result: Array<boolean> = [];\n for (let i = 0, len = items.length; i < len; i++) {\n let item = items[i] as IFormItemStore;\n const field = find(normalizedfields, field => field.name === item.name);\n\n if (field) {\n result.push(yield item.validate(self.data, undefined, field.rules));\n }\n }\n return result.every(item => item);\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
  }
@@ -99,7 +99,9 @@ export declare const FormItemStore: import("mobx-state-tree").IModelType<{
99
99
  validateOnChange?: boolean | undefined;
100
100
  label?: string | undefined;
101
101
  }) => void;
102
- validate: (data: Object, hook?: any) => Promise<boolean>;
102
+ validate: (data: Object, hook?: any, customRules?: {
103
+ [propName: string]: any;
104
+ } | undefined) => Promise<boolean>;
103
105
  setError: (msg: string | Array<string>, tag?: string) => void;
104
106
  addError: (msg: string | (string | {
105
107
  msg: string;
@@ -106,7 +106,7 @@ exports.FormItemStore = node_1.StoreNode.named('FormItemStore')
106
106
  return self.errorData
107
107
  .map(function (item) { return item.rule; })
108
108
  .filter(function (item, index, arr) { return item && arr.indexOf(item) === index; })
109
- .map(function (item) { return "has-error--".concat(item); })
109
+ .map(function (item) { return "has-error--" + item; })
110
110
  .join(' ');
111
111
  },
112
112
  get lastSelectValue() {
@@ -216,7 +216,7 @@ exports.FormItemStore = node_1.StoreNode.named('FormItemStore')
216
216
  self.isFocused = false;
217
217
  }
218
218
  var validateCancel = null;
219
- var validate = (0, mobx_state_tree_1.flow)(function validate(data, hook) {
219
+ var validate = (0, mobx_state_tree_1.flow)(function validate(data, hook, customRules) {
220
220
  var json, combo, group;
221
221
  var _a;
222
222
  var _b, _c;
@@ -234,7 +234,7 @@ exports.FormItemStore = node_1.StoreNode.named('FormItemStore')
234
234
  _d.sent();
235
235
  _d.label = 2;
236
236
  case 2:
237
- addError((0, validations_1.validate)(self.tmpValue, data, self.rules, self.messages, self.__));
237
+ addError((0, validations_1.validate)(self.tmpValue, data, customRules ? (0, validations_1.str2rules)(customRules) : self.rules, self.messages, self.__));
238
238
  if (!(!self.errors.length && (0, api_1.isEffectiveApi)(self.validateApi, data))) return [3 /*break*/, 4];
239
239
  if (validateCancel) {
240
240
  validateCancel();
@@ -243,15 +243,13 @@ exports.FormItemStore = node_1.StoreNode.named('FormItemStore')
243
243
  return [4 /*yield*/, (0, mobx_state_tree_1.getEnv)(self).fetcher(self.validateApi,
244
244
  /** 如果配置validateApi,需要将用户最新输入同步到数据域内 */
245
245
  (0, helper_1.createObject)(data, (_a = {}, _a[self.name] = self.tmpValue, _a)), {
246
- cancelExecutor: function (executor) {
247
- return (validateCancel = executor);
248
- }
246
+ cancelExecutor: function (executor) { return (validateCancel = executor); }
249
247
  })];
250
248
  case 3:
251
249
  json = _d.sent();
252
250
  validateCancel = null;
253
251
  if (!json.ok && json.status === 422 && json.errors) {
254
- addError(String(json.errors || json.msg || "\u8868\u5355\u9879\u300C".concat(self.name, "\u300D\u6821\u9A8C\u5931\u8D25")));
252
+ addError(String(json.errors || json.msg || "\u8868\u5355\u9879\u300C" + self.name + "\u300D\u6821\u9A8C\u5931\u8D25"));
255
253
  }
256
254
  _d.label = 4;
257
255
  case 4:
@@ -372,7 +370,7 @@ exports.FormItemStore = node_1.StoreNode.named('FormItemStore')
372
370
  setError(self.__('Form.loadOptionsFailed', {
373
371
  reason: (_a = json.msg) !== null && _a !== void 0 ? _a : (config && config.errorMessage)
374
372
  }));
375
- (0, mobx_state_tree_1.getEnv)(self).notify('error', self.errors.join('') || "".concat(api, "\uFF1A").concat(json.msg), json.msgTimeout !== undefined
373
+ (0, mobx_state_tree_1.getEnv)(self).notify('error', self.errors.join('') || api + "\uFF1A" + json.msg, json.msgTimeout !== undefined
376
374
  ? {
377
375
  closeButton: true,
378
376
  timeout: json.msgTimeout