@ebiz/designer-components 0.0.19-beta.9 → 0.0.20

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