@ebiz/designer-components 0.0.18-beta.30 → 0.0.18-beta.31

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