amis 1.3.5-beta.6 → 1.4.2-beta.1

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 (352) hide show
  1. package/README.md +1 -1
  2. package/lib/Schema.d.ts +17 -0
  3. package/lib/Schema.js.map +1 -1
  4. package/lib/components/Alert.js +3 -1
  5. package/lib/components/Alert.js.map +2 -2
  6. package/lib/components/Badge.d.ts +16 -3
  7. package/lib/components/Badge.js +53 -4
  8. package/lib/components/Badge.js.map +2 -2
  9. package/lib/components/Button.d.ts +24 -22
  10. package/lib/components/Button.js +13 -7
  11. package/lib/components/Button.js.map +2 -2
  12. package/lib/components/Checkbox.d.ts +1 -1
  13. package/lib/components/Checkbox.js +1 -1
  14. package/lib/components/Checkbox.js.map +2 -2
  15. package/lib/components/Collapse.js +1 -1
  16. package/lib/components/Collapse.js.map +2 -2
  17. package/lib/components/DatePicker.js +1 -1
  18. package/lib/components/DatePicker.js.map +2 -2
  19. package/lib/components/DateRangePicker.js +1 -1
  20. package/lib/components/DateRangePicker.js.map +2 -2
  21. package/lib/components/Drawer.js +1 -1
  22. package/lib/components/Drawer.js.map +2 -2
  23. package/lib/components/InputBox.js +1 -1
  24. package/lib/components/InputBox.js.map +2 -2
  25. package/lib/components/Link.d.ts +91 -0
  26. package/lib/components/Link.js +44 -0
  27. package/lib/components/Link.js.map +13 -0
  28. package/lib/components/Modal.js +1 -1
  29. package/lib/components/Modal.js.map +2 -2
  30. package/lib/components/MonthRangePicker.js +1 -1
  31. package/lib/components/MonthRangePicker.js.map +2 -2
  32. package/lib/components/RichText.d.ts +6 -1
  33. package/lib/components/RichText.js +207 -8
  34. package/lib/components/RichText.js.map +2 -2
  35. package/lib/components/Select.d.ts +7 -0
  36. package/lib/components/Select.js +3 -0
  37. package/lib/components/Select.js.map +2 -2
  38. package/lib/components/SparkLine.d.ts +85 -84
  39. package/lib/components/SparkLine.js +2 -2
  40. package/lib/components/SparkLine.js.map +2 -2
  41. package/lib/components/Steps.d.ts +3 -3
  42. package/lib/components/Steps.js.map +1 -1
  43. package/lib/components/Toast.js +2 -2
  44. package/lib/components/Toast.js.map +2 -2
  45. package/lib/components/Tree.js +5 -3
  46. package/lib/components/Tree.js.map +2 -2
  47. package/lib/components/WithRemoteConfig.d.ts +8 -0
  48. package/lib/components/WithRemoteConfig.js +28 -2
  49. package/lib/components/WithRemoteConfig.js.map +2 -2
  50. package/lib/components/calendar/DaysView.js +2 -2
  51. package/lib/components/calendar/DaysView.js.map +2 -2
  52. package/lib/components/condition-builder/Field.js +0 -1
  53. package/lib/components/condition-builder/Field.js.map +2 -2
  54. package/lib/components/condition-builder/Value.js +2 -1
  55. package/lib/components/condition-builder/Value.js.map +2 -2
  56. package/lib/components/condition-builder/types.d.ts +5 -0
  57. package/lib/components/condition-builder/types.js.map +1 -1
  58. package/lib/components/icons.js +14 -0
  59. package/lib/components/icons.js.map +2 -2
  60. package/lib/factory.d.ts +5 -1
  61. package/lib/factory.js +9 -4
  62. package/lib/factory.js.map +2 -2
  63. package/lib/helper.css.map +1 -1
  64. package/lib/icons/clock.js +10 -0
  65. package/lib/icons/loading-outline.js +7 -0
  66. package/lib/icons/status-close.js +11 -0
  67. package/lib/icons/status-fail.js +11 -0
  68. package/lib/icons/status-info.js +10 -0
  69. package/lib/icons/status-success.js +11 -0
  70. package/lib/icons/status-warning.js +10 -0
  71. package/lib/index.js +1 -1
  72. package/lib/locale/de-DE.js +3 -0
  73. package/lib/locale/de-DE.js.map +2 -2
  74. package/lib/locale/en-US.js +4 -1
  75. package/lib/locale/en-US.js.map +2 -2
  76. package/lib/locale/zh-CN.js +5 -2
  77. package/lib/locale/zh-CN.js.map +2 -2
  78. package/lib/renderers/Action.d.ts +16 -1
  79. package/lib/renderers/Action.js +5 -5
  80. package/lib/renderers/Action.js.map +2 -2
  81. package/lib/renderers/CRUD.d.ts +2 -2
  82. package/lib/renderers/CRUD.js +32 -26
  83. package/lib/renderers/CRUD.js.map +2 -2
  84. package/lib/renderers/Collapse.d.ts +1 -1
  85. package/lib/renderers/Collapse.js +7 -3
  86. package/lib/renderers/Collapse.js.map +2 -2
  87. package/lib/renderers/Dialog.d.ts +0 -252
  88. package/lib/renderers/Dialog.js +1 -4
  89. package/lib/renderers/Dialog.js.map +2 -2
  90. package/lib/renderers/Drawer.js +0 -3
  91. package/lib/renderers/Drawer.js.map +2 -2
  92. package/lib/renderers/DropDownButton.d.ts +13 -1
  93. package/lib/renderers/DropDownButton.js +9 -5
  94. package/lib/renderers/DropDownButton.js.map +2 -2
  95. package/lib/renderers/Form/ButtonGroupSelect.js +3 -0
  96. package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
  97. package/lib/renderers/Form/Checkbox.d.ts +5 -0
  98. package/lib/renderers/Form/Checkbox.js +4 -0
  99. package/lib/renderers/Form/Checkbox.js.map +2 -2
  100. package/lib/renderers/Form/Combo.js +2 -2
  101. package/lib/renderers/Form/Combo.js.map +2 -2
  102. package/lib/renderers/Form/DiffEditor.d.ts +0 -2
  103. package/lib/renderers/Form/Editor.d.ts +0 -2
  104. package/lib/renderers/Form/Editor.js +1 -1
  105. package/lib/renderers/Form/Editor.js.map +2 -2
  106. package/lib/renderers/Form/InputExcel.d.ts +5 -0
  107. package/lib/renderers/Form/InputExcel.js +24 -3
  108. package/lib/renderers/Form/InputExcel.js.map +2 -2
  109. package/lib/renderers/Form/InputFile.js +2 -2
  110. package/lib/renderers/Form/InputFile.js.map +2 -2
  111. package/lib/renderers/Form/InputImage.d.ts +8 -0
  112. package/lib/renderers/Form/InputImage.js +7 -4
  113. package/lib/renderers/Form/InputImage.js.map +2 -2
  114. package/lib/renderers/Form/InputTable.d.ts +23 -5
  115. package/lib/renderers/Form/InputTable.js +32 -3
  116. package/lib/renderers/Form/InputTable.js.map +2 -2
  117. package/lib/renderers/Form/Options.js +6 -3
  118. package/lib/renderers/Form/Options.js.map +2 -2
  119. package/lib/renderers/Form/Picker.js +2 -2
  120. package/lib/renderers/Form/Picker.js.map +2 -2
  121. package/lib/renderers/Form/wrapControl.js +2 -2
  122. package/lib/renderers/Form/wrapControl.js.map +2 -2
  123. package/lib/renderers/IFrame.js +2 -2
  124. package/lib/renderers/IFrame.js.map +2 -2
  125. package/lib/renderers/Image.d.ts +1 -0
  126. package/lib/renderers/Image.js +15 -1
  127. package/lib/renderers/Image.js.map +2 -2
  128. package/lib/renderers/Json.js +5 -1
  129. package/lib/renderers/Json.js.map +2 -2
  130. package/lib/renderers/Link.d.ts +16 -3
  131. package/lib/renderers/Link.js +16 -13
  132. package/lib/renderers/Link.js.map +2 -2
  133. package/lib/renderers/Log.d.ts +2 -2
  134. package/lib/renderers/Log.js +7 -1
  135. package/lib/renderers/Log.js.map +2 -2
  136. package/lib/renderers/Nav.d.ts +81 -25
  137. package/lib/renderers/Nav.js +272 -29
  138. package/lib/renderers/Nav.js.map +2 -2
  139. package/lib/renderers/Page.js +4 -1
  140. package/lib/renderers/Page.js.map +2 -2
  141. package/lib/renderers/Service.d.ts +10 -1
  142. package/lib/renderers/Service.js +85 -3
  143. package/lib/renderers/Service.js.map +2 -2
  144. package/lib/renderers/SparkLine.d.ts +4 -0
  145. package/lib/renderers/SparkLine.js.map +2 -2
  146. package/lib/renderers/Steps.d.ts +4 -4
  147. package/lib/renderers/Steps.js +5 -2
  148. package/lib/renderers/Steps.js.map +2 -2
  149. package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
  150. package/lib/renderers/Table/ColumnToggler.js +216 -0
  151. package/lib/renderers/Table/ColumnToggler.js.map +13 -0
  152. package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
  153. package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
  154. package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
  155. package/lib/renderers/Table/TableBody.d.ts +5 -1
  156. package/lib/renderers/Table/TableBody.js +5 -1
  157. package/lib/renderers/Table/TableBody.js.map +2 -2
  158. package/lib/renderers/Table/TableCell.js +3 -1
  159. package/lib/renderers/Table/TableCell.js.map +2 -2
  160. package/lib/renderers/Table/TableContent.d.ts +1 -1
  161. package/lib/renderers/Table/TableContent.js +4 -0
  162. package/lib/renderers/Table/TableContent.js.map +2 -2
  163. package/lib/renderers/Table/index.d.ts +22 -4
  164. package/lib/renderers/Table/index.js +196 -81
  165. package/lib/renderers/Table/index.js.map +2 -2
  166. package/lib/store/app.d.ts +0 -1
  167. package/lib/store/combo.d.ts +0 -2
  168. package/lib/store/crud.d.ts +3 -3
  169. package/lib/store/crud.js +41 -36
  170. package/lib/store/crud.js.map +2 -2
  171. package/lib/store/form.d.ts +0 -1
  172. package/lib/store/modal.d.ts +1 -1
  173. package/lib/store/modal.js +4 -0
  174. package/lib/store/modal.js.map +2 -2
  175. package/lib/store/root.d.ts +0 -1
  176. package/lib/store/service.d.ts +0 -1
  177. package/lib/store/service.js +0 -13
  178. package/lib/store/service.js.map +2 -2
  179. package/lib/store/table.d.ts +258 -3
  180. package/lib/store/table.js +83 -7
  181. package/lib/store/table.js.map +2 -2
  182. package/lib/themes/ang-ie11.css +941 -98
  183. package/lib/themes/ang.css +941 -98
  184. package/lib/themes/ang.css.map +1 -1
  185. package/lib/themes/antd-ie11.css +941 -98
  186. package/lib/themes/antd.css +941 -98
  187. package/lib/themes/antd.css.map +1 -1
  188. package/lib/themes/cxd-ie11.css +1580 -411
  189. package/lib/themes/cxd.css +1580 -411
  190. package/lib/themes/cxd.css.map +1 -1
  191. package/lib/themes/dark-ie11.css +941 -98
  192. package/lib/themes/dark.css +941 -98
  193. package/lib/themes/dark.css.map +1 -1
  194. package/lib/themes/default.css +1580 -411
  195. package/lib/themes/default.css.map +1 -1
  196. package/lib/utils/api.js +16 -4
  197. package/lib/utils/api.js.map +2 -2
  198. package/lib/utils/attachmentAdpator.d.ts +7 -0
  199. package/lib/utils/attachmentAdpator.js +82 -0
  200. package/lib/utils/attachmentAdpator.js.map +13 -0
  201. package/lib/utils/handleAction.d.ts +7 -0
  202. package/lib/utils/handleAction.js +30 -0
  203. package/lib/utils/handleAction.js.map +13 -0
  204. package/lib/utils/helper.d.ts +1 -1
  205. package/lib/utils/helper.js +3 -3
  206. package/lib/utils/helper.js.map +2 -2
  207. package/lib/utils/tpl-builtin.d.ts +1 -1
  208. package/lib/utils/tpl-builtin.js +25 -15
  209. package/lib/utils/tpl-builtin.js.map +2 -2
  210. package/lib/utils/validations.js +62 -5
  211. package/lib/utils/validations.js.map +2 -2
  212. package/package.json +1 -2
  213. package/schema.json +633 -273
  214. package/scss/_mixins.scss +29 -0
  215. package/scss/_properties.scss +64 -13
  216. package/scss/_utilities.scss +4 -0
  217. package/scss/components/_badge.scss +67 -2
  218. package/scss/components/_button.scss +34 -3
  219. package/scss/components/_collapse.scss +26 -8
  220. package/scss/components/_column-toggler.scss +234 -0
  221. package/scss/components/_dropdown.scss +2 -1
  222. package/scss/components/_image-gallery.scss +1 -1
  223. package/scss/components/_images.scss +2 -1
  224. package/scss/components/_link.scss +6 -0
  225. package/scss/components/_markdown.scss +266 -0
  226. package/scss/components/_nav.scss +236 -154
  227. package/scss/components/_page.scss +5 -4
  228. package/scss/components/_progress.scss +2 -0
  229. package/scss/components/_spinner.scss +6 -2
  230. package/scss/components/_steps.scss +1 -1
  231. package/scss/components/_table.scss +25 -1
  232. package/scss/components/form/_color.scss +1 -0
  233. package/scss/components/form/_date-range.scss +2 -0
  234. package/scss/components/form/_date.scss +2 -0
  235. package/scss/components/form/_fieldset.scss +1 -2
  236. package/scss/components/form/_file.scss +5 -4
  237. package/scss/components/form/_group.scss +4 -0
  238. package/scss/components/form/_image.scss +7 -2
  239. package/scss/components/form/_list.scss +1 -0
  240. package/scss/components/form/_location.scss +1 -1
  241. package/scss/components/form/_text.scss +13 -0
  242. package/scss/components/form/_textarea.scss +10 -0
  243. package/scss/components/form/_transfer.scss +2 -0
  244. package/scss/themes/_common.scss +3 -0
  245. package/scss/themes/_cxd-colors.scss +56 -0
  246. package/scss/themes/_cxd-variables.scss +217 -92
  247. package/scss/themes/cxd.scss +366 -0
  248. package/sdk/ang-ie11.css +1192 -176
  249. package/sdk/ang.css +1175 -118
  250. package/sdk/antd-ie11.css +1177 -163
  251. package/sdk/antd.css +1175 -118
  252. package/sdk/charts.js +13 -13
  253. package/sdk/color-picker.js +67 -67
  254. package/sdk/cropperjs.js +2 -2
  255. package/sdk/cxd-ie11.css +2538 -1222
  256. package/sdk/cxd.css +1825 -401
  257. package/sdk/dark-ie11.css +1192 -176
  258. package/sdk/dark.css +1175 -118
  259. package/sdk/exceljs.js +1 -1
  260. package/sdk/helper.css.map +1 -1
  261. package/sdk/ie11-patch.css +1 -0
  262. package/sdk/locale/de-DE.js +3 -0
  263. package/sdk/markdown.js +69 -69
  264. package/sdk/papaparse.js +1 -1
  265. package/sdk/renderers/Form/CityDB.js +1 -1
  266. package/sdk/rest.js +22 -24
  267. package/sdk/rich-text.js +62 -64
  268. package/sdk/sdk-ie11.css +2538 -1222
  269. package/sdk/sdk.css +1825 -401
  270. package/sdk/sdk.js +1139 -1113
  271. package/sdk/thirds/hls.js/hls.js +1 -1
  272. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  273. package/sdk/tinymce.js +57 -57
  274. package/src/Schema.ts +18 -0
  275. package/src/components/Alert.tsx +3 -1
  276. package/src/components/Badge.tsx +124 -21
  277. package/src/components/Button.tsx +23 -7
  278. package/src/components/Checkbox.tsx +5 -2
  279. package/src/components/Collapse.tsx +14 -9
  280. package/src/components/DatePicker.tsx +1 -1
  281. package/src/components/DateRangePicker.tsx +23 -11
  282. package/src/components/Drawer.tsx +3 -2
  283. package/src/components/InputBox.tsx +1 -1
  284. package/src/components/Link.tsx +94 -0
  285. package/src/components/Modal.tsx +3 -2
  286. package/src/components/MonthRangePicker.tsx +10 -2
  287. package/src/components/RichText.tsx +244 -3
  288. package/src/components/Select.tsx +4 -0
  289. package/src/components/SparkLine.tsx +4 -1
  290. package/src/components/Steps.tsx +3 -3
  291. package/src/components/Toast.tsx +5 -5
  292. package/src/components/Tree.tsx +6 -8
  293. package/src/components/WithRemoteConfig.tsx +37 -2
  294. package/src/components/calendar/DaysView.tsx +2 -2
  295. package/src/components/condition-builder/Field.tsx +1 -2
  296. package/src/components/condition-builder/Value.tsx +3 -0
  297. package/src/components/condition-builder/types.ts +6 -0
  298. package/src/components/icons.tsx +15 -0
  299. package/src/factory.tsx +13 -3
  300. package/src/icons/clock.svg +1 -0
  301. package/src/icons/loading-outline.svg +4 -0
  302. package/src/icons/status-close.svg +10 -0
  303. package/src/icons/status-fail.svg +10 -0
  304. package/src/icons/status-info.svg +8 -0
  305. package/src/icons/status-success.svg +10 -0
  306. package/src/icons/status-warning.svg +8 -0
  307. package/src/locale/de-DE.ts +3 -0
  308. package/src/locale/en-US.ts +4 -1
  309. package/src/locale/zh-CN.ts +5 -2
  310. package/src/renderers/Action.tsx +71 -13
  311. package/src/renderers/CRUD.tsx +44 -59
  312. package/src/renderers/Collapse.tsx +6 -2
  313. package/src/renderers/Dialog.tsx +1 -5
  314. package/src/renderers/Drawer.tsx +0 -4
  315. package/src/renderers/DropDownButton.tsx +34 -12
  316. package/src/renderers/Form/ButtonGroupSelect.tsx +3 -0
  317. package/src/renderers/Form/Checkbox.tsx +8 -0
  318. package/src/renderers/Form/Combo.tsx +2 -3
  319. package/src/renderers/Form/Editor.tsx +19 -20
  320. package/src/renderers/Form/InputExcel.tsx +28 -3
  321. package/src/renderers/Form/InputFile.tsx +2 -1
  322. package/src/renderers/Form/InputImage.tsx +28 -10
  323. package/src/renderers/Form/InputTable.tsx +88 -9
  324. package/src/renderers/Form/Options.tsx +16 -5
  325. package/src/renderers/Form/Picker.tsx +3 -2
  326. package/src/renderers/Form/wrapControl.tsx +2 -2
  327. package/src/renderers/IFrame.tsx +2 -1
  328. package/src/renderers/Image.tsx +10 -0
  329. package/src/renderers/Json.tsx +10 -1
  330. package/src/renderers/Link.tsx +36 -11
  331. package/src/renderers/Log.tsx +16 -3
  332. package/src/renderers/Nav.tsx +340 -56
  333. package/src/renderers/Page.tsx +3 -1
  334. package/src/renderers/Service.tsx +101 -3
  335. package/src/renderers/SparkLine.tsx +5 -0
  336. package/src/renderers/Steps.tsx +12 -9
  337. package/src/renderers/Table/ColumnToggler.tsx +544 -0
  338. package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
  339. package/src/renderers/Table/TableBody.tsx +3 -2
  340. package/src/renderers/Table/TableCell.tsx +16 -1
  341. package/src/renderers/Table/TableContent.tsx +3 -1
  342. package/src/renderers/Table/index.tsx +240 -60
  343. package/src/store/crud.ts +34 -38
  344. package/src/store/modal.ts +4 -0
  345. package/src/store/service.ts +0 -19
  346. package/src/store/table.ts +103 -4
  347. package/src/utils/api.ts +24 -4
  348. package/src/utils/attachmentAdpator.ts +90 -0
  349. package/src/utils/handleAction.ts +41 -0
  350. package/src/utils/helper.ts +4 -3
  351. package/src/utils/tpl-builtin.ts +48 -17
  352. package/src/utils/validations.ts +80 -12
