amis 1.8.0-beta.1 → 1.8.0-beta.13

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 (426) hide show
  1. package/lib/Schema.d.ts +9 -2
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/SchemaRenderer.js +19 -3
  4. package/lib/SchemaRenderer.js.map +2 -2
  5. package/lib/WithRootStore.d.ts +18 -0
  6. package/lib/WithStore.js +2 -1
  7. package/lib/WithStore.js.map +2 -2
  8. package/lib/actions/CmptAction.js +26 -4
  9. package/lib/actions/CmptAction.js.map +2 -2
  10. package/lib/actions/PageAction.d.ts +32 -0
  11. package/lib/actions/PageAction.js +72 -0
  12. package/lib/actions/PageAction.js.map +13 -0
  13. package/lib/actions/index.d.ts +1 -0
  14. package/lib/actions/index.js +1 -0
  15. package/lib/actions/index.js.map +2 -2
  16. package/lib/components/AssociatedSelection.js +9 -2
  17. package/lib/components/AssociatedSelection.js.map +2 -2
  18. package/lib/components/BarCode.js +1 -1
  19. package/lib/components/BarCode.js.map +2 -2
  20. package/lib/components/CalendarMobile.d.ts +84 -84
  21. package/lib/components/Cascader.d.ts +2 -0
  22. package/lib/components/Cascader.js +28 -12
  23. package/lib/components/Cascader.js.map +2 -2
  24. package/lib/components/Checkbox.d.ts +24 -23
  25. package/lib/components/Checkbox.js +5 -1
  26. package/lib/components/Checkbox.js.map +2 -2
  27. package/lib/components/Collapse.d.ts +20 -20
  28. package/lib/components/DatePicker.d.ts +84 -84
  29. package/lib/components/DatePicker.js +8 -5
  30. package/lib/components/DatePicker.js.map +2 -2
  31. package/lib/components/DateRangePicker.d.ts +285 -171
  32. package/lib/components/DateRangePicker.js +471 -66
  33. package/lib/components/DateRangePicker.js.map +2 -2
  34. package/lib/components/Drawer.js +1 -1
  35. package/lib/components/Drawer.js.map +2 -2
  36. package/lib/components/ListGroup.d.ts +21 -21
  37. package/lib/components/Modal.js +1 -1
  38. package/lib/components/Modal.js.map +2 -2
  39. package/lib/components/MonthRangePicker.d.ts +84 -84
  40. package/lib/components/Overlay.d.ts +1 -0
  41. package/lib/components/Overlay.js +4 -3
  42. package/lib/components/Overlay.js.map +2 -2
  43. package/lib/components/Progress.d.ts +29 -24
  44. package/lib/components/Progress.js +44 -16
  45. package/lib/components/Progress.js.map +2 -2
  46. package/lib/components/PullRefresh.d.ts +86 -0
  47. package/lib/components/PullRefresh.js +135 -0
  48. package/lib/components/PullRefresh.js.map +13 -0
  49. package/lib/components/Radios.d.ts +22 -22
  50. package/lib/components/Radios.js +3 -5
  51. package/lib/components/Radios.js.map +2 -2
  52. package/lib/components/Range.d.ts +2 -2
  53. package/lib/components/Range.js +24 -11
  54. package/lib/components/Range.js.map +2 -2
  55. package/lib/components/Spinner.d.ts +200 -107
  56. package/lib/components/Spinner.js +30 -26
  57. package/lib/components/Spinner.js.map +2 -2
  58. package/lib/components/Steps.d.ts +6 -0
  59. package/lib/components/Steps.js +13 -9
  60. package/lib/components/Steps.js.map +2 -2
  61. package/lib/components/Tooltip.d.ts +4 -0
  62. package/lib/components/Tooltip.js +6 -4
  63. package/lib/components/Tooltip.js.map +2 -2
  64. package/lib/components/TooltipWrapper.d.ts +66 -4
  65. package/lib/components/TooltipWrapper.js +40 -8
  66. package/lib/components/TooltipWrapper.js.map +2 -2
  67. package/lib/components/Transfer.d.ts +84 -84
  68. package/lib/components/TransferDropDown.d.ts +84 -84
  69. package/lib/components/Tree.d.ts +87 -85
  70. package/lib/components/Tree.js +13 -5
  71. package/lib/components/Tree.js.map +2 -2
  72. package/lib/components/TreeSelection.d.ts +84 -84
  73. package/lib/components/calendar/Calendar.js +0 -13
  74. package/lib/components/calendar/Calendar.js.map +2 -2
  75. package/lib/components/calendar/TimeView.d.ts +1 -0
  76. package/lib/components/calendar/TimeView.js +7 -0
  77. package/lib/components/calendar/TimeView.js.map +2 -2
  78. package/lib/components/calendar/YearsView.js +3 -3
  79. package/lib/components/calendar/YearsView.js.map +2 -2
  80. package/lib/components/condition-builder/Expression.d.ts +1 -0
  81. package/lib/components/condition-builder/Expression.js +4 -4
  82. package/lib/components/condition-builder/Expression.js.map +2 -2
  83. package/lib/components/condition-builder/Field.d.ts +1 -0
  84. package/lib/components/condition-builder/Field.js +3 -2
  85. package/lib/components/condition-builder/Field.js.map +2 -2
  86. package/lib/components/condition-builder/Group.d.ts +1 -0
  87. package/lib/components/condition-builder/Group.js +2 -2
  88. package/lib/components/condition-builder/Group.js.map +2 -2
  89. package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
  90. package/lib/components/condition-builder/GroupOrItem.js +2 -2
  91. package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
  92. package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
  93. package/lib/components/condition-builder/InputSwitch.js +2 -2
  94. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  95. package/lib/components/condition-builder/Item.d.ts +1 -0
  96. package/lib/components/condition-builder/Item.js +9 -8
  97. package/lib/components/condition-builder/Item.js.map +2 -2
  98. package/lib/components/condition-builder/Value.d.ts +1 -0
  99. package/lib/components/condition-builder/Value.js +5 -5
  100. package/lib/components/condition-builder/Value.js.map +2 -2
  101. package/lib/components/condition-builder/index.d.ts +1 -0
  102. package/lib/components/condition-builder/index.js +2 -2
  103. package/lib/components/condition-builder/index.js.map +2 -2
  104. package/lib/components/formula/Editor.d.ts +87 -85
  105. package/lib/components/formula/Editor.js +10 -6
  106. package/lib/components/formula/Editor.js.map +2 -2
  107. package/lib/components/formula/Picker.js +3 -1
  108. package/lib/components/formula/Picker.js.map +2 -2
  109. package/lib/factory.d.ts +5 -0
  110. package/lib/factory.js +22 -1
  111. package/lib/factory.js.map +2 -2
  112. package/lib/index.js +1 -1
  113. package/lib/locale/de-DE.js +18 -1
  114. package/lib/locale/de-DE.js.map +2 -2
  115. package/lib/locale/en-US.js +18 -1
  116. package/lib/locale/en-US.js.map +2 -2
  117. package/lib/locale/zh-CN.js +18 -1
  118. package/lib/locale/zh-CN.js.map +2 -2
  119. package/lib/renderers/Action.d.ts +2 -0
  120. package/lib/renderers/Action.js +23 -5
  121. package/lib/renderers/Action.js.map +2 -2
  122. package/lib/renderers/App.d.ts +1 -0
  123. package/lib/renderers/App.js +3 -0
  124. package/lib/renderers/App.js.map +2 -2
  125. package/lib/renderers/CRUD.d.ts +8 -0
  126. package/lib/renderers/CRUD.js +12 -5
  127. package/lib/renderers/CRUD.js.map +2 -2
  128. package/lib/renderers/Carousel.d.ts +1 -0
  129. package/lib/renderers/Carousel.js +13 -1
  130. package/lib/renderers/Carousel.js.map +2 -2
  131. package/lib/renderers/Chart.d.ts +1 -0
  132. package/lib/renderers/Chart.js +3 -0
  133. package/lib/renderers/Chart.js.map +2 -2
  134. package/lib/renderers/Dialog.d.ts +1 -0
  135. package/lib/renderers/Dialog.js +3 -0
  136. package/lib/renderers/Dialog.js.map +2 -2
  137. package/lib/renderers/Drawer.d.ts +1 -0
  138. package/lib/renderers/Drawer.js +6 -1
  139. package/lib/renderers/Drawer.js.map +2 -2
  140. package/lib/renderers/Form/Checkbox.d.ts +5 -2
  141. package/lib/renderers/Form/Checkbox.js +2 -2
  142. package/lib/renderers/Form/Checkbox.js.map +2 -2
  143. package/lib/renderers/Form/Checkboxes.d.ts +7 -2
  144. package/lib/renderers/Form/Checkboxes.js +101 -12
  145. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  146. package/lib/renderers/Form/Combo.d.ts +2 -1
  147. package/lib/renderers/Form/Combo.js +54 -16
  148. package/lib/renderers/Form/Combo.js.map +2 -2
  149. package/lib/renderers/Form/DiffEditor.d.ts +3 -2
  150. package/lib/renderers/Form/Editor.d.ts +2 -2
  151. package/lib/renderers/Form/InputCity.d.ts +87 -84
  152. package/lib/renderers/Form/InputCity.js +44 -2
  153. package/lib/renderers/Form/InputCity.js.map +2 -2
  154. package/lib/renderers/Form/InputDate.js +10 -3
  155. package/lib/renderers/Form/InputDate.js.map +2 -2
  156. package/lib/renderers/Form/InputDateRange.d.ts +5 -0
  157. package/lib/renderers/Form/InputDateRange.js +12 -3
  158. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  159. package/lib/renderers/Form/InputFile.js +19 -8
  160. package/lib/renderers/Form/InputFile.js.map +2 -2
  161. package/lib/renderers/Form/InputImage.js +18 -7
  162. package/lib/renderers/Form/InputImage.js.map +2 -2
  163. package/lib/renderers/Form/InputMonthRange.js +5 -1
  164. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  165. package/lib/renderers/Form/InputRange.js +13 -14
  166. package/lib/renderers/Form/InputRange.js.map +2 -2
  167. package/lib/renderers/Form/InputText.d.ts +1 -1
  168. package/lib/renderers/Form/InputText.js +8 -10
  169. package/lib/renderers/Form/InputText.js.map +2 -2
  170. package/lib/renderers/Form/InputTree.d.ts +5 -0
  171. package/lib/renderers/Form/InputTree.js +51 -2
  172. package/lib/renderers/Form/InputTree.js.map +2 -2
  173. package/lib/renderers/Form/Item.d.ts +79 -76
  174. package/lib/renderers/Form/Item.js +3 -1
  175. package/lib/renderers/Form/Item.js.map +2 -2
  176. package/lib/renderers/Form/NestedSelect.d.ts +4 -0
  177. package/lib/renderers/Form/NestedSelect.js +14 -5
  178. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  179. package/lib/renderers/Form/Options.js +61 -27
  180. package/lib/renderers/Form/Options.js.map +2 -2
  181. package/lib/renderers/Form/Select.js +4 -2
  182. package/lib/renderers/Form/Select.js.map +2 -2
  183. package/lib/renderers/Form/Textarea.js +2 -1
  184. package/lib/renderers/Form/Textarea.js.map +2 -2
  185. package/lib/renderers/Form/TreeSelect.d.ts +11 -2
  186. package/lib/renderers/Form/TreeSelect.js +56 -10
  187. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  188. package/lib/renderers/Form/index.d.ts +3 -0
  189. package/lib/renderers/Form/index.js +53 -16
  190. package/lib/renderers/Form/index.js.map +2 -2
  191. package/lib/renderers/Form/wrapControl.d.ts +10 -0
  192. package/lib/renderers/Form/wrapControl.js +41 -19
  193. package/lib/renderers/Form/wrapControl.js.map +2 -2
  194. package/lib/renderers/Nav.d.ts +82 -67
  195. package/lib/renderers/Nav.js +49 -13
  196. package/lib/renderers/Nav.js.map +2 -2
  197. package/lib/renderers/Page.d.ts +21 -0
  198. package/lib/renderers/Page.js +54 -14
  199. package/lib/renderers/Page.js.map +2 -2
  200. package/lib/renderers/Progress.d.ts +3 -6
  201. package/lib/renderers/Progress.js +2 -2
  202. package/lib/renderers/Progress.js.map +2 -2
  203. package/lib/renderers/Service.d.ts +3 -0
  204. package/lib/renderers/Service.js +55 -20
  205. package/lib/renderers/Service.js.map +2 -2
  206. package/lib/renderers/Spinner.d.ts +58 -2
  207. package/lib/renderers/Spinner.js +8 -1
  208. package/lib/renderers/Spinner.js.map +2 -2
  209. package/lib/renderers/Steps.d.ts +8 -0
  210. package/lib/renderers/Steps.js +2 -2
  211. package/lib/renderers/Steps.js.map +2 -2
  212. package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
  213. package/lib/renderers/Table/ColumnToggler.js +11 -6
  214. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  215. package/lib/renderers/Table/TableCell.js +27 -1
  216. package/lib/renderers/Table/TableCell.js.map +2 -2
  217. package/lib/renderers/Table/index.d.ts +2 -0
  218. package/lib/renderers/Table/index.js +23 -10
  219. package/lib/renderers/Table/index.js.map +2 -2
  220. package/lib/renderers/Tabs.d.ts +4 -0
  221. package/lib/renderers/Tabs.js +22 -6
  222. package/lib/renderers/Tabs.js.map +2 -2
  223. package/lib/renderers/TooltipWrapper.d.ts +35 -6
  224. package/lib/renderers/TooltipWrapper.js +19 -8
  225. package/lib/renderers/TooltipWrapper.js.map +2 -2
  226. package/lib/renderers/Wizard.d.ts +7 -3
  227. package/lib/renderers/Wizard.js +269 -152
  228. package/lib/renderers/Wizard.js.map +2 -2
  229. package/lib/store/combo.d.ts +2 -2
  230. package/lib/store/crud.d.ts +1 -0
  231. package/lib/store/crud.js +55 -19
  232. package/lib/store/crud.js.map +2 -2
  233. package/lib/store/form.d.ts +1 -1
  234. package/lib/store/form.js +5 -1
  235. package/lib/store/form.js.map +2 -2
  236. package/lib/store/formItem.js +1 -1
  237. package/lib/store/formItem.js.map +2 -2
  238. package/lib/store/index.d.ts +5 -0
  239. package/lib/store/index.js +14 -0
  240. package/lib/store/index.js.map +2 -2
  241. package/lib/store/table.d.ts +2 -2
  242. package/lib/store/table.js +2 -2
  243. package/lib/store/table.js.map +2 -2
  244. package/lib/themes/ang-ie11.css +768 -199
  245. package/lib/themes/ang.css +723 -142
  246. package/lib/themes/ang.css.map +1 -1
  247. package/lib/themes/antd-ie11.css +851 -282
  248. package/lib/themes/antd.css +724 -143
  249. package/lib/themes/antd.css.map +1 -1
  250. package/lib/themes/cxd-ie11.css +879 -310
  251. package/lib/themes/cxd.css +727 -146
  252. package/lib/themes/cxd.css.map +1 -1
  253. package/lib/themes/dark-ie11.css +769 -200
  254. package/lib/themes/dark.css +723 -142
  255. package/lib/themes/dark.css.map +1 -1
  256. package/lib/themes/default-ie11.css +879 -310
  257. package/lib/themes/default.css +727 -146
  258. package/lib/themes/default.css.map +1 -1
  259. package/lib/types.d.ts +3 -1
  260. package/lib/types.js.map +1 -1
  261. package/lib/utils/ColorScale.d.ts +19 -0
  262. package/lib/utils/ColorScale.js +104 -0
  263. package/lib/utils/ColorScale.js.map +13 -0
  264. package/lib/utils/api.js +20 -4
  265. package/lib/utils/api.js.map +2 -2
  266. package/lib/utils/columnsSplit.d.ts +1 -0
  267. package/lib/utils/columnsSplit.js +40 -0
  268. package/lib/utils/columnsSplit.js.map +13 -0
  269. package/lib/utils/debug.d.ts +1 -1
  270. package/lib/utils/debug.js +16 -22
  271. package/lib/utils/debug.js.map +2 -2
  272. package/lib/utils/dom.d.ts +1 -1
  273. package/lib/utils/dom.js +7 -5
  274. package/lib/utils/dom.js.map +2 -2
  275. package/lib/utils/position.js +0 -1
  276. package/lib/utils/position.js.map +2 -2
  277. package/lib/utils/scrollPosition.d.ts +6 -0
  278. package/lib/utils/scrollPosition.js +31 -0
  279. package/lib/utils/scrollPosition.js.map +13 -0
  280. package/package.json +3 -2
  281. package/schema.json +29681 -28936
  282. package/scss/_properties.scss +44 -13
  283. package/scss/components/_barcode.scss +1 -1
  284. package/scss/components/_carousel.scss +1 -0
  285. package/scss/components/_column-toggler.scss +21 -11
  286. package/scss/components/_debug.scss +3 -3
  287. package/scss/components/_formula.scss +1 -1
  288. package/scss/components/_nav.scss +51 -6
  289. package/scss/components/_progress.scss +4 -6
  290. package/scss/components/_pull-refresh.scss +25 -0
  291. package/scss/components/_spinner.scss +134 -56
  292. package/scss/components/_steps.scss +199 -8
  293. package/scss/components/_tooltip.scss +4 -9
  294. package/scss/components/form/_checks.scss +125 -2
  295. package/scss/components/form/_combo.scss +13 -1
  296. package/scss/components/form/_date-range.scss +27 -2
  297. package/scss/components/form/_date.scss +13 -1
  298. package/scss/components/form/_editor.scss +2 -1
  299. package/scss/components/form/_file.scss +4 -0
  300. package/scss/components/form/_form.scss +31 -8
  301. package/scss/components/form/_number.scss +3 -2
  302. package/scss/components/form/_select.scss +0 -1
  303. package/scss/components/form/_textarea.scss +1 -23
  304. package/scss/components/form/_transfer.scss +3 -2
  305. package/scss/themes/_antd-variables.scss +1 -1
  306. package/scss/themes/_common.scss +1 -0
  307. package/scss/themes/_cxd-variables.scss +4 -4
  308. package/sdk/ang-ie11.css +816 -182
  309. package/sdk/ang.css +775 -129
  310. package/sdk/antd-ie11.css +896 -262
  311. package/sdk/antd.css +776 -130
  312. package/sdk/barcode.js +51 -51
  313. package/sdk/charts.js +14 -14
  314. package/sdk/codemirror.js +7 -7
  315. package/sdk/color-picker.js +65 -65
  316. package/sdk/cropperjs.js +2 -2
  317. package/sdk/cxd-ie11.css +907 -273
  318. package/sdk/cxd.css +779 -133
  319. package/sdk/dark-ie11.css +817 -183
  320. package/sdk/dark.css +775 -129
  321. package/sdk/exceljs.js +1 -1
  322. package/sdk/locale/de-DE.js +18 -1
  323. package/sdk/markdown.js +69 -69
  324. package/sdk/papaparse.js +1 -1
  325. package/sdk/renderers/Form/CityDB.js +1 -1
  326. package/sdk/rest.js +17 -17
  327. package/sdk/rich-text.js +62 -62
  328. package/sdk/sdk-ie11.css +907 -273
  329. package/sdk/sdk.css +779 -133
  330. package/sdk/sdk.js +1317 -1273
  331. package/sdk/thirds/hls.js/hls.js +1 -1
  332. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  333. package/sdk/tinymce.js +57 -57
  334. package/src/Schema.ts +10 -0
  335. package/src/SchemaRenderer.tsx +32 -14
  336. package/src/WithStore.tsx +3 -1
  337. package/src/actions/CmptAction.ts +28 -0
  338. package/src/actions/PageAction.ts +62 -0
  339. package/src/actions/index.ts +1 -0
  340. package/src/components/AssociatedSelection.tsx +9 -3
  341. package/src/components/BarCode.tsx +2 -2
  342. package/src/components/Cascader.tsx +37 -11
  343. package/src/components/Checkbox.tsx +11 -5
  344. package/src/components/DatePicker.tsx +12 -4
  345. package/src/components/DateRangePicker.tsx +551 -88
  346. package/src/components/Drawer.tsx +1 -0
  347. package/src/components/Modal.tsx +1 -0
  348. package/src/components/Overlay.tsx +6 -3
  349. package/src/components/Progress.tsx +57 -22
  350. package/src/components/PullRefresh.tsx +197 -0
  351. package/src/components/Radios.tsx +6 -17
  352. package/src/components/Range.tsx +26 -12
  353. package/src/components/Spinner.tsx +77 -42
  354. package/src/components/Steps.tsx +28 -27
  355. package/src/components/Tooltip.tsx +12 -3
  356. package/src/components/TooltipWrapper.tsx +137 -33
  357. package/src/components/Tree.tsx +19 -5
  358. package/src/components/calendar/Calendar.tsx +0 -14
  359. package/src/components/calendar/TimeView.tsx +12 -0
  360. package/src/components/calendar/YearsView.tsx +3 -4
  361. package/src/components/condition-builder/Expression.tsx +6 -1
  362. package/src/components/condition-builder/Field.tsx +5 -1
  363. package/src/components/condition-builder/Group.tsx +4 -1
  364. package/src/components/condition-builder/GroupOrItem.tsx +4 -1
  365. package/src/components/condition-builder/InputSwitch.tsx +4 -1
  366. package/src/components/condition-builder/Item.tsx +28 -4
  367. package/src/components/condition-builder/Value.tsx +7 -1
  368. package/src/components/condition-builder/index.tsx +4 -2
  369. package/src/components/formula/Editor.tsx +20 -15
  370. package/src/components/formula/Picker.tsx +9 -5
  371. package/src/factory.tsx +29 -1
  372. package/src/locale/de-DE.ts +18 -1
  373. package/src/locale/en-US.ts +18 -1
  374. package/src/locale/zh-CN.ts +18 -1
  375. package/src/renderers/Action.tsx +22 -1
  376. package/src/renderers/App.tsx +4 -0
  377. package/src/renderers/CRUD.tsx +23 -5
  378. package/src/renderers/Carousel.tsx +8 -0
  379. package/src/renderers/Chart.tsx +4 -0
  380. package/src/renderers/Dialog.tsx +4 -0
  381. package/src/renderers/Drawer.tsx +14 -2
  382. package/src/renderers/Form/Checkbox.tsx +11 -2
  383. package/src/renderers/Form/Checkboxes.tsx +106 -23
  384. package/src/renderers/Form/Combo.tsx +104 -49
  385. package/src/renderers/Form/InputCity.tsx +33 -4
  386. package/src/renderers/Form/InputDate.tsx +18 -4
  387. package/src/renderers/Form/InputDateRange.tsx +27 -3
  388. package/src/renderers/Form/InputFile.tsx +23 -7
  389. package/src/renderers/Form/InputImage.tsx +22 -6
  390. package/src/renderers/Form/InputMonthRange.tsx +7 -1
  391. package/src/renderers/Form/InputRange.tsx +18 -16
  392. package/src/renderers/Form/InputText.tsx +14 -4
  393. package/src/renderers/Form/InputTree.tsx +40 -2
  394. package/src/renderers/Form/Item.tsx +7 -0
  395. package/src/renderers/Form/NestedSelect.tsx +23 -4
  396. package/src/renderers/Form/Options.tsx +26 -7
  397. package/src/renderers/Form/Select.tsx +5 -3
  398. package/src/renderers/Form/Textarea.tsx +3 -1
  399. package/src/renderers/Form/TreeSelect.tsx +47 -9
  400. package/src/renderers/Form/index.tsx +56 -25
  401. package/src/renderers/Form/wrapControl.tsx +23 -12
  402. package/src/renderers/Nav.tsx +231 -33
  403. package/src/renderers/Page.tsx +96 -33
  404. package/src/renderers/Progress.tsx +7 -9
  405. package/src/renderers/Service.tsx +66 -27
  406. package/src/renderers/Spinner.tsx +85 -3
  407. package/src/renderers/Steps.tsx +14 -0
  408. package/src/renderers/Table/ColumnToggler.tsx +36 -11
  409. package/src/renderers/Table/TableCell.tsx +39 -1
  410. package/src/renderers/Table/index.tsx +43 -19
  411. package/src/renderers/Tabs.tsx +75 -28
  412. package/src/renderers/TooltipWrapper.tsx +71 -28
  413. package/src/renderers/Wizard.tsx +169 -93
  414. package/src/store/crud.ts +50 -5
  415. package/src/store/form.ts +8 -3
  416. package/src/store/formItem.ts +1 -2
  417. package/src/store/index.ts +20 -0
  418. package/src/store/table.ts +2 -2
  419. package/src/types.ts +8 -1
  420. package/src/utils/ColorScale.ts +138 -0
  421. package/src/utils/api.ts +26 -4
  422. package/src/utils/columnsSplit.tsx +57 -0
  423. package/src/utils/debug.tsx +17 -24
  424. package/src/utils/dom.tsx +7 -6
  425. package/src/utils/position.ts +0 -1
  426. package/src/utils/scrollPosition.ts +29 -0
