amis 1.10.0 → 1.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (536) 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/Schema.d.ts +1 -1
  6. package/lib/Schema.js.map +1 -1
  7. package/lib/SchemaRenderer.js +4 -4
  8. package/lib/SchemaRenderer.js.map +1 -1
  9. package/lib/Scoped.js +1 -1
  10. package/lib/Scoped.js.map +1 -1
  11. package/lib/WithRootStore.js +1 -1
  12. package/lib/WithRootStore.js.map +1 -1
  13. package/lib/WithStore.js +1 -1
  14. package/lib/WithStore.js.map +1 -1
  15. package/lib/actions/AjaxAction.js +1 -1
  16. package/lib/actions/AjaxAction.js.map +1 -1
  17. package/lib/actions/Decorators.js +1 -1
  18. package/lib/actions/Decorators.js.map +1 -1
  19. package/lib/actions/EmailAction.js +1 -1
  20. package/lib/actions/EmailAction.js.map +1 -1
  21. package/lib/actions/LoopAction.js +2 -2
  22. package/lib/actions/LoopAction.js.map +1 -1
  23. package/lib/compat.js +1 -1
  24. package/lib/compat.js.map +1 -1
  25. package/lib/components/Alert2.d.ts +10 -10
  26. package/lib/components/Alert2.js +2 -2
  27. package/lib/components/Alert2.js.map +1 -1
  28. package/lib/components/AnchorNav.js +1 -1
  29. package/lib/components/AnchorNav.js.map +1 -1
  30. package/lib/components/ArrayInput.js +2 -2
  31. package/lib/components/ArrayInput.js.map +1 -1
  32. package/lib/components/AsideNav.js +4 -4
  33. package/lib/components/AsideNav.js.map +1 -1
  34. package/lib/components/Avatar.d.ts +10 -10
  35. package/lib/components/Avatar.js +3 -3
  36. package/lib/components/Avatar.js.map +1 -1
  37. package/lib/components/Badge.js +10 -10
  38. package/lib/components/Badge.js.map +1 -1
  39. package/lib/components/BaiduMapPicker.js +1 -1
  40. package/lib/components/BaiduMapPicker.js.map +1 -1
  41. package/lib/components/Breadcrumb.js +1 -1
  42. package/lib/components/Breadcrumb.js.map +1 -1
  43. package/lib/components/Button.js +3 -3
  44. package/lib/components/Button.js.map +1 -1
  45. package/lib/components/CalendarMobile.js +2 -2
  46. package/lib/components/CalendarMobile.js.map +1 -1
  47. package/lib/components/Card.js +1 -1
  48. package/lib/components/Card.js.map +1 -1
  49. package/lib/components/ChainedSelection.js +1 -1
  50. package/lib/components/ChainedSelection.js.map +1 -1
  51. package/lib/components/Checkbox.js +10 -4
  52. package/lib/components/Checkbox.js.map +2 -2
  53. package/lib/components/Collapse.js +3 -3
  54. package/lib/components/Collapse.js.map +1 -1
  55. package/lib/components/ColorPicker.js +5 -5
  56. package/lib/components/ColorPicker.js.map +1 -1
  57. package/lib/components/ContextMenu.js +3 -3
  58. package/lib/components/ContextMenu.js.map +1 -1
  59. package/lib/components/DatePicker.js +3 -3
  60. package/lib/components/DatePicker.js.map +1 -1
  61. package/lib/components/DateRangePicker.js +14 -14
  62. package/lib/components/DateRangePicker.js.map +1 -1
  63. package/lib/components/Drawer.js +10 -10
  64. package/lib/components/Drawer.js.map +1 -1
  65. package/lib/components/Editor.js +3 -3
  66. package/lib/components/Editor.js.map +1 -1
  67. package/lib/components/GridNav.js +11 -11
  68. package/lib/components/GridNav.js.map +1 -1
  69. package/lib/components/InputBox.js +1 -1
  70. package/lib/components/InputBox.js.map +1 -1
  71. package/lib/components/Layout.js +1 -1
  72. package/lib/components/Layout.js.map +1 -1
  73. package/lib/components/ListGroup.d.ts +10 -10
  74. package/lib/components/ListGroup.js +1 -1
  75. package/lib/components/ListGroup.js.map +1 -1
  76. package/lib/components/Modal.js +4 -4
  77. package/lib/components/Modal.js.map +1 -1
  78. package/lib/components/MonthRangePicker.js +13 -13
  79. package/lib/components/MonthRangePicker.js.map +1 -1
  80. package/lib/components/NumberInput.js +3 -3
  81. package/lib/components/NumberInput.js.map +1 -1
  82. package/lib/components/Picker.js +4 -4
  83. package/lib/components/Picker.js.map +1 -1
  84. package/lib/components/PickerColumn.js +4 -4
  85. package/lib/components/PickerColumn.js.map +1 -1
  86. package/lib/components/PopOver.js +2 -2
  87. package/lib/components/PopOver.js.map +1 -1
  88. package/lib/components/PopUp.js +10 -10
  89. package/lib/components/PopUp.js.map +1 -1
  90. package/lib/components/Progress.js +5 -5
  91. package/lib/components/Progress.js.map +1 -1
  92. package/lib/components/PullRefresh.js +2 -2
  93. package/lib/components/PullRefresh.js.map +1 -1
  94. package/lib/components/Radios.js +2 -2
  95. package/lib/components/Radios.js.map +1 -1
  96. package/lib/components/Range.js +9 -3
  97. package/lib/components/Range.js.map +2 -2
  98. package/lib/components/Rating.js +1 -1
  99. package/lib/components/Rating.js.map +1 -1
  100. package/lib/components/ResultBox.d.ts +41 -40
  101. package/lib/components/ResultBox.js +26 -22
  102. package/lib/components/ResultBox.js.map +2 -2
  103. package/lib/components/ResultList.js +5 -5
  104. package/lib/components/ResultList.js.map +1 -1
  105. package/lib/components/ResultTreeList.js +1 -1
  106. package/lib/components/ResultTreeList.js.map +1 -1
  107. package/lib/components/SearchBox.d.ts +40 -40
  108. package/lib/components/Select.js +14 -10
  109. package/lib/components/Select.js.map +2 -2
  110. package/lib/components/SparkLine.js +3 -3
  111. package/lib/components/SparkLine.js.map +1 -1
  112. package/lib/components/Spinner.js +2 -2
  113. package/lib/components/Spinner.js.map +1 -1
  114. package/lib/components/Steps.d.ts +1 -0
  115. package/lib/components/Steps.js +10 -8
  116. package/lib/components/Steps.js.map +2 -2
  117. package/lib/components/Switch.js +2 -2
  118. package/lib/components/Switch.js.map +1 -1
  119. package/lib/components/Tabs.js +5 -5
  120. package/lib/components/Tabs.js.map +1 -1
  121. package/lib/components/Tag.js +3 -3
  122. package/lib/components/Tag.js.map +1 -1
  123. package/lib/components/Textarea.js +2 -2
  124. package/lib/components/Textarea.js.map +1 -1
  125. package/lib/components/Timeline.js +1 -1
  126. package/lib/components/Timeline.js.map +1 -1
  127. package/lib/components/TimelineItem.js +3 -3
  128. package/lib/components/TimelineItem.js.map +1 -1
  129. package/lib/components/Toast.js +3 -3
  130. package/lib/components/Toast.js.map +1 -1
  131. package/lib/components/Tooltip.js +1 -1
  132. package/lib/components/Tooltip.js.map +1 -1
  133. package/lib/components/TransferSearch.js +1 -1
  134. package/lib/components/TransferSearch.js.map +1 -1
  135. package/lib/components/Tree.js +5 -5
  136. package/lib/components/Tree.js.map +1 -1
  137. package/lib/components/TreeSelection.js +2 -2
  138. package/lib/components/TreeSelection.js.map +1 -1
  139. package/lib/components/UserSelect.js +4 -4
  140. package/lib/components/UserSelect.js.map +1 -1
  141. package/lib/components/WithRemoteConfig.js +1 -1
  142. package/lib/components/WithRemoteConfig.js.map +1 -1
  143. package/lib/components/WithStore.js +1 -1
  144. package/lib/components/WithStore.js.map +1 -1
  145. package/lib/components/calendar/DaysView.js +2 -2
  146. package/lib/components/calendar/DaysView.js.map +1 -1
  147. package/lib/components/calendar/QuartersView.js +1 -1
  148. package/lib/components/calendar/QuartersView.js.map +1 -1
  149. package/lib/components/calendar/TimeView.js +2 -2
  150. package/lib/components/calendar/TimeView.js.map +1 -1
  151. package/lib/components/condition-builder/Group.js +2 -2
  152. package/lib/components/condition-builder/Group.js.map +1 -1
  153. package/lib/components/condition-builder/GroupOrItem.js +1 -1
  154. package/lib/components/condition-builder/GroupOrItem.js.map +1 -1
  155. package/lib/components/condition-builder/index.d.ts +12 -2
  156. package/lib/components/condition-builder/index.js +40 -4
  157. package/lib/components/condition-builder/index.js.map +2 -2
  158. package/lib/components/formula/Editor.js +5 -5
  159. package/lib/components/formula/Editor.js.map +1 -1
  160. package/lib/components/formula/Picker.d.ts +0 -1
  161. package/lib/components/formula/Picker.js +8 -17
  162. package/lib/components/formula/Picker.js.map +2 -2
  163. package/lib/components/formula/VariableList.js +7 -7
  164. package/lib/components/formula/VariableList.js.map +1 -1
  165. package/lib/components/formula/plugin.js +1 -1
  166. package/lib/components/formula/plugin.js.map +1 -1
  167. package/lib/components/icons.js +1 -1
  168. package/lib/components/icons.js.map +1 -1
  169. package/lib/components/schema-editor/SchemaVariableList.js +1 -1
  170. package/lib/components/schema-editor/SchemaVariableList.js.map +1 -1
  171. package/lib/components/table/Cell.js +2 -2
  172. package/lib/components/table/Cell.js.map +1 -1
  173. package/lib/components/table/HeadCellFilter.js +1 -1
  174. package/lib/components/table/HeadCellFilter.js.map +1 -1
  175. package/lib/components/table/HeadCellSelect.js +1 -1
  176. package/lib/components/table/HeadCellSelect.js.map +1 -1
  177. package/lib/components/table/index.d.ts +9 -7
  178. package/lib/components/table/index.js +111 -111
  179. package/lib/components/table/index.js.map +2 -2
  180. package/lib/components/virtual-list/SizeAndPositionManager.js +4 -4
  181. package/lib/components/virtual-list/SizeAndPositionManager.js.map +1 -1
  182. package/lib/env.js +1 -1
  183. package/lib/env.js.map +1 -1
  184. package/lib/factory.js +3 -3
  185. package/lib/factory.js.map +1 -1
  186. package/lib/index.d.ts +1 -0
  187. package/lib/index.js +2 -1
  188. package/lib/index.js.map +2 -2
  189. package/lib/locale.js +1 -1
  190. package/lib/locale.js.map +1 -1
  191. package/lib/renderers/AnchorNav.js +1 -1
  192. package/lib/renderers/AnchorNav.js.map +1 -1
  193. package/lib/renderers/App.js +2 -2
  194. package/lib/renderers/App.js.map +1 -1
  195. package/lib/renderers/Audio.js +2 -2
  196. package/lib/renderers/Audio.js.map +1 -1
  197. package/lib/renderers/ButtonGroup.d.ts +2 -2
  198. package/lib/renderers/ButtonGroup.js.map +1 -1
  199. package/lib/renderers/CRUD.js +8 -8
  200. package/lib/renderers/CRUD.js.map +1 -1
  201. package/lib/renderers/CRUD2.d.ts +213 -0
  202. package/lib/renderers/CRUD2.js +724 -0
  203. package/lib/renderers/CRUD2.js.map +13 -0
  204. package/lib/renderers/Card.js +6 -6
  205. package/lib/renderers/Card.js.map +1 -1
  206. package/lib/renderers/Card2.d.ts +1 -1
  207. package/lib/renderers/Card2.js +1 -2
  208. package/lib/renderers/Card2.js.map +2 -2
  209. package/lib/renderers/Cards.d.ts +3 -0
  210. package/lib/renderers/Cards.js +62 -15
  211. package/lib/renderers/Cards.js.map +2 -2
  212. package/lib/renderers/Carousel.js +2 -2
  213. package/lib/renderers/Carousel.js.map +1 -1
  214. package/lib/renderers/Chart.js +2 -2
  215. package/lib/renderers/Chart.js.map +1 -1
  216. package/lib/renderers/Dialog.js +5 -5
  217. package/lib/renderers/Dialog.js.map +1 -1
  218. package/lib/renderers/Divider.js +1 -1
  219. package/lib/renderers/Divider.js.map +1 -1
  220. package/lib/renderers/Drawer.js +4 -4
  221. package/lib/renderers/Drawer.js.map +1 -1
  222. package/lib/renderers/DropDownButton.js +5 -5
  223. package/lib/renderers/DropDownButton.js.map +1 -1
  224. package/lib/renderers/Each.js +1 -1
  225. package/lib/renderers/Each.js.map +1 -1
  226. package/lib/renderers/Flex.js +2 -2
  227. package/lib/renderers/Flex.js.map +1 -1
  228. package/lib/renderers/Form/ButtonGroupSelect.js +4 -4
  229. package/lib/renderers/Form/ButtonGroupSelect.js.map +1 -1
  230. package/lib/renderers/Form/ButtonToolbar.js +1 -1
  231. package/lib/renderers/Form/ButtonToolbar.js.map +1 -1
  232. package/lib/renderers/Form/ChainedSelect.js +2 -2
  233. package/lib/renderers/Form/ChainedSelect.js.map +1 -1
  234. package/lib/renderers/Form/ChartRadios.js +1 -1
  235. package/lib/renderers/Form/ChartRadios.js.map +1 -1
  236. package/lib/renderers/Form/Checkbox.js +1 -1
  237. package/lib/renderers/Form/Checkbox.js.map +1 -1
  238. package/lib/renderers/Form/Combo.js +8 -8
  239. package/lib/renderers/Form/Combo.js.map +1 -1
  240. package/lib/renderers/Form/ConditionBuilder.d.ts +10 -0
  241. package/lib/renderers/Form/ConditionBuilder.js +6 -2
  242. package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
  243. package/lib/renderers/Form/DiffEditor.d.ts +66 -20
  244. package/lib/renderers/Form/DiffEditor.js +2 -2
  245. package/lib/renderers/Form/DiffEditor.js.map +1 -1
  246. package/lib/renderers/Form/Editor.d.ts +66 -20
  247. package/lib/renderers/Form/Editor.js +4 -4
  248. package/lib/renderers/Form/Editor.js.map +1 -1
  249. package/lib/renderers/Form/FieldSet.js +1 -1
  250. package/lib/renderers/Form/FieldSet.js.map +1 -1
  251. package/lib/renderers/Form/Group.js +4 -4
  252. package/lib/renderers/Form/Group.js.map +1 -1
  253. package/lib/renderers/Form/IconPicker.js +2 -2
  254. package/lib/renderers/Form/IconPicker.js.map +1 -1
  255. package/lib/renderers/Form/InputColor.js +1 -1
  256. package/lib/renderers/Form/InputColor.js.map +1 -1
  257. package/lib/renderers/Form/InputDateRange.js +1 -1
  258. package/lib/renderers/Form/InputDateRange.js.map +1 -1
  259. package/lib/renderers/Form/InputFile.js +5 -5
  260. package/lib/renderers/Form/InputFile.js.map +1 -1
  261. package/lib/renderers/Form/InputFormula.js +1 -1
  262. package/lib/renderers/Form/InputFormula.js.map +2 -2
  263. package/lib/renderers/Form/InputGroup.js +1 -1
  264. package/lib/renderers/Form/InputGroup.js.map +1 -1
  265. package/lib/renderers/Form/InputImage.d.ts +1 -1
  266. package/lib/renderers/Form/InputImage.js +8 -4
  267. package/lib/renderers/Form/InputImage.js.map +2 -2
  268. package/lib/renderers/Form/InputMonthRange.js +1 -1
  269. package/lib/renderers/Form/InputMonthRange.js.map +1 -1
  270. package/lib/renderers/Form/InputNumber.js +2 -2
  271. package/lib/renderers/Form/InputNumber.js.map +1 -1
  272. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  273. package/lib/renderers/Form/InputQuarterRange.js.map +1 -1
  274. package/lib/renderers/Form/InputRange.js +2 -2
  275. package/lib/renderers/Form/InputRange.js.map +1 -1
  276. package/lib/renderers/Form/InputRepeat.js +2 -2
  277. package/lib/renderers/Form/InputRepeat.js.map +1 -1
  278. package/lib/renderers/Form/InputRichText.js +2 -2
  279. package/lib/renderers/Form/InputRichText.js.map +1 -1
  280. package/lib/renderers/Form/InputSubForm.js +5 -5
  281. package/lib/renderers/Form/InputSubForm.js.map +1 -1
  282. package/lib/renderers/Form/InputTable.js +2 -2
  283. package/lib/renderers/Form/InputTable.js.map +1 -1
  284. package/lib/renderers/Form/InputTag.js +1 -1
  285. package/lib/renderers/Form/InputTag.js.map +1 -1
  286. package/lib/renderers/Form/InputText.js +12 -12
  287. package/lib/renderers/Form/InputText.js.map +1 -1
  288. package/lib/renderers/Form/InputTree.js +1 -1
  289. package/lib/renderers/Form/InputTree.js.map +1 -1
  290. package/lib/renderers/Form/InputYearRange.js +1 -1
  291. package/lib/renderers/Form/InputYearRange.js.map +1 -1
  292. package/lib/renderers/Form/Item.d.ts +4 -0
  293. package/lib/renderers/Form/Item.js +8 -8
  294. package/lib/renderers/Form/Item.js.map +2 -2
  295. package/lib/renderers/Form/ListSelect.js +2 -2
  296. package/lib/renderers/Form/ListSelect.js.map +1 -1
  297. package/lib/renderers/Form/NestedSelect.js +1 -1
  298. package/lib/renderers/Form/NestedSelect.js.map +1 -1
  299. package/lib/renderers/Form/Options.js +2 -2
  300. package/lib/renderers/Form/Options.js.map +1 -1
  301. package/lib/renderers/Form/Picker.js +3 -3
  302. package/lib/renderers/Form/Picker.js.map +1 -1
  303. package/lib/renderers/Form/Radios.js +1 -1
  304. package/lib/renderers/Form/Radios.js.map +1 -1
  305. package/lib/renderers/Form/Select.js +3 -3
  306. package/lib/renderers/Form/Select.js.map +1 -1
  307. package/lib/renderers/Form/Static.js +1 -1
  308. package/lib/renderers/Form/Static.js.map +1 -1
  309. package/lib/renderers/Form/TabsTransfer.js +1 -1
  310. package/lib/renderers/Form/TabsTransfer.js.map +1 -1
  311. package/lib/renderers/Form/TabsTransferPicker.js +1 -1
  312. package/lib/renderers/Form/TabsTransferPicker.js.map +1 -1
  313. package/lib/renderers/Form/Transfer.js +3 -3
  314. package/lib/renderers/Form/Transfer.js.map +1 -1
  315. package/lib/renderers/Form/TreeSelect.d.ts +0 -1
  316. package/lib/renderers/Form/TreeSelect.js +5 -13
  317. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  318. package/lib/renderers/Form/index.js +11 -7
  319. package/lib/renderers/Form/index.js.map +2 -2
  320. package/lib/renderers/Grid.js +7 -7
  321. package/lib/renderers/Grid.js.map +1 -1
  322. package/lib/renderers/Grid2D.js +1 -1
  323. package/lib/renderers/Grid2D.js.map +1 -1
  324. package/lib/renderers/HBox.js +5 -5
  325. package/lib/renderers/HBox.js.map +1 -1
  326. package/lib/renderers/IFrame.js +1 -1
  327. package/lib/renderers/IFrame.js.map +1 -1
  328. package/lib/renderers/Icon.d.ts +1 -1
  329. package/lib/renderers/Icon.js +16 -11
  330. package/lib/renderers/Icon.js.map +2 -2
  331. package/lib/renderers/Image.js +3 -3
  332. package/lib/renderers/Image.js.map +1 -1
  333. package/lib/renderers/List.js +14 -14
  334. package/lib/renderers/List.js.map +1 -1
  335. package/lib/renderers/Mapping.js +1 -1
  336. package/lib/renderers/Mapping.js.map +1 -1
  337. package/lib/renderers/Operation.js +1 -1
  338. package/lib/renderers/Operation.js.map +1 -1
  339. package/lib/renderers/Page.js +7 -7
  340. package/lib/renderers/Page.js.map +1 -1
  341. package/lib/renderers/Panel.js +2 -2
  342. package/lib/renderers/Panel.js.map +1 -1
  343. package/lib/renderers/PopOver.js +2 -2
  344. package/lib/renderers/PopOver.js.map +1 -1
  345. package/lib/renderers/Portlet.js +10 -10
  346. package/lib/renderers/Portlet.js.map +1 -1
  347. package/lib/renderers/Property.js +3 -3
  348. package/lib/renderers/Property.js.map +1 -1
  349. package/lib/renderers/QRCode.js +1 -1
  350. package/lib/renderers/QRCode.js.map +1 -1
  351. package/lib/renderers/QuickEdit.js +11 -11
  352. package/lib/renderers/QuickEdit.js.map +1 -1
  353. package/lib/renderers/Remark.js +1 -1
  354. package/lib/renderers/Remark.js.map +1 -1
  355. package/lib/renderers/Service.js +2 -2
  356. package/lib/renderers/Service.js.map +1 -1
  357. package/lib/renderers/Status.js +1 -1
  358. package/lib/renderers/Status.js.map +1 -1
  359. package/lib/renderers/Table/ColumnToggler.js +5 -5
  360. package/lib/renderers/Table/ColumnToggler.js.map +1 -1
  361. package/lib/renderers/Table/HeadCellFilterDropdown.js +2 -2
  362. package/lib/renderers/Table/HeadCellFilterDropdown.js.map +1 -1
  363. package/lib/renderers/Table/HeadCellSearchDropdown.js +2 -2
  364. package/lib/renderers/Table/HeadCellSearchDropdown.js.map +1 -1
  365. package/lib/renderers/Table/ItemActionsWrapper.js +2 -2
  366. package/lib/renderers/Table/ItemActionsWrapper.js.map +1 -1
  367. package/lib/renderers/Table/TableBody.js +3 -3
  368. package/lib/renderers/Table/TableBody.js.map +1 -1
  369. package/lib/renderers/Table/TableContent.js +1 -1
  370. package/lib/renderers/Table/TableContent.js.map +1 -1
  371. package/lib/renderers/Table/TableRow.js +4 -4
  372. package/lib/renderers/Table/TableRow.js.map +1 -1
  373. package/lib/renderers/Table/index.js +32 -32
  374. package/lib/renderers/Table/index.js.map +2 -2
  375. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +1 -1
  376. package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +1 -1
  377. package/lib/renderers/Table-v2/index.d.ts +8 -5
  378. package/lib/renderers/Table-v2/index.js +88 -59
  379. package/lib/renderers/Table-v2/index.js.map +2 -2
  380. package/lib/renderers/TableView.js +4 -4
  381. package/lib/renderers/TableView.js.map +1 -1
  382. package/lib/renderers/Tabs.js +4 -4
  383. package/lib/renderers/Tabs.js.map +1 -1
  384. package/lib/renderers/Tasks.js +1 -1
  385. package/lib/renderers/Tasks.js.map +1 -1
  386. package/lib/renderers/Tpl.js +1 -1
  387. package/lib/renderers/Tpl.js.map +1 -1
  388. package/lib/renderers/VBox.js +2 -2
  389. package/lib/renderers/VBox.js.map +1 -1
  390. package/lib/renderers/Video.js +4 -4
  391. package/lib/renderers/Video.js.map +1 -1
  392. package/lib/renderers/Wizard.js +7 -7
  393. package/lib/renderers/Wizard.js.map +1 -1
  394. package/lib/renderers/Wrapper.js +1 -1
  395. package/lib/renderers/Wrapper.js.map +1 -1
  396. package/lib/store/app.js +3 -3
  397. package/lib/store/app.js.map +1 -1
  398. package/lib/store/combo.d.ts +72 -22
  399. package/lib/store/crud.d.ts +2 -0
  400. package/lib/store/crud.js +22 -2
  401. package/lib/store/crud.js.map +2 -2
  402. package/lib/store/form.d.ts +30 -9
  403. package/lib/store/form.js +30 -12
  404. package/lib/store/form.js.map +2 -2
  405. package/lib/store/formItem.d.ts +3 -1
  406. package/lib/store/formItem.js +6 -8
  407. package/lib/store/formItem.js.map +2 -2
  408. package/lib/store/list.d.ts +2 -0
  409. package/lib/store/list.js +8 -0
  410. package/lib/store/list.js.map +2 -2
  411. package/lib/store/node.js +2 -2
  412. package/lib/store/node.js.map +1 -1
  413. package/lib/store/table-v2.js +7 -7
  414. package/lib/store/table-v2.js.map +1 -1
  415. package/lib/store/table.d.ts +60 -18
  416. package/lib/store/table.js +6 -6
  417. package/lib/store/table.js.map +1 -1
  418. package/lib/theme.js +1 -1
  419. package/lib/theme.js.map +1 -1
  420. package/lib/themes/ang-ie11.css +187 -30
  421. package/lib/themes/ang.css +190 -31
  422. package/lib/themes/ang.css.map +1 -1
  423. package/lib/themes/antd-ie11.css +182 -25
  424. package/lib/themes/antd.css +190 -31
  425. package/lib/themes/antd.css.map +1 -1
  426. package/lib/themes/cxd-ie11.css +189 -32
  427. package/lib/themes/cxd.css +192 -33
  428. package/lib/themes/cxd.css.map +1 -1
  429. package/lib/themes/dark-ie11.css +184 -27
  430. package/lib/themes/dark.css +190 -31
  431. package/lib/themes/dark.css.map +1 -1
  432. package/lib/themes/default-ie11.css +189 -32
  433. package/lib/themes/default.css +192 -33
  434. package/lib/themes/default.css.map +1 -1
  435. package/lib/types.d.ts +1 -1
  436. package/lib/types.js.map +1 -1
  437. package/lib/utils/ColorScale.js +4 -4
  438. package/lib/utils/ColorScale.js.map +1 -1
  439. package/lib/utils/api.js +7 -7
  440. package/lib/utils/api.js.map +1 -1
  441. package/lib/utils/autobind.js +2 -2
  442. package/lib/utils/autobind.js.map +1 -1
  443. package/lib/utils/columnsSplit.js +2 -2
  444. package/lib/utils/columnsSplit.js.map +1 -1
  445. package/lib/utils/debug.js +13 -13
  446. package/lib/utils/debug.js.map +1 -1
  447. package/lib/utils/dom.js +1 -1
  448. package/lib/utils/dom.js.map +1 -1
  449. package/lib/utils/filter-schema.js +1 -1
  450. package/lib/utils/filter-schema.js.map +1 -1
  451. package/lib/utils/formula.js +1 -1
  452. package/lib/utils/formula.js.map +1 -1
  453. package/lib/utils/helper.js +6 -6
  454. package/lib/utils/helper.js.map +1 -1
  455. package/lib/utils/icon.js +7 -0
  456. package/lib/utils/icon.js.map +2 -2
  457. package/lib/utils/resize-sensor.js +1 -1
  458. package/lib/utils/resize-sensor.js.map +1 -1
  459. package/lib/utils/style.js +1 -1
  460. package/lib/utils/style.js.map +1 -1
  461. package/lib/utils/tpl-builtin.js +1 -1
  462. package/lib/utils/tpl-builtin.js.map +1 -1
  463. package/lib/utils/tpl-lodash.js +1 -1
  464. package/lib/utils/tpl-lodash.js.map +1 -1
  465. package/lib/utils/tpl.js +2 -2
  466. package/lib/utils/tpl.js.map +1 -1
  467. package/lib/utils/validations.js +2 -2
  468. package/lib/utils/validations.js.map +1 -1
  469. package/package.json +1 -1
  470. package/schema.json +231 -365
  471. package/scss/_properties.scss +5 -3
  472. package/scss/components/_condition-builder.scss +11 -0
  473. package/scss/components/_crud.scss +8 -3
  474. package/scss/components/_crud2.scss +148 -0
  475. package/scss/components/_formula.scss +2 -3
  476. package/scss/components/_result-box.scss +25 -7
  477. package/scss/components/_steps.scss +21 -26
  478. package/scss/components/_table-v2.scss +1 -3
  479. package/scss/components/form/_checks.scss +26 -16
  480. package/scss/components/form/_select.scss +4 -0
  481. package/scss/themes/_common.scss +1 -0
  482. package/scss/themes/_cxd-variables.scss +2 -2
  483. package/sdk/ang-ie11.css +228 -32
  484. package/sdk/ang.css +231 -33
  485. package/sdk/antd-ie11.css +223 -27
  486. package/sdk/antd.css +231 -33
  487. package/sdk/barcode.js +51 -51
  488. package/sdk/charts.js +17 -17
  489. package/sdk/codemirror.js +7 -7
  490. package/sdk/color-picker.js +65 -65
  491. package/sdk/cropperjs.js +3 -3
  492. package/sdk/cxd-ie11.css +230 -34
  493. package/sdk/cxd.css +233 -35
  494. package/sdk/dark-ie11.css +225 -29
  495. package/sdk/dark.css +231 -33
  496. package/sdk/exceljs.js +1 -1
  497. package/sdk/markdown.js +69 -69
  498. package/sdk/papaparse.js +3 -3
  499. package/sdk/renderers/Form/CityDB.js +1 -1
  500. package/sdk/rest.js +16 -16
  501. package/sdk/rich-text.js +62 -62
  502. package/sdk/sdk-ie11.css +230 -34
  503. package/sdk/sdk.css +233 -35
  504. package/sdk/sdk.js +1663 -1775
  505. package/sdk/thirds/hls.js/hls.js +19 -19
  506. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  507. package/sdk/tinymce.js +57 -57
  508. package/src/Schema.ts +1 -0
  509. package/src/components/Checkbox.tsx +10 -3
  510. package/src/components/Range.tsx +14 -7
  511. package/src/components/ResultBox.tsx +65 -54
  512. package/src/components/Select.tsx +10 -7
  513. package/src/components/Steps.tsx +60 -18
  514. package/src/components/condition-builder/index.tsx +107 -8
  515. package/src/components/formula/Picker.tsx +27 -16
  516. package/src/components/table/index.tsx +190 -193
  517. package/src/index.tsx +1 -0
  518. package/src/renderers/ButtonGroup.tsx +2 -2
  519. package/src/renderers/CRUD2.tsx +1213 -0
  520. package/src/renderers/Card2.tsx +2 -3
  521. package/src/renderers/Cards.tsx +55 -10
  522. package/src/renderers/Form/ConditionBuilder.tsx +19 -2
  523. package/src/renderers/Form/InputFormula.tsx +1 -1
  524. package/src/renderers/Form/InputImage.tsx +7 -5
  525. package/src/renderers/Form/Item.tsx +11 -1
  526. package/src/renderers/Form/TreeSelect.tsx +14 -16
  527. package/src/renderers/Form/index.tsx +7 -2
  528. package/src/renderers/Icon.tsx +8 -1
  529. package/src/renderers/Table/index.tsx +5 -5
  530. package/src/renderers/Table-v2/index.tsx +92 -72
  531. package/src/store/crud.ts +23 -1
  532. package/src/store/form.ts +31 -24
  533. package/src/store/formItem.ts +65 -52
  534. package/src/store/list.ts +10 -0
  535. package/src/types.ts +2 -1
  536. package/src/utils/icon.tsx +9 -0