@@ -46,8 +46,8 @@ var SparkLine = /** @class */ (function (_super) {
46
46
  react_1.default.createElement("path", { className: cx("Sparkline-line"), d: lineD, fill: "none" })));
47
47
  };
48
48
  SparkLine.prototype.render = function () {
49
- var _a = this.props, cx = _a.classnames, className = _a.className, value = _a.value, width = _a.width, height = _a.height, onClick = _a.onClick;
50
- return (react_1.default.createElement("div", { className: cx('Sparkline', className, onClick ? 'Sparkline--clickable' : ''), onClick: onClick }, Array.isArray(value) && value.length > 1 ? (react_1.default.createElement("svg", { className: cx('Sparkline-svg'), width: width, height: height, viewBox: "0 0 " + width + " " + height }, this.renderLines())) : (react_1.default.createElement("span", null, "Invalid Value"))));
49
+ var _a = this.props, cx = _a.classnames, className = _a.className, value = _a.value, width = _a.width, height = _a.height, placeholder = _a.placeholder, __ = _a.translate, onClick = _a.onClick;
50
+ return (react_1.default.createElement("div", { className: cx('Sparkline', className, onClick ? 'Sparkline--clickable' : ''), onClick: onClick }, Array.isArray(value) && value.length > 1 ? (react_1.default.createElement("svg", { className: cx('Sparkline-svg'), width: width, height: height, viewBox: "0 0 " + width + " " + height }, this.renderLines())) : (placeholder !== null && placeholder !== void 0 ? placeholder : __('placeholder.empty'))));
51
51
  };
52
52
  SparkLine.defaultProps = {
53
53
  width: 100,
@@ -6,8 +6,8 @@
6
6
  "/src/components/SparkLine.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {localeable, LocaleProps} from '../locale';\nimport {themeable, ThemeProps} from '../theme';\nimport {PlainObject} from '../types';\n\nexport interface SparkLineProps extends ThemeProps, LocaleProps {\n className?: string;\n width: number;\n height: number;\n value?: Array<\n | number\n | {\n value: number;\n label?: string;\n }\n >;\n onClick?: (e: React.MouseEvent, value?: PlainObject) => void;\n}\n\nexport class SparkLine extends React.Component<SparkLineProps> {\n static defaultProps = {\n width: 100,\n height: 50\n };\n\n normalizeValue(item: any): number {\n if (typeof item === 'number') {\n return item;\n } else if (item && typeof item.value === 'number') {\n return item.value;\n } else {\n return Number(item) || 0;\n }\n }\n\n renderLines() {\n const {width, height, value, classnames: cx} = this.props;\n\n const values = value!.map(item => this.normalizeValue(item));\n const max = Math.max(...values);\n const min = Math.min(...values);\n const duration = max - min || 1;\n\n const gap = width / (values.length - 1);\n const points: Array<{\n x: number;\n y: number;\n }> = [];\n\n values.forEach((value, index) => {\n points.push({\n x: index * gap,\n y: height - ((value - min) * height) / duration\n });\n });\n\n const lineD = points\n .map((value, index) => `${index === 0 ? 'M' : 'L'} ${value.x} ${value.y}`)\n .join(' ');\n const areaD = `${lineD} V ${height} L 0 ${height} Z`;\n\n // todo 支持鼠标 hover 显示对应数据。\n\n return (\n <g>\n <path className={cx(`Sparkline-area`)} d={areaD} stroke=\"none\" />\n <path className={cx(`Sparkline-line`)} d={lineD} fill=\"none\" />\n </g>\n );\n }\n\n render() {\n const {\n classnames: cx,\n className,\n value,\n width,\n height,\n onClick\n } = this.props;\n\n return (\n <div\n className={cx(\n 'Sparkline',\n className,\n onClick ? 'Sparkline--clickable' : ''\n )}\n onClick={onClick}\n >\n {Array.isArray(value) && value.length > 1 ? (\n <svg\n className={cx('Sparkline-svg')}\n width={width}\n height={height}\n viewBox={`0 0 ${width} ${height}`}\n >\n {this.renderLines()}\n </svg>\n ) : (\n <span>Invalid Value</span>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(SparkLine));\n"
11
+ "import React from 'react';\nimport {localeable, LocaleProps} from '../locale';\nimport {themeable, ThemeProps} from '../theme';\nimport {PlainObject} from '../types';\n\nexport interface SparkLineProps extends ThemeProps, LocaleProps {\n className?: string;\n width: number;\n height: number;\n value?: Array<\n | number\n | {\n value: number;\n label?: string;\n }\n >;\n placeholder?: string;\n onClick?: (e: React.MouseEvent, value?: PlainObject) => void;\n}\n\nexport class SparkLine extends React.Component<SparkLineProps> {\n static defaultProps = {\n width: 100,\n height: 50\n };\n\n normalizeValue(item: any): number {\n if (typeof item === 'number') {\n return item;\n } else if (item && typeof item.value === 'number') {\n return item.value;\n } else {\n return Number(item) || 0;\n }\n }\n\n renderLines() {\n const {width, height, value, classnames: cx} = this.props;\n\n const values = value!.map(item => this.normalizeValue(item));\n const max = Math.max(...values);\n const min = Math.min(...values);\n const duration = max - min || 1;\n\n const gap = width / (values.length - 1);\n const points: Array<{\n x: number;\n y: number;\n }> = [];\n\n values.forEach((value, index) => {\n points.push({\n x: index * gap,\n y: height - ((value - min) * height) / duration\n });\n });\n\n const lineD = points\n .map((value, index) => `${index === 0 ? 'M' : 'L'} ${value.x} ${value.y}`)\n .join(' ');\n const areaD = `${lineD} V ${height} L 0 ${height} Z`;\n\n // todo 支持鼠标 hover 显示对应数据。\n\n return (\n <g>\n <path className={cx(`Sparkline-area`)} d={areaD} stroke=\"none\" />\n <path className={cx(`Sparkline-line`)} d={lineD} fill=\"none\" />\n </g>\n );\n }\n\n render() {\n const {\n classnames: cx,\n className,\n value,\n width,\n height,\n placeholder,\n translate: __,\n onClick\n } = this.props;\n\n return (\n <div\n className={cx(\n 'Sparkline',\n className,\n onClick ? 'Sparkline--clickable' : ''\n )}\n onClick={onClick}\n >\n {Array.isArray(value) && value.length > 1 ? (\n <svg\n className={cx('Sparkline-svg')}\n width={width}\n height={height}\n viewBox={`0 0 ${width} ${height}`}\n >\n {this.renderLines()}\n </svg>\n ) : (\n placeholder ?? __('placeholder.empty')\n )}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(SparkLine));\n"
12
12
  ]
