amis 1.5.6-beta.5 → 1.6.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 (435) hide show
  1. package/.husky/pre-commit +1 -1
  2. package/lib/Schema.d.ts +3 -2
  3. package/lib/Schema.js.map +1 -1
  4. package/lib/components/AssociatedSelection.d.ts +84 -84
  5. package/lib/components/AssociatedSelection.js +2 -2
  6. package/lib/components/AssociatedSelection.js.map +2 -2
  7. package/lib/components/Avatar.d.ts +135 -0
  8. package/lib/components/Avatar.js +120 -0
  9. package/lib/components/Avatar.js.map +13 -0
  10. package/lib/components/BaiduMapPicker.js.map +2 -2
  11. package/lib/components/CalendarMobile.d.ts +547 -0
  12. package/lib/components/CalendarMobile.js +432 -0
  13. package/lib/components/CalendarMobile.js.map +13 -0
  14. package/lib/components/Card.js +1 -1
  15. package/lib/components/Card.js.map +2 -2
  16. package/lib/components/Cascader.d.ts +123 -0
  17. package/lib/components/Cascader.js +487 -0
  18. package/lib/components/Cascader.js.map +13 -0
  19. package/lib/components/ChainedSelection.d.ts +84 -84
  20. package/lib/components/ChainedSelection.js +15 -3
  21. package/lib/components/ChainedSelection.js.map +2 -2
  22. package/lib/components/CityArea.d.ts +527 -0
  23. package/lib/components/CityArea.js +177 -0
  24. package/lib/components/CityArea.js.map +13 -0
  25. package/lib/components/Collapse.js +1 -1
  26. package/lib/components/Collapse.js.map +2 -2
  27. package/lib/components/ColorPicker.d.ts +84 -84
  28. package/lib/components/ColorPicker.js +4 -3
  29. package/lib/components/ColorPicker.js.map +2 -2
  30. package/lib/components/DatePicker.d.ts +85 -84
  31. package/lib/components/DatePicker.js +15 -8
  32. package/lib/components/DatePicker.js.map +2 -2
  33. package/lib/components/DateRangePicker.d.ts +85 -84
  34. package/lib/components/DateRangePicker.js +18 -6
  35. package/lib/components/DateRangePicker.js.map +2 -2
  36. package/lib/components/GroupedSelection.d.ts +84 -84
  37. package/lib/components/GroupedSelection.js +14 -2
  38. package/lib/components/GroupedSelection.js.map +2 -2
  39. package/lib/components/MonthRangePicker.d.ts +85 -84
  40. package/lib/components/MonthRangePicker.js +16 -6
  41. package/lib/components/MonthRangePicker.js.map +2 -2
  42. package/lib/components/Overlay.d.ts +1 -1
  43. package/lib/components/Overlay.js.map +1 -1
  44. package/lib/components/Picker.d.ts +1 -0
  45. package/lib/components/Picker.js +16 -7
  46. package/lib/components/Picker.js.map +2 -2
  47. package/lib/components/PickerColumn.d.ts +1 -0
  48. package/lib/components/PickerColumn.js +21 -18
  49. package/lib/components/PickerColumn.js.map +2 -2
  50. package/lib/components/PickerContainer.d.ts +3 -0
  51. package/lib/components/PickerContainer.js +12 -5
  52. package/lib/components/PickerContainer.js.map +2 -2
  53. package/lib/components/PopOverContainer.d.ts +1 -0
  54. package/lib/components/PopOverContainer.js +5 -3
  55. package/lib/components/PopOverContainer.js.map +2 -2
  56. package/lib/components/PopUp.d.ts +1041 -28
  57. package/lib/components/PopUp.js +32 -8
  58. package/lib/components/PopUp.js.map +2 -2
  59. package/lib/components/Rating.d.ts +203 -73
  60. package/lib/components/Rating.js +147 -31
  61. package/lib/components/Rating.js.map +2 -2
  62. package/lib/components/ResultBox.d.ts +85 -84
  63. package/lib/components/ResultBox.js +9 -4
  64. package/lib/components/ResultBox.js.map +2 -2
  65. package/lib/components/ResultList.d.ts +9 -2
  66. package/lib/components/ResultList.js +22 -2
  67. package/lib/components/ResultList.js.map +2 -2
  68. package/lib/components/Select.d.ts +237 -237
  69. package/lib/components/Select.js +9 -6
  70. package/lib/components/Select.js.map +2 -2
  71. package/lib/components/Selection.d.ts +94 -86
  72. package/lib/components/Selection.js +11 -2
  73. package/lib/components/Selection.js.map +2 -2
  74. package/lib/components/Steps.js.map +2 -2
  75. package/lib/components/TableSelection.d.ts +85 -85
  76. package/lib/components/TableSelection.js +1 -9
  77. package/lib/components/TableSelection.js.map +2 -2
  78. package/lib/components/Tabs.js +31 -33
  79. package/lib/components/Tabs.js.map +2 -2
  80. package/lib/components/TabsTransfer.d.ts +87 -256
  81. package/lib/components/TabsTransfer.js +52 -9
  82. package/lib/components/TabsTransfer.js.map +2 -2
  83. package/lib/components/TabsTransferPicker.d.ts +1 -1
  84. package/lib/components/TabsTransferPicker.js +20 -18
  85. package/lib/components/TabsTransferPicker.js.map +2 -2
  86. package/lib/components/Timeline.d.ts +69 -0
  87. package/lib/components/Timeline.js +16 -0
  88. package/lib/components/Timeline.js.map +13 -0
  89. package/lib/components/TimelineItem.d.ts +516 -0
  90. package/lib/components/TimelineItem.js +41 -0
  91. package/lib/components/TimelineItem.js.map +13 -0
  92. package/lib/components/Transfer.d.ts +100 -98
  93. package/lib/components/Transfer.js +2 -3
  94. package/lib/components/Transfer.js.map +2 -2
  95. package/lib/components/TransferDropDown.d.ts +85 -84
  96. package/lib/components/TransferDropDown.js +9 -10
  97. package/lib/components/TransferDropDown.js.map +2 -2
  98. package/lib/components/TransferPicker.d.ts +1 -0
  99. package/lib/components/TransferPicker.js +19 -4
  100. package/lib/components/TransferPicker.js.map +2 -2
  101. package/lib/components/TreeSelection.d.ts +85 -85
  102. package/lib/components/TreeSelection.js +7 -1
  103. package/lib/components/TreeSelection.js.map +2 -2
  104. package/lib/components/calendar/Calendar.d.ts +19 -0
  105. package/lib/components/calendar/Calendar.js +71 -1
  106. package/lib/components/calendar/Calendar.js.map +2 -2
  107. package/lib/components/calendar/DaysView.d.ts +21 -0
  108. package/lib/components/calendar/DaysView.js +76 -17
  109. package/lib/components/calendar/DaysView.js.map +2 -2
  110. package/lib/components/calendar/MonthsView.d.ts +34 -0
  111. package/lib/components/calendar/MonthsView.js +68 -3
  112. package/lib/components/calendar/MonthsView.js.map +2 -2
  113. package/lib/components/calendar/QuartersView.d.ts +1 -0
  114. package/lib/components/calendar/QuartersView.js +2 -2
  115. package/lib/components/calendar/QuartersView.js.map +2 -2
  116. package/lib/components/calendar/TimeView.d.ts +30 -18
  117. package/lib/components/calendar/TimeView.js +47 -8
  118. package/lib/components/calendar/TimeView.js.map +2 -2
  119. package/lib/components/calendar/YearsView.d.ts +6 -0
  120. package/lib/components/calendar/YearsView.js +21 -10
  121. package/lib/components/calendar/YearsView.js.map +2 -2
  122. package/lib/components/condition-builder/Field.js +1 -4
  123. package/lib/components/condition-builder/Field.js.map +2 -2
  124. package/lib/components/condition-builder/Func.js +1 -1
  125. package/lib/components/condition-builder/Func.js.map +2 -2
  126. package/lib/components/formula/Editor.d.ts +3 -0
  127. package/lib/components/formula/Editor.js +3 -2
  128. package/lib/components/formula/Editor.js.map +2 -2
  129. package/lib/components/formula/FuncList.js +2 -1
  130. package/lib/components/formula/FuncList.js.map +2 -2
  131. package/lib/components/formula/Picker.js +1 -1
  132. package/lib/components/formula/Picker.js.map +2 -2
  133. package/lib/components/icons.js +4 -0
  134. package/lib/components/icons.js.map +2 -2
  135. package/lib/components/index.d.ts +2 -1
  136. package/lib/components/index.js +4 -2
  137. package/lib/components/index.js.map +2 -2
  138. package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
  139. package/lib/components/virtual-list/index.js +1 -2
  140. package/lib/components/virtual-list/index.js.map +2 -2
  141. package/lib/factory.js +5 -0
  142. package/lib/factory.js.map +2 -2
  143. package/lib/icons/star.js +12 -0
  144. package/lib/icons/tree-down.js +7 -0
  145. package/lib/index.d.ts +1 -0
  146. package/lib/index.js +2 -1
  147. package/lib/index.js.map +2 -2
  148. package/lib/locale/de-DE.js +17 -2
  149. package/lib/locale/de-DE.js.map +2 -2
  150. package/lib/locale/en-US.js +17 -2
  151. package/lib/locale/en-US.js.map +2 -2
  152. package/lib/locale/zh-CN.js +16 -1
  153. package/lib/locale/zh-CN.js.map +2 -2
  154. package/lib/renderers/Avatar.d.ts +35 -26
  155. package/lib/renderers/Avatar.js +14 -19
  156. package/lib/renderers/Avatar.js.map +2 -2
  157. package/lib/renderers/CRUD.js +1 -2
  158. package/lib/renderers/CRUD.js.map +2 -2
  159. package/lib/renderers/Card.js +6 -5
  160. package/lib/renderers/Card.js.map +2 -2
  161. package/lib/renderers/Custom.js.map +2 -2
  162. package/lib/renderers/DropDownButton.d.ts +11 -2
  163. package/lib/renderers/DropDownButton.js +30 -12
  164. package/lib/renderers/DropDownButton.js.map +2 -2
  165. package/lib/renderers/Each.js +5 -2
  166. package/lib/renderers/Each.js.map +2 -2
  167. package/lib/renderers/Flex.js +1 -5
  168. package/lib/renderers/Flex.js.map +2 -2
  169. package/lib/renderers/Form/ChartRadios.js.map +2 -2
  170. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  171. package/lib/renderers/Form/CityDB.js +526 -2
  172. package/lib/renderers/Form/CityDB.js.map +2 -2
  173. package/lib/renderers/Form/DiffEditor.js +2 -1
  174. package/lib/renderers/Form/DiffEditor.js.map +2 -2
  175. package/lib/renderers/Form/InputCity.d.ts +85 -84
  176. package/lib/renderers/Form/InputCity.js +4 -2
  177. package/lib/renderers/Form/InputCity.js.map +2 -2
  178. package/lib/renderers/Form/InputColor.d.ts +84 -84
  179. package/lib/renderers/Form/InputColor.js +6 -2
  180. package/lib/renderers/Form/InputColor.js.map +2 -2
  181. package/lib/renderers/Form/InputDate.js +10 -5
  182. package/lib/renderers/Form/InputDate.js.map +2 -2
  183. package/lib/renderers/Form/InputDateRange.js +6 -2
  184. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  185. package/lib/renderers/Form/InputFormula.d.ts +4 -1
  186. package/lib/renderers/Form/InputFormula.js +2 -2
  187. package/lib/renderers/Form/InputFormula.js.map +2 -2
  188. package/lib/renderers/Form/InputImage.d.ts +1 -0
  189. package/lib/renderers/Form/InputImage.js +8 -4
  190. package/lib/renderers/Form/InputImage.js.map +2 -2
  191. package/lib/renderers/Form/InputMonthRange.js +1 -1
  192. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  193. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  194. package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
  195. package/lib/renderers/Form/InputRating.d.ts +37 -0
  196. package/lib/renderers/Form/InputRating.js +6 -2
  197. package/lib/renderers/Form/InputRating.js.map +2 -2
  198. package/lib/renderers/Form/InputYearRange.js +1 -1
  199. package/lib/renderers/Form/InputYearRange.js.map +2 -2
  200. package/lib/renderers/Form/Item.d.ts +10 -14
  201. package/lib/renderers/Form/Item.js +18 -9
  202. package/lib/renderers/Form/Item.js.map +2 -2
  203. package/lib/renderers/Form/NestedSelect.d.ts +1 -0
  204. package/lib/renderers/Form/NestedSelect.js +8 -4
  205. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  206. package/lib/renderers/Form/Select.d.ts +2 -0
  207. package/lib/renderers/Form/Select.js +7 -4
  208. package/lib/renderers/Form/Select.js.map +2 -2
  209. package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
  210. package/lib/renderers/Form/TabsTransfer.js +20 -1
  211. package/lib/renderers/Form/TabsTransfer.js.map +2 -2
  212. package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
  213. package/lib/renderers/Form/TabsTransferPicker.js +21 -2
  214. package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
  215. package/lib/renderers/Form/Transfer.d.ts +15 -4
  216. package/lib/renderers/Form/Transfer.js +55 -18
  217. package/lib/renderers/Form/Transfer.js.map +2 -2
  218. package/lib/renderers/Form/TransferPicker.d.ts +3 -32
  219. package/lib/renderers/Form/TransferPicker.js +1 -1
  220. package/lib/renderers/Form/TransferPicker.js.map +2 -2
  221. package/lib/renderers/Form/TreeSelect.js +4 -4
  222. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  223. package/lib/renderers/Form/index.js +2 -1
  224. package/lib/renderers/Form/index.js.map +2 -2
  225. package/lib/renderers/IFrame.js +0 -2
  226. package/lib/renderers/IFrame.js.map +2 -2
  227. package/lib/renderers/Json.js +7 -0
  228. package/lib/renderers/Json.js.map +2 -2
  229. package/lib/renderers/Nav.js +4 -1
  230. package/lib/renderers/Nav.js.map +2 -2
  231. package/lib/renderers/Remark.d.ts +4 -0
  232. package/lib/renderers/Remark.js +39 -7
  233. package/lib/renderers/Remark.js.map +2 -2
  234. package/lib/renderers/Steps.js +5 -5
  235. package/lib/renderers/Steps.js.map +2 -2
  236. package/lib/renderers/Table/TableRow.js +4 -1
  237. package/lib/renderers/Table/TableRow.js.map +2 -2
  238. package/lib/renderers/Table/index.js +4 -1
  239. package/lib/renderers/Table/index.js.map +2 -2
  240. package/lib/renderers/Tabs.js +1 -1
  241. package/lib/renderers/Tabs.js.map +2 -2
  242. package/lib/renderers/Timeline.d.ts +65 -0
  243. package/lib/renderers/Timeline.js +54 -0
  244. package/lib/renderers/Timeline.js.map +13 -0
  245. package/lib/renderers/Video.js.map +2 -2
  246. package/lib/schemaExtend.js +23 -9
  247. package/lib/schemaExtend.js.map +2 -2
  248. package/lib/store/combo.js.map +2 -2
  249. package/lib/store/formItem.js +6 -6
  250. package/lib/store/formItem.js.map +2 -2
  251. package/lib/store/table.js +1 -1
  252. package/lib/store/table.js.map +2 -2
  253. package/lib/themes/ang-ie11.css +1018 -67
  254. package/lib/themes/ang.css +1018 -67
  255. package/lib/themes/ang.css.map +1 -1
  256. package/lib/themes/antd-ie11.css +1053 -67
  257. package/lib/themes/antd.css +1053 -67
  258. package/lib/themes/antd.css.map +1 -1
  259. package/lib/themes/cxd-ie11.css +1058 -78
  260. package/lib/themes/cxd.css +1058 -78
  261. package/lib/themes/cxd.css.map +1 -1
  262. package/lib/themes/dark-ie11.css +1019 -67
  263. package/lib/themes/dark.css +1019 -67
  264. package/lib/themes/dark.css.map +1 -1
  265. package/lib/themes/default.css +1058 -78
  266. package/lib/themes/default.css.map +1 -1
  267. package/lib/utils/RootClose.js +3 -1
  268. package/lib/utils/RootClose.js.map +2 -2
  269. package/lib/utils/helper.d.ts +1 -6
  270. package/lib/utils/helper.js +6 -17
  271. package/lib/utils/helper.js.map +2 -2
  272. package/package.json +12 -6
  273. package/schema.json +3696 -971
  274. package/scss/_properties.scss +21 -7
  275. package/scss/components/_avatar.scss +27 -9
  276. package/scss/components/_calendar.scss +287 -0
  277. package/scss/components/_card.scss +1 -1
  278. package/scss/components/_cascader.scss +102 -0
  279. package/scss/components/_city-area.scss +27 -0
  280. package/scss/components/_collapse-group.scss +1 -3
  281. package/scss/components/_dropdown.scss +39 -9
  282. package/scss/components/_formula.scss +30 -6
  283. package/scss/components/_modal.scss +18 -0
  284. package/scss/components/_panel.scss +45 -0
  285. package/scss/components/_picker-columns.scss +15 -5
  286. package/scss/components/_popup.scss +42 -15
  287. package/scss/components/_result-box.scss +31 -0
  288. package/scss/components/_timeline.scss +198 -0
  289. package/scss/components/form/_checks.scss +2 -0
  290. package/scss/components/form/_color.scss +2 -2
  291. package/scss/components/form/_date-range.scss +1 -1
  292. package/scss/components/form/_date.scss +46 -1
  293. package/scss/components/form/_form.scss +168 -0
  294. package/scss/components/form/_nested-select.scss +3 -0
  295. package/scss/components/form/_rating.scss +60 -21
  296. package/scss/components/form/_result-list.scss +2 -0
  297. package/scss/components/form/_select.scss +32 -3
  298. package/scss/components/form/_selection.scss +5 -4
  299. package/scss/components/form/_transfer.scss +3 -0
  300. package/scss/components/form/_tree-select.scss +1 -1
  301. package/scss/themes/_antd-variables.scss +42 -0
  302. package/scss/themes/_common.scss +3 -0
  303. package/scss/themes/_cxd-variables.scss +51 -2
  304. package/scss/themes/_dark-variables.scss +1 -0
  305. package/scss/themes/cxd.scss +0 -12
  306. package/sdk/ang-ie11.css +1278 -141
  307. package/sdk/ang.css +1296 -153
  308. package/sdk/antd-ie11.css +1278 -141
  309. package/sdk/antd.css +1331 -153
  310. package/sdk/charts.js +14 -14
  311. package/sdk/codemirror.js +7 -7
  312. package/sdk/color-picker.js +65 -65
  313. package/sdk/cropperjs.js +2 -2
  314. package/sdk/cxd-ie11.css +1258 -132
  315. package/sdk/cxd.css +1338 -168
  316. package/sdk/dark-ie11.css +1278 -141
  317. package/sdk/dark.css +1297 -153
  318. package/sdk/exceljs.js +1 -1
  319. package/sdk/locale/de-DE.js +17 -2
  320. package/sdk/markdown.js +69 -69
  321. package/sdk/papaparse.js +1 -1
  322. package/sdk/renderers/Form/CityDB.js +1 -1
  323. package/sdk/rest.js +18 -18
  324. package/sdk/rich-text.js +62 -62
  325. package/sdk/sdk-ie11.css +1258 -132
  326. package/sdk/sdk.css +1338 -168
  327. package/sdk/sdk.js +1242 -1218
  328. package/sdk/thirds/hls.js/hls.js +1 -1
  329. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  330. package/sdk/tinymce.js +57 -57
  331. package/src/Schema.ts +3 -0
  332. package/src/components/AssociatedSelection.tsx +5 -1
  333. package/src/components/Avatar.tsx +253 -0
  334. package/src/components/BaiduMapPicker.tsx +19 -14
  335. package/src/components/CalendarMobile.tsx +563 -0
  336. package/src/components/Card.tsx +2 -2
  337. package/src/components/Cascader.tsx +564 -0
  338. package/src/components/ChainedSelection.tsx +16 -3
  339. package/src/components/CityArea.tsx +315 -0
  340. package/src/components/Collapse.tsx +1 -1
  341. package/src/components/ColorPicker.tsx +41 -40
  342. package/src/components/DatePicker.tsx +54 -38
  343. package/src/components/DateRangePicker.tsx +83 -29
  344. package/src/components/GroupedSelection.tsx +14 -2
  345. package/src/components/MonthRangePicker.tsx +76 -30
  346. package/src/components/Overlay.tsx +1 -1
  347. package/src/components/Picker.tsx +55 -35
  348. package/src/components/PickerColumn.tsx +43 -36
  349. package/src/components/PickerContainer.tsx +13 -1
  350. package/src/components/PopOverContainer.tsx +31 -17
  351. package/src/components/PopUp.tsx +84 -57
  352. package/src/components/Rating.tsx +235 -47
  353. package/src/components/ResultBox.tsx +14 -2
  354. package/src/components/ResultList.tsx +36 -6
  355. package/src/components/Select.tsx +20 -23
  356. package/src/components/Selection.tsx +21 -3
  357. package/src/components/Steps.tsx +23 -10
  358. package/src/components/TableSelection.tsx +1 -44
  359. package/src/components/Tabs.tsx +65 -54
  360. package/src/components/TabsTransfer.tsx +78 -9
  361. package/src/components/TabsTransferPicker.tsx +25 -13
  362. package/src/components/Timeline.tsx +31 -0
  363. package/src/components/TimelineItem.tsx +107 -0
  364. package/src/components/Transfer.tsx +11 -8
  365. package/src/components/TransferDropDown.tsx +20 -12
  366. package/src/components/TransferPicker.tsx +25 -4
  367. package/src/components/TreeSelection.tsx +7 -1
  368. package/src/components/calendar/Calendar.tsx +101 -4
  369. package/src/components/calendar/DaysView.tsx +165 -33
  370. package/src/components/calendar/MonthsView.tsx +108 -1
  371. package/src/components/calendar/QuartersView.tsx +3 -2
  372. package/src/components/calendar/TimeView.tsx +104 -41
  373. package/src/components/calendar/YearsView.tsx +34 -17
  374. package/src/components/condition-builder/Field.tsx +1 -3
  375. package/src/components/condition-builder/Func.tsx +1 -1
  376. package/src/components/formula/Editor.tsx +16 -11
  377. package/src/components/formula/FuncList.tsx +3 -1
  378. package/src/components/formula/Picker.tsx +2 -1
  379. package/src/components/icons.tsx +4 -0
  380. package/src/components/index.tsx +2 -0
  381. package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
  382. package/src/components/virtual-list/index.tsx +4 -6
  383. package/src/factory.tsx +6 -0
  384. package/src/icons/star.svg +12 -0
  385. package/src/icons/tree-down.svg +5 -0
  386. package/src/index.tsx +1 -0
  387. package/src/locale/de-DE.ts +17 -2
  388. package/src/locale/en-US.ts +17 -2
  389. package/src/locale/zh-CN.ts +16 -1
  390. package/src/renderers/Avatar.tsx +83 -74
  391. package/src/renderers/CRUD.tsx +1 -3
  392. package/src/renderers/Card.tsx +10 -6
  393. package/src/renderers/Custom.tsx +6 -3
  394. package/src/renderers/DropDownButton.tsx +69 -35
  395. package/src/renderers/Each.tsx +4 -4
  396. package/src/renderers/Flex.tsx +3 -7
  397. package/src/renderers/Form/ChartRadios.tsx +2 -7
  398. package/src/renderers/Form/Checkboxes.tsx +1 -1
  399. package/src/renderers/Form/CityDB.ts +526 -2
  400. package/src/renderers/Form/DiffEditor.tsx +2 -3
  401. package/src/renderers/Form/InputCity.tsx +23 -3
  402. package/src/renderers/Form/InputColor.tsx +21 -2
  403. package/src/renderers/Form/InputDate.tsx +48 -20
  404. package/src/renderers/Form/InputDateRange.tsx +9 -2
  405. package/src/renderers/Form/InputFormula.tsx +9 -4
  406. package/src/renderers/Form/InputImage.tsx +9 -4
  407. package/src/renderers/Form/InputMonthRange.tsx +0 -1
  408. package/src/renderers/Form/InputQuarterRange.tsx +0 -1
  409. package/src/renderers/Form/InputRating.tsx +66 -3
  410. package/src/renderers/Form/InputYearRange.tsx +0 -1
  411. package/src/renderers/Form/Item.tsx +29 -8
  412. package/src/renderers/Form/NestedSelect.tsx +32 -4
  413. package/src/renderers/Form/Select.tsx +15 -3
  414. package/src/renderers/Form/TabsTransfer.tsx +28 -38
  415. package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
  416. package/src/renderers/Form/Transfer.tsx +75 -24
  417. package/src/renderers/Form/TransferPicker.tsx +6 -38
  418. package/src/renderers/Form/TreeSelect.tsx +18 -16
  419. package/src/renderers/Form/index.tsx +2 -1
  420. package/src/renderers/IFrame.tsx +0 -2
  421. package/src/renderers/Json.tsx +5 -0
  422. package/src/renderers/Nav.tsx +4 -1
  423. package/src/renderers/Remark.tsx +68 -18
  424. package/src/renderers/Steps.tsx +11 -13
  425. package/src/renderers/Table/TableRow.tsx +3 -1
  426. package/src/renderers/Table/index.tsx +7 -1
  427. package/src/renderers/Tabs.tsx +6 -2
  428. package/src/renderers/Timeline.tsx +141 -0
  429. package/src/renderers/Video.tsx +4 -20
  430. package/src/schemaExtend.ts +22 -10
  431. package/src/store/combo.ts +1 -3
  432. package/src/store/formItem.ts +2 -2
  433. package/src/store/table.ts +2 -1
  434. package/src/utils/RootClose.ts +5 -1
  435. package/src/utils/helper.ts +6 -16
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/NestedSelect.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport Overlay from '../../components/Overlay';\nimport Checkbox from '../../components/Checkbox';\nimport PopOver from '../../components/PopOver';\nimport {Icon} from '../../components/icons';\nimport {\n autobind,\n flattenTree,\n filterTree,\n string2regExp,\n getTreeAncestors,\n getTreeParent,\n ucFirst\n} from '../../utils/helper';\nimport {\n FormOptionsControl,\n OptionsControl,\n OptionsControlProps\n} from '../Form/Options';\nimport {Option, Options} from '../../components/Select';\nimport {findDOMNode} from 'react-dom';\nimport {ResultBox, Spinner} from '../../components';\nimport xor from 'lodash/xor';\nimport union from 'lodash/union';\nimport compact from 'lodash/compact';\nimport {RootClose} from '../../utils/RootClose';\n\n/**\n * Nested Select\n * 文档:https://baidu.gitee.io/amis/docs/components/form/nested-select\n */\nexport interface NestedSelectControlSchema extends FormOptionsControl {\n type: 'nested-select';\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 弹框的 css 类\n */\n menuClassName?: string;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 是否隐藏选择框中已选中节点的祖先节点的文本信息\n */\n hideNodePathLabel?: boolean;\n}\n\nexport interface NestedSelectProps extends OptionsControlProps {\n cascade?: boolean;\n noResultsText?: string;\n withChildren?: boolean;\n onlyChildren?: boolean;\n hideNodePathLabel?: boolean;\n}\n\nexport interface NestedSelectState {\n isOpened?: boolean;\n isFocused?: boolean;\n inputValue?: string;\n stack: Array<Array<Option>>;\n}\n\nexport default class NestedSelectControl extends React.Component<\n NestedSelectProps,\n NestedSelectState\n> {\n static defaultProps: Partial<NestedSelectProps> = {\n cascade: false,\n withChildren: false,\n onlyChildren: false,\n searchPromptText: 'Select.searchPromptText',\n noResultsText: 'noResult',\n checkAll: true,\n checkAllLabel: '全选',\n hideNodePathLabel: false\n };\n target: any;\n input: HTMLInputElement;\n state: NestedSelectState = {\n isOpened: false,\n isFocused: false,\n inputValue: '',\n stack: [this.props.options]\n };\n\n @autobind\n domRef(ref: any) {\n this.target = ref;\n }\n\n componentDidUpdate(prevProps: NestedSelectProps) {\n if (prevProps.options !== this.props.options) {\n this.setState({\n stack: [this.props.options]\n });\n }\n }\n\n @autobind\n handleOutClick(e: React.MouseEvent<any>) {\n const {options} = this.props;\n e.defaultPrevented ||\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n removeItem(index: number, e?: React.MouseEvent<HTMLElement>) {\n let {\n onChange,\n selectedOptions,\n joinValues,\n valueField,\n extractValue,\n delimiter,\n value\n } = this.props;\n\n e && e.stopPropagation();\n\n selectedOptions.splice(index, 1);\n\n if (joinValues) {\n value = (selectedOptions as Options)\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = (selectedOptions as Options).map(\n item => item[valueField || 'value']\n );\n }\n\n onChange(value);\n }\n\n @autobind\n renderValue(item: Option, key?: any) {\n const {classnames: cx, labelField, options, hideNodePathLabel} = this.props;\n\n if (hideNodePathLabel) {\n return item[labelField || 'label'];\n }\n const ancestors = getTreeAncestors(options, item, true);\n\n return (\n <span className={cx('Select-valueLabel')} key={key}>\n {`${\n ancestors\n ? ancestors\n .map(item => `${item[labelField || 'label']}`)\n .join(' / ')\n : item[labelField || 'label']\n }`}\n </span>\n );\n }\n\n @autobind\n handleOptionClick(option: Option) {\n const {multiple, onChange, joinValues, extractValue, valueField} =\n this.props;\n\n if (multiple) {\n return;\n }\n\n onChange(\n joinValues\n ? option[valueField || 'value']\n : extractValue\n ? option[valueField || 'value']\n : option\n );\n !multiple && this.close();\n }\n\n @autobind\n handleCheck(option: Option | Options, index?: number) {\n const {\n onChange,\n selectedOptions,\n joinValues,\n delimiter,\n extractValue,\n withChildren,\n onlyChildren,\n cascade,\n options\n } = this.props;\n const {stack} = this.state;\n\n let valueField = this.props.valueField || 'value';\n\n if (\n !Array.isArray(option) &&\n option.children &&\n option.children.length &&\n typeof index === 'number'\n ) {\n if (stack[index]) {\n stack.splice(index + 1, 1, option.children);\n } else {\n stack.push(option.children);\n }\n }\n\n const items = selectedOptions;\n let value: any[];\n /**\n * 打平树且只保留叶节点\n */\n const flattenTreeWithLeafNodes = (option: Option | Options) =>\n compact(\n flattenTree(Array.isArray(option) ? option : [option], node =>\n node.children && node.children.length ? null : node\n )\n );\n\n // 三种情况:\n // 1.全选,option为数组\n // 2.单个选中,且有children\n // 3.单个选中,没有children\n\n if (Array.isArray(option)) {\n if (withChildren) {\n option = flattenTree(option);\n } else if (onlyChildren) {\n option = flattenTreeWithLeafNodes(option);\n }\n value = items.length === option.length ? [] : (option as Options);\n } else if (Array.isArray(option.children)) {\n if (cascade) {\n value = xor(items, [option]);\n } else if (withChildren) {\n option = flattenTree([option]);\n const isEvery = (option as Options).every(opt => !!~items.indexOf(opt));\n value = (isEvery ? xor : union)(items, option as any);\n } else if (onlyChildren) {\n option = flattenTreeWithLeafNodes(option);\n const isEvery = (option as Options).every(opt => !!~items.indexOf(opt));\n value = (isEvery ? xor : union)(items, option as any);\n } else {\n value = items.filter(item => !~flattenTree([option]).indexOf(item));\n !~items.indexOf(option) && value.push(option);\n }\n } else {\n value = xor(items, [option]);\n }\n\n if (!cascade) {\n let toCheck = option;\n\n while (true) {\n const parent = getTreeParent(options, toCheck as any);\n if (parent?.value) {\n // 如果所有孩子节点都勾选了,应该自动勾选父级。\n\n if (parent.children.every((child: any) => ~value.indexOf(child))) {\n parent.children.forEach((child: any) => {\n const index = value.indexOf(child);\n if (~index && !withChildren && !onlyChildren) {\n value.splice(index, 1);\n }\n });\n\n if (!onlyChildren) {\n value.push(parent);\n }\n\n toCheck = parent;\n continue;\n }\n }\n break;\n }\n }\n\n onChange(\n joinValues\n ? value.map(item => item[valueField as string]).join(delimiter)\n : extractValue\n ? value.map(item => item[valueField as string])\n : value\n );\n }\n\n allChecked(options: Options): boolean {\n const {selectedOptions, withChildren, onlyChildren} = this.props;\n return options.every(option => {\n if ((withChildren || onlyChildren) && option.children) {\n return this.allChecked(option.children);\n }\n return selectedOptions.some(item => item === option);\n });\n }\n\n partialChecked(options: Options): boolean {\n return options.some(option => {\n const childrenPartialChecked =\n option.children && this.partialChecked(option.children);\n return (\n childrenPartialChecked ||\n this.props.selectedOptions.some(item => item === option)\n );\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n @autobind\n onFocus(e: any) {\n this.props.disabled ||\n this.state.isOpened ||\n this.setState({\n isFocused: true\n });\n }\n\n @autobind\n onBlur(e: any) {\n this.setState({\n isFocused: false\n });\n }\n\n @autobind\n getTarget() {\n if (!this.target) {\n this.target = findDOMNode(this) as HTMLElement;\n }\n return this.target as HTMLElement;\n }\n\n @autobind\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleOutClick(e as any);\n e.preventDefault();\n }\n }\n\n @autobind\n handleInputKeyDown(event: React.KeyboardEvent) {\n const inputValue = this.state.inputValue;\n const {multiple, selectedOptions} = this.props;\n\n if (\n event.key === 'Backspace' &&\n !inputValue &&\n selectedOptions.length &&\n multiple\n ) {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n @autobind\n handleInputChange(inputValue: string) {\n const {options, labelField, valueField} = this.props;\n\n const regexp = string2regExp(inputValue);\n\n let filtedOptions =\n inputValue && this.state.isOpened\n ? filterTree(\n options,\n option =>\n regexp.test(option[labelField || 'label']) ||\n regexp.test(option[valueField || 'value']) ||\n !!(option.children && option.children.length),\n 1,\n true\n )\n : options.concat();\n\n this.setState({\n inputValue,\n stack: [filtedOptions]\n });\n }\n\n @autobind\n handleResultChange(value: Array<Option>) {\n const {\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n multiple\n } = this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (!multiple && !newValue.length) {\n onChange('');\n return;\n }\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n onChange(newValue);\n }\n\n renderOptions() {\n const {\n multiple,\n selectedOptions,\n classnames: cx,\n options: propOptions,\n disabled,\n checkAll,\n checkAllLabel,\n translate: __,\n labelField,\n menuClassName,\n cascade,\n onlyChildren\n } = this.props;\n const valueField = this.props.valueField || 'value';\n\n const stack = this.state.stack;\n\n let partialChecked = this.partialChecked(propOptions);\n let allChecked = this.allChecked(propOptions);\n\n return (\n <>\n {stack.map((options, index) => (\n <div key={index} className={cx('NestedSelect-menu', menuClassName)}>\n {multiple && checkAll && index === 0 ? (\n <div className={cx('NestedSelect-option', 'checkall')}>\n <Checkbox\n size=\"sm\"\n onChange={this.handleCheck.bind(this, options)}\n checked={partialChecked}\n partial={partialChecked && !allChecked}\n ></Checkbox>\n <span onClick={this.handleCheck.bind(this, options)}>\n {__(checkAllLabel)}\n </span>\n </div>\n ) : null}\n\n {options.map((option: Option, idx: number) => {\n const ancestors = getTreeAncestors(propOptions, option as any);\n const parentChecked = ancestors?.some(\n item => !!~selectedOptions.indexOf(item)\n );\n const uncheckable = cascade ? false : multiple && parentChecked;\n const parentDisabled = ancestors?.some(item => !!item.disabled);\n\n let nodeDisabled =\n uncheckable || option.disabled || parentDisabled || !!disabled;\n let selfChildrenChecked = !!(\n option.children && this.partialChecked(option.children)\n );\n let selfChecked =\n uncheckable || !!~selectedOptions.indexOf(option);\n\n if (\n !selfChecked &&\n onlyChildren &&\n option.children &&\n this.allChecked(option.children)\n ) {\n selfChecked = true;\n }\n\n return (\n <div\n key={idx}\n className={cx('NestedSelect-option', {\n 'is-active':\n !nodeDisabled &&\n (selfChecked || (!cascade && selfChildrenChecked))\n })}\n onMouseEnter={this.onMouseEnter.bind(this, option, index)}\n >\n {multiple ? (\n <Checkbox\n size=\"sm\"\n onChange={this.handleCheck.bind(this, option, index)}\n trueValue={option[valueField]}\n checked={selfChecked || (!cascade && selfChildrenChecked)}\n partial={!selfChecked}\n disabled={nodeDisabled}\n ></Checkbox>\n ) : null}\n\n <div\n className={cx('NestedSelect-optionLabel', {\n 'is-disabled': nodeDisabled\n })}\n onClick={() =>\n !nodeDisabled &&\n (multiple\n ? this.handleCheck(option, index)\n : this.handleOptionClick(option))\n }\n >\n {option[labelField || 'label']}\n </div>\n\n {option.children && option.children.length ? (\n <div className={cx('NestedSelect-optionArrowRight')}>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </div>\n ) : null}\n </div>\n );\n })}\n </div>\n ))}\n </>\n );\n }\n\n onMouseEnter(option: Option, index: number, e: MouseEvent) {\n let {stack} = this.state;\n index = index + 1;\n\n const children = option.children;\n if (children && children.length) {\n if (stack[index]) {\n stack.splice(index, 1, children);\n } else {\n stack.push(children);\n }\n } else {\n stack[index] && stack.splice(index, 1);\n }\n\n this.setState({stack: stack.slice(0, index + 1)});\n }\n\n renderOuter() {\n const {\n popOverContainer,\n translate: __,\n classnames: cx,\n options,\n render\n } = this.props;\n let noResultsText: any = this.props.noResultsText;\n\n if (noResultsText) {\n noResultsText = render('noResultText', __(noResultsText));\n }\n\n let body = (\n <RootClose disabled={!this.state.isOpened} onRootClose={this.close}>\n {(ref: any) => {\n return (\n <div className={cx('NestedSelect-menuOuter')} ref={ref}>\n {options.length ? (\n this.renderOptions()\n ) : (\n <div className={cx('NestedSelect-noResult')}>\n {noResultsText}\n </div>\n )}\n </div>\n );\n }}\n </RootClose>\n );\n\n return (\n <Overlay\n target={this.getTarget}\n container={popOverContainer || (() => findDOMNode(this))}\n placement={'auto'}\n show\n >\n <PopOver className={cx('NestedSelect-popover')}>{body}</PopOver>\n </Overlay>\n );\n }\n\n render() {\n const {\n className,\n disabled,\n classnames: cx,\n multiple,\n placeholder,\n translate: __,\n inline,\n searchable,\n autoComplete,\n selectedOptions,\n clearable,\n loading,\n borderMode\n } = this.props;\n\n return (\n <div className={cx('NestedSelectControl', className)}>\n <ResultBox\n disabled={disabled}\n ref={this.domRef}\n placeholder={__(placeholder || '空')}\n className={cx(`NestedSelect`, {\n 'NestedSelect--inline': inline,\n 'NestedSelect--single': !multiple,\n 'NestedSelect--multi': multiple,\n 'NestedSelect--searchable': searchable,\n 'is-opened': this.state.isOpened,\n 'is-focused': this.state.isFocused,\n [`NestedSelect--border${ucFirst(borderMode)}`]: borderMode\n })}\n result={\n multiple\n ? selectedOptions\n : selectedOptions.length\n ? this.renderValue(selectedOptions[0])\n : ''\n }\n onResultClick={this.handleOutClick}\n value={this.state.inputValue}\n onChange={this.handleInputChange}\n onResultChange={this.handleResultChange}\n itemRender={this.renderValue}\n onKeyPress={this.handleKeyPress}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeyDown={this.handleInputKeyDown}\n clearable={clearable}\n allowInput={searchable}\n inputPlaceholder={''}\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n {this.state.isOpened ? this.renderOuter() : null}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'nested-select'\n})\nexport class NestedSelectControlRenderer extends NestedSelectControl {}\n"
11
+ "import React from 'react';\nimport Overlay from '../../components/Overlay';\nimport Checkbox from '../../components/Checkbox';\nimport PopOver from '../../components/PopOver';\nimport PopUp from '../../components/PopUp';\nimport {Icon} from '../../components/icons';\nimport {\n autobind,\n flattenTree,\n filterTree,\n string2regExp,\n getTreeAncestors,\n getTreeParent,\n ucFirst,\n isMobile\n} from '../../utils/helper';\nimport {\n FormOptionsControl,\n OptionsControl,\n OptionsControlProps\n} from '../Form/Options';\nimport {Option, Options} from '../../components/Select';\nimport {findDOMNode} from 'react-dom';\nimport {ResultBox, Spinner} from '../../components';\nimport xor from 'lodash/xor';\nimport union from 'lodash/union';\nimport compact from 'lodash/compact';\nimport {RootClose} from '../../utils/RootClose';\nimport Cascader from '../../components/Cascader';\n\n/**\n * Nested Select\n * 文档:https://baidu.gitee.io/amis/docs/components/form/nested-select\n */\nexport interface NestedSelectControlSchema extends FormOptionsControl {\n type: 'nested-select';\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 弹框的 css 类\n */\n menuClassName?: string;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 是否隐藏选择框中已选中节点的祖先节点的文本信息\n */\n hideNodePathLabel?: boolean;\n}\n\nexport interface NestedSelectProps extends OptionsControlProps {\n cascade?: boolean;\n noResultsText?: string;\n withChildren?: boolean;\n onlyChildren?: boolean;\n hideNodePathLabel?: boolean;\n useMobileUI?: boolean;\n}\n\nexport interface NestedSelectState {\n isOpened?: boolean;\n isFocused?: boolean;\n inputValue?: string;\n stack: Array<Array<Option>>;\n}\n\nexport default class NestedSelectControl extends React.Component<\n NestedSelectProps,\n NestedSelectState\n> {\n static defaultProps: Partial<NestedSelectProps> = {\n cascade: false,\n withChildren: false,\n onlyChildren: false,\n searchPromptText: 'Select.searchPromptText',\n noResultsText: 'noResult',\n checkAll: true,\n checkAllLabel: '全选',\n hideNodePathLabel: false\n };\n target: any;\n input: HTMLInputElement;\n state: NestedSelectState = {\n isOpened: false,\n isFocused: false,\n inputValue: '',\n stack: [this.props.options]\n };\n\n @autobind\n domRef(ref: any) {\n this.target = ref;\n }\n\n componentDidUpdate(prevProps: NestedSelectProps) {\n if (prevProps.options !== this.props.options) {\n this.setState({\n stack: [this.props.options]\n });\n }\n }\n\n @autobind\n handleOutClick(e: React.MouseEvent<any>) {\n const {options} = this.props;\n e.defaultPrevented ||\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n removeItem(index: number, e?: React.MouseEvent<HTMLElement>) {\n let {\n onChange,\n selectedOptions,\n joinValues,\n valueField,\n extractValue,\n delimiter,\n value\n } = this.props;\n\n e && e.stopPropagation();\n\n selectedOptions.splice(index, 1);\n\n if (joinValues) {\n value = (selectedOptions as Options)\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = (selectedOptions as Options).map(\n item => item[valueField || 'value']\n );\n }\n\n onChange(value);\n }\n\n @autobind\n renderValue(item: Option, key?: any) {\n const {classnames: cx, labelField, options, hideNodePathLabel} = this.props;\n\n if (hideNodePathLabel) {\n return item[labelField || 'label'];\n }\n const ancestors = getTreeAncestors(options, item, true);\n\n return (\n <span className={cx('Select-valueLabel')} key={key}>\n {`${\n ancestors\n ? ancestors\n .map(item => `${item[labelField || 'label']}`)\n .join(' / ')\n : item[labelField || 'label']\n }`}\n </span>\n );\n }\n\n @autobind\n handleOptionClick(option: Option) {\n const {multiple, onChange, joinValues, extractValue, valueField} =\n this.props;\n\n if (multiple) {\n return;\n }\n\n onChange(\n joinValues\n ? option[valueField || 'value']\n : extractValue\n ? option[valueField || 'value']\n : option\n );\n !multiple && this.close();\n }\n\n @autobind\n handleCheck(option: Option | Options, index?: number) {\n const {\n onChange,\n selectedOptions,\n joinValues,\n delimiter,\n extractValue,\n withChildren,\n onlyChildren,\n cascade,\n options\n } = this.props;\n const {stack} = this.state;\n\n let valueField = this.props.valueField || 'value';\n\n if (\n !Array.isArray(option) &&\n option.children &&\n option.children.length &&\n typeof index === 'number'\n ) {\n if (stack[index]) {\n stack.splice(index + 1, 1, option.children);\n } else {\n stack.push(option.children);\n }\n }\n\n const items = selectedOptions;\n let value: any[];\n /**\n * 打平树且只保留叶节点\n */\n const flattenTreeWithLeafNodes = (option: Option | Options) =>\n compact(\n flattenTree(Array.isArray(option) ? option : [option], node =>\n node.children && node.children.length ? null : node\n )\n );\n\n // 三种情况:\n // 1.全选,option为数组\n // 2.单个选中,且有children\n // 3.单个选中,没有children\n\n if (Array.isArray(option)) {\n if (withChildren) {\n option = flattenTree(option);\n } else if (onlyChildren) {\n option = flattenTreeWithLeafNodes(option);\n }\n value = items.length === option.length ? [] : (option as Options);\n } else if (Array.isArray(option.children)) {\n if (cascade) {\n value = xor(items, [option]);\n } else if (withChildren) {\n option = flattenTree([option]);\n const isEvery = (option as Options).every(opt => !!~items.indexOf(opt));\n value = (isEvery ? xor : union)(items, option as any);\n } else if (onlyChildren) {\n option = flattenTreeWithLeafNodes(option);\n const isEvery = (option as Options).every(opt => !!~items.indexOf(opt));\n value = (isEvery ? xor : union)(items, option as any);\n } else {\n value = items.filter(item => !~flattenTree([option]).indexOf(item));\n !~items.indexOf(option) && value.push(option);\n }\n } else {\n value = xor(items, [option]);\n }\n\n if (!cascade) {\n let toCheck = option;\n\n while (true) {\n const parent = getTreeParent(options, toCheck as any);\n if (parent?.value) {\n // 如果所有孩子节点都勾选了,应该自动勾选父级。\n\n if (parent.children.every((child: any) => ~value.indexOf(child))) {\n parent.children.forEach((child: any) => {\n const index = value.indexOf(child);\n if (~index && !withChildren && !onlyChildren) {\n value.splice(index, 1);\n }\n });\n\n if (!onlyChildren) {\n value.push(parent);\n }\n\n toCheck = parent;\n continue;\n }\n }\n break;\n }\n }\n\n onChange(\n joinValues\n ? value.map(item => item[valueField as string]).join(delimiter)\n : extractValue\n ? value.map(item => item[valueField as string])\n : value\n );\n }\n\n allChecked(options: Options): boolean {\n const {selectedOptions, withChildren, onlyChildren} = this.props;\n return options.every(option => {\n if ((withChildren || onlyChildren) && option.children) {\n return this.allChecked(option.children);\n }\n return selectedOptions.some(item => item === option);\n });\n }\n\n partialChecked(options: Options): boolean {\n return options.some(option => {\n const childrenPartialChecked =\n option.children && this.partialChecked(option.children);\n return (\n childrenPartialChecked ||\n this.props.selectedOptions.some(item => item === option)\n );\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n @autobind\n onFocus(e: any) {\n this.props.disabled ||\n this.state.isOpened ||\n this.setState({\n isFocused: true\n });\n }\n\n @autobind\n onBlur(e: any) {\n this.setState({\n isFocused: false\n });\n }\n\n @autobind\n getTarget() {\n if (!this.target) {\n this.target = findDOMNode(this) as HTMLElement;\n }\n return this.target as HTMLElement;\n }\n\n @autobind\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleOutClick(e as any);\n e.preventDefault();\n }\n }\n\n @autobind\n handleInputKeyDown(event: React.KeyboardEvent) {\n const inputValue = this.state.inputValue;\n const {multiple, selectedOptions} = this.props;\n\n if (\n event.key === 'Backspace' &&\n !inputValue &&\n selectedOptions.length &&\n multiple\n ) {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n @autobind\n handleInputChange(inputValue: string) {\n const {options, labelField, valueField} = this.props;\n\n const regexp = string2regExp(inputValue);\n\n let filtedOptions =\n inputValue && this.state.isOpened\n ? filterTree(\n options,\n option =>\n regexp.test(option[labelField || 'label']) ||\n regexp.test(option[valueField || 'value']) ||\n !!(option.children && option.children.length),\n 1,\n true\n )\n : options.concat();\n\n this.setState({\n inputValue,\n stack: [filtedOptions]\n });\n }\n\n @autobind\n handleResultChange(value: Array<Option>) {\n const {\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n multiple\n } = this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (!multiple && !newValue.length) {\n onChange('');\n return;\n }\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n onChange(newValue);\n }\n\n renderOptions() {\n const {\n multiple,\n selectedOptions,\n classnames: cx,\n options: propOptions,\n disabled,\n checkAll,\n checkAllLabel,\n translate: __,\n labelField,\n menuClassName,\n cascade,\n onlyChildren\n } = this.props;\n const valueField = this.props.valueField || 'value';\n\n const stack = this.state.stack;\n\n let partialChecked = this.partialChecked(propOptions);\n let allChecked = this.allChecked(propOptions);\n\n return (\n <>\n {stack.map((options, index) => (\n <div key={index} className={cx('NestedSelect-menu', menuClassName)}>\n {multiple && checkAll && index === 0 ? (\n <div className={cx('NestedSelect-option', 'checkall')}>\n <Checkbox\n size=\"sm\"\n onChange={this.handleCheck.bind(this, options)}\n checked={partialChecked}\n partial={partialChecked && !allChecked}\n ></Checkbox>\n <span onClick={this.handleCheck.bind(this, options)}>\n {__(checkAllLabel)}\n </span>\n </div>\n ) : null}\n\n {options.map((option: Option, idx: number) => {\n const ancestors = getTreeAncestors(propOptions, option as any);\n const parentChecked = ancestors?.some(\n item => !!~selectedOptions.indexOf(item)\n );\n const uncheckable = cascade ? false : multiple && parentChecked;\n const parentDisabled = ancestors?.some(item => !!item.disabled);\n\n let nodeDisabled =\n uncheckable || option.disabled || parentDisabled || !!disabled;\n let selfChildrenChecked = !!(\n option.children && this.partialChecked(option.children)\n );\n let selfChecked =\n uncheckable || !!~selectedOptions.indexOf(option);\n\n if (\n !selfChecked &&\n onlyChildren &&\n option.children &&\n this.allChecked(option.children)\n ) {\n selfChecked = true;\n }\n\n return (\n <div\n key={idx}\n className={cx('NestedSelect-option', {\n 'is-active':\n !nodeDisabled &&\n (selfChecked || (!cascade && selfChildrenChecked))\n })}\n onMouseEnter={this.onMouseEnter.bind(this, option, index)}\n >\n {multiple ? (\n <Checkbox\n size=\"sm\"\n onChange={this.handleCheck.bind(this, option, index)}\n trueValue={option[valueField]}\n checked={selfChecked || (!cascade && selfChildrenChecked)}\n partial={!selfChecked}\n disabled={nodeDisabled}\n ></Checkbox>\n ) : null}\n\n <div\n className={cx('NestedSelect-optionLabel', {\n 'is-disabled': nodeDisabled\n })}\n onClick={() =>\n !nodeDisabled &&\n (multiple\n ? this.handleCheck(option, index)\n : this.handleOptionClick(option))\n }\n >\n {option[labelField || 'label']}\n </div>\n\n {option.children && option.children.length ? (\n <div className={cx('NestedSelect-optionArrowRight')}>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </div>\n ) : null}\n </div>\n );\n })}\n </div>\n ))}\n </>\n );\n }\n\n onMouseEnter(option: Option, index: number, e: MouseEvent) {\n let {stack} = this.state;\n index = index + 1;\n\n const children = option.children;\n if (children && children.length) {\n if (stack[index]) {\n stack.splice(index, 1, children);\n } else {\n stack.push(children);\n }\n } else {\n stack[index] && stack.splice(index, 1);\n }\n\n this.setState({stack: stack.slice(0, index + 1)});\n }\n\n renderOuter() {\n const {\n popOverContainer,\n translate: __,\n classnames: cx,\n options,\n render\n } = this.props;\n let noResultsText: any = this.props.noResultsText;\n\n if (noResultsText) {\n noResultsText = render('noResultText', __(noResultsText));\n }\n\n let body = (\n <RootClose disabled={!this.state.isOpened} onRootClose={this.close}>\n {(ref: any) => {\n return (\n <div className={cx('NestedSelect-menuOuter')} ref={ref}>\n {options.length ? (\n this.renderOptions()\n ) : (\n <div className={cx('NestedSelect-noResult')}>\n {noResultsText}\n </div>\n )}\n </div>\n );\n }}\n </RootClose>\n );\n\n return (\n <Overlay\n target={this.getTarget}\n container={popOverContainer || (() => findDOMNode(this))}\n placement={'auto'}\n show\n >\n <PopOver className={cx('NestedSelect-popover')}>{body}</PopOver>\n </Overlay>\n );\n }\n\n render() {\n const {\n className,\n disabled,\n classnames: cx,\n multiple,\n placeholder,\n translate: __,\n inline,\n searchable,\n autoComplete,\n selectedOptions,\n clearable,\n loading,\n borderMode,\n useMobileUI,\n env\n } = this.props;\n\n const mobileUI = useMobileUI && isMobile();\n return (\n <div className={cx('NestedSelectControl', className)}>\n <ResultBox\n useMobileUI={useMobileUI}\n disabled={disabled}\n ref={this.domRef}\n placeholder={__(placeholder || '空')}\n className={cx(`NestedSelect`, {\n 'NestedSelect--inline': inline,\n 'NestedSelect--single': !multiple,\n 'NestedSelect--multi': multiple,\n 'NestedSelect--searchable': searchable,\n 'is-opened': this.state.isOpened,\n 'is-focused': this.state.isFocused,\n [`NestedSelect--border${ucFirst(borderMode)}`]: borderMode\n })}\n result={\n multiple\n ? selectedOptions\n : selectedOptions.length\n ? selectedOptions[0]\n : ''\n }\n onResultClick={this.handleOutClick}\n value={this.state.inputValue}\n onChange={this.handleInputChange}\n onResultChange={this.handleResultChange}\n itemRender={this.renderValue}\n onKeyPress={this.handleKeyPress}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeyDown={this.handleInputKeyDown}\n clearable={clearable}\n allowInput={searchable}\n inputPlaceholder={''}\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n {mobileUI ? (\n <PopUp\n className={cx(`NestedSelect-popup`)}\n container={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n isShow={this.state.isOpened}\n onHide={this.close}\n showConfirm={false}\n showClose={false}\n >\n <Cascader\n onClose={this.close}\n {...this.props}\n options={this.props.options.slice()}\n value={selectedOptions}\n />\n </PopUp>\n ) : this.state.isOpened ? (\n this.renderOuter()\n ) : null}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'nested-select'\n})\nexport class NestedSelectControlRenderer extends NestedSelectControl {}\n"
12
12
  ]
13
13
  }
@@ -63,6 +63,7 @@ export interface SelectProps extends OptionsControlProps {
63
63
  autoComplete?: Api;
64
64
  searchable?: boolean;
65
65
  defaultOpen?: boolean;
66
+ useMobileUI?: boolean;
66
67
  }
67
68
  export default class SelectControl extends React.Component<SelectProps, any> {
68
69
  static defaultProps: Partial<SelectProps>;
@@ -86,6 +87,7 @@ export default class SelectControl extends React.Component<SelectProps, any> {
86
87
  }
87
88
  export interface TransferDropDownProps extends OptionsControlProps, Omit<TransferControlSchema, 'type' | 'options' | 'inputClassName' | 'className' | 'descriptionClassName'> {
88
89
  borderMode?: 'full' | 'half' | 'none';
90
+ useMobileUI?: boolean;
89
91
  }
90
92
  export declare class SelectControlRenderer extends SelectControl {
91
93
  }
@@ -146,11 +146,14 @@ var SelectControl = /** @class */ (function (_super) {
146
146
  return (react_1.default.createElement(TransferDropdownRenderer, (0, tslib_1.__assign)({}, rest, { selectMode: selectMode === 'group' ? 'list' : selectMode })));
147
147
  };
148
148
  SelectControl.prototype.render = function () {
149
- var _a = this.props, autoComplete = _a.autoComplete, searchable = _a.searchable, options = _a.options, className = _a.className, loading = _a.loading, value = _a.value, selectedOptions = _a.selectedOptions, multi = _a.multi, multiple = _a.multiple, placeholder = _a.placeholder, id = _a.id, classPrefix = _a.classPrefix, classnames = _a.classnames, creatable = _a.creatable, inline = _a.inline, noResultsText = _a.noResultsText, render = _a.render, menuTpl = _a.menuTpl, borderMode = _a.borderMode, selectMode = _a.selectMode, env = _a.env, rest = (0, tslib_1.__rest)(_a, ["autoComplete", "searchable", "options", "className", "loading", "value", "selectedOptions", "multi", "multiple", "placeholder", "id", "classPrefix", "classnames", "creatable", "inline", "noResultsText", "render", "menuTpl", "borderMode", "selectMode", "env"]);
149
+ var _a = this.props, autoComplete = _a.autoComplete, searchable = _a.searchable, options = _a.options, className = _a.className, loading = _a.loading, value = _a.value, selectedOptions = _a.selectedOptions, multi = _a.multi, multiple = _a.multiple, placeholder = _a.placeholder, id = _a.id, classPrefix = _a.classPrefix, classnames = _a.classnames, creatable = _a.creatable, inline = _a.inline, noResultsText = _a.noResultsText, render = _a.render, menuTpl = _a.menuTpl, borderMode = _a.borderMode, selectMode = _a.selectMode, env = _a.env, useMobileUI = _a.useMobileUI, rest = (0, tslib_1.__rest)(_a, ["autoComplete", "searchable", "options", "className", "loading", "value", "selectedOptions", "multi", "multiple", "placeholder", "id", "classPrefix", "classnames", "creatable", "inline", "noResultsText", "render", "menuTpl", "borderMode", "selectMode", "env", "useMobileUI"]);
150
150
  if (noResultsText) {
151
151
  noResultsText = render('noResultText', noResultsText);
152
152
  }
153
- return (react_1.default.createElement("div", { className: (0, classnames_1.default)(classPrefix + "SelectControl", className) }, ['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(selectMode) ? (this.renderOtherMode()) : (react_1.default.createElement(Select_1.default, (0, tslib_1.__assign)({}, rest, { useMobileUI: env.useMobileUI, borderMode: borderMode, placeholder: placeholder, multiple: multiple || multi, ref: this.inputRef, value: selectedOptions, options: options, loadOptions: (0, api_1.isEffectiveApi)(autoComplete) ? this.lazyloadRemote : undefined, creatable: creatable, searchable: searchable || !!autoComplete, onChange: this.changeValue, loading: loading, noResultsText: noResultsText, renderMenu: menuTpl ? this.renderMenu : undefined })))));
153
+ var mobileUI = useMobileUI && (0, helper_1.isMobile)();
154
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(classPrefix + "SelectControl", className) }, ['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(selectMode) ? (this.renderOtherMode()) : (react_1.default.createElement(Select_1.default, (0, tslib_1.__assign)({}, rest, { useMobileUI: useMobileUI, popOverContainer: mobileUI && env && env.getModalContainer
155
+ ? env.getModalContainer
156
+ : undefined, borderMode: borderMode, placeholder: placeholder, multiple: multiple || multi, ref: this.inputRef, value: selectedOptions, options: options, loadOptions: (0, api_1.isEffectiveApi)(autoComplete) ? this.lazyloadRemote : undefined, creatable: creatable, searchable: searchable || !!autoComplete, onChange: this.changeValue, loading: loading, noResultsText: noResultsText, renderMenu: menuTpl ? this.renderMenu : undefined })))));
154
157
  };
