@ebiz/designer-components 0.0.18-beta.6 → 0.0.18-beta.7

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