13
13
  }
@@ -12,11 +12,11 @@ export declare type StepSchema = {
12
12
  /**
13
13
  * 标题
14
14
  */
15
- title: string;
15
+ title?: string | JSX.Element;
16
16
  /**
17
17
  * 子标题
18
18
  */
19
- subTitle?: string;
19
+ subTitle?: string | JSX.Element;
20
20
  /**
21
21
  * 图标
22
22
  */
@@ -25,7 +25,7 @@ export declare type StepSchema = {
25
25
  /**
26
26
  * 描述
27
27
  */
28
- description?: string;
28
+ description?: string | JSX.Element;
29
29
  status?: StepStatus;
30
30
  } & Omit<BaseSchema, 'type'>;
31
31
  export interface StepsSchema extends BaseSchema {
@@ -8,6 +8,6 @@
8
8
  "names": [],
9
9
  "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {themeable, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {BaseSchema} from '../Schema';\n\nexport enum StepStatus {\n wait = 'wait',\n process = 'process',\n finish = 'finish',\n error = 'error'\n}\n\nexport type StepSchema = {\n /**\n * 标题\n */\n title: string;\n\n /**\n * 子标题\n */\n subTitle?: string;\n\n /**\n * 图标\n */\n icon?: string;\n\n value?: string | number;\n\n /**\n * 描述\n */\n description?: string;\n\n status?: StepStatus;\n} & Omit<BaseSchema, 'type'>;\n\nexport interface StepsSchema extends BaseSchema {\n /**\n * 指定为 Steps 步骤条渲染器\n */\n type: 'steps';\n\n /**\n * 步骤\n */\n steps?: Array<StepSchema>;\n\n /**\n * API 或 数据映射\n */\n source?: string;\n\n /**\n * 指定当前步骤\n */\n value?: number | string;\n\n /**\n * 变量映射\n */\n name?: string;\n\n status: StepStatus\n\n /**\n * 展示模式\n */\n mode?: 'horizontal' | 'vertical';\n}\n\nexport interface StepsProps extends ThemeProps {\n steps: StepSchema[];\n className: string;\n current: number;\n status?: StepStatus | {\n [propName: string]: StepStatus;\n };\n mode?: 'horizontal' | 'vertical';\n}\n\nexport function Steps(props: StepsProps) {\n const {\n steps: stepsRow,\n classnames: cx,\n className,\n current,\n status,\n mode = 'horizontal'\n } = props;\n const FINISH_ICON = 'check';\n const ERROR_ICON = 'close';\n\n function getStepStatus(\n step: StepSchema,\n i: number\n ): {stepStatus: StepStatus; icon?: string} {\n let stepStatus: StepStatus = StepStatus.wait;\n let icon = step.icon;\n\n if (i < current) {\n stepStatus = StepStatus.finish;\n !icon && (icon = FINISH_ICON);\n } else if (i === current) {\n stepStatus = StepStatus.process;\n }\n\n if (typeof status === 'string') {\n if (i === current) {\n stepStatus = step.status || status || StepStatus.process;\n stepStatus === StepStatus.error && !icon && (icon = ERROR_ICON);\n }\n } else if (typeof status === 'object') {\n const key = step.value;\n key && status[key] && (stepStatus = status[key]);\n }\n\n return {\n stepStatus,\n icon\n };\n }\n\n return (\n <ul className={cx('Steps', `Steps--${mode}`, className)}>\n {stepsRow.map((step, i) => {\n const {stepStatus, icon} = getStepStatus(step, i);\n\n return (\n <li\n key={i}\n className={cx('StepsItem', `is-${stepStatus}`, step.className)}\n >\n <div className={cx('StepsItem-container')}>\n <div className={cx('StepsItem-containerIcon')}>\n <span className={cx('StepsItem-icon')}>\n {icon ? <Icon icon={icon} className=\"icon\" /> : i + 1}\n </span>\n </div>\n <div className={cx('StepsItem-containerWrapper')}>\n <div className={cx('StepsItem-body')}>\n <div\n className={cx(\n 'StepsItem-title',\n i < current && 'is-success'\n )}\n >\n <span>{step.title}</span>\n <span className={cx('StepsItem-subTitle')}>\n {step.subTitle}\n </span>\n </div>\n <div className={cx('StepsItem-description')}>\n {step.description}\n </div>\n </div>\n </div>\n </div>\n </li>\n );\n })}\n </ul>\n )\n}\n\nexport default themeable(Steps);"
11
+ "import React from 'react';\nimport {themeable, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {BaseSchema} from '../Schema';\n\nexport enum StepStatus {\n wait = 'wait',\n process = 'process',\n finish = 'finish',\n error = 'error'\n}\n\nexport type StepSchema = {\n /**\n * 标题\n */\n title?: string | JSX.Element;\n\n /**\n * 子标题\n */\n subTitle?: string | JSX.Element;\n\n /**\n * 图标\n */\n icon?: string;\n\n value?: string | number;\n\n /**\n * 描述\n */\n description?: string | JSX.Element;\n\n status?: StepStatus;\n} & Omit<BaseSchema, 'type'>;\n\nexport interface StepsSchema extends BaseSchema {\n /**\n * 指定为 Steps 步骤条渲染器\n */\n type: 'steps';\n\n /**\n * 步骤\n */\n steps?: Array<StepSchema>;\n\n /**\n * API 或 数据映射\n */\n source?: string;\n\n /**\n * 指定当前步骤\n */\n value?: number | string;\n\n /**\n * 变量映射\n */\n name?: string;\n\n status: StepStatus\n\n /**\n * 展示模式\n */\n mode?: 'horizontal' | 'vertical';\n}\n\nexport interface StepsProps extends ThemeProps {\n steps: StepSchema[];\n className: string;\n current: number;\n status?: StepStatus | {\n [propName: string]: StepStatus;\n };\n mode?: 'horizontal' | 'vertical';\n}\n\nexport function Steps(props: StepsProps) {\n const {\n steps: stepsRow,\n classnames: cx,\n className,\n current,\n status,\n mode = 'horizontal'\n } = props;\n const FINISH_ICON = 'check';\n const ERROR_ICON = 'close';\n\n function getStepStatus(\n step: StepSchema,\n i: number\n ): {stepStatus: StepStatus; icon?: string} {\n let stepStatus: StepStatus = StepStatus.wait;\n let icon = step.icon;\n\n if (i < current) {\n stepStatus = StepStatus.finish;\n !icon && (icon = FINISH_ICON);\n } else if (i === current) {\n stepStatus = StepStatus.process;\n }\n\n if (typeof status === 'string') {\n if (i === current) {\n stepStatus = step.status || status || StepStatus.process;\n stepStatus === StepStatus.error && !icon && (icon = ERROR_ICON);\n }\n } else if (typeof status === 'object') {\n const key = step.value;\n key && status[key] && (stepStatus = status[key]);\n }\n\n return {\n stepStatus,\n icon\n };\n }\n\n return (\n <ul className={cx('Steps', `Steps--${mode}`, className)}>\n {stepsRow.map((step, i) => {\n const {stepStatus, icon} = getStepStatus(step, i);\n\n return (\n <li\n key={i}\n className={cx('StepsItem', `is-${stepStatus}`, step.className)}\n >\n <div className={cx('StepsItem-container')}>\n <div className={cx('StepsItem-containerIcon')}>\n <span className={cx('StepsItem-icon')}>\n {icon ? <Icon icon={icon} className=\"icon\" /> : i + 1}\n </span>\n </div>\n <div className={cx('StepsItem-containerWrapper')}>\n <div className={cx('StepsItem-body')}>\n <div\n className={cx(\n 'StepsItem-title',\n i < current && 'is-success'\n )}\n >\n <span>{step.title}</span>\n <span className={cx('StepsItem-subTitle')}>\n {step.subTitle}\n </span>\n </div>\n <div className={cx('StepsItem-description')}>\n {step.description}\n </div>\n </div>\n </div>\n </div>\n </li>\n );\n })}\n </ul>\n )\n}\n\nexport default themeable(Steps);"
12
12
  ]
13
13
  }
