amis 1.9.1-beta.13 → 1.9.1-beta.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (487) hide show
  1. package/lib/Root.js +2 -2
  2. package/lib/Root.js.map +1 -1
  3. package/lib/RootRenderer.js +1 -1
  4. package/lib/RootRenderer.js.map +1 -1
  5. package/lib/SchemaRenderer.js +4 -4
  6. package/lib/SchemaRenderer.js.map +1 -1
  7. package/lib/Scoped.js +1 -1
  8. package/lib/Scoped.js.map +1 -1
  9. package/lib/WithRootStore.js +1 -1
  10. package/lib/WithRootStore.js.map +1 -1
  11. package/lib/WithStore.js +1 -1
  12. package/lib/WithStore.js.map +1 -1
  13. package/lib/actions/AjaxAction.js +1 -1
  14. package/lib/actions/AjaxAction.js.map +1 -1
  15. package/lib/actions/Decorators.js +1 -1
  16. package/lib/actions/Decorators.js.map +1 -1
  17. package/lib/actions/EmailAction.js +1 -1
  18. package/lib/actions/EmailAction.js.map +1 -1
  19. package/lib/actions/LoopAction.js +2 -2
  20. package/lib/actions/LoopAction.js.map +1 -1
  21. package/lib/compat.js +1 -1
  22. package/lib/compat.js.map +1 -1
  23. package/lib/components/Alert2.d.ts +10 -10
  24. package/lib/components/Alert2.js +2 -2
  25. package/lib/components/Alert2.js.map +1 -1
  26. package/lib/components/AnchorNav.js +1 -1
  27. package/lib/components/AnchorNav.js.map +1 -1
  28. package/lib/components/ArrayInput.js +2 -2
  29. package/lib/components/ArrayInput.js.map +1 -1
  30. package/lib/components/AsideNav.js +4 -4
  31. package/lib/components/AsideNav.js.map +1 -1
  32. package/lib/components/Avatar.js +3 -3
  33. package/lib/components/Avatar.js.map +1 -1
  34. package/lib/components/Badge.js +10 -10
  35. package/lib/components/Badge.js.map +1 -1
  36. package/lib/components/BaiduMapPicker.js +1 -1
  37. package/lib/components/BaiduMapPicker.js.map +1 -1
  38. package/lib/components/Breadcrumb.js +1 -1
  39. package/lib/components/Breadcrumb.js.map +1 -1
  40. package/lib/components/Button.js +3 -3
  41. package/lib/components/Button.js.map +1 -1
  42. package/lib/components/CalendarMobile.js +2 -2
  43. package/lib/components/CalendarMobile.js.map +1 -1
  44. package/lib/components/Card.js +1 -1
  45. package/lib/components/Card.js.map +1 -1
  46. package/lib/components/ChainedSelection.js +1 -1
  47. package/lib/components/ChainedSelection.js.map +1 -1
  48. package/lib/components/Checkbox.js +2 -2
  49. package/lib/components/Checkbox.js.map +1 -1
  50. package/lib/components/Collapse.js +3 -3
  51. package/lib/components/Collapse.js.map +1 -1
  52. package/lib/components/ColorPicker.js +5 -5
  53. package/lib/components/ColorPicker.js.map +1 -1
  54. package/lib/components/ContextMenu.js +3 -3
  55. package/lib/components/ContextMenu.js.map +1 -1
  56. package/lib/components/DatePicker.js +3 -3
  57. package/lib/components/DatePicker.js.map +1 -1
  58. package/lib/components/DateRangePicker.js +14 -14
  59. package/lib/components/DateRangePicker.js.map +1 -1
  60. package/lib/components/Drawer.js +10 -10
  61. package/lib/components/Drawer.js.map +1 -1
  62. package/lib/components/Editor.js +3 -3
  63. package/lib/components/Editor.js.map +1 -1
  64. package/lib/components/GridNav.js +11 -11
  65. package/lib/components/GridNav.js.map +1 -1
  66. package/lib/components/InputBox.js +1 -1
  67. package/lib/components/InputBox.js.map +1 -1
  68. package/lib/components/Layout.js +1 -1
  69. package/lib/components/Layout.js.map +1 -1
  70. package/lib/components/ListGroup.js +1 -1
  71. package/lib/components/ListGroup.js.map +1 -1
  72. package/lib/components/Modal.js +4 -4
  73. package/lib/components/Modal.js.map +1 -1
  74. package/lib/components/MonthRangePicker.js +13 -13
  75. package/lib/components/MonthRangePicker.js.map +1 -1
  76. package/lib/components/NumberInput.js +3 -3
  77. package/lib/components/NumberInput.js.map +1 -1
  78. package/lib/components/Picker.js +4 -4
  79. package/lib/components/Picker.js.map +1 -1
  80. package/lib/components/PickerColumn.js +4 -4
  81. package/lib/components/PickerColumn.js.map +1 -1
  82. package/lib/components/PopOver.js +2 -2
  83. package/lib/components/PopOver.js.map +1 -1
  84. package/lib/components/PopUp.js +10 -10
  85. package/lib/components/PopUp.js.map +1 -1
  86. package/lib/components/Progress.js +5 -5
  87. package/lib/components/Progress.js.map +1 -1
  88. package/lib/components/PullRefresh.js +2 -2
  89. package/lib/components/PullRefresh.js.map +1 -1
  90. package/lib/components/Radios.d.ts +10 -10
  91. package/lib/components/Radios.js +2 -2
  92. package/lib/components/Radios.js.map +1 -1
  93. package/lib/components/Range.js +1 -1
  94. package/lib/components/Range.js.map +1 -1
  95. package/lib/components/Rating.js +1 -1
  96. package/lib/components/Rating.js.map +1 -1
  97. package/lib/components/ResultBox.js +2 -2
  98. package/lib/components/ResultBox.js.map +1 -1
  99. package/lib/components/ResultList.js +5 -5
  100. package/lib/components/ResultList.js.map +1 -1
  101. package/lib/components/ResultTreeList.js +1 -1
  102. package/lib/components/ResultTreeList.js.map +1 -1
  103. package/lib/components/SearchBox.d.ts +40 -40
  104. package/lib/components/Select.d.ts +389 -193
  105. package/lib/components/Select.js +14 -12
  106. package/lib/components/Select.js.map +2 -2
  107. package/lib/components/SparkLine.js +3 -3
  108. package/lib/components/SparkLine.js.map +1 -1
  109. package/lib/components/Spinner.js +2 -2
  110. package/lib/components/Spinner.js.map +1 -1
  111. package/lib/components/Steps.js +3 -3
  112. package/lib/components/Steps.js.map +1 -1
  113. package/lib/components/Switch.js +2 -2
  114. package/lib/components/Switch.js.map +1 -1
  115. package/lib/components/Tabs.js +5 -5
  116. package/lib/components/Tabs.js.map +1 -1
  117. package/lib/components/Tag.js +3 -3
  118. package/lib/components/Tag.js.map +1 -1
  119. package/lib/components/Textarea.js +2 -2
  120. package/lib/components/Textarea.js.map +1 -1
  121. package/lib/components/Timeline.js +1 -1
  122. package/lib/components/Timeline.js.map +1 -1
  123. package/lib/components/TimelineItem.js +3 -3
  124. package/lib/components/TimelineItem.js.map +1 -1
  125. package/lib/components/Toast.js +3 -3
  126. package/lib/components/Toast.js.map +1 -1
  127. package/lib/components/Tooltip.js +1 -1
  128. package/lib/components/Tooltip.js.map +1 -1
  129. package/lib/components/TransferSearch.js +1 -1
  130. package/lib/components/TransferSearch.js.map +1 -1
  131. package/lib/components/Tree.js +5 -5
  132. package/lib/components/Tree.js.map +1 -1
  133. package/lib/components/TreeSelection.js +2 -2
  134. package/lib/components/TreeSelection.js.map +1 -1
  135. package/lib/components/UserSelect.js +4 -4
  136. package/lib/components/UserSelect.js.map +1 -1
  137. package/lib/components/WithRemoteConfig.js +1 -1
  138. package/lib/components/WithRemoteConfig.js.map +1 -1
  139. package/lib/components/WithStore.js +1 -1
  140. package/lib/components/WithStore.js.map +1 -1
  141. package/lib/components/calendar/DaysView.js +2 -2
  142. package/lib/components/calendar/DaysView.js.map +1 -1
  143. package/lib/components/calendar/QuartersView.js +1 -1
  144. package/lib/components/calendar/QuartersView.js.map +1 -1
  145. package/lib/components/calendar/TimeView.js +2 -2
  146. package/lib/components/calendar/TimeView.js.map +1 -1
  147. package/lib/components/condition-builder/Group.js +2 -2
  148. package/lib/components/condition-builder/Group.js.map +1 -1
  149. package/lib/components/condition-builder/GroupOrItem.js +1 -1
  150. package/lib/components/condition-builder/GroupOrItem.js.map +1 -1
  151. package/lib/components/formula/Editor.d.ts +44 -40
  152. package/lib/components/formula/Editor.js +20 -9
  153. package/lib/components/formula/Editor.js.map +2 -2
  154. package/lib/components/formula/Picker.d.ts +88 -41
  155. package/lib/components/formula/Picker.js +49 -22
  156. package/lib/components/formula/Picker.js.map +2 -2
  157. package/lib/components/formula/VariableList.js +7 -7
  158. package/lib/components/formula/VariableList.js.map +1 -1
  159. package/lib/components/formula/plugin.js +1 -1
  160. package/lib/components/formula/plugin.js.map +1 -1
  161. package/lib/components/icons.js +1 -1
  162. package/lib/components/icons.js.map +1 -1
  163. package/lib/components/schema-editor/SchemaVariableList.js +1 -1
  164. package/lib/components/schema-editor/SchemaVariableList.js.map +1 -1
  165. package/lib/components/table/Cell.js +2 -2
  166. package/lib/components/table/Cell.js.map +1 -1
  167. package/lib/components/table/HeadCellFilter.js +1 -1
  168. package/lib/components/table/HeadCellFilter.js.map +1 -1
  169. package/lib/components/table/HeadCellSelect.js +1 -1
  170. package/lib/components/table/HeadCellSelect.js.map +1 -1
  171. package/lib/components/table/index.js +9 -9
  172. package/lib/components/table/index.js.map +1 -1
  173. package/lib/components/virtual-list/SizeAndPositionManager.js +4 -4
  174. package/lib/components/virtual-list/SizeAndPositionManager.js.map +1 -1
  175. package/lib/env.js +1 -1
  176. package/lib/env.js.map +1 -1
  177. package/lib/factory.js +3 -3
  178. package/lib/factory.js.map +1 -1
  179. package/lib/index.js +1 -1
  180. package/lib/locale/de-DE.js +1 -1
  181. package/lib/locale/de-DE.js.map +2 -2
  182. package/lib/locale/en-US.js +1 -1
  183. package/lib/locale/en-US.js.map +2 -2
  184. package/lib/locale/zh-CN.js +1 -1
  185. package/lib/locale/zh-CN.js.map +2 -2
  186. package/lib/locale.js +1 -1
  187. package/lib/locale.js.map +1 -1
  188. package/lib/renderers/Action.js +2 -1
  189. package/lib/renderers/Action.js.map +2 -2
  190. package/lib/renderers/AnchorNav.js +1 -1
  191. package/lib/renderers/AnchorNav.js.map +1 -1
  192. package/lib/renderers/App.js +2 -2
  193. package/lib/renderers/App.js.map +1 -1
  194. package/lib/renderers/Audio.js +2 -2
  195. package/lib/renderers/Audio.js.map +1 -1
  196. package/lib/renderers/CRUD.js +11 -8
  197. package/lib/renderers/CRUD.js.map +2 -2
  198. package/lib/renderers/Card.js +6 -6
  199. package/lib/renderers/Card.js.map +1 -1
  200. package/lib/renderers/Cards.js +10 -10
  201. package/lib/renderers/Cards.js.map +1 -1
  202. package/lib/renderers/Carousel.js +2 -2
  203. package/lib/renderers/Carousel.js.map +1 -1
  204. package/lib/renderers/Chart.js +2 -2
  205. package/lib/renderers/Chart.js.map +1 -1
  206. package/lib/renderers/Dialog.js +5 -5
  207. package/lib/renderers/Dialog.js.map +1 -1
  208. package/lib/renderers/Divider.js +1 -1
  209. package/lib/renderers/Divider.js.map +1 -1
  210. package/lib/renderers/Drawer.js +4 -4
  211. package/lib/renderers/Drawer.js.map +1 -1
  212. package/lib/renderers/DropDownButton.js +5 -5
  213. package/lib/renderers/DropDownButton.js.map +1 -1
  214. package/lib/renderers/Each.js +1 -1
  215. package/lib/renderers/Each.js.map +1 -1
  216. package/lib/renderers/Flex.js +2 -2
  217. package/lib/renderers/Flex.js.map +1 -1
  218. package/lib/renderers/Form/ButtonGroupSelect.js +4 -4
  219. package/lib/renderers/Form/ButtonGroupSelect.js.map +1 -1
  220. package/lib/renderers/Form/ButtonToolbar.js +1 -1
  221. package/lib/renderers/Form/ButtonToolbar.js.map +1 -1
  222. package/lib/renderers/Form/ChainedSelect.js +2 -2
  223. package/lib/renderers/Form/ChainedSelect.js.map +1 -1
  224. package/lib/renderers/Form/ChartRadios.js +1 -1
  225. package/lib/renderers/Form/ChartRadios.js.map +1 -1
  226. package/lib/renderers/Form/Checkbox.js +1 -1
  227. package/lib/renderers/Form/Checkbox.js.map +1 -1
  228. package/lib/renderers/Form/Combo.js +8 -8
  229. package/lib/renderers/Form/Combo.js.map +1 -1
  230. package/lib/renderers/Form/DiffEditor.js +2 -2
  231. package/lib/renderers/Form/DiffEditor.js.map +1 -1
  232. package/lib/renderers/Form/Editor.js +4 -4
  233. package/lib/renderers/Form/Editor.js.map +1 -1
  234. package/lib/renderers/Form/FieldSet.js +1 -1
  235. package/lib/renderers/Form/FieldSet.js.map +1 -1
  236. package/lib/renderers/Form/Group.js +4 -4
  237. package/lib/renderers/Form/Group.js.map +1 -1
  238. package/lib/renderers/Form/IconPicker.js +2 -2
  239. package/lib/renderers/Form/IconPicker.js.map +1 -1
  240. package/lib/renderers/Form/InputColor.js +1 -1
  241. package/lib/renderers/Form/InputColor.js.map +1 -1
  242. package/lib/renderers/Form/InputDateRange.js +1 -1
  243. package/lib/renderers/Form/InputDateRange.js.map +1 -1
  244. package/lib/renderers/Form/InputFile.js +5 -5
  245. package/lib/renderers/Form/InputFile.js.map +1 -1
  246. package/lib/renderers/Form/InputFormula.d.ts +6 -2
  247. package/lib/renderers/Form/InputFormula.js +4 -3
  248. package/lib/renderers/Form/InputFormula.js.map +2 -2
  249. package/lib/renderers/Form/InputGroup.js +1 -1
  250. package/lib/renderers/Form/InputGroup.js.map +1 -1
  251. package/lib/renderers/Form/InputImage.js +2 -2
  252. package/lib/renderers/Form/InputImage.js.map +2 -2
  253. package/lib/renderers/Form/InputMonthRange.js +1 -1
  254. package/lib/renderers/Form/InputMonthRange.js.map +1 -1
  255. package/lib/renderers/Form/InputNumber.js +2 -2
  256. package/lib/renderers/Form/InputNumber.js.map +1 -1
  257. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  258. package/lib/renderers/Form/InputQuarterRange.js.map +1 -1
  259. package/lib/renderers/Form/InputRange.js +2 -2
  260. package/lib/renderers/Form/InputRange.js.map +1 -1
  261. package/lib/renderers/Form/InputRepeat.js +2 -2
  262. package/lib/renderers/Form/InputRepeat.js.map +1 -1
  263. package/lib/renderers/Form/InputRichText.js +2 -2
  264. package/lib/renderers/Form/InputRichText.js.map +1 -1
  265. package/lib/renderers/Form/InputSubForm.js +5 -5
  266. package/lib/renderers/Form/InputSubForm.js.map +1 -1
  267. package/lib/renderers/Form/InputTable.js +2 -2
  268. package/lib/renderers/Form/InputTable.js.map +1 -1
  269. package/lib/renderers/Form/InputTag.js +1 -1
  270. package/lib/renderers/Form/InputTag.js.map +1 -1
  271. package/lib/renderers/Form/InputText.js +12 -12
  272. package/lib/renderers/Form/InputText.js.map +1 -1
  273. package/lib/renderers/Form/InputTree.d.ts +4 -0
  274. package/lib/renderers/Form/InputTree.js +3 -3
  275. package/lib/renderers/Form/InputTree.js.map +2 -2
  276. package/lib/renderers/Form/InputYearRange.js +1 -1
  277. package/lib/renderers/Form/InputYearRange.js.map +1 -1
  278. package/lib/renderers/Form/Item.js +7 -7
  279. package/lib/renderers/Form/Item.js.map +1 -1
  280. package/lib/renderers/Form/ListSelect.js +2 -2
  281. package/lib/renderers/Form/ListSelect.js.map +1 -1
  282. package/lib/renderers/Form/NestedSelect.js +1 -1
  283. package/lib/renderers/Form/NestedSelect.js.map +1 -1
  284. package/lib/renderers/Form/Options.js +2 -2
  285. package/lib/renderers/Form/Options.js.map +1 -1
  286. package/lib/renderers/Form/Picker.js +3 -3
  287. package/lib/renderers/Form/Picker.js.map +1 -1
  288. package/lib/renderers/Form/Radios.js +1 -1
  289. package/lib/renderers/Form/Radios.js.map +1 -1
  290. package/lib/renderers/Form/Select.d.ts +8 -0
  291. package/lib/renderers/Form/Select.js +3 -3
  292. package/lib/renderers/Form/Select.js.map +2 -2
  293. package/lib/renderers/Form/Static.js +1 -1
  294. package/lib/renderers/Form/Static.js.map +1 -1
  295. package/lib/renderers/Form/TabsTransfer.js +1 -1
  296. package/lib/renderers/Form/TabsTransfer.js.map +1 -1
  297. package/lib/renderers/Form/TabsTransferPicker.js +1 -1
  298. package/lib/renderers/Form/TabsTransferPicker.js.map +1 -1
  299. package/lib/renderers/Form/Transfer.js +3 -3
  300. package/lib/renderers/Form/Transfer.js.map +1 -1
  301. package/lib/renderers/Form/TreeSelect.js +4 -4
  302. package/lib/renderers/Form/TreeSelect.js.map +1 -1
  303. package/lib/renderers/Form/index.js +6 -6
  304. package/lib/renderers/Form/index.js.map +1 -1
  305. package/lib/renderers/Grid.js +7 -7
  306. package/lib/renderers/Grid.js.map +1 -1
  307. package/lib/renderers/Grid2D.js +1 -1
  308. package/lib/renderers/Grid2D.js.map +1 -1
  309. package/lib/renderers/HBox.js +5 -5
  310. package/lib/renderers/HBox.js.map +1 -1
  311. package/lib/renderers/IFrame.js +1 -1
  312. package/lib/renderers/IFrame.js.map +1 -1
  313. package/lib/renderers/Icon.js +3 -3
  314. package/lib/renderers/Icon.js.map +1 -1
  315. package/lib/renderers/Image.js +3 -3
  316. package/lib/renderers/Image.js.map +1 -1
  317. package/lib/renderers/List.js +14 -14
  318. package/lib/renderers/List.js.map +1 -1
  319. package/lib/renderers/Mapping.js +1 -1
  320. package/lib/renderers/Mapping.js.map +1 -1
  321. package/lib/renderers/Operation.js +1 -1
  322. package/lib/renderers/Operation.js.map +1 -1
  323. package/lib/renderers/Page.js +7 -7
  324. package/lib/renderers/Page.js.map +1 -1
  325. package/lib/renderers/Panel.js +2 -2
  326. package/lib/renderers/Panel.js.map +1 -1
  327. package/lib/renderers/PopOver.js +2 -2
  328. package/lib/renderers/PopOver.js.map +1 -1
  329. package/lib/renderers/Portlet.js +10 -10
  330. package/lib/renderers/Portlet.js.map +1 -1
  331. package/lib/renderers/Property.js +3 -3
  332. package/lib/renderers/Property.js.map +1 -1
  333. package/lib/renderers/QRCode.js +1 -1
  334. package/lib/renderers/QRCode.js.map +1 -1
  335. package/lib/renderers/QuickEdit.js +11 -11
  336. package/lib/renderers/QuickEdit.js.map +1 -1
  337. package/lib/renderers/Remark.js +1 -1
  338. package/lib/renderers/Remark.js.map +1 -1
  339. package/lib/renderers/Service.js +2 -2
  340. package/lib/renderers/Service.js.map +1 -1
  341. package/lib/renderers/Status.js +1 -1
  342. package/lib/renderers/Status.js.map +1 -1
  343. package/lib/renderers/Table/ColumnToggler.js +5 -5
  344. package/lib/renderers/Table/ColumnToggler.js.map +1 -1
  345. package/lib/renderers/Table/HeadCellFilterDropdown.js +2 -2
  346. package/lib/renderers/Table/HeadCellFilterDropdown.js.map +1 -1
  347. package/lib/renderers/Table/HeadCellSearchDropdown.js +2 -2
  348. package/lib/renderers/Table/HeadCellSearchDropdown.js.map +1 -1
  349. package/lib/renderers/Table/ItemActionsWrapper.js +2 -2
  350. package/lib/renderers/Table/ItemActionsWrapper.js.map +1 -1
  351. package/lib/renderers/Table/TableBody.js +3 -3
  352. package/lib/renderers/Table/TableBody.js.map +1 -1
  353. package/lib/renderers/Table/TableContent.js +1 -1
  354. package/lib/renderers/Table/TableContent.js.map +1 -1
  355. package/lib/renderers/Table/TableRow.js +4 -4
  356. package/lib/renderers/Table/TableRow.js.map +1 -1
  357. package/lib/renderers/Table/index.js +30 -29
  358. package/lib/renderers/Table/index.js.map +2 -2
  359. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +1 -1
  360. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +1 -1
  361. package/lib/renderers/Table-v2/index.js +5 -5
  362. package/lib/renderers/Table-v2/index.js.map +1 -1
  363. package/lib/renderers/TableView.js +4 -4
  364. package/lib/renderers/TableView.js.map +1 -1
  365. package/lib/renderers/Tabs.d.ts +6 -2
  366. package/lib/renderers/Tabs.js +25 -4
  367. package/lib/renderers/Tabs.js.map +2 -2
  368. package/lib/renderers/Tasks.js +1 -1
  369. package/lib/renderers/Tasks.js.map +1 -1
  370. package/lib/renderers/Tpl.js +1 -1
  371. package/lib/renderers/Tpl.js.map +1 -1
  372. package/lib/renderers/VBox.js +2 -2
  373. package/lib/renderers/VBox.js.map +1 -1
  374. package/lib/renderers/Video.js +4 -4
  375. package/lib/renderers/Video.js.map +1 -1
  376. package/lib/renderers/Wizard.js +7 -7
  377. package/lib/renderers/Wizard.js.map +1 -1
  378. package/lib/renderers/Wrapper.js +1 -1
  379. package/lib/renderers/Wrapper.js.map +1 -1
  380. package/lib/store/app.js +3 -3
  381. package/lib/store/app.js.map +1 -1
  382. package/lib/store/crud.js +1 -1
  383. package/lib/store/crud.js.map +1 -1
  384. package/lib/store/form.js +2 -2
  385. package/lib/store/form.js.map +1 -1
  386. package/lib/store/formItem.js +3 -3
  387. package/lib/store/formItem.js.map +1 -1
  388. package/lib/store/node.js +2 -2
  389. package/lib/store/node.js.map +1 -1
  390. package/lib/store/table-v2.js +7 -7
  391. package/lib/store/table-v2.js.map +1 -1
  392. package/lib/store/table.js +6 -6
  393. package/lib/store/table.js.map +1 -1
  394. package/lib/theme.js +1 -1
  395. package/lib/theme.js.map +1 -1
  396. package/lib/themes/ang-ie11.css +49 -27
  397. package/lib/themes/ang.css +44 -21
  398. package/lib/themes/ang.css.map +1 -1
  399. package/lib/themes/antd-ie11.css +49 -27
  400. package/lib/themes/antd.css +44 -21
  401. package/lib/themes/antd.css.map +1 -1
  402. package/lib/themes/cxd-ie11.css +49 -27
  403. package/lib/themes/cxd.css +44 -21
  404. package/lib/themes/cxd.css.map +1 -1
  405. package/lib/themes/dark-ie11.css +49 -27
  406. package/lib/themes/dark.css +44 -21
  407. package/lib/themes/dark.css.map +1 -1
  408. package/lib/themes/default-ie11.css +49 -27
  409. package/lib/themes/default.css +44 -21
  410. package/lib/themes/default.css.map +1 -1
  411. package/lib/utils/ColorScale.js +4 -4
  412. package/lib/utils/ColorScale.js.map +1 -1
  413. package/lib/utils/api.js +7 -7
  414. package/lib/utils/api.js.map +1 -1
  415. package/lib/utils/autobind.js +2 -2
  416. package/lib/utils/autobind.js.map +1 -1
  417. package/lib/utils/columnsSplit.js +2 -2
  418. package/lib/utils/columnsSplit.js.map +1 -1
  419. package/lib/utils/debug.js +13 -13
  420. package/lib/utils/debug.js.map +1 -1
  421. package/lib/utils/dom.js +1 -1
  422. package/lib/utils/dom.js.map +1 -1
  423. package/lib/utils/filter-schema.js +1 -1
  424. package/lib/utils/filter-schema.js.map +1 -1
  425. package/lib/utils/formula.js +5 -4
  426. package/lib/utils/formula.js.map +2 -2
  427. package/lib/utils/helper.js +6 -6
  428. package/lib/utils/helper.js.map +1 -1
  429. package/lib/utils/resize-sensor.js +1 -1
  430. package/lib/utils/resize-sensor.js.map +1 -1
  431. package/lib/utils/style.js +1 -1
  432. package/lib/utils/style.js.map +1 -1
  433. package/lib/utils/tpl-builtin.js +1 -1
  434. package/lib/utils/tpl-builtin.js.map +1 -1
  435. package/lib/utils/tpl-lodash.js +1 -1
  436. package/lib/utils/tpl-lodash.js.map +1 -1
  437. package/lib/utils/tpl.js +2 -2
  438. package/lib/utils/tpl.js.map +1 -1
  439. package/lib/utils/validations.js +2 -2
  440. package/lib/utils/validations.js.map +1 -1
  441. package/package.json +2 -2
  442. package/schema.json +240 -361
  443. package/scss/components/_formula.scss +45 -4
  444. package/scss/components/form/_checks.scss +47 -44
  445. package/scss/components/form/_date.scss +28 -19
  446. package/scss/components/form/_select.scss +3 -2
  447. package/sdk/ang-ie11.css +56 -29
  448. package/sdk/ang.css +51 -23
  449. package/sdk/antd-ie11.css +56 -29
  450. package/sdk/antd.css +51 -23
  451. package/sdk/barcode.js +51 -51
  452. package/sdk/charts.js +18 -18
  453. package/sdk/codemirror.js +7 -7
  454. package/sdk/color-picker.js +65 -65
  455. package/sdk/cropperjs.js +3 -3
  456. package/sdk/cxd-ie11.css +56 -29
  457. package/sdk/cxd.css +51 -23
  458. package/sdk/dark-ie11.css +56 -29
  459. package/sdk/dark.css +51 -23
  460. package/sdk/exceljs.js +1 -1
  461. package/sdk/locale/de-DE.js +2 -2
  462. package/sdk/markdown.js +69 -69
  463. package/sdk/papaparse.js +3 -3
  464. package/sdk/renderers/Form/CityDB.js +1 -1
  465. package/sdk/rest.js +16 -16
  466. package/sdk/rich-text.js +62 -62
  467. package/sdk/sdk-ie11.css +56 -29
  468. package/sdk/sdk.css +51 -23
  469. package/sdk/sdk.js +1655 -1767
  470. package/sdk/thirds/hls.js/hls.js +19 -19
  471. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  472. package/sdk/tinymce.js +57 -57
  473. package/src/components/Select.tsx +14 -12
  474. package/src/components/formula/Editor.tsx +51 -23
  475. package/src/components/formula/Picker.tsx +67 -9
  476. package/src/locale/de-DE.ts +2 -2
  477. package/src/locale/en-US.ts +2 -2
  478. package/src/locale/zh-CN.ts +1 -1
  479. package/src/renderers/Action.tsx +2 -1
  480. package/src/renderers/CRUD.tsx +2 -0
  481. package/src/renderers/Form/InputFormula.tsx +11 -3
  482. package/src/renderers/Form/InputImage.tsx +4 -2
  483. package/src/renderers/Form/InputTree.tsx +7 -0
  484. package/src/renderers/Form/Select.tsx +13 -0
  485. package/src/renderers/Table/index.tsx +9 -7
  486. package/src/renderers/Tabs.tsx +33 -3
  487. package/src/utils/formula.ts +5 -3
