@ebiz/designer-components 0.0.18-beta.10 → 0.0.18-beta.12

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