@@ -172,10 +172,10 @@ var ToastMessage = /** @class */ (function (_super) {
172
172
  var _a = this.props, onDismiss = _a.onDismiss, cx = _a.classnames, closeButton = _a.closeButton, body = _a.body, allowHtml = _a.allowHtml, level = _a.level, showIcon = _a.showIcon, __ = _a.translate;
173
173
  return (react_1.default.createElement(Transition_1.default, { mountOnEnter: true, unmountOnExit: true, in: this.state.visible, timeout: 750, onEntered: this.handleEntered, onExited: onDismiss }, function (status) {
174
174
  return (react_1.default.createElement("div", { className: cx("Toast Toast--" + level, fadeStyles[status]), onMouseEnter: _this.handleMouseEnter, onMouseLeave: _this.handleMouseLeave, onClick: closeButton ? helper_1.noop : _this.close },
175
- showIcon === false ? null : (react_1.default.createElement("div", { className: cx('Toast-icon') }, level === 'success' ? (react_1.default.createElement(icons_1.Icon, { icon: "success", className: "icon" })) : level == 'error' ? (react_1.default.createElement(icons_1.Icon, { icon: "fail", className: "icon" })) : level == 'info' ? (react_1.default.createElement(icons_1.Icon, { icon: "info-circle", className: "icon" })) : level == 'warning' ? (react_1.default.createElement(icons_1.Icon, { icon: "warning", className: "icon" })) : null)),
175
+ showIcon === false ? null : (react_1.default.createElement("div", { className: cx('Toast-icon') }, level === 'success' ? (react_1.default.createElement(icons_1.Icon, { icon: "status-success", className: "icon" })) : level == 'error' ? (react_1.default.createElement(icons_1.Icon, { icon: "status-fail", className: "icon" })) : level == 'info' ? (react_1.default.createElement(icons_1.Icon, { icon: "status-info", className: "icon" })) : level == 'warning' ? (react_1.default.createElement(icons_1.Icon, { icon: "status-warning", className: "icon" })) : null)),
176
176
  react_1.default.createElement("div", { className: cx('Toast-body') }, allowHtml ? react_1.default.createElement(Html_1.default, { html: body }) : body),
177
177
  closeButton ? (react_1.default.createElement("a", { onClick: _this.close, className: cx("Toast-close") },
178
- react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" }))) : null));
178
+ react_1.default.createElement(icons_1.Icon, { icon: "status-close", className: "icon" }))) : null));
179
179
  }));
180
180
  };
181
181
  ToastMessage.defaultProps = {
@@ -6,8 +6,8 @@
6
6
  "/src/components/Toast.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file Toast\n * @description toast提示组件, 单例模式,App级别只需要一个ToastComponent,引入了多个会兼容,也只有第一个生效\n * @author fex\n */\n\nimport Transition, {\n ENTERED,\n ENTERING,\n EXITING,\n EXITED\n} from 'react-transition-group/Transition';\nimport React from 'react';\nimport cx from 'classnames';\nimport Html from './Html';\nimport {uuid, autobind, noop} from '../utils/helper';\nimport {ClassNamesFn, themeable, classnames, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {LocaleProps, localeable, TranslateFn} from '../locale';\nimport groupBy from 'lodash/groupBy';\n\ninterface Config {\n closeButton?: boolean;\n timeout?: number;\n}\n\nconst fadeStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in',\n [EXITING]: 'out'\n};\n\nlet toastRef: any = null;\nconst show = (content: string, conf: any = {}, method: string) => {\n if (!toastRef || !toastRef[method]) {\n return;\n }\n toastRef[method](content, {...conf});\n};\n\ninterface ToastComponentProps extends ThemeProps, LocaleProps {\n position:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n closeButton: boolean;\n showIcon?: boolean;\n timeout: number;\n className?: string;\n}\n\ninterface Item extends Config {\n body: string;\n level: 'info' | 'success' | 'error' | 'warning';\n id: string;\n onDissmiss?: () => void;\n position?:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n}\n\ninterface ToastComponentState {\n items: Array<Item>;\n}\n\nexport class ToastComponent extends React.Component<\n ToastComponentProps,\n ToastComponentState\n> {\n static defaultProps: Pick<\n ToastComponentProps,\n 'position' | 'closeButton' | 'timeout'\n > = {\n position: 'top-center',\n closeButton: false,\n timeout: 5000\n };\n static themeKey = 'toast';\n\n // 当前ToastComponent是否真正render了\n hasRendered = false;\n state: ToastComponentState = {\n items: []\n };\n\n componentDidMount() {\n this.hasRendered = true;\n toastRef = this;\n }\n\n componentWillUnmount() {\n if (this.hasRendered) {\n toastRef = null;\n }\n }\n\n notifiy(level: string, content: string, config?: any) {\n const items = this.state.items.concat();\n items.push({\n body: content,\n level,\n ...config,\n id: uuid()\n });\n this.setState({\n items\n });\n }\n\n @autobind\n success(content: string, config?: any) {\n this.notifiy('success', content, config);\n }\n\n @autobind\n error(content: string, config?: any) {\n this.notifiy('error', content, config);\n }\n\n @autobind\n info(content: string, config?: any) {\n this.notifiy('info', content, config);\n }\n\n @autobind\n warning(content: string, config?: any) {\n this.notifiy('warning', content, config);\n }\n\n handleDismissed(index: number) {\n const items = this.state.items.concat();\n const [item] = items.splice(index, 1);\n\n item?.onDissmiss?.();\n this.setState({\n items: items\n });\n }\n\n render() {\n if (toastRef && !this.hasRendered) {\n return null;\n }\n\n const {\n classnames: cx,\n className,\n timeout,\n position,\n showIcon,\n translate,\n closeButton\n } = this.props;\n const items = this.state.items;\n\n const groupedItems = groupBy(items, item => item.position || position);\n\n return Object.keys(groupedItems).map(position => {\n const toasts = groupedItems[position];\n\n return (\n <div\n key={position}\n className={cx(\n `Toast-wrap Toast-wrap--${position.replace(/\\-(\\w)/g, (_, l) =>\n l.toUpperCase()\n )}`,\n className\n )}\n >\n {toasts.map(item => (\n <ToastMessage\n classnames={cx}\n key={item.id}\n body={item.body}\n level={item.level || 'info'}\n timeout={item.timeout ?? timeout}\n closeButton={item.closeButton ?? closeButton}\n onDismiss={this.handleDismissed.bind(this, items.indexOf(item))}\n translate={translate}\n showIcon={showIcon}\n />\n ))}\n </div>\n );\n });\n }\n}\n\nexport default themeable(localeable(ToastComponent));\n\ninterface ToastMessageProps {\n body: string;\n level: 'info' | 'success' | 'error' | 'warning';\n timeout: number;\n closeButton?: boolean;\n showIcon?: boolean;\n position:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n onDismiss?: () => void;\n classnames: ClassNamesFn;\n translate: TranslateFn;\n allowHtml: boolean;\n}\n\ninterface ToastMessageState {\n visible: boolean;\n}\n\nexport class ToastMessage extends React.Component<\n ToastMessageProps,\n ToastMessageState\n> {\n static defaultProps = {\n timeout: 5000,\n classPrefix: '',\n position: 'top-center',\n allowHtml: true,\n level: 'info'\n };\n\n state = {\n visible: false\n };\n\n // content: React.RefObject<HTMLDivElement>;\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean = false;\n\n componentDidMount() {\n this.mounted = true;\n this.setState({\n visible: true\n });\n }\n\n componentWillUnmount() {\n clearTimeout(this.timer);\n this.mounted = false;\n }\n\n @autobind\n handleMouseEnter() {\n clearTimeout(this.timer);\n }\n\n @autobind\n handleMouseLeave() {\n this.handleEntered();\n }\n\n @autobind\n handleEntered() {\n const timeout = this.props.timeout;\n if (this.mounted && timeout) {\n this.timer = setTimeout(this.close, timeout);\n }\n }\n\n @autobind\n close() {\n clearTimeout(this.timer);\n this.setState({\n visible: false\n });\n }\n\n render() {\n const {\n onDismiss,\n classnames: cx,\n closeButton,\n body,\n allowHtml,\n level,\n showIcon,\n translate: __\n } = this.props;\n\n return (\n <Transition\n mountOnEnter\n unmountOnExit\n in={this.state.visible}\n timeout={750}\n onEntered={this.handleEntered}\n onExited={onDismiss}\n >\n {(status: string) => {\n return (\n <div\n className={cx(`Toast Toast--${level}`, fadeStyles[status])}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onClick={closeButton ? noop : this.close}\n >\n {showIcon === false ? null : (\n <div className={cx('Toast-icon')}>\n {level === 'success' ? (\n <Icon icon=\"success\" className=\"icon\" />\n ) : level == 'error' ? (\n <Icon icon=\"fail\" className=\"icon\" />\n ) : level == 'info' ? (\n <Icon icon=\"info-circle\" className=\"icon\" />\n ) : level == 'warning' ? (\n <Icon icon=\"warning\" className=\"icon\" />\n ) : null}\n </div>\n )}\n <div className={cx('Toast-body')}>\n {allowHtml ? <Html html={body} /> : body}\n </div>\n\n {closeButton ? (\n <a onClick={this.close} className={cx(`Toast-close`)}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n );\n }}\n </Transition>\n );\n }\n}\n\nexport const toast = {\n container: toastRef,\n success: (content: string, conf?: any) => show(content, conf, 'success'),\n error: (content: string, conf?: any) => show(content, conf, 'error'),\n info: (content: string, conf?: any) => show(content, conf, 'info'),\n warning: (content: string, conf?: any) => show(content, conf, 'warning')\n};\n"
11
+ "/**\n * @file Toast\n * @description toast提示组件, 单例模式,App级别只需要一个ToastComponent,引入了多个会兼容,也只有第一个生效\n * @author fex\n */\n\nimport Transition, {\n ENTERED,\n ENTERING,\n EXITING,\n EXITED\n} from 'react-transition-group/Transition';\nimport React from 'react';\nimport cx from 'classnames';\nimport Html from './Html';\nimport {uuid, autobind, noop} from '../utils/helper';\nimport {ClassNamesFn, themeable, classnames, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {LocaleProps, localeable, TranslateFn} from '../locale';\nimport groupBy from 'lodash/groupBy';\n\ninterface Config {\n closeButton?: boolean;\n timeout?: number;\n}\n\nconst fadeStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in',\n [EXITING]: 'out'\n};\n\nlet toastRef: any = null;\nconst show = (content: string, conf: any = {}, method: string) => {\n if (!toastRef || !toastRef[method]) {\n return;\n }\n toastRef[method](content, {...conf});\n};\n\ninterface ToastComponentProps extends ThemeProps, LocaleProps {\n position:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n closeButton: boolean;\n showIcon?: boolean;\n timeout: number;\n className?: string;\n}\n\ninterface Item extends Config {\n body: string;\n level: 'info' | 'success' | 'error' | 'warning';\n id: string;\n onDissmiss?: () => void;\n position?:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n}\n\ninterface ToastComponentState {\n items: Array<Item>;\n}\n\nexport class ToastComponent extends React.Component<\n ToastComponentProps,\n ToastComponentState\n> {\n static defaultProps: Pick<\n ToastComponentProps,\n 'position' | 'closeButton' | 'timeout'\n > = {\n position: 'top-center',\n closeButton: false,\n timeout: 5000\n };\n static themeKey = 'toast';\n\n // 当前ToastComponent是否真正render了\n hasRendered = false;\n state: ToastComponentState = {\n items: []\n };\n\n componentDidMount() {\n this.hasRendered = true;\n toastRef = this;\n }\n\n componentWillUnmount() {\n if (this.hasRendered) {\n toastRef = null;\n }\n }\n\n notifiy(level: string, content: string, config?: any) {\n const items = this.state.items.concat();\n items.push({\n body: content,\n level,\n ...config,\n id: uuid()\n });\n this.setState({\n items\n });\n }\n\n @autobind\n success(content: string, config?: any) {\n this.notifiy('success', content, config);\n }\n\n @autobind\n error(content: string, config?: any) {\n this.notifiy('error', content, config);\n }\n\n @autobind\n info(content: string, config?: any) {\n this.notifiy('info', content, config);\n }\n\n @autobind\n warning(content: string, config?: any) {\n this.notifiy('warning', content, config);\n }\n\n handleDismissed(index: number) {\n const items = this.state.items.concat();\n const [item] = items.splice(index, 1);\n\n item?.onDissmiss?.();\n this.setState({\n items: items\n });\n }\n\n render() {\n if (toastRef && !this.hasRendered) {\n return null;\n }\n\n const {\n classnames: cx,\n className,\n timeout,\n position,\n showIcon,\n translate,\n closeButton\n } = this.props;\n const items = this.state.items;\n\n const groupedItems = groupBy(items, item => item.position || position);\n\n return Object.keys(groupedItems).map(position => {\n const toasts = groupedItems[position];\n\n return (\n <div\n key={position}\n className={cx(\n `Toast-wrap Toast-wrap--${position.replace(/\\-(\\w)/g, (_, l) =>\n l.toUpperCase()\n )}`,\n className\n )}\n >\n {toasts.map(item => (\n <ToastMessage\n classnames={cx}\n key={item.id}\n body={item.body}\n level={item.level || 'info'}\n timeout={item.timeout ?? timeout}\n closeButton={item.closeButton ?? closeButton}\n onDismiss={this.handleDismissed.bind(this, items.indexOf(item))}\n translate={translate}\n showIcon={showIcon}\n />\n ))}\n </div>\n );\n });\n }\n}\n\nexport default themeable(localeable(ToastComponent));\n\ninterface ToastMessageProps {\n body: string;\n level: 'info' | 'success' | 'error' | 'warning';\n timeout: number;\n closeButton?: boolean;\n showIcon?: boolean;\n position:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n onDismiss?: () => void;\n classnames: ClassNamesFn;\n translate: TranslateFn;\n allowHtml: boolean;\n}\n\ninterface ToastMessageState {\n visible: boolean;\n}\n\nexport class ToastMessage extends React.Component<\n ToastMessageProps,\n ToastMessageState\n> {\n static defaultProps = {\n timeout: 5000,\n classPrefix: '',\n position: 'top-center',\n allowHtml: true,\n level: 'info'\n };\n\n state = {\n visible: false\n };\n\n // content: React.RefObject<HTMLDivElement>;\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean = false;\n\n componentDidMount() {\n this.mounted = true;\n this.setState({\n visible: true\n });\n }\n\n componentWillUnmount() {\n clearTimeout(this.timer);\n this.mounted = false;\n }\n\n @autobind\n handleMouseEnter() {\n clearTimeout(this.timer);\n }\n\n @autobind\n handleMouseLeave() {\n this.handleEntered();\n }\n\n @autobind\n handleEntered() {\n const timeout = this.props.timeout;\n if (this.mounted && timeout) {\n this.timer = setTimeout(this.close, timeout);\n }\n }\n\n @autobind\n close() {\n clearTimeout(this.timer);\n this.setState({\n visible: false\n });\n }\n\n render() {\n const {\n onDismiss,\n classnames: cx,\n closeButton,\n body,\n allowHtml,\n level,\n showIcon,\n translate: __\n } = this.props;\n\n return (\n <Transition\n mountOnEnter\n unmountOnExit\n in={this.state.visible}\n timeout={750}\n onEntered={this.handleEntered}\n onExited={onDismiss}\n >\n {(status: string) => {\n return (\n <div\n className={cx(`Toast Toast--${level}`, fadeStyles[status])}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onClick={closeButton ? noop : this.close}\n >\n {showIcon === false ? null : (\n <div className={cx('Toast-icon')}>\n {level === 'success' ? (\n <Icon icon=\"status-success\" className=\"icon\" />\n ) : level == 'error' ? (\n <Icon icon=\"status-fail\" className=\"icon\" />\n ) : level == 'info' ? (\n <Icon icon=\"status-info\" className=\"icon\" />\n ) : level == 'warning' ? (\n <Icon icon=\"status-warning\" className=\"icon\" />\n ) : null}\n </div>\n )}\n <div className={cx('Toast-body')}>\n {allowHtml ? <Html html={body} /> : body}\n </div>\n\n {closeButton ? (\n <a onClick={this.close} className={cx(`Toast-close`)}>\n <Icon icon=\"status-close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n );\n }}\n </Transition>\n );\n }\n}\n\nexport const toast = {\n container: toastRef,\n success: (content: string, conf?: any) => show(content, conf, 'success'),\n error: (content: string, conf?: any) => show(content, conf, 'error'),\n info: (content: string, conf?: any) => show(content, conf, 'info'),\n warning: (content: string, conf?: any) => show(content, conf, 'warning')\n};\n"
12
12
  ]
13
13
  }
@@ -388,6 +388,7 @@ var TreeSelector = /** @class */ (function (_super) {
388
388
  }
389
389
  var checkbox = multiple ? (react_1.default.createElement(Checkbox_1.default, { size: "sm", disabled: nodeDisabled, checked: selfChecked || (!cascade && selfChildrenChecked), partial: !selfChecked, onChange: _this.handleCheck.bind(_this, item, !selfChecked) })) : showRadio ? (react_1.default.createElement(Checkbox_1.default, { size: "sm", disabled: nodeDisabled, checked: checked, onChange: _this.handleSelect.bind(_this, item) })) : null;
390
390
  var isLeaf = (!item.children || !item.children.length) && !item.placeholder;
391
+ var iconValue = item[iconField] || (childrenItems ? 'folder' : 'file');
391
392
  return (react_1.default.createElement("li", { key: key, className: cx("Tree-item " + (itemClassName || ''), {
392
393
  'Tree-item--isLeaf': isLeaf
393
394
  }) },
@@ -401,13 +402,14 @@ var TreeSelector = /** @class */ (function (_super) {
401
402
  }) },
402
403
  react_1.default.createElement(icons_1.Icon, { icon: "right-arrow-bold", className: "icon" }))) : (react_1.default.createElement("span", { className: cx('Tree-itemArrowPlaceholder') })),
403
404
  checkbox,
