amis 1.4.2-beta.1 → 1.4.2-beta.15

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 (449) hide show
  1. package/lib/Schema.d.ts +11 -3
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/AnchorNav.d.ts +22 -21
  4. package/lib/components/AnchorNav.js +7 -3
  5. package/lib/components/AnchorNav.js.map +2 -2
  6. package/lib/components/ArrayInput.d.ts +84 -84
  7. package/lib/components/AssociatedSelection.d.ts +930 -0
  8. package/lib/components/AssociatedSelection.js +89 -0
  9. package/lib/components/AssociatedSelection.js.map +13 -0
  10. package/lib/components/Badge.js +2 -2
  11. package/lib/components/Badge.js.map +2 -2
  12. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  13. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  14. package/lib/components/ChainedSelection.js.map +13 -0
  15. package/lib/components/Checkbox.d.ts +20 -20
  16. package/lib/components/Collapse.d.ts +51 -23
  17. package/lib/components/Collapse.js +69 -11
  18. package/lib/components/Collapse.js.map +2 -2
  19. package/lib/components/CollapseGroup.d.ts +88 -0
  20. package/lib/components/CollapseGroup.js +81 -0
  21. package/lib/components/CollapseGroup.js.map +13 -0
  22. package/lib/components/ColorPicker.d.ts +84 -84
  23. package/lib/components/DatePicker.d.ts +84 -84
  24. package/lib/components/DateRangePicker.d.ts +84 -84
  25. package/lib/components/Editor.d.ts +84 -84
  26. package/lib/components/GridNav.d.ts +52 -0
  27. package/lib/components/GridNav.js +123 -0
  28. package/lib/components/GridNav.js.map +13 -0
  29. package/lib/components/GroupedSelection.d.ts +907 -0
  30. package/lib/components/GroupedSelection.js +48 -0
  31. package/lib/components/GroupedSelection.js.map +13 -0
  32. package/lib/components/InputBox.d.ts +22 -21
  33. package/lib/components/InputBox.js +10 -2
  34. package/lib/components/InputBox.js.map +2 -2
  35. package/lib/components/Link.d.ts +29 -36
  36. package/lib/components/Link.js +14 -15
  37. package/lib/components/Link.js.map +2 -2
  38. package/lib/components/ListGroup.d.ts +21 -21
  39. package/lib/components/ModalManager.js +1 -1
  40. package/lib/components/ModalManager.js.map +2 -2
  41. package/lib/components/MonthRangePicker.d.ts +84 -84
  42. package/lib/components/NumberInput.d.ts +20 -20
  43. package/lib/components/PickerColumn.d.ts +514 -0
  44. package/lib/components/PickerColumn.js +279 -0
  45. package/lib/components/PickerColumn.js.map +13 -0
  46. package/lib/components/PickerContainer.d.ts +513 -0
  47. package/lib/components/PickerContainer.js +96 -0
  48. package/lib/components/PickerContainer.js.map +13 -0
  49. package/lib/components/Radios.d.ts +22 -21
  50. package/lib/components/Radios.js +1 -0
  51. package/lib/components/Radios.js.map +2 -2
  52. package/lib/components/Rating.d.ts +21 -21
  53. package/lib/components/ResultBox.d.ts +84 -84
  54. package/lib/components/ResultBox.js +10 -2
  55. package/lib/components/ResultBox.js.map +2 -2
  56. package/lib/components/SearchBox.d.ts +84 -84
  57. package/lib/components/SearchBox.js +4 -4
  58. package/lib/components/SearchBox.js.map +2 -2
  59. package/lib/components/Select.d.ts +245 -237
  60. package/lib/components/Select.js +25 -4
  61. package/lib/components/Select.js.map +2 -2
  62. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  63. package/lib/components/Selection.js +134 -0
  64. package/lib/components/Selection.js.map +13 -0
  65. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  66. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  67. package/lib/components/TableSelection.js.map +13 -0
  68. package/lib/components/Tabs.d.ts +20 -20
  69. package/lib/components/TabsTransfer.d.ts +84 -84
  70. package/lib/components/TabsTransfer.js +9 -9
  71. package/lib/components/TabsTransfer.js.map +2 -2
  72. package/lib/components/TabsTransferPicker.d.ts +489 -0
  73. package/lib/components/TabsTransferPicker.js +60 -0
  74. package/lib/components/TabsTransferPicker.js.map +13 -0
  75. package/lib/components/Toast.d.ts +86 -85
  76. package/lib/components/Toast.js +6 -3
  77. package/lib/components/Toast.js.map +2 -2
  78. package/lib/components/Transfer.d.ts +908 -274
  79. package/lib/components/Transfer.js +31 -24
  80. package/lib/components/Transfer.js.map +2 -2
  81. package/lib/components/TransferDropDown.d.ts +488 -0
  82. package/lib/components/TransferDropDown.js +59 -0
  83. package/lib/components/TransferDropDown.js.map +13 -0
  84. package/lib/components/TransferPicker.d.ts +493 -0
  85. package/lib/components/TransferPicker.js +60 -0
  86. package/lib/components/TransferPicker.js.map +13 -0
  87. package/lib/components/Tree.d.ts +115 -84
  88. package/lib/components/Tree.js +183 -30
  89. package/lib/components/Tree.js.map +2 -2
  90. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  91. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  92. package/lib/components/TreeSelection.js.map +13 -0
  93. package/lib/components/WithRemoteConfig.js +1 -1
  94. package/lib/components/WithRemoteConfig.js.map +2 -2
  95. package/lib/components/condition-builder/Field.js +5 -2
  96. package/lib/components/condition-builder/Field.js.map +2 -2
  97. package/lib/components/condition-builder/Func.js +2 -2
  98. package/lib/components/condition-builder/Func.js.map +2 -2
  99. package/lib/components/condition-builder/InputSwitch.js +2 -2
  100. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  101. package/lib/components/condition-builder/Item.js +3 -3
  102. package/lib/components/condition-builder/Item.js.map +2 -2
  103. package/lib/components/icons.js +2 -0
  104. package/lib/components/icons.js.map +2 -2
  105. package/lib/components/index.d.ts +8 -8
  106. package/lib/components/index.js +16 -16
  107. package/lib/components/index.js.map +2 -2
  108. package/lib/envOverwrite.d.ts +1 -1
  109. package/lib/envOverwrite.js +24 -9
  110. package/lib/envOverwrite.js.map +2 -2
  111. package/lib/factory.d.ts +15 -1
  112. package/lib/factory.js +35 -6
  113. package/lib/factory.js.map +2 -2
  114. package/lib/helper.css.map +1 -1
  115. package/lib/hooks/index.d.ts +5 -0
  116. package/lib/hooks/index.js +14 -0
  117. package/lib/hooks/index.js.map +13 -0
  118. package/lib/hooks/use-set-state.d.ts +2 -0
  119. package/lib/hooks/use-set-state.js +15 -0
  120. package/lib/hooks/use-set-state.js.map +13 -0
  121. package/lib/hooks/use-touch.d.ts +16 -0
  122. package/lib/hooks/use-touch.js +73 -0
  123. package/lib/hooks/use-touch.js.map +13 -0
  124. package/lib/hooks/use-update-effect.d.ts +3 -0
  125. package/lib/hooks/use-update-effect.js +17 -0
  126. package/lib/hooks/use-update-effect.js.map +13 -0
  127. package/lib/icons/download.js +7 -0
  128. package/lib/icons/drag-bar.js +10 -3
  129. package/lib/index.d.ts +5 -0
  130. package/lib/index.js +6 -1
  131. package/lib/index.js.map +2 -2
  132. package/lib/locale/de-DE.js +2 -0
  133. package/lib/locale/de-DE.js.map +2 -2
  134. package/lib/locale/en-US.js +3 -0
  135. package/lib/locale/en-US.js.map +2 -2
  136. package/lib/locale/zh-CN.js +5 -2
  137. package/lib/locale/zh-CN.js.map +2 -2
  138. package/lib/renderers/Action.d.ts +4 -3
  139. package/lib/renderers/Action.js +17 -4
  140. package/lib/renderers/Action.js.map +2 -2
  141. package/lib/renderers/AnchorNav.d.ts +1 -0
  142. package/lib/renderers/AnchorNav.js +2 -2
  143. package/lib/renderers/AnchorNav.js.map +2 -2
  144. package/lib/renderers/Avatar.js +3 -3
  145. package/lib/renderers/Avatar.js.map +2 -2
  146. package/lib/renderers/Breadcrumb.js +1 -1
  147. package/lib/renderers/Breadcrumb.js.map +2 -2
  148. package/lib/renderers/CRUD.d.ts +9 -0
  149. package/lib/renderers/CRUD.js +24 -4
  150. package/lib/renderers/CRUD.js.map +2 -2
  151. package/lib/renderers/Card.d.ts +4 -0
  152. package/lib/renderers/Card.js +29 -23
  153. package/lib/renderers/Card.js.map +2 -2
  154. package/lib/renderers/Chart.js +1 -1
  155. package/lib/renderers/Chart.js.map +2 -2
  156. package/lib/renderers/Collapse.d.ts +25 -20
  157. package/lib/renderers/Collapse.js +10 -72
  158. package/lib/renderers/Collapse.js.map +2 -2
  159. package/lib/renderers/CollapseGroup.d.ts +42 -0
  160. package/lib/renderers/CollapseGroup.js +33 -0
  161. package/lib/renderers/CollapseGroup.js.map +13 -0
  162. package/lib/renderers/DropDownButton.js +1 -1
  163. package/lib/renderers/DropDownButton.js.map +2 -2
  164. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  165. package/lib/renderers/Form/Editor.d.ts +3 -2
  166. package/lib/renderers/Form/InputCity.d.ts +84 -84
  167. package/lib/renderers/Form/InputCity.js +7 -6
  168. package/lib/renderers/Form/InputCity.js.map +2 -2
  169. package/lib/renderers/Form/InputColor.d.ts +84 -84
  170. package/lib/renderers/Form/InputFile.d.ts +6 -0
  171. package/lib/renderers/Form/InputFile.js +28 -8
  172. package/lib/renderers/Form/InputFile.js.map +2 -2
  173. package/lib/renderers/Form/InputImage.js +11 -4
  174. package/lib/renderers/Form/InputImage.js.map +2 -2
  175. package/lib/renderers/Form/Item.d.ts +1 -1
  176. package/lib/renderers/Form/Item.js +2 -1
  177. package/lib/renderers/Form/Item.js.map +2 -2
  178. package/lib/renderers/Form/Options.js +13 -3
  179. package/lib/renderers/Form/Options.js.map +2 -2
  180. package/lib/renderers/Form/Select.d.ts +42 -4
  181. package/lib/renderers/Form/Select.js +37 -3
  182. package/lib/renderers/Form/Select.js.map +2 -2
  183. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  184. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  185. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  186. package/lib/renderers/Form/Transfer.js +18 -3
  187. package/lib/renderers/Form/Transfer.js.map +2 -2
  188. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  189. package/lib/renderers/Form/TransferPicker.js +43 -0
  190. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  191. package/lib/renderers/Form/TreeSelect.js +2 -2
  192. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  193. package/lib/renderers/Form/index.d.ts +5 -0
  194. package/lib/renderers/Form/index.js +5 -3
  195. package/lib/renderers/Form/index.js.map +2 -2
  196. package/lib/renderers/Form/wrapControl.js +13 -1
  197. package/lib/renderers/Form/wrapControl.js.map +2 -2
  198. package/lib/renderers/GridNav.d.ts +99 -0
  199. package/lib/renderers/GridNav.js +82 -0
  200. package/lib/renderers/GridNav.js.map +13 -0
  201. package/lib/renderers/IFrame.js +1 -3
  202. package/lib/renderers/IFrame.js.map +2 -2
  203. package/lib/renderers/Json.d.ts +4 -0
  204. package/lib/renderers/Json.js +4 -13
  205. package/lib/renderers/Json.js.map +2 -2
  206. package/lib/renderers/Link.d.ts +4 -2
  207. package/lib/renderers/Link.js +15 -6
  208. package/lib/renderers/Link.js.map +2 -2
  209. package/lib/renderers/List.js +1 -1
  210. package/lib/renderers/List.js.map +2 -2
  211. package/lib/renderers/Mapping.d.ts +9 -2
  212. package/lib/renderers/Mapping.js +18 -6
  213. package/lib/renderers/Mapping.js.map +2 -2
  214. package/lib/renderers/Nav.d.ts +21 -21
  215. package/lib/renderers/Nav.js +39 -21
  216. package/lib/renderers/Nav.js.map +2 -2
  217. package/lib/renderers/Portlet.d.ts +125 -0
  218. package/lib/renderers/Portlet.js +156 -0
  219. package/lib/renderers/Portlet.js.map +13 -0
  220. package/lib/renderers/Property.js +2 -1
  221. package/lib/renderers/Property.js.map +2 -2
  222. package/lib/renderers/SearchBox.d.ts +6 -1
  223. package/lib/renderers/SearchBox.js +19 -5
  224. package/lib/renderers/SearchBox.js.map +2 -2
  225. package/lib/renderers/Table/TableContent.d.ts +4 -1
  226. package/lib/renderers/Table/TableContent.js +21 -1
  227. package/lib/renderers/Table/TableContent.js.map +2 -2
  228. package/lib/renderers/Table/index.d.ts +5 -1
  229. package/lib/renderers/Table/index.js +65 -30
  230. package/lib/renderers/Table/index.js.map +2 -2
  231. package/lib/renderers/Tabs.js +9 -1
  232. package/lib/renderers/Tabs.js.map +2 -2
  233. package/lib/renderers/WebComponent.js +1 -1
  234. package/lib/renderers/WebComponent.js.map +2 -2
  235. package/lib/store/combo.d.ts +2 -16
  236. package/lib/store/crud.js +3 -7
  237. package/lib/store/crud.js.map +2 -2
  238. package/lib/store/form.d.ts +1 -1
  239. package/lib/store/form.js +5 -6
  240. package/lib/store/form.js.map +2 -2
  241. package/lib/store/formItem.js +44 -4
  242. package/lib/store/formItem.js.map +2 -2
  243. package/lib/store/service.js +5 -4
  244. package/lib/store/service.js.map +2 -2
  245. package/lib/store/table.d.ts +3 -2
  246. package/lib/store/table.js +35 -12
  247. package/lib/store/table.js.map +2 -2
  248. package/lib/themes/ang-ie11.css +689 -175
  249. package/lib/themes/ang.css +689 -175
  250. package/lib/themes/ang.css.map +1 -1
  251. package/lib/themes/antd-ie11.css +689 -175
  252. package/lib/themes/antd.css +689 -175
  253. package/lib/themes/antd.css.map +1 -1
  254. package/lib/themes/cxd-ie11.css +728 -213
  255. package/lib/themes/cxd.css +728 -213
  256. package/lib/themes/cxd.css.map +1 -1
  257. package/lib/themes/dark-ie11.css +689 -175
  258. package/lib/themes/dark.css +689 -175
  259. package/lib/themes/dark.css.map +1 -1
  260. package/lib/themes/default.css +728 -213
  261. package/lib/themes/default.css.map +1 -1
  262. package/lib/types.d.ts +38 -1
  263. package/lib/types.js +0 -5
  264. package/lib/types.js.map +2 -2
  265. package/lib/utils/api.d.ts +4 -2
  266. package/lib/utils/api.js +104 -17
  267. package/lib/utils/api.js.map +2 -2
  268. package/lib/utils/dom.d.ts +4 -0
  269. package/lib/utils/dom.js +11 -1
  270. package/lib/utils/dom.js.map +2 -2
  271. package/lib/utils/helper.d.ts +8 -0
  272. package/lib/utils/helper.js +28 -2
  273. package/lib/utils/helper.js.map +2 -2
  274. package/lib/utils/icon.js +3 -0
  275. package/lib/utils/icon.js.map +2 -2
  276. package/package.json +1 -1
  277. package/schema.json +3326 -836
  278. package/scss/_mixins.scss +1 -3
  279. package/scss/_properties.scss +25 -1
  280. package/scss/base/_common.scss +3 -0
  281. package/scss/base/_normalize.scss +2 -0
  282. package/scss/components/_anchor-nav.scss +89 -29
  283. package/scss/components/_card.scss +8 -14
  284. package/scss/components/_collapse-group.scss +11 -0
  285. package/scss/components/_collapse.scss +48 -22
  286. package/scss/components/_grid-nav.scss +128 -0
  287. package/scss/components/_input-box.scss +1 -0
  288. package/scss/components/_mapping.scss +6 -0
  289. package/scss/components/_nav.scss +2 -2
  290. package/scss/components/_picker-columns.scss +124 -0
  291. package/scss/components/_popover.scss +13 -0
  292. package/scss/components/_portlet.scss +51 -0
  293. package/scss/components/_result-box.scss +1 -0
  294. package/scss/components/_spinner.scss +5 -4
  295. package/scss/components/_status.scss +1 -1
  296. package/scss/components/_table.scss +32 -0
  297. package/scss/components/form/_checks.scss +0 -351
  298. package/scss/components/form/_combo.scss +4 -0
  299. package/scss/components/form/_fieldset.scss +5 -1
  300. package/scss/components/form/_file.scss +11 -0
  301. package/scss/components/form/_form.scss +48 -0
  302. package/scss/components/form/_selection.scss +354 -0
  303. package/scss/components/form/_transfer.scss +75 -18
  304. package/scss/components/form/_tree.scss +42 -0
  305. package/scss/themes/_common.scss +7 -0
  306. package/scss/themes/_cxd-variables.scss +8 -6
  307. package/scss/themes/cxd.scss +17 -12
  308. package/sdk/ang-ie11.css +786 -196
  309. package/sdk/ang.css +820 -213
  310. package/sdk/antd-ie11.css +786 -196
  311. package/sdk/antd.css +820 -213
  312. package/sdk/charts.js +13 -13
  313. package/sdk/color-picker.js +65 -69
  314. package/sdk/cropperjs.js +2 -2
  315. package/sdk/cxd-ie11.css +825 -236
  316. package/sdk/cxd.css +862 -254
  317. package/sdk/dark-ie11.css +787 -197
  318. package/sdk/dark.css +820 -213
  319. package/sdk/exceljs.js +1 -1
  320. package/sdk/helper.css.map +1 -1
  321. package/sdk/iconfont.svg +2513 -0
  322. package/sdk/iconfont.ttf +0 -0
  323. package/sdk/iconfont.woff +0 -0
  324. package/sdk/locale/de-DE.js +2 -0
  325. package/sdk/markdown.js +69 -69
  326. package/sdk/papaparse.js +1 -1
  327. package/sdk/renderers/Form/CityDB.js +1 -1
  328. package/sdk/rest.js +20 -28
  329. package/sdk/rich-text.js +62 -62
  330. package/sdk/sdk-ie11.css +825 -236
  331. package/sdk/sdk.css +862 -254
  332. package/sdk/sdk.js +1243 -1175
  333. package/sdk/thirds/hls.js/hls.js +1 -1
  334. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  335. package/sdk/tinymce.js +57 -57
  336. package/src/Schema.ts +19 -1
  337. package/src/components/AnchorNav.tsx +15 -4
  338. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +43 -37
  339. package/src/components/Badge.tsx +3 -3
  340. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  341. package/src/components/Collapse.tsx +144 -20
  342. package/src/components/CollapseGroup.tsx +130 -0
  343. package/src/components/GridNav.tsx +233 -0
  344. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  345. package/src/components/InputBox.tsx +10 -9
  346. package/src/components/Link.tsx +28 -37
  347. package/src/components/ModalManager.ts +1 -1
  348. package/src/components/PickerColumn.tsx +429 -0
  349. package/src/components/PickerContainer.tsx +128 -0
  350. package/src/components/Radios.tsx +3 -8
  351. package/src/components/ResultBox.tsx +9 -9
  352. package/src/components/SearchBox.tsx +4 -5
  353. package/src/components/Select.tsx +57 -5
  354. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  355. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  356. package/src/components/TabsTransfer.tsx +13 -7
  357. package/src/components/TabsTransferPicker.tsx +85 -0
  358. package/src/components/Toast.tsx +23 -16
  359. package/src/components/Transfer.tsx +71 -50
  360. package/src/components/TransferDropDown.tsx +120 -0
  361. package/src/components/TransferPicker.tsx +91 -0
  362. package/src/components/Tree.tsx +194 -8
  363. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  364. package/src/components/WithRemoteConfig.tsx +7 -2
  365. package/src/components/condition-builder/Field.tsx +5 -5
  366. package/src/components/condition-builder/Func.tsx +3 -3
  367. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  368. package/src/components/condition-builder/Item.tsx +5 -12
  369. package/src/components/icons.tsx +2 -0
  370. package/src/components/index.tsx +13 -13
  371. package/src/envOverwrite.ts +20 -8
  372. package/src/factory.tsx +70 -9
  373. package/src/hooks/index.ts +5 -0
  374. package/src/hooks/use-set-state.ts +19 -0
  375. package/src/hooks/use-touch.ts +100 -0
  376. package/src/hooks/use-update-effect.ts +16 -0
  377. package/src/icons/download.svg +4 -0
  378. package/src/icons/drag-bar.svg +12 -6
  379. package/src/index.tsx +5 -0
  380. package/src/locale/de-DE.ts +2 -0
  381. package/src/locale/en-US.ts +3 -0
  382. package/src/locale/zh-CN.ts +5 -2
  383. package/src/renderers/Action.tsx +28 -2
  384. package/src/renderers/AnchorNav.tsx +4 -0
  385. package/src/renderers/Avatar.tsx +8 -4
  386. package/src/renderers/Breadcrumb.tsx +5 -1
  387. package/src/renderers/CRUD.tsx +33 -3
  388. package/src/renderers/Card.tsx +63 -34
  389. package/src/renderers/Chart.tsx +6 -2
  390. package/src/renderers/Collapse.tsx +70 -115
  391. package/src/renderers/CollapseGroup.tsx +80 -0
  392. package/src/renderers/DropDownButton.tsx +1 -1
  393. package/src/renderers/Form/InputCity.tsx +4 -8
  394. package/src/renderers/Form/InputFile.tsx +65 -24
  395. package/src/renderers/Form/InputImage.tsx +11 -3
  396. package/src/renderers/Form/Item.tsx +3 -2
  397. package/src/renderers/Form/Options.tsx +16 -2
  398. package/src/renderers/Form/Select.tsx +162 -21
  399. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  400. package/src/renderers/Form/Transfer.tsx +19 -4
  401. package/src/renderers/Form/TransferPicker.tsx +145 -0
  402. package/src/renderers/Form/TreeSelect.tsx +25 -0
  403. package/src/renderers/Form/index.tsx +15 -2
  404. package/src/renderers/Form/wrapControl.tsx +26 -1
  405. package/src/renderers/GridNav.tsx +204 -0
  406. package/src/renderers/IFrame.tsx +2 -4
  407. package/src/renderers/Json.tsx +9 -9
  408. package/src/renderers/Link.tsx +27 -13
  409. package/src/renderers/List.tsx +1 -1
  410. package/src/renderers/Mapping.tsx +27 -11
  411. package/src/renderers/Nav.tsx +108 -60
  412. package/src/renderers/Portlet.tsx +423 -0
  413. package/src/renderers/Property.tsx +3 -2
  414. package/src/renderers/SearchBox.tsx +23 -4
  415. package/src/renderers/Table/TableContent.tsx +40 -2
  416. package/src/renderers/Table/index.tsx +88 -43
  417. package/src/renderers/Tabs.tsx +9 -1
  418. package/src/renderers/WebComponent.tsx +2 -2
  419. package/src/store/crud.ts +3 -8
  420. package/src/store/form.ts +5 -10
  421. package/src/store/formItem.ts +94 -2
  422. package/src/store/service.ts +5 -4
  423. package/src/store/table.ts +55 -14
  424. package/src/types.ts +58 -1
  425. package/src/utils/api.ts +133 -26
  426. package/src/utils/dom.tsx +12 -0
  427. package/src/utils/helper.ts +27 -0
  428. package/src/utils/icon.tsx +4 -0
  429. package/tsconfig-for-declaration.json +1 -1
  430. package/dump.rdb +0 -0
  431. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  432. package/lib/components/AssociatedCheckboxes.js +0 -90
  433. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  434. package/lib/components/ChainedCheckboxes.js.map +0 -13
  435. package/lib/components/Checkboxes.js +0 -101
  436. package/lib/components/Checkboxes.js.map +0 -13
  437. package/lib/components/ListCheckboxes.d.ts +0 -739
  438. package/lib/components/ListCheckboxes.js +0 -48
  439. package/lib/components/ListCheckboxes.js.map +0 -13
  440. package/lib/components/ListRadios.d.ts +0 -763
  441. package/lib/components/ListRadios.js +0 -86
  442. package/lib/components/ListRadios.js.map +0 -13
  443. package/lib/components/TableCheckboxes.js.map +0 -13
  444. package/lib/components/TreeCheckboxes.js.map +0 -13
  445. package/lib/components/TreeRadios.d.ts +0 -838
  446. package/lib/components/TreeRadios.js +0 -116
  447. package/lib/components/TreeRadios.js.map +0 -13
  448. package/src/components/ListRadios.tsx +0 -159
  449. package/src/components/TreeRadios.tsx +0 -202