package/src/Schema.ts CHANGED
@@ -146,6 +146,7 @@ export type SchemaType =
146
146
  | 'color'
147
147
  | 'container'
148
148
  | 'crud'
149
+ | 'crud2'
149
150
  | 'custom'
150
151
  | 'date'
151
152
  | 'static-date' // 这个几个跟表单项同名,再form下面用必须带前缀 static-
@@ -74,7 +74,12 @@ export class Checkbox extends React.Component<CheckboxProps, any> {
74
74
  labelClassName,
75
75
  optionType
76
76
  } = this.props;
77
-
77
+ const _checked = typeof checked !== 'undefined'
78
+ ? checked
79
+ : typeof value === 'undefined'
80
+ ? value
81
+ : value == trueValue;
82
+
78
83
  return (
79
84
  <label
80
85
  className={cx(`Checkbox Checkbox--${type}`, className, {
@@ -82,9 +87,11 @@ export class Checkbox extends React.Component<CheckboxProps, any> {
82
87
  // 'Checkbox--partial': partial
83
88
  [`Checkbox--${size}`]: size,
84
89
  'Checkbox--button': optionType === 'button',
85
- 'Checkbox--button--checked': optionType === 'button' && checked,
90
+ 'Checkbox--button--checked': optionType === 'button' && _checked,
86
91
  'Checkbox--button--disabled--unchecked':
87
- optionType === 'button' && disabled && !checked
92
+ optionType === 'button' && disabled && !_checked,
93
+ 'Checkbox--button--disabled--checked':
94
+ optionType === 'button' && disabled && _checked
88
95
  })}
89
96
  >
90
97
  <input
@@ -530,13 +530,20 @@ export class Range extends React.Component<RangeItemProps, any> {
530
530
  {/* 刻度标记 */}
531
531
  {marks && (
532
532
  <div className={cx('InputRange-marks')}>
533
- {keys(marks).map((key: keyof MarksType) => (
534
- <div key={key} style={{left: this.getOffsetLeft(key)}}>
535
- <span style={(marks[key] as any)?.style}>
536
- {(marks[key] as any)?.label || marks[key]}
537
- </span>
538
- </div>
539
- ))}
533
+ {keys(marks).map((key: keyof MarksType) => {
534
+ const offsetLeft = this.getOffsetLeft(key);
535
+ if (/^\d+%$/.test(offsetLeft)) {
536
+ return (
537
+ <div key={key} style={{left: offsetLeft}}>
538
+ <span style={(marks[key] as any)?.style}>
539
+ {(marks[key] as any)?.label || marks[key]}
540
+ </span>
541
+ </div>
542
+ )
543
+ } else {
544
+ return null;
545
+ }
546
+ })}
540
547
  </div>
541
548
  )}
542
549
  </div>
@@ -27,6 +27,7 @@ export interface ResultBoxProps
27
27
  hasDropDownArrow?: boolean;
28
28
  maxTagCount?: number;
29
29
  overflowTagPopover?: TooltipObject;
30
+ actions?: JSX.Element | JSX.Element[];
30
31
  }
31
32
 
32
33
  export class ResultBox extends React.Component<ResultBoxProps> {
@@ -59,6 +60,7 @@ export class ResultBox extends React.Component<ResultBoxProps> {
59
60
  @autobind
60
61
  clearValue(e: React.MouseEvent<any>) {
61
62
  e.preventDefault();
63
+ e.stopPropagation();
62
64
  this.props.onClear && this.props.onClear(e);
63
65
  this.props.onResultChange && this.props.onResultChange([]);
64
66
  }
@@ -210,6 +212,7 @@ export class ResultBox extends React.Component<ResultBoxProps> {
210
212
  borderMode,
211
213
  useMobileUI,
212
214
  hasDropDownArrow,
215
+ actions,
213
216
  onClear,
214
217
  ...rest
215
218
  } = this.props;
@@ -236,63 +239,71 @@ export class ResultBox extends React.Component<ResultBoxProps> {
236
239
  onFocus={allowInput ? undefined : onFocus}
237
240
  onBlur={allowInput ? undefined : onBlur}
238
241
  >
239
- {Array.isArray(result) && result.length ? (
240
- this.renderMultipeTags(result)
241
- ) : result && !Array.isArray(result) ? (
242
- <span className={cx('ResultBox-singleValue')}>
243
- {isPlainObject(result) ? itemRender(result) : result}
244
- </span>
245
- ) : allowInput && !disabled ? null : (
246
- <span className={cx('ResultBox-placeholder')}>
247
- {__(placeholder || 'placeholder.noData')}
248
- </span>
249
- )}
242
+ <div className={cx('ResultBox-value-wrap')}>
243
+ {Array.isArray(result) && result.length ? (
244
+ this.renderMultipeTags(result)
245
+ ) : result && !Array.isArray(result) ? (
246
+ <span className={cx('ResultBox-singleValue')}>
247
+ {isPlainObject(result) ? itemRender(result) : result}
248
+ </span>
249
+ ) : allowInput && !disabled ? null : (
250
+ <span className={cx('ResultBox-placeholder')}>
251
+ {__(placeholder || 'placeholder.noData')}
252
+ </span>
253
+ )}
250
254
 
251
- {allowInput && !disabled ? (
252
- <Input
253
- {...omit(rest, omitPropsList)}
254
- onKeyPress={onKeyPress}
255
- ref={this.inputRef}
256
- value={value || ''}
257
- onChange={this.handleChange}
258
- placeholder={__(
259
- Array.isArray(result) && result.length
260
- ? inputPlaceholder
261
- : result
262
- ? ''
263
- : placeholder
264
- )}
265
- onFocus={this.handleFocus}
266
- onBlur={this.handleBlur}
267
- />
268
- ) : null}
255
+ {allowInput && !disabled ? (
256
+ <Input
257
+ {...omit(rest, omitPropsList)}
258
+ className={cx('ResultBox-value-input')}
259
+ onKeyPress={onKeyPress}
260
+ ref={this.inputRef}
261
+ value={value || ''}
262
+ onChange={this.handleChange}
263
+ placeholder={__(
264
+ Array.isArray(result) && result.length
265
+ ? inputPlaceholder
266
+ : result
267
+ ? ''
268
+ : placeholder
269
+ )}
270
+ onFocus={this.handleFocus}
271
+ onBlur={this.handleBlur}
272
+ />
273
+ ) : null}
269
274
 
270
- {children}
275
+ {children}
276
+ </div>
271
277
 
272
- {clearable &&
273
- !disabled &&
274
- (Array.isArray(result) ? result.length : result) ? (
275
- <a
276
- onClick={this.clearValue}
277
- className={cx('ResultBox-clear', {
278
- 'ResultBox-clear-with-arrow': hasDropDownArrow
279
- })}
280
- >
281
- <div className={cx('ResultBox-clear-wrap')}>
282
- <Icon icon="input-clear" className="icon" />
283
- </div>
284
- </a>
285
- ) : null}
286
- {hasDropDownArrow && !mobileUI && (
287
- <span className={cx('ResultBox-pc-arrow')}>
288
- <Icon icon="right-arrow-bold" className="icon" />
289
- </span>
290
- )}
291
- {!allowInput && mobileUI ? (
292
- <span className={cx('ResultBox-arrow')}>
293
- <Icon icon="caret" className="icon" />
294
- </span>
295
- ) : null}
278
+ <div className={cx('ResultBox-actions')}>
279
+ {clearable &&
280
+ !disabled &&
281
+ (Array.isArray(result) ? result.length : result) ? (
282
+ <a
283
+ onClick={this.clearValue}
284
+ className={cx('ResultBox-clear', {
285
+ 'ResultBox-clear-with-arrow': hasDropDownArrow
286
+ })}
287
+ >
288
+ <div className={cx('ResultBox-clear-wrap')}>
289
+ <Icon icon="input-clear" className="icon" />
290
+ </div>
291
+ </a>
292
+ ) : null}
293
+
294
+ {actions}
295
+
296
+ {hasDropDownArrow && !mobileUI && (
297
+ <span className={cx('ResultBox-pc-arrow')}>
298
+ <Icon icon="right-arrow-bold" className="icon" />
299
+ </span>
300
+ )}
301
+ {!allowInput && mobileUI ? (
302
+ <span className={cx('ResultBox-arrow')}>
303
+ <Icon icon="caret" className="icon" />
304
+ </span>
305
+ ) : null}
306
+ </div>
296
307
  </div>
297
308
  );
298
309
  }
@@ -7,6 +7,7 @@
7
7
 
8
8
  import {uncontrollable} from 'uncontrollable';
9
9
  import React from 'react';
10
+ import merge from 'lodash/merge';
10
11
  import isInteger from 'lodash/isInteger';
11
12
  import omit from 'lodash/omit';
12
13
  import VirtualList from './virtual-list';
@@ -411,7 +412,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
411
412
  inputValue: '',
412
413
  highlightedIndex: -1,
413
414
  selection: value2array(props.value, props),
414
- itemHeight: 35,
415
+ itemHeight: 32 /** Select选项高度保持一致 */,
415
416
  pickerSelectItem: ''
416
417
  };
417
418
  }
@@ -726,7 +727,9 @@ export class Select extends React.Component<SelectProps, SelectState> {
726
727
 
727
728
  @autobind
728
729
  menuItemRef(ref: any) {
729
- ref && this.setState({itemHeight: ref.offsetHeight});
730
+ if (ref && typeof ref.offsetHeight === 'number' && ref > 0) {
731
+ this.setState({itemHeight: ref.offsetHeight});
732
+ }
730
733
  }
731
734
 
732
735
  renderValue({inputValue, isOpen}: ControllerStateAndHelpers<any>) {
@@ -944,7 +947,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
944
947
  hideSelected,
945
948
  renderMenu,
946
949
  mobileClassName,
947
- virtualThreshold = 200,
950
+ virtualThreshold = 100,
948
951
  useMobileUI = false
949
952
  } = this.props;
950
953
  const {selection} = this.state;
@@ -958,7 +961,8 @@ export class Select extends React.Component<SelectProps, SelectState> {
958
961
  })
959
962
  : options.concat()
960
963
  ).filter((option: Option) => !option.hidden && option.visible !== false);
