amis-core 2.6.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/package.json +2 -2
  2. package/esm/Root.d.ts +0 -46
  3. package/esm/Root.js +0 -89
  4. package/esm/RootRenderer.d.ts +0 -27
  5. package/esm/RootRenderer.js +0 -279
  6. package/esm/SchemaRenderer.d.ts +0 -37
  7. package/esm/SchemaRenderer.js +0 -332
  8. package/esm/Scoped.d.ts +0 -38
  9. package/esm/Scoped.js +0 -262
  10. package/esm/WithRootStore.d.ts +0 -719
  11. package/esm/WithRootStore.js +0 -34
  12. package/esm/WithStore.d.ts +0 -5
  13. package/esm/WithStore.js +0 -181
  14. package/esm/actions/Action.d.ts +0 -40
  15. package/esm/actions/Action.js +0 -186
  16. package/esm/actions/AjaxAction.d.ts +0 -27
  17. package/esm/actions/AjaxAction.js +0 -96
  18. package/esm/actions/BreakAction.d.ts +0 -15
  19. package/esm/actions/BreakAction.js +0 -31
  20. package/esm/actions/BroadcastAction.d.ts +0 -19
  21. package/esm/actions/BroadcastAction.js +0 -46
  22. package/esm/actions/CmptAction.d.ts +0 -21
  23. package/esm/actions/CmptAction.js +0 -66
  24. package/esm/actions/ContinueAction.d.ts +0 -15
  25. package/esm/actions/ContinueAction.js +0 -31
  26. package/esm/actions/CopyAction.d.ts +0 -20
  27. package/esm/actions/CopyAction.js +0 -39
  28. package/esm/actions/CustomAction.d.ts +0 -22
  29. package/esm/actions/CustomAction.js +0 -74
  30. package/esm/actions/DialogAction.d.ts +0 -60
  31. package/esm/actions/DialogAction.js +0 -101
  32. package/esm/actions/DrawerAction.d.ts +0 -33
  33. package/esm/actions/DrawerAction.js +0 -65
  34. package/esm/actions/EmailAction.d.ts +0 -23
  35. package/esm/actions/EmailAction.js +0 -39
  36. package/esm/actions/LinkAction.d.ts +0 -24
  37. package/esm/actions/LinkAction.js +0 -43
  38. package/esm/actions/LoopAction.d.ts +0 -19
  39. package/esm/actions/LoopAction.js +0 -103
  40. package/esm/actions/PageAction.d.ts +0 -39
  41. package/esm/actions/PageAction.js +0 -74
  42. package/esm/actions/ParallelAction.d.ts +0 -8
  43. package/esm/actions/ParallelAction.js +0 -36
  44. package/esm/actions/SwitchAction.d.ts +0 -11
  45. package/esm/actions/SwitchAction.js +0 -48
  46. package/esm/actions/ToastAction.d.ts +0 -19
  47. package/esm/actions/ToastAction.js +0 -31
  48. package/esm/actions/index.d.ts +0 -20
  49. package/esm/components/LazyComponent.d.ts +0 -32
  50. package/esm/components/LazyComponent.js +0 -90
  51. package/esm/components/Overlay.d.ts +0 -44
  52. package/esm/components/Overlay.js +0 -255
  53. package/esm/components/PopOver.d.ts +0 -90
  54. package/esm/components/PopOver.js +0 -120
  55. package/esm/env.d.ts +0 -176
  56. package/esm/env.js +0 -12
  57. package/esm/envOverwrite.d.ts +0 -4
  58. package/esm/envOverwrite.js +0 -39
  59. package/esm/factory.d.ts +0 -85
  60. package/esm/factory.js +0 -301
  61. package/esm/index.d.ts +0 -44
  62. package/esm/index.js +0 -174
  63. package/esm/locale.d.ts +0 -84
  64. package/esm/locale.js +0 -117
  65. package/esm/renderers/Form.d.ts +0 -389
  66. package/esm/renderers/Form.js +0 -1221
  67. package/esm/renderers/Item.d.ts +0 -906
  68. package/esm/renderers/Item.js +0 -863
  69. package/esm/renderers/Options.d.ts +0 -158
  70. package/esm/renderers/Options.js +0 -908
  71. package/esm/renderers/Placeholder.d.ts +0 -6
  72. package/esm/renderers/Placeholder.js +0 -23
  73. package/esm/renderers/builtin.d.ts +0 -1
  74. package/esm/renderers/builtin.js +0 -25
  75. package/esm/renderers/register.d.ts +0 -6
  76. package/esm/renderers/register.js +0 -79
  77. package/esm/renderers/wrapControl.d.ts +0 -437
  78. package/esm/renderers/wrapControl.js +0 -509
  79. package/esm/store/app.d.ts +0 -92
  80. package/esm/store/app.js +0 -189
  81. package/esm/store/combo.d.ts +0 -10223
  82. package/esm/store/combo.js +0 -149
  83. package/esm/store/crud.d.ts +0 -128
  84. package/esm/store/crud.js +0 -447
  85. package/esm/store/form.d.ts +0 -4252
  86. package/esm/store/form.js +0 -650
  87. package/esm/store/formItem.d.ts +0 -133
  88. package/esm/store/formItem.js +0 -847
  89. package/esm/store/iRenderer.d.ts +0 -46
  90. package/esm/store/iRenderer.js +0 -185
  91. package/esm/store/index.d.ts +0 -125
  92. package/esm/store/index.js +0 -90
  93. package/esm/store/list.d.ts +0 -272
  94. package/esm/store/list.js +0 -246
  95. package/esm/store/manager.d.ts +0 -115
  96. package/esm/store/manager.js +0 -49
  97. package/esm/store/modal.d.ts +0 -84
  98. package/esm/store/modal.js +0 -50
  99. package/esm/store/node.d.ts +0 -22
  100. package/esm/store/node.js +0 -89
  101. package/esm/store/pagination.d.ts +0 -58
  102. package/esm/store/pagination.js +0 -56
  103. package/esm/store/root.d.ts +0 -85
  104. package/esm/store/root.js +0 -53
  105. package/esm/store/service.d.ts +0 -71
  106. package/esm/store/service.js +0 -411
  107. package/esm/store/table.d.ts +0 -10085
  108. package/esm/store/table.js +0 -1136
  109. package/esm/store/table2.d.ts +0 -474
  110. package/esm/store/table2.js +0 -560
  111. package/esm/theme.d.ts +0 -89
  112. package/esm/theme.js +0 -127
  113. package/esm/types.d.ts +0 -489
  114. package/esm/utils/Animation.d.ts +0 -22
  115. package/esm/utils/Animation.js +0 -285
  116. package/esm/utils/ColorScale.d.ts +0 -19
  117. package/esm/utils/ColorScale.js +0 -100
  118. package/esm/utils/DataSchema.d.ts +0 -25
  119. package/esm/utils/DataSchema.js +0 -112
  120. package/esm/utils/DataScope.d.ts +0 -26
  121. package/esm/utils/DataScope.js +0 -158
  122. package/esm/utils/RootClose.d.ts +0 -4
  123. package/esm/utils/RootClose.js +0 -22
  124. package/esm/utils/SimpleMap.d.ts +0 -8
  125. package/esm/utils/SimpleMap.js +0 -37
  126. package/esm/utils/api.d.ts +0 -34
  127. package/esm/utils/api.js +0 -595
  128. package/esm/utils/attachmentAdpator.d.ts +0 -8
  129. package/esm/utils/attachmentAdpator.js +0 -86
  130. package/esm/utils/autobind.d.ts +0 -7
  131. package/esm/utils/autobind.js +0 -89
  132. package/esm/utils/columnsSplit.d.ts +0 -1
  133. package/esm/utils/columnsSplit.js +0 -42
  134. package/esm/utils/dataMapping.d.ts +0 -9
  135. package/esm/utils/dataMapping.js +0 -141
  136. package/esm/utils/date.d.ts +0 -4
  137. package/esm/utils/date.js +0 -80
  138. package/esm/utils/debug.d.ts +0 -29
  139. package/esm/utils/debug.js +0 -379
  140. package/esm/utils/decodeEntity.d.ts +0 -5
  141. package/esm/utils/decodeEntity.js +0 -16
  142. package/esm/utils/dom.d.ts +0 -13
  143. package/esm/utils/dom.js +0 -188
  144. package/esm/utils/errors.d.ts +0 -6
  145. package/esm/utils/errors.js +0 -19
  146. package/esm/utils/escapeHtml.d.ts +0 -1
  147. package/esm/utils/escapeHtml.js +0 -20
  148. package/esm/utils/filter-schema.d.ts +0 -13
  149. package/esm/utils/filter-schema.js +0 -68
  150. package/esm/utils/filter.d.ts +0 -1
  151. package/esm/utils/filter.js +0 -493
  152. package/esm/utils/formatDuration.d.ts +0 -1
  153. package/esm/utils/formatDuration.js +0 -23
  154. package/esm/utils/formula.d.ts +0 -16
  155. package/esm/utils/formula.js +0 -219
  156. package/esm/utils/getVariable.d.ts +0 -3
  157. package/esm/utils/getVariable.js +0 -25
  158. package/esm/utils/grammar.d.ts +0 -4
  159. package/esm/utils/grammar.js +0 -50
  160. package/esm/utils/handleAction.d.ts +0 -7
  161. package/esm/utils/handleAction.js +0 -34
  162. package/esm/utils/helper.d.ts +0 -323
  163. package/esm/utils/helper.js +0 -1261
  164. package/esm/utils/highlight.d.ts +0 -1
  165. package/esm/utils/highlight.js +0 -44
  166. package/esm/utils/icon.d.ts +0 -16
  167. package/esm/utils/icon.js +0 -35
  168. package/esm/utils/image.d.ts +0 -18
  169. package/esm/utils/image.js +0 -47
  170. package/esm/utils/index.d.ts +0 -55
  171. package/esm/utils/isPureVariable.d.ts +0 -1
  172. package/esm/utils/isPureVariable.js +0 -22
  173. package/esm/utils/json-schema-2-amis-schema.d.ts +0 -6
  174. package/esm/utils/json-schema-2-amis-schema.js +0 -56
  175. package/esm/utils/keyToPath.d.ts +0 -6
  176. package/esm/utils/keyToPath.js +0 -30
  177. package/esm/utils/makeSorter.d.ts +0 -1
  178. package/esm/utils/makeSorter.js +0 -26
  179. package/esm/utils/normalizeLink.d.ts +0 -1
  180. package/esm/utils/normalizeLink.js +0 -43
  181. package/esm/utils/normalizeOptions.d.ts +0 -7
  182. package/esm/utils/normalizeOptions.js +0 -84
  183. package/esm/utils/object.d.ts +0 -15
  184. package/esm/utils/object.js +0 -142
  185. package/esm/utils/offset.d.ts +0 -15
  186. package/esm/utils/offset.js +0 -32
  187. package/esm/utils/offsetParent.d.ts +0 -5
  188. package/esm/utils/offsetParent.js +0 -23
  189. package/esm/utils/optionValueCompare.d.ts +0 -3
  190. package/esm/utils/optionValueCompare.js +0 -25
  191. package/esm/utils/position.d.ts +0 -26
  192. package/esm/utils/position.js +0 -54
  193. package/esm/utils/prettyBytes.d.ts +0 -1
  194. package/esm/utils/prettyBytes.js +0 -25
  195. package/esm/utils/renderer-event.d.ts +0 -62
  196. package/esm/utils/renderer-event.js +0 -206
  197. package/esm/utils/replaceText.d.ts +0 -3
  198. package/esm/utils/replaceText.js +0 -38
  199. package/esm/utils/resize-sensor.d.ts +0 -6
  200. package/esm/utils/resize-sensor.js +0 -172
  201. package/esm/utils/resolveVariable.d.ts +0 -1
  202. package/esm/utils/resolveVariable.js +0 -35
  203. package/esm/utils/resolveVariableAndFilter.d.ts +0 -1
  204. package/esm/utils/resolveVariableAndFilter.js +0 -33
  205. package/esm/utils/scrollPosition.d.ts +0 -16
  206. package/esm/utils/scrollPosition.js +0 -33
  207. package/esm/utils/string2regExp.d.ts +0 -1
  208. package/esm/utils/string2regExp.js +0 -14
  209. package/esm/utils/stripNumber.d.ts +0 -1
  210. package/esm/utils/stripNumber.js +0 -16
  211. package/esm/utils/style.d.ts +0 -10
  212. package/esm/utils/style.js +0 -58
  213. package/esm/utils/toNumber.d.ts +0 -7
  214. package/esm/utils/toNumber.js +0 -18
  215. package/esm/utils/tokenize.d.ts +0 -1
  216. package/esm/utils/tokenize.js +0 -29
  217. package/esm/utils/tpl-builtin.d.ts +0 -18
  218. package/esm/utils/tpl-builtin.js +0 -59
  219. package/esm/utils/tpl-lodash.d.ts +0 -4
  220. package/esm/utils/tpl-lodash.js +0 -62
  221. package/esm/utils/tpl.d.ts +0 -11
  222. package/esm/utils/tpl.js +0 -131
  223. package/esm/utils/uncontrollable.d.ts +0 -4
  224. package/esm/utils/uncontrollable.js +0 -14
  225. package/esm/utils/validations.d.ts +0 -39
  226. package/esm/utils/validations.js +0 -440
  227. package/lib/Root.d.ts +0 -46
  228. package/lib/Root.js +0 -102
  229. package/lib/RootRenderer.d.ts +0 -27
  230. package/lib/RootRenderer.js +0 -290
  231. package/lib/SchemaRenderer.d.ts +0 -37
  232. package/lib/SchemaRenderer.js +0 -342
  233. package/lib/Scoped.d.ts +0 -38
  234. package/lib/Scoped.js +0 -274
  235. package/lib/WithRootStore.d.ts +0 -719
  236. package/lib/WithRootStore.js +0 -44
  237. package/lib/WithStore.d.ts +0 -5
  238. package/lib/WithStore.js +0 -190
  239. package/lib/actions/Action.d.ts +0 -40
  240. package/lib/actions/Action.js +0 -197
  241. package/lib/actions/AjaxAction.d.ts +0 -27
  242. package/lib/actions/AjaxAction.js +0 -100
  243. package/lib/actions/BreakAction.d.ts +0 -15
  244. package/lib/actions/BreakAction.js +0 -35
  245. package/lib/actions/BroadcastAction.d.ts +0 -19
  246. package/lib/actions/BroadcastAction.js +0 -50
  247. package/lib/actions/CmptAction.d.ts +0 -21
  248. package/lib/actions/CmptAction.js +0 -70
  249. package/lib/actions/ContinueAction.d.ts +0 -15
  250. package/lib/actions/ContinueAction.js +0 -35
  251. package/lib/actions/CopyAction.d.ts +0 -20
  252. package/lib/actions/CopyAction.js +0 -43
  253. package/lib/actions/CustomAction.d.ts +0 -22
  254. package/lib/actions/CustomAction.js +0 -78
  255. package/lib/actions/DialogAction.d.ts +0 -60
  256. package/lib/actions/DialogAction.js +0 -108
  257. package/lib/actions/DrawerAction.d.ts +0 -33
  258. package/lib/actions/DrawerAction.js +0 -70
  259. package/lib/actions/EmailAction.d.ts +0 -23
  260. package/lib/actions/EmailAction.js +0 -48
  261. package/lib/actions/LinkAction.d.ts +0 -24
  262. package/lib/actions/LinkAction.js +0 -47
  263. package/lib/actions/LoopAction.d.ts +0 -19
  264. package/lib/actions/LoopAction.js +0 -107
  265. package/lib/actions/PageAction.d.ts +0 -39
  266. package/lib/actions/PageAction.js +0 -80
  267. package/lib/actions/ParallelAction.d.ts +0 -8
  268. package/lib/actions/ParallelAction.js +0 -40
  269. package/lib/actions/SwitchAction.d.ts +0 -11
  270. package/lib/actions/SwitchAction.js +0 -52
  271. package/lib/actions/ToastAction.d.ts +0 -19
  272. package/lib/actions/ToastAction.js +0 -35
  273. package/lib/actions/index.d.ts +0 -20
  274. package/lib/components/LazyComponent.d.ts +0 -32
  275. package/lib/components/LazyComponent.js +0 -99
  276. package/lib/components/Overlay.d.ts +0 -44
  277. package/lib/components/Overlay.js +0 -266
  278. package/lib/components/PopOver.d.ts +0 -90
  279. package/lib/components/PopOver.js +0 -129
  280. package/lib/env.d.ts +0 -176
  281. package/lib/env.js +0 -20
  282. package/lib/envOverwrite.d.ts +0 -4
  283. package/lib/envOverwrite.js +0 -43
  284. package/lib/factory.d.ts +0 -85
  285. package/lib/factory.js +0 -324
  286. package/lib/index.d.ts +0 -44
  287. package/lib/index.js +0 -460
  288. package/lib/locale.d.ts +0 -84
  289. package/lib/locale.js +0 -133
  290. package/lib/renderers/Form.d.ts +0 -389
  291. package/lib/renderers/Form.js +0 -1234
  292. package/lib/renderers/Item.d.ts +0 -906
  293. package/lib/renderers/Item.js +0 -879
  294. package/lib/renderers/Options.d.ts +0 -158
  295. package/lib/renderers/Options.js +0 -920
  296. package/lib/renderers/Placeholder.d.ts +0 -6
  297. package/lib/renderers/Placeholder.js +0 -31
  298. package/lib/renderers/builtin.d.ts +0 -1
  299. package/lib/renderers/builtin.js +0 -27
  300. package/lib/renderers/register.d.ts +0 -6
  301. package/lib/renderers/register.js +0 -83
  302. package/lib/renderers/wrapControl.d.ts +0 -437
  303. package/lib/renderers/wrapControl.js +0 -520
  304. package/lib/store/app.d.ts +0 -92
  305. package/lib/store/app.js +0 -193
  306. package/lib/store/combo.d.ts +0 -10223
  307. package/lib/store/combo.js +0 -154
  308. package/lib/store/crud.d.ts +0 -128
  309. package/lib/store/crud.js +0 -455
  310. package/lib/store/form.d.ts +0 -4252
  311. package/lib/store/form.js +0 -664
  312. package/lib/store/formItem.d.ts +0 -133
  313. package/lib/store/formItem.js +0 -858
  314. package/lib/store/iRenderer.d.ts +0 -46
  315. package/lib/store/iRenderer.js +0 -189
  316. package/lib/store/index.d.ts +0 -125
  317. package/lib/store/index.js +0 -101
  318. package/lib/store/list.d.ts +0 -272
  319. package/lib/store/list.js +0 -256
  320. package/lib/store/manager.d.ts +0 -115
  321. package/lib/store/manager.js +0 -56
  322. package/lib/store/modal.d.ts +0 -84
  323. package/lib/store/modal.js +0 -54
  324. package/lib/store/node.d.ts +0 -22
  325. package/lib/store/node.js +0 -93
  326. package/lib/store/pagination.d.ts +0 -58
  327. package/lib/store/pagination.js +0 -60
  328. package/lib/store/root.d.ts +0 -85
  329. package/lib/store/root.js +0 -57
  330. package/lib/store/service.d.ts +0 -71
  331. package/lib/store/service.js +0 -415
  332. package/lib/store/table.d.ts +0 -10085
  333. package/lib/store/table.js +0 -1148
  334. package/lib/store/table2.d.ts +0 -474
  335. package/lib/store/table2.js +0 -571
  336. package/lib/theme.d.ts +0 -89
  337. package/lib/theme.js +0 -145
  338. package/lib/types.d.ts +0 -489
  339. package/lib/utils/Animation.d.ts +0 -22
  340. package/lib/utils/Animation.js +0 -290
  341. package/lib/utils/ColorScale.d.ts +0 -19
  342. package/lib/utils/ColorScale.js +0 -105
  343. package/lib/utils/DataSchema.d.ts +0 -25
  344. package/lib/utils/DataSchema.js +0 -116
  345. package/lib/utils/DataScope.d.ts +0 -26
  346. package/lib/utils/DataScope.js +0 -162
  347. package/lib/utils/RootClose.d.ts +0 -4
  348. package/lib/utils/RootClose.js +0 -30
  349. package/lib/utils/SimpleMap.d.ts +0 -8
  350. package/lib/utils/SimpleMap.js +0 -46
  351. package/lib/utils/api.d.ts +0 -34
  352. package/lib/utils/api.js +0 -621
  353. package/lib/utils/attachmentAdpator.d.ts +0 -8
  354. package/lib/utils/attachmentAdpator.js +0 -91
  355. package/lib/utils/autobind.d.ts +0 -7
  356. package/lib/utils/autobind.js +0 -94
  357. package/lib/utils/columnsSplit.d.ts +0 -1
  358. package/lib/utils/columnsSplit.js +0 -51
  359. package/lib/utils/dataMapping.d.ts +0 -9
  360. package/lib/utils/dataMapping.js +0 -151
  361. package/lib/utils/date.d.ts +0 -4
  362. package/lib/utils/date.js +0 -90
  363. package/lib/utils/debug.d.ts +0 -29
  364. package/lib/utils/debug.js +0 -392
  365. package/lib/utils/decodeEntity.d.ts +0 -5
  366. package/lib/utils/decodeEntity.js +0 -20
  367. package/lib/utils/dom.d.ts +0 -13
  368. package/lib/utils/dom.js +0 -199
  369. package/lib/utils/errors.d.ts +0 -6
  370. package/lib/utils/errors.js +0 -23
  371. package/lib/utils/escapeHtml.d.ts +0 -1
  372. package/lib/utils/escapeHtml.js +0 -24
  373. package/lib/utils/filter-schema.d.ts +0 -13
  374. package/lib/utils/filter-schema.js +0 -78
  375. package/lib/utils/filter.d.ts +0 -1
  376. package/lib/utils/filter.js +0 -503
  377. package/lib/utils/formatDuration.d.ts +0 -1
  378. package/lib/utils/formatDuration.js +0 -27
  379. package/lib/utils/formula.d.ts +0 -16
  380. package/lib/utils/formula.js +0 -234
  381. package/lib/utils/getVariable.d.ts +0 -3
  382. package/lib/utils/getVariable.js +0 -29
  383. package/lib/utils/grammar.d.ts +0 -4
  384. package/lib/utils/grammar.js +0 -54
  385. package/lib/utils/handleAction.d.ts +0 -7
  386. package/lib/utils/handleAction.js +0 -39
  387. package/lib/utils/helper.d.ts +0 -323
  388. package/lib/utils/helper.js +0 -1361
  389. package/lib/utils/highlight.d.ts +0 -1
  390. package/lib/utils/highlight.js +0 -52
  391. package/lib/utils/icon.d.ts +0 -16
  392. package/lib/utils/icon.js +0 -43
  393. package/lib/utils/image.d.ts +0 -18
  394. package/lib/utils/image.js +0 -56
  395. package/lib/utils/index.d.ts +0 -55
  396. package/lib/utils/isPureVariable.d.ts +0 -1
  397. package/lib/utils/isPureVariable.js +0 -26
  398. package/lib/utils/json-schema-2-amis-schema.d.ts +0 -6
  399. package/lib/utils/json-schema-2-amis-schema.js +0 -60
  400. package/lib/utils/keyToPath.d.ts +0 -6
  401. package/lib/utils/keyToPath.js +0 -34
  402. package/lib/utils/makeSorter.d.ts +0 -1
  403. package/lib/utils/makeSorter.js +0 -30
  404. package/lib/utils/normalizeLink.d.ts +0 -1
  405. package/lib/utils/normalizeLink.js +0 -47
  406. package/lib/utils/normalizeOptions.d.ts +0 -7
  407. package/lib/utils/normalizeOptions.js +0 -92
  408. package/lib/utils/object.d.ts +0 -15
  409. package/lib/utils/object.js +0 -156
  410. package/lib/utils/offset.d.ts +0 -15
  411. package/lib/utils/offset.js +0 -37
  412. package/lib/utils/offsetParent.d.ts +0 -5
  413. package/lib/utils/offsetParent.js +0 -28
  414. package/lib/utils/optionValueCompare.d.ts +0 -3
  415. package/lib/utils/optionValueCompare.js +0 -30
  416. package/lib/utils/position.d.ts +0 -26
  417. package/lib/utils/position.js +0 -59
  418. package/lib/utils/prettyBytes.d.ts +0 -1
  419. package/lib/utils/prettyBytes.js +0 -29
  420. package/lib/utils/renderer-event.d.ts +0 -62
  421. package/lib/utils/renderer-event.js +0 -218
  422. package/lib/utils/replaceText.d.ts +0 -3
  423. package/lib/utils/replaceText.js +0 -46
  424. package/lib/utils/resize-sensor.d.ts +0 -6
  425. package/lib/utils/resize-sensor.js +0 -177
  426. package/lib/utils/resolveVariable.d.ts +0 -1
  427. package/lib/utils/resolveVariable.js +0 -39
  428. package/lib/utils/resolveVariableAndFilter.d.ts +0 -1
  429. package/lib/utils/resolveVariableAndFilter.js +0 -37
  430. package/lib/utils/scrollPosition.d.ts +0 -16
  431. package/lib/utils/scrollPosition.js +0 -37
  432. package/lib/utils/string2regExp.d.ts +0 -1
  433. package/lib/utils/string2regExp.js +0 -18
  434. package/lib/utils/stripNumber.d.ts +0 -1
  435. package/lib/utils/stripNumber.js +0 -20
  436. package/lib/utils/style.d.ts +0 -10
  437. package/lib/utils/style.js +0 -67
  438. package/lib/utils/toNumber.d.ts +0 -7
  439. package/lib/utils/toNumber.js +0 -22
  440. package/lib/utils/tokenize.d.ts +0 -1
  441. package/lib/utils/tokenize.js +0 -33
  442. package/lib/utils/tpl-builtin.d.ts +0 -18
  443. package/lib/utils/tpl-builtin.js +0 -75
  444. package/lib/utils/tpl-lodash.d.ts +0 -4
  445. package/lib/utils/tpl-lodash.js +0 -71
  446. package/lib/utils/tpl.d.ts +0 -11
  447. package/lib/utils/tpl.js +0 -140
  448. package/lib/utils/uncontrollable.d.ts +0 -4
  449. package/lib/utils/uncontrollable.js +0 -22
  450. package/lib/utils/validations.d.ts +0 -39
  451. package/lib/utils/validations.js +0 -455
