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

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 (709) hide show
  1. package/README.md +29 -29
  2. package/package.json +40 -40
  3. package/src/App.vue +26 -26
  4. package/src/apiService/SIMPLE_DATA_SERVICE.md +284 -284
  5. package/src/apiService/simpleDataService.js +278 -276
  6. package/src/assets/base.css +86 -86
  7. package/src/assets/logo.svg +1 -1
  8. package/src/assets/styles/charts/main.less +29 -29
  9. package/src/components/Button.vue +103 -102
  10. package/src/components/DataContainer.vue +39 -39
  11. package/src/components/EbizAvatar.vue +116 -0
  12. package/src/components/EbizCheckbox.vue +93 -93
  13. package/src/components/EbizCheckboxGroup.vue +69 -69
  14. package/src/components/EbizDivider.vue +96 -96
  15. package/src/components/EbizEmployeeInfo.vue +139 -0
  16. package/src/components/EbizFileUpload.vue +201 -201
  17. package/src/components/EbizMindmap/README.md +8 -8
  18. package/src/components/EbizMindmap/components/GridNode.vue +102 -102
  19. package/src/components/EbizMindmap/components/node.vue +91 -91
  20. package/src/components/EbizMindmap/components/vueNode.vue +63 -63
  21. package/src/components/EbizMindmap/index.vue +382 -382
  22. package/src/components/EbizOkrTree.vue +99 -99
  23. package/src/components/EbizPagination.vue +162 -162
  24. package/src/components/EbizRadio.vue +86 -86
  25. package/src/components/EbizRadioGroup.vue +83 -83
  26. package/src/components/EbizRemoteSelect.vue +167 -166
  27. package/src/components/EbizRouteBreadcrumb.vue +46 -46
  28. package/src/components/EbizSpace.vue +100 -100
  29. package/src/components/EbizStatistic.vue +149 -149
  30. package/src/components/EbizStatsCard.vue +113 -113
  31. package/src/components/EbizSwiper.vue +113 -113
  32. package/src/components/EbizSwiperItem.vue +13 -13
  33. package/src/components/EbizSwitch.vue +85 -85
  34. package/src/components/EbizTabHeader.vue +145 -149
  35. package/src/components/EbizTabPanel.vue +22 -22
  36. package/src/components/EbizTabs.vue +142 -142
  37. package/src/components/EbizTitle.vue +91 -92
  38. package/src/components/Form.vue +27 -27
  39. package/src/components/Home.vue +7 -7
  40. package/src/components/MyComponent.vue +39 -39
  41. package/src/components/Table.vue +45 -45
  42. package/src/components/TdesignAlert.vue +116 -0
  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/TdesignTimeline.vue +58 -0
  61. package/src/components/TdesignTimelineItem.vue +72 -0
  62. package/src/components/TdesignUpload.vue +788 -788
  63. package/src/components/TdesignWatermark.vue +108 -0
  64. package/src/components/charts/chart.js +47 -47
  65. package/src/components/charts/components/AssembleBubbleChart/BaseOption.js +50 -50
  66. package/src/components/charts/components/AssembleBubbleChart/chartToken.js +16 -16
  67. package/src/components/charts/components/AssembleBubbleChart/handleOption.js +66 -66
  68. package/src/components/charts/components/AssembleBubbleChart/handleRootData.js +165 -165
  69. package/src/components/charts/components/AssembleBubbleChart/handleSeriesData.js +70 -70
  70. package/src/components/charts/components/AssembleBubbleChart/index.js +65 -65
  71. package/src/components/charts/components/AutonaviMapChart/index.js +162 -162
  72. package/src/components/charts/components/BaiduMapChart/index.js +147 -147
  73. package/src/components/charts/components/BarChart/barChartOption.js +75 -75
  74. package/src/components/charts/components/BarChart/chartToken.js +17 -17
  75. package/src/components/charts/components/BarChart/handleOptipn.js +102 -102
  76. package/src/components/charts/components/BarChart/handleSeries.js +716 -716
  77. package/src/components/charts/components/BarChart/handleVisualMap.js +48 -48
  78. package/src/components/charts/components/BarChart/index.js +151 -151
  79. package/src/components/charts/components/BaseChart/index.js +122 -122
  80. package/src/components/charts/components/BoxplotChart/chartToken.js +17 -17
  81. package/src/components/charts/components/BoxplotChart/handleOption.js +64 -64
  82. package/src/components/charts/components/BoxplotChart/handleSeries.js +149 -149
  83. package/src/components/charts/components/BoxplotChart/index.js +47 -47
  84. package/src/components/charts/components/BubbleChart/chartToken.js +17 -17
  85. package/src/components/charts/components/BubbleChart/handleData.js +33 -33
  86. package/src/components/charts/components/BubbleChart/handleOptipn.js +62 -62
  87. package/src/components/charts/components/BubbleChart/handleSeries.js +86 -86
  88. package/src/components/charts/components/BubbleChart/handleTrendLine.js +119 -119
  89. package/src/components/charts/components/BubbleChart/handleVisualMap.js +50 -50
  90. package/src/components/charts/components/BubbleChart/index.js +96 -96
  91. package/src/components/charts/components/BulletChart/bulletChartOption.js +81 -81
  92. package/src/components/charts/components/BulletChart/chartToken.js +17 -17
  93. package/src/components/charts/components/BulletChart/handleOptipn.js +74 -74
  94. package/src/components/charts/components/BulletChart/handleSeries.js +142 -142
  95. package/src/components/charts/components/BulletChart/index.js +93 -93
  96. package/src/components/charts/components/CandlestickChart/BaseOption.js +44 -44
  97. package/src/components/charts/components/CandlestickChart/chartToken.js +17 -17
  98. package/src/components/charts/components/CandlestickChart/hanleOption.js +130 -130
  99. package/src/components/charts/components/CandlestickChart/hanleSeries.js +123 -123
  100. package/src/components/charts/components/CandlestickChart/index.js +68 -68
  101. package/src/components/charts/components/CircleProcessChart/chartToken.js +17 -17
  102. package/src/components/charts/components/CircleProcessChart/handleOption.js +67 -67
  103. package/src/components/charts/components/CircleProcessChart/handleSeries.js +126 -126
  104. package/src/components/charts/components/CircleProcessChart/index.js +63 -63
  105. package/src/components/charts/components/FlowChart/Layout.js +211 -211
  106. package/src/components/charts/components/FlowChart/LineBezier.js +120 -120
  107. package/src/components/charts/components/FlowChart/LineDirect.js +42 -42
  108. package/src/components/charts/components/FlowChart/LineManager.js +278 -278
  109. package/src/components/charts/components/FlowChart/LineMode.js +43 -43
  110. package/src/components/charts/components/FlowChart/LineRound.js +335 -335
  111. package/src/components/charts/components/FlowChart/NodeManager.js +185 -185
  112. package/src/components/charts/components/FlowChart/dagre.js +8829 -8829
  113. package/src/components/charts/components/FlowChart/frameworkFn.js +37 -37
  114. package/src/components/charts/components/FlowChart/index.js +267 -267
  115. package/src/components/charts/components/FlowChart/index.less +90 -90
  116. package/src/components/charts/components/FlowChart/insert.js +40 -40
  117. package/src/components/charts/components/FlowChart/util.js +42 -42
  118. package/src/components/charts/components/FunnelChart/chartToken.js +17 -17
  119. package/src/components/charts/components/FunnelChart/handleLegend.js +44 -44
  120. package/src/components/charts/components/FunnelChart/handleSeries.js +77 -77
  121. package/src/components/charts/components/FunnelChart/index.js +43 -43
  122. package/src/components/charts/components/GanttChart/CoordinateSystem.js +358 -358
  123. package/src/components/charts/components/GanttChart/TimeLine.js +379 -379
  124. package/src/components/charts/components/GanttChart/constant.js +71 -71
  125. package/src/components/charts/components/GanttChart/index.js +51 -51
  126. package/src/components/charts/components/GanttChart/index.less +267 -267
  127. package/src/components/charts/components/GanttChart/util.js +335 -335
  128. package/src/components/charts/components/GaugeChart/BaseOption.js +22 -22
  129. package/src/components/charts/components/GaugeChart/chartToken.js +17 -17
  130. package/src/components/charts/components/GaugeChart/handleOptipn.js +22 -22
  131. package/src/components/charts/components/GaugeChart/handleSeries.js +504 -504
  132. package/src/components/charts/components/GaugeChart/index.js +53 -53
  133. package/src/components/charts/components/GraphChart/index.js +34 -34
  134. package/src/components/charts/components/GraphTreeChart/BaseOption.js +42 -42
  135. package/src/components/charts/components/GraphTreeChart/handleData.js +118 -118
  136. package/src/components/charts/components/GraphTreeChart/handleOption.js +142 -142
  137. package/src/components/charts/components/GraphTreeChart/index.js +65 -65
  138. package/src/components/charts/components/GraphTreeChart/mixTree.js +35 -35
  139. package/src/components/charts/components/GraphTreeChart/utils.js +75 -75
  140. package/src/components/charts/components/HeatMapChart/BaseOption.js +66 -66
  141. package/src/components/charts/components/HeatMapChart/chartToken.js +17 -17
  142. package/src/components/charts/components/HeatMapChart/handleData.js +138 -138
  143. package/src/components/charts/components/HeatMapChart/handleOptipn.js +227 -227
  144. package/src/components/charts/components/HeatMapChart/handleSeries.js +82 -82
  145. package/src/components/charts/components/HeatMapChart/handleVisualMap.js +91 -91
  146. package/src/components/charts/components/HeatMapChart/index.js +70 -70
  147. package/src/components/charts/components/HillChart/baseOption.js +50 -50
  148. package/src/components/charts/components/HillChart/chartToken.js +17 -17
  149. package/src/components/charts/components/HillChart/handleOption.js +193 -193
  150. package/src/components/charts/components/HillChart/handleSeries.js +39 -39
  151. package/src/components/charts/components/HillChart/index.js +96 -96
  152. package/src/components/charts/components/HoneycombChart/NodeManager.js +172 -172
  153. package/src/components/charts/components/HoneycombChart/TipManager.js +74 -74
  154. package/src/components/charts/components/HoneycombChart/index.js +117 -117
  155. package/src/components/charts/components/HoneycombChart/index.less +48 -48
  156. package/src/components/charts/components/JadeJueChart/BaseOption.js +40 -40
  157. package/src/components/charts/components/JadeJueChart/chartToken.js +17 -17
  158. package/src/components/charts/components/JadeJueChart/handleOption.js +261 -261
  159. package/src/components/charts/components/JadeJueChart/handleSeries.js +246 -246
  160. package/src/components/charts/components/JadeJueChart/index.js +71 -71
  161. package/src/components/charts/components/JadeJueChart/labelFormatter.js +130 -130
  162. package/src/components/charts/components/LineChart/AreaChart/bottomArea.js +177 -177
  163. package/src/components/charts/components/LineChart/AreaChart/chartToken.js +17 -17
  164. package/src/components/charts/components/LineChart/AreaChart/index.js +17 -17
  165. package/src/components/charts/components/LineChart/AreaChart/topArea.js +139 -139
  166. package/src/components/charts/components/LineChart/chartToken.js +17 -17
  167. package/src/components/charts/components/LineChart/handleOptipn.js +145 -145
  168. package/src/components/charts/components/LineChart/handlePredict.js +73 -73
  169. package/src/components/charts/components/LineChart/handleSeries.js +266 -266
  170. package/src/components/charts/components/LineChart/handleVisualMap.js +137 -137
  171. package/src/components/charts/components/LineChart/index.js +133 -133
  172. package/src/components/charts/components/LiquidfillChart/chartToken.js +17 -17
  173. package/src/components/charts/components/LiquidfillChart/handleSeries.js +170 -170
  174. package/src/components/charts/components/LiquidfillChart/index.js +42 -42
  175. package/src/components/charts/components/LiquidfillChart/plugSeries.js +78 -78
  176. package/src/components/charts/components/LiquidfillChart/plugShape.js +163 -163
  177. package/src/components/charts/components/LiquidfillChart/plugView.js +537 -537
  178. package/src/components/charts/components/MilestoneChart/Layout.js +183 -183
  179. package/src/components/charts/components/MilestoneChart/Node.js +319 -319
  180. package/src/components/charts/components/MilestoneChart/assets/next.svg +7 -7
  181. package/src/components/charts/components/MilestoneChart/assets/prev.svg +7 -7
  182. package/src/components/charts/components/MilestoneChart/assets/prompt.svg +9 -9
  183. package/src/components/charts/components/MilestoneChart/index.js +108 -108
  184. package/src/components/charts/components/MilestoneChart/index.less +243 -243
  185. package/src/components/charts/components/MilestoneChart/insertDom.js +32 -32
  186. package/src/components/charts/components/MilestoneChart/insertIcon.js +24 -24
  187. package/src/components/charts/components/MilestoneChart/insertSvg.js +108 -108
  188. package/src/components/charts/components/OrganizationChart/NodeManager.js +188 -188
  189. package/src/components/charts/components/OrganizationChart/RotateManager.js +349 -349
  190. package/src/components/charts/components/OrganizationChart/index.js +124 -124
  191. package/src/components/charts/components/OrganizationChart/index.less +111 -111
  192. package/src/components/charts/components/PieChart/chartToken.js +17 -17
  193. package/src/components/charts/components/PieChart/handleLabel.js +94 -94
  194. package/src/components/charts/components/PieChart/handleMulti.js +131 -131
  195. package/src/components/charts/components/PieChart/handleSeries.js +236 -236
  196. package/src/components/charts/components/PieChart/index.js +58 -58
  197. package/src/components/charts/components/PolarBarChart/chartToken.js +17 -17
  198. package/src/components/charts/components/PolarBarChart/handleOption.js +102 -102
  199. package/src/components/charts/components/PolarBarChart/handleSeries.js +127 -127
  200. package/src/components/charts/components/PolarBarChart/index.js +61 -61
  201. package/src/components/charts/components/ProcessChart/BaseOption.js +295 -295
  202. package/src/components/charts/components/ProcessChart/chartToken.js +17 -17
  203. package/src/components/charts/components/ProcessChart/handleData.js +156 -156
  204. package/src/components/charts/components/ProcessChart/handleOption.js +212 -212
  205. package/src/components/charts/components/ProcessChart/handleSeries.js +369 -369
  206. package/src/components/charts/components/ProcessChart/index.js +76 -76
  207. package/src/components/charts/components/RadarChart/BaseOption.js +248 -248
  208. package/src/components/charts/components/RadarChart/GradientRadar/index.js +421 -421
  209. package/src/components/charts/components/RadarChart/chartToken.js +17 -17
  210. package/src/components/charts/components/RadarChart/handleOptipn.js +316 -316
  211. package/src/components/charts/components/RadarChart/handleSeries.js +120 -120
  212. package/src/components/charts/components/RadarChart/index.js +77 -77
  213. package/src/components/charts/components/RegionChart/chartToken.js +17 -17
  214. package/src/components/charts/components/RegionChart/handleOption.js +29 -29
  215. package/src/components/charts/components/RegionChart/index.js +48 -48
  216. package/src/components/charts/components/RiverChart/Belt.js +181 -181
  217. package/src/components/charts/components/RiverChart/Manager.js +173 -173
  218. package/src/components/charts/components/RiverChart/Node.js +425 -425
  219. package/src/components/charts/components/RiverChart/baseOption.js +51 -51
  220. package/src/components/charts/components/RiverChart/index.js +79 -79
  221. package/src/components/charts/components/RiverChart/index.less +41 -41
  222. package/src/components/charts/components/RiverChart/util.js +160 -160
  223. package/src/components/charts/components/SankeyChart/BaseOption.js +74 -74
  224. package/src/components/charts/components/SankeyChart/chartToken.js +17 -17
  225. package/src/components/charts/components/SankeyChart/handleOption.js +257 -257
  226. package/src/components/charts/components/SankeyChart/index.js +111 -111
  227. package/src/components/charts/components/SankeyChart/tooltip.js +52 -52
  228. package/src/components/charts/components/ScatterChart/chartToken.js +17 -17
  229. package/src/components/charts/components/ScatterChart/handleMarkPoint.js +74 -74
  230. package/src/components/charts/components/ScatterChart/handleOptipn.js +66 -66
  231. package/src/components/charts/components/ScatterChart/handleSeries.js +48 -48
  232. package/src/components/charts/components/ScatterChart/index.js +60 -60
  233. package/src/components/charts/components/SnowFlakeChart/BranchManager.js +323 -323
  234. package/src/components/charts/components/SnowFlakeChart/CommonConstant.js +110 -110
  235. package/src/components/charts/components/SnowFlakeChart/LeafManager.js +75 -75
  236. package/src/components/charts/components/SnowFlakeChart/NodeManager.js +239 -239
  237. package/src/components/charts/components/SnowFlakeChart/TagManager.js +79 -79
  238. package/src/components/charts/components/SnowFlakeChart/assets/down.svg +7 -7
  239. package/src/components/charts/components/SnowFlakeChart/assets/image2L.svg +6 -6
  240. package/src/components/charts/components/SnowFlakeChart/assets/image2R.svg +6 -6
  241. package/src/components/charts/components/SnowFlakeChart/assets/image5L.svg +6 -6
  242. package/src/components/charts/components/SnowFlakeChart/assets/image5R.svg +6 -6
  243. package/src/components/charts/components/SnowFlakeChart/assets/outerBorder.svg +24 -24
  244. package/src/components/charts/components/SnowFlakeChart/assets/outerBorderOverAll.svg +18 -18
  245. package/src/components/charts/components/SnowFlakeChart/assets/up.svg +7 -7
  246. package/src/components/charts/components/SnowFlakeChart/assets/wirelessL.svg +6 -6
  247. package/src/components/charts/components/SnowFlakeChart/assets/wirelessR.svg +6 -6
  248. package/src/components/charts/components/SnowFlakeChart/defaultOption.js +284 -284
  249. package/src/components/charts/components/SnowFlakeChart/index.js +407 -407
  250. package/src/components/charts/components/SnowFlakeChart/index.less +502 -502
  251. package/src/components/charts/components/SnowFlakeChart/line/LineArrow.js +61 -61
  252. package/src/components/charts/components/SnowFlakeChart/line/LineDashed.js +28 -28
  253. package/src/components/charts/components/SnowFlakeChart/line/LineDotted.js +28 -28
  254. package/src/components/charts/components/SnowFlakeChart/line/LineStraight.js +27 -27
  255. package/src/components/charts/components/SnowFlakeChart/line/index.js +201 -201
  256. package/src/components/charts/components/SnowFlakeChart/util.js +430 -430
  257. package/src/components/charts/components/SunburstChart/chartToken.js +17 -17
  258. package/src/components/charts/components/SunburstChart/handleSeries.js +48 -48
  259. package/src/components/charts/components/SunburstChart/index.js +40 -40
  260. package/src/components/charts/components/TerraceChart/defaultGradient.js +115 -115
  261. package/src/components/charts/components/TerraceChart/defaultPath.js +29 -29
  262. package/src/components/charts/components/TerraceChart/index.js +276 -276
  263. package/src/components/charts/components/TerraceChart/index.less +170 -170
  264. package/src/components/charts/components/TerraceChart/insert.js +35 -35
  265. package/src/components/charts/components/TerraceChart/loading.js +33 -33
  266. package/src/components/charts/components/TimelineChart/chartToken.js +16 -16
  267. package/src/components/charts/components/TimelineChart/index.js +108 -108
  268. package/src/components/charts/components/TimelineChart/index.less +151 -151
  269. package/src/components/charts/components/TimelineChart/insertDom.js +45 -45
  270. package/src/components/charts/components/TimelineChart/timeline.js +460 -460
  271. package/src/components/charts/components/TreeChart/chartToken.js +17 -17
  272. package/src/components/charts/components/TreeChart/handleOptipn.js +101 -101
  273. package/src/components/charts/components/TreeChart/handleSeries.js +148 -148
  274. package/src/components/charts/components/TreeChart/index.js +50 -50
  275. package/src/components/charts/components/TreeMapChart/handleOptipn.js +57 -57
  276. package/src/components/charts/components/TreeMapChart/handleSeries.js +56 -56
  277. package/src/components/charts/components/TreeMapChart/handleVisualMap.js +31 -31
  278. package/src/components/charts/components/TreeMapChart/index.js +56 -56
  279. package/src/components/charts/components/WaveChart/chartToken.js +17 -17
  280. package/src/components/charts/components/WaveChart/index.js +418 -418
  281. package/src/components/charts/components/WaveChart/index.less +76 -76
  282. package/src/components/charts/components/WaveChart/insert.js +38 -38
  283. package/src/components/charts/components/WaveChart/loading.js +33 -33
  284. package/src/components/charts/components/WordCloudChart/BaseOption.js +19 -19
  285. package/src/components/charts/components/WordCloudChart/chartToken.js +17 -17
  286. package/src/components/charts/components/WordCloudChart/handleOptipn.js +20 -20
  287. package/src/components/charts/components/WordCloudChart/handleSeries.js +106 -106
  288. package/src/components/charts/components/WordCloudChart/index.js +67 -67
  289. package/src/components/charts/core.js +385 -385
  290. package/src/components/charts/feature/adaptive/index.js +45 -45
  291. package/src/components/charts/feature/adaptive/series/AssembleBubbleChart.js +21 -21
  292. package/src/components/charts/feature/adaptive/series/BarChart.js +26 -26
  293. package/src/components/charts/feature/adaptive/series/BoxplotChart.js +25 -25
  294. package/src/components/charts/feature/adaptive/series/BubbleChart.js +25 -25
  295. package/src/components/charts/feature/adaptive/series/BulletChart.js +26 -26
  296. package/src/components/charts/feature/adaptive/series/CircleProcessChart.js +24 -24
  297. package/src/components/charts/feature/adaptive/series/FunnelChart.js +21 -21
  298. package/src/components/charts/feature/adaptive/series/HeatMapChart.js +25 -25
  299. package/src/components/charts/feature/adaptive/series/JadeJueChart.js +23 -23
  300. package/src/components/charts/feature/adaptive/series/LineChart.js +25 -25
  301. package/src/components/charts/feature/adaptive/series/LiquidfillChart.js +25 -25
  302. package/src/components/charts/feature/adaptive/series/PieChart.js +24 -24
  303. package/src/components/charts/feature/adaptive/series/PolarBarChart.js +21 -21
  304. package/src/components/charts/feature/adaptive/series/ScatterChart.js +25 -25
  305. package/src/components/charts/feature/adaptive/series/SunburstChart.js +24 -24
  306. package/src/components/charts/feature/adaptive/utils/axis.js +25 -25
  307. package/src/components/charts/feature/adaptive/utils/label.js +29 -29
  308. package/src/components/charts/feature/adaptive/utils/legend.js +29 -29
  309. package/src/components/charts/feature/adaptive/utils/title.js +29 -29
  310. package/src/components/charts/feature/adaptive/utils/tooltip.js +29 -29
  311. package/src/components/charts/feature/axistip/index.js +116 -116
  312. package/src/components/charts/feature/card/chartToken.js +17 -17
  313. package/src/components/charts/feature/card/index.js +225 -225
  314. package/src/components/charts/feature/card/index.less +166 -166
  315. package/src/components/charts/feature/drag/index.js +353 -353
  316. package/src/components/charts/feature/drag/index.less +53 -53
  317. package/src/components/charts/feature/equalLabel/index.js +62 -62
  318. package/src/components/charts/feature/expandLegend/constants.js +22 -22
  319. package/src/components/charts/feature/expandLegend/index.js +190 -190
  320. package/src/components/charts/feature/expandLegend/index.less +1043 -1043
  321. package/src/components/charts/feature/expandLegend/mutiSelect/constants.js +40 -40
  322. package/src/components/charts/feature/expandLegend/mutiSelect/index.js +157 -157
  323. package/src/components/charts/feature/expandLegend/mutiSelect/item.js +133 -133
  324. package/src/components/charts/feature/expandLegend/mutiSelect/position.js +43 -43
  325. package/src/components/charts/feature/expandLegend/mutiSelect/search.js +79 -79
  326. package/src/components/charts/feature/expandLegend/mutiSelectLegend/constants.js +41 -41
  327. package/src/components/charts/feature/expandLegend/mutiSelectLegend/group.js +111 -111
  328. package/src/components/charts/feature/expandLegend/mutiSelectLegend/index.js +97 -97
  329. package/src/components/charts/feature/expandLegend/mutiSelectLegend/item.js +114 -114
  330. package/src/components/charts/feature/expandLegend/mutiSelectLegend/more.js +100 -100
  331. package/src/components/charts/feature/expandLegend/mutiSelectLegend/paging.js +102 -102
  332. package/src/components/charts/feature/expandLegend/mutiSelectLegend/scroll.js +33 -33
  333. package/src/components/charts/feature/expandLegend/mutiSelectList/constants.js +34 -34
  334. package/src/components/charts/feature/expandLegend/mutiSelectList/index.js +181 -181
  335. package/src/components/charts/feature/expandLegend/mutiSelectList/statisticList.js +145 -145
  336. package/src/components/charts/feature/expandLegend/singleSelect/constants.js +40 -40
  337. package/src/components/charts/feature/expandLegend/singleSelect/index.js +170 -170
  338. package/src/components/charts/feature/expandLegend/singleSelect/item.js +74 -74
  339. package/src/components/charts/feature/expandLegend/singleSelect/position.js +33 -33
  340. package/src/components/charts/feature/expandLegend/singleSelect/search.js +76 -76
  341. package/src/components/charts/feature/expandLegend/singleSelectLegend/constants.js +41 -41
  342. package/src/components/charts/feature/expandLegend/singleSelectLegend/group.js +115 -115
  343. package/src/components/charts/feature/expandLegend/singleSelectLegend/index.js +97 -97
  344. package/src/components/charts/feature/expandLegend/singleSelectLegend/item.js +112 -112
  345. package/src/components/charts/feature/expandLegend/singleSelectLegend/more.js +39 -39
  346. package/src/components/charts/feature/expandLegend/singleSelectLegend/scroll.js +33 -33
  347. package/src/components/charts/feature/expandLegend/tips/constants.js +21 -21
  348. package/src/components/charts/feature/expandLegend/tips/index.js +168 -168
  349. package/src/components/charts/feature/fluctuation/index.js +64 -64
  350. package/src/components/charts/feature/linter/dialog/index.js +111 -111
  351. package/src/components/charts/feature/linter/index.js +130 -130
  352. package/src/components/charts/feature/linter/lints/charts/Bar.js +45 -45
  353. package/src/components/charts/feature/linter/lints/charts/Line.js +30 -30
  354. package/src/components/charts/feature/linter/lints/charts/Pie.js +38 -38
  355. package/src/components/charts/feature/linter/lints/charts/Radar.js +37 -37
  356. package/src/components/charts/feature/linter/lints/charts/index.js +36 -36
  357. package/src/components/charts/feature/linter/lints/modules/angleAxis.js +46 -46
  358. package/src/components/charts/feature/linter/lints/modules/color.js +18 -18
  359. package/src/components/charts/feature/linter/lints/modules/dataZoom.js +51 -51
  360. package/src/components/charts/feature/linter/lints/modules/index.js +63 -63
  361. package/src/components/charts/feature/linter/lints/modules/legend.js +63 -63
  362. package/src/components/charts/feature/linter/lints/modules/radar.js +58 -58
  363. package/src/components/charts/feature/linter/lints/modules/radiusAxis.js +48 -48
  364. package/src/components/charts/feature/linter/lints/modules/title.js +43 -43
  365. package/src/components/charts/feature/linter/lints/modules/tooltip.js +28 -28
  366. package/src/components/charts/feature/linter/lints/modules/util.js +97 -97
  367. package/src/components/charts/feature/linter/lints/modules/xAxis.js +51 -51
  368. package/src/components/charts/feature/linter/lints/modules/yAxis.js +51 -51
  369. package/src/components/charts/feature/mediaScreen/index.js +94 -94
  370. package/src/components/charts/feature/mini/miniBarChart.js +57 -57
  371. package/src/components/charts/feature/mini/miniCircleProcessChart.js +31 -31
  372. package/src/components/charts/feature/mini/miniLineChart.js +57 -57
  373. package/src/components/charts/feature/mini/miniProcessChart.js +63 -63
  374. package/src/components/charts/feature/nodeRender/angular-node.js +99 -99
  375. package/src/components/charts/feature/nodeRender/index.js +30 -30
  376. package/src/components/charts/feature/nodeRender/react-node.js +82 -82
  377. package/src/components/charts/feature/nodeRender/vue-node.js +108 -108
  378. package/src/components/charts/feature/performance/lttb.js +84 -84
  379. package/src/components/charts/feature/readScreen/index.js +18 -18
  380. package/src/components/charts/feature/token/color/bpit/dark.js +67 -67
  381. package/src/components/charts/feature/token/color/bpit/index.js +20 -20
  382. package/src/components/charts/feature/token/color/bpit/light.js +66 -66
  383. package/src/components/charts/feature/token/color/cloud/board-dark.js +260 -260
  384. package/src/components/charts/feature/token/color/cloud/board.js +275 -275
  385. package/src/components/charts/feature/token/color/cloud/dark.js +78 -78
  386. package/src/components/charts/feature/token/color/cloud/index.js +20 -20
  387. package/src/components/charts/feature/token/color/cloud/light.js +77 -77
  388. package/src/components/charts/feature/token/color/hdesign/board.js +204 -204
  389. package/src/components/charts/feature/token/color/hdesign/dark.js +78 -78
  390. package/src/components/charts/feature/token/color/hdesign/index.js +20 -20
  391. package/src/components/charts/feature/token/color/hdesign/light.js +79 -79
  392. package/src/components/charts/feature/token/color/ict/board.js +190 -190
  393. package/src/components/charts/feature/token/color/ict/dark.js +61 -61
  394. package/src/components/charts/feature/token/color/ict/index.js +20 -20
  395. package/src/components/charts/feature/token/color/ict/light.js +62 -62
  396. package/src/components/charts/feature/token/color/index.js +29 -29
  397. package/src/components/charts/feature/token/color/util.js +42 -42
  398. package/src/components/charts/feature/token/factory/chartsToken/AreaChart.js +20 -20
  399. package/src/components/charts/feature/token/factory/chartsToken/AssembleBubbleChart.js +26 -26
  400. package/src/components/charts/feature/token/factory/chartsToken/BarChart.js +27 -27
  401. package/src/components/charts/feature/token/factory/chartsToken/BoxplotChart.js +27 -27
  402. package/src/components/charts/feature/token/factory/chartsToken/BubbleChart.js +22 -22
  403. package/src/components/charts/feature/token/factory/chartsToken/BulletChart.js +23 -23
  404. package/src/components/charts/feature/token/factory/chartsToken/CandlestickChart.js +20 -20
  405. package/src/components/charts/feature/token/factory/chartsToken/ChartCard.js +33 -33
  406. package/src/components/charts/feature/token/factory/chartsToken/CircleProcessChart.js +23 -23
  407. package/src/components/charts/feature/token/factory/chartsToken/FunnelChart.js +26 -26
  408. package/src/components/charts/feature/token/factory/chartsToken/GaugeChart.js +27 -27
  409. package/src/components/charts/feature/token/factory/chartsToken/HeatMapChart.js +21 -21
  410. package/src/components/charts/feature/token/factory/chartsToken/HillChart.js +21 -21
  411. package/src/components/charts/feature/token/factory/chartsToken/JadeJueChart.js +28 -28
  412. package/src/components/charts/feature/token/factory/chartsToken/LineChart.js +36 -36
  413. package/src/components/charts/feature/token/factory/chartsToken/LiquidfillChart.js +22 -22
  414. package/src/components/charts/feature/token/factory/chartsToken/PieChart.js +49 -49
  415. package/src/components/charts/feature/token/factory/chartsToken/PolarBarChart.js +22 -22
  416. package/src/components/charts/feature/token/factory/chartsToken/ProcessChart.js +40 -40
  417. package/src/components/charts/feature/token/factory/chartsToken/RadarChart.js +36 -36
  418. package/src/components/charts/feature/token/factory/chartsToken/RegionChart.js +20 -20
  419. package/src/components/charts/feature/token/factory/chartsToken/SankeyChart.js +22 -22
  420. package/src/components/charts/feature/token/factory/chartsToken/ScatterChart.js +21 -21
  421. package/src/components/charts/feature/token/factory/chartsToken/SunburstChart.js +22 -22
  422. package/src/components/charts/feature/token/factory/chartsToken/TimelineChart.js +21 -21
  423. package/src/components/charts/feature/token/factory/chartsToken/TreeChart.js +21 -21
  424. package/src/components/charts/feature/token/factory/chartsToken/WaveChart.js +23 -23
  425. package/src/components/charts/feature/token/factory/chartsToken/WordCloudChart.js +21 -21
  426. package/src/components/charts/feature/token/factory/chartsToken/index.js +79 -79
  427. package/src/components/charts/feature/token/factory/getAliasToken.js +41 -41
  428. package/src/components/charts/feature/token/factory/getExportColors.js +45 -45
  429. package/src/components/charts/feature/token/factory/getGlobalToken.js +25 -25
  430. package/src/components/charts/feature/token/factory/getModelToken.js +389 -389
  431. package/src/components/charts/feature/token/factory/getSceneToken.js +41 -41
  432. package/src/components/charts/feature/token/factory/globalToken/border.js +21 -21
  433. package/src/components/charts/feature/token/factory/globalToken/borderRadius.js +22 -22
  434. package/src/components/charts/feature/token/factory/globalToken/font.js +26 -26
  435. package/src/components/charts/feature/token/factory/globalToken/index.js +28 -28
  436. package/src/components/charts/feature/token/factory/globalToken/lineType.js +19 -19
  437. package/src/components/charts/feature/token/factory/globalToken/size.js +22 -22
  438. package/src/components/charts/feature/token/factory/globalToken/space.js +25 -25
  439. package/src/components/charts/feature/token/factory/index.js +39 -39
  440. package/src/components/charts/feature/token/factory/mergeToken.js +72 -72
  441. package/src/components/charts/feature/token/index.js +176 -176
  442. package/src/components/charts/feature/token/readme.md +11 -11
  443. package/src/components/charts/feature/token/theme/bpit/index.js +19 -19
  444. package/src/components/charts/feature/token/theme/cloud/getAliasToken.js +247 -247
  445. package/src/components/charts/feature/token/theme/cloud/getSceneToken.js +73 -73
  446. package/src/components/charts/feature/token/theme/cloud/index.js +19 -19
  447. package/src/components/charts/feature/token/theme/hdesign/getAliasToken.js +249 -249
  448. package/src/components/charts/feature/token/theme/hdesign/getSceneToken.js +74 -74
  449. package/src/components/charts/feature/token/theme/hdesign/index.js +19 -19
  450. package/src/components/charts/feature/token/theme/ict/getAliasToken.js +249 -249
  451. package/src/components/charts/feature/token/theme/ict/getSceneToken.js +71 -71
  452. package/src/components/charts/feature/token/theme/ict/index.js +19 -19
  453. package/src/components/charts/feature/wcag/index.js +335 -335
  454. package/src/components/charts/feature/xss/index.js +51 -51
  455. package/src/components/charts/framework/charts/CircleArcChart/index.js +142 -142
  456. package/src/components/charts/framework/charts/CircleChart/index.js +140 -140
  457. package/src/components/charts/framework/charts/CustomizeChart/index.js +166 -166
  458. package/src/components/charts/framework/charts/ForceDirectedChart/index.js +140 -140
  459. package/src/components/charts/framework/charts/ForceDirectedChart/initDom.js +20 -20
  460. package/src/components/charts/framework/charts/ForceDirectedChart/libs/Node.js +148 -148
  461. package/src/components/charts/framework/charts/ForceDirectedChart/libs/center.js +71 -71
  462. package/src/components/charts/framework/charts/ForceDirectedChart/libs/collide.js +151 -151
  463. package/src/components/charts/framework/charts/ForceDirectedChart/libs/constant.js +17 -17
  464. package/src/components/charts/framework/charts/ForceDirectedChart/libs/dispatch.js +95 -95
  465. package/src/components/charts/framework/charts/ForceDirectedChart/libs/index.js +19 -19
  466. package/src/components/charts/framework/charts/ForceDirectedChart/libs/jiggle.js +16 -16
  467. package/src/components/charts/framework/charts/ForceDirectedChart/libs/lcg.js +23 -23
  468. package/src/components/charts/framework/charts/ForceDirectedChart/libs/link.js +128 -128
  469. package/src/components/charts/framework/charts/ForceDirectedChart/libs/manyBody.js +127 -127
  470. package/src/components/charts/framework/charts/ForceDirectedChart/libs/quadtree.js +393 -393
  471. package/src/components/charts/framework/charts/ForceDirectedChart/libs/radial.js +68 -68
  472. package/src/components/charts/framework/charts/ForceDirectedChart/libs/simulation.js +171 -171
  473. package/src/components/charts/framework/charts/ForceDirectedChart/libs/timer.js +121 -121
  474. package/src/components/charts/framework/charts/ForceDirectedChart/libs/x.js +52 -52
  475. package/src/components/charts/framework/charts/ForceDirectedChart/libs/y.js +52 -52
  476. package/src/components/charts/framework/charts/GridChart/index.js +174 -174
  477. package/src/components/charts/framework/charts/LinearArcChart/index.js +143 -143
  478. package/src/components/charts/framework/charts/MindmapChart/index.js +166 -166
  479. package/src/components/charts/framework/charts/MindmapChart/index.less +84 -84
  480. package/src/components/charts/framework/core/Base.js +53 -53
  481. package/src/components/charts/framework/core/Relation.js +77 -77
  482. package/src/components/charts/framework/module/animation/Animate.js +433 -433
  483. package/src/components/charts/framework/module/animation/Animation.js +75 -75
  484. package/src/components/charts/framework/module/animation/AnimationGroup.js +136 -136
  485. package/src/components/charts/framework/module/animation/Easing.js +224 -224
  486. package/src/components/charts/framework/module/animation/Interpolation.js +87 -87
  487. package/src/components/charts/framework/module/animation/index.js +19 -19
  488. package/src/components/charts/framework/module/arrow/Manager.js +132 -132
  489. package/src/components/charts/framework/module/arrow/index.js +96 -96
  490. package/src/components/charts/framework/module/canvas/grid.js +287 -287
  491. package/src/components/charts/framework/module/canvas/index.js +433 -433
  492. package/src/components/charts/framework/module/canvas/index.less +102 -102
  493. package/src/components/charts/framework/module/canvas/initDom.js +66 -66
  494. package/src/components/charts/framework/module/canvas/tool.js +61 -61
  495. package/src/components/charts/framework/module/connector/Manager.js +103 -103
  496. package/src/components/charts/framework/module/connector/index.js +98 -98
  497. package/src/components/charts/framework/module/connector/index.less +36 -36
  498. package/src/components/charts/framework/module/connector/type/dot.js +20 -20
  499. package/src/components/charts/framework/module/connector/type/expand.js +210 -210
  500. package/src/components/charts/framework/module/contextmenu/index.js +149 -149
  501. package/src/components/charts/framework/module/contextmenu/index.less +39 -39
  502. package/src/components/charts/framework/module/data/Manager.js +55 -55
  503. package/src/components/charts/framework/module/legend/Item.js +217 -217
  504. package/src/components/charts/framework/module/legend/constants.js +13 -13
  505. package/src/components/charts/framework/module/legend/getSymbol.js +85 -85
  506. package/src/components/charts/framework/module/legend/index.js +118 -118
  507. package/src/components/charts/framework/module/legend/util.js +80 -80
  508. package/src/components/charts/framework/module/line/Animation.js +124 -124
  509. package/src/components/charts/framework/module/line/Manager.js +299 -299
  510. package/src/components/charts/framework/module/line/Tag.js +60 -60
  511. package/src/components/charts/framework/module/line/bufferRender.js +73 -73
  512. package/src/components/charts/framework/module/line/cross/pathPoints.js +232 -232
  513. package/src/components/charts/framework/module/line/cross/vectorUtil.js +66 -66
  514. package/src/components/charts/framework/module/line/customize.js +28 -28
  515. package/src/components/charts/framework/module/line/index.js +259 -259
  516. package/src/components/charts/framework/module/line/index.less +23 -23
  517. package/src/components/charts/framework/module/line/type/Bezier.js +90 -90
  518. package/src/components/charts/framework/module/line/type/Circle.js +38 -38
  519. package/src/components/charts/framework/module/line/type/Direct.js +23 -23
  520. package/src/components/charts/framework/module/line/type/Ellipse.js +88 -88
  521. package/src/components/charts/framework/module/line/type/Round.js +245 -245
  522. package/src/components/charts/framework/module/lineLayout/CircleShape/calculate.js +70 -70
  523. package/src/components/charts/framework/module/lineLayout/CircleShape/index.js +31 -31
  524. package/src/components/charts/framework/module/lineLayout/CircleShape/init.js +33 -33
  525. package/src/components/charts/framework/module/lineLayout/RectShape/calculate.js +173 -173
  526. package/src/components/charts/framework/module/lineLayout/RectShape/index.js +43 -43
  527. package/src/components/charts/framework/module/lineLayout/RectShape/init.js +78 -78
  528. package/src/components/charts/framework/module/lineLayout/RectShape/sharing.js +56 -56
  529. package/src/components/charts/framework/module/lineLayout/index.js +30 -30
  530. package/src/components/charts/framework/module/node/Manager.js +189 -189
  531. package/src/components/charts/framework/module/node/bufferRender.js +72 -72
  532. package/src/components/charts/framework/module/node/convertData/index.js +23 -23
  533. package/src/components/charts/framework/module/node/convertData/returnSelf.js +15 -15
  534. package/src/components/charts/framework/module/node/convertData/transform.js +23 -23
  535. package/src/components/charts/framework/module/node/convertData/treeToLink.js +35 -35
  536. package/src/components/charts/framework/module/node/index.js +187 -187
  537. package/src/components/charts/framework/module/nodeLayout/circle/excute.js +269 -269
  538. package/src/components/charts/framework/module/nodeLayout/circle/index.js +23 -23
  539. package/src/components/charts/framework/module/nodeLayout/customize/index.js +15 -15
  540. package/src/components/charts/framework/module/nodeLayout/defaults/excute.js +26 -26
  541. package/src/components/charts/framework/module/nodeLayout/defaults/index.js +19 -19
  542. package/src/components/charts/framework/module/nodeLayout/grid/excute.js +391 -391
  543. package/src/components/charts/framework/module/nodeLayout/grid/index.js +19 -19
  544. package/src/components/charts/framework/module/nodeLayout/index.js +26 -26
  545. package/src/components/charts/framework/module/nodeLayout/linearArc/index.js +33 -33
  546. package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/NodeBox.js +165 -165
  547. package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/algorithm.js +261 -261
  548. package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/index.js +277 -277
  549. package/src/components/charts/framework/module/readme.js +126 -126
  550. package/src/components/charts/index.js +65 -65
  551. package/src/components/charts/index.less +28 -28
  552. package/src/components/charts/option/PolarSys/index.js +43 -43
  553. package/src/components/charts/option/RectSys/index.js +58 -58
  554. package/src/components/charts/option/base/index.js +24 -24
  555. package/src/components/charts/option/config/angleAxis/base.js +56 -56
  556. package/src/components/charts/option/config/angleAxis/index.js +43 -43
  557. package/src/components/charts/option/config/animation/index.js +63 -63
  558. package/src/components/charts/option/config/datazoom/base.js +123 -123
  559. package/src/components/charts/option/config/datazoom/index.js +61 -61
  560. package/src/components/charts/option/config/grid/base.js +22 -22
  561. package/src/components/charts/option/config/grid/index.js +32 -32
  562. package/src/components/charts/option/config/legend/base.js +80 -80
  563. package/src/components/charts/option/config/legend/icon.js +21 -21
  564. package/src/components/charts/option/config/legend/index.js +63 -63
  565. package/src/components/charts/option/config/legend/itemStyle.js +16 -16
  566. package/src/components/charts/option/config/legend/ldata.js +29 -29
  567. package/src/components/charts/option/config/legend/pageIcon.js +54 -54
  568. package/src/components/charts/option/config/legend/position.js +18 -18
  569. package/src/components/charts/option/config/legend/size.js +16 -16
  570. package/src/components/charts/option/config/legend/textStyle.js +16 -16
  571. package/src/components/charts/option/config/mark/index.js +73 -73
  572. package/src/components/charts/option/config/polar/base.js +30 -30
  573. package/src/components/charts/option/config/polar/index.js +35 -35
  574. package/src/components/charts/option/config/polarTitle/base.js +40 -40
  575. package/src/components/charts/option/config/polarTitle/index.js +52 -52
  576. package/src/components/charts/option/config/polarTitle/subtextStyle.js +21 -21
  577. package/src/components/charts/option/config/polarTitle/textStyle.js +22 -22
  578. package/src/components/charts/option/config/radiusAxis/base.js +55 -55
  579. package/src/components/charts/option/config/radiusAxis/index.js +41 -41
  580. package/src/components/charts/option/config/rectTitle/base.js +31 -31
  581. package/src/components/charts/option/config/rectTitle/index.js +52 -52
  582. package/src/components/charts/option/config/toolbox/base.js +42 -42
  583. package/src/components/charts/option/config/toolbox/index.js +11 -11
  584. package/src/components/charts/option/config/tooltip/axisPointer.js +31 -31
  585. package/src/components/charts/option/config/tooltip/base.js +62 -62
  586. package/src/components/charts/option/config/tooltip/formatter.js +63 -63
  587. package/src/components/charts/option/config/tooltip/index.js +41 -41
  588. package/src/components/charts/option/config/visualMap/index.js +90 -90
  589. package/src/components/charts/option/config/xAxis/axisLabel.js +35 -35
  590. package/src/components/charts/option/config/xAxis/axisLine.js +29 -29
  591. package/src/components/charts/option/config/xAxis/axisMargin.js +31 -31
  592. package/src/components/charts/option/config/xAxis/base.js +66 -66
  593. package/src/components/charts/option/config/xAxis/boundaryGap.js +17 -17
  594. package/src/components/charts/option/config/xAxis/index.js +52 -52
  595. package/src/components/charts/option/config/xAxis/name.js +18 -18
  596. package/src/components/charts/option/config/xAxis/xdata.js +22 -22
  597. package/src/components/charts/option/config/xAxis/xkey.js +20 -20
  598. package/src/components/charts/option/config/yAxis/axisOptimization.js +31 -31
  599. package/src/components/charts/option/config/yAxis/base.js +59 -59
  600. package/src/components/charts/option/config/yAxis/index.js +68 -68
  601. package/src/components/charts/option/config/yAxis/ydata.js +28 -28
  602. package/src/components/charts/option/init/index.js +204 -204
  603. package/src/components/charts/register.js +178 -178
  604. package/src/components/charts/theme.js +62 -62
  605. package/src/components/charts/util/Sequence.js +21 -21
  606. package/src/components/charts/util/centerDom.js +92 -92
  607. package/src/components/charts/util/cloneDeep.js +29 -29
  608. package/src/components/charts/util/color.js +192 -192
  609. package/src/components/charts/util/constants.js +124 -124
  610. package/src/components/charts/util/convert.js +49 -49
  611. package/src/components/charts/util/debounce.js +23 -23
  612. package/src/components/charts/util/defendXSS.js +81 -81
  613. package/src/components/charts/util/dom.js +89 -89
  614. package/src/components/charts/util/equal.js +62 -62
  615. package/src/components/charts/util/event.js +25 -25
  616. package/src/components/charts/util/hashMap.js +111 -111
  617. package/src/components/charts/util/init/insert.js +164 -164
  618. package/src/components/charts/util/math.js +182 -182
  619. package/src/components/charts/util/merge.js +78 -78
  620. package/src/components/charts/util/paint.js +98 -98
  621. package/src/components/charts/util/sort/max.js +64 -64
  622. package/src/components/charts/util/sort/min.js +64 -64
  623. package/src/components/charts/util/throttle.js +33 -33
  624. package/src/components/charts/util/tips.js +24 -24
  625. package/src/components/charts/util/type.js +45 -45
  626. package/src/components/ebiz-form/components/cascader.vue +61 -61
  627. package/src/components/ebiz-form/components/checkbox.vue +37 -37
  628. package/src/components/ebiz-form/components/city.vue +137 -137
  629. package/src/components/ebiz-form/components/date-panel.vue +52 -52
  630. package/src/components/ebiz-form/components/date-range-panel.vue +52 -52
  631. package/src/components/ebiz-form/components/date-range.vue +56 -56
  632. package/src/components/ebiz-form/components/date.vue +52 -52
  633. package/src/components/ebiz-form/components/editor-multi-language.vue +47 -47
  634. package/src/components/ebiz-form/components/editor.vue +78 -78
  635. package/src/components/ebiz-form/components/file-multi-language.vue +52 -52
  636. package/src/components/ebiz-form/components/file.vue +149 -149
  637. package/src/components/ebiz-form/components/images-multi-language.vue +52 -52
  638. package/src/components/ebiz-form/components/images.vue +129 -129
  639. package/src/components/ebiz-form/components/img-multi-language.vue +51 -51
  640. package/src/components/ebiz-form/components/img.vue +129 -129
  641. package/src/components/ebiz-form/components/number.vue +50 -50
  642. package/src/components/ebiz-form/components/radio.vue +28 -28
  643. package/src/components/ebiz-form/components/select.vue +119 -119
  644. package/src/components/ebiz-form/components/switch.vue +23 -23
  645. package/src/components/ebiz-form/components/text-multi-language.vue +47 -47
  646. package/src/components/ebiz-form/components/text.vue +52 -52
  647. package/src/components/ebiz-form/components/textarea-multi-language.vue +48 -48
  648. package/src/components/ebiz-form/components/textarea.vue +29 -29
  649. package/src/components/ebiz-form/components/video-multi-language.vue +51 -51
  650. package/src/components/ebiz-form/components/video.vue +97 -97
  651. package/src/components/ebiz-form/index.vue +157 -157
  652. package/src/components/icons/IconCommunity.vue +7 -7
  653. package/src/components/icons/IconDocumentation.vue +7 -7
  654. package/src/components/icons/IconEcosystem.vue +7 -7
  655. package/src/components/icons/IconSupport.vue +7 -7
  656. package/src/components/icons/IconTooling.vue +19 -19
  657. package/src/index.js +144 -127
  658. package/src/main.js +57 -57
  659. package/src/router/index.js +238 -208
  660. package/src/utils/formatCode.js +24 -24
  661. package/src/utils/generateImportStatement.js +52 -52
  662. package/src/utils/hasJsx.js +25 -25
  663. package/src/utils/index.js +166 -166
  664. package/src/utils/mergeOptions.js +29 -29
  665. package/src/utils/parseRequiredBlocks.js +18 -18
  666. package/src/utils/upload.ts +126 -126
  667. package/src/utils/vue-sfc-validator.js +155 -155
  668. package/src/views/Button.vue +19 -19
  669. package/src/views/CheckboxDemo.vue +104 -104
  670. package/src/views/DataContainer.vue +19 -19
  671. package/src/views/EbizAvatar.vue +224 -0
  672. package/src/views/EbizEmployeeInfo.vue +250 -0
  673. package/src/views/EbizRadioDemo.vue +151 -151
  674. package/src/views/EbizSpace.vue +185 -185
  675. package/src/views/EbizSwiper.vue +157 -157
  676. package/src/views/Form.vue +19 -19
  677. package/src/views/GridDemo.vue +238 -238
  678. package/src/views/Home.vue +92 -87
  679. package/src/views/Mindmap.vue +19 -19
  680. package/src/views/MyComponent.vue +19 -19
  681. package/src/views/OkrTree.vue +19 -19
  682. package/src/views/PaginationDemo.vue +96 -96
  683. package/src/views/RemoteSelect.vue +19 -19
  684. package/src/views/StatisticDemo.vue +190 -190
  685. package/src/views/SwitchDemo.vue +79 -79
  686. package/src/views/Table.vue +19 -19
  687. package/src/views/TabsDemo.vue +282 -282
  688. package/src/views/TagDemo.vue +101 -101
  689. package/src/views/TdesignAlert.vue +99 -0
  690. package/src/views/TdesignButton.vue +190 -190
  691. package/src/views/TdesignCalendar.vue +94 -94
  692. package/src/views/TdesignCard.vue +296 -296
  693. package/src/views/TdesignCollapse.vue +293 -293
  694. package/src/views/TdesignDatePicker.vue +187 -187
  695. package/src/views/TdesignForm.vue +248 -248
  696. package/src/views/TdesignIcon.vue +203 -203
  697. package/src/views/TdesignImage.vue +215 -215
  698. package/src/views/TdesignImageViewer.vue +198 -198
  699. package/src/views/TdesignInput.vue +252 -252
  700. package/src/views/TdesignSelect.vue +473 -473
  701. package/src/views/TdesignSwiper.vue +157 -157
  702. package/src/views/TextareaDemo.vue +93 -93
  703. package/src/views/TimelineDemo.vue +161 -0
  704. package/src/views/Title.vue +19 -19
  705. package/src/views/UploadDemo.vue +121 -121
  706. package/src/views/WatermarkDemo.vue +86 -0
  707. package/dist/favicon.ico +0 -0
  708. package/dist/index.mjs +0 -85018
  709. package/dist/lowcode-components.css +0 -1
@@ -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
+