@@ -105,6 +105,16 @@ export interface CRUDCommonSchema extends BaseSchema {
105
105
  */
106
106
  perPage?: number;
107
107
 
108
+ /**
109
+ * 默认排序字段
110
+ */
111
+ orderBy?: string;
112
+
113
+ /**
114
+ * 默认排序方向
115
+ */
116
+ orderDir?: 'asc' | 'desc';
117
+
108
118
  /**
109
119
  * 可以默认给定初始参数如: {\"perPage\": 24}
110
120
  */
@@ -772,11 +782,17 @@ export default class CRUD extends React.Component<CRUDProps, any> {
772
782
  }
773
783
 
774
784
  handleFilterInit(values: object) {
775
- const {defaultParams, data, store} = this.props;
785
+ const {defaultParams, data, store, orderBy, orderDir} = this.props;
786
+ const params = {...defaultParams};
787
+
788
+ if (orderBy) {
789
+ params['orderBy'] = orderBy;
790
+ params['orderDir'] = orderDir || 'asc';
791
+ }
776
792
 
777
793
  this.handleFilterSubmit(
778
794
  {
779
- ...defaultParams,
795
+ ...params,
780
796
  ...values,
781
797
  ...store.query
782
798
  },
@@ -1025,7 +1041,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1025
1041
  env,
1026
1042
  loadDataOnce,
1027
1043
  loadDataOnceFetchOnFilter,
1028
- source
1044
+ source,
1045
+ columns
1029
1046
  } = this.props;
1030
1047
 
1031
1048
  // reload 需要清空用户选择。
@@ -1066,7 +1083,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1066
1083
  pageField,
1067
1084
  perPageField,
1068
1085
  loadDataMode,
1069
- syncResponse2Query
1086
+ syncResponse2Query,
1087
+ columns: store.columns ?? columns
1070
1088
  })
