@ebiz/designer-components 0.0.18-beta.33 → 0.0.18-beta.34

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