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

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