@ebiz/designer-components 0.0.18-beta.1 → 0.0.18-beta.2

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 (698) hide show
  1. package/README.md +29 -29
  2. package/dist/favicon.ico +0 -0
  3. package/dist/index.mjs +85018 -0
  4. package/dist/lowcode-components.css +1 -0
  5. package/package.json +40 -40
  6. package/src/App.vue +26 -26
  7. package/src/apiService/SIMPLE_DATA_SERVICE.md +284 -284
  8. package/src/apiService/simpleDataService.js +276 -276
  9. package/src/assets/base.css +86 -86
  10. package/src/assets/logo.svg +1 -1
  11. package/src/assets/styles/charts/main.less +29 -29
  12. package/src/components/Button.vue +102 -102
  13. package/src/components/DataContainer.vue +39 -39
  14. package/src/components/EbizCheckbox.vue +93 -93
  15. package/src/components/EbizCheckboxGroup.vue +69 -69
  16. package/src/components/EbizDivider.vue +96 -96
  17. package/src/components/EbizFileUpload.vue +201 -201
  18. package/src/components/EbizMindmap/README.md +8 -8
  19. package/src/components/EbizMindmap/components/GridNode.vue +102 -102
  20. package/src/components/EbizMindmap/components/node.vue +91 -91
  21. package/src/components/EbizMindmap/components/vueNode.vue +63 -63
  22. package/src/components/EbizMindmap/index.vue +382 -382
  23. package/src/components/EbizOkrTree.vue +99 -99
  24. package/src/components/EbizPagination.vue +162 -162
  25. package/src/components/EbizRadio.vue +86 -86
  26. package/src/components/EbizRadioGroup.vue +83 -83
  27. package/src/components/EbizRemoteSelect.vue +166 -166
  28. package/src/components/EbizRouteBreadcrumb.vue +46 -46
  29. package/src/components/EbizSpace.vue +100 -100
  30. package/src/components/EbizStatistic.vue +150 -0
  31. package/src/components/EbizStatsCard.vue +113 -113
  32. package/src/components/EbizSwiper.vue +113 -113
  33. package/src/components/EbizSwiperItem.vue +13 -13
  34. package/src/components/EbizSwitch.vue +85 -85
  35. package/src/components/EbizTabHeader.vue +148 -148
  36. package/src/components/EbizTabPanel.vue +23 -0
  37. package/src/components/EbizTabs.vue +143 -0
  38. package/src/components/EbizTitle.vue +92 -91
  39. package/src/components/Form.vue +27 -27
  40. package/src/components/Home.vue +7 -7
  41. package/src/components/MyComponent.vue +39 -39
  42. package/src/components/Table.vue +45 -45
  43. package/src/components/TdesignButton.vue +129 -129
  44. package/src/components/TdesignCalendar/index.vue +142 -142
  45. package/src/components/TdesignCard.vue +195 -195
  46. package/src/components/TdesignCol.vue +101 -101
  47. package/src/components/TdesignCollapse.vue +142 -142
  48. package/src/components/TdesignCollapsePanel.vue +79 -79
  49. package/src/components/TdesignDatePicker.vue +124 -124
  50. package/src/components/TdesignForm.vue +133 -133
  51. package/src/components/TdesignFormItem.vue +105 -105
  52. package/src/components/TdesignGrid.vue +55 -55
  53. package/src/components/TdesignIcon.vue +67 -67
  54. package/src/components/TdesignImage.vue +162 -162
  55. package/src/components/TdesignImageViewer.vue +200 -200
  56. package/src/components/TdesignInput.vue +242 -242
  57. package/src/components/TdesignSelect.vue +444 -444
  58. package/src/components/TdesignTag.vue +117 -117
  59. package/src/components/TdesignTextarea.vue +142 -142
  60. package/src/components/TdesignUpload.vue +788 -788
  61. package/src/components/charts/chart.js +47 -47
  62. package/src/components/charts/components/AssembleBubbleChart/BaseOption.js +50 -50
  63. package/src/components/charts/components/AssembleBubbleChart/chartToken.js +16 -16
  64. package/src/components/charts/components/AssembleBubbleChart/handleOption.js +66 -66
  65. package/src/components/charts/components/AssembleBubbleChart/handleRootData.js +165 -165
  66. package/src/components/charts/components/AssembleBubbleChart/handleSeriesData.js +70 -70
  67. package/src/components/charts/components/AssembleBubbleChart/index.js +65 -65
  68. package/src/components/charts/components/AutonaviMapChart/index.js +162 -162
  69. package/src/components/charts/components/BaiduMapChart/index.js +147 -147
  70. package/src/components/charts/components/BarChart/barChartOption.js +75 -75
  71. package/src/components/charts/components/BarChart/chartToken.js +17 -17
  72. package/src/components/charts/components/BarChart/handleOptipn.js +102 -102
  73. package/src/components/charts/components/BarChart/handleSeries.js +716 -716
  74. package/src/components/charts/components/BarChart/handleVisualMap.js +48 -48
  75. package/src/components/charts/components/BarChart/index.js +151 -151
  76. package/src/components/charts/components/BaseChart/index.js +122 -122
  77. package/src/components/charts/components/BoxplotChart/chartToken.js +17 -17
  78. package/src/components/charts/components/BoxplotChart/handleOption.js +64 -64
  79. package/src/components/charts/components/BoxplotChart/handleSeries.js +149 -149
  80. package/src/components/charts/components/BoxplotChart/index.js +47 -47
  81. package/src/components/charts/components/BubbleChart/chartToken.js +17 -17
  82. package/src/components/charts/components/BubbleChart/handleData.js +33 -33
  83. package/src/components/charts/components/BubbleChart/handleOptipn.js +62 -62
  84. package/src/components/charts/components/BubbleChart/handleSeries.js +86 -86
  85. package/src/components/charts/components/BubbleChart/handleTrendLine.js +119 -119
  86. package/src/components/charts/components/BubbleChart/handleVisualMap.js +50 -50
  87. package/src/components/charts/components/BubbleChart/index.js +96 -96
  88. package/src/components/charts/components/BulletChart/bulletChartOption.js +81 -81
  89. package/src/components/charts/components/BulletChart/chartToken.js +17 -17
  90. package/src/components/charts/components/BulletChart/handleOptipn.js +74 -74
  91. package/src/components/charts/components/BulletChart/handleSeries.js +142 -142
  92. package/src/components/charts/components/BulletChart/index.js +93 -93
  93. package/src/components/charts/components/CandlestickChart/BaseOption.js +44 -44
  94. package/src/components/charts/components/CandlestickChart/chartToken.js +17 -17
  95. package/src/components/charts/components/CandlestickChart/hanleOption.js +130 -130
  96. package/src/components/charts/components/CandlestickChart/hanleSeries.js +123 -123
  97. package/src/components/charts/components/CandlestickChart/index.js +68 -68
  98. package/src/components/charts/components/CircleProcessChart/chartToken.js +17 -17
  99. package/src/components/charts/components/CircleProcessChart/handleOption.js +67 -67
  100. package/src/components/charts/components/CircleProcessChart/handleSeries.js +126 -126
  101. package/src/components/charts/components/CircleProcessChart/index.js +63 -63
  102. package/src/components/charts/components/FlowChart/Layout.js +211 -211
  103. package/src/components/charts/components/FlowChart/LineBezier.js +120 -120
  104. package/src/components/charts/components/FlowChart/LineDirect.js +42 -42
  105. package/src/components/charts/components/FlowChart/LineManager.js +278 -278
  106. package/src/components/charts/components/FlowChart/LineMode.js +43 -43
  107. package/src/components/charts/components/FlowChart/LineRound.js +335 -335
  108. package/src/components/charts/components/FlowChart/NodeManager.js +185 -185
  109. package/src/components/charts/components/FlowChart/dagre.js +8829 -8829
  110. package/src/components/charts/components/FlowChart/frameworkFn.js +37 -37
  111. package/src/components/charts/components/FlowChart/index.js +267 -267
  112. package/src/components/charts/components/FlowChart/index.less +90 -90
  113. package/src/components/charts/components/FlowChart/insert.js +40 -40
  114. package/src/components/charts/components/FlowChart/util.js +42 -42
  115. package/src/components/charts/components/FunnelChart/chartToken.js +17 -17
  116. package/src/components/charts/components/FunnelChart/handleLegend.js +44 -44
  117. package/src/components/charts/components/FunnelChart/handleSeries.js +77 -77
  118. package/src/components/charts/components/FunnelChart/index.js +43 -43
  119. package/src/components/charts/components/GanttChart/CoordinateSystem.js +358 -358
  120. package/src/components/charts/components/GanttChart/TimeLine.js +379 -379
  121. package/src/components/charts/components/GanttChart/constant.js +71 -71
  122. package/src/components/charts/components/GanttChart/index.js +51 -51
  123. package/src/components/charts/components/GanttChart/index.less +267 -267
  124. package/src/components/charts/components/GanttChart/util.js +335 -335
  125. package/src/components/charts/components/GaugeChart/BaseOption.js +22 -22
  126. package/src/components/charts/components/GaugeChart/chartToken.js +17 -17
  127. package/src/components/charts/components/GaugeChart/handleOptipn.js +22 -22
  128. package/src/components/charts/components/GaugeChart/handleSeries.js +504 -504
  129. package/src/components/charts/components/GaugeChart/index.js +53 -53
  130. package/src/components/charts/components/GraphChart/index.js +34 -34
  131. package/src/components/charts/components/GraphTreeChart/BaseOption.js +42 -42
  132. package/src/components/charts/components/GraphTreeChart/handleData.js +118 -118
  133. package/src/components/charts/components/GraphTreeChart/handleOption.js +142 -142
  134. package/src/components/charts/components/GraphTreeChart/index.js +65 -65
  135. package/src/components/charts/components/GraphTreeChart/mixTree.js +35 -35
  136. package/src/components/charts/components/GraphTreeChart/utils.js +75 -75
  137. package/src/components/charts/components/HeatMapChart/BaseOption.js +66 -66
  138. package/src/components/charts/components/HeatMapChart/chartToken.js +17 -17
  139. package/src/components/charts/components/HeatMapChart/handleData.js +138 -138
  140. package/src/components/charts/components/HeatMapChart/handleOptipn.js +227 -227
  141. package/src/components/charts/components/HeatMapChart/handleSeries.js +82 -82
  142. package/src/components/charts/components/HeatMapChart/handleVisualMap.js +91 -91
  143. package/src/components/charts/components/HeatMapChart/index.js +70 -70
  144. package/src/components/charts/components/HillChart/baseOption.js +50 -50
  145. package/src/components/charts/components/HillChart/chartToken.js +17 -17
  146. package/src/components/charts/components/HillChart/handleOption.js +193 -193
  147. package/src/components/charts/components/HillChart/handleSeries.js +39 -39
  148. package/src/components/charts/components/HillChart/index.js +96 -96
  149. package/src/components/charts/components/HoneycombChart/NodeManager.js +172 -172
  150. package/src/components/charts/components/HoneycombChart/TipManager.js +74 -74
  151. package/src/components/charts/components/HoneycombChart/index.js +117 -117
  152. package/src/components/charts/components/HoneycombChart/index.less +48 -48
  153. package/src/components/charts/components/JadeJueChart/BaseOption.js +40 -40
  154. package/src/components/charts/components/JadeJueChart/chartToken.js +17 -17
  155. package/src/components/charts/components/JadeJueChart/handleOption.js +261 -261
  156. package/src/components/charts/components/JadeJueChart/handleSeries.js +246 -246
  157. package/src/components/charts/components/JadeJueChart/index.js +71 -71
  158. package/src/components/charts/components/JadeJueChart/labelFormatter.js +130 -130
  159. package/src/components/charts/components/LineChart/AreaChart/bottomArea.js +177 -177
  160. package/src/components/charts/components/LineChart/AreaChart/chartToken.js +17 -17
  161. package/src/components/charts/components/LineChart/AreaChart/index.js +17 -17
  162. package/src/components/charts/components/LineChart/AreaChart/topArea.js +139 -139
  163. package/src/components/charts/components/LineChart/chartToken.js +17 -17
  164. package/src/components/charts/components/LineChart/handleOptipn.js +145 -145
  165. package/src/components/charts/components/LineChart/handlePredict.js +73 -73
  166. package/src/components/charts/components/LineChart/handleSeries.js +266 -266
  167. package/src/components/charts/components/LineChart/handleVisualMap.js +137 -137
  168. package/src/components/charts/components/LineChart/index.js +133 -133
  169. package/src/components/charts/components/LiquidfillChart/chartToken.js +17 -17
  170. package/src/components/charts/components/LiquidfillChart/handleSeries.js +170 -170
  171. package/src/components/charts/components/LiquidfillChart/index.js +42 -42
  172. package/src/components/charts/components/LiquidfillChart/plugSeries.js +78 -78
  173. package/src/components/charts/components/LiquidfillChart/plugShape.js +163 -163
  174. package/src/components/charts/components/LiquidfillChart/plugView.js +537 -537
  175. package/src/components/charts/components/MilestoneChart/Layout.js +183 -183
  176. package/src/components/charts/components/MilestoneChart/Node.js +319 -319
  177. package/src/components/charts/components/MilestoneChart/assets/next.svg +7 -7
  178. package/src/components/charts/components/MilestoneChart/assets/prev.svg +7 -7
  179. package/src/components/charts/components/MilestoneChart/assets/prompt.svg +9 -9
  180. package/src/components/charts/components/MilestoneChart/index.js +108 -108
  181. package/src/components/charts/components/MilestoneChart/index.less +243 -243
  182. package/src/components/charts/components/MilestoneChart/insertDom.js +32 -32
  183. package/src/components/charts/components/MilestoneChart/insertIcon.js +24 -24
  184. package/src/components/charts/components/MilestoneChart/insertSvg.js +108 -108
  185. package/src/components/charts/components/OrganizationChart/NodeManager.js +188 -188
  186. package/src/components/charts/components/OrganizationChart/RotateManager.js +349 -349
  187. package/src/components/charts/components/OrganizationChart/index.js +124 -124
  188. package/src/components/charts/components/OrganizationChart/index.less +111 -111
  189. package/src/components/charts/components/PieChart/chartToken.js +17 -17
  190. package/src/components/charts/components/PieChart/handleLabel.js +94 -94
  191. package/src/components/charts/components/PieChart/handleMulti.js +131 -131
  192. package/src/components/charts/components/PieChart/handleSeries.js +236 -236
  193. package/src/components/charts/components/PieChart/index.js +58 -58
  194. package/src/components/charts/components/PolarBarChart/chartToken.js +17 -17
  195. package/src/components/charts/components/PolarBarChart/handleOption.js +102 -102
  196. package/src/components/charts/components/PolarBarChart/handleSeries.js +127 -127
  197. package/src/components/charts/components/PolarBarChart/index.js +61 -61
  198. package/src/components/charts/components/ProcessChart/BaseOption.js +295 -295
  199. package/src/components/charts/components/ProcessChart/chartToken.js +17 -17
  200. package/src/components/charts/components/ProcessChart/handleData.js +156 -156
  201. package/src/components/charts/components/ProcessChart/handleOption.js +212 -212
  202. package/src/components/charts/components/ProcessChart/handleSeries.js +369 -369
  203. package/src/components/charts/components/ProcessChart/index.js +76 -76
  204. package/src/components/charts/components/RadarChart/BaseOption.js +248 -248
  205. package/src/components/charts/components/RadarChart/GradientRadar/index.js +421 -421
  206. package/src/components/charts/components/RadarChart/chartToken.js +17 -17
  207. package/src/components/charts/components/RadarChart/handleOptipn.js +316 -316
  208. package/src/components/charts/components/RadarChart/handleSeries.js +120 -120
  209. package/src/components/charts/components/RadarChart/index.js +77 -77
  210. package/src/components/charts/components/RegionChart/chartToken.js +17 -17
  211. package/src/components/charts/components/RegionChart/handleOption.js +29 -29
  212. package/src/components/charts/components/RegionChart/index.js +48 -48
  213. package/src/components/charts/components/RiverChart/Belt.js +181 -181
  214. package/src/components/charts/components/RiverChart/Manager.js +173 -173
  215. package/src/components/charts/components/RiverChart/Node.js +425 -425
  216. package/src/components/charts/components/RiverChart/baseOption.js +51 -51
  217. package/src/components/charts/components/RiverChart/index.js +79 -79
  218. package/src/components/charts/components/RiverChart/index.less +41 -41
  219. package/src/components/charts/components/RiverChart/util.js +160 -160
  220. package/src/components/charts/components/SankeyChart/BaseOption.js +74 -74
  221. package/src/components/charts/components/SankeyChart/chartToken.js +17 -17
  222. package/src/components/charts/components/SankeyChart/handleOption.js +257 -257
  223. package/src/components/charts/components/SankeyChart/index.js +111 -111
  224. package/src/components/charts/components/SankeyChart/tooltip.js +52 -52
  225. package/src/components/charts/components/ScatterChart/chartToken.js +17 -17
  226. package/src/components/charts/components/ScatterChart/handleMarkPoint.js +74 -74
  227. package/src/components/charts/components/ScatterChart/handleOptipn.js +66 -66
  228. package/src/components/charts/components/ScatterChart/handleSeries.js +48 -48
  229. package/src/components/charts/components/ScatterChart/index.js +60 -60
  230. package/src/components/charts/components/SnowFlakeChart/BranchManager.js +323 -323
  231. package/src/components/charts/components/SnowFlakeChart/CommonConstant.js +110 -110
  232. package/src/components/charts/components/SnowFlakeChart/LeafManager.js +75 -75
  233. package/src/components/charts/components/SnowFlakeChart/NodeManager.js +239 -239
  234. package/src/components/charts/components/SnowFlakeChart/TagManager.js +79 -79
  235. package/src/components/charts/components/SnowFlakeChart/assets/down.svg +7 -7
  236. package/src/components/charts/components/SnowFlakeChart/assets/image2L.svg +6 -6
  237. package/src/components/charts/components/SnowFlakeChart/assets/image2R.svg +6 -6
  238. package/src/components/charts/components/SnowFlakeChart/assets/image5L.svg +6 -6
  239. package/src/components/charts/components/SnowFlakeChart/assets/image5R.svg +6 -6
  240. package/src/components/charts/components/SnowFlakeChart/assets/outerBorder.svg +24 -24
  241. package/src/components/charts/components/SnowFlakeChart/assets/outerBorderOverAll.svg +18 -18
  242. package/src/components/charts/components/SnowFlakeChart/assets/up.svg +7 -7
  243. package/src/components/charts/components/SnowFlakeChart/assets/wirelessL.svg +6 -6
  244. package/src/components/charts/components/SnowFlakeChart/assets/wirelessR.svg +6 -6
  245. package/src/components/charts/components/SnowFlakeChart/defaultOption.js +284 -284
  246. package/src/components/charts/components/SnowFlakeChart/index.js +407 -407
  247. package/src/components/charts/components/SnowFlakeChart/index.less +502 -502
  248. package/src/components/charts/components/SnowFlakeChart/line/LineArrow.js +61 -61
  249. package/src/components/charts/components/SnowFlakeChart/line/LineDashed.js +28 -28
  250. package/src/components/charts/components/SnowFlakeChart/line/LineDotted.js +28 -28
  251. package/src/components/charts/components/SnowFlakeChart/line/LineStraight.js +27 -27
  252. package/src/components/charts/components/SnowFlakeChart/line/index.js +201 -201
  253. package/src/components/charts/components/SnowFlakeChart/util.js +430 -430
  254. package/src/components/charts/components/SunburstChart/chartToken.js +17 -17
  255. package/src/components/charts/components/SunburstChart/handleSeries.js +48 -48
  256. package/src/components/charts/components/SunburstChart/index.js +40 -40
  257. package/src/components/charts/components/TerraceChart/defaultGradient.js +115 -115
  258. package/src/components/charts/components/TerraceChart/defaultPath.js +29 -29
  259. package/src/components/charts/components/TerraceChart/index.js +276 -276
  260. package/src/components/charts/components/TerraceChart/index.less +170 -170
  261. package/src/components/charts/components/TerraceChart/insert.js +35 -35
  262. package/src/components/charts/components/TerraceChart/loading.js +33 -33
  263. package/src/components/charts/components/TimelineChart/chartToken.js +16 -16
  264. package/src/components/charts/components/TimelineChart/index.js +108 -108
  265. package/src/components/charts/components/TimelineChart/index.less +151 -151
  266. package/src/components/charts/components/TimelineChart/insertDom.js +45 -45
  267. package/src/components/charts/components/TimelineChart/timeline.js +460 -460
  268. package/src/components/charts/components/TreeChart/chartToken.js +17 -17
  269. package/src/components/charts/components/TreeChart/handleOptipn.js +101 -101
  270. package/src/components/charts/components/TreeChart/handleSeries.js +148 -148
  271. package/src/components/charts/components/TreeChart/index.js +50 -50
  272. package/src/components/charts/components/TreeMapChart/handleOptipn.js +57 -57
  273. package/src/components/charts/components/TreeMapChart/handleSeries.js +56 -56
  274. package/src/components/charts/components/TreeMapChart/handleVisualMap.js +31 -31
  275. package/src/components/charts/components/TreeMapChart/index.js +56 -56
  276. package/src/components/charts/components/WaveChart/chartToken.js +17 -17
  277. package/src/components/charts/components/WaveChart/index.js +418 -418
  278. package/src/components/charts/components/WaveChart/index.less +76 -76
  279. package/src/components/charts/components/WaveChart/insert.js +38 -38
  280. package/src/components/charts/components/WaveChart/loading.js +33 -33
  281. package/src/components/charts/components/WordCloudChart/BaseOption.js +19 -19
  282. package/src/components/charts/components/WordCloudChart/chartToken.js +17 -17
  283. package/src/components/charts/components/WordCloudChart/handleOptipn.js +20 -20
  284. package/src/components/charts/components/WordCloudChart/handleSeries.js +106 -106
  285. package/src/components/charts/components/WordCloudChart/index.js +67 -67
  286. package/src/components/charts/core.js +385 -385
  287. package/src/components/charts/feature/adaptive/index.js +45 -45
  288. package/src/components/charts/feature/adaptive/series/AssembleBubbleChart.js +21 -21
  289. package/src/components/charts/feature/adaptive/series/BarChart.js +26 -26
  290. package/src/components/charts/feature/adaptive/series/BoxplotChart.js +25 -25
  291. package/src/components/charts/feature/adaptive/series/BubbleChart.js +25 -25
  292. package/src/components/charts/feature/adaptive/series/BulletChart.js +26 -26
  293. package/src/components/charts/feature/adaptive/series/CircleProcessChart.js +24 -24
  294. package/src/components/charts/feature/adaptive/series/FunnelChart.js +21 -21
  295. package/src/components/charts/feature/adaptive/series/HeatMapChart.js +25 -25
  296. package/src/components/charts/feature/adaptive/series/JadeJueChart.js +23 -23
  297. package/src/components/charts/feature/adaptive/series/LineChart.js +25 -25
  298. package/src/components/charts/feature/adaptive/series/LiquidfillChart.js +25 -25
  299. package/src/components/charts/feature/adaptive/series/PieChart.js +24 -24
  300. package/src/components/charts/feature/adaptive/series/PolarBarChart.js +21 -21
  301. package/src/components/charts/feature/adaptive/series/ScatterChart.js +25 -25
  302. package/src/components/charts/feature/adaptive/series/SunburstChart.js +24 -24
  303. package/src/components/charts/feature/adaptive/utils/axis.js +25 -25
  304. package/src/components/charts/feature/adaptive/utils/label.js +29 -29
  305. package/src/components/charts/feature/adaptive/utils/legend.js +29 -29
  306. package/src/components/charts/feature/adaptive/utils/title.js +29 -29
  307. package/src/components/charts/feature/adaptive/utils/tooltip.js +29 -29
  308. package/src/components/charts/feature/axistip/index.js +116 -116
  309. package/src/components/charts/feature/card/chartToken.js +17 -17
  310. package/src/components/charts/feature/card/index.js +225 -225
  311. package/src/components/charts/feature/card/index.less +166 -166
  312. package/src/components/charts/feature/drag/index.js +353 -353
  313. package/src/components/charts/feature/drag/index.less +53 -53
  314. package/src/components/charts/feature/equalLabel/index.js +62 -62
  315. package/src/components/charts/feature/expandLegend/constants.js +22 -22
  316. package/src/components/charts/feature/expandLegend/index.js +190 -190
  317. package/src/components/charts/feature/expandLegend/index.less +1043 -1043
  318. package/src/components/charts/feature/expandLegend/mutiSelect/constants.js +40 -40
  319. package/src/components/charts/feature/expandLegend/mutiSelect/index.js +157 -157
  320. package/src/components/charts/feature/expandLegend/mutiSelect/item.js +133 -133
  321. package/src/components/charts/feature/expandLegend/mutiSelect/position.js +43 -43
  322. package/src/components/charts/feature/expandLegend/mutiSelect/search.js +79 -79
  323. package/src/components/charts/feature/expandLegend/mutiSelectLegend/constants.js +41 -41
  324. package/src/components/charts/feature/expandLegend/mutiSelectLegend/group.js +111 -111
  325. package/src/components/charts/feature/expandLegend/mutiSelectLegend/index.js +97 -97
  326. package/src/components/charts/feature/expandLegend/mutiSelectLegend/item.js +114 -114
  327. package/src/components/charts/feature/expandLegend/mutiSelectLegend/more.js +100 -100
  328. package/src/components/charts/feature/expandLegend/mutiSelectLegend/paging.js +102 -102
  329. package/src/components/charts/feature/expandLegend/mutiSelectLegend/scroll.js +33 -33
  330. package/src/components/charts/feature/expandLegend/mutiSelectList/constants.js +34 -34
  331. package/src/components/charts/feature/expandLegend/mutiSelectList/index.js +181 -181
  332. package/src/components/charts/feature/expandLegend/mutiSelectList/statisticList.js +145 -145
  333. package/src/components/charts/feature/expandLegend/singleSelect/constants.js +40 -40
  334. package/src/components/charts/feature/expandLegend/singleSelect/index.js +170 -170
  335. package/src/components/charts/feature/expandLegend/singleSelect/item.js +74 -74
  336. package/src/components/charts/feature/expandLegend/singleSelect/position.js +33 -33
  337. package/src/components/charts/feature/expandLegend/singleSelect/search.js +76 -76
  338. package/src/components/charts/feature/expandLegend/singleSelectLegend/constants.js +41 -41
  339. package/src/components/charts/feature/expandLegend/singleSelectLegend/group.js +115 -115
  340. package/src/components/charts/feature/expandLegend/singleSelectLegend/index.js +97 -97
  341. package/src/components/charts/feature/expandLegend/singleSelectLegend/item.js +112 -112
  342. package/src/components/charts/feature/expandLegend/singleSelectLegend/more.js +39 -39
  343. package/src/components/charts/feature/expandLegend/singleSelectLegend/scroll.js +33 -33
  344. package/src/components/charts/feature/expandLegend/tips/constants.js +21 -21
  345. package/src/components/charts/feature/expandLegend/tips/index.js +168 -168
  346. package/src/components/charts/feature/fluctuation/index.js +64 -64
  347. package/src/components/charts/feature/linter/dialog/index.js +111 -111
  348. package/src/components/charts/feature/linter/index.js +130 -130
  349. package/src/components/charts/feature/linter/lints/charts/Bar.js +45 -45
  350. package/src/components/charts/feature/linter/lints/charts/Line.js +30 -30
  351. package/src/components/charts/feature/linter/lints/charts/Pie.js +38 -38
  352. package/src/components/charts/feature/linter/lints/charts/Radar.js +37 -37
  353. package/src/components/charts/feature/linter/lints/charts/index.js +36 -36
  354. package/src/components/charts/feature/linter/lints/modules/angleAxis.js +46 -46
  355. package/src/components/charts/feature/linter/lints/modules/color.js +18 -18
  356. package/src/components/charts/feature/linter/lints/modules/dataZoom.js +51 -51
  357. package/src/components/charts/feature/linter/lints/modules/index.js +63 -63
  358. package/src/components/charts/feature/linter/lints/modules/legend.js +63 -63
  359. package/src/components/charts/feature/linter/lints/modules/radar.js +58 -58
  360. package/src/components/charts/feature/linter/lints/modules/radiusAxis.js +48 -48
  361. package/src/components/charts/feature/linter/lints/modules/title.js +43 -43
  362. package/src/components/charts/feature/linter/lints/modules/tooltip.js +28 -28
  363. package/src/components/charts/feature/linter/lints/modules/util.js +97 -97
  364. package/src/components/charts/feature/linter/lints/modules/xAxis.js +51 -51
  365. package/src/components/charts/feature/linter/lints/modules/yAxis.js +51 -51
  366. package/src/components/charts/feature/mediaScreen/index.js +94 -94
  367. package/src/components/charts/feature/mini/miniBarChart.js +57 -57
  368. package/src/components/charts/feature/mini/miniCircleProcessChart.js +31 -31
  369. package/src/components/charts/feature/mini/miniLineChart.js +57 -57
  370. package/src/components/charts/feature/mini/miniProcessChart.js +63 -63
  371. package/src/components/charts/feature/nodeRender/angular-node.js +99 -99
  372. package/src/components/charts/feature/nodeRender/index.js +30 -30
  373. package/src/components/charts/feature/nodeRender/react-node.js +82 -82
  374. package/src/components/charts/feature/nodeRender/vue-node.js +108 -108
  375. package/src/components/charts/feature/performance/lttb.js +84 -84
  376. package/src/components/charts/feature/readScreen/index.js +18 -18
  377. package/src/components/charts/feature/token/color/bpit/dark.js +67 -67
  378. package/src/components/charts/feature/token/color/bpit/index.js +20 -20
  379. package/src/components/charts/feature/token/color/bpit/light.js +66 -66
  380. package/src/components/charts/feature/token/color/cloud/board-dark.js +260 -260
  381. package/src/components/charts/feature/token/color/cloud/board.js +275 -275
  382. package/src/components/charts/feature/token/color/cloud/dark.js +78 -78
  383. package/src/components/charts/feature/token/color/cloud/index.js +20 -20
  384. package/src/components/charts/feature/token/color/cloud/light.js +77 -77
  385. package/src/components/charts/feature/token/color/hdesign/board.js +204 -204
  386. package/src/components/charts/feature/token/color/hdesign/dark.js +78 -78
  387. package/src/components/charts/feature/token/color/hdesign/index.js +20 -20
  388. package/src/components/charts/feature/token/color/hdesign/light.js +79 -79
  389. package/src/components/charts/feature/token/color/ict/board.js +190 -190
  390. package/src/components/charts/feature/token/color/ict/dark.js +61 -61
  391. package/src/components/charts/feature/token/color/ict/index.js +20 -20
  392. package/src/components/charts/feature/token/color/ict/light.js +62 -62
  393. package/src/components/charts/feature/token/color/index.js +29 -29
  394. package/src/components/charts/feature/token/color/util.js +42 -42
  395. package/src/components/charts/feature/token/factory/chartsToken/AreaChart.js +20 -20
  396. package/src/components/charts/feature/token/factory/chartsToken/AssembleBubbleChart.js +26 -26
  397. package/src/components/charts/feature/token/factory/chartsToken/BarChart.js +27 -27
  398. package/src/components/charts/feature/token/factory/chartsToken/BoxplotChart.js +27 -27
  399. package/src/components/charts/feature/token/factory/chartsToken/BubbleChart.js +22 -22
  400. package/src/components/charts/feature/token/factory/chartsToken/BulletChart.js +23 -23
  401. package/src/components/charts/feature/token/factory/chartsToken/CandlestickChart.js +20 -20
  402. package/src/components/charts/feature/token/factory/chartsToken/ChartCard.js +33 -33
  403. package/src/components/charts/feature/token/factory/chartsToken/CircleProcessChart.js +23 -23
  404. package/src/components/charts/feature/token/factory/chartsToken/FunnelChart.js +26 -26
  405. package/src/components/charts/feature/token/factory/chartsToken/GaugeChart.js +27 -27
  406. package/src/components/charts/feature/token/factory/chartsToken/HeatMapChart.js +21 -21
  407. package/src/components/charts/feature/token/factory/chartsToken/HillChart.js +21 -21
  408. package/src/components/charts/feature/token/factory/chartsToken/JadeJueChart.js +28 -28
  409. package/src/components/charts/feature/token/factory/chartsToken/LineChart.js +36 -36
  410. package/src/components/charts/feature/token/factory/chartsToken/LiquidfillChart.js +22 -22
  411. package/src/components/charts/feature/token/factory/chartsToken/PieChart.js +49 -49
  412. package/src/components/charts/feature/token/factory/chartsToken/PolarBarChart.js +22 -22
  413. package/src/components/charts/feature/token/factory/chartsToken/ProcessChart.js +40 -40
  414. package/src/components/charts/feature/token/factory/chartsToken/RadarChart.js +36 -36
  415. package/src/components/charts/feature/token/factory/chartsToken/RegionChart.js +20 -20
  416. package/src/components/charts/feature/token/factory/chartsToken/SankeyChart.js +22 -22
  417. package/src/components/charts/feature/token/factory/chartsToken/ScatterChart.js +21 -21
  418. package/src/components/charts/feature/token/factory/chartsToken/SunburstChart.js +22 -22
  419. package/src/components/charts/feature/token/factory/chartsToken/TimelineChart.js +21 -21
  420. package/src/components/charts/feature/token/factory/chartsToken/TreeChart.js +21 -21
  421. package/src/components/charts/feature/token/factory/chartsToken/WaveChart.js +23 -23
  422. package/src/components/charts/feature/token/factory/chartsToken/WordCloudChart.js +21 -21
  423. package/src/components/charts/feature/token/factory/chartsToken/index.js +79 -79
  424. package/src/components/charts/feature/token/factory/getAliasToken.js +41 -41
  425. package/src/components/charts/feature/token/factory/getExportColors.js +45 -45
  426. package/src/components/charts/feature/token/factory/getGlobalToken.js +25 -25
  427. package/src/components/charts/feature/token/factory/getModelToken.js +389 -389
  428. package/src/components/charts/feature/token/factory/getSceneToken.js +41 -41
  429. package/src/components/charts/feature/token/factory/globalToken/border.js +21 -21
  430. package/src/components/charts/feature/token/factory/globalToken/borderRadius.js +22 -22
  431. package/src/components/charts/feature/token/factory/globalToken/font.js +26 -26
  432. package/src/components/charts/feature/token/factory/globalToken/index.js +28 -28
  433. package/src/components/charts/feature/token/factory/globalToken/lineType.js +19 -19
  434. package/src/components/charts/feature/token/factory/globalToken/size.js +22 -22
  435. package/src/components/charts/feature/token/factory/globalToken/space.js +25 -25
  436. package/src/components/charts/feature/token/factory/index.js +39 -39
  437. package/src/components/charts/feature/token/factory/mergeToken.js +72 -72
  438. package/src/components/charts/feature/token/index.js +176 -176
  439. package/src/components/charts/feature/token/readme.md +11 -11
  440. package/src/components/charts/feature/token/theme/bpit/index.js +19 -19
  441. package/src/components/charts/feature/token/theme/cloud/getAliasToken.js +247 -247
  442. package/src/components/charts/feature/token/theme/cloud/getSceneToken.js +73 -73
  443. package/src/components/charts/feature/token/theme/cloud/index.js +19 -19
  444. package/src/components/charts/feature/token/theme/hdesign/getAliasToken.js +249 -249
  445. package/src/components/charts/feature/token/theme/hdesign/getSceneToken.js +74 -74
  446. package/src/components/charts/feature/token/theme/hdesign/index.js +19 -19
  447. package/src/components/charts/feature/token/theme/ict/getAliasToken.js +249 -249
  448. package/src/components/charts/feature/token/theme/ict/getSceneToken.js +71 -71
  449. package/src/components/charts/feature/token/theme/ict/index.js +19 -19
  450. package/src/components/charts/feature/wcag/index.js +335 -335
  451. package/src/components/charts/feature/xss/index.js +51 -51
  452. package/src/components/charts/framework/charts/CircleArcChart/index.js +142 -142
  453. package/src/components/charts/framework/charts/CircleChart/index.js +140 -140
  454. package/src/components/charts/framework/charts/CustomizeChart/index.js +166 -166
  455. package/src/components/charts/framework/charts/ForceDirectedChart/index.js +140 -140
  456. package/src/components/charts/framework/charts/ForceDirectedChart/initDom.js +20 -20
  457. package/src/components/charts/framework/charts/ForceDirectedChart/libs/Node.js +148 -148
  458. package/src/components/charts/framework/charts/ForceDirectedChart/libs/center.js +71 -71
  459. package/src/components/charts/framework/charts/ForceDirectedChart/libs/collide.js +151 -151
  460. package/src/components/charts/framework/charts/ForceDirectedChart/libs/constant.js +17 -17
  461. package/src/components/charts/framework/charts/ForceDirectedChart/libs/dispatch.js +95 -95
  462. package/src/components/charts/framework/charts/ForceDirectedChart/libs/index.js +19 -19
  463. package/src/components/charts/framework/charts/ForceDirectedChart/libs/jiggle.js +16 -16
  464. package/src/components/charts/framework/charts/ForceDirectedChart/libs/lcg.js +23 -23
  465. package/src/components/charts/framework/charts/ForceDirectedChart/libs/link.js +128 -128
  466. package/src/components/charts/framework/charts/ForceDirectedChart/libs/manyBody.js +127 -127
  467. package/src/components/charts/framework/charts/ForceDirectedChart/libs/quadtree.js +393 -393
  468. package/src/components/charts/framework/charts/ForceDirectedChart/libs/radial.js +68 -68
  469. package/src/components/charts/framework/charts/ForceDirectedChart/libs/simulation.js +171 -171
  470. package/src/components/charts/framework/charts/ForceDirectedChart/libs/timer.js +121 -121
  471. package/src/components/charts/framework/charts/ForceDirectedChart/libs/x.js +52 -52
  472. package/src/components/charts/framework/charts/ForceDirectedChart/libs/y.js +52 -52
  473. package/src/components/charts/framework/charts/GridChart/index.js +174 -174
  474. package/src/components/charts/framework/charts/LinearArcChart/index.js +143 -143
  475. package/src/components/charts/framework/charts/MindmapChart/index.js +166 -166
  476. package/src/components/charts/framework/charts/MindmapChart/index.less +84 -84
  477. package/src/components/charts/framework/core/Base.js +53 -53
  478. package/src/components/charts/framework/core/Relation.js +77 -77
  479. package/src/components/charts/framework/module/animation/Animate.js +433 -433
  480. package/src/components/charts/framework/module/animation/Animation.js +75 -75
  481. package/src/components/charts/framework/module/animation/AnimationGroup.js +136 -136
  482. package/src/components/charts/framework/module/animation/Easing.js +224 -224
  483. package/src/components/charts/framework/module/animation/Interpolation.js +87 -87
  484. package/src/components/charts/framework/module/animation/index.js +19 -19
  485. package/src/components/charts/framework/module/arrow/Manager.js +132 -132
  486. package/src/components/charts/framework/module/arrow/index.js +96 -96
  487. package/src/components/charts/framework/module/canvas/grid.js +287 -287
  488. package/src/components/charts/framework/module/canvas/index.js +433 -433
  489. package/src/components/charts/framework/module/canvas/index.less +102 -102
  490. package/src/components/charts/framework/module/canvas/initDom.js +66 -66
  491. package/src/components/charts/framework/module/canvas/tool.js +61 -61
  492. package/src/components/charts/framework/module/connector/Manager.js +103 -103
  493. package/src/components/charts/framework/module/connector/index.js +98 -98
  494. package/src/components/charts/framework/module/connector/index.less +36 -36
  495. package/src/components/charts/framework/module/connector/type/dot.js +20 -20
  496. package/src/components/charts/framework/module/connector/type/expand.js +210 -210
  497. package/src/components/charts/framework/module/contextmenu/index.js +149 -149
  498. package/src/components/charts/framework/module/contextmenu/index.less +39 -39
  499. package/src/components/charts/framework/module/data/Manager.js +55 -55
  500. package/src/components/charts/framework/module/legend/Item.js +217 -217
  501. package/src/components/charts/framework/module/legend/constants.js +13 -13
  502. package/src/components/charts/framework/module/legend/getSymbol.js +85 -85
  503. package/src/components/charts/framework/module/legend/index.js +118 -118
  504. package/src/components/charts/framework/module/legend/util.js +80 -80
  505. package/src/components/charts/framework/module/line/Animation.js +124 -124
  506. package/src/components/charts/framework/module/line/Manager.js +299 -299
  507. package/src/components/charts/framework/module/line/Tag.js +60 -60
  508. package/src/components/charts/framework/module/line/bufferRender.js +73 -73
  509. package/src/components/charts/framework/module/line/cross/pathPoints.js +232 -232
  510. package/src/components/charts/framework/module/line/cross/vectorUtil.js +66 -66
  511. package/src/components/charts/framework/module/line/customize.js +28 -28
  512. package/src/components/charts/framework/module/line/index.js +259 -259
  513. package/src/components/charts/framework/module/line/index.less +23 -23
  514. package/src/components/charts/framework/module/line/type/Bezier.js +90 -90
  515. package/src/components/charts/framework/module/line/type/Circle.js +38 -38
  516. package/src/components/charts/framework/module/line/type/Direct.js +23 -23
  517. package/src/components/charts/framework/module/line/type/Ellipse.js +88 -88
  518. package/src/components/charts/framework/module/line/type/Round.js +245 -245
  519. package/src/components/charts/framework/module/lineLayout/CircleShape/calculate.js +70 -70
  520. package/src/components/charts/framework/module/lineLayout/CircleShape/index.js +31 -31
  521. package/src/components/charts/framework/module/lineLayout/CircleShape/init.js +33 -33
  522. package/src/components/charts/framework/module/lineLayout/RectShape/calculate.js +173 -173
  523. package/src/components/charts/framework/module/lineLayout/RectShape/index.js +43 -43
  524. package/src/components/charts/framework/module/lineLayout/RectShape/init.js +78 -78
  525. package/src/components/charts/framework/module/lineLayout/RectShape/sharing.js +56 -56
  526. package/src/components/charts/framework/module/lineLayout/index.js +30 -30
  527. package/src/components/charts/framework/module/node/Manager.js +189 -189
  528. package/src/components/charts/framework/module/node/bufferRender.js +72 -72
  529. package/src/components/charts/framework/module/node/convertData/index.js +23 -23
  530. package/src/components/charts/framework/module/node/convertData/returnSelf.js +15 -15
  531. package/src/components/charts/framework/module/node/convertData/transform.js +23 -23
  532. package/src/components/charts/framework/module/node/convertData/treeToLink.js +35 -35
  533. package/src/components/charts/framework/module/node/index.js +187 -187
  534. package/src/components/charts/framework/module/nodeLayout/circle/excute.js +269 -269
  535. package/src/components/charts/framework/module/nodeLayout/circle/index.js +23 -23
  536. package/src/components/charts/framework/module/nodeLayout/customize/index.js +15 -15
  537. package/src/components/charts/framework/module/nodeLayout/defaults/excute.js +26 -26
  538. package/src/components/charts/framework/module/nodeLayout/defaults/index.js +19 -19
  539. package/src/components/charts/framework/module/nodeLayout/grid/excute.js +391 -391
  540. package/src/components/charts/framework/module/nodeLayout/grid/index.js +19 -19
  541. package/src/components/charts/framework/module/nodeLayout/index.js +26 -26
  542. package/src/components/charts/framework/module/nodeLayout/linearArc/index.js +33 -33
  543. package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/NodeBox.js +165 -165
  544. package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/algorithm.js +261 -261
  545. package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/index.js +277 -277
  546. package/src/components/charts/framework/module/readme.js +126 -126
  547. package/src/components/charts/index.js +65 -65
  548. package/src/components/charts/index.less +28 -28
  549. package/src/components/charts/option/PolarSys/index.js +43 -43
  550. package/src/components/charts/option/RectSys/index.js +58 -58
  551. package/src/components/charts/option/base/index.js +24 -24
  552. package/src/components/charts/option/config/angleAxis/base.js +56 -56
  553. package/src/components/charts/option/config/angleAxis/index.js +43 -43
  554. package/src/components/charts/option/config/animation/index.js +63 -63
  555. package/src/components/charts/option/config/datazoom/base.js +123 -123
  556. package/src/components/charts/option/config/datazoom/index.js +61 -61
  557. package/src/components/charts/option/config/grid/base.js +22 -22
  558. package/src/components/charts/option/config/grid/index.js +32 -32
  559. package/src/components/charts/option/config/legend/base.js +80 -80
  560. package/src/components/charts/option/config/legend/icon.js +21 -21
  561. package/src/components/charts/option/config/legend/index.js +63 -63
  562. package/src/components/charts/option/config/legend/itemStyle.js +16 -16
  563. package/src/components/charts/option/config/legend/ldata.js +29 -29
  564. package/src/components/charts/option/config/legend/pageIcon.js +54 -54
  565. package/src/components/charts/option/config/legend/position.js +18 -18
  566. package/src/components/charts/option/config/legend/size.js +16 -16
  567. package/src/components/charts/option/config/legend/textStyle.js +16 -16
  568. package/src/components/charts/option/config/mark/index.js +73 -73
  569. package/src/components/charts/option/config/polar/base.js +30 -30
  570. package/src/components/charts/option/config/polar/index.js +35 -35
  571. package/src/components/charts/option/config/polarTitle/base.js +40 -40
  572. package/src/components/charts/option/config/polarTitle/index.js +52 -52
  573. package/src/components/charts/option/config/polarTitle/subtextStyle.js +21 -21
  574. package/src/components/charts/option/config/polarTitle/textStyle.js +22 -22
  575. package/src/components/charts/option/config/radiusAxis/base.js +55 -55
  576. package/src/components/charts/option/config/radiusAxis/index.js +41 -41
  577. package/src/components/charts/option/config/rectTitle/base.js +31 -31
  578. package/src/components/charts/option/config/rectTitle/index.js +52 -52
  579. package/src/components/charts/option/config/toolbox/base.js +42 -42
  580. package/src/components/charts/option/config/toolbox/index.js +11 -11
  581. package/src/components/charts/option/config/tooltip/axisPointer.js +31 -31
  582. package/src/components/charts/option/config/tooltip/base.js +62 -62
  583. package/src/components/charts/option/config/tooltip/formatter.js +63 -63
  584. package/src/components/charts/option/config/tooltip/index.js +41 -41
  585. package/src/components/charts/option/config/visualMap/index.js +90 -90
  586. package/src/components/charts/option/config/xAxis/axisLabel.js +35 -35
  587. package/src/components/charts/option/config/xAxis/axisLine.js +29 -29
  588. package/src/components/charts/option/config/xAxis/axisMargin.js +31 -31
  589. package/src/components/charts/option/config/xAxis/base.js +66 -66
  590. package/src/components/charts/option/config/xAxis/boundaryGap.js +17 -17
  591. package/src/components/charts/option/config/xAxis/index.js +52 -52
  592. package/src/components/charts/option/config/xAxis/name.js +18 -18
  593. package/src/components/charts/option/config/xAxis/xdata.js +22 -22
  594. package/src/components/charts/option/config/xAxis/xkey.js +20 -20
  595. package/src/components/charts/option/config/yAxis/axisOptimization.js +31 -31
  596. package/src/components/charts/option/config/yAxis/base.js +59 -59
  597. package/src/components/charts/option/config/yAxis/index.js +68 -68
  598. package/src/components/charts/option/config/yAxis/ydata.js +28 -28
  599. package/src/components/charts/option/init/index.js +204 -204
  600. package/src/components/charts/register.js +178 -178
  601. package/src/components/charts/theme.js +62 -62
  602. package/src/components/charts/util/Sequence.js +21 -21
  603. package/src/components/charts/util/centerDom.js +92 -92
  604. package/src/components/charts/util/cloneDeep.js +29 -29
  605. package/src/components/charts/util/color.js +192 -192
  606. package/src/components/charts/util/constants.js +124 -124
  607. package/src/components/charts/util/convert.js +49 -49
  608. package/src/components/charts/util/debounce.js +23 -23
  609. package/src/components/charts/util/defendXSS.js +81 -81
  610. package/src/components/charts/util/dom.js +89 -89
  611. package/src/components/charts/util/equal.js +62 -62
  612. package/src/components/charts/util/event.js +25 -25
  613. package/src/components/charts/util/hashMap.js +111 -111
  614. package/src/components/charts/util/init/insert.js +164 -164
  615. package/src/components/charts/util/math.js +182 -182
  616. package/src/components/charts/util/merge.js +78 -78
  617. package/src/components/charts/util/paint.js +98 -98
  618. package/src/components/charts/util/sort/max.js +64 -64
  619. package/src/components/charts/util/sort/min.js +64 -64
  620. package/src/components/charts/util/throttle.js +33 -33
  621. package/src/components/charts/util/tips.js +24 -24
  622. package/src/components/charts/util/type.js +45 -45
  623. package/src/components/ebiz-form/components/cascader.vue +61 -61
  624. package/src/components/ebiz-form/components/checkbox.vue +37 -37
  625. package/src/components/ebiz-form/components/city.vue +137 -137
  626. package/src/components/ebiz-form/components/date-panel.vue +52 -52
  627. package/src/components/ebiz-form/components/date-range-panel.vue +52 -52
  628. package/src/components/ebiz-form/components/date-range.vue +56 -56
  629. package/src/components/ebiz-form/components/date.vue +52 -52
  630. package/src/components/ebiz-form/components/editor-multi-language.vue +47 -47
  631. package/src/components/ebiz-form/components/editor.vue +78 -78
  632. package/src/components/ebiz-form/components/file-multi-language.vue +52 -52
  633. package/src/components/ebiz-form/components/file.vue +149 -149
  634. package/src/components/ebiz-form/components/images-multi-language.vue +52 -52
  635. package/src/components/ebiz-form/components/images.vue +129 -129
  636. package/src/components/ebiz-form/components/img-multi-language.vue +51 -51
  637. package/src/components/ebiz-form/components/img.vue +129 -129
  638. package/src/components/ebiz-form/components/number.vue +50 -50
  639. package/src/components/ebiz-form/components/radio.vue +28 -28
  640. package/src/components/ebiz-form/components/select.vue +119 -119
  641. package/src/components/ebiz-form/components/switch.vue +23 -23
  642. package/src/components/ebiz-form/components/text-multi-language.vue +47 -47
  643. package/src/components/ebiz-form/components/text.vue +52 -52
  644. package/src/components/ebiz-form/components/textarea-multi-language.vue +48 -48
  645. package/src/components/ebiz-form/components/textarea.vue +29 -29
  646. package/src/components/ebiz-form/components/video-multi-language.vue +51 -51
  647. package/src/components/ebiz-form/components/video.vue +97 -97
  648. package/src/components/ebiz-form/index.vue +157 -157
  649. package/src/components/icons/IconCommunity.vue +7 -7
  650. package/src/components/icons/IconDocumentation.vue +7 -7
  651. package/src/components/icons/IconEcosystem.vue +7 -7
  652. package/src/components/icons/IconSupport.vue +7 -7
  653. package/src/components/icons/IconTooling.vue +19 -19
  654. package/src/index.js +127 -113
  655. package/src/main.js +57 -57
  656. package/src/router/index.js +208 -196
  657. package/src/utils/formatCode.js +24 -24
  658. package/src/utils/generateImportStatement.js +52 -52
  659. package/src/utils/hasJsx.js +25 -25
  660. package/src/utils/index.js +166 -166
  661. package/src/utils/mergeOptions.js +29 -29
  662. package/src/utils/parseRequiredBlocks.js +18 -18
  663. package/src/utils/upload.ts +126 -126
  664. package/src/utils/vue-sfc-validator.js +155 -155
  665. package/src/views/Button.vue +19 -19
  666. package/src/views/CheckboxDemo.vue +104 -104
  667. package/src/views/DataContainer.vue +19 -19
  668. package/src/views/EbizRadioDemo.vue +151 -151
  669. package/src/views/EbizSpace.vue +185 -185
  670. package/src/views/EbizSwiper.vue +157 -157
  671. package/src/views/Form.vue +19 -19
  672. package/src/views/GridDemo.vue +238 -238
  673. package/src/views/Home.vue +87 -85
  674. package/src/views/Mindmap.vue +19 -19
  675. package/src/views/MyComponent.vue +19 -19
  676. package/src/views/OkrTree.vue +19 -19
  677. package/src/views/PaginationDemo.vue +96 -96
  678. package/src/views/RemoteSelect.vue +19 -19
  679. package/src/views/StatisticDemo.vue +191 -0
  680. package/src/views/SwitchDemo.vue +79 -79
  681. package/src/views/Table.vue +19 -19
  682. package/src/views/TabsDemo.vue +283 -0
  683. package/src/views/TagDemo.vue +101 -101
  684. package/src/views/TdesignButton.vue +190 -190
  685. package/src/views/TdesignCalendar.vue +94 -94
  686. package/src/views/TdesignCard.vue +296 -296
  687. package/src/views/TdesignCollapse.vue +293 -293
  688. package/src/views/TdesignDatePicker.vue +187 -187
  689. package/src/views/TdesignForm.vue +248 -248
  690. package/src/views/TdesignIcon.vue +203 -203
  691. package/src/views/TdesignImage.vue +215 -215
  692. package/src/views/TdesignImageViewer.vue +198 -198
  693. package/src/views/TdesignInput.vue +252 -252
  694. package/src/views/TdesignSelect.vue +473 -473
  695. package/src/views/TdesignSwiper.vue +157 -157
  696. package/src/views/TextareaDemo.vue +93 -93
  697. package/src/views/Title.vue +19 -19
  698. package/src/views/UploadDemo.vue +121 -121