@@ -60,6 +60,8 @@ export interface OptionProps {
60
60
  disabled?: boolean;
61
61
  creatable?: boolean;
62
62
  pathSeparator?: string;
63
+ itemHeight?: number; // 每个选项的高度,主要用于虚拟渲染
64
+ virtualThreshold?: number; // 数据量多大的时候开启虚拟渲染
63
65
  hasError?: boolean;
64
66
  block?: boolean;
65
67
  onAdd?: (
@@ -382,7 +384,8 @@ export class Select extends React.Component<SelectProps, SelectState> {
382
384
  checkAll: false,
383
385
  checkAllLabel: 'Select.checkAll',
384
386
  defaultCheckAll: false,
385
- overlayPlacement: 'auto'
387
+ overlayPlacement: 'auto',
388
+ virtualThreshold: 100
386
389
  };
387
390
 
388
391
  input: HTMLInputElement;
@@ -778,10 +781,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
778
781
  })}
779
782
  onClick={this.removeItem.bind(this, index)}
780
783
  >
781
- <Icon
782
- icon="close"
783
- className="icon"
784
- />
784
+ <Icon icon="close" className="icon" />
785
785
  </span>
786
786
  </div>
787
787
  </TooltipWrapper>
@@ -825,6 +825,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
825
825
  hideSelected,