package/src/types.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type {ActionSchema} from './renderers/Action';
1
2
  import {SchemaApiObject} from './Schema';
2
3
 
3
4
  export interface ApiObject extends SchemaApiObject {
@@ -30,7 +31,7 @@ export interface fetcherResult {
30
31
  }
31
32
 
32
33
  export interface fetchOptions {
33
- method?: 'get' | 'post' | 'put' | 'patch' | 'delete';
34
+ method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp';
34
35
  successMessage?: string;
35
36
  errorMessage?: string;
36
37
  autoAppend?: boolean;
@@ -157,3 +158,59 @@ export interface JSONSchema {
157
158
  // export type ExtractProps<
158
159
  // TComponentOrTProps
159
160
  // > = TComponentOrTProps extends React.ComponentType<infer P> ? P : never;
161
+
162
+ /**
163
+ * 事件跟踪的定义
164
+ */
165
+ export interface EventTrack {
166
+ /**
167
+ * 事件类型,目前有以下几种
168
+ *
169
+ * api: 所有 fetcher 前调用
170
+ * url: 打开外部链接,组件有可能是 action 也有可能是 link
171
+ * link: 打开内部链接
172
+ * dialog: action 的弹框
173
+ * drawer: action 的抽出式弹框
174
+ * copy: action 里的复制
175
+ * reload: action 里的 reload
176
+ * email: action 里的 email
177
+ * prev: action 里的 prev
178
+ * next: action 里的 next
179
+ * cancel: action 里的 cancel
180
+ * close: action 里的 close
181
+ * submit: 有可能是 action 里的 submit,也有可能是表单提交
182
+ * confirm: action 里的 confirm
183
+ * add: action 里的 add
184
+ * reset: action 里的 reset
185
+ * reset-and-submit: action 里的 reset-and-submit
186
+ * formItemChange: 表单项内容变化
187
+ * formError: 表单验证失败
188
+ * formSubmit: 表单成功提交,在表单验证成功之后才会触发,这个可能会和 api 重合
189
+ * tabChange: tab 切换
190
+ * netError: api 报错
191
+ */
192
+ eventType:
193
+ | 'api'
194
+ | 'url'
195
+ | 'link'
196
+ | 'dialog'
197
+ | 'drawer'
198
+ | 'copy'
199
+ | 'reload'
200
+ | 'email'
201
+ | 'prev'
202
+ | 'next'
203
+ | 'cancel'
204
+ | 'close'
205
+ | 'submit'
206
+ | 'confirm'
207
+ | 'reset'
208
+ | 'reset-and-submit'
209
+ | 'formItemChange'
210
+ | 'tabChange';
211
+
212
+ /**
213
+ * 事件数据
214
+ */
215
+ eventData: ActionSchema | Api;
216
+ }
package/src/utils/api.ts CHANGED
@@ -1,6 +1,7 @@
1
- import {Api, ApiObject, fetcherResult, Payload} from '../types';
1
+ import omit from 'lodash/omit';
2
+ import {Api, ApiObject, EventTrack, fetcherResult, Payload} from '../types';
2
3
  import {fetcherConfig} from '../factory';
3
- import {tokenize, dataMapping} from './tpl-builtin';
4
+ import {tokenize, dataMapping, escapeHtml} from './tpl-builtin';
4
5
  import {evalExpression} from './tpl';
5
6
  import {
6
7
  isObject,
@@ -10,10 +11,12 @@ import {
10
11
  qsstringify,
11
12
  cloneObject,
12
13
  createObject,
13
- qsparse
14
+ qsparse,
15
+ uuid
14
16
  } from './helper';
17
+ import isPlainObject from 'lodash/isPlainObject';
15
18
 
16
- const rSchema = /(?:^|raw\:)(get|post|put|delete|patch|options|head):/i;
19
+ const rSchema = /(?:^|raw\:)(get|post|put|delete|patch|options|head|jsonp):/i;
17
20
 
18
21
  interface ApiCacheConfig extends ApiObject {
19
22
  cachedPromise: Promise<any>;
@@ -61,6 +64,23 @@ export function buildApi(
61
64
  };
62
65
  api.method = (api.method || (options as any).method || 'get').toLowerCase();
63
66
 
67
+ if (api.headers) {
68
+ api.headers = dataMapping(api.headers, data, undefined, false);
69
+ }
70
+
71
+ if (api.requestAdaptor && typeof api.requestAdaptor === 'string') {
72
+ api.requestAdaptor = str2function(api.requestAdaptor, 'api') as any;
73
+ }
74
+
75
+ if (api.adaptor && typeof api.adaptor === 'string') {
76
+ api.adaptor = str2function(
77
+ api.adaptor,
78
+ 'payload',
79
+ 'response',
80
+ 'api'
81
+ ) as any;
82
+ }
83
+
64
84
  if (!data) {
65
85
  return api;
66
86
  } else if (
@@ -106,7 +126,7 @@ export function buildApi(
106
126
  }
107
127
 
108
128
  // get 类请求,把 data 附带到 url 上。
109
- if (api.method === 'get') {
129
+ if (api.method === 'get' || api.method === 'jsonp') {
110
130
  if (!~raw.indexOf('$') && !api.data && autoAppend) {
111
131
  api.query = api.data = data;
112
132
  } else if (
@@ -144,23 +164,6 @@ export function buildApi(
144
164
  }
145
165
  }
146
166
 
147
- if (api.headers) {
148
- api.headers = dataMapping(api.headers, data, undefined, false);
149
- }
150
-
151
- if (api.requestAdaptor && typeof api.requestAdaptor === 'string') {
152
- api.requestAdaptor = str2function(api.requestAdaptor, 'api') as any;
153
- }
154
-
155
- if (api.adaptor && typeof api.adaptor === 'string') {
156
- api.adaptor = str2function(
157
- api.adaptor,
158
- 'payload',
159
- 'response',
160
- 'api'
161
- ) as any;
162
- }
163
-
164
167
  return api;
165
168
  }
166
169
 
@@ -193,11 +196,26 @@ export function str2AsyncFunction(
193
196
  }
194
197
 
195
198
  export function responseAdaptor(ret: fetcherResult, api: ApiObject) {
196
- const data = ret.data;
199
+ let data = ret.data;
197
200
  let hasStatusField = true;
198
201
 
199
202
  if (!data) {
200
- throw new Error('Response is empty!');
203
+ throw new Error('Response is empty');
204
+ }
205
+
206
+ if (typeof data === 'string') {
207
+ try {
208
+ data = JSON.parse(data);
209
+ if (typeof data === 'undefined') {
210
+ throw new Error('Response should be JSON');
211
+ }
212
+ } catch (e) {
213
+ const responseBrief =
214
+ typeof data === 'string'
215
+ ? escapeHtml((data as string).substring(0, 100))
216
+ : '';
217
+ throw new Error(`Response should be JSON\n ${responseBrief}`);
218
+ }
201
219
  }
202
220
 
203
221
  // 兼容几种常见写法
@@ -245,7 +263,7 @@ export function responseAdaptor(ret: fetcherResult, api: ApiObject) {
245
263
  }
246
264
 
247
265
  if (payload.ok && api.responseData) {
248
- payload.data = dataMapping(
266
+ const responseData = dataMapping(
249
267
  api.responseData,
250
268
 
251
269
  createObject(
@@ -259,13 +277,16 @@ export function responseAdaptor(ret: fetcherResult, api: ApiObject) {
259
277
  undefined,
260
278
  api.convertKeyToPath
261
279
  );
280
+ console.debug('responseData', responseData);
281
+ payload.data = responseData;
262
282
  }
263
283
 
264
284
  return payload;
265
285
  }
266
286
 
267
287
  export function wrapFetcher(
268
- fn: (config: fetcherConfig) => Promise<fetcherResult>
288
+ fn: (config: fetcherConfig) => Promise<fetcherResult>,
289
+ tracker?: (eventTrack: EventTrack, data: any) => void
269
290
  ): (api: Api, data: object, options?: object) => Promise<Payload | void> {
270
291
  return function (api, data, options) {
271
292
  api = buildApi(api, data, options) as ApiObject;
@@ -295,6 +316,15 @@ export function wrapFetcher(
295
316
  api.headers['Content-Type'] = 'application/json';
296
317
  }
297
318
 
319
+ tracker?.(
320
+ {eventType: 'api', eventData: omit(api, ['config', 'data', 'body'])},
321
+ api.data
322
+ );
323
+
324
+ if (api.method?.toLocaleLowerCase() === 'jsonp') {
325
+ return wrapAdaptor(jsonpFetcher(api), api);
326
+ }
327
+
298
328
  if (typeof api.cache === 'number' && api.cache > 0) {
299
329
  const apiCache = getApiCache(api);
300
330
  return wrapAdaptor(
@@ -337,6 +367,71 @@ export function wrapAdaptor(promise: Promise<fetcherResult>, api: ApiObject) {
337
367
  : promise.then(ret => responseAdaptor(ret, api));
338
368
  }
339
369
 
370
+ export function jsonpFetcher(api: ApiObject): Promise<fetcherResult> {
371
+ return new Promise((resolve, reject) => {
372
+ let script: HTMLScriptElement | null = document.createElement('script');
373
+ let src = api.url;
374
+
375
+ script.async = true;
376
+
377
+ function remove() {
378
+ if (script) {
379
+ // @ts-ignore
380
+ script.onload = script.onreadystatechange = script.onerror = null;
381
+
382
+ if (script.parentNode) {
383
+ script.parentNode.removeChild(script);
384
+ }
385
+
386
+ script = null;
387
+ }
388
+ }
389
+
390
+ const jsonp = api.query?.callback || 'axiosJsonpCallback' + uuid();
391
+ const old = (window as any)[jsonp];
392
+
393
+ (window as any)[jsonp] = function (responseData: any) {
394
+ (window as any)[jsonp] = old;
395
+
396
+ const response = {
397
+ data: responseData,
398
+ status: 200,
399
+ headers: {}
400
+ };
401
+
402
+ resolve(response);
403
+ };
404
+
405
+ const additionalParams: any = {
406
+ _: new Date().getTime(),
407
+ _callback: jsonp
408
+ };
409
+
410
+ src += (src.indexOf('?') >= 0 ? '&' : '?') + qsstringify(additionalParams);
411
+
412
+ // @ts-ignore IE 为script.onreadystatechange
413
+ script.onload = script.onreadystatechange = function () {
414
+ // @ts-ignore
415
+ if (!script.readyState || /loaded|complete/.test(script.readyState)) {
416
+ remove();
417
+ }
418
+ };
419
+
420
+ script.onerror = function () {
421
+ remove();
422
+ const errResponse = {
423
+ status: 0,
424
+ headers: {}
425
+ };
426
+
427
+ reject(errResponse);
428
+ };
429
+
430
+ script.src = src;
431
+ document.head.appendChild(script);
432
+ });
433
+ }
434
+
340
435
  export function isApiOutdated(
341
436
  prevApi: Api | undefined,
342
437
  nextApi: Api | undefined,
@@ -469,4 +564,16 @@ export function clearApiCache() {
469
564
  apiCaches.splice(0, apiCaches.length);
470
565
  }
471
566
 
567
+ export function normalizeApiResponseData(data: any) {
568
+ if (typeof data === 'undefined') {
569
+ data = {};
570
+ } else if (!isPlainObject(data)) {
571
+ data = {
572
+ [Array.isArray(data) ? 'items' : 'result']: data
573
+ };
574
+ }
575
+
576
+ return data;
577
+ }
578
+
472
579
  // window.apiCaches = apiCaches;
package/src/utils/dom.tsx CHANGED
@@ -267,3 +267,15 @@ export function calculatePosition(
267
267
  activePlacement
268
268
  };
269
269
  }
270
+
271
+ /**
272
+ * 专门用来获取样式的像素值,默认返回 0
273
+ */
274
+ export function getStyleNumber(element: HTMLElement, styleName: string) {
275
+ if (!element) {
276
+ return 0;
277
+ }
278
+ return (
279
+ parseInt(getComputedStyle(element).getPropertyValue(styleName), 10) || 0
280
+ );
281
+ }
@@ -16,6 +16,14 @@ import {
16
16
  } from './tpl-builtin';
17
17
  import {isObservable} from 'mobx';
18
18
 
19
+ export function isMobile() {
20
+ return (window as any).matchMedia?.('(max-width: 768px)').matches;
21
+ }
22
+
23
+ export function range(num: number, min: number, max: number): number {
24
+ return Math.min(Math.max(num, min), max);
25
+ }
26
+
19
27
  // 方便取值的时候能够把上层的取到,但是获取的时候不会全部把所有的数据获取到。
20
28
  export function createObject(
21
29
  superProps?: {[propName: string]: any},
@@ -1698,3 +1706,22 @@ export function isClickOnInput(e: React.MouseEvent<HTMLElement>) {
1698
1706
  }
1699
1707
  return false;
1700
1708
  }
1709
+
1710
+ /**
1711
+ * 遍历 schema
1712
+ * @param json
1713
+ * @param mapper
1714
+ */
1715
+ export function JSONTraverse(
1716
+ json: any,
1717
+ mapper: (value: any, key: string | number, host: Object) => any
1718
+ ) {
1719
+ Object.keys(json).forEach(key => {
1720
+ const value: any = json[key];
1721
+ if (isPlainObject(value) || Array.isArray(value)) {
1722
+ JSONTraverse(value, mapper);
1723
+ } else {
1724
+ mapper(value, key, json);
1725
+ }
1726
+ });
1727
+ }
@@ -17,6 +17,10 @@ export const generateIcon = (
17
17
  className?: string,
18
18
  classNameProp?: string
19
19
  ) => {
20
+ if (React.isValidElement(icon)) {
21
+ return icon;
22
+ }
23
+
20
24
  const isURLIcon = icon?.indexOf('.') !== -1;
21
25
 
22
26
  return icon ? (
@@ -3,7 +3,7 @@
3
3
  "outDir": "output/",
4
4
  "module": "commonjs",
5
5
  "target": "es5",
6
- "lib": ["es6", "dom", "ES2015"],
6
+ "lib": ["ES6", "DOM", "ES2015", "ES2021"],
7
7
  "sourceMap": true,
8
8
  "jsx": "react",
9
9
  "moduleResolution": "node",
package/dump.rdb DELETED
Binary file