@@ -1,716 +1,716 @@
1
- /**
2
- * Copyright (c) 2024 - present OpenTiny HUICharts Authors.
3
- * Copyright (c) 2024 - present Huawei Cloud Computing Technologies Co., Ltd.
4
- *
5
- * Use of this source code is governed by an MIT-style license.
6
- *
7
- * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
8
- * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
9
- * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
10
- *
11
- */
12
- import merge from '../../util/merge';
13
- import { getColor } from '../../util/color';
14
- import cloneDeep from '../../util/cloneDeep';
15
- import { isArray, isNumber, isObject} from '../../util/type';
16
- import { getMarkLineDefault } from '../../option/config/mark';
17
- import chartToken from './chartToken';
18
- import Token from '../../feature/token';
19
- import getTooltipContentHtmlStr from '../../option/config/tooltip/formatter'
20
- import borderRadius from '../../feature/token/factory/globalToken/borderRadius';
21
-
22
- function handleYaxis(barSeries, yAxis) {
23
- if (Array.isArray(yAxis)) {
24
- yAxis.forEach((y, index) => {
25
- barSeries.forEach((s, indexs) => {
26
- if (y.dataName && y.dataName.includes(s.name)) {
27
- barSeries[indexs].yAxisIndex = index;
28
- }
29
- });
30
- });
31
- }
32
- }
33
-
34
- function handleLabel(seriesUnit, iChartOption, index, direction) {
35
- const label = iChartOption.label;
36
- let labelOption;
37
- let initPosition = 'top';
38
- let initOffset = [0, -4];
39
- if (label && isArray(label)) {
40
- labelOption = label[index];
41
- } else {
42
- labelOption = label;
43
- }
44
- if (direction && direction === 'horizontal') {
45
- initPosition = 'right';
46
- initOffset = [4, 0];
47
- }
48
- if (labelOption && labelOption.show) {
49
- merge(seriesUnit.label, labelOption);
50
- seriesUnit.label.show = true;
51
- seriesUnit.label.offset = labelOption.offset || initOffset;
52
- seriesUnit.label.position = labelOption.position || initPosition;
53
- seriesUnit.label.formatter = labelOption.formatter;
54
- }
55
- }
56
-
57
- function handleDoubleSides(type, seriesUnit, index, legendData) {
58
- if (type && type === 'double-sides') {
59
- if (index === legendData.length - 1) {
60
- seriesUnit.data = seriesUnit.data.map(item => {
61
- if (isNumber(item)) {
62
- return -1 * item;
63
- } else {
64
- return item;
65
- }
66
- });
67
- }
68
- }
69
- }
70
-
71
- export const seriesInit = () => {
72
- return {
73
- label: {
74
- show: false,
75
- color: chartToken.labelColor,
76
- fontSize: chartToken.fontSize,
77
- distance: 0,
78
- },
79
- // 数据
80
- data: [],
81
- // 柱形
82
- type: 'bar',
83
- // 柱条宽度
84
- barWidth: chartToken.barWidth,
85
- // 不同系列的柱间距离
86
- barGap: '25%',
87
- // 阈值线
88
- markLine: null,
89
- // 峰值标志
90
- markPoint: null,
91
- // 柱形的每个样式配置项
92
- itemStyle: {
93
- borderRadius: [chartToken.borderRadius, chartToken.borderRadius, 0, 0],
94
- },
95
- };
96
- };
97
-
98
- function handleWaterFall(type, seriesUnit) {
99
- if (type && type === 'water-fall') {
100
- // 调整堆叠柱子圆角
101
- seriesUnit.itemStyle.borderRadius = [
102
- chartToken.borderRadius,
103
- chartToken.borderRadius,
104
- chartToken.borderRadius,
105
- chartToken.borderRadius,
106
- ];
107
- // 瀑布图有一个总体数据
108
- seriesUnit.data.push(
109
- seriesUnit.data.reduce(function (prev, curr) {
110
- const n = Number(curr) || 0;
111
- return prev + n;
112
- }, 0),
113
- );
114
- }
115
- }
116
-
117
- function handleRange(type, seriesUnit) {
118
- if (type && type === 'range') {
119
- // 调整堆叠柱子圆角
120
- seriesUnit.itemStyle.borderRadius = [
121
- chartToken.borderRadius,
122
- chartToken.borderRadius,
123
- chartToken.borderRadius,
124
- chartToken.borderRadius,
125
- ];
126
- }
127
- }
128
-
129
- function handleContain(type, seriesUnit) {
130
- if (type && type === 'contain') {
131
- seriesUnit.barGap = '-100%';
132
- }
133
- }
134
-
135
- // 处理有负值柱状图
136
- function handlePlusMinus(seriesUnit, direction) {
137
- let borderRadiusArr = [0, 0,chartToken.borderRadius, chartToken.borderRadius];
138
- let minusPosition = 'bottom';
139
- let minusOffset = [0, 4];
140
- if (direction && direction === 'horizontal') {
141
- borderRadiusArr = [chartToken.borderRadius, 0, 0, chartToken.borderRadius];
142
- minusPosition = 'left';
143
- minusOffset = [-4, 0];
144
- }
145
- const minusDataObj = {
146
- itemStyle: {
147
- borderRadius: borderRadiusArr
148
- },
149
- label: {
150
- position: minusPosition,
151
- offset: minusOffset
152
- }
153
- }
154
- seriesUnit.data.forEach((item,index) => {
155
- if(isObject(item)) {
156
- item.value < 0 && merge(item,minusDataObj);
157
- } else {
158
- if(item < 0) {
159
- let objData = merge({value: item}, minusDataObj);
160
- seriesUnit.data[index] = objData;
161
- }
162
- }
163
- })
164
- }
165
-
166
- function handleFocus(seriesUnit, iChartOption) {
167
- if (iChartOption.focus) {
168
- seriesUnit.emphasis = {
169
- focus: 'series',
170
- blurScope: 'global',
171
- };
172
- }
173
- }
174
-
175
- function handleItemStyle(direction, itemStyle) {
176
- const seriesInit_ = cloneDeep(seriesInit());
177
- if (direction && direction === 'horizontal') {
178
- seriesInit_.itemStyle.borderRadius = [0, chartToken.borderRadius, chartToken.borderRadius, 0];
179
- }
180
- if (itemStyle?.barMinHeight) {
181
- seriesInit_.barMinHeight = itemStyle.barMinHeight;
182
- }
183
- if (itemStyle?.barWidth) {
184
- seriesInit_.barWidth = itemStyle.barWidth;
185
- }
186
- if (itemStyle?.barGap) {
187
- seriesInit_.barGap = itemStyle.barGap;
188
- }
189
- if (itemStyle?.color) {
190
- seriesInit_.itemStyle.color = itemStyle.color;
191
- }
192
- merge(seriesInit_.itemStyle, itemStyle);
193
- return seriesInit_;
194
- }
195
-
196
- function handleMarkLine(seriesUnit, iChartOption, direction) {
197
- const name = seriesUnit.name;
198
- const markLine = iChartOption.markLine;
199
- const isTopMarkLine = markLine && markLine.top && !(markLine.topUse && markLine.topUse.indexOf(name) === -1);
200
- const isBottomMarkLine =
201
- markLine && markLine.bottom && !(markLine.bottomUse && markLine.bottomUse.indexOf(name) === -1);
202
- if (isTopMarkLine || isBottomMarkLine) {
203
- seriesUnit.markLine = getMarkLineDefault(true)
204
- merge(seriesUnit.markLine, markLine);
205
- if (markLine.color) seriesUnit.markLine.lineStyle.color = markLine.color
206
- }
207
- if (isTopMarkLine) {
208
- if (direction && direction === 'horizontal') {
209
- seriesUnit.markLine.data.push({ xAxis: markLine.top });
210
- } else {
211
- seriesUnit.markLine.data.push({ yAxis: markLine.top });
212
- }
213
- }
214
- if (isBottomMarkLine) {
215
- if (direction && direction === 'horizontal') {
216
- seriesUnit.markLine.data.push({ xAxis: markLine.bottom });
217
- } else {
218
- seriesUnit.markLine.data.push({ yAxis: markLine.bottom });
219
- }
220
- }
221
- }
222
-
223
- function handleBothSides(type, seriesUnit, direction, index, legendData) {
224
- if (type && (type === 'both-sides' || type === 'double-sides')) {
225
- seriesUnit.stack = 'stack';
226
- // 调整堆叠柱子圆角
227
- if (direction && direction === 'horizontal') {
228
- if (index === 0) {
229
- seriesUnit.itemStyle.borderRadius = [0, chartToken.borderRadius, chartToken.borderRadius, 0];
230
- }
231
- if (index === legendData.length - 1) {
232
- seriesUnit.itemStyle.borderRadius = [chartToken.borderRadius, 0, 0, chartToken.borderRadius];
233
- }
234
- } else {
235
- if (index === 0) {
236
- seriesUnit.itemStyle.borderRadius = [chartToken.borderRadius, chartToken.borderRadius, 0, 0];
237
- }
238
- if (index === legendData.length - 1) {
239
- seriesUnit.itemStyle.borderRadius = [0, 0, chartToken.borderRadius, chartToken.borderRadius];
240
- }
241
- }
242
- }
243
- }
244
-
245
-
246
- function setStack(stack, seriesUnit) {
247
- for (const name in stack) {
248
- if (Object.hasOwnProperty.call(stack, name)) {
249
- const stackArray = stack[name];
250
- const seriesName = seriesUnit.name;
251
- const stackIndex = stackArray.indexOf(seriesName);
252
- if (stackIndex === -1) continue;
253
- seriesUnit.stack = name;
254
- if (stackIndex + 1 < stackArray.length) {
255
- delete seriesUnit.itemStyle.borderRadius;
256
- }
257
- break;
258
- }
259
- }
260
- }
261
-
262
-
263
- function handleStack(type, seriesUnit, index, legendData, iChartOption) {
264
- if (!(type && type === 'stack')) return
265
- const stack = iChartOption.stack;
266
- if (stack) {
267
- setStack(stack, seriesUnit)
268
- return
269
- }
270
- seriesUnit.stack = 'stack';
271
- if (index !== legendData.length - 1) {
272
- delete seriesUnit.itemStyle.borderRadius;
273
- }
274
- }
275
-
276
- function percentToDecimal(percentStr) {
277
- // 移除百分号
278
- let numberStr = percentStr.replace(/%/, '');
279
- // 转换为小数
280
- let decimal = Number(numberStr) / 100;
281
- return decimal;
282
- }
283
-
284
- /**
285
- * 组装echarts所需要的series
286
- * @param {图表数据} seriesData
287
- * @param {图例数据} legendData
288
- * @param {是否面积图} isArea
289
- * @param {是否曲线} isSmooth
290
- * @param {是否阶梯线} isStep
291
- * @param {阈值线} markLine
292
- * @param {阈值箭头} markPoint
293
- * @param {颜色集合} colors
294
- * @returns
295
- */
296
- export function setSeries(seriesData, legendData, iChartOption) {
297
- // 柱状图类型
298
- const type = iChartOption.type;
299
- // 柱状图方向
300
- const direction = iChartOption.direction;
301
- // 覆盖用户传入的itemStyle
302
- const seriesInit_ = handleItemStyle(direction, iChartOption.itemStyle);
303
- // 拼装series
304
- const series = [];
305
-
306
- legendData.forEach((legend, index) => {
307
- const seriesUnit = cloneDeep(seriesInit_);
308
- // 数值显示
309
- handleLabel(seriesUnit, iChartOption, index, direction);
310
- // 聚焦效果
311
- handleFocus(seriesUnit, iChartOption);
312
- // 数据 / 数据名称
313
- seriesUnit.name = legend;
314
-
315
-
316
- if (iChartOption.itemStyle && iChartOption.itemStyle.barMinHeight) {
317
- const barMinHeight = iChartOption.itemStyle.barMinHeight;
318
- seriesUnit.data = seriesData[legend];
319
- // 如果有%根据数据最大值来计算最小高度,是数值则按echarts原生属性控制
320
- if (barMinHeight.toString().indexOf('%') !== -1) {
321
- let itemMaxData = []
322
- legendData.forEach((legend) => {
323
- itemMaxData.push(Math.max.apply(null, seriesData[legend]))
324
- })
325
- const MaxData = Math.max.apply(null, itemMaxData)
326
-
327
- let minNum = MaxData * percentToDecimal(barMinHeight);
328
- for (let i = 0; i < seriesUnit.data.length; i++) {
329
- if (!seriesUnit.data[i] == 0) {
330
- seriesUnit.data[i] = seriesUnit.data[i] < minNum ? minNum : seriesUnit.data[i];
331
- }
332
- }
333
- } else {
334
- // 如果设置了 barMinHeight,那么就把数据里面的0设置成null
335
- seriesUnit.data = seriesData[legend].map((item) => {
336
- return item === 0 ? undefined : item;
337
- })
338
- }
339
- } else {
340
- seriesUnit.data = seriesData[legend];
341
- }
342
- // 阈值线
343
- handleMarkLine(seriesUnit, iChartOption, direction);
344
- // 堆叠图
345
- handleStack(type, seriesUnit, index, legendData, iChartOption);
346
- // 双向图
347
- handleBothSides(type, seriesUnit, direction, index, legendData);
348
- // 数据均为正数的双向图
349
- handleDoubleSides(type, seriesUnit, index, legendData);
350
- // 瀑布图
351
- handleWaterFall(type, seriesUnit);
352
- // 区间图
353
- handleRange(type, seriesUnit);
354
- // 包含图
355
- handleContain(type, seriesUnit);
356
- // 处理有负值情况
357
- handlePlusMinus(seriesUnit, direction);
358
- series.push(seriesUnit);
359
- });
360
- // 配置多个series的y轴index
361
- handleYaxis(series, iChartOption.yAxis);
362
- return series;
363
- }
364
-
365
- function handleColorStops(percent, originColor, markLineColor) {
366
- const { colorError } = Token.config.colorState
367
- const colorStops = [
368
- {
369
- offset: 0,
370
- color: markLineColor ? markLineColor : colorError,
371
- },
372
- {
373
- offset: percent,
374
- color: markLineColor ? markLineColor : colorError,
375
- },
376
- {
377
- offset: percent + 0.001,
378
- color: originColor,
379
- },
380
- {
381
- offset: 1,
382
- color: originColor,
383
- },
384
- ];
385
- return colorStops;
386
- }
387
-
388
- function handleTopObj(d, direction, percent, originColor, markLineColor) {
389
- const topObj = {
390
- value: d,
391
- itemStyle: {
392
- color: {
393
- type: 'linear',
394
- x: direction === 'horizontal' ? 1 : 0,
395
- y: direction === 'horizontal' ? 0 : 0,
396
- x2: direction === 'horizontal' ? 0 : 0,
397
- y2: direction === 'horizontal' ? 0 : 1,
398
- colorStops: handleColorStops(percent, originColor, markLineColor),
399
- },
400
- },
401
- };
402
- return topObj;
403
- }
404
-
405
- function handleBottomObj(d, direction, percent, originColor, markLineColor) {
406
- const bottomObj = {
407
- value: d,
408
- itemStyle: {
409
- color: {
410
- type: 'linear',
411
- x: direction === 'horizontal' ? 0 : 0,
412
- y: direction === 'horizontal' ? 0 : 1,
413
- x2: direction === 'horizontal' ? 1 : 0,
414
- y2: direction === 'horizontal' ? 0 : 0,
415
- colorStops: handleColorStops(percent, originColor, markLineColor),
416
- },
417
- },
418
- };
419
- return bottomObj;
420
- }
421
-
422
- function getColorStopsOrigin() {
423
- return [
424
- { offset: 0, color: Token.config.colorState.colorError },
425
- { offset: 1, color: Token.config.colorState.colorError },
426
- ];
427
- }
428
-
429
-
430
- function handleColorStopsTop(originColor, bottomPercent) {
431
- const { colorError } = Token.config.colorState
432
- const colorStops = [
433
- { offset: 0, color: originColor },
434
- { offset: bottomPercent, color: originColor },
435
- { offset: bottomPercent + 0.0001, color: colorError },
436
- { offset: 1, color: colorError },
437
- ];
438
- return colorStops;
439
- }
440
-
441
- function handleColorStopsBottom(originColor, topPercent) {
442
- const { colorError } = Token.config.colorState
443
- const colorStops = [
444
- { offset: 0, color: colorError },
445
- { offset: topPercent, color: colorError },
446
- { offset: topPercent + 0.0001, color: originColor },
447
- { offset: 1, color: originColor },
448
- ];
449
- return colorStops;
450
- }
451
-
452
- function handleColorStopsOther(originColor, topPercent, bottomPercent) {
453
- const { colorError } = Token.config.colorState
454
- const colorStops = [
455
- { offset: 0, color: colorError },
456
- { offset: topPercent, color: colorError },
457
- { offset: topPercent + 0.0001, color: originColor },
458
- { offset: bottomPercent, color: originColor },
459
- { offset: bottomPercent + 0.0001, color: colorError },
460
- { offset: 1, color: colorError },
461
- ];
462
- return colorStops;
463
- }
464
-
465
- function handleResObj(d, direction, colorStops) {
466
- const resObj = {
467
- value: d,
468
- itemStyle: {
469
- color: {
470
- type: 'linear',
471
- x: direction === 'horizontal' ? 1 : 0,
472
- y: direction === 'horizontal' ? 0 : 0,
473
- x2: direction === 'horizontal' ? 0 : 0,
474
- y2: direction === 'horizontal' ? 0 : 1,
475
- colorStops,
476
- },
477
- },
478
- };
479
- return resObj;
480
- }
481
-
482
- function handleSeries(iChartOption, baseOption, exclude, colors, direction) {
483
- // 顶部阈值
484
- let top = iChartOption.markLine.top;
485
- // 底部阈值
486
- let bottom = iChartOption.markLine.bottom;
487
- const usefullSeries = baseOption.series.filter(item => {
488
- return exclude.indexOf(item.name) === -1;
489
- });
490
- usefullSeries.forEach((item, index) => {
491
- if (exclude.indexOf(item.name) === -1) {
492
- const barData = item.data;
493
- const placeHolderData = baseOption.series[index * 2].data;
494
- item.data = barData.map((d, i) => {
495
- const pd = placeHolderData[i];
496
- if (top === undefined) {
497
- top = pd + d + 1;
498
- }
499
- if (bottom === undefined) {
500
- bottom = pd - 1;
501
- }
502
- const originColor = getColor(colors, index);
503
- let topPercent = 0;
504
- let bottomPercent = 1;
505
- topPercent = (d + pd - top) / d;
506
- topPercent < 0 && (topPercent = 0);
507
- topPercent > 1 && (topPercent = 1);
508
- bottomPercent = (d + pd - bottom) / d;
509
- bottomPercent < 0 && (bottomPercent = 0);
510
- bottomPercent > 1 && (bottomPercent = 1);
511
- let colorStops = [];
512
- if (topPercent === 1 || bottomPercent === 0) {
513
- // 纯红
514
- colorStops = getColorStopsOrigin()
515
- } else if (topPercent === 0 && bottomPercent === 1) {
516
- // 原色
517
- return d;
518
- } else if (topPercent === 0) {
519
- colorStops = handleColorStopsTop(originColor, bottomPercent);
520
- } else if (bottomPercent === 1) {
521
- colorStops = handleColorStopsBottom(originColor, topPercent);
522
- } else {
523
- colorStops = handleColorStopsOther(originColor, topPercent, bottomPercent);
524
- }
525
- const resObj = handleResObj(d, direction, colorStops);
526
- return resObj;
527
- });
528
- }
529
- });
530
- }
531
-
532
- // 针对阈值线以上显示红色区域的需求,图表需要进行特殊处理
533
- export function setMarkLine(baseOption, iChartOption) {
534
- const type = iChartOption.type;
535
- const colors = baseOption.color;
536
- const direction = iChartOption.direction;
537
- const exclude = ['Placeholder'];
538
- if (iChartOption.markLine && type !== 'water-fall' && type !== 'range') {
539
- // 顶部阈值
540
- const top = iChartOption.markLine.top;
541
- const topUse = iChartOption.markLine.topUse;
542
- // 底部阈值
543
- const bottom = iChartOption.markLine.bottom;
544
- const bottomUse = iChartOption.markLine.bottomUse;
545
- // 用户自定义阈值线颜色
546
- const markLineColor = iChartOption.markLine.color;
547
- const usefullSeries = baseOption.series.filter(item => {
548
- return exclude.indexOf(item.name) === -1;
549
- });
550
- usefullSeries.forEach((item, index) => {
551
- if (exclude.indexOf(item.name) === -1) {
552
- const barData = item.data;
553
- item.data = barData.map(d => {
554
- const originColor = getColor(colors, index);
555
- // 如果该柱形高度超过阈值,侧改变其颜色
556
- if (top && d >= 0 && top >= 0 && d > top) {
557
- if (topUse && topUse.indexOf(item.name) === -1) {
558
- return d;
559
- }
560
- const percent = (d - top) / (d - 0);
561
- const topObj = handleTopObj(d, direction, percent, originColor, markLineColor);
562
- return topObj;
563
- // 如果该柱形高度低于阈值,侧改变其颜色
564
- } else if (bottom && d <= 0 && bottom <= 0 && d < bottom) {
565
- if (bottomUse && bottomUse.indexOf(item.name) === -1) {
566
- return d;
567
- }
568
- const percent = (bottom - d) / (0 - d);
569
- const bottomObj = handleBottomObj(d, direction, percent, originColor, markLineColor);
570
- return bottomObj;
571
- } else {
572
- return d;
573
- }
574
- });
575
- }
576
- });
577
- }
578
- //
579
- if (iChartOption.markLine && type === 'range') {
580
- handleSeries(iChartOption, baseOption, exclude, colors, direction);
581
- }
582
- }
583
-
584
- function placeFun(index, placeholderData) {
585
- const a = {
586
- name: 'Placeholder',
587
- type: 'bar',
588
- stack: `stack${index}`,
589
- itemStyle: {
590
- borderColor: chartToken.borderColor,
591
- color: chartToken.color,
592
- },
593
- emphasis: {
594
- itemStyle: {
595
- borderColor: chartToken.borderColor,
596
- color: chartToken.color,
597
- },
598
- },
599
- data: placeholderData,
600
- };
601
- return a;
602
- }
603
-
604
- // 针对区间图表需求,图表需要进行特殊处理
605
- export function setRange(baseOption, iChartOption) {
606
- const type = iChartOption.type;
607
- if (type && type === 'range') {
608
- const tempArray = [];
609
- baseOption.series.forEach((item, index) => {
610
- const barData = item.data;
611
- const barRealData = [];
612
- const placeholderData = [];
613
- const placeholder = placeFun(index, placeholderData);
614
- barData.forEach(d => {
615
- placeholderData.push(d[0]);
616
- barRealData.push(d[1] - d[0]);
617
- });
618
- item.stack = `stack${index}`;
619
- item.data = barRealData;
620
- tempArray.push(placeholder);
621
- tempArray.push(item);
622
- });
623
- baseOption.series = tempArray;
624
- }
625
- }
626
-
627
- // 针对瀑布图表需求,图表需要进行特殊处理
628
- export function setWaterFall(baseOption, iChartOption) {
629
- const type = iChartOption.type;
630
- const totalName = iChartOption.totalName || 'Total';
631
- const totalPosition = iChartOption.totalPosition || 'end';
632
- if (type && type === 'water-fall') {
633
- const tempArray = [];
634
- baseOption.series.forEach((item, index) => {
635
- const barData = item.data;
636
- const placeholderData = [0];
637
- const placeholder = placeFun(index, placeholderData);
638
- if (totalPosition === 'end') {
639
- barData.forEach((d, i) => {
640
- if (i < barData.length - 1) {
641
- placeholderData.push((Number(d) || 0) + placeholderData[i]);
642
- }
643
- });
644
- placeholderData[placeholderData.length - 1] = 0;
645
- } else {
646
- barData.unshift(barData.pop());
647
- placeholderData[0] = barData[0];
648
- barData.forEach((d, i) => {
649
- if (i > 0) {
650
- placeholderData.push(placeholderData[i - 1] - (Number(d) || 0));
651
- }
652
- });
653
- placeholderData[0] = 0;
654
- }
655
- item.stack = `stack${index}`;
656
- tempArray.push(placeholder);
657
- tempArray.push(item);
658
- });
659
- if (totalPosition === 'end') {
660
- baseOption.xAxis[0].data.push(totalName);
661
- } else {
662
- baseOption.xAxis[0].data.unshift(totalName);
663
- }
664
- baseOption.series = tempArray;
665
- }
666
- }
667
-
668
- /**
669
- * 为了实现一些特殊的样式,增加了一些series,如柱状图中的PlaceHolder series
670
- * 因此在 tooltip 中应该被屏蔽这些series
671
- * 因此对 tooltip.formatter 进行二次封装
672
- */
673
- export function setLimitFormatter(baseOption, iChartOption, seriesData) {
674
- const type = iChartOption.type;
675
- const toolTipFormatter = baseOption.tooltip.formatter;
676
- const exclude = ['Placeholder'];
677
- const colors = baseOption.color;
678
- const barMinHeight = iChartOption.itemStyle && iChartOption.itemStyle.barMinHeight;
679
- baseOption.tooltip.formatter = (params, ticket, callback) => {
680
- const newParams = params.filter(item => {
681
- return exclude.indexOf(item.seriesName) === -1;
682
- });
683
- // 如果设置了最小高度高度,并按%计算,将newParams值重新校正
684
- if (barMinHeight && barMinHeight.toString().indexOf('%') !== -1) {
685
- newParams.forEach((item) => {
686
- if (iChartOption.data && iChartOption.data[item.dataIndex] && isNumber(iChartOption.data[item.dataIndex][item.seriesName])) {
687
- item.data = item.value = iChartOption.data[item.dataIndex][item.seriesName]
688
- }
689
- })
690
- }
691
- if (toolTipFormatter) {
692
- return toolTipFormatter(newParams, ticket, callback);
693
- }
694
- const config = {
695
- title: '',
696
- children: []
697
- }
698
- newParams.forEach((item, index) => {
699
- if (index === 0) {
700
- config.title = item.name
701
- }
702
- const itemColor = typeof item.color === 'string' ? item.color : getColor(colors, index);
703
- const dataVal = type === 'range' ?
704
- `${`${`[${params[index * 2].value}`}-${params[index * 2].value + item.value}`}]`
705
- : (item.value || seriesData[item.seriesName][item.dataIndex])
706
- const dataItem = {
707
- name: item.seriesName,
708
- value: dataVal,
709
- iconColor: itemColor
710
- }
711
- config.children.push(dataItem)
712
- });
713
- return getTooltipContentHtmlStr(config);
714
- };
715
- }
716
-
1
+ /**
2
+ * Copyright (c) 2024 - present OpenTiny HUICharts Authors.
3
+ * Copyright (c) 2024 - present Huawei Cloud Computing Technologies Co., Ltd.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license.
6
+ *
7
+ * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
8
+ * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
9
+ * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
10
+ *
11
+ */
12
+ import merge from '../../util/merge';
13
+ import { getColor } from '../../util/color';
14
+ import cloneDeep from '../../util/cloneDeep';
15
+ import { isArray, isNumber, isObject} from '../../util/type';
16
+ import { getMarkLineDefault } from '../../option/config/mark';
17
+ import chartToken from './chartToken';
18
+ import Token from '../../feature/token';
19
+ import getTooltipContentHtmlStr from '../../option/config/tooltip/formatter'
20
+ import borderRadius from '../../feature/token/factory/globalToken/borderRadius';
21
+
22
+ function handleYaxis(barSeries, yAxis) {
23
+ if (Array.isArray(yAxis)) {
24
+ yAxis.forEach((y, index) => {
25
+ barSeries.forEach((s, indexs) => {
26
+ if (y.dataName && y.dataName.includes(s.name)) {
27
+ barSeries[indexs].yAxisIndex = index;
28
+ }
29
+ });
30
+ });
31
+ }
32
+ }
33
+
34
+ function handleLabel(seriesUnit, iChartOption, index, direction) {
35
+ const label = iChartOption.label;
36
+ let labelOption;
37
+ let initPosition = 'top';
38
+ let initOffset = [0, -4];
39
+ if (label && isArray(label)) {
40
+ labelOption = label[index];
41
+ } else {
42
+ labelOption = label;
43
+ }
44
+ if (direction && direction === 'horizontal') {
45
+ initPosition = 'right';
46
+ initOffset = [4, 0];
47
+ }
48
+ if (labelOption && labelOption.show) {
49
+ merge(seriesUnit.label, labelOption);
50
+ seriesUnit.label.show = true;
51
+ seriesUnit.label.offset = labelOption.offset || initOffset;
52
+ seriesUnit.label.position = labelOption.position || initPosition;
53
+ seriesUnit.label.formatter = labelOption.formatter;
54
+ }
55
+ }
56
+
57
+ function handleDoubleSides(type, seriesUnit, index, legendData) {
58
+ if (type && type === 'double-sides') {
59
+ if (index === legendData.length - 1) {
60
+ seriesUnit.data = seriesUnit.data.map(item => {
61
+ if (isNumber(item)) {
62
+ return -1 * item;
63
+ } else {
64
+ return item;
65
+ }
66
+ });
67
+ }
68
+ }
69
+ }
70
+
71
+ export const seriesInit = () => {
72
+ return {
73
+ label: {
74
+ show: false,
75
+ color: chartToken.labelColor,
76
+ fontSize: chartToken.fontSize,
77
+ distance: 0,
78
+ },
79
+ // 数据
80
+ data: [],
81
+ // 柱形
82
+ type: 'bar',
83
+ // 柱条宽度
84
+ barWidth: chartToken.barWidth,
85
+ // 不同系列的柱间距离
86
+ barGap: '25%',
87
+ // 阈值线
88
+ markLine: null,
89
+ // 峰值标志
90
+ markPoint: null,
91
+ // 柱形的每个样式配置项
92
+ itemStyle: {
93
+ borderRadius: [chartToken.borderRadius, chartToken.borderRadius, 0, 0],
94
+ },
95
+ };
96
+ };
97
+
98
+ function handleWaterFall(type, seriesUnit) {
99
+ if (type && type === 'water-fall') {
100
+ // 调整堆叠柱子圆角
101
+ seriesUnit.itemStyle.borderRadius = [
102
+ chartToken.borderRadius,
103
+ chartToken.borderRadius,
104
+ chartToken.borderRadius,
105
+ chartToken.borderRadius,
106
+ ];
107
+ // 瀑布图有一个总体数据
108
+ seriesUnit.data.push(
109
+ seriesUnit.data.reduce(function (prev, curr) {
110
+ const n = Number(curr) || 0;
111
+ return prev + n;
112
+ }, 0),
113
+ );
114
+ }
115
+ }
116
+
117
+ function handleRange(type, seriesUnit) {
118
+ if (type && type === 'range') {
119
+ // 调整堆叠柱子圆角
120
+ seriesUnit.itemStyle.borderRadius = [
121
+ chartToken.borderRadius,
122
+ chartToken.borderRadius,
123
+ chartToken.borderRadius,
124
+ chartToken.borderRadius,
125
+ ];
126
+ }
127
+ }
128
+
129
+ function handleContain(type, seriesUnit) {
130
+ if (type && type === 'contain') {
131
+ seriesUnit.barGap = '-100%';
132
+ }
133
+ }
134
+
135
+ // 处理有负值柱状图
136
+ function handlePlusMinus(seriesUnit, direction) {
137
+ let borderRadiusArr = [0, 0,chartToken.borderRadius, chartToken.borderRadius];
138
+ let minusPosition = 'bottom';
139
+ let minusOffset = [0, 4];
140
+ if (direction && direction === 'horizontal') {
141
+ borderRadiusArr = [chartToken.borderRadius, 0, 0, chartToken.borderRadius];
142
+ minusPosition = 'left';
143
+ minusOffset = [-4, 0];
144
+ }
145
+ const minusDataObj = {
146
+ itemStyle: {
147
+ borderRadius: borderRadiusArr
148
+ },
149
+ label: {
150
+ position: minusPosition,
151
+ offset: minusOffset
152
+ }
153
+ }
154
+ seriesUnit.data.forEach((item,index) => {
155
+ if(isObject(item)) {
156
+ item.value < 0 && merge(item,minusDataObj);
157
+ } else {
158
+ if(item < 0) {
159
+ let objData = merge({value: item}, minusDataObj);
160
+ seriesUnit.data[index] = objData;
161
+ }
162
+ }
163
+ })
164
+ }
165
+
166
+ function handleFocus(seriesUnit, iChartOption) {
167
+ if (iChartOption.focus) {
168
+ seriesUnit.emphasis = {
169
+ focus: 'series',
170
+ blurScope: 'global',
171
+ };
172
+ }
173
+ }
174
+
175
+ function handleItemStyle(direction, itemStyle) {
176
+ const seriesInit_ = cloneDeep(seriesInit());
177
+ if (direction && direction === 'horizontal') {
178
+ seriesInit_.itemStyle.borderRadius = [0, chartToken.borderRadius, chartToken.borderRadius, 0];
179
+ }
180
+ if (itemStyle?.barMinHeight) {
181
+ seriesInit_.barMinHeight = itemStyle.barMinHeight;
182
+ }
183
+ if (itemStyle?.barWidth) {
184
+ seriesInit_.barWidth = itemStyle.barWidth;
185
+ }
186
+ if (itemStyle?.barGap) {
187
+ seriesInit_.barGap = itemStyle.barGap;
188
+ }
189
+ if (itemStyle?.color) {
190
+ seriesInit_.itemStyle.color = itemStyle.color;
191
+ }
192
+ merge(seriesInit_.itemStyle, itemStyle);
193
+ return seriesInit_;
194
+ }
195
+
196
+ function handleMarkLine(seriesUnit, iChartOption, direction) {
197
+ const name = seriesUnit.name;
198
+ const markLine = iChartOption.markLine;
199
+ const isTopMarkLine = markLine && markLine.top && !(markLine.topUse && markLine.topUse.indexOf(name) === -1);
200
+ const isBottomMarkLine =
201
+ markLine && markLine.bottom && !(markLine.bottomUse && markLine.bottomUse.indexOf(name) === -1);
202
+ if (isTopMarkLine || isBottomMarkLine) {
203
+ seriesUnit.markLine = getMarkLineDefault(true)
204
+ merge(seriesUnit.markLine, markLine);
205
+ if (markLine.color) seriesUnit.markLine.lineStyle.color = markLine.color
206
+ }
207
+ if (isTopMarkLine) {
208
+ if (direction && direction === 'horizontal') {
209
+ seriesUnit.markLine.data.push({ xAxis: markLine.top });
210
+ } else {
211
+ seriesUnit.markLine.data.push({ yAxis: markLine.top });
212
+ }
213
+ }
214
+ if (isBottomMarkLine) {
215
+ if (direction && direction === 'horizontal') {
216
+ seriesUnit.markLine.data.push({ xAxis: markLine.bottom });
217
+ } else {
218
+ seriesUnit.markLine.data.push({ yAxis: markLine.bottom });
219
+ }
220
+ }
221
+ }
222
+
223
+ function handleBothSides(type, seriesUnit, direction, index, legendData) {
224
+ if (type && (type === 'both-sides' || type === 'double-sides')) {
225
+ seriesUnit.stack = 'stack';
226
+ // 调整堆叠柱子圆角
227
+ if (direction && direction === 'horizontal') {
228
+ if (index === 0) {
229
+ seriesUnit.itemStyle.borderRadius = [0, chartToken.borderRadius, chartToken.borderRadius, 0];
230
+ }
231
+ if (index === legendData.length - 1) {
232
+ seriesUnit.itemStyle.borderRadius = [chartToken.borderRadius, 0, 0, chartToken.borderRadius];
233
+ }
234
+ } else {
235
+ if (index === 0) {
236
+ seriesUnit.itemStyle.borderRadius = [chartToken.borderRadius, chartToken.borderRadius, 0, 0];
237
+ }
238
+ if (index === legendData.length - 1) {
239
+ seriesUnit.itemStyle.borderRadius = [0, 0, chartToken.borderRadius, chartToken.borderRadius];
240
+ }
241
+ }
242
+ }
243
+ }
244
+
245
+
246
+ function setStack(stack, seriesUnit) {
247
+ for (const name in stack) {
248
+ if (Object.hasOwnProperty.call(stack, name)) {
249
+ const stackArray = stack[name];
250
+ const seriesName = seriesUnit.name;
251
+ const stackIndex = stackArray.indexOf(seriesName);
252
+ if (stackIndex === -1) continue;
253
+ seriesUnit.stack = name;
254
+ if (stackIndex + 1 < stackArray.length) {
255
+ delete seriesUnit.itemStyle.borderRadius;
256
+ }
257
+ break;
258
+ }
259
+ }
260
+ }
261
+
262
+
263
+ function handleStack(type, seriesUnit, index, legendData, iChartOption) {
264
+ if (!(type && type === 'stack')) return
265
+ const stack = iChartOption.stack;
266
+ if (stack) {
267
+ setStack(stack, seriesUnit)
268
+ return
269
+ }
270
+ seriesUnit.stack = 'stack';
271
+ if (index !== legendData.length - 1) {
272
+ delete seriesUnit.itemStyle.borderRadius;
273
+ }
274
+ }
275
+
276
+ function percentToDecimal(percentStr) {
277
+ // 移除百分号
278
+ let numberStr = percentStr.replace(/%/, '');
279
+ // 转换为小数
280
+ let decimal = Number(numberStr) / 100;
281
+ return decimal;
282
+ }
283
+
284
+ /**
285
+ * 组装echarts所需要的series
286
+ * @param {图表数据} seriesData
287
+ * @param {图例数据} legendData
288
+ * @param {是否面积图} isArea
289
+ * @param {是否曲线} isSmooth
290
+ * @param {是否阶梯线} isStep
291
+ * @param {阈值线} markLine
292
+ * @param {阈值箭头} markPoint
293
+ * @param {颜色集合} colors
294
+ * @returns
295
+ */
296
+ export function setSeries(seriesData, legendData, iChartOption) {
297
+ // 柱状图类型
298
+ const type = iChartOption.type;
299
+ // 柱状图方向
300
+ const direction = iChartOption.direction;
301
+ // 覆盖用户传入的itemStyle
302
+ const seriesInit_ = handleItemStyle(direction, iChartOption.itemStyle);
303
+ // 拼装series
304
+ const series = [];
305
+
306
+ legendData.forEach((legend, index) => {
307
+ const seriesUnit = cloneDeep(seriesInit_);
308
+ // 数值显示
309
+ handleLabel(seriesUnit, iChartOption, index, direction);
310
+ // 聚焦效果
311
+ handleFocus(seriesUnit, iChartOption);
312
+ // 数据 / 数据名称
313
+ seriesUnit.name = legend;
314
+
315
+
316
+ if (iChartOption.itemStyle && iChartOption.itemStyle.barMinHeight) {
317
+ const barMinHeight = iChartOption.itemStyle.barMinHeight;
318
+ seriesUnit.data = seriesData[legend];
319
+ // 如果有%根据数据最大值来计算最小高度,是数值则按echarts原生属性控制
320
+ if (barMinHeight.toString().indexOf('%') !== -1) {
321
+ let itemMaxData = []
322
+ legendData.forEach((legend) => {
323
+ itemMaxData.push(Math.max.apply(null, seriesData[legend]))
324
+ })
325
+ const MaxData = Math.max.apply(null, itemMaxData)
326
+
327
+ let minNum = MaxData * percentToDecimal(barMinHeight);
328
+ for (let i = 0; i < seriesUnit.data.length; i++) {
329
+ if (!seriesUnit.data[i] == 0) {
330
+ seriesUnit.data[i] = seriesUnit.data[i] < minNum ? minNum : seriesUnit.data[i];
331
+ }
332
+ }
333
+ } else {
334
+ // 如果设置了 barMinHeight,那么就把数据里面的0设置成null
335
+ seriesUnit.data = seriesData[legend].map((item) => {
336
+ return item === 0 ? undefined : item;
337
+ })
338
+ }
339
+ } else {
340
+ seriesUnit.data = seriesData[legend];
341
+ }
342
+ // 阈值线
343
+ handleMarkLine(seriesUnit, iChartOption, direction);
344
+ // 堆叠图
345
+ handleStack(type, seriesUnit, index, legendData, iChartOption);
346
+ // 双向图
347
+ handleBothSides(type, seriesUnit, direction, index, legendData);
348
+ // 数据均为正数的双向图
349
+ handleDoubleSides(type, seriesUnit, index, legendData);
350
+ // 瀑布图
351
+ handleWaterFall(type, seriesUnit);
352
+ // 区间图
353
+ handleRange(type, seriesUnit);
354
+ // 包含图
355
+ handleContain(type, seriesUnit);
356
+ // 处理有负值情况
357
+ handlePlusMinus(seriesUnit, direction);
358
+ series.push(seriesUnit);
359
+ });
360
+ // 配置多个series的y轴index
361
+ handleYaxis(series, iChartOption.yAxis);
362
+ return series;
363
+ }
364
+
365
+ function handleColorStops(percent, originColor, markLineColor) {
366
+ const { colorError } = Token.config.colorState
367
+ const colorStops = [
368
+ {
369
+ offset: 0,
370
+ color: markLineColor ? markLineColor : colorError,
371
+ },
372
+ {
373
+ offset: percent,
374
+ color: markLineColor ? markLineColor : colorError,
375
+ },
376
+ {
377
+ offset: percent + 0.001,
378
+ color: originColor,
379
+ },
380
+ {
381
+ offset: 1,
382
+ color: originColor,
383
+ },
384
+ ];
385
+ return colorStops;
386
+ }
387
+
388
+ function handleTopObj(d, direction, percent, originColor, markLineColor) {
389
+ const topObj = {
390
+ value: d,
391
+ itemStyle: {
392
+ color: {
393
+ type: 'linear',
394
+ x: direction === 'horizontal' ? 1 : 0,
395
+ y: direction === 'horizontal' ? 0 : 0,
396
+ x2: direction === 'horizontal' ? 0 : 0,
397
+ y2: direction === 'horizontal' ? 0 : 1,
398
+ colorStops: handleColorStops(percent, originColor, markLineColor),
399
+ },
400
+ },
401
+ };
402
+ return topObj;
403
+ }
404
+
405
+ function handleBottomObj(d, direction, percent, originColor, markLineColor) {
406
+ const bottomObj = {
407
+ value: d,
408
+ itemStyle: {
409
+ color: {
410
+ type: 'linear',
411
+ x: direction === 'horizontal' ? 0 : 0,
412
+ y: direction === 'horizontal' ? 0 : 1,
413
+ x2: direction === 'horizontal' ? 1 : 0,
414
+ y2: direction === 'horizontal' ? 0 : 0,
415
+ colorStops: handleColorStops(percent, originColor, markLineColor),
416
+ },
417
+ },
418
+ };
419
+ return bottomObj;
420
+ }
421
+
422
+ function getColorStopsOrigin() {
423
+ return [
424
+ { offset: 0, color: Token.config.colorState.colorError },
425
+ { offset: 1, color: Token.config.colorState.colorError },
426
+ ];
427
+ }
428
+
429
+
430
+ function handleColorStopsTop(originColor, bottomPercent) {
431
+ const { colorError } = Token.config.colorState
432
+ const colorStops = [
433
+ { offset: 0, color: originColor },
434
+ { offset: bottomPercent, color: originColor },
435
+ { offset: bottomPercent + 0.0001, color: colorError },
436
+ { offset: 1, color: colorError },
437
+ ];
438
+ return colorStops;
439
+ }
440
+
441
+ function handleColorStopsBottom(originColor, topPercent) {
442
+ const { colorError } = Token.config.colorState
443
+ const colorStops = [
444
+ { offset: 0, color: colorError },
445
+ { offset: topPercent, color: colorError },
446
+ { offset: topPercent + 0.0001, color: originColor },
447
+ { offset: 1, color: originColor },
448
+ ];
449
+ return colorStops;
450
+ }
451
+
452
+ function handleColorStopsOther(originColor, topPercent, bottomPercent) {
453
+ const { colorError } = Token.config.colorState
454
+ const colorStops = [
455
+ { offset: 0, color: colorError },
456
+ { offset: topPercent, color: colorError },
457
+ { offset: topPercent + 0.0001, color: originColor },
458
+ { offset: bottomPercent, color: originColor },
459
+ { offset: bottomPercent + 0.0001, color: colorError },
460
+ { offset: 1, color: colorError },
461
+ ];
462
+ return colorStops;
463
+ }
464
+
465
+ function handleResObj(d, direction, colorStops) {
466
+ const resObj = {
467
+ value: d,
468
+ itemStyle: {
469
+ color: {
470
+ type: 'linear',
471
+ x: direction === 'horizontal' ? 1 : 0,
472
+ y: direction === 'horizontal' ? 0 : 0,
473
+ x2: direction === 'horizontal' ? 0 : 0,
474
+ y2: direction === 'horizontal' ? 0 : 1,
475
+ colorStops,
476
+ },
477
+ },
478
+ };
479
+ return resObj;
480
+ }
481
+
482
+ function handleSeries(iChartOption, baseOption, exclude, colors, direction) {
483
+ // 顶部阈值
484
+ let top = iChartOption.markLine.top;
485
+ // 底部阈值
486
+ let bottom = iChartOption.markLine.bottom;
487
+ const usefullSeries = baseOption.series.filter(item => {
488
+ return exclude.indexOf(item.name) === -1;
489
+ });
490
+ usefullSeries.forEach((item, index) => {
491
+ if (exclude.indexOf(item.name) === -1) {
492
+ const barData = item.data;
493
+ const placeHolderData = baseOption.series[index * 2].data;
494
+ item.data = barData.map((d, i) => {
495
+ const pd = placeHolderData[i];
496
+ if (top === undefined) {
497
+ top = pd + d + 1;
498
+ }
499
+ if (bottom === undefined) {
500
+ bottom = pd - 1;
501
+ }
502
+ const originColor = getColor(colors, index);
503
+ let topPercent = 0;
504
+ let bottomPercent = 1;
505
+ topPercent = (d + pd - top) / d;
506
+ topPercent < 0 && (topPercent = 0);
507
+ topPercent > 1 && (topPercent = 1);
508
+ bottomPercent = (d + pd - bottom) / d;
509
+ bottomPercent < 0 && (bottomPercent = 0);
510
+ bottomPercent > 1 && (bottomPercent = 1);
511
+ let colorStops = [];
512
+ if (topPercent === 1 || bottomPercent === 0) {
513
+ // 纯红
514
+ colorStops = getColorStopsOrigin()
515
+ } else if (topPercent === 0 && bottomPercent === 1) {
516
+ // 原色
517
+ return d;
518
+ } else if (topPercent === 0) {
519
+ colorStops = handleColorStopsTop(originColor, bottomPercent);
520
+ } else if (bottomPercent === 1) {
521
+ colorStops = handleColorStopsBottom(originColor, topPercent);
522
+ } else {
523
+ colorStops = handleColorStopsOther(originColor, topPercent, bottomPercent);
524
+ }
525
+ const resObj = handleResObj(d, direction, colorStops);
526
+ return resObj;
527
+ });
528
+ }
529
+ });
530
+ }
531
+
532
+ // 针对阈值线以上显示红色区域的需求,图表需要进行特殊处理
533
+ export function setMarkLine(baseOption, iChartOption) {
534
+ const type = iChartOption.type;
535
+ const colors = baseOption.color;
536
+ const direction = iChartOption.direction;
537
+ const exclude = ['Placeholder'];
538
+ if (iChartOption.markLine && type !== 'water-fall' && type !== 'range') {
539
+ // 顶部阈值
540
+ const top = iChartOption.markLine.top;
541
+ const topUse = iChartOption.markLine.topUse;
542
+ // 底部阈值
543
+ const bottom = iChartOption.markLine.bottom;
544
+ const bottomUse = iChartOption.markLine.bottomUse;
545
+ // 用户自定义阈值线颜色
546
+ const markLineColor = iChartOption.markLine.color;
547
+ const usefullSeries = baseOption.series.filter(item => {
548
+ return exclude.indexOf(item.name) === -1;
549
+ });
550
+ usefullSeries.forEach((item, index) => {
551
+ if (exclude.indexOf(item.name) === -1) {
552
+ const barData = item.data;
553
+ item.data = barData.map(d => {
554
+ const originColor = getColor(colors, index);
555
+ // 如果该柱形高度超过阈值,侧改变其颜色
556
+ if (top && d >= 0 && top >= 0 && d > top) {
557
+ if (topUse && topUse.indexOf(item.name) === -1) {
558
+ return d;
559
+ }
560
+ const percent = (d - top) / (d - 0);
561
+ const topObj = handleTopObj(d, direction, percent, originColor, markLineColor);
562
+ return topObj;
563
+ // 如果该柱形高度低于阈值,侧改变其颜色
564
+ } else if (bottom && d <= 0 && bottom <= 0 && d < bottom) {
565
+ if (bottomUse && bottomUse.indexOf(item.name) === -1) {
566
+ return d;
567
+ }
568
+ const percent = (bottom - d) / (0 - d);
569
+ const bottomObj = handleBottomObj(d, direction, percent, originColor, markLineColor);
570
+ return bottomObj;
571
+ } else {
572
+ return d;
573
+ }
574
+ });
575
+ }
576
+ });
577
+ }
578
+ //
579
+ if (iChartOption.markLine && type === 'range') {
580
+ handleSeries(iChartOption, baseOption, exclude, colors, direction);
581
+ }
582
+ }
583
+
584
+ function placeFun(index, placeholderData) {
585
+ const a = {
586
+ name: 'Placeholder',
587
+ type: 'bar',
588
+ stack: `stack${index}`,
589
+ itemStyle: {
590
+ borderColor: chartToken.borderColor,
591
+ color: chartToken.color,
592
+ },
593
+ emphasis: {
594
+ itemStyle: {
595
+ borderColor: chartToken.borderColor,
596
+ color: chartToken.color,
597
+ },
598
+ },
599
+ data: placeholderData,
600
+ };
601
+ return a;
602
+ }
603
+
604
+ // 针对区间图表需求,图表需要进行特殊处理
605
+ export function setRange(baseOption, iChartOption) {
606
+ const type = iChartOption.type;
607
+ if (type && type === 'range') {
608
+ const tempArray = [];
609
+ baseOption.series.forEach((item, index) => {
610
+ const barData = item.data;
611
+ const barRealData = [];
612
+ const placeholderData = [];
613
+ const placeholder = placeFun(index, placeholderData);
614
+ barData.forEach(d => {
615
+ placeholderData.push(d[0]);
616
+ barRealData.push(d[1] - d[0]);
617
+ });
618
+ item.stack = `stack${index}`;
619
+ item.data = barRealData;
620
+ tempArray.push(placeholder);
621
+ tempArray.push(item);
622
+ });
623
+ baseOption.series = tempArray;
624
+ }
625
+ }
626
+
627
+ // 针对瀑布图表需求,图表需要进行特殊处理
628
+ export function setWaterFall(baseOption, iChartOption) {
629
+ const type = iChartOption.type;
630
+ const totalName = iChartOption.totalName || 'Total';
631
+ const totalPosition = iChartOption.totalPosition || 'end';
632
+ if (type && type === 'water-fall') {
633
+ const tempArray = [];
634
+ baseOption.series.forEach((item, index) => {
635
+ const barData = item.data;
636
+ const placeholderData = [0];
637
+ const placeholder = placeFun(index, placeholderData);
638
+ if (totalPosition === 'end') {
639
+ barData.forEach((d, i) => {
640
+ if (i < barData.length - 1) {
641
+ placeholderData.push((Number(d) || 0) + placeholderData[i]);
642
+ }
643
+ });
644
+ placeholderData[placeholderData.length - 1] = 0;
645
+ } else {
646
+ barData.unshift(barData.pop());
647
+ placeholderData[0] = barData[0];
648
+ barData.forEach((d, i) => {
649
+ if (i > 0) {
650
+ placeholderData.push(placeholderData[i - 1] - (Number(d) || 0));
651
+ }
652
+ });
653
+ placeholderData[0] = 0;
654
+ }
655
+ item.stack = `stack${index}`;
656
+ tempArray.push(placeholder);
657
+ tempArray.push(item);
658
+ });
659
+ if (totalPosition === 'end') {
660
+ baseOption.xAxis[0].data.push(totalName);
661
+ } else {
662
+ baseOption.xAxis[0].data.unshift(totalName);
663
+ }
664
+ baseOption.series = tempArray;
665
+ }
666
+ }
667
+
668
+ /**
669
+ * 为了实现一些特殊的样式,增加了一些series,如柱状图中的PlaceHolder series
670
+ * 因此在 tooltip 中应该被屏蔽这些series
671
+ * 因此对 tooltip.formatter 进行二次封装
672
+ */
673
+ export function setLimitFormatter(baseOption, iChartOption, seriesData) {
674
+ const type = iChartOption.type;
675
+ const toolTipFormatter = baseOption.tooltip.formatter;
676
+ const exclude = ['Placeholder'];
677
+ const colors = baseOption.color;
678
+ const barMinHeight = iChartOption.itemStyle && iChartOption.itemStyle.barMinHeight;
679
+ baseOption.tooltip.formatter = (params, ticket, callback) => {
680
+ const newParams = params.filter(item => {
681
+ return exclude.indexOf(item.seriesName) === -1;
682
+ });
683
+ // 如果设置了最小高度高度,并按%计算,将newParams值重新校正
684
+ if (barMinHeight && barMinHeight.toString().indexOf('%') !== -1) {
685
+ newParams.forEach((item) => {
686
+ if (iChartOption.data && iChartOption.data[item.dataIndex] && isNumber(iChartOption.data[item.dataIndex][item.seriesName])) {
687
+ item.data = item.value = iChartOption.data[item.dataIndex][item.seriesName]
688
+ }
689
+ })
690
+ }
691
+ if (toolTipFormatter) {
692
+ return toolTipFormatter(newParams, ticket, callback);
693
+ }
694
+ const config = {
695
+ title: '',
696
+ children: []
697
+ }
698
+ newParams.forEach((item, index) => {
699
+ if (index === 0) {
700
+ config.title = item.name
701
+ }
702
+ const itemColor = typeof item.color === 'string' ? item.color : getColor(colors, index);
703
+ const dataVal = type === 'range' ?
704
+ `${`${`[${params[index * 2].value}`}-${params[index * 2].value + item.value}`}]`
705
+ : (item.value || seriesData[item.seriesName][item.dataIndex])
706
+ const dataItem = {
707
+ name: item.seriesName,
708
+ value: dataVal,
709
+ iconColor: itemColor
710
+ }
711
+ config.children.push(dataItem)
712
+ });
713
+ return getTooltipContentHtmlStr(config);
714
+ };
715
+ }
716
+