1071
1089
  .then(value => {
1072
1090
  interval &&
@@ -1592,7 +1610,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1592
1610
  `bulk-action/${index}`,
1593
1611
  {
1594
1612
  ...omit(btn, ['visibleOn', 'hiddenOn', 'disabledOn']),
1595
- type: 'button',
1613
+ type: btn.type || 'button',
1596
1614
  ignoreConfirm: true
1597
1615
  },
1598
1616
  {
@@ -278,6 +278,13 @@ export class Carousel extends React.Component<CarouselProps, CarouselState> {
278
278
  clearTimeout(this.durationTimeout as number);
279
279
  }
280
280
 
281
+ @autobind
282
+ changeSlide(index: number) {
283
+ this.setState({
284
+ current: index
285
+ });
286
+ }
287
+
281
288
  renderDots() {
282
289
  const {classnames: cx} = this.props;
283
290
  const {current, options} = this.state;
@@ -290,6 +297,7 @@ export class Carousel extends React.Component<CarouselProps, CarouselState> {
290
297
  {Array.from({length: options.length}).map((_, i) => (
291
298
  <span
292
299
  key={i}
300
+ onClick={() => this.changeSlide(i)}
293
301
  className={cx('Carousel-dot', current === i ? 'is-active' : '')}
294
302
  />
295
303
  ))}
@@ -489,4 +489,8 @@ export class ChartRenderer extends Chart {
489
489
  const scoped = this.context as IScopedContext;
490
490
  scoped.unRegisterComponent(this);
491
491
  }
492
+
493
+ setData(values: object) {
494
+ return this.props.store.updateData(values);
495
+ }
492
496
  }
@@ -902,4 +902,8 @@ export class DialogRenderer extends Dialog {
902
902
  const scoped = this.context as IScopedContext;
903
903
  scoped.close(target);
904
904
  }
905
+
906
+ setData(values: object) {
907
+ return this.props.store.updateData(values);
908
+ }
905
909
  }
@@ -458,7 +458,13 @@ export default class Drawer extends React.Component<DrawerProps> {
458
458
  return null;
459
459
  }
460
460
 
461
- const {store, render, classnames: cx, showErrorMsg, footerClassName} = this.props;
461
+ const {
462
+ store,
463
+ render,
464
+ classnames: cx,
465
+ showErrorMsg,
466
+ footerClassName
467
+ } = this.props;
462
468
 
463
469
  return (
464
470
  <div className={cx('Drawer-footer', footerClassName)}>
@@ -623,7 +629,9 @@ export default class Drawer extends React.Component<DrawerProps> {
623
629
  onExited={this.handleExited}
624
630
  closeOnEsc={closeOnEsc}
625
631
  closeOnOutside={
626
- !store.drawerOpen && !store.dialogOpen && (closeOnOutside || !showCloseButton)
632
+ !store.drawerOpen &&
633
+ !store.dialogOpen &&
634
+ (closeOnOutside || !showCloseButton)
627
635
  }
628
636
  container={
629
637
  drawerContainer
@@ -955,4 +963,8 @@ export class DrawerRenderer extends Drawer {
955
963
  const scoped = this.context as IScopedContext;
956
964
  scoped.close(target);
957
965
  }
966
+
967
+ setData(values: object) {
968
+ return this.props.store.updateData(values);
969
+ }
958
970
  }
@@ -19,12 +19,12 @@ export interface CheckboxControlSchema extends FormBaseControl {
19
19
  /**
20
20
  * 勾选值
21
21
  */
22
- trueValue?: any;
22
+ trueValue?: boolean | string | number;
23
23
 
24
24
  /**
25
25
  * 未勾选值
26
26
  */
27
- falseValue?: any;
27
+ falseValue?: boolean | string | number;
28
28
 
29
29
  /**
30
30
  * 选项说明
@@ -35,6 +35,9 @@ export interface CheckboxControlSchema extends FormBaseControl {
35
35
  * 角标
36
36
  */
37
37
  badge?: BadgeSchema;
38
+ partial?: boolean;
39
+ optionType?: 'default' | 'button';
40
+ checked?: boolean;
38
41
  }
39
42
 
40
43
  export interface CheckboxProps
@@ -89,6 +92,9 @@ export default class CheckboxControl extends React.Component<
89
92
  onChange,
90
93
  disabled,
91
94
  render,
95
+ partial,
96
+ optionType,
97
+ checked,
92
98
  classPrefix: ns
93
99
  } = this.props;
94
100
 
@@ -101,6 +107,9 @@ export default class CheckboxControl extends React.Component<
101
107
  falseValue={falseValue}
102
108
  disabled={disabled}
103
109
  onChange={(value: any) => this.dispatchChangeEvent(value)}
110
+ partial={partial}
111
+ optionType={optionType}
112
+ checked={checked}
104
113
  >
105
114
  {option ? render('option', option) : null}
106
115
  </Checkbox>
@@ -7,10 +7,11 @@ import {
7
7
  } from './Options';
8
8
  import cx from 'classnames';
9
9
  import Checkbox from '../../components/Checkbox';
10
- import chunk from 'lodash/chunk';
10
+
11
11
  import {Icon} from '../../components/icons';
12
12
  import {Api} from '../../types';
13
13
  import {autobind, hasAbility} from '../../utils/helper';
14
+ import {columnsSplit} from '../../utils/columnsSplit';
14
15
 
15
16
  /**
16
17
  * 复选框
@@ -32,7 +33,7 @@ export interface CheckboxesControlSchema extends FormOptionsControl {
32
33
  /**
33
34
  * 每行显示多少个
34
35
  */
35
- columnsCount?: number;
36
+ columnsCount?: number | number[];
36
37
  }
37
38
 
38
39
  export interface CheckboxesProps
@@ -47,7 +48,7 @@ export interface CheckboxesProps
47
48
  > {
48
49
  placeholder?: any;
49
50
  itemClassName?: string;
50
- columnsCount?: number;
51
+ columnsCount?: number | number[];
51
52
  labelClassName?: string;
52
53
  onAdd?: () => void;
53
54
  addApi?: Api;
@@ -55,6 +56,7 @@ export interface CheckboxesProps
55
56
  createBtnLabel: string;
56
57
  editable?: boolean;
57
58
  removable?: boolean;
59
+ optionType?: 'default' | 'button'
58
60
  }
59
61
 
60
62
  export default class CheckboxesControl extends React.Component<
@@ -67,7 +69,8 @@ export default class CheckboxesControl extends React.Component<
67
69
  placeholder: 'placeholder.noOption',
68
70
  creatable: false,
69
71
  inline: true,
70
- createBtnLabel: 'Select.createLabel'
72
+ createBtnLabel: 'Select.createLabel',
73
+ optionType: 'default'
71
74
  };
72
75
 
73
76
  reload() {
@@ -97,6 +100,97 @@ export default class CheckboxesControl extends React.Component<
97
100
  onDelete && onDelete(item);
98
101
  }
99
102
 
103
+ componentDidMount() {
104
+ this.updateBorderStyle();
105
+ window.addEventListener('resize', this.updateBorderStyle);
106
+ }
107
+
108
+ componentWillMount() {
109
+ window.removeEventListener('resize', this.updateBorderStyle);
110
+ }
111
+
112
+ @autobind
113
+ updateBorderStyle() {
114
+ if (this.props.optionType !== 'button') {
115
+ return;
116
+ }
117
+ const wrapDom = this.refs.checkboxRef as HTMLElement;
118
+ const wrapWidth = wrapDom.clientWidth;
119
+ const childs = Array.from(wrapDom.children) as HTMLElement[];
120
+
121
+ childs.forEach(child => {
122
+ child.style.borderRadius = '0';
123
+ child.style.borderLeftWidth = '1px';
124
+ child.style.borderTopWidth = '1px';
125
+ });
126
+ const childTotalWidth = childs.reduce((pre, next) =>
127
+ pre + next.clientWidth, 0);
128
+ if (childTotalWidth <= wrapWidth) {
129
+ if (childs.length === 1) {
130
+ childs[0].style.borderRadius = "4px";
131
+ }
132
+ else {
133
+ childs[0].style.borderRadius = "4px 0 0 4px";
134
+ childs[childs.length - 1].style.borderRadius = "0 4px 4px 0";
135
+ childs.forEach((child, idx) => {
136
+ idx !== 0 && (child.style.borderLeftWidth = '0');
137
+ });
138
+ }
139
+ }
140
+ else {
141
+ let curRowWidth = 0;
142
+ let curRow = 0;
143
+ const rowNum = Math.floor(childTotalWidth / wrapWidth);
144
+ const rowColArr: any[] = [];
145
+ for (let i = 0; i <= rowNum; i++) {
146
+ const arr: HTMLElement[] = [];
147
+ rowColArr[i] = arr;
148
+ }
149
+ childs.forEach((child: HTMLElement, idx: number) => {
150
+ curRowWidth += child.clientWidth;
151
+ if (curRowWidth > wrapWidth) {
152
+ curRowWidth = child.clientWidth;
153
+ curRow++;
154
+ }
155
+ if (curRow > rowNum) {
156
+ return;
157
+ }
158
+ rowColArr[curRow].push(child);
159
+ });
160
+
161
+ rowColArr.forEach((row: HTMLElement[], rowIdx: number) => {
162
+ if (rowIdx === 0) {
163
+ row.forEach((r: HTMLElement, colIdx: number) => {
164
+ r.style.borderRadius = '0';
165
+ colIdx !== 0 && (r.style.borderLeftWidth = '0');
166
+ row.length > rowColArr[rowIdx + 1].length
167
+ && (row[row.length - 1].style.borderBottomRightRadius = "4px");
168
+ });
169
+ row[0].style.borderTopLeftRadius = "4px";
170
+ row[row.length - 1].style.borderTopRightRadius = "4px";
171
+ }
172
+ else if (rowIdx === rowNum) {
173
+ row.forEach((r: HTMLElement, colIdx: number) => {
174
+ r.style.borderRadius = '0';
175
+ colIdx !== 0 && (r.style.borderLeftWidth = '0');
176
+ r.style.borderTopWidth = '0';
177
+ row[0].style.borderBottomLeftRadius = "4px";
178
+ row[row.length - 1].style.borderBottomRightRadius = "4px";
179
+ });
180
+ }
181
+ else {
182
+ row.forEach((r: HTMLElement, colIdx: number) => {
183
+ r.style.borderRadius = '0';
184
+ colIdx !== 0 && (r.style.borderLeftWidth = '0');
185
+ r.style.borderTopWidth = '0';
186
+ row.length > rowColArr[rowIdx + 1].length
187
+ && (row[row.length - 1].style.borderBottomRightRadius = "4px");
188
+ });
189
+ }
190
+ });
191
+ }
192
+ }
193
+
100
194
  renderGroup(option: Option, index: number) {
101
195
  const {classnames: cx, labelField} = this.props;
102
196
 
@@ -135,7 +229,8 @@ export default class CheckboxesControl extends React.Component<
135
229
  labelField,
136
230
  removable,
137
231
  editable,
138
- translate: __
232
+ translate: __,
233
+ optionType
139
234
  } = this.props;
140
235
 
141
236
  return (
@@ -148,6 +243,7 @@ export default class CheckboxesControl extends React.Component<
148
243
  inline={inline}
149
244
  labelClassName={labelClassName}
150
245
  description={option.description}
246
+ optionType={optionType}
151
247
  >
152
248
  {String(option[labelField || 'label'])}
153
249
  {removable && hasAbility(option, 'removable') ? (
@@ -190,7 +286,8 @@ export default class CheckboxesControl extends React.Component<
190
286
  creatable,
191
287
  addApi,
192
288
  createBtnLabel,
193
- translate: __
289
+ translate: __,
290
+ optionType
194
291
  } = this.props;
195
292
 
196
293
  let body: Array<React.ReactNode> = [];
@@ -199,7 +296,7 @@ export default class CheckboxesControl extends React.Component<
199
296
  body = options.map((option, key) => this.renderItem(option, key));
200
297
  }
201
298
 
202
- if (checkAll && body.length) {
299
+ if (checkAll && body.length && optionType === 'default') {
203
300
  body.unshift(
204
301
  <Checkbox
205
302
  key="checkall"
@@ -221,24 +318,10 @@ export default class CheckboxesControl extends React.Component<
221
318
  );
222
319
  }
223
320
 
224
- if ((columnsCount as number) > 1) {
225
- let weight = 12 / (columnsCount as number);
226
- let cellClassName = `Grid-col--sm${
227
- weight === Math.round(weight) ? weight : ''
228
- }`;
229
- body = chunk(body, columnsCount).map((group, groupIndex) => (
230
- <div className={cx('Grid')} key={groupIndex}>
231
- {Array.from({length: columnsCount as number}).map((_, index) => (
232
- <div key={index} className={cx(cellClassName)}>
233
- {group[index]}
234
- </div>
235
- ))}
236
- </div>
237
- ));
238
- }
321
+ body = columnsSplit(body, cx, columnsCount);
239
322
 
240
323
  return (
241
- <div className={cx(`CheckboxesControl`, className)}>
324
+ <div className={cx(`CheckboxesControl`, className)} ref="checkboxRef">
242
325
  {body && body.length ? (
243
326
  body
244
327
  ) : (
@@ -1,13 +1,8 @@
1
1
  import React from 'react';
2
2
  import {findDOMNode} from 'react-dom';
3
3
  import cloneDeep from 'lodash/cloneDeep';
4
- import {
5
- FormItem,
6
- FormControlProps,
7
- FormBaseControl,
8
- FormControlSchemaAlias
9
- } from './Item';
10
- import {Schema, Action, Api} from '../../types';
4
+ import {FormItem, FormControlProps, FormBaseControl} from './Item';
5
+ import {Action, Api} from '../../types';
11
6
  import {ComboStore, IComboStore} from '../../store/combo';
12
7
  import {default as CTabs, Tab} from '../../components/Tabs';
13
8
  import Button from '../../components/Button';
@@ -26,7 +21,7 @@ import {evalExpression, filter} from '../../utils/tpl';
26
21
  import find from 'lodash/find';
27
22
  import Select from '../../components/Select';
28
23
  import {dataMapping, resolveVariable} from '../../utils/tpl-builtin';
29
- import {isEffectiveApi} from '../../utils/api';
24
+ import {isEffectiveApi, str2AsyncFunction} from '../../utils/api';
30
25
  import {Alert2} from '../../components';
31
26
  import memoize from 'lodash/memoize';
32
27
  import {Icon} from '../../components/icons';
@@ -34,8 +29,6 @@ import {isAlive} from 'mobx-state-tree';
34
29
  import {
35
30
  SchemaApi,
36
31
  SchemaClassName,
37
- SchemaCollection,
38
- SchemaIcon,
39
32
  SchemaObject,
40
33
  SchemaTpl
41
34
  } from '../../Schema';
@@ -369,7 +362,7 @@ export default class ComboControl extends React.Component<ComboProps> {
369
362
  this.handleFormInit = this.handleFormInit.bind(this);
370
363
  this.handleAction = this.handleAction.bind(this);
371
364
  this.addItem = this.addItem.bind(this);
372
- this.removeItem = this.removeItem.bind(this);
365
+ this.deleteItem = this.deleteItem.bind(this);
373
366
  this.dragTipRef = this.dragTipRef.bind(this);
374
367
  this.flush = this.flush.bind(this);
375
368
  this.handleComboTypeChange = this.handleComboTypeChange.bind(this);
@@ -525,7 +518,7 @@ export default class ComboControl extends React.Component<ComboProps> {
525
518
  this.props.onChange(value, submitOnChange, true);
526
519
  }
527
520
 
528
- async removeItem(key: number) {
521
+ async deleteItem(key: number) {
529
522
  const {
530
523
  flat,
531
524
  joinValues,
@@ -642,7 +635,8 @@ export default class ComboControl extends React.Component<ComboProps> {
642
635
 
643
636
  if (
644
637
  syncDefaultValue === false ||
645
- this.subFormDefaultValues.length !== this.subForms.length
638
+ this.subFormDefaultValues.length !==
639
+ this.subForms.filter(item => item !== undefined).length
646
640
  ) {
647
641
  return;
648
642
  }
@@ -698,7 +692,7 @@ export default class ComboControl extends React.Component<ComboProps> {
698
692
  const {onAction} = this.props;
699
693
 
700
694
  if (action.actionType === 'delete') {
701
- action.index !== void 0 && this.removeItem(action.index);
695
+ action.index !== void 0 && this.deleteItem(action.index);
702
696
  return;
703
697
  }
704
698
 
@@ -1053,8 +1047,8 @@ export default class ComboControl extends React.Component<ComboProps> {
1053
1047
  ) {
1054
1048
  toolbar = (
1055
1049
  <div
1056
- onClick={this.removeItem.bind(this, index)}
1057
- key="remove"
1050
+ onClick={this.deleteItem.bind(this, index)}
1051
+ key="delete"
1058
1052
  className={cx(
1059
1053
  `Combo-tab-delBtn ${!store.removable ? 'is-disabled' : ''}`
1060
1054
  )}
@@ -1160,6 +1154,99 @@ export default class ComboControl extends React.Component<ComboProps> {
1160
1154
  );
1161
1155
  }
1162
1156
 
1157
+ renderDelBtn(value: any, index: number) {
1158
+ const {
1159
+ classPrefix: ns,
1160
+ classnames: cx,
1161
+ render,
1162
+ store,
1163
+ deleteIcon,
1164
+ translate: __,
1165
+ itemRemovableOn,
1166
+ disabled,
1167
+ removable,
1168
+ deleteBtn
1169
+ } = this.props;
1170
+
1171
+ const finnalRemovable =
1172
+ store.removable !== false && // minLength ?
1173
+ !disabled && // 控件自身是否禁用
1174
+ removable !== false; // 是否可以删除
1175
+
1176
+ if (
1177
+ !(
1178
+ finnalRemovable && // 表达式判断单条是否可删除
1179
+ (!itemRemovableOn || evalExpression(itemRemovableOn, value) !== false)
1180
+ )
1181
+ ) {
1182
+ // 不符合删除条件,则不渲染删除按钮
1183
+ return null;
1184
+ }
1185
+
1186
+ // deleteBtn是对象,则根据自定义配置渲染按钮
1187
+ if (isObject(deleteBtn)) {
1188
+ return render('delete-btn', {
1189
+ ...deleteBtn,
1190
+ type: 'button',
1191
+ className: cx(
1192
+ 'Combo-delController',
1193
+ deleteBtn ? deleteBtn.classname : ''
1194
+ ),
1195
+ onClick: (e: any) => {
1196
+ if (!deleteBtn.onClick) {
1197
+ this.deleteItem(index);
1198
+ return;
1199
+ }
1200
+
1201
+ let originClickHandler = deleteBtn.onClick;
1202
+ if (typeof originClickHandler === 'string') {
1203
+ originClickHandler = str2AsyncFunction(
1204
+ deleteBtn.onClick,
1205
+ 'e',
1206
+ 'index',
1207
+ 'props'
1208
+ );
1209
+ }
1210
+ const result = originClickHandler(e, index, this.props);
1211
+ if (result && result.then) {
1212
+ result.then(() => {
1213
+ this.deleteItem(index);
1214
+ });
1215
+ } else {
1216
+ this.deleteItem(index);
1217
+ }
1218
+ }
1219
+ });
1220
+ }
1221
+
1222
+ // deleteBtn是string,则渲染按钮文本
1223
+ if (typeof deleteBtn === 'string') {
1224
+ return render('delete-btn', {
1225
+ type: 'button',
1226
+ className: cx('Combo-delController'),
1227
+ label: deleteBtn,
1228
+ onClick: this.deleteItem.bind(this, index)
1229
+ });
1230
+ }
1231
+
1232
+ // 如果上述按钮不满足,则渲染默认按钮
1233
+ return (
1234
+ <a
1235
+ onClick={this.deleteItem.bind(this, index)}
1236
+ key="delete"
1237
+ className={cx(`Combo-delBtn ${!store.removable ? 'is-disabled' : ''}`)}
1238
+ data-tooltip={__('delete')}
1239
+ data-position="bottom"
1240
+ >
1241
+ {deleteIcon ? (
1242
+ <i className={deleteIcon} />
1243
+ ) : (
1244
+ <Icon icon="status-close" className="icon" />
1245
+ )}
1246
+ </a>
1247
+ );
1248
+ }
1249
+
1163
1250
  renderMultipe() {
1164
1251
  if (this.props.tabsMode) {
1165
1252
  return this.renderTabsMode();
@@ -1182,12 +1269,10 @@ export default class ComboControl extends React.Component<ComboProps> {
1182
1269
  addable,
1183
1270
  removable,
1184
1271
  typeSwitchable,
1185
- itemRemovableOn,
1186
1272
  delimiter,
1187
1273
  canAccessSuperData,
1188
1274
  addIcon,
1189
1275
  dragIcon,
1190
- deleteIcon,
1191
1276
  noBorder,
1192
1277
  conditions,
1193
1278
  lazyLoad,
@@ -1205,11 +1290,6 @@ export default class ComboControl extends React.Component<ComboProps> {
1205
1290
  value = value.split(delimiter || ',');
1206
1291
  }
1207
1292
 
1208
- const finnalRemovable =
1209
- store.removable !== false && // minLength ?
1210
- !disabled && // 控件自身是否禁用
1211
- removable !== false; // 是否可以删除
1212
-
1213
1293
  return (
1214
1294
  <div
1215
1295
  className={cx(
@@ -1225,30 +1305,7 @@ export default class ComboControl extends React.Component<ComboProps> {
1225
1305
  <div className={cx(`Combo-items`, itemsWrapperClassName)}>
1226
1306
  {Array.isArray(value) && value.length ? (
1227
1307
  value.map((value, index, thelist) => {
1228
- let delBtn: any = null;
1229
-
1230
- if (
1231
- finnalRemovable && // 表达式判断单条是否可删除
1232
- (!itemRemovableOn ||
1233
- evalExpression(itemRemovableOn, value) !== false)
1234
- ) {
1235
- delBtn = (
1236
- <Button
1237
- key="remove"
1238
- className={cx('Combo-delBtn')}
1239
- disabled={!store.removable}
1240
- tooltip={__('delete')}
1241
- tooltipPlacement="bottom"
1242
- onClick={this.removeItem.bind(this, index)}
1243
- >
1244
- {deleteIcon ? (
1245
- <i className={deleteIcon} />
1246
- ) : (
1247
- <Icon icon="status-close" className="icon" />
1248
- )}
1249
- </Button>
1250
- );
1251
- }
1308
+ let delBtn: any = this.renderDelBtn(value, index);
1252
1309
 
1253
1310
  const data = this.formatValue(value, index);
1254
1311
  let condition: ComboCondition | null = null;
@@ -1372,9 +1429,7 @@ export default class ComboControl extends React.Component<ComboProps> {
1372
1429
  )
1373
1430
  ) : (
1374
1431
  <Button
1375
- level="default"
1376
1432
  className={cx(`Combo-addBtn`, addButtonClassName)}
1377
- block
1378
1433
  tooltip={__('Combo.add')}
1379
1434
  onClick={this.addItem}
1380
1435
  >