155
158
  var _a;
156
159
  SelectControl.defaultProps = {
@@ -174,7 +177,7 @@ var TransferDropdownRenderer = /** @class */ (function (_super) {
174
177
  }
175
178
  TransferDropdownRenderer.prototype.render = function () {
176
179
  var _a;
177
- var _b = this.props, className = _b.className, cx = _b.classnames, selectedOptions = _b.selectedOptions, sortable = _b.sortable, loading = _b.loading, searchable = _b.searchable, searchResultMode = _b.searchResultMode, showArrow = _b.showArrow, deferLoad = _b.deferLoad, disabled = _b.disabled, selectTitle = _b.selectTitle, selectMode = _b.selectMode, multiple = _b.multiple, columns = _b.columns, leftMode = _b.leftMode, borderMode = _b.borderMode;
180
+ var _b = this.props, className = _b.className, cx = _b.classnames, selectedOptions = _b.selectedOptions, sortable = _b.sortable, loading = _b.loading, searchable = _b.searchable, searchResultMode = _b.searchResultMode, showArrow = _b.showArrow, deferLoad = _b.deferLoad, disabled = _b.disabled, selectTitle = _b.selectTitle, selectMode = _b.selectMode, multiple = _b.multiple, columns = _b.columns, leftMode = _b.leftMode, borderMode = _b.borderMode, useMobileUI = _b.useMobileUI;
178
181
  // 目前 LeftOptions 没有接口可以动态加载
179
182
  // 为了方便可以快速实现动态化,让选项的第一个成员携带
180
183
  // LeftOptions 信息
@@ -189,7 +192,7 @@ var TransferDropdownRenderer = /** @class */ (function (_super) {
189
192
  options = options[0].children;
190
193
  }
191
194
  return (react_1.default.createElement(react_1.default.Fragment, null,
192
- react_1.default.createElement(TransferDropDown_1.default, { selectMode: selectMode, className: className, value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, multiple: multiple, columns: columns, leftMode: leftMode, leftOptions: leftOptions, borderMode: borderMode }),
195
+ react_1.default.createElement(TransferDropDown_1.default, { selectMode: selectMode, className: className, value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, multiple: multiple, columns: columns, leftMode: leftMode, leftOptions: leftOptions, borderMode: borderMode, useMobileUI: useMobileUI }),
193
196
  react_1.default.createElement(Spinner_1.default, { overlay: true, key: "info", show: loading })));
194
197
  };
195
198
  return TransferDropdownRenderer;
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/Select.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport cx from 'classnames';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Select, {normalizeOptions} from '../../components/Select';\nimport find from 'lodash/find';\nimport debouce from 'lodash/debounce';\nimport {Api} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport {isEmpty, createObject, autobind} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {SchemaApi} from '../../Schema';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer, TransferControlSchema} from './Transfer';\nimport TransferDropDown from '../../components/TransferDropDown';\n\n/**\n * Select 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/select\n */\nexport interface SelectControlSchema extends FormOptionsControl {\n type: 'select' | 'multi-select';\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 可以自定义菜单展示。\n */\n menuTpl?: string;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'group' | 'tree' | 'chained' | 'associated';\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选项\n */\n leftOptions?: Array<Option>;\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选择模式\n */\n leftMode?: 'tree' | 'list';\n\n /**\n * 当 selectMode 为 associated 时用来定义右侧的选择模式\n */\n rightMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 当 selectMode 为 table 时定义表格列信息。\n */\n columns?: Array<any>;\n\n /**\n * 当 searchResultMode 为 table 时定义表格列信息。\n */\n searchResultColumns?: Array<any>;\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n}\n\nexport interface SelectProps extends OptionsControlProps {\n autoComplete?: Api;\n searchable?: boolean;\n defaultOpen?: boolean;\n}\n\nexport default class SelectControl extends React.Component<SelectProps, any> {\n static defaultProps: Partial<SelectProps> = {\n clearable: false,\n searchable: false,\n multiple: false\n };\n\n input: any;\n unHook: Function;\n lazyloadRemote: Function;\n constructor(props: SelectProps) {\n super(props);\n\n this.changeValue = this.changeValue.bind(this);\n this.lazyloadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n this.inputRef = this.inputRef.bind(this);\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n foucs() {\n this.input && this.input.focus();\n }\n\n changeValue(value: Option | Array<Option> | void) {\n const {\n joinValues,\n extractValue,\n delimiter,\n multiple,\n type,\n valueField,\n onChange,\n setOptions,\n options\n } = this.props;\n\n let newValue: string | Option | Array<Option> | void = value;\n let additonalOptions: Array<any> = [];\n\n (Array.isArray(value) ? value : value ? [value] : []).forEach(\n (option: any) => {\n let resolved = find(\n options,\n (item: any) =>\n item[valueField || 'value'] == option[valueField || 'value']\n );\n resolved || additonalOptions.push(option);\n }\n );\n\n if (joinValues) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? (value\n .map(item => item[valueField || 'value'])\n .join(delimiter) as string)\n : value\n ? (value as Option)[valueField || 'value']\n : '';\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n } else if (extractValue) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? value.map(item => item[valueField || 'value'])\n : value\n ? [(value as Option)[valueField || 'value']]\n : [''];\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n }\n\n // 不设置没法回显\n additonalOptions.length && setOptions(options.concat(additonalOptions));\n\n onChange(newValue);\n }\n\n async loadRemote(input: string) {\n const {\n autoComplete,\n env,\n data,\n setOptions,\n setLoading,\n formInited,\n addHook\n } = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (!formInited) {\n this.unHook && this.unHook();\n return (this.unHook = addHook(this.loadRemote.bind(this, input), 'init'));\n }\n\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n setLoading(true);\n try {\n const ret = await env.fetcher(autoComplete, ctx);\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions} = this.props;\n let combinedOptions = normalizeOptions(options).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n hidden: true\n });\n }\n });\n }\n return combinedOptions;\n }\n\n @autobind\n renderMenu(option: Option, state: any) {\n const {menuTpl, render, data} = this.props;\n\n return render(`menu/${state.index}`, menuTpl, {\n data: createObject(createObject(data, state), option)\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n option2value() {}\n\n renderOtherMode() {\n const {selectMode, ...rest} = this.props;\n return (\n <TransferDropdownRenderer\n {...rest}\n selectMode={selectMode === 'group' ? 'list' : selectMode}\n />\n );\n }\n\n render() {\n let {\n autoComplete,\n searchable,\n options,\n className,\n loading,\n value,\n selectedOptions,\n multi,\n multiple,\n placeholder,\n id,\n classPrefix,\n classnames,\n creatable,\n inline,\n noResultsText,\n render,\n menuTpl,\n borderMode,\n selectMode,\n env,\n ...rest\n } = this.props;\n\n if (noResultsText) {\n noResultsText = render('noResultText', noResultsText);\n }\n\n return (\n <div className={cx(`${classPrefix}SelectControl`, className)}>\n {['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(\n selectMode\n ) ? (\n this.renderOtherMode()\n ) : (\n <Select\n {...rest}\n useMobileUI={env.useMobileUI}\n borderMode={borderMode}\n placeholder={placeholder}\n multiple={multiple || multi}\n ref={this.inputRef}\n value={selectedOptions}\n options={options}\n loadOptions={\n isEffectiveApi(autoComplete) ? this.lazyloadRemote : undefined\n }\n creatable={creatable}\n searchable={searchable || !!autoComplete}\n onChange={this.changeValue}\n loading={loading}\n noResultsText={noResultsText}\n renderMenu={menuTpl ? this.renderMenu : undefined}\n />\n )}\n </div>\n );\n }\n}\n\nexport interface TransferDropDownProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {\n borderMode?: 'full' | 'half' | 'none';\n}\n\nclass TransferDropdownRenderer extends BaseTransferRenderer<TransferDropDownProps> {\n render() {\n const {\n className,\n classnames: cx,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n selectTitle,\n selectMode,\n multiple,\n columns,\n leftMode,\n borderMode\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n if (\n selectMode === 'associated' &&\n options &&\n options.length === 1 &&\n options[0].leftOptions &&\n Array.isArray(options[0].children)\n ) {\n leftOptions = options[0].leftOptions;\n leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;\n options = options[0].children;\n }\n\n return (\n <>\n <TransferDropDown\n selectMode={selectMode}\n className={className}\n value={selectedOptions}\n disabled={disabled}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n multiple={multiple}\n columns={columns}\n leftMode={leftMode}\n leftOptions={leftOptions}\n borderMode={borderMode}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </>\n );\n }\n}\n\n@OptionsControl({\n type: 'select'\n})\nexport class SelectControlRenderer extends SelectControl {}\n\n@OptionsControl({\n type: 'multi-select'\n})\nexport class MultiSelectControlRenderer extends SelectControl {\n static defaultProps = {\n multiple: true\n };\n}\n"
11
+ "import React from 'react';\nimport cx from 'classnames';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Select, {normalizeOptions} from '../../components/Select';\nimport find from 'lodash/find';\nimport debouce from 'lodash/debounce';\nimport {Api} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport {isEmpty, createObject, autobind, isMobile} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {SchemaApi} from '../../Schema';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer, TransferControlSchema} from './Transfer';\nimport TransferDropDown from '../../components/TransferDropDown';\n\n/**\n * Select 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/select\n */\nexport interface SelectControlSchema extends FormOptionsControl {\n type: 'select' | 'multi-select';\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 可以自定义菜单展示。\n */\n menuTpl?: string;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'group' | 'tree' | 'chained' | 'associated';\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选项\n */\n leftOptions?: Array<Option>;\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选择模式\n */\n leftMode?: 'tree' | 'list';\n\n /**\n * 当 selectMode 为 associated 时用来定义右侧的选择模式\n */\n rightMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 当 selectMode 为 table 时定义表格列信息。\n */\n columns?: Array<any>;\n\n /**\n * 当 searchResultMode 为 table 时定义表格列信息。\n */\n searchResultColumns?: Array<any>;\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n}\n\nexport interface SelectProps extends OptionsControlProps {\n autoComplete?: Api;\n searchable?: boolean;\n defaultOpen?: boolean;\n useMobileUI?: boolean;\n}\n\nexport default class SelectControl extends React.Component<SelectProps, any> {\n static defaultProps: Partial<SelectProps> = {\n clearable: false,\n searchable: false,\n multiple: false\n };\n\n input: any;\n unHook: Function;\n lazyloadRemote: Function;\n constructor(props: SelectProps) {\n super(props);\n\n this.changeValue = this.changeValue.bind(this);\n this.lazyloadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n this.inputRef = this.inputRef.bind(this);\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n foucs() {\n this.input && this.input.focus();\n }\n\n changeValue(value: Option | Array<Option> | void) {\n const {\n joinValues,\n extractValue,\n delimiter,\n multiple,\n type,\n valueField,\n onChange,\n setOptions,\n options\n } = this.props;\n\n let newValue: string | Option | Array<Option> | void = value;\n let additonalOptions: Array<any> = [];\n\n (Array.isArray(value) ? value : value ? [value] : []).forEach(\n (option: any) => {\n let resolved = find(\n options,\n (item: any) =>\n item[valueField || 'value'] == option[valueField || 'value']\n );\n resolved || additonalOptions.push(option);\n }\n );\n\n if (joinValues) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? (value\n .map(item => item[valueField || 'value'])\n .join(delimiter) as string)\n : value\n ? (value as Option)[valueField || 'value']\n : '';\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n } else if (extractValue) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? value.map(item => item[valueField || 'value'])\n : value\n ? [(value as Option)[valueField || 'value']]\n : [''];\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n }\n\n // 不设置没法回显\n additonalOptions.length && setOptions(options.concat(additonalOptions));\n\n onChange(newValue);\n }\n\n async loadRemote(input: string) {\n const {\n autoComplete,\n env,\n data,\n setOptions,\n setLoading,\n formInited,\n addHook\n } = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (!formInited) {\n this.unHook && this.unHook();\n return (this.unHook = addHook(this.loadRemote.bind(this, input), 'init'));\n }\n\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n setLoading(true);\n try {\n const ret = await env.fetcher(autoComplete, ctx);\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions} = this.props;\n let combinedOptions = normalizeOptions(options).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n hidden: true\n });\n }\n });\n }\n return combinedOptions;\n }\n\n @autobind\n renderMenu(option: Option, state: any) {\n const {menuTpl, render, data} = this.props;\n\n return render(`menu/${state.index}`, menuTpl, {\n data: createObject(createObject(data, state), option)\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n option2value() {}\n\n renderOtherMode() {\n const {selectMode, ...rest} = this.props;\n return (\n <TransferDropdownRenderer\n {...rest}\n selectMode={selectMode === 'group' ? 'list' : selectMode}\n />\n );\n }\n\n render() {\n let {\n autoComplete,\n searchable,\n options,\n className,\n loading,\n value,\n selectedOptions,\n multi,\n multiple,\n placeholder,\n id,\n classPrefix,\n classnames,\n creatable,\n inline,\n noResultsText,\n render,\n menuTpl,\n borderMode,\n selectMode,\n env,\n useMobileUI,\n ...rest\n } = this.props;\n\n if (noResultsText) {\n noResultsText = render('noResultText', noResultsText);\n }\n\n const mobileUI = useMobileUI && isMobile();\n\n return (\n <div className={cx(`${classPrefix}SelectControl`, className)}>\n {['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(\n selectMode\n ) ? (\n this.renderOtherMode()\n ) : (\n <Select\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n }\n borderMode={borderMode}\n placeholder={placeholder}\n multiple={multiple || multi}\n ref={this.inputRef}\n value={selectedOptions}\n options={options}\n loadOptions={\n isEffectiveApi(autoComplete) ? this.lazyloadRemote : undefined\n }\n creatable={creatable}\n searchable={searchable || !!autoComplete}\n onChange={this.changeValue}\n loading={loading}\n noResultsText={noResultsText}\n renderMenu={menuTpl ? this.renderMenu : undefined}\n />\n )}\n </div>\n );\n }\n}\n\nexport interface TransferDropDownProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {\n borderMode?: 'full' | 'half' | 'none';\n useMobileUI?: boolean;\n}\n\nclass TransferDropdownRenderer extends BaseTransferRenderer<TransferDropDownProps> {\n render() {\n const {\n className,\n classnames: cx,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n selectTitle,\n selectMode,\n multiple,\n columns,\n leftMode,\n borderMode,\n useMobileUI\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n if (\n selectMode === 'associated' &&\n options &&\n options.length === 1 &&\n options[0].leftOptions &&\n Array.isArray(options[0].children)\n ) {\n leftOptions = options[0].leftOptions;\n leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;\n options = options[0].children;\n }\n\n return (\n <>\n <TransferDropDown\n selectMode={selectMode}\n className={className}\n value={selectedOptions}\n disabled={disabled}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n multiple={multiple}\n columns={columns}\n leftMode={leftMode}\n leftOptions={leftOptions}\n borderMode={borderMode}\n useMobileUI={useMobileUI}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </>\n );\n }\n}\n\n@OptionsControl({\n type: 'select'\n})\nexport class SelectControlRenderer extends SelectControl {}\n\n@OptionsControl({\n type: 'multi-select'\n})\nexport class MultiSelectControlRenderer extends SelectControl {\n static defaultProps = {\n multiple: true\n };\n}\n"
12
12
  ]
13
13
  }
@@ -1,44 +1,17 @@
1
1
  /// <reference types="react" />
2
- import { OptionsControlProps, FormOptionsControl } from './Options';
3
- import { BaseTransferRenderer } from './Transfer';
4
- import { SchemaApi } from '../../Schema';
2
+ import { OptionsControlProps } from './Options';
3
+ import { BaseTransferRenderer, TransferControlSchema } from './Transfer';
4
+ import { ItemRenderStates } from '../../components/Selection';
5
5
  /**
6
6
  * TabsTransfer
7
7
  * 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer
8
8
  */
9
- export interface TabsTransferControlSchema extends FormOptionsControl {
9
+ export interface TabsTransferControlSchema extends Omit<TransferControlSchema, 'type'> {
10
10
  type: 'tabs-transfer';
11
- /**
12
- * 是否显示剪头
13
- */
14
- showArrow?: boolean;
15
- /**
16
- * 可排序?
17
- */
18
- sortable?: boolean;
19
- /**
20
- * 搜索结果展示模式
21
- */
22
- searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
23
- /**
24
- * 可搜索?
25
- */
26
- searchable?: boolean;
27
- /**
28
- * 搜索 API
29
- */
30
- searchApi?: SchemaApi;
31
- /**
32
- * 左侧的标题文字
33
- */
34
- selectTitle?: string;
35
- /**
36
- * 右侧结果的标题文字
37
- */
38
- resultTitle?: string;
39
11
  }
40
12
  export interface TabsTransferProps extends OptionsControlProps, Omit<TabsTransferControlSchema, 'type' | 'options' | 'inputClassName' | 'className' | 'descriptionClassName'> {
41
13
  }
42
14
  export declare class TabsTransferRenderer extends BaseTransferRenderer<TabsTransferProps> {
15
+ optionItemRender(option: any, states: ItemRenderStates): JSX.Element;
43
16
  render(): JSX.Element;
44
17
  }
@@ -7,17 +7,36 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
7
7
  var Spinner_1 = (0, tslib_1.__importDefault)(require("../../components/Spinner"));
8
8
  var Transfer_1 = require("./Transfer");
9
9
  var TabsTransfer_1 = (0, tslib_1.__importDefault)(require("../../components/TabsTransfer"));
10
+ var helper_1 = require("../../utils/helper");
11
+ var Selection_1 = require("../../components/Selection");
10
12
  var TabsTransferRenderer = /** @class */ (function (_super) {
11
13
  (0, tslib_1.__extends)(TabsTransferRenderer, _super);
12
14
  function TabsTransferRenderer() {
13
15
  return _super !== null && _super.apply(this, arguments) || this;
14
16
  }
17
+ TabsTransferRenderer.prototype.optionItemRender = function (option, states) {
18
+ var _a = this.props, menuTpl = _a.menuTpl, render = _a.render, data = _a.data;
19
+ var ctx = arguments[2] || {};
20
+ if (menuTpl) {
21
+ return render("item/" + states.index, menuTpl, {
22
+ data: (0, helper_1.createObject)((0, helper_1.createObject)(data, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, states), ctx)), option)
23
+ });
24
+ }
25
+ return Selection_1.BaseSelection.itemRender(option, states);
26
+ };
15
27
  TabsTransferRenderer.prototype.render = function () {
16
28
  var _a = this.props, className = _a.className, cx = _a.classnames, options = _a.options, selectedOptions = _a.selectedOptions, sortable = _a.sortable, loading = _a.loading, searchable = _a.searchable, searchResultMode = _a.searchResultMode, showArrow = _a.showArrow, deferLoad = _a.deferLoad, disabled = _a.disabled, selectTitle = _a.selectTitle, resultTitle = _a.resultTitle;
17
29
  return (react_1.default.createElement("div", { className: cx('TabsTransferControl', className) },
18
- react_1.default.createElement(TabsTransfer_1.default, { value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, resultTitle: resultTitle }),
30
+ react_1.default.createElement(TabsTransfer_1.default, { value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, resultTitle: resultTitle, optionItemRender: this.optionItemRender, resultItemRender: this.resultItemRender }),
19
31
  react_1.default.createElement(Spinner_1.default, { overlay: true, key: "info", show: loading })));
20
32
  };
33
+ var _a;
34
+ (0, tslib_1.__decorate)([
35
+ helper_1.autobind,
36
+ (0, tslib_1.__metadata)("design:type", Function),
37
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, typeof (_a = typeof Selection_1.ItemRenderStates !== "undefined" && Selection_1.ItemRenderStates) === "function" ? _a : Object]),
38
+ (0, tslib_1.__metadata)("design:returntype", void 0)
39
+ ], TabsTransferRenderer.prototype, "optionItemRender", null);
21
40
  TabsTransferRenderer = (0, tslib_1.__decorate)([
22
41
  (0, Options_1.OptionsControl)({
23
42
  type: 'tabs-transfer'
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/TabsTransfer.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,qCAImB;AACnB,6DAA0B;AAE1B,kFAA+C;AAC/C,uCAAgD;AAChD,4FAAyD;AA4DzD;IAA0C,qDAAuC;IAAjF;;IAuCA,CAAC;IAtCC,qCAAM,GAAN;QACQ,IAAA,KAcF,IAAI,CAAC,KAAK,EAbZ,SAAS,eAAA,EACG,EAAE,gBAAA,EACd,OAAO,aAAA,EACP,eAAe,qBAAA,EACf,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,WAAW,iBACC,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC;YAClD,8BAAC,sBAAY,IACX,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EACpD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,GACxB;YAEF,8BAAC,iBAAO,IAAC,OAAO,QAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,OAAO,GAAI,CACzC,CACP,CAAC;IACJ,CAAC;IAtCU,oBAAoB;QAHhC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,eAAe;SACtB,CAAC;OACW,oBAAoB,CAuChC;IAAD,2BAAC;CAAA,AAvCD,CAA0C,+BAAoB,GAuC7D;AAvCY,oDAAoB",
9
+ "mappings": ";;;;AAAA,qCAImB;AACnB,6DAA0B;AAE1B,kFAA+C;AAC/C,uCAAuE;AACvE,4FAAyD;AAEzD,6CAA0D;AAC1D,wDAA2E;AAyB3E;IAA0C,qDAAuC;IAAjF;;IA6DA,CAAC;IA3DC,+CAAgB,GAAhB,UAAiB,MAAW,EAAE,MAAwB;QAC9C,IAAA,KAA0B,IAAI,CAAC,KAAK,EAAnC,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAc,CAAC;QAC3C,IAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/B,IAAI,OAAO,EAAE;YACX,OAAO,MAAM,CAAC,UAAQ,MAAM,CAAC,KAAO,EAAE,OAAO,EAAE;gBAC7C,IAAI,EAAE,IAAA,qBAAY,EAChB,IAAA,qBAAY,EAAC,IAAI,kDACZ,MAAM,GACN,GAAG,EACN,EACF,MAAM,CACP;aACF,CAAC,CAAC;SACJ;QAED,OAAO,yBAAa,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,qCAAM,GAAN;QACQ,IAAA,KAcF,IAAI,CAAC,KAAK,EAbZ,SAAS,eAAA,EACG,EAAE,gBAAA,EACd,OAAO,aAAA,EACP,eAAe,qBAAA,EACf,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,WAAW,iBACC,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC;YAClD,8BAAC,sBAAY,IACX,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EACpD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,GACvC;YAEF,8BAAC,iBAAO,IAAC,OAAO,QAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,OAAO,GAAI,CACzC,CACP,CAAC;IACJ,CAAC;;IA1DD;QADC,iBAAQ;;kFAC6B,4BAAgB,oBAAhB,4BAAgB;;gEAiBrD;IAnBU,oBAAoB;QAHhC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,eAAe;SACtB,CAAC;OACW,oBAAoB,CA6DhC;IAAD,2BAAC;CAAA,AA7DD,CAA0C,+BAAoB,GA6D7D;AA7DY,oDAAoB",
10
10
  "sourcesContent": [
11
- "import {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport React from 'react';\nimport {Api} from '../../types';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer} from './Transfer';\nimport TabsTransfer from '../../components/TabsTransfer';\nimport {SchemaApi} from '../../Schema';\n\n/**\n * TabsTransfer\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer\n */\nexport interface TabsTransferControlSchema extends FormOptionsControl {\n type: 'tabs-transfer';\n\n /**\n * 是否显示剪头\n */\n showArrow?: boolean;\n\n /**\n * 可排序?\n */\n sortable?: boolean;\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n\n /**\n * 左侧的标题文字\n */\n selectTitle?: string;\n\n /**\n * 右侧结果的标题文字\n */\n resultTitle?: string;\n}\n\nexport interface TabsTransferProps\n extends OptionsControlProps,\n Omit<\n TabsTransferControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {}\n\n@OptionsControl({\n type: 'tabs-transfer'\n})\nexport class TabsTransferRenderer extends BaseTransferRenderer<TabsTransferProps> {\n render() {\n const {\n className,\n classnames: cx,\n options,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n selectTitle,\n resultTitle\n } = this.props;\n\n return (\n <div className={cx('TabsTransferControl', className)}>\n <TabsTransfer\n value={selectedOptions}\n disabled={disabled}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n resultTitle={resultTitle}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </div>\n );\n }\n}\n"
11
+ "import {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport React from 'react';\nimport {Api} from '../../types';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer, TransferControlSchema} from './Transfer';\nimport TabsTransfer from '../../components/TabsTransfer';\nimport {SchemaApi, SchemaObject} from '../../Schema';\nimport {autobind, createObject} from '../../utils/helper';\nimport {BaseSelection, ItemRenderStates} from '../../components/Selection';\n\n/**\n * TabsTransfer\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer\n */\nexport interface TabsTransferControlSchema\n extends Omit<TransferControlSchema, 'type'> {\n type: 'tabs-transfer';\n}\n\nexport interface TabsTransferProps\n extends OptionsControlProps,\n Omit<\n TabsTransferControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {}\n\n@OptionsControl({\n type: 'tabs-transfer'\n})\nexport class TabsTransferRenderer extends BaseTransferRenderer<TabsTransferProps> {\n @autobind\n optionItemRender(option: any, states: ItemRenderStates) {\n const {menuTpl, render, data} = this.props;\n const ctx = arguments[2] || {};\n\n if (menuTpl) {\n return render(`item/${states.index}`, menuTpl, {\n data: createObject(\n createObject(data, {\n ...states,\n ...ctx\n }),\n option\n )\n });\n }\n\n return BaseSelection.itemRender(option, states);\n }\n\n render() {\n const {\n className,\n classnames: cx,\n options,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n selectTitle,\n resultTitle\n } = this.props;\n\n return (\n <div className={cx('TabsTransferControl', className)}>\n <TabsTransfer\n value={selectedOptions}\n disabled={disabled}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n resultTitle={resultTitle}\n optionItemRender={this.optionItemRender}\n resultItemRender={this.resultItemRender}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </div>\n );\n }\n}\n"
12
12
  ]
13
13
  }
@@ -1,48 +1,18 @@
1
1
  /// <reference types="react" />
2
- import { OptionsControlProps, FormOptionsControl } from './Options';
2
+ import { OptionsControlProps } from './Options';
3
3
  import { BaseTransferRenderer } from './Transfer';
4
- import { SchemaApi } from '../../Schema';
4
+ import { TabsTransferControlSchema } from './TabsTransfer';
5
+ import { ItemRenderStates } from '../../components/Selection';
5
6
  /**
6
7
  * TabsTransferPicker 穿梭器的弹框形态
7
8
  * 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer-picker
8
9
  */
9
- export interface TabsTransferPickerControlSchema extends FormOptionsControl {
10
+ export interface TabsTransferPickerControlSchema extends Omit<TabsTransferControlSchema, 'type'> {
10
11
  type: 'tabs-transfer-picker';
11
- /**
12
- * 是否显示剪头
13
- */
14
- showArrow?: boolean;
15
- /**
16
- * 可排序?
17
- */
18
- sortable?: boolean;
19
- /**
20
- * 搜索结果展示模式
21
- */
22
- searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
23
- /**
24
- * 可搜索?
25
- */
26
- searchable?: boolean;
27
- /**
28
- * 搜索 API
29
- */
30
- searchApi?: SchemaApi;
31
- /**
32
- * 左侧的标题文字
33
- */
34
- selectTitle?: string;
35
- /**
36
- * 右侧结果的标题文字
37
- */
38
- resultTitle?: string;
39
- /**
40
- * 弹窗大小
41
- */
42
- pickerSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
43
12
  }
44
13
  export interface TabsTransferProps extends OptionsControlProps, Omit<TabsTransferPickerControlSchema, 'type' | 'options' | 'inputClassName' | 'className' | 'descriptionClassName'> {
45
14
  }
46
15
  export declare class TabsTransferPickerRenderer extends BaseTransferRenderer<TabsTransferProps> {
16
+ optionItemRender(option: any, states: ItemRenderStates): JSX.Element;
47
17
  render(): JSX.Element;
48
18
  }
@@ -7,17 +7,36 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
7
7
  var Spinner_1 = (0, tslib_1.__importDefault)(require("../../components/Spinner"));
8
8
  var Transfer_1 = require("./Transfer");
9
9
  var TabsTransferPicker_1 = (0, tslib_1.__importDefault)(require("../../components/TabsTransferPicker"));
10
+ var helper_1 = require("../../utils/helper");
11
+ var Selection_1 = require("../../components/Selection");
10
12
  var TabsTransferPickerRenderer = /** @class */ (function (_super) {
11
13
  (0, tslib_1.__extends)(TabsTransferPickerRenderer, _super);
12
14
  function TabsTransferPickerRenderer() {
13
15
  return _super !== null && _super.apply(this, arguments) || this;
14
16
  }
17
+ TabsTransferPickerRenderer.prototype.optionItemRender = function (option, states) {
18
+ var _a = this.props, menuTpl = _a.menuTpl, render = _a.render, data = _a.data;
19
+ var ctx = arguments[2] || {};
20
+ if (menuTpl) {
21
+ return render("item/" + states.index, menuTpl, {
22
+ data: (0, helper_1.createObject)((0, helper_1.createObject)(data, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, states), ctx)), option)
23
+ });
24
+ }
25
+ return Selection_1.BaseSelection.itemRender(option, states);
26
+ };
15
27
  TabsTransferPickerRenderer.prototype.render = function () {
16
- var _a = this.props, className = _a.className, cx = _a.classnames, options = _a.options, selectedOptions = _a.selectedOptions, sortable = _a.sortable, loading = _a.loading, searchable = _a.searchable, searchResultMode = _a.searchResultMode, showArrow = _a.showArrow, deferLoad = _a.deferLoad, disabled = _a.disabled, selectTitle = _a.selectTitle, resultTitle = _a.resultTitle, pickerSize = _a.pickerSize, columns = _a.columns, leftMode = _a.leftMode, leftOptions = _a.leftOptions;
28
+ var _a = this.props, className = _a.className, cx = _a.classnames, options = _a.options, selectedOptions = _a.selectedOptions, sortable = _a.sortable, loading = _a.loading, searchable = _a.searchable, searchResultMode = _a.searchResultMode, showArrow = _a.showArrow, deferLoad = _a.deferLoad, disabled = _a.disabled, selectTitle = _a.selectTitle, resultTitle = _a.resultTitle, pickerSize = _a.pickerSize, leftMode = _a.leftMode, leftOptions = _a.leftOptions;
17
29
  return (react_1.default.createElement("div", { className: cx('TabsTransferControl', className) },
18
- react_1.default.createElement(TabsTransferPicker_1.default, { value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, resultTitle: resultTitle, size: pickerSize, leftMode: leftMode, leftOptions: leftOptions }),
30
+ react_1.default.createElement(TabsTransferPicker_1.default, { value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, resultTitle: resultTitle, size: pickerSize, leftMode: leftMode, leftOptions: leftOptions, optionItemRender: this.optionItemRender, resultItemRender: this.resultItemRender }),
19
31
  react_1.default.createElement(Spinner_1.default, { overlay: true, key: "info", show: loading })));
20
32
  };
33
+ var _a;
34
+ (0, tslib_1.__decorate)([
35
+ helper_1.autobind,
36
+ (0, tslib_1.__metadata)("design:type", Function),
37
+ (0, tslib_1.__metadata)("design:paramtypes", [Object, typeof (_a = typeof Selection_1.ItemRenderStates !== "undefined" && Selection_1.ItemRenderStates) === "function" ? _a : Object]),
38
+ (0, tslib_1.__metadata)("design:returntype", void 0)
39
+ ], TabsTransferPickerRenderer.prototype, "optionItemRender", null);
21
40
  TabsTransferPickerRenderer = (0, tslib_1.__decorate)([
22
41
  (0, Options_1.OptionsControl)({
23
42
  type: 'tabs-transfer-picker'
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/TabsTransferPicker.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,qCAImB;AACnB,6DAA0B;AAE1B,kFAA+C;AAC/C,uCAAgD;AAIhD,wGAAqE;AAgErE;IAAgD,2DAAuC;IAAvF;;IA8CA,CAAC;IA7CC,2CAAM,GAAN;QACQ,IAAA,KAkBF,IAAI,CAAC,KAAK,EAjBZ,SAAS,eAAA,EACG,EAAE,gBAAA,EACd,OAAO,aAAA,EACP,eAAe,qBAAA,EACf,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,UAAU,gBAAA,EACV,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,WAAW,iBACC,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC;YAClD,8BAAC,4BAAkB,IACjB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EACpD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GACxB;YAEF,8BAAC,iBAAO,IAAC,OAAO,QAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,OAAO,GAAI,CACzC,CACP,CAAC;IACJ,CAAC;IA7CU,0BAA0B;QAHtC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,sBAAsB;SAC7B,CAAC;OACW,0BAA0B,CA8CtC;IAAD,iCAAC;CAAA,AA9CD,CAAgD,+BAAoB,GA8CnE;AA9CY,gEAA0B",
9
+ "mappings": ";;;;AAAA,qCAImB;AACnB,6DAA0B;AAC1B,kFAA+C;AAC/C,uCAAgD;AAEhD,wGAAqE;AAErE,6CAA0D;AAC1D,wDAA2E;AAyB3E;IAAgD,2DAAuC;IAAvF;;IAmEA,CAAC;IAjEC,qDAAgB,GAAhB,UAAiB,MAAW,EAAE,MAAwB;QAC9C,IAAA,KAA0B,IAAI,CAAC,KAAK,EAAnC,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAc,CAAC;QAC3C,IAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/B,IAAI,OAAO,EAAE;YACX,OAAO,MAAM,CAAC,UAAQ,MAAM,CAAC,KAAO,EAAE,OAAO,EAAE;gBAC7C,IAAI,EAAE,IAAA,qBAAY,EAChB,IAAA,qBAAY,EAAC,IAAI,kDACZ,MAAM,GACN,GAAG,EACN,EACF,MAAM,CACP;aACF,CAAC,CAAC;SACJ;QAED,OAAO,yBAAa,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,2CAAM,GAAN;QACQ,IAAA,KAiBF,IAAI,CAAC,KAAK,EAhBZ,SAAS,eAAA,EACG,EAAE,gBAAA,EACd,OAAO,aAAA,EACP,eAAe,qBAAA,EACf,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,WAAW,iBACC,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC;YAClD,8BAAC,4BAAkB,IACjB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EACpD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,GACvC;YAEF,8BAAC,iBAAO,IAAC,OAAO,QAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,OAAO,GAAI,CACzC,CACP,CAAC;IACJ,CAAC;;IAhED;QADC,iBAAQ;;kFAC6B,4BAAgB,oBAAhB,4BAAgB;;sEAiBrD;IAnBU,0BAA0B;QAHtC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,sBAAsB;SAC7B,CAAC;OACW,0BAA0B,CAmEtC;IAAD,iCAAC;CAAA,AAnED,CAAgD,+BAAoB,GAmEnE;AAnEY,gEAA0B",
10
10
  "sourcesContent": [
11
- "import {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport React from 'react';\nimport {Api} from '../../types';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer} from './Transfer';\nimport TabsTransfer from '../../components/TabsTransfer';\nimport {SchemaApi} from '../../Schema';\nimport TransferPicker from '../../components/TransferPicker';\nimport TabsTransferPicker from '../../components/TabsTransferPicker';\n\n/**\n * TabsTransferPicker 穿梭器的弹框形态\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer-picker\n */\nexport interface TabsTransferPickerControlSchema extends FormOptionsControl {\n type: 'tabs-transfer-picker';\n\n /**\n * 是否显示剪头\n */\n showArrow?: boolean;\n\n /**\n * 可排序?\n */\n sortable?: boolean;\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n\n /**\n * 左侧的标题文字\n */\n selectTitle?: string;\n\n /**\n * 右侧结果的标题文字\n */\n resultTitle?: string;\n\n /**\n * 弹窗大小\n */\n pickerSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n}\n\nexport interface TabsTransferProps\n extends OptionsControlProps,\n Omit<\n TabsTransferPickerControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {}\n\n@OptionsControl({\n type: 'tabs-transfer-picker'\n})\nexport class TabsTransferPickerRenderer extends BaseTransferRenderer<TabsTransferProps> {\n render() {\n const {\n className,\n classnames: cx,\n options,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n selectTitle,\n resultTitle,\n pickerSize,\n columns,\n leftMode,\n leftOptions\n } = this.props;\n\n return (\n <div className={cx('TabsTransferControl', className)}>\n <TabsTransferPicker\n value={selectedOptions}\n disabled={disabled}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n resultTitle={resultTitle}\n size={pickerSize}\n leftMode={leftMode}\n leftOptions={leftOptions}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </div>\n );\n }\n}\n"
11
+ "import {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport React from 'react';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer} from './Transfer';\nimport {SchemaApi, SchemaObject} from '../../Schema';\nimport TabsTransferPicker from '../../components/TabsTransferPicker';\nimport {TabsTransferControlSchema} from './TabsTransfer';\nimport {autobind, createObject} from '../../utils/helper';\nimport {BaseSelection, ItemRenderStates} from '../../components/Selection';\n\n/**\n * TabsTransferPicker 穿梭器的弹框形态\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer-picker\n */\nexport interface TabsTransferPickerControlSchema\n extends Omit<TabsTransferControlSchema, 'type'> {\n type: 'tabs-transfer-picker';\n}\n\nexport interface TabsTransferProps\n extends OptionsControlProps,\n Omit<\n TabsTransferPickerControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {}\n\n@OptionsControl({\n type: 'tabs-transfer-picker'\n})\nexport class TabsTransferPickerRenderer extends BaseTransferRenderer<TabsTransferProps> {\n @autobind\n optionItemRender(option: any, states: ItemRenderStates) {\n const {menuTpl, render, data} = this.props;\n const ctx = arguments[2] || {};\n\n if (menuTpl) {\n return render(`item/${states.index}`, menuTpl, {\n data: createObject(\n createObject(data, {\n ...states,\n ...ctx\n }),\n option\n )\n });\n }\n\n return BaseSelection.itemRender(option, states);\n }\n\n render() {\n const {\n className,\n classnames: cx,\n options,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n selectTitle,\n resultTitle,\n pickerSize,\n leftMode,\n leftOptions\n } = this.props;\n\n return (\n <div className={cx('TabsTransferControl', className)}>\n <TabsTransferPicker\n value={selectedOptions}\n disabled={disabled}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n resultTitle={resultTitle}\n size={pickerSize}\n leftMode={leftMode}\n leftOptions={leftOptions}\n optionItemRender={this.optionItemRender}\n resultItemRender={this.resultItemRender}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </div>\n );\n }\n}\n"
12
12
  ]
13
13
  }