826
826
  renderMenu,
827
827
  mobileClassName,
828
+ virtualThreshold = 200,
828
829
  useMobileUI = false
829
830
  } = this.props;
830
831
  const {selection} = this.state;
@@ -853,7 +854,8 @@ export class Select extends React.Component<SelectProps, SelectState> {
853
854
  );
854
855
  }
855
856
 
856
- const itemHeight = this.state.itemHeight;
857
+ // 用于虚拟渲染的每项高度
858
+ const virtualItemHeight = this.props.itemHeight || this.state.itemHeight;
857
859
 
858
860
  // 渲染单个选项
859
861
  const renderItem = ({index, style}: {index: number; style?: object}) => {
@@ -980,7 +982,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
980
982
  ref={this.menu}
981
983
  className={cx('Select-menu', {
982
984
  'Select--longlist':
983
- filtedOptions.length && filtedOptions.length > 100,
985
+ filtedOptions.length && filtedOptions.length > virtualThreshold,
984
986
  'is-mobile': mobileUI
985
987
  })}
986
988
  >
@@ -1026,7 +1028,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
1026
1028
  </div>
1027
1029
  ) : null}
1028
1030
 
1029
- <div ref={this.menuItemRef} className={cx('Select-option invisible')}>
1031
+ <div ref={this.menuItemRef} className={cx('Select-option hidden')}>
1030
1032
  {multiple ? (
1031
1033
  <Checkbox size="sm">Placeholder</Checkbox>
1032
1034
  ) : (
@@ -1042,15 +1044,15 @@ export class Select extends React.Component<SelectProps, SelectState> {
1042
1044
  ) : null}
1043
1045
 
1044
1046
  {filtedOptions.length ? (
1045
- filtedOptions.length > 100 ? ( // 超过 100 行数据才启用 virtuallist 避免滚动条问题
1047
+ filtedOptions.length > virtualThreshold ? ( // 较多数据时才启用 virtuallist,避免滚动条问题
1046
1048
  <VirtualList
1047
1049
  height={
1048
1050
  filtedOptions.length > 8
1049
1051
  ? 266
1050
- : filtedOptions.length * itemHeight
1052
+ : filtedOptions.length * virtualItemHeight
1051
1053
  }
1052
1054
  itemCount={filtedOptions.length}
1053
- itemSize={itemHeight}
1055
+ itemSize={virtualItemHeight}
1054
1056
  renderItem={renderItem}
1055
1057
  />
1056
1058
  ) : (
@@ -1083,7 +1085,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
1083
1085
  overlay
1084
1086
  className={cx('Select-popover')}
1085
1087
  style={{
1086
- minWidth: this.target ? this.target.offsetWidth : 'auto'
1088
+ width: this.target ? this.target.offsetWidth : 'auto'
1087
1089
  }}
1088
1090
  onHide={this.close}
1089
1091
  >
@@ -55,6 +55,11 @@ export interface FormulaEditorProps extends ThemeProps, LocaleProps {
55
55
  */
56
56
  variableMode?: 'tabs' | 'tree';
57
57
 
58
+ /**
59
+ * 只展示变量,不需要其他面板
60
+ */
61
+ onlyVariable?: boolean;
62
+
58
63
  /**
59
64
  * 函数集合,默认不需要传,即 amis-formula 里面那个函数
60
65
  * 如果有扩充,则需要传。
@@ -221,6 +226,19 @@ export class FormulaEditor extends React.Component<
221
226
 
222
227
  @autobind
223
228
  handleVariableSelect(item: VariableItem) {
229
+ const {onlyVariable, evalMode} = this.props;
230
+
231
+ // 只展示变量时,选择即提交
232
+ if (onlyVariable) {
233
+ const onChange = this.props.onChange;
234
+ const value = item.value
235
+ ? evalMode
236
+ ? item.value
237
+ : '${' + item.value + '}'
238
+ : '';
239
+ return onChange?.(value);
240
+ }
241
+
224
242
  this.editorPlugin?.insertContent(
225
243
  {
226
244
  key: item.value,
@@ -248,6 +266,7 @@ export class FormulaEditor extends React.Component<
248
266
  value,
249
267
  functions,
250
268
  variableMode,
269
+ onlyVariable,
251
270
  translate: __,
252
271
  classnames: cx,
253
272
  variableClassName,
@@ -267,23 +286,30 @@ export class FormulaEditor extends React.Component<
267
286
  'is-focused': focused
268
287
  })}
269
288
  >
270
- <section className={cx(`FormulaEditor-content`)}>
271
- <header className={cx(`FormulaEditor-header`)}>
272
- {__(header || 'FormulaEditor.title')}
273
- </header>
274
-
275
- <CodeMirrorEditor
276
- className={cx('FormulaEditor-editor')}
277
- value={value}
278
- onChange={this.handleOnChange}
279
- editorFactory={this.editorFactory}
280
- editorDidMount={this.handleEditorMounted}
281
- onFocus={this.handleFocus}
282
- onBlur={this.handleBlur}
283
- />
284
- </section>
285
-
286
- <section className={cx('FormulaEditor-settings')}>
289
+ {onlyVariable ? null : (
290
+ <section className={cx(`FormulaEditor-content`)}>
291
+ <header className={cx(`FormulaEditor-header`)}>
292
+ {__(header || 'FormulaEditor.title')}
293
+ </header>
294
+
295
+ <CodeMirrorEditor
296
+ className={cx('FormulaEditor-editor')}
297
+ value={value}
298
+ onChange={this.handleOnChange}
299
+ editorFactory={this.editorFactory}
300
+ editorDidMount={this.handleEditorMounted}
301
+ onFocus={this.handleFocus}
302
+ onBlur={this.handleBlur}
303
+ />
304
+ </section>
305
+ )}
306
+
307
+ <section
308
+ className={cx(
309
+ 'FormulaEditor-settings',
310
+ onlyVariable ? 'only-variable' : ''
311
+ )}
312
+ >
287
313
  <div className={cx('FormulaEditor-panel')}>
288
314
  {variableMode !== 'tabs' ? (
289
315
  <div className={cx('FormulaEditor-panel-header')}>
@@ -310,12 +336,14 @@ export class FormulaEditor extends React.Component<
310
336
  </div>
311
337
  </div>
312
338
 
313
- <FuncList
314
- className={functionClassName}
315
- title={__('FormulaEditor.function')}
316
- data={functionList}
317
- onSelect={this.handleFunctionSelect}
318
- />
339
+ {onlyVariable ? null : (
340
+ <FuncList
341
+ className={functionClassName}
342
+ title={__('FormulaEditor.function')}
343
+ data={functionList}
344
+ onSelect={this.handleFunctionSelect}
345
+ />
346
+ )}
319
347
  </section>
320
348
  </div>
321
349
  );
@@ -17,6 +17,7 @@ import {themeable} from '../../theme';
17
17
  import {localeable} from '../../locale';
18
18
  import type {SchemaIcon} from '../../Schema';
19
19
  import {parse, Evaluator} from 'amis-formula';
20
+ import Input from '../Input';
20
21
 
21
22
  export interface FormulaPickerProps extends FormulaEditorProps {
22
23
  // 新的属性?
@@ -35,13 +36,18 @@ export interface FormulaPickerProps extends FormulaEditorProps {
35
36
  /**
36
37
  * 控件模式
37
38
  */
38
- mode?: 'button' | 'input-button';
39
+ mode?: 'button' | 'input-button' | 'input-group';
39
40
 
40
41
  /**
41
42
  * 边框模式,全边框,还是半边框,或者没边框。
42
43
  */
43
44
  borderMode?: 'full' | 'half' | 'none';
44
45
 
46
+ /**
47
+ * 只展示变量,不需要其他面板
48
+ */
49
+ onlyVariable?: boolean;
50
+
45
51
  /**
46
52
  * 按钮Label,inputMode为button时生效
47
53
  */
@@ -132,7 +138,8 @@ export class FormulaPicker extends React.Component<
132
138
  }
133
139
 
134
140
  static defaultProps = {
135
- evalMode: true
141
+ evalMode: true,
142
+ onlyVariable: false
136
143
  };
137
144
 
138
145
  state: FormulaPickerState = {
@@ -173,8 +180,19 @@ export class FormulaPicker extends React.Component<
173
180
  this.setState({value}, () => this.handleConfirm());
174
181
  }
175
182
 
183
+ @autobind
184
+ handleInputGroupChange(e: React.ChangeEvent<HTMLInputElement>) {
185
+ const onChange = this.props.onChange;
186
+ onChange && onChange(e.currentTarget.value);
187
+ }
188
+
176
189
  @autobind
177
190
  handleEditorChange(value: string) {
191
+ const {onlyVariable} = this.props;
192
+ if (onlyVariable) {
193
+ return this.confirm(value);
194
+ }
195
+
178
196
  this.setState({
179
197
  editorValue: value,
180
198
  isError: false
@@ -185,6 +203,10 @@ export class FormulaPicker extends React.Component<
185
203
  handleEditorConfirm() {
186
204
  const {translate: __} = this.props;
187
205
  const value = this.state.editorValue;
206
+ this.confirm(value);
207
+ }
208
+
209
+ confirm(value: string) {
188
210
  const validate = this.validate(value);
189
211
 
190
212
  if (validate === true) {
@@ -274,6 +296,7 @@ export class FormulaPicker extends React.Component<
274
296
  functions,
275
297
  children,
276
298
  variableMode,
299
+ onlyVariable,
277
300
  ...rest
278
301
  } = this.props;
279
302
  const {isOpened, value, editorValue, isError} = this.state;
@@ -289,8 +312,14 @@ export class FormulaPicker extends React.Component<
289
312
  setState: this.updateState
290
313
  })
291
314
  ) : (
292
- <div className={cx('FormulaPicker', className)}>
293
- {mode === 'button' ? (
315
+ <div
316
+ className={cx(
317
+ 'FormulaPicker',
318
+ className,
319
+ mode === 'input-group' ? 'is-input-group' : ''
320
+ )}
321
+ >
322
+ {mode === 'button' && (
294
323
  <Button
295
324
  className={cx('FormulaPicker-action', 'w-full')}
296
325
  level={level}
@@ -319,7 +348,8 @@ export class FormulaPicker extends React.Component<
319
348
  {__(btnLabel || 'FormulaEditor.btnLabel')}
320
349
  </span>
321
350
  </Button>
322
- ) : (
351
+ )}
352
+ {mode === 'input-button' && (
323
353
  <>
324
354
  <ResultBox
325
355
  className={cx(
@@ -360,6 +390,29 @@ export class FormulaPicker extends React.Component<
360
390
  </Button>
361
391
  </>
362
392
  )}
393
+ {mode === 'input-group' && (
394
+ <>
395
+ <Input
396
+ className={cx('FormulaPicker-input')}
397
+ onChange={this.handleInputGroupChange}
398
+ placeholder={allowInput ? placeholder : ''}
399
+ autoComplete="off"
400
+ value={value}
401
+ disabled={disabled}
402
+ readOnly={!allowInput}
403
+ />
404
+
405
+ <a
406
+ className={cx(`FormulaPicker-toggler`)}
407
+ onClick={this.handleClick}
408
+ >
409
+ <Icon
410
+ icon={onlyVariable ? 'ellipsis-v' : 'function'}
411
+ className="icon"
412
+ />
413
+ </a>
414
+ </>
415
+ )}
363
416
  </div>
364
417
  )}
365
418
  <Modal
@@ -377,6 +430,7 @@ export class FormulaPicker extends React.Component<
377
430
  variables={this.state.variables ?? variables}
378
431
  functions={this.state.functions ?? functions}
379
432
  variableMode={this.state.variableMode ?? variableMode}
433
+ onlyVariable={onlyVariable}
380
434
  value={editorValue}
381
435
  onChange={this.handleEditorChange}
382
436
  />
@@ -389,10 +443,14 @@ export class FormulaPicker extends React.Component<
389
443
  </span>
390
444
  </div>
391
445
  ) : null}
392
- <Button onClick={this.close}>{__('cancel')}</Button>
393
- <Button onClick={this.handleEditorConfirm} level="primary">
394
- {__('confirm')}
395
- </Button>
446
+ {onlyVariable ? null : (
447
+ <>
448
+ <Button onClick={this.close}>{__('cancel')}</Button>
449
+ <Button onClick={this.handleEditorConfirm} level="primary">
450
+ {__('confirm')}
451
+ </Button>
452
+ </>
453
+ )}
396
454
  </Modal.Footer>
397
455
  </Modal>
398
456
  </>
@@ -132,7 +132,7 @@ register('de-DE', {
132
132
  'File.retry': 'Wiederholen',
133
133
  'File.start': 'Hochladen beginnen',
134
134
  'File.upload': 'Hochladen',
135
- 'Image.upload':'Hochladen',
135
+ 'Image.upload': 'Hochladen',
136
136
  'File.uploadFailed': 'Zurückgegebene Daten der Upload-API sind leer',
137
137
  'File.uploading': 'Wird hochgeladen...',
138
138
  'FormItem.autoUpdateloadFaild': 'Die Schnittstelle hat einen Fehler zurückgegeben, bitte sorgfältig prüfen',
@@ -333,5 +333,5 @@ register('de-DE', {
333
333
  'JSONSchema.description': 'Description',
334
334
  'JSONSchema.key': 'Key',
335
335
  'JSONSchema.array_items': 'Items',
336
- 'TimeNow': 'Jetzt',
336
+ 'TimeNow': 'Jetzt'
337
337
  });
@@ -134,7 +134,7 @@ register('en-US', {
134
134
  'File.sizeLimit': 'The maximum file size is {{maxSize}} B',
135
135
  'File.start': 'Start upload',
136
136
  'File.upload': 'Upload',
137
- 'Image.upload':'Upload image',
137
+ 'Image.upload': 'Upload image',
138
138
  'File.uploadFailed': 'return data of udpload api is empty',
139
139
  'File.uploading': 'Uploading',
140
140
  'FormItem.autoUpdateloadFaild': 'return data of autoUpdate api is error',
@@ -336,5 +336,5 @@ register('en-US', {
336
336
  'JSONSchema.description': 'Description',
337
337
  'JSONSchema.key': 'Key',
338
338
  'JSONSchema.array_items': 'Items',
339
- 'TimeNow': 'Now',
339
+ 'TimeNow': 'Now'
340
340
  });
@@ -202,7 +202,7 @@ register('zh-CN', {
202
202
  'Select.clearAll': '移除所有',
203
203
  'Select.createLabel': '新增选项',
204
204
  'Select.placeholder': '请选择',
205
- 'Select.searchPromptText': '输入内容进行检索',
205
+ 'Select.searchPromptText': '搜索',
206
206
  'sort': '排序',
207
207
  'SubForm.button': '设置',
208
208
  'SubForm.editDetail': '编辑详情',
@@ -412,7 +412,8 @@ const ActionProps = [
412
412
  'copyFormat',
413
413
  'payload',
414
414
  'requireSelected',
415
- 'countDown'
415
+ 'countDown',
416
+ 'fileName'
416
417
  ];
417
418
  import {filterContents} from './Remark';
418
419
  import {ClassNamesFn, themeable, ThemeProps} from '../theme';
@@ -670,6 +670,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
670
670
  throw e;
671
671
  }
672
672
  });
673
+ } else if (action.actionType === 'reload') {
674
+ this.reload();
673
675
  } else if (
674
676
  pickerMode &&
675
677
  (action.actionType === 'confirm' || action.actionType === 'submit')
@@ -54,7 +54,7 @@ export interface InputFormulaControlSchema extends FormBaseControl {
54
54
  /**
55
55
  * 控件模式
56
56
  */
57
- inputMode?: 'button' | 'input-button';
57
+ inputMode?: 'button' | 'input-button' | 'input-group';
58
58
 
59
59
  /**
60
60
  * 外层input是否允许输入,否需要点击fx在弹窗中输入
@@ -94,6 +94,11 @@ export interface InputFormulaControlSchema extends FormBaseControl {
94
94
  */
95
95
  borderMode?: 'full' | 'half' | 'none';
96
96
 
97
+ /**
98
+ * 只展示变量,不需要其他面板
99
+ */
100
+ onlyVariable?: boolean;
101
+
97
102
  /**
98
103
  * 输入框占位符
99
104
  */
@@ -123,11 +128,12 @@ export interface InputFormulaProps
123
128
  export class InputFormulaRenderer extends React.Component<InputFormulaProps> {
124
129
  static defaultProps: Pick<
125
130
  InputFormulaControlSchema,
126
- 'inputMode' | 'borderMode' | 'evalMode'
131
+ 'inputMode' | 'borderMode' | 'evalMode' | 'onlyVariable'
127
132
  > = {
128
133
  inputMode: 'input-button',
129
134
  borderMode: 'full',
130
- evalMode: true
135
+ evalMode: true,
136
+ onlyVariable: false
131
137
  };
132
138
 
133
139
  ref: any;
@@ -162,6 +168,7 @@ export class InputFormulaRenderer extends React.Component<InputFormulaProps> {
162
168
  onChange,
163
169
  evalMode,
164
170
  variableMode,
171
+ onlyVariable,
165
172
  header,
166
173
  label,
167
174
  value,
@@ -206,6 +213,7 @@ export class InputFormulaRenderer extends React.Component<InputFormulaProps> {
206
213
  evalMode={evalMode}
207
214
  variables={variables}
208
215
  variableMode={variableMode}
216
+ onlyVariable={onlyVariable}
209
217
  functions={functions}
210
218
  header={header || label || ''}
211
219
  borderMode={borderMode}
@@ -1569,7 +1569,7 @@ export default class ImageControl extends React.Component<
1569
1569
  />
1570
1570
  </a>
1571
1571
  ) : null}
1572
-
1572
+
1573
1573
  {!disabled ? (
1574
1574
  <a
1575
1575
  data-tooltip={__('Select.clear')}
@@ -1636,7 +1636,9 @@ export default class ImageControl extends React.Component<
1636
1636
  ) : (
1637
1637
  <>
1638
1638
  <Icon icon="plus-fine" className="icon" />
1639
- <span className={cx('ImageControl-addBtn-text')}>{__('Image.upload')}</span>
1639
+ <span className={cx('ImageControl-addBtn-text')}>
1640
+ {__('Image.upload')}
1641
+ </span>
1640
1642
  </>
1641
1643
  )}
1642
1644
 
@@ -62,6 +62,11 @@ export interface TreeControlSchema extends FormOptionsControl {
62
62
  */
63
63
  onlyChildren?: boolean;
64
64
 
65
+ /**
66
+ * 单选时,只运行选择叶子节点
67
+ */
68
+ onlyLeaf?: boolean;
69
+
65
70
  /**
66
71
  * 顶级节点是否可以创建子节点
67
72
  */
@@ -174,6 +179,7 @@ export default class TreeControl extends React.Component<TreeProps> {
174
179
  unfoldedLevel,
175
180
  withChildren,
176
181
  onlyChildren,
182
+ onlyLeaf,
177
183
  loading,
178
184
  hideRoot,
179
185
  rootLabel,
@@ -228,6 +234,7 @@ export default class TreeControl extends React.Component<TreeProps> {
228
234
  unfoldedLevel={unfoldedLevel}
229
235
  withChildren={withChildren}
230
236
  onlyChildren={onlyChildren}
237
+ onlyLeaf={onlyLeaf}
231
238
  hideRoot={hideRoot}
232
239
  rootLabel={__(rootLabel)}
233
240
  rootValue={rootValue}
@@ -85,14 +85,27 @@ export interface SelectControlSchema extends FormOptionsControl {
85
85
  * 搜索 API
86
86
  */
87
87
  searchApi?: SchemaApi;
88
+
89
+ /**
90
+ * 单个选项的高度,主要用于虚拟渲染
91
+ */
92
+ itemHeight?: number;
93
+
94
+ /**
95
+ * 在选项数量达到多少时开启虚拟渲染
96
+ */
97
+ virtualThreshold?: number;
98
+
88
99
  /**
89
100
  * 可多选条件下,是否可全选
90
101
  */
91
102
  checkAll?: boolean;
103
+
92
104
  /**
93
105
  * 可多选条件下,是否默认全选中所有值
94
106
  */
95
107
  defaultCheckAll?: boolean;
108
+
96
109
  /**
97
110
  * 可多选条件下,全选项文案,默认 ”全选“
98
111
  */
@@ -972,10 +972,7 @@ export default class Table extends React.Component<TableProps, object> {
972
972
  return;
973
973
  }
974
974
 
975
- onSaveOrder(
976
- movedItems,
977
- items
978
- );
975
+ onSaveOrder(movedItems, items);
979
976
  }
980
977
 
981
978
  syncSelected() {
@@ -2300,7 +2297,10 @@ export default class Table extends React.Component<TableProps, object> {
2300
2297
  onClick={async () => {
2301
2298
  const {data, dispatchEvent} = this.props;
2302
2299
 
2303
- const allToggled = !(store.activeToggaleColumns.length === store.toggableColumns.length);
2300
+ const allToggled = !(
2301
+ store.activeToggaleColumns.length ===
2302
+ store.toggableColumns.length
2303
+ );
2304
2304
  const rendererEvent = await dispatchEvent(
2305
2305
  'columnToggled',
2306
2306
  createObject(data, {
@@ -2341,9 +2341,11 @@ export default class Table extends React.Component<TableProps, object> {
2341
2341
  key={column.index}
2342
2342
  onClick={async () => {
2343
2343
  const {data, dispatchEvent} = this.props;
2344
- let columns = store.activeToggaleColumns.map(item => item.pristine);
2344
+ let columns = store.activeToggaleColumns.map(
2345
+ item => item.pristine
2346
+ );
2345
2347
  if (!column.toggled) {
2346
- columns.push(column.pristine)
2348
+ columns.push(column.pristine);
2347
2349
  } else {
2348
2350
  columns = columns.filter(c => c.name !== column.pristine.name);
2349
2351
  }
@@ -18,7 +18,8 @@ import {
18
18
  BaseSchema,
19
19
  SchemaClassName,
20
20
  SchemaCollection,
21
- SchemaIcon
21
+ SchemaIcon,
22
+ SchemaExpression
22
23
  } from '../Schema';
23
24
  import {ActionSchema} from './Action';
24
25
  import {filter} from '../utils/tpl';
@@ -194,11 +195,16 @@ export interface TabsSchema extends BaseSchema {
194
195
  * 自定义增加按钮文案
195
196
  */
196
197
  addBtnText?: string;
198
+
199
+ /**
200
+ * 默认激活的选项卡,hash值或索引值,支持使用表达式
201
+ */
202
+ activeKey?: SchemaExpression;
197
203
  }
198
204
 
199
205
  export interface TabsProps
200
206
  extends RendererProps,
201
- Omit<TabsSchema, 'className' | 'contentClassName'> {
207
+ Omit<TabsSchema, 'className' | 'contentClassName' | 'activeKey'> {
202
208
  activeKey?: string | number;
203
209
  location?: any;
204
210
  tabRender?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;
@@ -327,6 +333,8 @@ export default class Tabs extends React.Component<TabsProps, TabsState> {
327
333
  componentDidUpdate(preProps: TabsProps, prevState: any) {
328
334
  const props = this.props;
329
335
  let localTabs = this.state.localTabs;
336
+ const prevActiveKey = tokenize(preProps.defaultActiveKey, preProps.data);
337
+ const activeKey = tokenize(props.defaultActiveKey, props.data);
330
338
 
331
339
  // 响应外部修改 tabs
332
340
  const isTabsModified = isObjectShallowModified(
@@ -409,6 +417,26 @@ export default class Tabs extends React.Component<TabsProps, TabsState> {
409
417
  prevKey: undefined,
410
418
  activeKey: (this.activeKey = activeKey)
411
419
  });
420
+ } else if (prevActiveKey !== activeKey) {
421
+ if (activeKey == null) {
422
+ return;
423
+ }
424
+
425
+ let newActivedKey = null;
426
+ const tab = find(localTabs, item => item.hash === activeKey);
427
+
428
+ if (tab) {
429
+ newActivedKey = tab.hash;
430
+ } else if (typeof activeKey === 'number' && localTabs[activeKey]) {
431
+ newActivedKey = activeKey;
432
+ }
433
+
434
+ if (newActivedKey) {
435
+ this.setState({
436
+ prevKey: prevActiveKey,
437
+ activeKey: (this.activeKey = newActivedKey)
438
+ });
439
+ }
412
440
  }
413
441
 
414
442
  this.autoJumpToNeighbour(this.activeKey);
@@ -578,7 +606,9 @@ export default class Tabs extends React.Component<TabsProps, TabsState> {
578
606
  }
579
607
  });
580
608
  // 获取激活元素项
581
- const tab = localTabs?.find((item, index) => key === (item.hash ? item.hash : index));
609
+ const tab = localTabs?.find(
610
+ (item, index) => key === (item.hash ? item.hash : index)
611
+ );
582
612
 
583
613
  const rendererEvent = await dispatchEvent(
584
614
  'change',