@ebiz/designer-components 0.0.46 → 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,461 +1,461 @@
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 { formatDate } from '../../util/convert';
13
- import defendXSS from '../../util/defendXSS';
14
- import Token from '../../feature/token';
15
- import chartToken from './chartToken';
16
-
17
- export default class TimeLine {
18
- constructor(
19
- canvasId,
20
- currentTime,
21
- option
22
- ) {
23
- this.canvas = document.getElementById(canvasId);
24
- this.ctx = this.canvas.getContext('2d');
25
-
26
- // 获取配置项
27
- this.option = option;
28
- // 当前时间
29
- this.currentTime = currentTime;
30
- // 自定义时间轴的背景色
31
- this.canvas.style.background = this.option.background || 'transparent';
32
- // 自定义时间轴刻度线的颜色
33
- this.axisLineColor = (this.option.axisLineStyle && this.option.axisLineStyle.color) || Token.config.xAxisTickLineColor;
34
- // 自定义时间轴文本颜色
35
- this.labelColor = (this.option.labelStyle && this.option.labelStyle.color) || Token.config.xAxisLabelColor;
36
- // 整个时间轴的时间
37
- this.totalHours = null;
38
- // 刻度间隔(分钟)
39
- this.minuteStep = [1, 2, 5, 10, 15, 20, 30, 60, 120, 180, 240, 360, 720, 1440];
40
- // 最小刻度间距20px
41
- this.minScaleSpacing = 20;
42
- // 允许的最小大格长度px值 如果调小 大格会变密集
43
- this.minLargeScaleSpacing = 80;
44
- // 缩放层级
45
- this.zoom = 24;
46
- // 鼠标选中位置
47
- this.selectedPosition = [];
48
- // 弹窗定时器
49
- this.setTipTimeOut = null;
50
- // 初始化时间轴
51
- this.init();
52
-
53
- const _this = this;
54
- this.eventListener = {
55
- mouseup(event) {
56
- _this.clickEvent(event);
57
- _this.hoverMove(event);
58
- },
59
- mousemove(event) {
60
- _this.hoverMove(event);
61
- },
62
- mouseleave(event) {
63
- _this.init();
64
- document.getElementsByClassName('timeline_hoverPointer')[0].style.display = 'none';
65
- document.getElementsByClassName('timeline_hoverTooltip')[0].style.display = 'none';
66
- }
67
- };
68
- this.canvas.addEventListener('mousemove', this.eventListener.mousemove);
69
- this.canvas.addEventListener('mouseup', this.eventListener.mouseup);
70
- this.canvas.addEventListener('mouseleave', this.eventListener.mouseleave);
71
- }
72
-
73
- init() {
74
- // 更新初始时间戳
75
- this.refreshStartTimestamp();
76
- // 清空画布
77
- this.clearCanvas();
78
- // 画刻度
79
- this.drawScale();
80
- // 画当前时间游标
81
- this.option.currentTime && this.drawCursor(this.option.currentTime);
82
- // 画warning事件
83
- this.option.alarmData && this.drawAlarm(this.option);
84
- // 画状态区间背景
85
- this.drawRoundRect(20, this.canvas.height - 40, this.canvas.width - 40, 8, [4, 4, 4, 4]);
86
- // 画状态区间
87
- this.option.statusRangeData && this.drawStatusRange(this.option);
88
- }
89
-
90
- // 更新初始时间戳
91
- refreshStartTimestamp() {
92
- if (this.option.timeRange !== undefined) {
93
- this.totalHours = (this.option.timeRange.endTime - this.option.timeRange.startTime) / (60 * 60 * 1000)
94
- }
95
- // 当currentTime改变或者整个时间轴的totalHours改变的时候 就刷新左边开始时间
96
- this.startTimestamp = this.option.timeRange && this.option.timeRange.startTime || this.currentTime - (this.totalHours * 60 * 60 * 1000);
97
- }
98
-
99
- // 清空画布
100
- clearCanvas() {
101
- this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
102
- }
103
-
104
- // 画刻度
105
- drawScale() {
106
- // px/分钟
107
- let oneMinutePx = (this.canvas.width - 40) / (this.totalHours * 60);
108
- // px/毫秒
109
- let oneMSPx = oneMinutePx / (60 * 1000);
110
- // 刻度间隔 默认20px
111
- let scaleSpacing = this.minScaleSpacing;
112
- // 每格代表多少分钟
113
- let scaleUnit = scaleSpacing / oneMinutePx;
114
-
115
- let len = this.minuteStep.length;
116
- // 配置项刻度间隔
117
- if (this.option.interval !== undefined) {
118
- scaleUnit = this.option.interval;
119
- scaleSpacing = oneMinutePx * scaleUnit;
120
- }
121
- // 自动根据画布长度选择合适的刻度间隔
122
- else {
123
- for (let i = 0; i < len; i++) {
124
- if (scaleUnit < this.minuteStep[i]) {
125
- scaleUnit = this.minuteStep[i];
126
- scaleSpacing = oneMinutePx * scaleUnit;
127
- break;
128
- }
129
- }
130
- }
131
-
132
- // 大刻度相当于多少分钟
133
- let mediumStep = 30;
134
- if (this.option.mediumStep !== undefined) {
135
- mediumStep = this.option.mediumStep;
136
- }
137
- else {
138
- for (let i = 0; i < len; i++) {
139
- if (this.minLargeScaleSpacing / oneMinutePx <= this.minuteStep[i]) {
140
- mediumStep = this.minuteStep[i];
141
- break;
142
- }
143
- }
144
- }
145
-
146
- let totalScales = (this.canvas.width - 40) / scaleSpacing;
147
- // 某个刻度距离最左端的距离
148
- let scaleLeft = 0;
149
- // 某个刻度的时间
150
- let scaleTime = this.startTimestamp;
151
- let lineHeight;
152
- let leftOffsetMs = scaleUnit * 60 * 1000 - (this.startTimestamp % (scaleUnit * 60 * 1000));
153
- // 开始时间偏移距离(px)
154
- let leftOffsetPx = leftOffsetMs * oneMSPx;
155
- // 一刻度多少毫秒
156
- let oneScalesMS = scaleSpacing / oneMSPx;
157
- let scaleLineHeight = this.canvas.height - 30;
158
-
159
- // 画刻度线和标签
160
- for (let i = 0; i < totalScales + 1; i++) {
161
- let date = new Date(scaleTime);
162
- if ((scaleTime / (60 * 1000)) % mediumStep === 0) {
163
- // 大格刻度标签长度
164
- lineHeight = 6;
165
- let scaleText = this.createScaleText(date);
166
- this.ctx.font = 'normal 12px HarmonyOS_Sans';
167
- // 文字颜色
168
- this.ctx.fillStyle = this.labelColor;
169
- this.ctx.fillText(scaleText, scaleLeft + 20 - this.ctx.measureText(scaleText).width / 2, this.canvas.height - 4);
170
- } else {
171
- // 小格刻度标签长度
172
- lineHeight = 3;
173
- }
174
- this.ctx.beginPath();
175
- this.ctx.moveTo(scaleLeft + 20, scaleLineHeight);
176
- this.ctx.lineTo(scaleLeft + 20, scaleLineHeight + lineHeight);
177
- this.ctx.closePath();
178
- this.ctx.lineWidth = 1;
179
- // 刻度线颜色
180
- this.ctx.strokeStyle = this.axisLineColor;
181
- this.ctx.stroke();
182
- // 距离 = 开始偏移距离 + 格数 * 每格得px;
183
- scaleLeft = leftOffsetPx + i * scaleSpacing;
184
- // 时间 = 左侧开始时间 + 偏移时间 + 格数 * 一格多少毫秒
185
- scaleTime = this.startTimestamp + leftOffsetMs + i * oneScalesMS;
186
- }
187
- }
188
-
189
- // 画当前时间游标
190
- drawCursor(currentTime) {
191
- this.selectedPosition.push(this.getTimePos(currentTime), formatDate(currentTime, 'hh:mm'));
192
- this.drawSelectedPointer(this.selectedPosition);
193
- }
194
-
195
- // 叠加warning事件圆点
196
- drawAlarm(option) {
197
- const alarmData = option.alarmData;
198
- const background = option.customBackground;
199
- for (let i = 0; i < alarmData.length; i++) {
200
- let x = this.getTimePos(alarmData[i].time);
201
- let type = alarmData[i].type;
202
- this.ctx.beginPath();
203
- this.ctx.arc(x, this.canvas.height - 60, 7, 0, 2 * Math.PI);
204
- this.ctx.closePath();
205
- this.ctx.fillStyle = background[type] || Token.config.colorState.colorNone;
206
- this.ctx.fill();
207
- }
208
- }
209
-
210
- // 叠加状态区间
211
- drawStatusRange(option) {
212
- const statusRangeData = option.statusRangeData;
213
- const timeRange = option.timeRange;
214
- const background = option.customBackground;
215
- for (let i = 0; i < statusRangeData.length; i++) {
216
- let startPosition = this.getTimePos(statusRangeData[i].time[0]);
217
- let endPosition = this.getTimePos(statusRangeData[i].time[1]);
218
- let type = statusRangeData[i].type;
219
- this.ctx.beginPath();
220
- if (statusRangeData[i].time[0] === timeRange.startTime && statusRangeData[i].time[1] === timeRange.endTime) {
221
- this.roundRect(startPosition, this.canvas.height - 40, endPosition - startPosition, 8, [4, 4, 4, 4])
222
- } else if (statusRangeData[i].time[0] === timeRange.startTime) {
223
- this.roundRect(startPosition, this.canvas.height - 40, endPosition - startPosition, 8, [4, 0, 0, 4]);
224
- } else if (statusRangeData[i].time[1] === timeRange.endTime) {
225
- this.roundRect(startPosition, this.canvas.height - 40, endPosition - startPosition, 8, [0, 4, 4, 0]);
226
- } else {
227
- this.ctx.rect(startPosition, this.canvas.height - 40, endPosition - startPosition, 8);
228
- }
229
- this.ctx.closePath();
230
- this.ctx.fillStyle = background[type] || Token.config.colorState.colorNone;
231
- this.ctx.fill();
232
- }
233
- }
234
-
235
- // 绘制状态区间背景的圆角矩形
236
- drawRoundRect(x, y, width, height, radius) {
237
- this.ctx.beginPath();
238
- this.roundRect(x, y, width, height, radius);
239
- this.ctx.closePath();
240
- this.ctx.fillStyle = chartToken.roundRectBg;
241
- this.ctx.fill();
242
- }
243
-
244
- roundRect(x, y, width, height, radiusArray) {
245
- // 左上角
246
- this.ctx.moveTo(x + radiusArray[0], y);
247
- this.ctx.lineTo(x + width - radiusArray[1], y);
248
- this.ctx.arcTo(x + width, y, x + width, y + radiusArray[1], radiusArray[1]);
249
- // 右上角
250
- this.ctx.lineTo(x + width, y + height - radiusArray[2]);
251
- this.ctx.arcTo(x + width, y + height, x + width - radiusArray[2], y + height, radiusArray[2]);
252
- // 右下角
253
- this.ctx.lineTo(x + radiusArray[3], y + height);
254
- this.ctx.arcTo(x, y + height, x, y + height - radiusArray[3], radiusArray[3]);
255
- // 左下角
256
- this.ctx.lineTo(x, y + radiusArray[0]);
257
- this.ctx.arcTo(x, y, x + radiusArray[0], y, radiusArray[0]);
258
- }
259
-
260
- // 鼠标悬浮事件
261
- hoverMove(event) {
262
- const mouseX = this.getMouseXRelativePos(event);
263
- const hoverPointer = document.getElementsByClassName('timeline_hoverPointer')[0];
264
- const hoverTooltip = document.getElementsByClassName('timeline_hoverTooltip')[0];
265
- const hoverTime = this.getMousePosTime(event);
266
- if (mouseX > 0 && mouseX < this.canvas.width - 40) {
267
- this.showElement(hoverPointer);
268
- // 开启悬浮指针的时间悬浮框
269
- if (this.option.timeTooltip === true) {
270
- this.showElement(hoverTooltip);
271
- hoverTooltip.innerHTML = `<p>${formatDate(hoverTime, 'yy-MM-dd hh:mm')}</p>`;
272
- if (mouseX + 142 > this.canvas.width - 40) {
273
- hoverTooltip.style.left = mouseX - 1 + 20 - 142 + 'px';
274
- }
275
- else {
276
- hoverTooltip.style.left = mouseX - 1 + 30 + 'px';
277
- }
278
- hoverTooltip.style.top = this.canvas.height - 30 + 'px';
279
- }
280
- hoverPointer.style.left = mouseX - 1 + 20 + 'px';
281
- hoverPointer.style.top = this.canvas.height - 30 + 'px';
282
- } else {
283
- this.hideElement(hoverPointer);
284
- this.hideElement(hoverTooltip);
285
- }
286
- this.setAlarmTip(event, mouseX);
287
- }
288
-
289
- // 设置Alarm点的tip
290
- setAlarmTip(event, mouseX) {
291
- const mouseY = this.getMouseYRelativePos(event);
292
- const alarmTooltip = document.getElementsByClassName('timeline_alarmTooltip')[0];
293
- // 清除定时
294
- alarmTooltip.addEventListener('mouseenter', (e) => {
295
- if (this.setTipTimeOut) { clearTimeout(this.setTipTimeOut); }
296
- });
297
- // 移出悬浮框关闭
298
- alarmTooltip.addEventListener('mouseleave', (e) => {
299
- this.closeAlarmTip(alarmTooltip);
300
- });
301
- const alarmData = this.option.alarmData;
302
- if (alarmData) {
303
- this.processAlarmData(alarmData, mouseX, mouseY, alarmTooltip);
304
- }
305
- }
306
-
307
- closeAlarmTip(alarmTooltip) {
308
- // 增加延时
309
- this.setTipTimeOut = setTimeout(() => {
310
- this.hideElement(alarmTooltip);
311
- }, 200);
312
- }
313
-
314
- processAlarmData(alarmData, mouseX, mouseY, alarmTooltip) {
315
- for (const data of alarmData) {
316
- const x = this.getTimePos(data.time);
317
- if (this.isMouseInCircle(mouseX + 20, mouseY, x, this.canvas.height - 60)) {
318
- if (this.setTipTimeOut) { clearTimeout(this.setTipTimeOut); }
319
- this.showElement(alarmTooltip);
320
- this.option.onCircleHover(alarmTooltip, data);
321
- if ((x - (alarmTooltip.offsetWidth) / 2) < 0) {
322
- alarmTooltip.style.left = '0px'
323
- } else if ((x - (alarmTooltip.offsetWidth) / 2) > (this.canvas.width - alarmTooltip.offsetWidth - 40)) {
324
- alarmTooltip.style.left = this.canvas.width - (alarmTooltip.offsetWidth) + 'px'
325
- } else {
326
- alarmTooltip.style.left = x - (alarmTooltip.offsetWidth / 2) + 'px';
327
- }
328
- alarmTooltip.style.top = this.canvas.height - 80 - (alarmTooltip.clientHeight) + 'px';
329
- return;
330
- }
331
- // 移出圆点清除悬浮框
332
- if (this.setTipTimeOut) { clearTimeout(this.setTipTimeOut); }
333
- this.closeAlarmTip(alarmTooltip);
334
- }
335
- }
336
-
337
- // 判断鼠标是否在圆点内
338
- isMouseInCircle(mouseX, mouseY, x, y) {
339
- let distance = Math.sqrt((mouseX - x) ** 2 + (mouseY - y) ** 2);
340
- return distance <= 8;
341
- }
342
-
343
- // 鼠标点击事件
344
- clickEvent(event) {
345
- // 进入选中状态
346
- this.isSelected = true;
347
- const mouseX = this.getMouseXRelativePos(event);
348
- const time = this.getMousePosTime(event);
349
- // 选中时间
350
- const seletedTime = time.getTime();
351
- // 当前北京时间
352
- const currentTime = new Date().getTime();
353
- // 选中时间小于当前时间以及大于开始时间,不可选中未来时间
354
- if (seletedTime <= currentTime && seletedTime >= this.option.timeRange.startTime ) {
355
- this.option.onClick && this.option.onClick(time.getTime());
356
- // 如果有点击时间,将时间赋值给配置项的当前时间
357
- // this.option.currentTime = time;
358
- this.selectedPosition.splice(0, this.selectedPosition.length);
359
- this.selectedPosition.push(mouseX + 20, formatDate(time, 'hh:mm'));
360
- const selectedPointer = document.getElementsByClassName('timeline_selectedPointer')[0];
361
- const selectedTooltip = document.getElementsByClassName('timeline_selectedTooltip')[0];
362
- const selectedCircle = document.getElementsByClassName('timeline_selectedCircle')[0];
363
- if (mouseX > 0 && mouseX < (this.canvas.width - 40)) {
364
- this.drawSelectedPointer(this.selectedPosition);
365
- } else {
366
- this.hideElement(selectedPointer);
367
- this.hideElement(selectedTooltip);
368
- this.hideElement(selectedCircle);
369
- }
370
- }
371
- }
372
-
373
- // 画选中状态的游标
374
- drawSelectedPointer(selectedPosition) {
375
-
376
- const selectedPointer = document.getElementsByClassName('timeline_selectedPointer')[0];
377
- const selectedTooltip = document.getElementsByClassName('timeline_selectedTooltip')[0];
378
- const selectedCircle = document.getElementsByClassName('timeline_selectedCircle')[0];
379
-
380
- selectedPointer.style.left = selectedPosition[0] - 1 + 'px';
381
- selectedPointer.style.top = this.canvas.height - 42 + 'px';
382
- this.showElement(selectedPointer);
383
-
384
- selectedTooltip.innerHTML = `<p>${defendXSS(selectedPosition[1])}</p>`;
385
- selectedTooltip.style.left = selectedPosition[0] - 20 + 'px';
386
- selectedTooltip.style.top = this.canvas.height - 16 + 'px';
387
- this.showElement(selectedTooltip);
388
-
389
- selectedCircle.style.left = selectedPosition[0] - 4 + 'px';
390
- selectedCircle.style.top = this.canvas.height - 50 + 'px';
391
- this.showElement(selectedCircle);
392
- }
393
-
394
- // 设置长短刻度标签文字
395
- createScaleText(time) {
396
- if (time.getTime() === this.option.timeRange.startTime) {
397
- return formatDate(time, '00:00');
398
- } else if (time.getTime() === this.option.timeRange.endTime && (this.option.timeRange.endTime - this.option.timeRange.startTime) % (24 * 60 * 60 * 1000) === 0) {
399
- return formatDate(time, '24:00');
400
- }
401
- return formatDate(time, 'hh:mm');
402
- }
403
-
404
- // 获取鼠标相对于canvas元素左侧20px的相对位置
405
- getMouseXRelativePos(event) {
406
- let scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
407
- let x = event.pageX || event.clientX + scrollX;
408
- // canvas元素距离窗口左侧距离
409
- let baseLeft = this.canvas.getBoundingClientRect().x;
410
- return x - baseLeft - 20;
411
- }
412
-
413
- // 获取鼠标相对于canvas元素上侧的相对位置
414
- getMouseYRelativePos(event) {
415
- let scrollY = document.documentElement.scrollTop || document.body.scrollTop;
416
- let y = event.pageY || event.clientY + scrollY;
417
- // canvas元素距离窗口左侧距离
418
- let baseTop = this.canvas.getBoundingClientRect().y;
419
- return y - baseTop;
420
- }
421
-
422
- // 根据画布的宽度和时间计算出鼠标所在的时间点
423
- getMousePosTime(event) {
424
- let posX = this.getMouseXRelativePos(event);
425
- // 每毫秒多少像素
426
- let onePxsMS = (this.canvas.width - 40) / (this.totalHours * 60 * 60 * 1000);
427
- let time = new Date(this.startTimestamp + posX / onePxsMS);
428
- return time;
429
- }
430
-
431
- // 根据时间点计算所在点距离canvas左侧20px的相对位置
432
- getTimePos(time) {
433
- // 每毫秒多少像素
434
- let onePxsMS = (this.canvas.width - 40) / (this.totalHours * 60 * 60 * 1000);
435
- let posX = (time - this.startTimestamp) * onePxsMS + 20;
436
- return posX;
437
- }
438
-
439
- // 显示元素
440
- showElement = (element) => {
441
- element.style.display = 'block';
442
- };
443
-
444
- hideElement = (element) => {
445
- element.style.display = 'none';
446
- };
447
-
448
- // 设置当前时间
449
- setCurrentTime(time) {
450
- let newTime;
451
- if (typeof time === 'string') {
452
- newTime = new Date(time).getTime();
453
- } else if (typeof time === 'object') {
454
- newTime = time.getTime && time.getTime();
455
- } else if (typeof time === 'number') {
456
- newTime = time;
457
- }
458
- this.currentTime = newTime;
459
- this.init();
460
- }
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 { formatDate } from '../../util/convert';
13
+ import defendXSS from '../../util/defendXSS';
14
+ import Token from '../../feature/token';
15
+ import chartToken from './chartToken';
16
+
17
+ export default class TimeLine {
18
+ constructor(
19
+ canvasId,
20
+ currentTime,
21
+ option
22
+ ) {
23
+ this.canvas = document.getElementById(canvasId);
24
+ this.ctx = this.canvas.getContext('2d');
25
+
26
+ // 获取配置项
27
+ this.option = option;
28
+ // 当前时间
29
+ this.currentTime = currentTime;
30
+ // 自定义时间轴的背景色
31
+ this.canvas.style.background = this.option.background || 'transparent';
32
+ // 自定义时间轴刻度线的颜色
33
+ this.axisLineColor = (this.option.axisLineStyle && this.option.axisLineStyle.color) || Token.config.xAxisTickLineColor;
34
+ // 自定义时间轴文本颜色
35
+ this.labelColor = (this.option.labelStyle && this.option.labelStyle.color) || Token.config.xAxisLabelColor;
36
+ // 整个时间轴的时间
37
+ this.totalHours = null;
38
+ // 刻度间隔(分钟)
39
+ this.minuteStep = [1, 2, 5, 10, 15, 20, 30, 60, 120, 180, 240, 360, 720, 1440];
40
+ // 最小刻度间距20px
41
+ this.minScaleSpacing = 20;
42
+ // 允许的最小大格长度px值 如果调小 大格会变密集
43
+ this.minLargeScaleSpacing = 80;
44
+ // 缩放层级
45
+ this.zoom = 24;
46
+ // 鼠标选中位置
47
+ this.selectedPosition = [];
48
+ // 弹窗定时器
49
+ this.setTipTimeOut = null;
50
+ // 初始化时间轴
51
+ this.init();
52
+
53
+ const _this = this;
54
+ this.eventListener = {
55
+ mouseup(event) {
56
+ _this.clickEvent(event);
57
+ _this.hoverMove(event);
58
+ },
59
+ mousemove(event) {
60
+ _this.hoverMove(event);
61
+ },
62
+ mouseleave(event) {
63
+ _this.init();
64
+ document.getElementsByClassName('timeline_hoverPointer')[0].style.display = 'none';
65
+ document.getElementsByClassName('timeline_hoverTooltip')[0].style.display = 'none';
66
+ }
67
+ };
68
+ this.canvas.addEventListener('mousemove', this.eventListener.mousemove);
69
+ this.canvas.addEventListener('mouseup', this.eventListener.mouseup);
70
+ this.canvas.addEventListener('mouseleave', this.eventListener.mouseleave);
71
+ }
72
+
73
+ init() {
74
+ // 更新初始时间戳
75
+ this.refreshStartTimestamp();
76
+ // 清空画布
77
+ this.clearCanvas();
78
+ // 画刻度
79
+ this.drawScale();
80
+ // 画当前时间游标
81
+ this.option.currentTime && this.drawCursor(this.option.currentTime);
82
+ // 画warning事件
83
+ this.option.alarmData && this.drawAlarm(this.option);
84
+ // 画状态区间背景
85
+ this.drawRoundRect(20, this.canvas.height - 40, this.canvas.width - 40, 8, [4, 4, 4, 4]);
86
+ // 画状态区间
87
+ this.option.statusRangeData && this.drawStatusRange(this.option);
88
+ }
89
+
90
+ // 更新初始时间戳
91
+ refreshStartTimestamp() {
92
+ if (this.option.timeRange !== undefined) {
93
+ this.totalHours = (this.option.timeRange.endTime - this.option.timeRange.startTime) / (60 * 60 * 1000)
94
+ }
95
+ // 当currentTime改变或者整个时间轴的totalHours改变的时候 就刷新左边开始时间
96
+ this.startTimestamp = this.option.timeRange && this.option.timeRange.startTime || this.currentTime - (this.totalHours * 60 * 60 * 1000);
97
+ }
98
+
99
+ // 清空画布
100
+ clearCanvas() {
101
+ this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
102
+ }
103
+
104
+ // 画刻度
105
+ drawScale() {
106
+ // px/分钟
107
+ let oneMinutePx = (this.canvas.width - 40) / (this.totalHours * 60);
108
+ // px/毫秒
109
+ let oneMSPx = oneMinutePx / (60 * 1000);
110
+ // 刻度间隔 默认20px
111
+ let scaleSpacing = this.minScaleSpacing;
112
+ // 每格代表多少分钟
113
+ let scaleUnit = scaleSpacing / oneMinutePx;
114
+
115
+ let len = this.minuteStep.length;
116
+ // 配置项刻度间隔
117
+ if (this.option.interval !== undefined) {
118
+ scaleUnit = this.option.interval;
119
+ scaleSpacing = oneMinutePx * scaleUnit;
120
+ }
121
+ // 自动根据画布长度选择合适的刻度间隔
122
+ else {
123
+ for (let i = 0; i < len; i++) {
124
+ if (scaleUnit < this.minuteStep[i]) {
125
+ scaleUnit = this.minuteStep[i];
126
+ scaleSpacing = oneMinutePx * scaleUnit;
127
+ break;
128
+ }
129
+ }
130
+ }
131
+
132
+ // 大刻度相当于多少分钟
133
+ let mediumStep = 30;
134
+ if (this.option.mediumStep !== undefined) {
135
+ mediumStep = this.option.mediumStep;
136
+ }
137
+ else {
138
+ for (let i = 0; i < len; i++) {
139
+ if (this.minLargeScaleSpacing / oneMinutePx <= this.minuteStep[i]) {
140
+ mediumStep = this.minuteStep[i];
141
+ break;
142
+ }
143
+ }
144
+ }
145
+
146
+ let totalScales = (this.canvas.width - 40) / scaleSpacing;
147
+ // 某个刻度距离最左端的距离
148
+ let scaleLeft = 0;
149
+ // 某个刻度的时间
150
+ let scaleTime = this.startTimestamp;
151
+ let lineHeight;
152
+ let leftOffsetMs = scaleUnit * 60 * 1000 - (this.startTimestamp % (scaleUnit * 60 * 1000));
153
+ // 开始时间偏移距离(px)
154
+ let leftOffsetPx = leftOffsetMs * oneMSPx;
155
+ // 一刻度多少毫秒
156
+ let oneScalesMS = scaleSpacing / oneMSPx;
157
+ let scaleLineHeight = this.canvas.height - 30;
158
+
159
+ // 画刻度线和标签
160
+ for (let i = 0; i < totalScales + 1; i++) {
161
+ let date = new Date(scaleTime);
162
+ if ((scaleTime / (60 * 1000)) % mediumStep === 0) {
163
+ // 大格刻度标签长度
164
+ lineHeight = 6;
165
+ let scaleText = this.createScaleText(date);
166
+ this.ctx.font = 'normal 12px HarmonyOS_Sans';
167
+ // 文字颜色
168
+ this.ctx.fillStyle = this.labelColor;
169
+ this.ctx.fillText(scaleText, scaleLeft + 20 - this.ctx.measureText(scaleText).width / 2, this.canvas.height - 4);
170
+ } else {
171
+ // 小格刻度标签长度
172
+ lineHeight = 3;
173
+ }
174
+ this.ctx.beginPath();
175
+ this.ctx.moveTo(scaleLeft + 20, scaleLineHeight);
176
+ this.ctx.lineTo(scaleLeft + 20, scaleLineHeight + lineHeight);
177
+ this.ctx.closePath();
178
+ this.ctx.lineWidth = 1;
179
+ // 刻度线颜色
180
+ this.ctx.strokeStyle = this.axisLineColor;
181
+ this.ctx.stroke();
182
+ // 距离 = 开始偏移距离 + 格数 * 每格得px;
183
+ scaleLeft = leftOffsetPx + i * scaleSpacing;
184
+ // 时间 = 左侧开始时间 + 偏移时间 + 格数 * 一格多少毫秒
185
+ scaleTime = this.startTimestamp + leftOffsetMs + i * oneScalesMS;
186
+ }
187
+ }
188
+
189
+ // 画当前时间游标
190
+ drawCursor(currentTime) {
191
+ this.selectedPosition.push(this.getTimePos(currentTime), formatDate(currentTime, 'hh:mm'));
192
+ this.drawSelectedPointer(this.selectedPosition);
193
+ }
194
+
195
+ // 叠加warning事件圆点
196
+ drawAlarm(option) {
197
+ const alarmData = option.alarmData;
198
+ const background = option.customBackground;
199
+ for (let i = 0; i < alarmData.length; i++) {
200
+ let x = this.getTimePos(alarmData[i].time);
201
+ let type = alarmData[i].type;
202
+ this.ctx.beginPath();
203
+ this.ctx.arc(x, this.canvas.height - 60, 7, 0, 2 * Math.PI);
204
+ this.ctx.closePath();
205
+ this.ctx.fillStyle = background[type] || Token.config.colorState.colorNone;
206
+ this.ctx.fill();
207
+ }
208
+ }
209
+
210
+ // 叠加状态区间
211
+ drawStatusRange(option) {
212
+ const statusRangeData = option.statusRangeData;
213
+ const timeRange = option.timeRange;
214
+ const background = option.customBackground;
215
+ for (let i = 0; i < statusRangeData.length; i++) {
216
+ let startPosition = this.getTimePos(statusRangeData[i].time[0]);
217
+ let endPosition = this.getTimePos(statusRangeData[i].time[1]);
218
+ let type = statusRangeData[i].type;
219
+ this.ctx.beginPath();
220
+ if (statusRangeData[i].time[0] === timeRange.startTime && statusRangeData[i].time[1] === timeRange.endTime) {
221
+ this.roundRect(startPosition, this.canvas.height - 40, endPosition - startPosition, 8, [4, 4, 4, 4])
222
+ } else if (statusRangeData[i].time[0] === timeRange.startTime) {
223
+ this.roundRect(startPosition, this.canvas.height - 40, endPosition - startPosition, 8, [4, 0, 0, 4]);
224
+ } else if (statusRangeData[i].time[1] === timeRange.endTime) {
225
+ this.roundRect(startPosition, this.canvas.height - 40, endPosition - startPosition, 8, [0, 4, 4, 0]);
226
+ } else {
227
+ this.ctx.rect(startPosition, this.canvas.height - 40, endPosition - startPosition, 8);
228
+ }
229
+ this.ctx.closePath();
230
+ this.ctx.fillStyle = background[type] || Token.config.colorState.colorNone;
231
+ this.ctx.fill();
232
+ }
233
+ }
234
+
235
+ // 绘制状态区间背景的圆角矩形
236
+ drawRoundRect(x, y, width, height, radius) {
237
+ this.ctx.beginPath();
238
+ this.roundRect(x, y, width, height, radius);
239
+ this.ctx.closePath();
240
+ this.ctx.fillStyle = chartToken.roundRectBg;
241
+ this.ctx.fill();
242
+ }
243
+
244
+ roundRect(x, y, width, height, radiusArray) {
245
+ // 左上角
246
+ this.ctx.moveTo(x + radiusArray[0], y);
247
+ this.ctx.lineTo(x + width - radiusArray[1], y);
248
+ this.ctx.arcTo(x + width, y, x + width, y + radiusArray[1], radiusArray[1]);
249
+ // 右上角
250
+ this.ctx.lineTo(x + width, y + height - radiusArray[2]);
251
+ this.ctx.arcTo(x + width, y + height, x + width - radiusArray[2], y + height, radiusArray[2]);
252
+ // 右下角
253
+ this.ctx.lineTo(x + radiusArray[3], y + height);
254
+ this.ctx.arcTo(x, y + height, x, y + height - radiusArray[3], radiusArray[3]);
255
+ // 左下角
256
+ this.ctx.lineTo(x, y + radiusArray[0]);
257
+ this.ctx.arcTo(x, y, x + radiusArray[0], y, radiusArray[0]);
258
+ }
259
+
260
+ // 鼠标悬浮事件
261
+ hoverMove(event) {
262
+ const mouseX = this.getMouseXRelativePos(event);
263
+ const hoverPointer = document.getElementsByClassName('timeline_hoverPointer')[0];
264
+ const hoverTooltip = document.getElementsByClassName('timeline_hoverTooltip')[0];
265
+ const hoverTime = this.getMousePosTime(event);
266
+ if (mouseX > 0 && mouseX < this.canvas.width - 40) {
267
+ this.showElement(hoverPointer);
268
+ // 开启悬浮指针的时间悬浮框
269
+ if (this.option.timeTooltip === true) {
270
+ this.showElement(hoverTooltip);
271
+ hoverTooltip.innerHTML = `<p>${formatDate(hoverTime, 'yy-MM-dd hh:mm')}</p>`;
272
+ if (mouseX + 142 > this.canvas.width - 40) {
273
+ hoverTooltip.style.left = mouseX - 1 + 20 - 142 + 'px';
274
+ }
275
+ else {
276
+ hoverTooltip.style.left = mouseX - 1 + 30 + 'px';
277
+ }
278
+ hoverTooltip.style.top = this.canvas.height - 30 + 'px';
279
+ }
280
+ hoverPointer.style.left = mouseX - 1 + 20 + 'px';
281
+ hoverPointer.style.top = this.canvas.height - 30 + 'px';
282
+ } else {
283
+ this.hideElement(hoverPointer);
284
+ this.hideElement(hoverTooltip);
285
+ }
286
+ this.setAlarmTip(event, mouseX);
287
+ }
288
+
289
+ // 设置Alarm点的tip
290
+ setAlarmTip(event, mouseX) {
291
+ const mouseY = this.getMouseYRelativePos(event);
292
+ const alarmTooltip = document.getElementsByClassName('timeline_alarmTooltip')[0];
293
+ // 清除定时
294
+ alarmTooltip.addEventListener('mouseenter', (e) => {
295
+ if (this.setTipTimeOut) { clearTimeout(this.setTipTimeOut); }
296
+ });
297
+ // 移出悬浮框关闭
298
+ alarmTooltip.addEventListener('mouseleave', (e) => {
299
+ this.closeAlarmTip(alarmTooltip);
300
+ });
301
+ const alarmData = this.option.alarmData;
302
+ if (alarmData) {
303
+ this.processAlarmData(alarmData, mouseX, mouseY, alarmTooltip);
304
+ }
305
+ }
306
+
307
+ closeAlarmTip(alarmTooltip) {
308
+ // 增加延时
309
+ this.setTipTimeOut = setTimeout(() => {
310
+ this.hideElement(alarmTooltip);
311
+ }, 200);
312
+ }
313
+
314
+ processAlarmData(alarmData, mouseX, mouseY, alarmTooltip) {
315
+ for (const data of alarmData) {
316
+ const x = this.getTimePos(data.time);
317
+ if (this.isMouseInCircle(mouseX + 20, mouseY, x, this.canvas.height - 60)) {
318
+ if (this.setTipTimeOut) { clearTimeout(this.setTipTimeOut); }
319
+ this.showElement(alarmTooltip);
320
+ this.option.onCircleHover(alarmTooltip, data);
321
+ if ((x - (alarmTooltip.offsetWidth) / 2) < 0) {
322
+ alarmTooltip.style.left = '0px'
323
+ } else if ((x - (alarmTooltip.offsetWidth) / 2) > (this.canvas.width - alarmTooltip.offsetWidth - 40)) {
324
+ alarmTooltip.style.left = this.canvas.width - (alarmTooltip.offsetWidth) + 'px'
325
+ } else {
326
+ alarmTooltip.style.left = x - (alarmTooltip.offsetWidth / 2) + 'px';
327
+ }
328
+ alarmTooltip.style.top = this.canvas.height - 80 - (alarmTooltip.clientHeight) + 'px';
329
+ return;
330
+ }
331
+ // 移出圆点清除悬浮框
332
+ if (this.setTipTimeOut) { clearTimeout(this.setTipTimeOut); }
333
+ this.closeAlarmTip(alarmTooltip);
334
+ }
335
+ }
336
+
337
+ // 判断鼠标是否在圆点内
338
+ isMouseInCircle(mouseX, mouseY, x, y) {
339
+ let distance = Math.sqrt((mouseX - x) ** 2 + (mouseY - y) ** 2);
340
+ return distance <= 8;
341
+ }
342
+
343
+ // 鼠标点击事件
344
+ clickEvent(event) {
345
+ // 进入选中状态
346
+ this.isSelected = true;
347
+ const mouseX = this.getMouseXRelativePos(event);
348
+ const time = this.getMousePosTime(event);
349
+ // 选中时间
350
+ const seletedTime = time.getTime();
351
+ // 当前北京时间
352
+ const currentTime = new Date().getTime();
353
+ // 选中时间小于当前时间以及大于开始时间,不可选中未来时间
354
+ if (seletedTime <= currentTime && seletedTime >= this.option.timeRange.startTime ) {
355
+ this.option.onClick && this.option.onClick(time.getTime());
356
+ // 如果有点击时间,将时间赋值给配置项的当前时间
357
+ // this.option.currentTime = time;
358
+ this.selectedPosition.splice(0, this.selectedPosition.length);
359
+ this.selectedPosition.push(mouseX + 20, formatDate(time, 'hh:mm'));
360
+ const selectedPointer = document.getElementsByClassName('timeline_selectedPointer')[0];
361
+ const selectedTooltip = document.getElementsByClassName('timeline_selectedTooltip')[0];
362
+ const selectedCircle = document.getElementsByClassName('timeline_selectedCircle')[0];
363
+ if (mouseX > 0 && mouseX < (this.canvas.width - 40)) {
364
+ this.drawSelectedPointer(this.selectedPosition);
365
+ } else {
366
+ this.hideElement(selectedPointer);
367
+ this.hideElement(selectedTooltip);
368
+ this.hideElement(selectedCircle);
369
+ }
370
+ }
371
+ }
372
+
373
+ // 画选中状态的游标
374
+ drawSelectedPointer(selectedPosition) {
375
+
376
+ const selectedPointer = document.getElementsByClassName('timeline_selectedPointer')[0];
377
+ const selectedTooltip = document.getElementsByClassName('timeline_selectedTooltip')[0];
378
+ const selectedCircle = document.getElementsByClassName('timeline_selectedCircle')[0];
379
+
380
+ selectedPointer.style.left = selectedPosition[0] - 1 + 'px';
381
+ selectedPointer.style.top = this.canvas.height - 42 + 'px';
382
+ this.showElement(selectedPointer);
383
+
384
+ selectedTooltip.innerHTML = `<p>${defendXSS(selectedPosition[1])}</p>`;
385
+ selectedTooltip.style.left = selectedPosition[0] - 20 + 'px';
386
+ selectedTooltip.style.top = this.canvas.height - 16 + 'px';
387
+ this.showElement(selectedTooltip);
388
+
389
+ selectedCircle.style.left = selectedPosition[0] - 4 + 'px';
390
+ selectedCircle.style.top = this.canvas.height - 50 + 'px';
391
+ this.showElement(selectedCircle);
392
+ }
393
+
394
+ // 设置长短刻度标签文字
395
+ createScaleText(time) {
396
+ if (time.getTime() === this.option.timeRange.startTime) {
397
+ return formatDate(time, '00:00');
398
+ } else if (time.getTime() === this.option.timeRange.endTime && (this.option.timeRange.endTime - this.option.timeRange.startTime) % (24 * 60 * 60 * 1000) === 0) {
399
+ return formatDate(time, '24:00');
400
+ }
401
+ return formatDate(time, 'hh:mm');
402
+ }
403
+
404
+ // 获取鼠标相对于canvas元素左侧20px的相对位置
405
+ getMouseXRelativePos(event) {
406
+ let scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
407
+ let x = event.pageX || event.clientX + scrollX;
408
+ // canvas元素距离窗口左侧距离
409
+ let baseLeft = this.canvas.getBoundingClientRect().x;
410
+ return x - baseLeft - 20;
411
+ }
412
+
413
+ // 获取鼠标相对于canvas元素上侧的相对位置
414
+ getMouseYRelativePos(event) {
415
+ let scrollY = document.documentElement.scrollTop || document.body.scrollTop;
416
+ let y = event.pageY || event.clientY + scrollY;
417
+ // canvas元素距离窗口左侧距离
418
+ let baseTop = this.canvas.getBoundingClientRect().y;
419
+ return y - baseTop;
420
+ }
421
+
422
+ // 根据画布的宽度和时间计算出鼠标所在的时间点
423
+ getMousePosTime(event) {
424
+ let posX = this.getMouseXRelativePos(event);
425
+ // 每毫秒多少像素
426
+ let onePxsMS = (this.canvas.width - 40) / (this.totalHours * 60 * 60 * 1000);
427
+ let time = new Date(this.startTimestamp + posX / onePxsMS);
428
+ return time;
429
+ }
430
+
431
+ // 根据时间点计算所在点距离canvas左侧20px的相对位置
432
+ getTimePos(time) {
433
+ // 每毫秒多少像素
434
+ let onePxsMS = (this.canvas.width - 40) / (this.totalHours * 60 * 60 * 1000);
435
+ let posX = (time - this.startTimestamp) * onePxsMS + 20;
436
+ return posX;
437
+ }
438
+
439
+ // 显示元素
440
+ showElement = (element) => {
441
+ element.style.display = 'block';
442
+ };
443
+
444
+ hideElement = (element) => {
445
+ element.style.display = 'none';
446
+ };
447
+
448
+ // 设置当前时间
449
+ setCurrentTime(time) {
450
+ let newTime;
451
+ if (typeof time === 'string') {
452
+ newTime = new Date(time).getTime();
453
+ } else if (typeof time === 'object') {
454
+ newTime = time.getTime && time.getTime();
455
+ } else if (typeof time === 'number') {
456
+ newTime = time;
457
+ }
458
+ this.currentTime = newTime;
459
+ this.init();
460
+ }
461
461
  };