404
- showIcon ? (react_1.default.createElement("i", { className: cx("Tree-itemIcon " + (item[iconField] ||
405
- (childrenItems ? 'Tree-folderIcon' : 'Tree-leafIcon'))), onClick: function () {
405
+ showIcon ? (react_1.default.createElement("i", { className: cx("Tree-itemIcon " + (childrenItems ? 'Tree-folderIcon' : 'Tree-leafIcon')), onClick: function () {
406
406
  return !nodeDisabled &&
407
407
  (multiple
408
408
  ? _this.handleCheck(item, !selfChecked)
409
409
  : _this.handleSelect(item));
410
- } }, item[iconField] ? null : (react_1.default.createElement(icons_1.Icon, { icon: childrenItems ? 'folder' : 'file', className: "icon" })))) : null,
410
+ } }, (0, icons_1.getIcon)(iconValue)
411
+ ? react_1.default.createElement(icons_1.Icon, { icon: iconValue, className: "icon" })
412
+ : react_1.default.createElement("i", { className: iconValue }))) : null,
411
413
  react_1.default.createElement("span", { className: cx('Tree-itemText'), onClick: function () {
412
414
  return !nodeDisabled &&
413
415
  (multiple
@@ -6,8 +6,8 @@
6
6
  "/src/components/Tree.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file Tree\n * @description 树形组件\n * @author fex\n */\n\nimport React from 'react';\nimport {\n eachTree,\n isVisible,\n autobind,\n findTreeIndex,\n hasAbility,\n createObject,\n getTreeParent,\n getTreeAncestors,\n cloneObject\n} from '../utils/helper';\nimport {Option, Options, value2array} from './Select';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {highlight} from '../renderers/Form/Options';\nimport {Icon} from './icons';\nimport Checkbox from './Checkbox';\nimport {LocaleProps, localeable} from '../locale';\nimport Spinner from './Spinner';\n\ninterface TreeSelectorProps extends ThemeProps, LocaleProps {\n highlightTxt?: string;\n\n showIcon?: boolean;\n // 是否默认都展开\n initiallyOpen?: boolean;\n // 默认展开的级数,从1开始,只有initiallyOpen不是true时生效\n unfoldedLevel?: number;\n // 单选时,是否展示radio\n showRadio?: boolean;\n multiple?: boolean;\n // 是否都不可用\n disabled?: boolean;\n // 多选时,选中父节点时,是否将其所有子节点也融合到取值中,默认是不融合\n withChildren?: boolean;\n // 多选时,选中父节点时,是否只将起子节点加入到值中。\n onlyChildren?: boolean;\n // 名称、取值等字段名映射\n labelField: string;\n valueField: string;\n iconField: string;\n unfoldedField: string;\n foldedField: string;\n disabledField: string;\n\n // 是否显示 outline 辅助线\n showOutline?: boolean;\n\n className?: string;\n itemClassName?: string;\n joinValues?: boolean;\n extractValue?: boolean;\n delimiter?: string;\n options: Options;\n value: any;\n onChange: Function;\n placeholder?: string;\n hideRoot?: boolean;\n rootLabel?: string;\n rootValue?: any;\n // 是否开启节点路径记录\n enableNodePath?: boolean;\n // 路径节点的分隔符\n pathSeparator?: string;\n // 已选择节点路径\n nodePath: any[];\n\n // 这个配置名字没取好,目前的含义是,如果这个配置成true,点父级的时候,子级点不会自选中。\n // 否则点击父级,子节点选中。\n cascade?: boolean;\n selfDisabledAffectChildren?: boolean;\n minLength?: number;\n maxLength?: number;\n\n // 是否为内建 增、改、删。当有复杂表单的时候直接抛出去让外层能统一处理\n bultinCUD?: boolean;\n rootCreatable?: boolean;\n rootCreateTip?: string;\n creatable?: boolean;\n createTip?: string;\n onAdd?: (\n idx?: number | Array<number>,\n value?: any,\n skipForm?: boolean\n ) => void;\n editable?: boolean;\n editTip?: string;\n onEdit?: (value: Option, origin?: Option, skipForm?: boolean) => void;\n removable?: boolean;\n removeTip?: string;\n onDelete?: (value: Option) => void;\n onDeferLoad?: (option: Option) => void;\n onExpandTree?: (nodePathArr: any[]) => void;\n}\n\ninterface TreeSelectorState {\n value: Array<any>;\n inputValue: string;\n addingParent: Option | null;\n isAdding: boolean;\n isEditing: boolean;\n editingItem: Option | null;\n}\n\nexport class TreeSelector extends React.Component<\n TreeSelectorProps,\n TreeSelectorState\n> {\n static defaultProps = {\n showIcon: true,\n showOutline: false,\n initiallyOpen: true,\n unfoldedLevel: 0,\n showRadio: false,\n multiple: false,\n disabled: false,\n withChildren: false,\n onlyChildren: false,\n labelField: 'label',\n valueField: 'value',\n iconField: 'icon',\n unfoldedField: 'unfolded',\n foldedField: 'foled',\n disabledField: 'disabled',\n joinValues: true,\n extractValue: false,\n delimiter: ',',\n hideRoot: true,\n rootLabel: 'Tree.root',\n rootValue: 0,\n cascade: false,\n selfDisabledAffectChildren: true,\n rootCreateTip: 'Tree.addRoot',\n createTip: 'Tree.addChild',\n editTip: 'Tree.editNode',\n removeTip: 'Tree.removeNode',\n enableNodePath: false,\n pathSeparator: '/',\n nodePath: []\n };\n\n unfolded: WeakMap<Object, boolean> = new WeakMap();\n\n constructor(props: TreeSelectorProps) {\n super(props);\n\n this.state = {\n value: value2array(\n props.value,\n {\n multiple: props.multiple,\n delimiter: props.delimiter,\n valueField: props.valueField,\n labelField: props.labelField,\n options: props.options,\n pathSeparator: props.pathSeparator\n },\n props.enableNodePath\n ),\n\n inputValue: '',\n addingParent: null,\n isAdding: false,\n isEditing: false,\n editingItem: null\n };\n\n this.syncUnFolded(props);\n }\n\n componentDidMount() {\n const {enableNodePath} = this.props;\n enableNodePath && this.expandLazyLoadNodes();\n }\n\n componentDidUpdate(prevProps: TreeSelectorProps) {\n const props = this.props;\n\n if (prevProps.options !== props.options) {\n this.syncUnFolded(props);\n }\n\n if (\n prevProps.value !== props.value ||\n prevProps.options !== props.options\n ) {\n this.setState({\n value: value2array(\n props.value,\n {\n multiple: props.multiple,\n delimiter: props.delimiter,\n valueField: props.valueField,\n options: props.options\n },\n props.enableNodePath\n )\n });\n }\n }\n\n /**\n * 展开懒加载节点的父节点\n */\n expandLazyLoadNodes() {\n const {pathSeparator, onExpandTree, nodePath = []} = this.props;\n const nodePathArr = nodePath.map(path =>\n path ? path.toString().split(pathSeparator) : []\n );\n onExpandTree?.(nodePathArr);\n }\n\n syncUnFolded(props: TreeSelectorProps) {\n // 初始化树节点的展开状态\n let unfolded = this.unfolded;\n const {foldedField, unfoldedField} = this.props;\n\n eachTree(props.options, (node: Option, index, level) => {\n if (unfolded.has(node)) {\n return;\n }\n\n if (node.children && node.children.length) {\n let ret: any = true;\n\n if (node.defer && node.loaded) {\n ret = true;\n } else if (\n unfoldedField &&\n typeof node[unfoldedField] !== 'undefined'\n ) {\n ret = !!node[unfoldedField];\n } else if (foldedField && typeof node[foldedField] !== 'undefined') {\n ret = !node[foldedField];\n } else {\n ret = !!props.initiallyOpen;\n if (!ret && level <= (props.unfoldedLevel as number)) {\n ret = true;\n }\n }\n unfolded.set(node, ret);\n }\n });\n\n return unfolded;\n }\n\n @autobind\n toggleUnfolded(node: any) {\n const unfolded = this.unfolded;\n const {onDeferLoad} = this.props;\n\n if (node.defer && !node.loaded) {\n onDeferLoad?.(node);\n return;\n }\n\n unfolded.set(node, !unfolded.get(node));\n this.forceUpdate();\n }\n\n isUnfolded(node: any) {\n const unfolded = this.unfolded;\n return unfolded.get(node);\n }\n\n @autobind\n clearSelect() {\n this.setState(\n {\n value: []\n },\n () => {\n const {joinValues, rootValue, onChange} = this.props;\n\n onChange(joinValues ? rootValue : []);\n }\n );\n }\n\n /**\n * enableNodePath为true时,将label和value转换成node path格式\n */\n transform2NodePath(value: any) {\n const {\n multiple,\n options,\n valueField,\n labelField,\n joinValues,\n extractValue,\n pathSeparator,\n delimiter\n } = this.props;\n\n const nodesValuePath: string[] = [];\n const selectedNodes = Array.isArray(value) ? value.concat() : [value];\n const selectedNodesPath = selectedNodes.map(node => {\n const nodePath = getTreeAncestors(options, node, true)?.reduce(\n (acc, node) => {\n acc[labelField as string].push(node[labelField as string]);\n acc[valueField as string].push(node[valueField as string]);\n return acc;\n },\n {[labelField as string]: [], [valueField as string]: []}\n );\n const nodeValuePath = nodePath[valueField as string].join(pathSeparator);\n\n nodesValuePath.push(nodeValuePath);\n return {\n ...node,\n [labelField]: nodePath[labelField as string].join(pathSeparator),\n [valueField]: nodeValuePath\n };\n });\n\n if (multiple) {\n return joinValues\n ? nodesValuePath.join(delimiter)\n : extractValue\n ? nodesValuePath\n : selectedNodesPath;\n } else {\n return joinValues || extractValue\n ? selectedNodesPath[0][valueField]\n : selectedNodesPath[0];\n }\n }\n\n @autobind\n handleSelect(node: any, value?: any) {\n const {joinValues, valueField, onChange, enableNodePath} = this.props;\n\n if (node[valueField as string] === undefined) {\n if (node.defer && !node.loaded) {\n this.toggleUnfolded(node);\n }\n\n return;\n }\n\n this.setState(\n {\n value: [node]\n },\n () => {\n onChange(\n enableNodePath\n ? this.transform2NodePath(node)\n : joinValues\n ? node[valueField as string]\n : node\n );\n }\n );\n }\n\n @autobind\n handleCheck(item: any, checked: boolean) {\n const props = this.props;\n const value = this.state.value.concat();\n const idx = value.indexOf(item);\n const onlyChildren = props.onlyChildren;\n\n if (checked) {\n ~idx || value.push(item);\n\n // cascade 为 true 表示父节点跟子节点没有级联关系。\n if (!props.cascade) {\n const children = item.children ? item.children.concat([]) : [];\n\n if (onlyChildren) {\n // 父级选中的时候,子节点也都选中,但是自己不选中\n !~idx && children.length && value.pop();\n\n while (children.length) {\n let child = children.shift();\n let index = value.indexOf(child);\n\n if (child.children && child.children.length) {\n children.push.apply(children, child.children);\n } else if (!~index && child.value !== 'undefined') {\n value.push(child);\n }\n }\n } else {\n // 只要父节点选择了,子节点就不需要了,全部去掉勾选. withChildren时相反\n while (children.length) {\n let child = children.shift();\n let index = value.indexOf(child);\n\n if (~index) {\n value.splice(index, 1);\n }\n\n if (props.withChildren) {\n value.push(child);\n }\n\n if (child.children && child.children.length) {\n children.push.apply(children, child.children);\n }\n }\n\n let toCheck = item;\n\n while (true) {\n const parent = getTreeParent(props.options, toCheck);\n if (parent?.value) {\n // 如果所有孩子节点都勾选了,应该自动勾选父级。\n\n if (\n parent.children.every((child: any) => ~value.indexOf(child))\n ) {\n if (!props.withChildren) {\n parent.children.forEach((child: any) => {\n const index = value.indexOf(child);\n if (~index) {\n value.splice(index, 1);\n }\n });\n }\n value.push(parent);\n toCheck = parent;\n continue;\n }\n }\n break;\n }\n }\n }\n } else {\n ~idx && value.splice(idx, 1);\n\n if (!props.cascade && (props.withChildren || onlyChildren)) {\n const children = item.children ? item.children.concat([]) : [];\n while (children.length) {\n let child = children.shift();\n let index = value.indexOf(child);\n\n if (~index) {\n value.splice(index, 1);\n }\n\n if (child.children && child.children.length) {\n children.push.apply(children, child.children);\n }\n }\n }\n }\n\n this.setState(\n {\n value\n },\n () => {\n const {\n joinValues,\n extractValue,\n valueField,\n delimiter,\n onChange,\n enableNodePath\n } = props;\n\n onChange(\n enableNodePath\n ? this.transform2NodePath(value)\n : joinValues\n ? value.map(item => item[valueField as string]).join(delimiter)\n : extractValue\n ? value.map(item => item[valueField as string])\n : value\n );\n }\n );\n }\n\n @autobind\n handleAdd(parent: Option | null = null) {\n const {bultinCUD, onAdd, options} = this.props;\n\n if (!bultinCUD) {\n const idxes = findTreeIndex(options, item => item === parent) || [];\n return onAdd && onAdd(idxes.concat(0));\n } else {\n this.setState({\n isEditing: false,\n isAdding: true,\n addingParent: parent\n });\n }\n }\n\n @autobind\n handleEdit(item: Option) {\n const {bultinCUD, onEdit, labelField, options} = this.props;\n\n if (!bultinCUD) {\n onEdit?.(item);\n } else {\n this.setState({\n isEditing: true,\n isAdding: false,\n editingItem: item,\n inputValue: item[labelField]\n });\n }\n }\n\n @autobind\n handleRemove(item: Option) {\n const {onDelete} = this.props;\n\n onDelete && onDelete(item);\n }\n\n @autobind\n handleInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n inputValue: e.currentTarget.value\n });\n }\n\n @autobind\n handleConfirm() {\n const {\n inputValue: value,\n isAdding,\n addingParent,\n editingItem,\n isEditing\n } = this.state;\n\n if (!value) {\n return;\n }\n\n const {labelField, onAdd, options, onEdit} = this.props;\n this.setState(\n {\n inputValue: '',\n isAdding: false,\n isEditing: false\n },\n () => {\n if (isAdding && onAdd) {\n const idxes =\n (addingParent &&\n findTreeIndex(options, item => item === addingParent)) ||\n [];\n onAdd(idxes.concat(0), {[labelField]: value}, true);\n } else if (isEditing && onEdit) {\n onEdit(\n {\n ...editingItem,\n [labelField]: value\n },\n editingItem!,\n true\n );\n }\n }\n );\n }\n\n @autobind\n handleCancel() {\n this.setState({\n inputValue: '',\n isAdding: false,\n isEditing: false\n });\n }\n\n renderInput(prfix: JSX.Element | null = null) {\n const {classnames: cx, translate: __} = this.props;\n const {inputValue} = this.state;\n\n return (\n <div className={cx('Tree-itemLabel')}>\n <div className={cx('Tree-itemInput')}>\n {prfix}\n <input\n onChange={this.handleInputChange}\n value={inputValue}\n placeholder={__('placeholder.enter')}\n />\n <a data-tooltip={__('cancel')} onClick={this.handleCancel}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n <a data-tooltip={__('confirm')} onClick={this.handleConfirm}>\n <Icon icon=\"check\" className=\"icon\" />\n </a>\n </div>\n </div>\n );\n }\n\n @autobind\n renderList(\n list: Options,\n value: Option[],\n uncheckable: boolean\n ): {dom: Array<JSX.Element | null>; childrenChecked: number} {\n const {\n itemClassName,\n showIcon,\n showRadio,\n multiple,\n disabled,\n labelField,\n valueField,\n iconField,\n disabledField,\n cascade,\n selfDisabledAffectChildren,\n onlyChildren,\n classnames: cx,\n highlightTxt,\n options,\n maxLength,\n minLength,\n creatable,\n editable,\n removable,\n createTip,\n editTip,\n removeTip,\n translate: __\n } = this.props;\n const {\n value: stateValue,\n isAdding,\n addingParent,\n editingItem,\n isEditing\n } = this.state;\n\n let childrenChecked = 0;\n let ret = list.map((item, key) => {\n if (!isVisible(item as any, options)) {\n return null;\n }\n\n const checked = !!~value.indexOf(item);\n const selfDisabled = item[disabledField];\n let selfChecked = !!uncheckable || checked;\n\n let childrenItems = null;\n let selfChildrenChecked = false;\n if (item.children && item.children.length) {\n childrenItems = this.renderList(\n item.children,\n value,\n cascade\n ? false\n : uncheckable ||\n (selfDisabledAffectChildren ? selfDisabled : false) ||\n (multiple && checked)\n );\n selfChildrenChecked = !!childrenItems.childrenChecked;\n if (\n !selfChecked &&\n onlyChildren &&\n item.children.length === childrenItems.childrenChecked\n ) {\n selfChecked = true;\n }\n childrenItems = childrenItems.dom;\n }\n\n if ((onlyChildren ? selfChecked : selfChildrenChecked) || checked) {\n childrenChecked++;\n }\n\n let nodeDisabled = !!uncheckable || !!disabled || selfDisabled;\n\n if (\n !nodeDisabled &&\n ((maxLength && !selfChecked && stateValue.length >= maxLength) ||\n (minLength && selfChecked && stateValue.length <= minLength))\n ) {\n nodeDisabled = true;\n }\n\n const checkbox: JSX.Element | null = multiple ? (\n <Checkbox\n size=\"sm\"\n disabled={nodeDisabled}\n checked={selfChecked || (!cascade && selfChildrenChecked)}\n partial={!selfChecked}\n onChange={this.handleCheck.bind(this, item, !selfChecked)}\n />\n ) : showRadio ? (\n <Checkbox\n size=\"sm\"\n disabled={nodeDisabled}\n checked={checked}\n onChange={this.handleSelect.bind(this, item)}\n />\n ) : null;\n\n const isLeaf =\n (!item.children || !item.children.length) && !item.placeholder;\n\n return (\n <li\n key={key}\n className={cx(`Tree-item ${itemClassName || ''}`, {\n 'Tree-item--isLeaf': isLeaf\n })}\n >\n {isEditing && editingItem === item ? (\n this.renderInput(checkbox)\n ) : (\n <div\n className={cx('Tree-itemLabel', {\n 'is-children-checked':\n multiple && !cascade && selfChildrenChecked && !nodeDisabled,\n 'is-checked': checked,\n 'is-disabled': nodeDisabled\n })}\n >\n {item.loading ? (\n <Spinner\n size=\"sm\"\n show\n icon=\"reload\"\n spinnerClassName={cx('Tree-spinner')}\n />\n ) : !isLeaf || (item.defer && !item.loaded) ? (\n <div\n onClick={() => this.toggleUnfolded(item)}\n className={cx('Tree-itemArrow', {\n 'is-folded': !this.isUnfolded(item)\n })}\n >\n <Icon icon=\"right-arrow-bold\" className=\"icon\" />\n </div>\n ) : (\n <span className={cx('Tree-itemArrowPlaceholder')} />\n )}\n\n {checkbox}\n\n {showIcon ? (\n <i\n className={cx(\n `Tree-itemIcon ${\n item[iconField] ||\n (childrenItems ? 'Tree-folderIcon' : 'Tree-leafIcon')\n }`\n )}\n onClick={() =>\n !nodeDisabled &&\n (multiple\n ? this.handleCheck(item, !selfChecked)\n : this.handleSelect(item))\n }\n >\n {item[iconField] ? null : (\n <Icon\n icon={childrenItems ? 'folder' : 'file'}\n className=\"icon\"\n />\n )}\n </i>\n ) : null}\n\n <span\n className={cx('Tree-itemText')}\n onClick={() =>\n !nodeDisabled &&\n (multiple\n ? this.handleCheck(item, !selfChecked)\n : this.handleSelect(item))\n }\n >\n {highlightTxt\n ? highlight(`${item[labelField]}`, highlightTxt)\n : `${item[labelField]}`}\n </span>\n\n {!nodeDisabled &&\n !isAdding &&\n !isEditing &&\n !(item.defer && !item.loaded) ? (\n <div className={cx('Tree-item-icons')}>\n {creatable && hasAbility(item, 'creatable') ? (\n <a\n onClick={this.handleAdd.bind(this, item)}\n data-tooltip={__(createTip)}\n data-position=\"left\"\n >\n <Icon icon=\"plus\" className=\"icon\" />\n </a>\n ) : null}\n\n {removable && hasAbility(item, 'removable') ? (\n <a\n onClick={this.handleRemove.bind(this, item)}\n data-tooltip={__(removeTip)}\n data-position=\"left\"\n >\n <Icon icon=\"minus\" className=\"icon\" />\n </a>\n ) : null}\n\n {editable && hasAbility(item, 'editable') ? (\n <a\n onClick={this.handleEdit.bind(this, item)}\n data-tooltip={__(editTip)}\n data-position=\"left\"\n >\n <Icon icon=\"pencil\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n ) : null}\n </div>\n )}\n {/* 有children而且为展开状态 或者 添加child时 */}\n {(childrenItems && this.isUnfolded(item)) ||\n (isAdding && addingParent === item) ? (\n <ul className={cx('Tree-sublist')}>\n {isAdding && addingParent === item ? (\n <li className={cx('Tree-item')}>\n {this.renderInput(\n checkbox\n ? React.cloneElement(checkbox, {\n checked: false,\n disabled: true\n })\n : null\n )}\n </li>\n ) : null}\n {childrenItems}\n </ul>\n ) : !childrenItems && item.placeholder && this.isUnfolded(item) ? (\n <ul className={cx('Tree-sublist')}>\n <li className={cx('Tree-item')}>\n <div className={cx('Tree-placeholder')}>{item.placeholder}</div>\n </li>\n </ul>\n ) : null}\n </li>\n );\n });\n\n return {\n dom: ret,\n childrenChecked\n };\n }\n\n render() {\n const {\n className,\n placeholder,\n hideRoot,\n rootLabel,\n showOutline,\n showIcon,\n classnames: cx,\n creatable,\n rootCreatable,\n rootCreateTip,\n disabled,\n translate: __\n } = this.props;\n let options = this.props.options;\n const {value, isAdding, addingParent, isEditing, inputValue} = this.state;\n let addBtn = null;\n\n if (creatable && rootCreatable !== false && hideRoot) {\n addBtn = (\n <a\n className={cx('Tree-addTopBtn', {\n 'is-disabled': isAdding || isEditing\n })}\n onClick={this.handleAdd.bind(this, null)}\n >\n <Icon icon=\"plus\" className=\"icon\" />\n <span>{__(rootCreateTip)}</span>\n </a>\n );\n }\n\n return (\n <div\n className={cx(`Tree ${className || ''}`, {\n 'Tree--outline': showOutline,\n 'is-disabled': disabled\n })}\n >\n {(options && options.length) || addBtn || hideRoot === false ? (\n <ul className={cx('Tree-list')}>\n {hideRoot ? (\n <>\n {addBtn}\n {isAdding && !addingParent ? (\n <li className={cx('Tree-item')}>{this.renderInput()}</li>\n ) : null}\n {this.renderList(options, value, false).dom}\n </>\n ) : (\n <li\n className={cx('Tree-rootItem', {\n 'is-checked': !value || !value.length\n })}\n >\n <div className={cx('Tree-itemLabel')}>\n <span\n className={cx('Tree-itemText')}\n onClick={this.clearSelect}\n >\n {showIcon ? (\n <i className={cx('Tree-itemIcon Tree-rootIcon')}>\n <Icon icon=\"home\" className=\"icon\" />\n </i>\n ) : null}\n {rootLabel}\n </span>\n {!disabled &&\n creatable &&\n rootCreatable !== false &&\n !isAdding &&\n !isEditing ? (\n <div className={cx('Tree-item-icons')}>\n {creatable ? (\n <a\n onClick={this.handleAdd.bind(this, null)}\n data-tooltip={rootCreateTip}\n data-position=\"left\"\n >\n <Icon icon=\"plus\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n ) : null}\n </div>\n <ul className={cx('Tree-sublist')}>\n {isAdding && !addingParent ? (\n <li className={cx('Tree-item')}>{this.renderInput()}</li>\n ) : null}\n {this.renderList(options, value, false).dom}\n </ul>\n </li>\n )}\n </ul>\n ) : (\n <div className={cx('Tree-placeholder')}>{placeholder}</div>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(TreeSelector));\n"
11
+ "/**\n * @file Tree\n * @description 树形组件\n * @author fex\n */\n\nimport React from 'react';\nimport {\n eachTree,\n isVisible,\n autobind,\n findTreeIndex,\n hasAbility,\n createObject,\n getTreeParent,\n getTreeAncestors,\n cloneObject\n} from '../utils/helper';\nimport {Option, Options, value2array} from './Select';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nimport {highlight} from '../renderers/Form/Options';\nimport {Icon, getIcon} from './icons';\nimport Checkbox from './Checkbox';\nimport {LocaleProps, localeable} from '../locale';\nimport Spinner from './Spinner';\n\ninterface TreeSelectorProps extends ThemeProps, LocaleProps {\n highlightTxt?: string;\n\n showIcon?: boolean;\n // 是否默认都展开\n initiallyOpen?: boolean;\n // 默认展开的级数,从1开始,只有initiallyOpen不是true时生效\n unfoldedLevel?: number;\n // 单选时,是否展示radio\n showRadio?: boolean;\n multiple?: boolean;\n // 是否都不可用\n disabled?: boolean;\n // 多选时,选中父节点时,是否将其所有子节点也融合到取值中,默认是不融合\n withChildren?: boolean;\n // 多选时,选中父节点时,是否只将起子节点加入到值中。\n onlyChildren?: boolean;\n // 名称、取值等字段名映射\n labelField: string;\n valueField: string;\n iconField: string;\n unfoldedField: string;\n foldedField: string;\n disabledField: string;\n\n // 是否显示 outline 辅助线\n showOutline?: boolean;\n\n className?: string;\n itemClassName?: string;\n joinValues?: boolean;\n extractValue?: boolean;\n delimiter?: string;\n options: Options;\n value: any;\n onChange: Function;\n placeholder?: string;\n hideRoot?: boolean;\n rootLabel?: string;\n rootValue?: any;\n // 是否开启节点路径记录\n enableNodePath?: boolean;\n // 路径节点的分隔符\n pathSeparator?: string;\n // 已选择节点路径\n nodePath: any[];\n\n // 这个配置名字没取好,目前的含义是,如果这个配置成true,点父级的时候,子级点不会自选中。\n // 否则点击父级,子节点选中。\n cascade?: boolean;\n selfDisabledAffectChildren?: boolean;\n minLength?: number;\n maxLength?: number;\n\n // 是否为内建 增、改、删。当有复杂表单的时候直接抛出去让外层能统一处理\n bultinCUD?: boolean;\n rootCreatable?: boolean;\n rootCreateTip?: string;\n creatable?: boolean;\n createTip?: string;\n onAdd?: (\n idx?: number | Array<number>,\n value?: any,\n skipForm?: boolean\n ) => void;\n editable?: boolean;\n editTip?: string;\n onEdit?: (value: Option, origin?: Option, skipForm?: boolean) => void;\n removable?: boolean;\n removeTip?: string;\n onDelete?: (value: Option) => void;\n onDeferLoad?: (option: Option) => void;\n onExpandTree?: (nodePathArr: any[]) => void;\n}\n\ninterface TreeSelectorState {\n value: Array<any>;\n inputValue: string;\n addingParent: Option | null;\n isAdding: boolean;\n isEditing: boolean;\n editingItem: Option | null;\n}\n\nexport class TreeSelector extends React.Component<\n TreeSelectorProps,\n TreeSelectorState\n> {\n static defaultProps = {\n showIcon: true,\n showOutline: false,\n initiallyOpen: true,\n unfoldedLevel: 0,\n showRadio: false,\n multiple: false,\n disabled: false,\n withChildren: false,\n onlyChildren: false,\n labelField: 'label',\n valueField: 'value',\n iconField: 'icon',\n unfoldedField: 'unfolded',\n foldedField: 'foled',\n disabledField: 'disabled',\n joinValues: true,\n extractValue: false,\n delimiter: ',',\n hideRoot: true,\n rootLabel: 'Tree.root',\n rootValue: 0,\n cascade: false,\n selfDisabledAffectChildren: true,\n rootCreateTip: 'Tree.addRoot',\n createTip: 'Tree.addChild',\n editTip: 'Tree.editNode',\n removeTip: 'Tree.removeNode',\n enableNodePath: false,\n pathSeparator: '/',\n nodePath: []\n };\n\n unfolded: WeakMap<Object, boolean> = new WeakMap();\n\n constructor(props: TreeSelectorProps) {\n super(props);\n\n this.state = {\n value: value2array(\n props.value,\n {\n multiple: props.multiple,\n delimiter: props.delimiter,\n valueField: props.valueField,\n labelField: props.labelField,\n options: props.options,\n pathSeparator: props.pathSeparator\n },\n props.enableNodePath\n ),\n\n inputValue: '',\n addingParent: null,\n isAdding: false,\n isEditing: false,\n editingItem: null\n };\n\n this.syncUnFolded(props);\n }\n\n componentDidMount() {\n const {enableNodePath} = this.props;\n enableNodePath && this.expandLazyLoadNodes();\n }\n\n componentDidUpdate(prevProps: TreeSelectorProps) {\n const props = this.props;\n\n if (prevProps.options !== props.options) {\n this.syncUnFolded(props);\n }\n\n if (\n prevProps.value !== props.value ||\n prevProps.options !== props.options\n ) {\n this.setState({\n value: value2array(\n props.value,\n {\n multiple: props.multiple,\n delimiter: props.delimiter,\n valueField: props.valueField,\n options: props.options\n },\n props.enableNodePath\n )\n });\n }\n }\n\n /**\n * 展开懒加载节点的父节点\n */\n expandLazyLoadNodes() {\n const {pathSeparator, onExpandTree, nodePath = []} = this.props;\n const nodePathArr = nodePath.map(path =>\n path ? path.toString().split(pathSeparator) : []\n );\n onExpandTree?.(nodePathArr);\n }\n\n syncUnFolded(props: TreeSelectorProps) {\n // 初始化树节点的展开状态\n let unfolded = this.unfolded;\n const {foldedField, unfoldedField} = this.props;\n\n eachTree(props.options, (node: Option, index, level) => {\n if (unfolded.has(node)) {\n return;\n }\n\n if (node.children && node.children.length) {\n let ret: any = true;\n\n if (node.defer && node.loaded) {\n ret = true;\n } else if (\n unfoldedField &&\n typeof node[unfoldedField] !== 'undefined'\n ) {\n ret = !!node[unfoldedField];\n } else if (foldedField && typeof node[foldedField] !== 'undefined') {\n ret = !node[foldedField];\n } else {\n ret = !!props.initiallyOpen;\n if (!ret && level <= (props.unfoldedLevel as number)) {\n ret = true;\n }\n }\n unfolded.set(node, ret);\n }\n });\n\n return unfolded;\n }\n\n @autobind\n toggleUnfolded(node: any) {\n const unfolded = this.unfolded;\n const {onDeferLoad} = this.props;\n\n if (node.defer && !node.loaded) {\n onDeferLoad?.(node);\n return;\n }\n\n unfolded.set(node, !unfolded.get(node));\n this.forceUpdate();\n }\n\n isUnfolded(node: any) {\n const unfolded = this.unfolded;\n return unfolded.get(node);\n }\n\n @autobind\n clearSelect() {\n this.setState(\n {\n value: []\n },\n () => {\n const {joinValues, rootValue, onChange} = this.props;\n\n onChange(joinValues ? rootValue : []);\n }\n );\n }\n\n /**\n * enableNodePath为true时,将label和value转换成node path格式\n */\n transform2NodePath(value: any) {\n const {\n multiple,\n options,\n valueField,\n labelField,\n joinValues,\n extractValue,\n pathSeparator,\n delimiter\n } = this.props;\n\n const nodesValuePath: string[] = [];\n const selectedNodes = Array.isArray(value) ? value.concat() : [value];\n const selectedNodesPath = selectedNodes.map(node => {\n const nodePath = getTreeAncestors(options, node, true)?.reduce(\n (acc, node) => {\n acc[labelField as string].push(node[labelField as string]);\n acc[valueField as string].push(node[valueField as string]);\n return acc;\n },\n {[labelField as string]: [], [valueField as string]: []}\n );\n const nodeValuePath = nodePath[valueField as string].join(pathSeparator);\n\n nodesValuePath.push(nodeValuePath);\n return {\n ...node,\n [labelField]: nodePath[labelField as string].join(pathSeparator),\n [valueField]: nodeValuePath\n };\n });\n\n if (multiple) {\n return joinValues\n ? nodesValuePath.join(delimiter)\n : extractValue\n ? nodesValuePath\n : selectedNodesPath;\n } else {\n return joinValues || extractValue\n ? selectedNodesPath[0][valueField]\n : selectedNodesPath[0];\n }\n }\n\n @autobind\n handleSelect(node: any, value?: any) {\n const {joinValues, valueField, onChange, enableNodePath} = this.props;\n\n if (node[valueField as string] === undefined) {\n if (node.defer && !node.loaded) {\n this.toggleUnfolded(node);\n }\n\n return;\n }\n\n this.setState(\n {\n value: [node]\n },\n () => {\n onChange(\n enableNodePath\n ? this.transform2NodePath(node)\n : joinValues\n ? node[valueField as string]\n : node\n );\n }\n );\n }\n\n @autobind\n handleCheck(item: any, checked: boolean) {\n const props = this.props;\n const value = this.state.value.concat();\n const idx = value.indexOf(item);\n const onlyChildren = props.onlyChildren;\n\n if (checked) {\n ~idx || value.push(item);\n\n // cascade 为 true 表示父节点跟子节点没有级联关系。\n if (!props.cascade) {\n const children = item.children ? item.children.concat([]) : [];\n\n if (onlyChildren) {\n // 父级选中的时候,子节点也都选中,但是自己不选中\n !~idx && children.length && value.pop();\n\n while (children.length) {\n let child = children.shift();\n let index = value.indexOf(child);\n\n if (child.children && child.children.length) {\n children.push.apply(children, child.children);\n } else if (!~index && child.value !== 'undefined') {\n value.push(child);\n }\n }\n } else {\n // 只要父节点选择了,子节点就不需要了,全部去掉勾选. withChildren时相反\n while (children.length) {\n let child = children.shift();\n let index = value.indexOf(child);\n\n if (~index) {\n value.splice(index, 1);\n }\n\n if (props.withChildren) {\n value.push(child);\n }\n\n if (child.children && child.children.length) {\n children.push.apply(children, child.children);\n }\n }\n\n let toCheck = item;\n\n while (true) {\n const parent = getTreeParent(props.options, toCheck);\n if (parent?.value) {\n // 如果所有孩子节点都勾选了,应该自动勾选父级。\n\n if (\n parent.children.every((child: any) => ~value.indexOf(child))\n ) {\n if (!props.withChildren) {\n parent.children.forEach((child: any) => {\n const index = value.indexOf(child);\n if (~index) {\n value.splice(index, 1);\n }\n });\n }\n value.push(parent);\n toCheck = parent;\n continue;\n }\n }\n break;\n }\n }\n }\n } else {\n ~idx && value.splice(idx, 1);\n\n if (!props.cascade && (props.withChildren || onlyChildren)) {\n const children = item.children ? item.children.concat([]) : [];\n while (children.length) {\n let child = children.shift();\n let index = value.indexOf(child);\n\n if (~index) {\n value.splice(index, 1);\n }\n\n if (child.children && child.children.length) {\n children.push.apply(children, child.children);\n }\n }\n }\n }\n\n this.setState(\n {\n value\n },\n () => {\n const {\n joinValues,\n extractValue,\n valueField,\n delimiter,\n onChange,\n enableNodePath\n } = props;\n\n onChange(\n enableNodePath\n ? this.transform2NodePath(value)\n : joinValues\n ? value.map(item => item[valueField as string]).join(delimiter)\n : extractValue\n ? value.map(item => item[valueField as string])\n : value\n );\n }\n );\n }\n\n @autobind\n handleAdd(parent: Option | null = null) {\n const {bultinCUD, onAdd, options} = this.props;\n\n if (!bultinCUD) {\n const idxes = findTreeIndex(options, item => item === parent) || [];\n return onAdd && onAdd(idxes.concat(0));\n } else {\n this.setState({\n isEditing: false,\n isAdding: true,\n addingParent: parent\n });\n }\n }\n\n @autobind\n handleEdit(item: Option) {\n const {bultinCUD, onEdit, labelField, options} = this.props;\n\n if (!bultinCUD) {\n onEdit?.(item);\n } else {\n this.setState({\n isEditing: true,\n isAdding: false,\n editingItem: item,\n inputValue: item[labelField]\n });\n }\n }\n\n @autobind\n handleRemove(item: Option) {\n const {onDelete} = this.props;\n\n onDelete && onDelete(item);\n }\n\n @autobind\n handleInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n inputValue: e.currentTarget.value\n });\n }\n\n @autobind\n handleConfirm() {\n const {\n inputValue: value,\n isAdding,\n addingParent,\n editingItem,\n isEditing\n } = this.state;\n\n if (!value) {\n return;\n }\n\n const {labelField, onAdd, options, onEdit} = this.props;\n this.setState(\n {\n inputValue: '',\n isAdding: false,\n isEditing: false\n },\n () => {\n if (isAdding && onAdd) {\n const idxes =\n (addingParent &&\n findTreeIndex(options, item => item === addingParent)) ||\n [];\n onAdd(idxes.concat(0), {[labelField]: value}, true);\n } else if (isEditing && onEdit) {\n onEdit(\n {\n ...editingItem,\n [labelField]: value\n },\n editingItem!,\n true\n );\n }\n }\n );\n }\n\n @autobind\n handleCancel() {\n this.setState({\n inputValue: '',\n isAdding: false,\n isEditing: false\n });\n }\n\n renderInput(prfix: JSX.Element | null = null) {\n const {classnames: cx, translate: __} = this.props;\n const {inputValue} = this.state;\n\n return (\n <div className={cx('Tree-itemLabel')}>\n <div className={cx('Tree-itemInput')}>\n {prfix}\n <input\n onChange={this.handleInputChange}\n value={inputValue}\n placeholder={__('placeholder.enter')}\n />\n <a data-tooltip={__('cancel')} onClick={this.handleCancel}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n <a data-tooltip={__('confirm')} onClick={this.handleConfirm}>\n <Icon icon=\"check\" className=\"icon\" />\n </a>\n </div>\n </div>\n );\n }\n\n @autobind\n renderList(\n list: Options,\n value: Option[],\n uncheckable: boolean\n ): {dom: Array<JSX.Element | null>; childrenChecked: number} {\n const {\n itemClassName,\n showIcon,\n showRadio,\n multiple,\n disabled,\n labelField,\n valueField,\n iconField,\n disabledField,\n cascade,\n selfDisabledAffectChildren,\n onlyChildren,\n classnames: cx,\n highlightTxt,\n options,\n maxLength,\n minLength,\n creatable,\n editable,\n removable,\n createTip,\n editTip,\n removeTip,\n translate: __\n } = this.props;\n const {\n value: stateValue,\n isAdding,\n addingParent,\n editingItem,\n isEditing\n } = this.state;\n\n let childrenChecked = 0;\n let ret = list.map((item, key) => {\n if (!isVisible(item as any, options)) {\n return null;\n }\n\n const checked = !!~value.indexOf(item);\n const selfDisabled = item[disabledField];\n let selfChecked = !!uncheckable || checked;\n\n let childrenItems = null;\n let selfChildrenChecked = false;\n if (item.children && item.children.length) {\n childrenItems = this.renderList(\n item.children,\n value,\n cascade\n ? false\n : uncheckable ||\n (selfDisabledAffectChildren ? selfDisabled : false) ||\n (multiple && checked)\n );\n selfChildrenChecked = !!childrenItems.childrenChecked;\n if (\n !selfChecked &&\n onlyChildren &&\n item.children.length === childrenItems.childrenChecked\n ) {\n selfChecked = true;\n }\n childrenItems = childrenItems.dom;\n }\n\n if ((onlyChildren ? selfChecked : selfChildrenChecked) || checked) {\n childrenChecked++;\n }\n\n let nodeDisabled = !!uncheckable || !!disabled || selfDisabled;\n\n if (\n !nodeDisabled &&\n ((maxLength && !selfChecked && stateValue.length >= maxLength) ||\n (minLength && selfChecked && stateValue.length <= minLength))\n ) {\n nodeDisabled = true;\n }\n\n const checkbox: JSX.Element | null = multiple ? (\n <Checkbox\n size=\"sm\"\n disabled={nodeDisabled}\n checked={selfChecked || (!cascade && selfChildrenChecked)}\n partial={!selfChecked}\n onChange={this.handleCheck.bind(this, item, !selfChecked)}\n />\n ) : showRadio ? (\n <Checkbox\n size=\"sm\"\n disabled={nodeDisabled}\n checked={checked}\n onChange={this.handleSelect.bind(this, item)}\n />\n ) : null;\n\n const isLeaf =\n (!item.children || !item.children.length) && !item.placeholder;\n\n const iconValue = item[iconField] || (childrenItems ? 'folder' : 'file');\n\n return (\n <li\n key={key}\n className={cx(`Tree-item ${itemClassName || ''}`, {\n 'Tree-item--isLeaf': isLeaf\n })}\n >\n {isEditing && editingItem === item ? (\n this.renderInput(checkbox)\n ) : (\n <div\n className={cx('Tree-itemLabel', {\n 'is-children-checked':\n multiple && !cascade && selfChildrenChecked && !nodeDisabled,\n 'is-checked': checked,\n 'is-disabled': nodeDisabled\n })}\n >\n {item.loading ? (\n <Spinner\n size=\"sm\"\n show\n icon=\"reload\"\n spinnerClassName={cx('Tree-spinner')}\n />\n ) : !isLeaf || (item.defer && !item.loaded) ? (\n <div\n onClick={() => this.toggleUnfolded(item)}\n className={cx('Tree-itemArrow', {\n 'is-folded': !this.isUnfolded(item)\n })}\n >\n <Icon icon=\"right-arrow-bold\" className=\"icon\" />\n </div>\n ) : (\n <span className={cx('Tree-itemArrowPlaceholder')} />\n )}\n\n {checkbox}\n\n {showIcon ? (\n <i\n className={cx(\n `Tree-itemIcon ${\n (childrenItems ? 'Tree-folderIcon' : 'Tree-leafIcon')\n }`\n )}\n onClick={() =>\n !nodeDisabled &&\n (multiple\n ? this.handleCheck(item, !selfChecked)\n : this.handleSelect(item))\n }\n >\n {getIcon(iconValue)\n ? <Icon icon={iconValue} className=\"icon\"/>\n : <i className={iconValue}></i>}\n </i>\n ) : null}\n\n <span\n className={cx('Tree-itemText')}\n onClick={() =>\n !nodeDisabled &&\n (multiple\n ? this.handleCheck(item, !selfChecked)\n : this.handleSelect(item))\n }\n >\n {highlightTxt\n ? highlight(`${item[labelField]}`, highlightTxt)\n : `${item[labelField]}`}\n </span>\n\n {!nodeDisabled &&\n !isAdding &&\n !isEditing &&\n !(item.defer && !item.loaded) ? (\n <div className={cx('Tree-item-icons')}>\n {creatable && hasAbility(item, 'creatable') ? (\n <a\n onClick={this.handleAdd.bind(this, item)}\n data-tooltip={__(createTip)}\n data-position=\"left\"\n >\n <Icon icon=\"plus\" className=\"icon\" />\n </a>\n ) : null}\n\n {removable && hasAbility(item, 'removable') ? (\n <a\n onClick={this.handleRemove.bind(this, item)}\n data-tooltip={__(removeTip)}\n data-position=\"left\"\n >\n <Icon icon=\"minus\" className=\"icon\" />\n </a>\n ) : null}\n\n {editable && hasAbility(item, 'editable') ? (\n <a\n onClick={this.handleEdit.bind(this, item)}\n data-tooltip={__(editTip)}\n data-position=\"left\"\n >\n <Icon icon=\"pencil\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n ) : null}\n </div>\n )}\n {/* 有children而且为展开状态 或者 添加child时 */}\n {(childrenItems && this.isUnfolded(item)) ||\n (isAdding && addingParent === item) ? (\n <ul className={cx('Tree-sublist')}>\n {isAdding && addingParent === item ? (\n <li className={cx('Tree-item')}>\n {this.renderInput(\n checkbox\n ? React.cloneElement(checkbox, {\n checked: false,\n disabled: true\n })\n : null\n )}\n </li>\n ) : null}\n {childrenItems}\n </ul>\n ) : !childrenItems && item.placeholder && this.isUnfolded(item) ? (\n <ul className={cx('Tree-sublist')}>\n <li className={cx('Tree-item')}>\n <div className={cx('Tree-placeholder')}>{item.placeholder}</div>\n </li>\n </ul>\n ) : null}\n </li>\n );\n });\n\n return {\n dom: ret,\n childrenChecked\n };\n }\n\n render() {\n const {\n className,\n placeholder,\n hideRoot,\n rootLabel,\n showOutline,\n showIcon,\n classnames: cx,\n creatable,\n rootCreatable,\n rootCreateTip,\n disabled,\n translate: __\n } = this.props;\n let options = this.props.options;\n const {value, isAdding, addingParent, isEditing, inputValue} = this.state;\n let addBtn = null;\n\n if (creatable && rootCreatable !== false && hideRoot) {\n addBtn = (\n <a\n className={cx('Tree-addTopBtn', {\n 'is-disabled': isAdding || isEditing\n })}\n onClick={this.handleAdd.bind(this, null)}\n >\n <Icon icon=\"plus\" className=\"icon\" />\n <span>{__(rootCreateTip)}</span>\n </a>\n );\n }\n\n return (\n <div\n className={cx(`Tree ${className || ''}`, {\n 'Tree--outline': showOutline,\n 'is-disabled': disabled\n })}\n >\n {(options && options.length) || addBtn || hideRoot === false ? (\n <ul className={cx('Tree-list')}>\n {hideRoot ? (\n <>\n {addBtn}\n {isAdding && !addingParent ? (\n <li className={cx('Tree-item')}>{this.renderInput()}</li>\n ) : null}\n {this.renderList(options, value, false).dom}\n </>\n ) : (\n <li\n className={cx('Tree-rootItem', {\n 'is-checked': !value || !value.length\n })}\n >\n <div className={cx('Tree-itemLabel')}>\n <span\n className={cx('Tree-itemText')}\n onClick={this.clearSelect}\n >\n {showIcon ? (\n <i className={cx('Tree-itemIcon Tree-rootIcon')}>\n <Icon icon=\"home\" className=\"icon\" />\n </i>\n ) : null}\n {rootLabel}\n </span>\n {!disabled &&\n creatable &&\n rootCreatable !== false &&\n !isAdding &&\n !isEditing ? (\n <div className={cx('Tree-item-icons')}>\n {creatable ? (\n <a\n onClick={this.handleAdd.bind(this, null)}\n data-tooltip={rootCreateTip}\n data-position=\"left\"\n >\n <Icon icon=\"plus\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n ) : null}\n </div>\n <ul className={cx('Tree-sublist')}>\n {isAdding && !addingParent ? (\n <li className={cx('Tree-item')}>{this.renderInput()}</li>\n ) : null}\n {this.renderList(options, value, false).dom}\n </ul>\n </li>\n )}\n </ul>\n ) : (\n <div className={cx('Tree-placeholder')}>{placeholder}</div>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(TreeSelector));\n"
12
12
  ]
13
13
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="lodash" />
1
2
  /**
2
3
  * 一个可以拉取远程配置的 HOC
3
4
  *
@@ -24,6 +25,7 @@ export interface OutterProps {
24
25
  env?: RendererEnv;
25
26
  data: any;
26
27
  source?: SchemaApi | SchemaTokenizeableString;
28
+ autoComplete?: SchemaApi | SchemaTokenizeableString;
27
29
  deferApi?: SchemaApi;
28
30
  remoteConfigRef?: (instance: {
29
31
  loadConfig: (ctx?: any) => Promise<any> | void;
@@ -205,12 +207,14 @@ export declare function withRemoteConfig<P = any>(config?: WithRemoteConfigSetti
205
207
  store: IStore;
206
208
  }): {
207
209
  toDispose: Array<() => void>;
210
+ loadOptions: import("lodash").DebouncedFunc<any>;
208
211
  componentDidMount(): void;
209
212
  componentDidUpdate(prevProps: any): void;
210
213
  componentWillUnmount(): void;
211
214
  loadConfig(ctx?: (JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>> & OutterProps & {
212
215
  store: IStore;
213
216
  })["data"]): Promise<void>;
217
+ loadAutoComplete(input: string): Promise<any>;
214
218
  setConfig(value: any, ctx?: any): void;
215
219
  syncConfig(): void;
216
220
  deferLoadConfig(item: any): Promise<void>;
@@ -261,12 +265,14 @@ export declare function withRemoteConfig<P = any>(config?: WithRemoteConfigSetti
261
265
  store: IStore;
262
266
  }): {
263
267
  toDispose: Array<() => void>;
268
+ loadOptions: import("lodash").DebouncedFunc<any>;
264
269
  componentDidMount(): void;
265
270
  componentDidUpdate(prevProps: any): void;
266
271
  componentWillUnmount(): void;
267
272
  loadConfig(ctx?: (JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>> & OutterProps & {
268
273
  store: IStore;
269
274
  })["data"]): Promise<void>;
275
+ loadAutoComplete(input: string): Promise<any>;
270
276
  setConfig(value: any, ctx?: any): void;
271
277
  syncConfig(): void;
272
278
  deferLoadConfig(item: any): Promise<void>;
@@ -316,12 +322,14 @@ export declare function withRemoteConfig<P = any>(config?: WithRemoteConfigSetti
316
322
  store: IStore;
317
323
  }): {
318
324
  toDispose: Array<() => void>;
325
+ loadOptions: import("lodash").DebouncedFunc<any>;
319
326
  componentDidMount(): void;
320
327
  componentDidUpdate(prevProps: any): void;
321
328
  componentWillUnmount(): void;
322
329
  loadConfig(ctx?: (JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>> & OutterProps & {
323
330
  store: IStore;
324
331
  })["data"]): Promise<void>;
332
+ loadAutoComplete(input: string): Promise<any>;
325
333
  setConfig(value: any, ctx?: any): void;
326
334
  syncConfig(): void;
327
335
  deferLoadConfig(item: any): Promise<void>;
@@ -8,6 +8,7 @@ var tslib_1 = require("tslib");
8
8
  */
9
9
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
10
10
  var hoist_non_react_statics_1 = (0, tslib_1.__importDefault)(require("hoist-non-react-statics"));
11
+ var debounce_1 = (0, tslib_1.__importDefault)(require("lodash/debounce"));
11
12
  var WithStore_1 = require("./WithStore");
12
13
  var env_1 = require("../env");
13
14
  var mobx_state_tree_1 = require("mobx-state-tree");
@@ -91,6 +92,10 @@ function withRemoteConfig(config) {
91
92
  var _a;
92
93
  var _this = _super.call(this, props) || this;
93
94
  _this.toDispose = [];
95
+ _this.loadOptions = (0, debounce_1.default)(_this.loadAutoComplete.bind(_this), 250, {
96
+ trailing: true,
97
+ leading: false
98
+ });
94
99
  _this.setConfig = _this.setConfig.bind(_this);
95
100
  props.store.setComponent(_this);
96
101
  _this.deferLoadConfig = _this.deferLoadConfig.bind(_this);
@@ -132,6 +137,7 @@ function withRemoteConfig(config) {
132
137
  this.toDispose.forEach(function (fn) { return fn(); });
133
138
  this.toDispose = [];
134
139
  (_b = (_a = this.props).remoteConfigRef) === null || _b === void 0 ? void 0 : _b.call(_a, undefined);
140
+ this.loadOptions.cancel();
135
141
  };
136
142
  class_1.prototype.loadConfig = function (ctx) {
137
143
  if (ctx === void 0) { ctx = this.props.data; }
@@ -152,6 +158,23 @@ function withRemoteConfig(config) {
152
158
  });
153
159
  });
154
160
  };
161
+ class_1.prototype.loadAutoComplete = function (input) {
162
+ var env = this.props.env || this.context;
163
+ var _a = this.props, autoComplete = _a.autoComplete, data = _a.data, store = _a.store;
164
+ if (!env || !env.fetcher) {
165
+ throw new Error('fetcher is required');
166
+ }
167
+ var ctx = (0, helper_1.createObject)(data, {
168
+ term: input,
169
+ value: input
170
+ });
171
+ if (!(0, api_1.isEffectiveApi)(autoComplete, ctx)) {
172
+ return Promise.resolve({
173
+ options: []
174
+ });
175
+ }
176
+ return store.load(env, autoComplete, ctx, config);
177
+ };
155
178
  class_1.prototype.setConfig = function (value, ctx) {
156
179
  var store = this.props.store;
157
180
  store.setConfig(value, config, ctx);
@@ -204,14 +227,17 @@ function withRemoteConfig(config) {
204
227
  };
205
228
  class_1.prototype.render = function () {
206
229
  var store = this.props.store;
230
+ var env = this.props.env || this.context;
207
231
  var injectedProps = {
208
232
  config: store.config,
209
233
  loading: store.fetching,
210
234
  deferLoad: this.deferLoadConfig,
211
235
  updateConfig: this.setConfig
212
236
  };
213
- var _a = this.props, remoteConfigRef = _a.remoteConfigRef, rest = (0, tslib_1.__rest)(_a, ["remoteConfigRef"]);
214
- return (react_1.default.createElement(ComposedComponent, (0, tslib_1.__assign)({}, rest, injectedProps)));
237
+ var _a = this.props, remoteConfigRef = _a.remoteConfigRef, autoComplete = _a.autoComplete, rest = (0, tslib_1.__rest)(_a, ["remoteConfigRef", "autoComplete"]);
238
+ return (react_1.default.createElement(ComposedComponent, (0, tslib_1.__assign)({}, rest, (env && (0, api_1.isEffectiveApi)(autoComplete) && this.loadOptions
239
+ ? { loadOptions: this.loadOptions }
240
+ : {}), injectedProps)));
215
241
  };
216
242
  return class_1;
217
243
  }(react_1.default.Component)),