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