@ebiz/designer-components 0.0.47 → 0.0.48

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