@@ -1,863 +0,0 @@
1
- /**
2
- * amis-core v2.6.0
3
- * Copyright 2018-2022 fex
4
- */
5
-
6
- import { __extends, __awaiter, __generator, __assign, __rest, __decorate, __metadata, __spreadArray } from 'tslib';
7
- import React from 'react';
8
- import hoistNonReactStatic from 'hoist-non-react-statics';
9
- import { reaction } from 'mobx';
10
- import { registerRenderer, renderersMap } from '../factory.js';
11
- import { isMobile, ucFirst, getWidthRate, autobind, anyChanged } from '../utils/helper.js';
12
- import { observer } from 'mobx-react';
13
- import { filter } from '../utils/tpl.js';
14
- import { HocStoreFactory } from '../WithStore.js';
15
- import { wrapControl } from './wrapControl.js';
16
- import debounce from 'lodash/debounce';
17
- import { isEffectiveApi, isApiOutdated } from '../utils/api.js';
18
- import { findDOMNode } from 'react-dom';
19
- import '../utils/ColorScale.js';
20
- import 'lodash/chunk';
21
- import { dataMapping } from '../utils/dataMapping.js';
22
- import '../utils/DataSchema.js';
23
- import '../utils/DataScope.js';
24
- import 'moment';
25
- import { createObject } from '../utils/object.js';
26
- import 'amis-formula';
27
- import '../utils/debug.js';
28
- import '../utils/errors.js';
29
- import 'lodash/isPlainObject';
30
- import 'classnames';
31
- import '../utils/filter.js';
32
- import 'lodash/isObject';
33
- import 'lodash/isString';
34
- import 'lodash/isBoolean';
35
- import { getVariable } from '../utils/getVariable.js';
36
- import 'lodash';
37
- import '../utils/image.js';
38
- import '../actions/Action.js';
39
- import 'lodash/cloneDeep';
40
- import '../utils/resize-sensor.js';
41
- import 'react-overlays/useRootClose';
42
- import '../utils/SimpleMap.js';
43
- import 'lodash/mapValues';
44
- import 'lodash/camelCase';
45
- import 'uncontrollable';
46
- import '../utils/validations.js';
47
- import '../utils/Animation.js';
48
- import Overlay from '../components/Overlay.js';
49
- import PopOver from '../components/PopOver.js';
50
-
51
- var getItemLabelClassName = function (props) {
52
- var staticLabelClassName = props.staticLabelClassName, labelClassName = props.labelClassName;
53
- return props.static && staticLabelClassName
54
- ? staticLabelClassName
55
- : labelClassName;
56
- };
57
- var getItemInputClassName = function (props) {
58
- var staticInputClassName = props.staticInputClassName, inputClassName = props.inputClassName;
59
- return props.static && staticInputClassName
60
- ? staticInputClassName
61
- : inputClassName;
62
- };
63
- var FormItemWrap = /** @class */ (function (_super) {
64
- __extends(FormItemWrap, _super);
65
- function FormItemWrap(props) {
66
- var _this = _super.call(this, props) || this;
67
- _this.reaction = [];
68
- _this.syncAutoFill = debounce(function (term, reload) {
69
- (function (term, reload) { return __awaiter(_this, void 0, void 0, function () {
70
- var _a, autoFill, onBulkChange, formItem, data, itemName, ctx, result;
71
- var _b;
72
- var _c, _d;
73
- return __generator(this, function (_e) {
74
- switch (_e.label) {
75
- case 0:
76
- _a = this.props, autoFill = _a.autoFill, onBulkChange = _a.onBulkChange, formItem = _a.formItem, data = _a.data;
77
- // 参照录入
78
- if (!autoFill || (autoFill && !(autoFill === null || autoFill === void 0 ? void 0 : autoFill.hasOwnProperty('api')))) {
79
- return [2 /*return*/];
80
- }
81
- if (!(autoFill === null || autoFill === void 0 ? void 0 : autoFill.showSuggestion)) return [3 /*break*/, 1];
82
- this.handleAutoFill('change');
83
- return [3 /*break*/, 3];
84
- case 1:
85
- itemName = formItem === null || formItem === void 0 ? void 0 : formItem.name;
86
- ctx = createObject(data, (_b = {},
87
- _b[itemName || ''] = term,
88
- _b));
89
- if (!((onBulkChange &&
90
- isEffectiveApi(autoFill.api, ctx) &&
91
- this.lastSearchTerm !== term) ||
92
- reload)) return [3 /*break*/, 3];
93
- return [4 /*yield*/, (formItem === null || formItem === void 0 ? void 0 : formItem.loadAutoUpdateData(autoFill.api, ctx, !!((_c = autoFill.api) === null || _c === void 0 ? void 0 : _c.silent)))];
94
- case 2:
95
- result = _e.sent();
96
- this.lastSearchTerm =
97
- (_d = (result && getVariable(result, itemName))) !== null && _d !== void 0 ? _d : term;
98
- if (autoFill === null || autoFill === void 0 ? void 0 : autoFill.fillMapping) {
99
- result = dataMapping(autoFill.fillMapping, result);
100
- }
101
- result && (onBulkChange === null || onBulkChange === void 0 ? void 0 : onBulkChange(result));
102
- _e.label = 3;
103
- case 3: return [2 /*return*/];
104
- }
105
- });
106
- }); })(term, reload).catch(function (e) { return console.error(e); });
107
- }, 250, {
108
- trailing: true,
109
- leading: false
110
- });
111
- _this.state = {
112
- isOpened: false
113
- };
114
- var model = props.formItem;
115
- if (model) {
116
- _this.reaction.push(reaction(function () { return "".concat(model.errors.join('')).concat(model.isFocused).concat(model.dialogOpen); }, function () { return _this.forceUpdate(); }));
117
- _this.reaction.push(reaction(function () { return model === null || model === void 0 ? void 0 : model.filteredOptions; }, function () { return _this.forceUpdate(); }));
118
- _this.reaction.push(reaction(function () { return JSON.stringify(model.tmpValue); }, function () { return _this.syncAutoFill(model.tmpValue); }));
119
- }
120
- return _this;
121
- }
122
- FormItemWrap.prototype.componentDidUpdate = function (prevProps) {
123
- var _a, _b, _c;
124
- var props = this.props;
125
- var model = props.formItem;
126
- if (isEffectiveApi((_a = props.autoFill) === null || _a === void 0 ? void 0 : _a.api, props.data) &&
127
- isApiOutdated((_b = prevProps.autoFill) === null || _b === void 0 ? void 0 : _b.api, (_c = props.autoFill) === null || _c === void 0 ? void 0 : _c.api, prevProps.data, props.data)) {
128
- this.syncAutoFill(model === null || model === void 0 ? void 0 : model.tmpValue, true);
129
- }
130
- };
131
- FormItemWrap.prototype.componentDidMount = function () {
132
- this.target = findDOMNode(this);
133
- };
134
- FormItemWrap.prototype.componentWillUnmount = function () {
135
- this.reaction.forEach(function (fn) { return fn(); });
136
- this.reaction = [];
137
- this.syncAutoFill.cancel();
138
- };
139
- FormItemWrap.prototype.handleFocus = function (e) {
140
- var _a = this.props, model = _a.formItem, autoFill = _a.autoFill;
141
- model && model.focus();
142
- this.props.onFocus && this.props.onFocus(e);
143
- if (!autoFill ||
144
- (autoFill && !(autoFill === null || autoFill === void 0 ? void 0 : autoFill.hasOwnProperty('showSuggestion')))) {
145
- return;
146
- }
147
- this.handleAutoFill('focus');
148
- };
149
- FormItemWrap.prototype.handleBlur = function (e) {
150
- var model = this.props.formItem;
151
- model && model.blur();
152
- this.props.onBlur && this.props.onBlur(e);
153
- };
154
- FormItemWrap.prototype.handleAutoFill = function (type) {
155
- var _this = this;
156
- var _a = this.props, autoFill = _a.autoFill; _a.onBulkChange; var formItem = _a.formItem, data = _a.data;
157
- var trigger = autoFill.trigger, mode = autoFill.mode;
158
- if (trigger === type && mode === 'popOver') {
159
- // 参照录入 popOver形式
160
- this.setState({
161
- isOpened: true
162
- });
163
- }
164
- else if (
165
- // 参照录入 dialog | drawer
166
- trigger === type &&
167
- (mode === 'dialog' || mode === 'drawer')) {
168
- formItem === null || formItem === void 0 ? void 0 : formItem.openDialog(this.buildSchema(), data, function (result) {
169
- if (!(result === null || result === void 0 ? void 0 : result.selectedItems)) {
170
- return;
171
- }
172
- _this.updateAutoFillData(result.selectedItems);
173
- });
174
- }
175
- };
176
- FormItemWrap.prototype.updateAutoFillData = function (context) {
177
- var _a = this.props, formStore = _a.formStore, autoFill = _a.autoFill, onBulkChange = _a.onBulkChange;
178
- var fillMapping = autoFill.fillMapping, multiple = autoFill.multiple;
179
- // form原始数据
180
- var data = formStore === null || formStore === void 0 ? void 0 : formStore.data;
181
- var contextData = createObject(__assign({ items: !multiple ? [context] : context }, data), __assign({}, context));
182
- var responseData = {};
183
- responseData = dataMapping(fillMapping, contextData);
184
- if (!multiple && !fillMapping) {
185
- responseData = context;
186
- }
187
- onBulkChange === null || onBulkChange === void 0 ? void 0 : onBulkChange(responseData);
188
- };
189
- FormItemWrap.prototype.buildSchema = function () {
190
- var _this = this;
191
- var _a = this.props, render = _a.render, autoFill = _a.autoFill, ns = _a.classPrefix, cx = _a.classnames, __ = _a.translate;
192
- if (!autoFill || (autoFill && !(autoFill === null || autoFill === void 0 ? void 0 : autoFill.hasOwnProperty('api')))) {
193
- return;
194
- }
195
- var api = autoFill.api, mode = autoFill.mode, size = autoFill.size, offset = autoFill.offset, position = autoFill.position, multiple = autoFill.multiple, filter = autoFill.filter, columns = autoFill.columns, labelField = autoFill.labelField, popOverContainer = autoFill.popOverContainer, popOverClassName = autoFill.popOverClassName, valueField = autoFill.valueField;
196
- var form = {
197
- type: 'form',
198
- // debug: true,
199
- title: '',
200
- className: 'suggestion-form',
201
- body: {
202
- type: 'picker',
203
- embed: true,
204
- joinValues: false,
205
- label: false,
206
- labelField: labelField,
207
- valueField: valueField || 'value',
208
- multiple: multiple,
209
- name: 'selectedItems',
210
- options: [],
211
- required: true,
212
- source: api,
213
- pickerSchema: {
214
- type: 'crud',
215
- affixHeader: false,
216
- alwaysShowPagination: true,
217
- keepItemSelectionOnPageChange: true,
218
- headerToolbar: [],
219
- footerToolbar: [
220
- {
221
- type: 'pagination',
222
- align: 'left'
223
- },
224
- {
225
- type: 'bulkActions',
226
- align: 'right',
227
- className: 'ml-2'
228
- }
229
- ],
230
- multiple: multiple,
231
- filter: filter,
232
- columns: columns || []
233
- }
234
- },
235
- actions: [
236
- {
237
- type: 'button',
238
- actionType: 'cancel',
239
- label: __('cancel')
240
- },
241
- {
242
- type: 'submit',
243
- actionType: 'submit',
244
- level: 'primary',
245
- label: __('confirm')
246
- }
247
- ]
248
- };
249
- var schema = {
250
- type: mode,
251
- className: 'auto-fill-dialog',
252
- title: __('FormItem.autoFillSuggest'),
253
- size: size,
254
- body: form,
255
- actions: [
256
- {
257
- type: 'button',
258
- actionType: 'cancel',
259
- label: __('cancel')
260
- },
261
- {
262
- type: 'submit',
263
- actionType: 'submit',
264
- level: 'primary',
265
- label: __('confirm')
266
- }
267
- ]
268
- };
269
- if (mode === 'popOver') {
270
- return (React.createElement(Overlay, { container: popOverContainer || this.target, target: function () { return _this.target; }, placement: position || 'left-bottom-left-top', show: true },
271
- React.createElement(PopOver, { classPrefix: ns, className: cx("".concat(ns, "auto-fill-popOver"), popOverClassName), style: {
272
- minWidth: this.target ? this.target.offsetWidth : undefined
273
- }, offset: offset, onHide: this.hanldeClose, overlay: true }, render('popOver-auto-fill-form', form, {
274
- onSubmit: this.hanldeSubmit
275
- }))));
276
- }
277
- else {
278
- return schema;
279
- }
280
- };
281
- // 参照录入popOver提交
282
- FormItemWrap.prototype.hanldeSubmit = function (values) {
283
- var _a = this.props; _a.onBulkChange; var autoFill = _a.autoFill;
284
- if (!autoFill || (autoFill && !(autoFill === null || autoFill === void 0 ? void 0 : autoFill.hasOwnProperty('api')))) {
285
- return;
286
- }
287
- this.updateAutoFillData(values.selectedItems);
288
- this.hanldeClose();
289
- };
290
- FormItemWrap.prototype.hanldeClose = function () {
291
- this.setState({
292
- isOpened: false
293
- });
294
- };
295
- FormItemWrap.prototype.handleOpenDialog = function (schema, data) {
296
- return __awaiter(this, void 0, void 0, function () {
297
- var model;
298
- return __generator(this, function (_a) {
299
- model = this.props.formItem;
300
- if (!model) {
301
- return [2 /*return*/];
302
- }
303
- return [2 /*return*/, new Promise(function (resolve) {
304
- return model.openDialog(schema, data, function (result) { return resolve(result); });
305
- })];
306
- });
307
- });
308
- };
309
- FormItemWrap.prototype.handleDialogConfirm = function (_a) {
310
- var values = _a[0];
311
- var model = this.props.formItem;
312
- if (!model) {
313
- return;
314
- }
315
- model.closeDialog(values);
316
- };
317
- FormItemWrap.prototype.handleDialogClose = function (confirmed) {
318
- if (confirmed === void 0) { confirmed = false; }
319
- var model = this.props.formItem;
320
- if (!model) {
321
- return;
322
- }
323
- model.closeDialog(confirmed);
324
- };
325
- FormItemWrap.prototype.renderControl = function () {
326
- var _a;
327
- var _b = this.props;
328
- // 这里解构,不可轻易删除,避免被rest传到子组件
329
- _b.inputClassName; var model = _b.formItem, cx = _b.classnames; _b.children; var type = _b.type, renderControl = _b.renderControl; _b.formItemConfig; var sizeMutable = _b.sizeMutable, size = _b.size, defaultSize = _b.defaultSize, useMobileUI = _b.useMobileUI, rest = __rest(_b, ["inputClassName", "formItem", "classnames", "children", "type", "renderControl", "formItemConfig", "sizeMutable", "size", "defaultSize", "useMobileUI"]);
330
- var mobileUI = useMobileUI && isMobile();
331
- if (renderControl) {
332
- var controlSize = size || defaultSize;
333
- return renderControl(__assign(__assign({}, rest), { onOpenDialog: this.handleOpenDialog, type: type, classnames: cx, formItem: model, className: cx("Form-control", (_a = {
334
- 'is-inline': !!rest.inline && !mobileUI,
335
- 'is-error': model && !model.valid
336
- },
337
- _a["Form-control--withSize Form-control--size".concat(ucFirst(controlSize))] = sizeMutable !== false &&
338
- typeof controlSize === 'string' &&
339
- !!controlSize &&
340
- controlSize !== 'full',
341
- _a), model === null || model === void 0 ? void 0 : model.errClassNames, getItemInputClassName(this.props)) }));
342
- }
343
- return null;
344
- };
345
- FormItemWrap.prototype.render = function () {
346
- var _a = this.props, formMode = _a.formMode, inputOnly = _a.inputOnly, wrap = _a.wrap, render = _a.render, model = _a.formItem;
347
- var mode = this.props.mode || formMode;
348
- if (wrap === false || inputOnly) {
349
- return this.renderControl();
350
- }
351
- var renderLayout = FormItemWrap.layoutRenderers[mode] ||
352
- FormItemWrap.layoutRenderers['normal'];
353
- return (React.createElement(React.Fragment, null,
354
- renderLayout(this.props, this.renderControl.bind(this)),
355
- model
356
- ? render('modal', __assign({ type: 'dialog' }, model.dialogSchema), {
357
- show: model.dialogOpen,
358
- onClose: this.handleDialogClose,
359
- onConfirm: this.handleDialogConfirm,
360
- data: model.dialogData,
361
- formStore: undefined
362
- })
363
- : null));
364
- };
365
- /**
366
- * 布局扩充点,可以自己扩充表单项的布局方式
367
- */
368
- FormItemWrap.layoutRenderers = {
369
- horizontal: function (props, renderControl) {
370
- var _a, _b, _c;
371
- var className = props.className, style = props.style, cx = props.classnames, description = props.description, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, desc = props.desc, label = props.label, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint, data = props.data, showErrorMsg = props.showErrorMsg, useMobileUI = props.useMobileUI; props.translate; var isStatic = props.static, staticClassName = props.staticClassName;
372
- // 强制不渲染 label 的话
373
- if (renderLabel === false) {
374
- label = label === false ? false : '';
375
- }
376
- description = description || desc;
377
- var horizontal = props.horizontal || props.formHorizontal || {};
378
- var left = getWidthRate(horizontal.left);
379
- var right = getWidthRate(horizontal.right);
380
- var labelAlign = props.labelAlign || props.formLabelAlign;
381
- var labelWidth = props.labelWidth || props.formLabelWidth;
382
- return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--horizontal", isStatic && staticClassName ? staticClassName : className, (_a = {
383
- 'Form-item--horizontal-justify': horizontal.justify
384
- },
385
- _a["is-error"] = model && !model.valid,
386
- _a["is-required"] = required,
387
- _a), model === null || model === void 0 ? void 0 : model.errClassNames), style: style },
388
- label !== false ? (React.createElement("label", { className: cx("Form-label", (_b = {},
389
- _b["Form-itemColumn--".concat(typeof horizontal.leftFixed === 'string'
390
- ? horizontal.leftFixed
391
- : 'normal')] = horizontal.leftFixed,
392
- _b["Form-itemColumn--".concat(left)] = !horizontal.leftFixed,
393
- _b['Form-label--left'] = labelAlign === 'left',
394
- _b), getItemLabelClassName(props)), style: labelWidth != null ? { width: labelWidth } : undefined },
395
- React.createElement("span", null,
396
- label
397
- ? render('label', typeof label === 'string' ? filter(label, data) : label)
398
- : null,
399
- required && (label || labelRemark) ? (React.createElement("span", { className: cx("Form-star") }, "*")) : null,
400
- labelRemark
401
- ? render('label-remark', {
402
- type: 'remark',
403
- icon: labelRemark.icon || 'warning-mark',
404
- tooltip: labelRemark,
405
- useMobileUI: useMobileUI,
406
- className: cx("Form-labelRemark"),
407
- container: props.popOverContainer
408
- ? props.popOverContainer
409
- : env && env.getModalContainer
410
- ? env.getModalContainer
411
- : undefined
412
- })
413
- : null))) : null,
414
- React.createElement("div", { className: cx("Form-value", (_c = {},
415
- // [`Form-itemColumn--offset${getWidthRate(horizontal.offset)}`]: !label && label !== false,
416
- _c["Form-itemColumn--".concat(right)] = !horizontal.leftFixed && !!right && right !== 12 - left,
417
- _c)) },
418
- renderControl(),
419
- caption
420
- ? render('caption', caption, {
421
- className: cx("Form-caption", captionClassName)
422
- })
423
- : null,
424
- remark
425
- ? render('remark', {
426
- type: 'remark',
427
- icon: remark.icon || 'warning-mark',
428
- tooltip: remark,
429
- className: cx("Form-remark"),
430
- useMobileUI: useMobileUI,
431
- container: props.popOverContainer
432
- ? props.popOverContainer
433
- : env && env.getModalContainer
434
- ? env.getModalContainer
435
- : undefined
436
- })
437
- : null,
438
- hint && model && model.isFocused
439
- ? render('hint', hint, {
440
- className: cx("Form-hint")
441
- })
442
- : null,
443
- model &&
444
- !model.valid &&
445
- showErrorMsg !== false &&
446
- Array.isArray(model.errors) ? (React.createElement("ul", { className: cx("Form-feedback") }, model.errors.map(function (msg, key) { return (React.createElement("li", { key: key }, msg)); }))) : null,
447
- renderDescription !== false && description
448
- ? render('description', description, {
449
- className: cx("Form-description", descriptionClassName)
450
- })
451
- : null)));
452
- },
453
- normal: function (props, renderControl) {
454
- var _a;
455
- var className = props.className, style = props.style, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint, data = props.data, showErrorMsg = props.showErrorMsg, useMobileUI = props.useMobileUI; props.translate; var isStatic = props.static, staticClassName = props.staticClassName;
456
- description = description || desc;
457
- return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--normal", isStatic && staticClassName ? staticClassName : className, (_a = {
458
- 'is-error': model && !model.valid
459
- },
460
- _a["is-required"] = required,
461
- _a), model === null || model === void 0 ? void 0 : model.errClassNames), style: style },
462
- label && renderLabel !== false ? (React.createElement("label", { className: cx("Form-label", getItemLabelClassName(props)) },
463
- React.createElement("span", null,
464
- label
465
- ? render('label', typeof label === 'string' ? filter(label, data) : label)
466
- : null,
467
- required && (label || labelRemark) ? (React.createElement("span", { className: cx("Form-star") }, "*")) : null,
468
- labelRemark
469
- ? render('label-remark', {
470
- type: 'remark',
471
- icon: labelRemark.icon || 'warning-mark',
472
- tooltip: labelRemark,
473
- className: cx("Form-lableRemark"),
474
- useMobileUI: useMobileUI,
475
- container: props.popOverContainer
476
- ? props.popOverContainer
477
- : env && env.getModalContainer
478
- ? env.getModalContainer
479
- : undefined
480
- })
481
- : null))) : null,
482
- renderControl(),
483
- caption
484
- ? render('caption', caption, {
485
- className: cx("Form-caption", captionClassName)
486
- })
487
- : null,
488
- remark
489
- ? render('remark', {
490
- type: 'remark',
491
- icon: remark.icon || 'warning-mark',
492
- className: cx("Form-remark"),
493
- tooltip: remark,
494
- useMobileUI: useMobileUI,
495
- container: env && env.getModalContainer
496
- ? env.getModalContainer
497
- : undefined
498
- })
499
- : null,
500
- hint && model && model.isFocused
501
- ? render('hint', hint, {
502
- className: cx("Form-hint")
503
- })
504
- : null,
505
- model &&
506
- !model.valid &&
507
- showErrorMsg !== false &&
508
- Array.isArray(model.errors) ? (React.createElement("ul", { className: cx("Form-feedback") }, model.errors.map(function (msg, key) { return (React.createElement("li", { key: key }, msg)); }))) : null,
509
- renderDescription !== false && description
510
- ? render('description', description, {
511
- className: cx("Form-description", descriptionClassName)
512
- })
513
- : null));
514
- },
515
- inline: function (props, renderControl) {
516
- var _a;
517
- var className = props.className, style = props.style, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, render = props.render, required = props.required, caption = props.caption, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, remark = props.remark, labelRemark = props.labelRemark, env = props.env, hint = props.hint, renderLabel = props.renderLabel, renderDescription = props.renderDescription, data = props.data, showErrorMsg = props.showErrorMsg, useMobileUI = props.useMobileUI; props.translate; var isStatic = props.static, staticClassName = props.staticClassName;
518
- var labelWidth = props.labelWidth || props.formLabelWidth;
519
- description = description || desc;
520
- return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--inline", isStatic && staticClassName ? staticClassName : className, (_a = {
521
- 'is-error': model && !model.valid
522
- },
523
- _a["is-required"] = required,
524
- _a), model === null || model === void 0 ? void 0 : model.errClassNames), style: style },
525
- label && renderLabel !== false ? (React.createElement("label", { className: cx("Form-label", getItemLabelClassName(props)), style: labelWidth != null ? { width: labelWidth } : undefined },
526
- React.createElement("span", null,
527
- label
528
- ? render('label', typeof label === 'string' ? filter(label, data) : label)
529
- : label,
530
- required && (label || labelRemark) ? (React.createElement("span", { className: cx("Form-star") }, "*")) : null,
531
- labelRemark
532
- ? render('label-remark', {
533
- type: 'remark',
534
- icon: labelRemark.icon || 'warning-mark',
535
- tooltip: labelRemark,
536
- className: cx("Form-lableRemark"),
537
- useMobileUI: useMobileUI,
538
- container: props.popOverContainer
539
- ? props.popOverContainer
540
- : env && env.getModalContainer
541
- ? env.getModalContainer
542
- : undefined
543
- })
544
- : null))) : null,
545
- React.createElement("div", { className: cx("Form-value") },
546
- renderControl(),
547
- caption
548
- ? render('caption', caption, {
549
- className: cx("Form-caption", captionClassName)
550
- })
551
- : null,
552
- remark
553
- ? render('remark', {
554
- type: 'remark',
555
- icon: remark.icon || 'warning-mark',
556
- className: cx("Form-remark"),
557
- tooltip: remark,
558
- useMobileUI: useMobileUI,
559
- container: props.popOverContainer
560
- ? props.popOverContainer
561
- : env && env.getModalContainer
562
- ? env.getModalContainer
563
- : undefined
564
- })
565
- : null,
566
- hint && model && model.isFocused
567
- ? render('hint', hint, {
568
- className: cx("Form-hint")
569
- })
570
- : null,
571
- model &&
572
- !model.valid &&
573
- showErrorMsg !== false &&
574
- Array.isArray(model.errors) ? (React.createElement("ul", { className: cx("Form-feedback") }, model.errors.map(function (msg, key) { return (React.createElement("li", { key: key }, msg)); }))) : null,
575
- renderDescription !== false && description
576
- ? render('description', description, {
577
- className: cx("Form-description", descriptionClassName)
578
- })
579
- : null)));
580
- },
581
- row: function (props, renderControl) {
582
- var _a;
583
- var className = props.className, style = props.style, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint, data = props.data, showErrorMsg = props.showErrorMsg, useMobileUI = props.useMobileUI; props.translate; var isStatic = props.static, staticClassName = props.staticClassName;
584
- var labelWidth = props.labelWidth || props.formLabelWidth;
585
- description = description || desc;
586
- return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--row", isStatic && staticClassName ? staticClassName : className, (_a = {
587
- 'is-error': model && !model.valid
588
- },
589
- _a["is-required"] = required,
590
- _a), model === null || model === void 0 ? void 0 : model.errClassNames), style: style },
591
- React.createElement("div", { className: cx('Form-rowInner') },
592
- label && renderLabel !== false ? (React.createElement("label", { className: cx("Form-label", getItemLabelClassName(props)), style: labelWidth != null ? { width: labelWidth } : undefined },
593
- React.createElement("span", null,
594
- render('label', typeof label === 'string' ? filter(label, data) : label),
595
- required && (label || labelRemark) ? (React.createElement("span", { className: cx("Form-star") }, "*")) : null,
596
- labelRemark
597
- ? render('label-remark', {
598
- type: 'remark',
599
- icon: labelRemark.icon || 'warning-mark',
600
- tooltip: labelRemark,
601
- className: cx("Form-lableRemark"),
602
- useMobileUI: useMobileUI,
603
- container: props.popOverContainer
604
- ? props.popOverContainer
605
- : env && env.getModalContainer
606
- ? env.getModalContainer
607
- : undefined
608
- })
609
- : null))) : null,
610
- renderControl(),
611
- caption
612
- ? render('caption', caption, {
613
- className: cx("Form-caption", captionClassName)
614
- })
615
- : null,
616
- remark
617
- ? render('remark', {
618
- type: 'remark',
619
- icon: remark.icon || 'warning-mark',
620
- className: cx("Form-remark"),
621
- tooltip: remark,
622
- container: env && env.getModalContainer
623
- ? env.getModalContainer
624
- : undefined
625
- })
626
- : null),
627
- hint && model && model.isFocused
628
- ? render('hint', hint, {
629
- className: cx("Form-hint")
630
- })
631
- : null,
632
- model &&
633
- !model.valid &&
634
- showErrorMsg !== false &&
635
- Array.isArray(model.errors) ? (React.createElement("ul", { className: cx('Form-feedback') }, model.errors.map(function (msg, key) { return (React.createElement("li", { key: key }, msg)); }))) : null,
636
- description && renderDescription !== false
637
- ? render('description', description, {
638
- className: cx("Form-description", descriptionClassName)
639
- })
640
- : null));
641
- }
642
- };
643
- __decorate([
644
- autobind,
645
- __metadata("design:type", Function),
646
- __metadata("design:paramtypes", [Object]),
647
- __metadata("design:returntype", void 0)
648
- ], FormItemWrap.prototype, "handleFocus", null);
649
- __decorate([
650
- autobind,
651
- __metadata("design:type", Function),
652
- __metadata("design:paramtypes", [Object]),
653
- __metadata("design:returntype", void 0)
654
- ], FormItemWrap.prototype, "handleBlur", null);
655
- __decorate([
656
- autobind,
657
- __metadata("design:type", Function),
658
- __metadata("design:paramtypes", [Object]),
659
- __metadata("design:returntype", void 0)
660
- ], FormItemWrap.prototype, "hanldeSubmit", null);
661
- __decorate([
662
- autobind,
663
- __metadata("design:type", Function),
664
- __metadata("design:paramtypes", []),
665
- __metadata("design:returntype", void 0)
666
- ], FormItemWrap.prototype, "hanldeClose", null);
667
- __decorate([
668
- autobind,
669
- __metadata("design:type", Function),
670
- __metadata("design:paramtypes", [Object, Object]),
671
- __metadata("design:returntype", Promise)
672
- ], FormItemWrap.prototype, "handleOpenDialog", null);
673
- __decorate([
674
- autobind,
675
- __metadata("design:type", Function),
676
- __metadata("design:paramtypes", [Array]),
677
- __metadata("design:returntype", void 0)
678
- ], FormItemWrap.prototype, "handleDialogConfirm", null);
679
- __decorate([
680
- autobind,
681
- __metadata("design:type", Function),
682
- __metadata("design:paramtypes", [Object]),
683
- __metadata("design:returntype", void 0)
684
- ], FormItemWrap.prototype, "handleDialogClose", null);
685
- return FormItemWrap;
686
- }(React.Component));
687
- // 白名单形式,只有这些属性发生变化,才会往下更新。
688
- // 除非配置 strictMode
689
- var detectProps = [
690
- 'formPristine',
691
- 'formInited',
692
- 'addable',
693
- 'addButtonClassName',
694
- 'addButtonText',
695
- 'addOn',
696
- 'btnClassName',
697
- 'btnLabel',
698
- 'style',
699
- 'btnDisabled',
700
- 'className',
701
- 'clearable',
702
- 'columns',
703
- 'columnsCount',
704
- 'controls',
705
- 'desc',
706
- 'description',
707
- 'disabled',
708
- 'static',
709
- 'draggable',
710
- 'editable',
711
- 'editButtonClassName',
712
- 'formHorizontal',
713
- 'formMode',
714
- 'hideRoot',
715
- 'horizontal',
716
- 'icon',
717
- 'inline',
718
- 'inputClassName',
719
- 'label',
720
- 'labelClassName',
721
- 'labelField',
722
- 'language',
723
- 'level',
724
- 'max',
725
- 'maxRows',
726
- 'min',
727
- 'minRows',
728
- 'multiLine',
729
- 'multiple',
730
- 'option',
731
- 'placeholder',
732
- 'removable',
733
- 'required',
734
- 'remark',
735
- 'hint',
736
- 'rows',
737
- 'searchable',
738
- 'showCompressOptions',
739
- 'size',
740
- 'step',
741
- 'showInput',
742
- 'unit',
743
- 'value',
744
- 'diffValue',
745
- 'borderMode',
746
- 'items',
747
- 'showCounter',
748
- 'minLength',
749
- 'maxLength',
750
- 'embed',
751
- 'displayMode',
752
- 'revealPassword',
753
- 'loading'
754
- ];
755
- function asFormItem(config) {
756
- return function (Control) {
757
- var _a;
758
- var isSFC = !(Control.prototype instanceof React.Component);
759
- // 兼容老的 FormItem 用法。
760
- if (config.validate && !Control.prototype.validate) {
761
- var fn_1 = config.validate;
762
- Control.prototype.validate = function () {
763
- var host = {
764
- input: this
765
- };
766
- return fn_1.apply(host, arguments);
767
- };
768
- }
769
- else if (config.validate) {
770
- console.error('FormItem配置中的 validate 将不起作用,因为类的成员函数中已经定义了 validate 方法,将优先使用类里面的实现。');
771
- }
772
- if (config.storeType) {
773
- Control = HocStoreFactory({
774
- storeType: config.storeType,
775
- extendsData: config.extendsData
776
- })(observer(Control));
777
- delete config.storeType;
778
- }
779
- return wrapControl(hoistNonReactStatic((_a = /** @class */ (function (_super) {
780
- __extends(class_1, _super);
781
- function class_1(props) {
782
- var _this = _super.call(this, props) || this;
783
- _this.refFn = _this.refFn.bind(_this);
784
- var validations = props.validations, model = props.formItem;
785
- // 组件注册的时候可能默认指定验证器类型
786
- if (model && !validations && config.validations) {
787
- model.config({
788
- rules: config.validations
789
- });
790
- }
791
- return _this;
792
- }
793
- class_1.prototype.shouldComponentUpdate = function (nextProps) {
794
- var _a;
795
- if (((_a = config.shouldComponentUpdate) === null || _a === void 0 ? void 0 : _a.call(config, this.props, nextProps)) ||
796
- nextProps.strictMode === false ||
797
- config.strictMode === false) {
798
- return true;
799
- }
800
- // 把可能会影响视图的白名单弄出来,减少重新渲染次数。
801
- if (anyChanged(detectProps.concat(config.detectProps || []), this.props, nextProps)) {
802
- return true;
803
- }
804
- return false;
805
- };
806
- class_1.prototype.getWrappedInstance = function () {
807
- return this.ref;
808
- };
809
- class_1.prototype.refFn = function (ref) {
810
- this.ref = ref;
811
- };
812
- class_1.prototype.renderControl = function () {
813
- var _a;
814
- var _b = this.props;
815
- // 这里解构,不可轻易删除,避免被rest传到子组件
816
- _b.inputClassName; var model = _b.formItem, cx = _b.classnames; _b.children; var type = _b.type, size = _b.size, defaultSize = _b.defaultSize, useMobileUI = _b.useMobileUI, rest = __rest(_b, ["inputClassName", "formItem", "classnames", "children", "type", "size", "defaultSize", "useMobileUI"]);
817
- var controlSize = size || defaultSize;
818
- var mobileUI = useMobileUI && isMobile();
819
- //@ts-ignore
820
- var isOpened = this.state.isOpened;
821
- return (React.createElement(React.Fragment, null,
822
- React.createElement(Control, __assign({}, rest, { useMobileUI: useMobileUI, onOpenDialog: this.handleOpenDialog, size: config.sizeMutable !== false ? undefined : size, onFocus: this.handleFocus, onBlur: this.handleBlur, type: type, classnames: cx, ref: isSFC ? undefined : this.refFn, forwardedRef: isSFC ? this.refFn : undefined, formItem: model, className: cx("Form-control", (_a = {
823
- 'is-inline': !!rest.inline && !mobileUI,
824
- 'is-error': model && !model.valid
825
- },
826
- _a["Form-control--withSize Form-control--size".concat(ucFirst(controlSize))] = config.sizeMutable !== false &&
827
- typeof controlSize === 'string' &&
828
- !!controlSize &&
829
- controlSize !== 'full',
830
- _a), model === null || model === void 0 ? void 0 : model.errClassNames, getItemInputClassName(this.props)) })),
831
- isOpened ? this.buildSchema() : null));
832
- };
833
- return class_1;
834
- }(FormItemWrap)),
835
- _a.defaultProps = __assign({ className: '', renderLabel: config.renderLabel, renderDescription: config.renderDescription, sizeMutable: config.sizeMutable, wrap: config.wrap, showErrorMsg: config.showErrorMsg }, Control.defaultProps),
836
- _a.propsList = __spreadArray([
837
- 'value',
838
- 'defaultValue',
839
- 'onChange',
840
- 'setPrinstineValue',
841
- 'readOnly',
842
- 'strictMode'
843
- ], (Control.propsList || []), true),
844
- _a.displayName = "FormItem".concat(config.type ? "(".concat(config.type, ")") : ''),
845
- _a.ComposedComponent = Control,
846
- _a), Control));
847
- };
848
- }
849
- function registerFormItem(config) {
850
- var Control = asFormItem(config)(config.component);
851
- return registerRenderer(__assign(__assign({}, config), { weight: typeof config.weight !== 'undefined' ? config.weight : -100, component: Control, isFormItem: true }));
852
- }
853
- function FormItem(config) {
854
- return function (component) {
855
- var renderer = registerFormItem(__assign(__assign({}, config), { component: component }));
856
- return renderer.component;
857
- };
858
- }
859
- function getFormItemByName(name) {
860
- return renderersMap[name];
861
- }
862
-
863
- export { FormItem, FormItemWrap, asFormItem, FormItem as default, detectProps, getFormItemByName, registerFormItem };