961
-
964
+ const enableVirtualRender =
965
+ filtedOptions.length && filtedOptions.length > virtualThreshold;
962
966
  const selectionValues = selection.map(select => select[valueField]);
963
967
  if (multiple && checkAll) {
964
968
  const optionsValues = (checkAllBySearch ? filtedOptions : options).map(
@@ -998,7 +1002,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
998
1002
  item,
999
1003
  disabled: item.disabled
1000
1004
  })}
1001
- style={style}
1005
+ style={merge(style, enableVirtualRender ? {width: '100%'} : {})}
1002
1006
  className={cx(`Select-option`, {
1003
1007
  'is-disabled': item.disabled,
1004
1008
  'is-highlight': highlightedIndex === index,
@@ -1105,8 +1109,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
1105
1109
  <div
1106
1110
  ref={this.menu}
1107
1111
  className={cx('Select-menu', {
1108
- 'Select--longlist':
1109
- filtedOptions.length && filtedOptions.length > virtualThreshold,
1112
+ 'Select--longlist': enableVirtualRender,
1110
1113
  'is-mobile': mobileUI
1111
1114
  })}
1112
1115
  >
@@ -35,6 +35,8 @@ export type StepSchema = {
35
35
  description?: string | JSX.Element;
36
36
 
37
37
  status?: StepStatus;
38
+
39
+ iconClassName?: string;
38
40
  } & Omit<BaseSchema, 'type'>;
39
41
 
40
42
  export interface StepsSchema extends BaseSchema {
@@ -73,7 +75,7 @@ export interface StepsSchema extends BaseSchema {
73
75
  /**
74
76
  * 标签放置位置
75
77
  */
76
- labelPlacement?: 'horizontal' | 'vertical';
78
+ labelPlacement?: 'horizontal' | 'vertical';
77
79
  }
78
80
  export interface StepsProps extends ThemeProps {
79
81
  steps: StepSchema[];
@@ -137,27 +139,49 @@ export function Steps(props: StepsProps) {
137
139
 
138
140
  const mobileUI = useMobileUI && isMobile();
139
141
  return (
140
- <ul className={cx( // 纵向步骤条暂时不支持labelPlacement属性
141
- 'Steps',
142
- `Steps--Placement-${(progressDot || (labelPlacement === 'vertical' && mode != 'vertical')) ? 'vertical' : ''}`,
143
- `Steps--${progressDot ? 'ProgressDot' : ''}`,
144
- `Steps--${mode}`,
145
- mobileUI ? 'Steps-mobile' : '', className)}>
142
+ <ul
143
+ className={cx(
144
+ // 纵向步骤条暂时不支持labelPlacement属性
145
+ 'Steps',
146
+ `Steps--Placement-${
147
+ progressDot || (labelPlacement === 'vertical' && mode != 'vertical')
148
+ ? 'vertical'
149
+ : ''
150
+ }`,
151
+ `Steps--${progressDot ? 'ProgressDot' : ''}`,
152
+ `Steps--${mode}`,
153
+ mobileUI ? 'Steps-mobile' : '',
154
+ className
155
+ )}
156
+ >
146
157
  {stepsRow.map((step, i) => {
147
158
  const {stepStatus, icon} = getStepStatus(step, i);
148
159
  return (
149
160
  <li
150
161
  key={i}
151
- className={cx('StepsItem', `is-${stepStatus}`, step.className, `StepsItem-${progressDot ? 'ProgressDot' : ''}`)}
162
+ className={cx(
163
+ 'StepsItem',
164
+ `is-${stepStatus}`,
165
+ step.className,
166
+ `StepsItem-${progressDot ? 'ProgressDot' : ''}`
167
+ )}
152
168
  >
153
169
  <div className={cx('StepsItem-container')}>
154
- <div className={cx('StepsItem-containerTail')}></div>
155
- {progressDot ? <div className={cx('StepsItem-containerProgressDot')}></div>
156
- : <div className={cx('StepsItem-containerIcon', i < current && 'is-success')}>
157
- <span className={cx('StepsItem-icon')}>
158
- {icon ? <Icon icon={icon} className="icon" /> : i + 1}
159
- </span>
160
- </div>}
170
+ <div className={cx('StepsItem-containerTail')}></div>
171
+ {progressDot ? (
172
+ <div className={cx('StepsItem-containerProgressDot')}></div>
173
+ ) : (
174
+ <div
175
+ className={cx(
176
+ 'StepsItem-containerIcon',
177
+ i < current && 'is-success'
178
+ )}
179
+ >
180
+ <span className={cx('StepsItem-icon', step.iconClassName)}>
181
+ {icon ? <Icon icon={icon} className="icon" /> : i + 1}
182
+ </span>
183
+ </div>
184
+ )}
161
185
  <div className={cx('StepsItem-containerWrapper')}>
162
186
  <div className={cx('StepsItem-body')}>
163
187
  <div
@@ -167,10 +191,28 @@ export function Steps(props: StepsProps) {
167
191
  i < current && 'is-success'
168
192
  )}
169
193
  >
170
- <span className={cx('StepsItem-ellText')} title={String(step.title)}>{step.title}</span>
171
- <span className={cx('StepsItem-subTitle', 'StepsItem-ellText')} title={String(step.subTitle)}>{step.subTitle}</span>
194
+ <span
195
+ className={cx('StepsItem-ellText')}
196
+ title={String(step.title)}
197
+ >
198
+ {step.title}
199
+ </span>
200
+ {step.subTitle && (
201
+ <span
202
+ className={cx(
203
+ 'StepsItem-subTitle',
204
+ 'StepsItem-ellText'
205
+ )}
206
+ title={String(step.subTitle)}
207
+ >
208
+ {step.subTitle}
209
+ </span>
210
+ )}
172
211
  </div>
173
- <div className={cx('StepsItem-description', 'StepsItem-ellText')} title={String(step.description)}>
212
+ <div
213
+ className={cx('StepsItem-description', 'StepsItem-ellText')}
214
+ title={String(step.description)}
215
+ >
174
216
  <span>{step.description}</span>
175
217
  </div>
176
218
  </div>
@@ -11,20 +11,28 @@ import {
11
11
  spliceTree,
12
12
  getTree,
13
13
  mapTree,
14
- guid
14
+ guid,
15
+ noop
15
16
  } from '../../utils/helper';
16
17
  import animtion from '../../utils/Animation';
17
18
  import {FormulaPickerProps} from '../formula/Picker';
19
+ import {PickerContainer} from '../PickerContainer';
20
+ import {ResultBox} from '../ResultBox';
21
+ import {Icon} from '../icons';
18
22
 
19
23
  export interface ConditionBuilderProps extends ThemeProps, LocaleProps {
20
24
  builderMode?: 'simple' | 'full'; // 简单模式|完整模式
25
+ embed?: boolean;
26
+ pickerIcon?: JSX.Element;
27
+ placeholder?: string;
28
+ title?: string;
21
29
  fields: Fields;
22
30
  funcs?: Funcs;
23
31
  showNot?: boolean;
24
32
  showANDOR?: boolean;
25
33
  value?: ConditionGroupValue;
26
34
  data?: any;
27
- onChange: (value: ConditionGroupValue) => void;
35
+ onChange: (value?: ConditionGroupValue) => void;
28
36
  config?: Config;
29
37
  disabled?: boolean;
30
38
  searchable?: boolean;
@@ -34,7 +42,14 @@ export interface ConditionBuilderProps extends ThemeProps, LocaleProps {
34
42
  renderEtrValue?: any;
35
43
  }
36
44
 
37
- export class QueryBuilder extends React.Component<ConditionBuilderProps> {
45
+ export interface ConditionBuilderState {
46
+ tmpValue: ConditionGroupValue;
47
+ }
48
+
49
+ export class QueryBuilder extends React.Component<
50
+ ConditionBuilderProps,
51
+ ConditionBuilderState
52
+ > {
38
53
  config = {...defaultConfig, ...this.props.config};
39
54
 
40
55
  dragTarget?: HTMLElement;
@@ -197,14 +212,33 @@ export class QueryBuilder extends React.Component<ConditionBuilderProps> {
197
212
  delete this.ghost;
198
213
  }
199
214
 
200
- render() {
215
+ @autobind
216
+ handleClear() {
217
+ this.props.onChange();
218
+ }
219
+
220
+ @autobind
221
+ highlightValue(value: ConditionGroupValue) {
222
+ const {classnames: cx} = this.props;
223
+ const html = {
224
+ __html: `<span class="label label-info">已配置</span>`
225
+ };
226
+
227
+ return (
228
+ <div className={cx('CPGroup-result')} dangerouslySetInnerHTML={html} />
229
+ );
230
+ }
231
+
232
+ renderBody(
233
+ onChange: (value: ConditionGroupValue) => void,
234
+ value?: ConditionGroupValue,
235
+ popOverContainer?: any
236
+ ) {
201
237
  const {
202
238
  classnames: cx,
203
239
  fieldClassName,
204
240
  fields,
205
241
  funcs,
206
- onChange,
207
- value,
208
242
  showNot,
209
243
  showANDOR,
210
244
  data,
@@ -212,7 +246,6 @@ export class QueryBuilder extends React.Component<ConditionBuilderProps> {
212
246
  searchable,
213
247
  builderMode,
214
248
  formula,
215
- popOverContainer,
216
249
  renderEtrValue
217
250
  } = this.props;
218
251
 
@@ -250,11 +283,77 @@ export class QueryBuilder extends React.Component<ConditionBuilderProps> {
250
283
  disabled={disabled}
251
284
  searchable={searchable}
252
285
  formula={formula}
253
- popOverContainer={popOverContainer}
254
286
  renderEtrValue={renderEtrValue}
287
+ popOverContainer={popOverContainer}
255
288
  />
256
289
  );
257
290
  }
291
+
292
+ render() {
293
+ const {
294
+ classnames: cx,
295
+ placeholder,
296
+ embed = true,
297
+ pickerIcon,
298
+ locale,
299
+ translate,
300
+ classPrefix,
301
+ onChange: onFinalChange,
302
+ value,
303
+ title,
304
+ disabled,
305
+ popOverContainer
306
+ } = this.props;
307
+
308
+ if (embed) {
309
+ return this.renderBody(onFinalChange, value, popOverContainer);
310
+ }
311
+
312
+ return (
313
+ <PickerContainer
314
+ classnames={cx}
315
+ classPrefix={classPrefix}
316
+ translate={translate}
317
+ locale={locale}
318
+ onConfirm={onFinalChange}
319
+ value={value}
320
+ size={'md'}
321
+ popOverContainer={popOverContainer}
322
+ bodyRender={(params: {
323
+ value: ConditionGroupValue;
324
+ onChange: (value: ConditionGroupValue) => void;
325
+ }) => this.renderBody(params.onChange, params.value)}
326
+ title={title}
327
+ >
328
+ {({onClick, isOpened}) => (
329
+ <ResultBox
330
+ classnames={cx}
331
+ classPrefix={classPrefix}
332
+ translate={translate}
333
+ locale={locale}
334
+ className={cx('CBGroup-result', {'is-active': isOpened})}
335
+ allowInput={false}
336
+ clearable={true}
337
+ result={value}
338
+ itemRender={this.highlightValue}
339
+ onResultChange={noop}
340
+ onClear={this.handleClear}
341
+ disabled={disabled}
342
+ borderMode={'full'}
343
+ placeholder={placeholder}
344
+ actions={
345
+ pickerIcon && (
346
+ <span className={cx('CBPicker-trigger')} onClick={onClick}>
347
+ {pickerIcon}
348
+ </span>
349
+ )
350
+ }
351
+ onResultClick={pickerIcon ? undefined : onClick}
352
+ ></ResultBox>
353
+ )}
354
+ </PickerContainer>
355
+ );
356
+ }
258
357
  }
259
358
 
260
359
  export default themeable(
@@ -174,12 +174,6 @@ export class FormulaPicker extends React.Component<
174
174
  this.setState({value}, () => this.handleConfirm());
175
175
  }
176
176
 
177
- @autobind
178
- handleInputGroupChange(e: React.ChangeEvent<HTMLInputElement>) {
179
- const onChange = this.props.onChange;
180
- onChange && onChange(e.currentTarget.value);
181
- }
182
-
183
177
  @autobind
184
178
  handleEditorChange(value: string) {
185
179
  this.setState({
@@ -248,10 +242,11 @@ export class FormulaPicker extends React.Component<
248
242
  const {translate: __} = this.props;
249
243
 
250
244
  try {
251
- parse(value, {
252
- evalMode: this.props.evalMode,
253
- allowFilter: false
254
- });
245
+ value &&
246
+ parse(value, {
247
+ evalMode: this.props.evalMode,
248
+ allowFilter: false
249
+ });
255
250
 
256
251
  return true;
257
252
  } catch (e) {
@@ -380,14 +375,30 @@ export class FormulaPicker extends React.Component<
380
375
  )}
381
376
  {mode === 'input-group' && (
382
377
  <>
383
- <Input
384
- className={cx('FormulaPicker-input')}
385
- onChange={this.handleInputGroupChange}
386
- placeholder={allowInput ? placeholder : ''}
387
- autoComplete="off"
378
+ <ResultBox
379
+ className={cx(
380
+ 'FormulaPicker-input',
381
+ isOpened ? 'is-active' : '',
382
+ !!isError ? 'is-error' : ''
383
+ )}
384
+ allowInput={allowInput}
385
+ clearable={clearable}
388
386
  value={value}
387
+ result={
388
+ allowInput
389
+ ? void 0
390
+ : FormulaEditor.highlightValue(
391
+ value,
392
+ variables!,
393
+ this.props.evalMode
394
+ )
395
+ }
396
+ itemRender={this.renderFormulaValue}
397
+ onResultChange={noop}
398
+ onChange={this.handleInputChange}
389
399
  disabled={disabled}
390
- readOnly={!allowInput}
400
+ borderMode={borderMode}
401
+ placeholder={placeholder}
391
402
  />
392
403
 
393
404
  <a