@ebiz/designer-components 0.0.18
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.
- package/README.md +29 -0
- package/dist/favicon.ico +0 -0
- package/dist/index.mjs +85018 -0
- package/dist/lowcode-components.css +1 -0
- package/package.json +39 -0
- package/src/App.vue +26 -0
- package/src/apiService/SIMPLE_DATA_SERVICE.md +285 -0
- package/src/apiService/simpleDataService.js +174 -0
- package/src/assets/base.css +86 -0
- package/src/assets/logo.svg +1 -0
- package/src/assets/main.css +1 -0
- package/src/assets/styles/charts/main.less +30 -0
- package/src/components/Button.vue +103 -0
- package/src/components/DataContainer.vue +39 -0
- package/src/components/EbizDialog.vue +61 -0
- package/src/components/EbizDivider.vue +97 -0
- package/src/components/EbizMindmap/README.md +8 -0
- package/src/components/EbizMindmap/components/GridNode.vue +102 -0
- package/src/components/EbizMindmap/components/node.vue +92 -0
- package/src/components/EbizMindmap/components/vueNode.vue +64 -0
- package/src/components/EbizMindmap/index.vue +383 -0
- package/src/components/EbizOkrTree.vue +99 -0
- package/src/components/EbizRemoteSelect.vue +155 -0
- package/src/components/EbizRouteBreadcrumb.vue +47 -0
- package/src/components/EbizSelect.vue +95 -0
- package/src/components/EbizStatsCard.vue +114 -0
- package/src/components/EbizTabs.vue +101 -0
- package/src/components/EbizTitle.vue +99 -0
- package/src/components/Form.vue +27 -0
- package/src/components/MyComponent.vue +39 -0
- package/src/components/Table.vue +45 -0
- package/src/components/charts/chart.js +47 -0
- package/src/components/charts/components/AssembleBubbleChart/BaseOption.js +50 -0
- package/src/components/charts/components/AssembleBubbleChart/chartToken.js +17 -0
- package/src/components/charts/components/AssembleBubbleChart/handleOption.js +66 -0
- package/src/components/charts/components/AssembleBubbleChart/handleRootData.js +165 -0
- package/src/components/charts/components/AssembleBubbleChart/handleSeriesData.js +70 -0
- package/src/components/charts/components/AssembleBubbleChart/index.js +65 -0
- package/src/components/charts/components/AutonaviMapChart/index.js +162 -0
- package/src/components/charts/components/BaiduMapChart/index.js +148 -0
- package/src/components/charts/components/BarChart/barChartOption.js +76 -0
- package/src/components/charts/components/BarChart/chartToken.js +17 -0
- package/src/components/charts/components/BarChart/handleOptipn.js +102 -0
- package/src/components/charts/components/BarChart/handleSeries.js +716 -0
- package/src/components/charts/components/BarChart/handleVisualMap.js +48 -0
- package/src/components/charts/components/BarChart/index.js +151 -0
- package/src/components/charts/components/BaseChart/index.js +122 -0
- package/src/components/charts/components/BoxplotChart/chartToken.js +17 -0
- package/src/components/charts/components/BoxplotChart/handleOption.js +64 -0
- package/src/components/charts/components/BoxplotChart/handleSeries.js +150 -0
- package/src/components/charts/components/BoxplotChart/index.js +47 -0
- package/src/components/charts/components/BubbleChart/chartToken.js +17 -0
- package/src/components/charts/components/BubbleChart/handleData.js +33 -0
- package/src/components/charts/components/BubbleChart/handleOptipn.js +63 -0
- package/src/components/charts/components/BubbleChart/handleSeries.js +86 -0
- package/src/components/charts/components/BubbleChart/handleTrendLine.js +119 -0
- package/src/components/charts/components/BubbleChart/handleVisualMap.js +50 -0
- package/src/components/charts/components/BubbleChart/index.js +96 -0
- package/src/components/charts/components/BulletChart/bulletChartOption.js +82 -0
- package/src/components/charts/components/BulletChart/chartToken.js +17 -0
- package/src/components/charts/components/BulletChart/handleOptipn.js +74 -0
- package/src/components/charts/components/BulletChart/handleSeries.js +143 -0
- package/src/components/charts/components/BulletChart/index.js +93 -0
- package/src/components/charts/components/CandlestickChart/BaseOption.js +44 -0
- package/src/components/charts/components/CandlestickChart/chartToken.js +17 -0
- package/src/components/charts/components/CandlestickChart/hanleOption.js +130 -0
- package/src/components/charts/components/CandlestickChart/hanleSeries.js +123 -0
- package/src/components/charts/components/CandlestickChart/index.js +68 -0
- package/src/components/charts/components/CircleProcessChart/chartToken.js +17 -0
- package/src/components/charts/components/CircleProcessChart/handleOption.js +68 -0
- package/src/components/charts/components/CircleProcessChart/handleSeries.js +127 -0
- package/src/components/charts/components/CircleProcessChart/index.js +63 -0
- package/src/components/charts/components/FlowChart/Layout.js +211 -0
- package/src/components/charts/components/FlowChart/LineBezier.js +120 -0
- package/src/components/charts/components/FlowChart/LineDirect.js +42 -0
- package/src/components/charts/components/FlowChart/LineManager.js +278 -0
- package/src/components/charts/components/FlowChart/LineMode.js +44 -0
- package/src/components/charts/components/FlowChart/LineRound.js +335 -0
- package/src/components/charts/components/FlowChart/NodeManager.js +185 -0
- package/src/components/charts/components/FlowChart/dagre.js +8829 -0
- package/src/components/charts/components/FlowChart/frameworkFn.js +38 -0
- package/src/components/charts/components/FlowChart/index.js +268 -0
- package/src/components/charts/components/FlowChart/index.less +90 -0
- package/src/components/charts/components/FlowChart/insert.js +40 -0
- package/src/components/charts/components/FlowChart/util.js +43 -0
- package/src/components/charts/components/FunnelChart/chartToken.js +17 -0
- package/src/components/charts/components/FunnelChart/handleLegend.js +44 -0
- package/src/components/charts/components/FunnelChart/handleSeries.js +77 -0
- package/src/components/charts/components/FunnelChart/index.js +44 -0
- package/src/components/charts/components/GanttChart/CoordinateSystem.js +358 -0
- package/src/components/charts/components/GanttChart/TimeLine.js +379 -0
- package/src/components/charts/components/GanttChart/constant.js +71 -0
- package/src/components/charts/components/GanttChart/index.js +51 -0
- package/src/components/charts/components/GanttChart/index.less +267 -0
- package/src/components/charts/components/GanttChart/util.js +335 -0
- package/src/components/charts/components/GaugeChart/BaseOption.js +22 -0
- package/src/components/charts/components/GaugeChart/chartToken.js +17 -0
- package/src/components/charts/components/GaugeChart/handleOptipn.js +22 -0
- package/src/components/charts/components/GaugeChart/handleSeries.js +504 -0
- package/src/components/charts/components/GaugeChart/index.js +53 -0
- package/src/components/charts/components/GraphChart/index.js +34 -0
- package/src/components/charts/components/GraphTreeChart/BaseOption.js +42 -0
- package/src/components/charts/components/GraphTreeChart/handleData.js +118 -0
- package/src/components/charts/components/GraphTreeChart/handleOption.js +142 -0
- package/src/components/charts/components/GraphTreeChart/index.js +65 -0
- package/src/components/charts/components/GraphTreeChart/mixTree.js +36 -0
- package/src/components/charts/components/GraphTreeChart/utils.js +75 -0
- package/src/components/charts/components/HeatMapChart/BaseOption.js +66 -0
- package/src/components/charts/components/HeatMapChart/chartToken.js +17 -0
- package/src/components/charts/components/HeatMapChart/handleData.js +138 -0
- package/src/components/charts/components/HeatMapChart/handleOptipn.js +227 -0
- package/src/components/charts/components/HeatMapChart/handleSeries.js +82 -0
- package/src/components/charts/components/HeatMapChart/handleVisualMap.js +91 -0
- package/src/components/charts/components/HeatMapChart/index.js +70 -0
- package/src/components/charts/components/HillChart/baseOption.js +50 -0
- package/src/components/charts/components/HillChart/chartToken.js +17 -0
- package/src/components/charts/components/HillChart/handleOption.js +193 -0
- package/src/components/charts/components/HillChart/handleSeries.js +39 -0
- package/src/components/charts/components/HillChart/index.js +96 -0
- package/src/components/charts/components/HoneycombChart/NodeManager.js +172 -0
- package/src/components/charts/components/HoneycombChart/TipManager.js +75 -0
- package/src/components/charts/components/HoneycombChart/index.js +117 -0
- package/src/components/charts/components/HoneycombChart/index.less +49 -0
- package/src/components/charts/components/JadeJueChart/BaseOption.js +40 -0
- package/src/components/charts/components/JadeJueChart/chartToken.js +17 -0
- package/src/components/charts/components/JadeJueChart/handleOption.js +262 -0
- package/src/components/charts/components/JadeJueChart/handleSeries.js +246 -0
- package/src/components/charts/components/JadeJueChart/index.js +71 -0
- package/src/components/charts/components/JadeJueChart/labelFormatter.js +131 -0
- package/src/components/charts/components/LineChart/AreaChart/bottomArea.js +177 -0
- package/src/components/charts/components/LineChart/AreaChart/chartToken.js +17 -0
- package/src/components/charts/components/LineChart/AreaChart/index.js +18 -0
- package/src/components/charts/components/LineChart/AreaChart/topArea.js +139 -0
- package/src/components/charts/components/LineChart/chartToken.js +17 -0
- package/src/components/charts/components/LineChart/handleOptipn.js +145 -0
- package/src/components/charts/components/LineChart/handlePredict.js +73 -0
- package/src/components/charts/components/LineChart/handleSeries.js +266 -0
- package/src/components/charts/components/LineChart/handleVisualMap.js +138 -0
- package/src/components/charts/components/LineChart/index.js +133 -0
- package/src/components/charts/components/LiquidfillChart/chartToken.js +17 -0
- package/src/components/charts/components/LiquidfillChart/handleSeries.js +170 -0
- package/src/components/charts/components/LiquidfillChart/index.js +43 -0
- package/src/components/charts/components/LiquidfillChart/plugSeries.js +78 -0
- package/src/components/charts/components/LiquidfillChart/plugShape.js +163 -0
- package/src/components/charts/components/LiquidfillChart/plugView.js +537 -0
- package/src/components/charts/components/MilestoneChart/Layout.js +183 -0
- package/src/components/charts/components/MilestoneChart/Node.js +319 -0
- package/src/components/charts/components/MilestoneChart/assets/next.svg +7 -0
- package/src/components/charts/components/MilestoneChart/assets/prev.svg +7 -0
- package/src/components/charts/components/MilestoneChart/assets/prompt.svg +9 -0
- package/src/components/charts/components/MilestoneChart/index.js +108 -0
- package/src/components/charts/components/MilestoneChart/index.less +244 -0
- package/src/components/charts/components/MilestoneChart/insertDom.js +32 -0
- package/src/components/charts/components/MilestoneChart/insertIcon.js +24 -0
- package/src/components/charts/components/MilestoneChart/insertSvg.js +109 -0
- package/src/components/charts/components/OrganizationChart/NodeManager.js +188 -0
- package/src/components/charts/components/OrganizationChart/RotateManager.js +349 -0
- package/src/components/charts/components/OrganizationChart/index.js +124 -0
- package/src/components/charts/components/OrganizationChart/index.less +112 -0
- package/src/components/charts/components/PieChart/chartToken.js +17 -0
- package/src/components/charts/components/PieChart/handleLabel.js +94 -0
- package/src/components/charts/components/PieChart/handleMulti.js +131 -0
- package/src/components/charts/components/PieChart/handleSeries.js +236 -0
- package/src/components/charts/components/PieChart/index.js +58 -0
- package/src/components/charts/components/PolarBarChart/chartToken.js +17 -0
- package/src/components/charts/components/PolarBarChart/handleOption.js +102 -0
- package/src/components/charts/components/PolarBarChart/handleSeries.js +127 -0
- package/src/components/charts/components/PolarBarChart/index.js +62 -0
- package/src/components/charts/components/ProcessChart/BaseOption.js +296 -0
- package/src/components/charts/components/ProcessChart/chartToken.js +17 -0
- package/src/components/charts/components/ProcessChart/handleData.js +156 -0
- package/src/components/charts/components/ProcessChart/handleOption.js +212 -0
- package/src/components/charts/components/ProcessChart/handleSeries.js +369 -0
- package/src/components/charts/components/ProcessChart/index.js +76 -0
- package/src/components/charts/components/RadarChart/BaseOption.js +248 -0
- package/src/components/charts/components/RadarChart/GradientRadar/index.js +421 -0
- package/src/components/charts/components/RadarChart/chartToken.js +17 -0
- package/src/components/charts/components/RadarChart/handleOptipn.js +316 -0
- package/src/components/charts/components/RadarChart/handleSeries.js +120 -0
- package/src/components/charts/components/RadarChart/index.js +77 -0
- package/src/components/charts/components/RegionChart/chartToken.js +17 -0
- package/src/components/charts/components/RegionChart/handleOption.js +29 -0
- package/src/components/charts/components/RegionChart/index.js +49 -0
- package/src/components/charts/components/RiverChart/Belt.js +181 -0
- package/src/components/charts/components/RiverChart/Manager.js +173 -0
- package/src/components/charts/components/RiverChart/Node.js +425 -0
- package/src/components/charts/components/RiverChart/baseOption.js +51 -0
- package/src/components/charts/components/RiverChart/index.js +79 -0
- package/src/components/charts/components/RiverChart/index.less +42 -0
- package/src/components/charts/components/RiverChart/util.js +160 -0
- package/src/components/charts/components/SankeyChart/BaseOption.js +74 -0
- package/src/components/charts/components/SankeyChart/chartToken.js +17 -0
- package/src/components/charts/components/SankeyChart/handleOption.js +258 -0
- package/src/components/charts/components/SankeyChart/index.js +111 -0
- package/src/components/charts/components/SankeyChart/tooltip.js +53 -0
- package/src/components/charts/components/ScatterChart/chartToken.js +17 -0
- package/src/components/charts/components/ScatterChart/handleMarkPoint.js +74 -0
- package/src/components/charts/components/ScatterChart/handleOptipn.js +66 -0
- package/src/components/charts/components/ScatterChart/handleSeries.js +48 -0
- package/src/components/charts/components/ScatterChart/index.js +60 -0
- package/src/components/charts/components/SnowFlakeChart/BranchManager.js +324 -0
- package/src/components/charts/components/SnowFlakeChart/CommonConstant.js +111 -0
- package/src/components/charts/components/SnowFlakeChart/LeafManager.js +76 -0
- package/src/components/charts/components/SnowFlakeChart/NodeManager.js +240 -0
- package/src/components/charts/components/SnowFlakeChart/TagManager.js +80 -0
- package/src/components/charts/components/SnowFlakeChart/assets/down.svg +8 -0
- package/src/components/charts/components/SnowFlakeChart/assets/errorBg-leaf.png +0 -0
- package/src/components/charts/components/SnowFlakeChart/assets/errorBg.png +0 -0
- package/src/components/charts/components/SnowFlakeChart/assets/image2L.svg +7 -0
- package/src/components/charts/components/SnowFlakeChart/assets/image2R.svg +7 -0
- package/src/components/charts/components/SnowFlakeChart/assets/image5L.svg +7 -0
- package/src/components/charts/components/SnowFlakeChart/assets/image5R.svg +7 -0
- package/src/components/charts/components/SnowFlakeChart/assets/normalBg-leaf.png +0 -0
- package/src/components/charts/components/SnowFlakeChart/assets/normalBg.png +0 -0
- package/src/components/charts/components/SnowFlakeChart/assets/outerBorder.svg +24 -0
- package/src/components/charts/components/SnowFlakeChart/assets/outerBorderOverAll.svg +18 -0
- package/src/components/charts/components/SnowFlakeChart/assets/up.svg +8 -0
- package/src/components/charts/components/SnowFlakeChart/assets/warningBg-leaf.png +0 -0
- package/src/components/charts/components/SnowFlakeChart/assets/warningBg.png +0 -0
- package/src/components/charts/components/SnowFlakeChart/assets/wirelessL.svg +7 -0
- package/src/components/charts/components/SnowFlakeChart/assets/wirelessR.svg +7 -0
- package/src/components/charts/components/SnowFlakeChart/defaultOption.js +285 -0
- package/src/components/charts/components/SnowFlakeChart/index.js +408 -0
- package/src/components/charts/components/SnowFlakeChart/index.less +503 -0
- package/src/components/charts/components/SnowFlakeChart/line/LineArrow.js +62 -0
- package/src/components/charts/components/SnowFlakeChart/line/LineDashed.js +29 -0
- package/src/components/charts/components/SnowFlakeChart/line/LineDotted.js +29 -0
- package/src/components/charts/components/SnowFlakeChart/line/LineStraight.js +28 -0
- package/src/components/charts/components/SnowFlakeChart/line/index.js +202 -0
- package/src/components/charts/components/SnowFlakeChart/util.js +430 -0
- package/src/components/charts/components/SunburstChart/chartToken.js +17 -0
- package/src/components/charts/components/SunburstChart/handleSeries.js +48 -0
- package/src/components/charts/components/SunburstChart/index.js +41 -0
- package/src/components/charts/components/TerraceChart/defaultGradient.js +116 -0
- package/src/components/charts/components/TerraceChart/defaultPath.js +30 -0
- package/src/components/charts/components/TerraceChart/index.js +276 -0
- package/src/components/charts/components/TerraceChart/index.less +171 -0
- package/src/components/charts/components/TerraceChart/insert.js +35 -0
- package/src/components/charts/components/TerraceChart/loading.js +34 -0
- package/src/components/charts/components/TimelineChart/chartToken.js +17 -0
- package/src/components/charts/components/TimelineChart/index.js +109 -0
- package/src/components/charts/components/TimelineChart/index.less +152 -0
- package/src/components/charts/components/TimelineChart/insertDom.js +45 -0
- package/src/components/charts/components/TimelineChart/timeline.js +461 -0
- package/src/components/charts/components/TreeChart/chartToken.js +17 -0
- package/src/components/charts/components/TreeChart/handleOptipn.js +101 -0
- package/src/components/charts/components/TreeChart/handleSeries.js +148 -0
- package/src/components/charts/components/TreeChart/index.js +50 -0
- package/src/components/charts/components/TreeMapChart/handleOptipn.js +57 -0
- package/src/components/charts/components/TreeMapChart/handleSeries.js +57 -0
- package/src/components/charts/components/TreeMapChart/handleVisualMap.js +31 -0
- package/src/components/charts/components/TreeMapChart/index.js +56 -0
- package/src/components/charts/components/WaveChart/chartToken.js +17 -0
- package/src/components/charts/components/WaveChart/index.js +418 -0
- package/src/components/charts/components/WaveChart/index.less +77 -0
- package/src/components/charts/components/WaveChart/insert.js +38 -0
- package/src/components/charts/components/WaveChart/loading.js +34 -0
- package/src/components/charts/components/WordCloudChart/BaseOption.js +19 -0
- package/src/components/charts/components/WordCloudChart/chartToken.js +17 -0
- package/src/components/charts/components/WordCloudChart/handleOptipn.js +20 -0
- package/src/components/charts/components/WordCloudChart/handleSeries.js +106 -0
- package/src/components/charts/components/WordCloudChart/index.js +67 -0
- package/src/components/charts/core.js +386 -0
- package/src/components/charts/feature/adaptive/index.js +46 -0
- package/src/components/charts/feature/adaptive/series/AssembleBubbleChart.js +22 -0
- package/src/components/charts/feature/adaptive/series/BarChart.js +27 -0
- package/src/components/charts/feature/adaptive/series/BoxplotChart.js +26 -0
- package/src/components/charts/feature/adaptive/series/BubbleChart.js +26 -0
- package/src/components/charts/feature/adaptive/series/BulletChart.js +27 -0
- package/src/components/charts/feature/adaptive/series/CircleProcessChart.js +25 -0
- package/src/components/charts/feature/adaptive/series/FunnelChart.js +22 -0
- package/src/components/charts/feature/adaptive/series/HeatMapChart.js +26 -0
- package/src/components/charts/feature/adaptive/series/JadeJueChart.js +24 -0
- package/src/components/charts/feature/adaptive/series/LineChart.js +26 -0
- package/src/components/charts/feature/adaptive/series/LiquidfillChart.js +26 -0
- package/src/components/charts/feature/adaptive/series/PieChart.js +25 -0
- package/src/components/charts/feature/adaptive/series/PolarBarChart.js +22 -0
- package/src/components/charts/feature/adaptive/series/ScatterChart.js +26 -0
- package/src/components/charts/feature/adaptive/series/SunburstChart.js +25 -0
- package/src/components/charts/feature/adaptive/utils/axis.js +26 -0
- package/src/components/charts/feature/adaptive/utils/label.js +30 -0
- package/src/components/charts/feature/adaptive/utils/legend.js +30 -0
- package/src/components/charts/feature/adaptive/utils/title.js +30 -0
- package/src/components/charts/feature/adaptive/utils/tooltip.js +30 -0
- package/src/components/charts/feature/axistip/index.js +116 -0
- package/src/components/charts/feature/card/chartToken.js +17 -0
- package/src/components/charts/feature/card/index.js +225 -0
- package/src/components/charts/feature/card/index.less +166 -0
- package/src/components/charts/feature/drag/index.js +353 -0
- package/src/components/charts/feature/drag/index.less +53 -0
- package/src/components/charts/feature/equalLabel/index.js +63 -0
- package/src/components/charts/feature/expandLegend/constants.js +22 -0
- package/src/components/charts/feature/expandLegend/index.js +190 -0
- package/src/components/charts/feature/expandLegend/index.less +1044 -0
- package/src/components/charts/feature/expandLegend/mutiSelect/constants.js +40 -0
- package/src/components/charts/feature/expandLegend/mutiSelect/index.js +157 -0
- package/src/components/charts/feature/expandLegend/mutiSelect/item.js +133 -0
- package/src/components/charts/feature/expandLegend/mutiSelect/position.js +44 -0
- package/src/components/charts/feature/expandLegend/mutiSelect/search.js +79 -0
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/constants.js +41 -0
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/group.js +112 -0
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/index.js +97 -0
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/item.js +115 -0
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/more.js +101 -0
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/paging.js +103 -0
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/scroll.js +33 -0
- package/src/components/charts/feature/expandLegend/mutiSelectList/constants.js +34 -0
- package/src/components/charts/feature/expandLegend/mutiSelectList/index.js +181 -0
- package/src/components/charts/feature/expandLegend/mutiSelectList/statisticList.js +146 -0
- package/src/components/charts/feature/expandLegend/singleSelect/constants.js +40 -0
- package/src/components/charts/feature/expandLegend/singleSelect/index.js +170 -0
- package/src/components/charts/feature/expandLegend/singleSelect/item.js +74 -0
- package/src/components/charts/feature/expandLegend/singleSelect/position.js +34 -0
- package/src/components/charts/feature/expandLegend/singleSelect/search.js +76 -0
- package/src/components/charts/feature/expandLegend/singleSelectLegend/constants.js +41 -0
- package/src/components/charts/feature/expandLegend/singleSelectLegend/group.js +116 -0
- package/src/components/charts/feature/expandLegend/singleSelectLegend/index.js +97 -0
- package/src/components/charts/feature/expandLegend/singleSelectLegend/item.js +113 -0
- package/src/components/charts/feature/expandLegend/singleSelectLegend/more.js +40 -0
- package/src/components/charts/feature/expandLegend/singleSelectLegend/scroll.js +33 -0
- package/src/components/charts/feature/expandLegend/tips/constants.js +21 -0
- package/src/components/charts/feature/expandLegend/tips/index.js +168 -0
- package/src/components/charts/feature/fluctuation/index.js +65 -0
- package/src/components/charts/feature/linter/dialog/index.js +111 -0
- package/src/components/charts/feature/linter/index.js +131 -0
- package/src/components/charts/feature/linter/lints/charts/Bar.js +46 -0
- package/src/components/charts/feature/linter/lints/charts/Line.js +31 -0
- package/src/components/charts/feature/linter/lints/charts/Pie.js +39 -0
- package/src/components/charts/feature/linter/lints/charts/Radar.js +38 -0
- package/src/components/charts/feature/linter/lints/charts/index.js +37 -0
- package/src/components/charts/feature/linter/lints/modules/angleAxis.js +47 -0
- package/src/components/charts/feature/linter/lints/modules/color.js +19 -0
- package/src/components/charts/feature/linter/lints/modules/dataZoom.js +52 -0
- package/src/components/charts/feature/linter/lints/modules/index.js +64 -0
- package/src/components/charts/feature/linter/lints/modules/legend.js +64 -0
- package/src/components/charts/feature/linter/lints/modules/radar.js +59 -0
- package/src/components/charts/feature/linter/lints/modules/radiusAxis.js +49 -0
- package/src/components/charts/feature/linter/lints/modules/title.js +44 -0
- package/src/components/charts/feature/linter/lints/modules/tooltip.js +29 -0
- package/src/components/charts/feature/linter/lints/modules/util.js +97 -0
- package/src/components/charts/feature/linter/lints/modules/xAxis.js +52 -0
- package/src/components/charts/feature/linter/lints/modules/yAxis.js +52 -0
- package/src/components/charts/feature/mediaScreen/index.js +95 -0
- package/src/components/charts/feature/mini/miniBarChart.js +58 -0
- package/src/components/charts/feature/mini/miniCircleProcessChart.js +32 -0
- package/src/components/charts/feature/mini/miniLineChart.js +58 -0
- package/src/components/charts/feature/mini/miniProcessChart.js +64 -0
- package/src/components/charts/feature/nodeRender/angular-node.js +100 -0
- package/src/components/charts/feature/nodeRender/index.js +31 -0
- package/src/components/charts/feature/nodeRender/react-node.js +83 -0
- package/src/components/charts/feature/nodeRender/vue-node.js +109 -0
- package/src/components/charts/feature/performance/lttb.js +85 -0
- package/src/components/charts/feature/readScreen/index.js +19 -0
- package/src/components/charts/feature/token/color/bpit/dark.js +67 -0
- package/src/components/charts/feature/token/color/bpit/index.js +20 -0
- package/src/components/charts/feature/token/color/bpit/light.js +66 -0
- package/src/components/charts/feature/token/color/cloud/board-dark.js +260 -0
- package/src/components/charts/feature/token/color/cloud/board.js +276 -0
- package/src/components/charts/feature/token/color/cloud/dark.js +78 -0
- package/src/components/charts/feature/token/color/cloud/index.js +20 -0
- package/src/components/charts/feature/token/color/cloud/light.js +77 -0
- package/src/components/charts/feature/token/color/hdesign/board.js +204 -0
- package/src/components/charts/feature/token/color/hdesign/dark.js +78 -0
- package/src/components/charts/feature/token/color/hdesign/index.js +20 -0
- package/src/components/charts/feature/token/color/hdesign/light.js +79 -0
- package/src/components/charts/feature/token/color/ict/board.js +190 -0
- package/src/components/charts/feature/token/color/ict/dark.js +61 -0
- package/src/components/charts/feature/token/color/ict/index.js +20 -0
- package/src/components/charts/feature/token/color/ict/light.js +62 -0
- package/src/components/charts/feature/token/color/index.js +29 -0
- package/src/components/charts/feature/token/color/util.js +42 -0
- package/src/components/charts/feature/token/factory/chartsToken/AreaChart.js +20 -0
- package/src/components/charts/feature/token/factory/chartsToken/AssembleBubbleChart.js +26 -0
- package/src/components/charts/feature/token/factory/chartsToken/BarChart.js +27 -0
- package/src/components/charts/feature/token/factory/chartsToken/BoxplotChart.js +27 -0
- package/src/components/charts/feature/token/factory/chartsToken/BubbleChart.js +22 -0
- package/src/components/charts/feature/token/factory/chartsToken/BulletChart.js +23 -0
- package/src/components/charts/feature/token/factory/chartsToken/CandlestickChart.js +20 -0
- package/src/components/charts/feature/token/factory/chartsToken/ChartCard.js +33 -0
- package/src/components/charts/feature/token/factory/chartsToken/CircleProcessChart.js +23 -0
- package/src/components/charts/feature/token/factory/chartsToken/FunnelChart.js +26 -0
- package/src/components/charts/feature/token/factory/chartsToken/GaugeChart.js +27 -0
- package/src/components/charts/feature/token/factory/chartsToken/HeatMapChart.js +21 -0
- package/src/components/charts/feature/token/factory/chartsToken/HillChart.js +21 -0
- package/src/components/charts/feature/token/factory/chartsToken/JadeJueChart.js +28 -0
- package/src/components/charts/feature/token/factory/chartsToken/LineChart.js +36 -0
- package/src/components/charts/feature/token/factory/chartsToken/LiquidfillChart.js +22 -0
- package/src/components/charts/feature/token/factory/chartsToken/PieChart.js +49 -0
- package/src/components/charts/feature/token/factory/chartsToken/PolarBarChart.js +22 -0
- package/src/components/charts/feature/token/factory/chartsToken/ProcessChart.js +40 -0
- package/src/components/charts/feature/token/factory/chartsToken/RadarChart.js +36 -0
- package/src/components/charts/feature/token/factory/chartsToken/RegionChart.js +20 -0
- package/src/components/charts/feature/token/factory/chartsToken/SankeyChart.js +22 -0
- package/src/components/charts/feature/token/factory/chartsToken/ScatterChart.js +21 -0
- package/src/components/charts/feature/token/factory/chartsToken/SunburstChart.js +22 -0
- package/src/components/charts/feature/token/factory/chartsToken/TimelineChart.js +21 -0
- package/src/components/charts/feature/token/factory/chartsToken/TreeChart.js +21 -0
- package/src/components/charts/feature/token/factory/chartsToken/WaveChart.js +23 -0
- package/src/components/charts/feature/token/factory/chartsToken/WordCloudChart.js +21 -0
- package/src/components/charts/feature/token/factory/chartsToken/index.js +79 -0
- package/src/components/charts/feature/token/factory/getAliasToken.js +41 -0
- package/src/components/charts/feature/token/factory/getExportColors.js +46 -0
- package/src/components/charts/feature/token/factory/getGlobalToken.js +25 -0
- package/src/components/charts/feature/token/factory/getModelToken.js +389 -0
- package/src/components/charts/feature/token/factory/getSceneToken.js +41 -0
- package/src/components/charts/feature/token/factory/globalToken/border.js +21 -0
- package/src/components/charts/feature/token/factory/globalToken/borderRadius.js +22 -0
- package/src/components/charts/feature/token/factory/globalToken/font.js +26 -0
- package/src/components/charts/feature/token/factory/globalToken/index.js +28 -0
- package/src/components/charts/feature/token/factory/globalToken/lineType.js +19 -0
- package/src/components/charts/feature/token/factory/globalToken/size.js +22 -0
- package/src/components/charts/feature/token/factory/globalToken/space.js +25 -0
- package/src/components/charts/feature/token/factory/index.js +39 -0
- package/src/components/charts/feature/token/factory/mergeToken.js +72 -0
- package/src/components/charts/feature/token/index.js +176 -0
- package/src/components/charts/feature/token/readme.md +11 -0
- package/src/components/charts/feature/token/theme/bpit/index.js +19 -0
- package/src/components/charts/feature/token/theme/cloud/getAliasToken.js +247 -0
- package/src/components/charts/feature/token/theme/cloud/getSceneToken.js +74 -0
- package/src/components/charts/feature/token/theme/cloud/index.js +19 -0
- package/src/components/charts/feature/token/theme/hdesign/getAliasToken.js +249 -0
- package/src/components/charts/feature/token/theme/hdesign/getSceneToken.js +75 -0
- package/src/components/charts/feature/token/theme/hdesign/index.js +19 -0
- package/src/components/charts/feature/token/theme/ict/getAliasToken.js +249 -0
- package/src/components/charts/feature/token/theme/ict/getSceneToken.js +72 -0
- package/src/components/charts/feature/token/theme/ict/index.js +19 -0
- package/src/components/charts/feature/wcag/index.js +335 -0
- package/src/components/charts/feature/xss/index.js +52 -0
- package/src/components/charts/framework/charts/CircleArcChart/index.js +142 -0
- package/src/components/charts/framework/charts/CircleChart/index.js +140 -0
- package/src/components/charts/framework/charts/CustomizeChart/index.js +166 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/index.js +141 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/initDom.js +20 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/Node.js +148 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/center.js +71 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/collide.js +151 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/constant.js +17 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/dispatch.js +95 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/index.js +19 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/jiggle.js +16 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/lcg.js +23 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/link.js +128 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/manyBody.js +127 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/quadtree.js +393 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/radial.js +68 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/simulation.js +171 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/timer.js +121 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/x.js +52 -0
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/y.js +52 -0
- package/src/components/charts/framework/charts/GridChart/index.js +174 -0
- package/src/components/charts/framework/charts/LinearArcChart/index.js +143 -0
- package/src/components/charts/framework/charts/MindmapChart/index.js +166 -0
- package/src/components/charts/framework/charts/MindmapChart/index.less +85 -0
- package/src/components/charts/framework/core/Base.js +53 -0
- package/src/components/charts/framework/core/Relation.js +78 -0
- package/src/components/charts/framework/module/animation/Animate.js +434 -0
- package/src/components/charts/framework/module/animation/Animation.js +76 -0
- package/src/components/charts/framework/module/animation/AnimationGroup.js +137 -0
- package/src/components/charts/framework/module/animation/Easing.js +225 -0
- package/src/components/charts/framework/module/animation/Interpolation.js +88 -0
- package/src/components/charts/framework/module/animation/index.js +20 -0
- package/src/components/charts/framework/module/arrow/Manager.js +133 -0
- package/src/components/charts/framework/module/arrow/index.js +96 -0
- package/src/components/charts/framework/module/canvas/grid.js +288 -0
- package/src/components/charts/framework/module/canvas/index.js +434 -0
- package/src/components/charts/framework/module/canvas/index.less +102 -0
- package/src/components/charts/framework/module/canvas/initDom.js +66 -0
- package/src/components/charts/framework/module/canvas/tool.js +62 -0
- package/src/components/charts/framework/module/connector/Manager.js +103 -0
- package/src/components/charts/framework/module/connector/index.js +99 -0
- package/src/components/charts/framework/module/connector/index.less +36 -0
- package/src/components/charts/framework/module/connector/type/dot.js +21 -0
- package/src/components/charts/framework/module/connector/type/expand.js +211 -0
- package/src/components/charts/framework/module/contextmenu/index.js +149 -0
- package/src/components/charts/framework/module/contextmenu/index.less +40 -0
- package/src/components/charts/framework/module/data/Manager.js +56 -0
- package/src/components/charts/framework/module/data/index.js +0 -0
- package/src/components/charts/framework/module/legend/Item.js +218 -0
- package/src/components/charts/framework/module/legend/constants.js +14 -0
- package/src/components/charts/framework/module/legend/getSymbol.js +86 -0
- package/src/components/charts/framework/module/legend/index.js +119 -0
- package/src/components/charts/framework/module/legend/util.js +81 -0
- package/src/components/charts/framework/module/line/Animation.js +125 -0
- package/src/components/charts/framework/module/line/Manager.js +299 -0
- package/src/components/charts/framework/module/line/Tag.js +61 -0
- package/src/components/charts/framework/module/line/bufferRender.js +74 -0
- package/src/components/charts/framework/module/line/cross/pathPoints.js +233 -0
- package/src/components/charts/framework/module/line/cross/vectorUtil.js +67 -0
- package/src/components/charts/framework/module/line/customize.js +29 -0
- package/src/components/charts/framework/module/line/index.js +260 -0
- package/src/components/charts/framework/module/line/index.less +24 -0
- package/src/components/charts/framework/module/line/type/Bezier.js +90 -0
- package/src/components/charts/framework/module/line/type/Circle.js +38 -0
- package/src/components/charts/framework/module/line/type/Direct.js +23 -0
- package/src/components/charts/framework/module/line/type/Ellipse.js +88 -0
- package/src/components/charts/framework/module/line/type/Round.js +245 -0
- package/src/components/charts/framework/module/lineLayout/CircleShape/calculate.js +71 -0
- package/src/components/charts/framework/module/lineLayout/CircleShape/index.js +32 -0
- package/src/components/charts/framework/module/lineLayout/CircleShape/init.js +34 -0
- package/src/components/charts/framework/module/lineLayout/RectShape/calculate.js +174 -0
- package/src/components/charts/framework/module/lineLayout/RectShape/index.js +43 -0
- package/src/components/charts/framework/module/lineLayout/RectShape/init.js +79 -0
- package/src/components/charts/framework/module/lineLayout/RectShape/sharing.js +57 -0
- package/src/components/charts/framework/module/lineLayout/index.js +30 -0
- package/src/components/charts/framework/module/node/Manager.js +190 -0
- package/src/components/charts/framework/module/node/bufferRender.js +73 -0
- package/src/components/charts/framework/module/node/convertData/index.js +24 -0
- package/src/components/charts/framework/module/node/convertData/returnSelf.js +16 -0
- package/src/components/charts/framework/module/node/convertData/transform.js +24 -0
- package/src/components/charts/framework/module/node/convertData/treeToLink.js +36 -0
- package/src/components/charts/framework/module/node/index.js +187 -0
- package/src/components/charts/framework/module/nodeLayout/circle/excute.js +270 -0
- package/src/components/charts/framework/module/nodeLayout/circle/index.js +24 -0
- package/src/components/charts/framework/module/nodeLayout/customize/index.js +16 -0
- package/src/components/charts/framework/module/nodeLayout/defaults/excute.js +27 -0
- package/src/components/charts/framework/module/nodeLayout/defaults/index.js +20 -0
- package/src/components/charts/framework/module/nodeLayout/grid/excute.js +392 -0
- package/src/components/charts/framework/module/nodeLayout/grid/index.js +20 -0
- package/src/components/charts/framework/module/nodeLayout/index.js +27 -0
- package/src/components/charts/framework/module/nodeLayout/linearArc/index.js +34 -0
- package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/NodeBox.js +165 -0
- package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/algorithm.js +261 -0
- package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/index.js +278 -0
- package/src/components/charts/framework/module/readme.js +127 -0
- package/src/components/charts/index.js +65 -0
- package/src/components/charts/index.less +29 -0
- package/src/components/charts/option/PolarSys/index.js +43 -0
- package/src/components/charts/option/RectSys/index.js +58 -0
- package/src/components/charts/option/base/index.js +25 -0
- package/src/components/charts/option/config/angleAxis/base.js +56 -0
- package/src/components/charts/option/config/angleAxis/index.js +43 -0
- package/src/components/charts/option/config/animation/index.js +64 -0
- package/src/components/charts/option/config/datazoom/base.js +123 -0
- package/src/components/charts/option/config/datazoom/index.js +61 -0
- package/src/components/charts/option/config/grid/base.js +22 -0
- package/src/components/charts/option/config/grid/index.js +32 -0
- package/src/components/charts/option/config/legend/base.js +80 -0
- package/src/components/charts/option/config/legend/icon.js +21 -0
- package/src/components/charts/option/config/legend/index.js +63 -0
- package/src/components/charts/option/config/legend/itemStyle.js +17 -0
- package/src/components/charts/option/config/legend/ldata.js +29 -0
- package/src/components/charts/option/config/legend/pageIcon.js +54 -0
- package/src/components/charts/option/config/legend/position.js +19 -0
- package/src/components/charts/option/config/legend/size.js +17 -0
- package/src/components/charts/option/config/legend/textStyle.js +16 -0
- package/src/components/charts/option/config/mark/index.js +74 -0
- package/src/components/charts/option/config/polar/base.js +30 -0
- package/src/components/charts/option/config/polar/index.js +36 -0
- package/src/components/charts/option/config/polarTitle/base.js +40 -0
- package/src/components/charts/option/config/polarTitle/index.js +52 -0
- package/src/components/charts/option/config/polarTitle/subtextStyle.js +21 -0
- package/src/components/charts/option/config/polarTitle/textStyle.js +22 -0
- package/src/components/charts/option/config/radiusAxis/base.js +55 -0
- package/src/components/charts/option/config/radiusAxis/index.js +41 -0
- package/src/components/charts/option/config/rectTitle/base.js +31 -0
- package/src/components/charts/option/config/rectTitle/index.js +53 -0
- package/src/components/charts/option/config/toolbox/base.js +42 -0
- package/src/components/charts/option/config/toolbox/index.js +12 -0
- package/src/components/charts/option/config/tooltip/axisPointer.js +31 -0
- package/src/components/charts/option/config/tooltip/base.js +62 -0
- package/src/components/charts/option/config/tooltip/formatter.js +64 -0
- package/src/components/charts/option/config/tooltip/index.js +41 -0
- package/src/components/charts/option/config/visualMap/index.js +91 -0
- package/src/components/charts/option/config/xAxis/axisLabel.js +35 -0
- package/src/components/charts/option/config/xAxis/axisLine.js +29 -0
- package/src/components/charts/option/config/xAxis/axisMargin.js +31 -0
- package/src/components/charts/option/config/xAxis/base.js +66 -0
- package/src/components/charts/option/config/xAxis/boundaryGap.js +17 -0
- package/src/components/charts/option/config/xAxis/index.js +52 -0
- package/src/components/charts/option/config/xAxis/name.js +18 -0
- package/src/components/charts/option/config/xAxis/xdata.js +23 -0
- package/src/components/charts/option/config/xAxis/xkey.js +21 -0
- package/src/components/charts/option/config/yAxis/axisOptimization.js +32 -0
- package/src/components/charts/option/config/yAxis/base.js +59 -0
- package/src/components/charts/option/config/yAxis/index.js +68 -0
- package/src/components/charts/option/config/yAxis/ydata.js +28 -0
- package/src/components/charts/option/init/index.js +204 -0
- package/src/components/charts/register.js +178 -0
- package/src/components/charts/theme.js +62 -0
- package/src/components/charts/util/Sequence.js +21 -0
- package/src/components/charts/util/centerDom.js +92 -0
- package/src/components/charts/util/cloneDeep.js +29 -0
- package/src/components/charts/util/color.js +193 -0
- package/src/components/charts/util/constants.js +125 -0
- package/src/components/charts/util/convert.js +49 -0
- package/src/components/charts/util/debounce.js +24 -0
- package/src/components/charts/util/defendXSS.js +81 -0
- package/src/components/charts/util/dom.js +90 -0
- package/src/components/charts/util/equal.js +62 -0
- package/src/components/charts/util/event.js +25 -0
- package/src/components/charts/util/hashMap.js +111 -0
- package/src/components/charts/util/init/insert.js +165 -0
- package/src/components/charts/util/math.js +183 -0
- package/src/components/charts/util/merge.js +78 -0
- package/src/components/charts/util/paint.js +98 -0
- package/src/components/charts/util/sort/max.js +64 -0
- package/src/components/charts/util/sort/min.js +64 -0
- package/src/components/charts/util/throttle.js +34 -0
- package/src/components/charts/util/tips.js +25 -0
- package/src/components/charts/util/type.js +46 -0
- package/src/components/ebiz-form/components/cascader.vue +61 -0
- package/src/components/ebiz-form/components/checkbox.vue +37 -0
- package/src/components/ebiz-form/components/city.vue +137 -0
- package/src/components/ebiz-form/components/date-panel.vue +52 -0
- package/src/components/ebiz-form/components/date-range-panel.vue +52 -0
- package/src/components/ebiz-form/components/date-range.vue +56 -0
- package/src/components/ebiz-form/components/date.vue +52 -0
- package/src/components/ebiz-form/components/editor-multi-language.vue +47 -0
- package/src/components/ebiz-form/components/editor.vue +78 -0
- package/src/components/ebiz-form/components/file-multi-language.vue +52 -0
- package/src/components/ebiz-form/components/file.vue +149 -0
- package/src/components/ebiz-form/components/images-multi-language.vue +52 -0
- package/src/components/ebiz-form/components/images.vue +129 -0
- package/src/components/ebiz-form/components/img-multi-language.vue +51 -0
- package/src/components/ebiz-form/components/img.vue +129 -0
- package/src/components/ebiz-form/components/number.vue +50 -0
- package/src/components/ebiz-form/components/radio.vue +28 -0
- package/src/components/ebiz-form/components/select.vue +119 -0
- package/src/components/ebiz-form/components/switch.vue +23 -0
- package/src/components/ebiz-form/components/text-multi-language.vue +47 -0
- package/src/components/ebiz-form/components/text.vue +52 -0
- package/src/components/ebiz-form/components/textarea-multi-language.vue +48 -0
- package/src/components/ebiz-form/components/textarea.vue +29 -0
- package/src/components/ebiz-form/components/video-multi-language.vue +51 -0
- package/src/components/ebiz-form/components/video.vue +97 -0
- package/src/components/ebiz-form/index.vue +157 -0
- package/src/components/icons/IconCommunity.vue +7 -0
- package/src/components/icons/IconDocumentation.vue +7 -0
- package/src/components/icons/IconEcosystem.vue +7 -0
- package/src/components/icons/IconSupport.vue +7 -0
- package/src/components/icons/IconTooling.vue +19 -0
- package/src/index.js +39 -0
- package/src/main.js +41 -0
- package/src/router/index.js +71 -0
- package/src/utils/formatCode.js +24 -0
- package/src/utils/generateImportStatement.js +52 -0
- package/src/utils/hasJsx.js +25 -0
- package/src/utils/index.js +166 -0
- package/src/utils/mergeOptions.js +29 -0
- package/src/utils/parseRequiredBlocks.js +18 -0
- package/src/utils/upload.ts +126 -0
- package/src/utils/vue-sfc-validator.js +155 -0
- package/src/views/Button.vue +20 -0
- package/src/views/DataContainer.vue +20 -0
- package/src/views/Form.vue +20 -0
- package/src/views/Home.vue +65 -0
- package/src/views/Mindmap.vue +20 -0
- package/src/views/MyComponent.vue +20 -0
- package/src/views/OkrTree.vue +20 -0
- package/src/views/RemoteSelect.vue +20 -0
- package/src/views/Table.vue +20 -0
- package/src/views/Title.vue +20 -0
@@ -0,0 +1,233 @@
|
|
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 { add, offset, vectorFromPoints, isParallel, dot, getUnitVector, anotherOne, isOrthogonalLine } from "./vectorUtil";
|
13
|
+
|
14
|
+
/*
|
15
|
+
* 矩形节点延伸线方向,top:x坐标不变,y坐标减少延伸线的一个距离,定义为[0,-1]
|
16
|
+
* 描述方向 使用svg 平面轴 上:[0,-1] 右:[1,0] 下 [0,1] 左 [-1,0]
|
17
|
+
*/
|
18
|
+
const DIRECTION_TYPE = {
|
19
|
+
top: [0, -1],
|
20
|
+
right: [1, 0],
|
21
|
+
bottom: [0, 1],
|
22
|
+
left: [-1, 0],
|
23
|
+
}
|
24
|
+
|
25
|
+
// 点的矢量方向,转成top等语义化方向
|
26
|
+
const DIRECTION_NAME = {
|
27
|
+
'0,-1': 'top',
|
28
|
+
'1,0': 'right',
|
29
|
+
'0,1': 'bottom',
|
30
|
+
'-1,0': 'left',
|
31
|
+
'0,0': 'right'
|
32
|
+
}
|
33
|
+
|
34
|
+
// 画圆弧拐点时的矢量
|
35
|
+
const OFFSET_RADIUS = {
|
36
|
+
top: [0, 1],
|
37
|
+
right: [-1, 0],
|
38
|
+
bottom: [0, -1],
|
39
|
+
left: [1, 0],
|
40
|
+
}
|
41
|
+
|
42
|
+
// 默认连线数据
|
43
|
+
const DEFAULT_OPTION = {
|
44
|
+
startPoint: [0, 0],
|
45
|
+
startDirection: 'right',
|
46
|
+
startDistance: 10,
|
47
|
+
endPoint: [100, 100],
|
48
|
+
endDirection: 'left',
|
49
|
+
endDistance: 10,
|
50
|
+
}
|
51
|
+
//中线智能 路由-遗留
|
52
|
+
|
53
|
+
// path 指除了延申线之外的连接线
|
54
|
+
function setPoints(data, option = { turnRatio: 0.5, radius: 0 }) {
|
55
|
+
let lineData = Object.assign({}, DEFAULT_OPTION, data);
|
56
|
+
let { startPoint, startDistance, endPoint, endDistance } = lineData;
|
57
|
+
let startDirection = DIRECTION_TYPE[lineData.startDirection];
|
58
|
+
let endDirection = DIRECTION_TYPE[lineData.endDirection];
|
59
|
+
let points = [];
|
60
|
+
|
61
|
+
// 起点和终点的x或者y轴相同时,只需要画一条线
|
62
|
+
if (isOrthogonalLine(startPoint, endPoint)) {
|
63
|
+
points.push({
|
64
|
+
position: startPoint,
|
65
|
+
direction: 'start'
|
66
|
+
}, {
|
67
|
+
position: endPoint,
|
68
|
+
direction: 'end'
|
69
|
+
})
|
70
|
+
} else {
|
71
|
+
|
72
|
+
// 1. 获得入方向和出方向 ——参数中已获得; 当endDirection 未定义时
|
73
|
+
if (!endDirection) {
|
74
|
+
let startToEnd = vectorFromPoints(startPoint, endPoint)
|
75
|
+
if (Math.abs(startToEnd[0]) > Math.abs(startToEnd[1])) {
|
76
|
+
endDirection = [startToEnd[0] / Math.abs(startToEnd[0]), 0]
|
77
|
+
} else {
|
78
|
+
endDirection = [0, startToEnd[1] / Math.abs(startToEnd[1])]
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
// 起点和终点偏移量(延伸的x和y轴距离)
|
83
|
+
let startOffset = offset(startDirection, startDistance);
|
84
|
+
let endOffset = offset(endDirection, endDistance);
|
85
|
+
|
86
|
+
// 2. 正交线起点和终点
|
87
|
+
let pathStartPoint = add(startPoint, startOffset);
|
88
|
+
let pathEndPoint = add(endPoint, endOffset);
|
89
|
+
|
90
|
+
// 入口方向需要取反(入口方向例如是right:[1,0],计算偏移量时,应该是从右到左进入,所以应该是[-1,0])
|
91
|
+
endDirection = offset(endDirection, -1);
|
92
|
+
|
93
|
+
// path的水平向量
|
94
|
+
let pathHorizenVec = [pathEndPoint[0] - pathStartPoint[0], 0];
|
95
|
+
|
96
|
+
// path的竖直向量
|
97
|
+
let pathVerticalVec = [0, pathEndPoint[1] - pathStartPoint[1]];
|
98
|
+
|
99
|
+
// 3.计算path 的起始方向:起点延伸方向,若与垂直向量或者水平向量当中的一项,同方向,则以起点延伸线方向画线,否则取垂直方向为起始方向。
|
100
|
+
let comp = [pathHorizenVec, pathVerticalVec]
|
101
|
+
let pathStart;
|
102
|
+
|
103
|
+
// 正交线起点的平行向量
|
104
|
+
let startParallelVec = comp.find(vec => isParallel(vec, startDirection));
|
105
|
+
|
106
|
+
// 如果点积为正,则两向量同向;如果为负,则反向;如果为零,则两向量正交
|
107
|
+
if (dot(startParallelVec, startDirection) > 0) {
|
108
|
+
|
109
|
+
// 延伸线同方向继续延伸
|
110
|
+
pathStart = startParallelVec
|
111
|
+
} else {
|
112
|
+
|
113
|
+
// 延伸线垂直方向开始画线
|
114
|
+
pathStart = anotherOne(comp, startParallelVec);
|
115
|
+
}
|
116
|
+
|
117
|
+
// 4.计算path 的末方向: 两方向与末方向平行的一项,如果是同向则取之,反之则取垂直方向的一项
|
118
|
+
let pathEnd;
|
119
|
+
let endParallelVec = comp.find(vec => isParallel(vec, endDirection));
|
120
|
+
if (dot(endParallelVec, endDirection) > 0) {
|
121
|
+
pathEnd = endParallelVec
|
122
|
+
} else {
|
123
|
+
pathEnd = anotherOne(comp, endParallelVec);
|
124
|
+
|
125
|
+
}
|
126
|
+
|
127
|
+
// 5.如果path的起末为同方向,则分为2个拐角,否则为1个拐角,即出和入平行分为2个拐角,垂直需要1个拐角
|
128
|
+
let splitNum = dot(pathStart, pathEnd) > 0 ? 2 : 1;
|
129
|
+
|
130
|
+
// 中间连线的向量
|
131
|
+
let pathMiddle = anotherOne(comp, pathEnd);
|
132
|
+
|
133
|
+
// 6.计算path中的转折点 返回数据中加入了单位向量
|
134
|
+
points.push({
|
135
|
+
position: startPoint,
|
136
|
+
direction: 'start'
|
137
|
+
}, {
|
138
|
+
position: pathStartPoint,
|
139
|
+
direction: directionText(startDirection)
|
140
|
+
});
|
141
|
+
if (splitNum == 1) {
|
142
|
+
let point1 = add(pathStartPoint, pathStart)
|
143
|
+
let dir1 = getUnictVecByStraight(pathStart)
|
144
|
+
let point2 = add(point1, pathEnd)
|
145
|
+
let dir2 = getUnictVecByStraight(pathEnd)
|
146
|
+
points.push({
|
147
|
+
position: point1,
|
148
|
+
direction: directionText(dir1)
|
149
|
+
}, {
|
150
|
+
position: point2,
|
151
|
+
direction: directionText(dir2)
|
152
|
+
})
|
153
|
+
} else {
|
154
|
+
let point1 = add(pathStartPoint, offset(pathStart, option.turnRatio));
|
155
|
+
let dir1 = getUnictVecByStraight(pathStart);
|
156
|
+
let point2 = add(point1, pathMiddle);
|
157
|
+
let dir2 = getUnictVecByStraight(pathMiddle);
|
158
|
+
let point3 = add(point2, offset(pathEnd, 1 - option.turnRatio));
|
159
|
+
let dir3 = getUnictVecByStraight(pathEnd)
|
160
|
+
if (option.radius) {
|
161
|
+
let directionVector1 = OFFSET_RADIUS[directionText(dir1)];
|
162
|
+
let directionVector2 = OFFSET_RADIUS[directionText(dir2)];
|
163
|
+
point1 = add(point1, offset(directionVector1, option.radius))
|
164
|
+
point2 = add(point2, offset(directionVector2, option.radius))
|
165
|
+
points.push({
|
166
|
+
position: point1,
|
167
|
+
direction: directionText(dir1)
|
168
|
+
}, {
|
169
|
+
|
170
|
+
// 增加的圆弧点
|
171
|
+
position: point1,
|
172
|
+
direction: getCorner(dir1, dir2)
|
173
|
+
}, {
|
174
|
+
position: point2,
|
175
|
+
direction: directionText(dir2),
|
176
|
+
}, {
|
177
|
+
|
178
|
+
// 增加的圆弧点
|
179
|
+
position: point2,
|
180
|
+
direction: getCorner(dir2, dir3),
|
181
|
+
}, {
|
182
|
+
position: point3,
|
183
|
+
direction: directionText(dir3)
|
184
|
+
})
|
185
|
+
} else {
|
186
|
+
points.push({
|
187
|
+
position: point1,
|
188
|
+
direction: directionText(dir1)
|
189
|
+
}, {
|
190
|
+
position: point2,
|
191
|
+
direction: directionText(dir2),
|
192
|
+
}, {
|
193
|
+
position: point3,
|
194
|
+
direction: directionText(dir3)
|
195
|
+
})
|
196
|
+
}
|
197
|
+
}
|
198
|
+
points.push({
|
199
|
+
position: endPoint,
|
200
|
+
direction: 'end'
|
201
|
+
});
|
202
|
+
}
|
203
|
+
|
204
|
+
// 返回path所需要的所有点的坐标信息
|
205
|
+
return points.filter(v => v.direction !== false);
|
206
|
+
}
|
207
|
+
|
208
|
+
// 获取竖直和水平向量的单位向量
|
209
|
+
function getUnictVecByStraight(vector) {
|
210
|
+
if (vector[0] == 0 && vector[1] == 0)
|
211
|
+
return [0, 0]
|
212
|
+
else if (vector[0] == 0)
|
213
|
+
return [0, vector[1] / Math.abs(vector[1])]
|
214
|
+
else if (vector[1] == 0)
|
215
|
+
return [vector[0] / Math.abs(vector[0]), 0]
|
216
|
+
else
|
217
|
+
return getUnitVector(vector)
|
218
|
+
}
|
219
|
+
|
220
|
+
// 将向量坐标转成语义化的方向信息
|
221
|
+
function directionText(vector) {
|
222
|
+
let text = vector.join(',').replace('-0', '0');
|
223
|
+
return DIRECTION_NAME[text]
|
224
|
+
}
|
225
|
+
|
226
|
+
// 拐点方向
|
227
|
+
function getCorner(startDir, endDir) {
|
228
|
+
const startStr = directionText(startDir).charAt(0).toUpperCase();
|
229
|
+
const endStr = directionText(endDir).charAt(0).toUpperCase();
|
230
|
+
return startStr + endStr
|
231
|
+
}
|
232
|
+
|
233
|
+
export default setPoints;
|
@@ -0,0 +1,67 @@
|
|
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
|
+
// 向量相加 或者 向量与坐标相加
|
13
|
+
export const add = function (vectorA, vectorB) {
|
14
|
+
return [vectorA[0] + vectorB[0], vectorA[1] + vectorB[1]]
|
15
|
+
}
|
16
|
+
|
17
|
+
// 向量乘以常量系数
|
18
|
+
export const offset = function (vector, k) {
|
19
|
+
return [vector[0] * k, vector[1] * k]
|
20
|
+
}
|
21
|
+
|
22
|
+
// 两点之间的向量,a点指向b点
|
23
|
+
export const vectorFromPoints = function (pointA, pointB) {
|
24
|
+
return [pointB[0] - pointA[0], pointB[1] - pointA[1]]
|
25
|
+
}
|
26
|
+
|
27
|
+
// 判断向量是否平行
|
28
|
+
export const isParallel = function (vectorA, vectorB) {
|
29
|
+
if (vectorA[0] * vectorB[1] === vectorA[1] * vectorB[0]) return true;
|
30
|
+
return false;
|
31
|
+
}
|
32
|
+
|
33
|
+
// 向量点积
|
34
|
+
export const dot = function (vectorA, vectorB) {
|
35
|
+
return vectorA[0] * vectorB[0] + vectorA[1] * vectorB[1];
|
36
|
+
}
|
37
|
+
|
38
|
+
// 向量叉乘
|
39
|
+
export const cross = function (vectorA, vectorB) {
|
40
|
+
return vectorA[0] * vectorB[1] - vectorA[1] * vectorB[0];
|
41
|
+
}
|
42
|
+
|
43
|
+
// 向量夹角
|
44
|
+
export const angleFrom = function (vector) {
|
45
|
+
return Math.acos(vector[0] / Math.sqrt(vector[0] * vector[0] + vector[1] * vector[1]))
|
46
|
+
}
|
47
|
+
|
48
|
+
// 获取向量的单位向量
|
49
|
+
export const getUnitVector = function (vector) {
|
50
|
+
var m = Math.sqrt(vector[0] * vector[0] + vector[1] * vector[1])
|
51
|
+
return [vector[0] / m, vector[1] / m]
|
52
|
+
}
|
53
|
+
|
54
|
+
// 判断向量 x,y 坐标相等
|
55
|
+
export const equals = function (vector, target) {
|
56
|
+
return vector[0] === target[0] && vector[1] === target[1]
|
57
|
+
}
|
58
|
+
|
59
|
+
// 判断向量 x或者y 坐标相等,即垂直线或者水平线
|
60
|
+
export const isOrthogonalLine = function (vector, target) {
|
61
|
+
return vector[0] === target[0] || vector[1] === target[1]
|
62
|
+
}
|
63
|
+
|
64
|
+
// 两个元素的数组中的另一个
|
65
|
+
export const anotherOne = function (comp, a) {
|
66
|
+
return comp.find(v => v != a)
|
67
|
+
}
|
@@ -0,0 +1,29 @@
|
|
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 Line from './index';
|
13
|
+
// 自定义渲染线
|
14
|
+
function Customize(params) {
|
15
|
+
const { data, option, ArrowManager, svgContainer } = params
|
16
|
+
data.edges.forEach(edge => {
|
17
|
+
const lineInstance = new Line(edge, ArrowManager, option);
|
18
|
+
let path = lineInstance.render();
|
19
|
+
// 绑定连线由短变长的动效
|
20
|
+
lineInstance.animation({
|
21
|
+
type: 'grow',
|
22
|
+
duration: option.duration || 500,
|
23
|
+
path
|
24
|
+
});
|
25
|
+
svgContainer.appendChild(path);
|
26
|
+
})
|
27
|
+
};
|
28
|
+
|
29
|
+
export default Customize;
|
@@ -0,0 +1,260 @@
|
|
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 Tag from './Tag.js';
|
13
|
+
import Round from './type/Round.js';
|
14
|
+
import Direct from './type/Direct.js';
|
15
|
+
import Bezier from './type/Bezier.js';
|
16
|
+
import Circle from './type/Circle.js';
|
17
|
+
import Ellipse from './type/Ellipse.js';
|
18
|
+
import Animation from './Animation.js';
|
19
|
+
import { attr, addClass, createDom } from '../../../util/dom.js';
|
20
|
+
|
21
|
+
const TYPE_ROUND = 'Round';// 折线
|
22
|
+
const TYPE_BEZIER = 'Bezier';// 贝塞尔曲线
|
23
|
+
const TYPE_DIRECT = 'Direct'; // 直线
|
24
|
+
const TYPE_CIRCLE = 'Circle'; // 半圆
|
25
|
+
const TYPE_ELLIPSE = 'Ellipse'; // 椭圆
|
26
|
+
|
27
|
+
const EVENT_CLICK = 'click';// 点击事件
|
28
|
+
const EVENT_HOVER = 'hover'; // hover事件
|
29
|
+
const EVENT_MOUSEENTER = 'mouseenter'; // 鼠标移入事件
|
30
|
+
const EVENT_MOUSELEAVE = 'mouseleave'; // 鼠标移出事件
|
31
|
+
|
32
|
+
const LINE_STATUS_DEFAULT = 'default';
|
33
|
+
const LINE_STATUS_HOVER = 'hover';
|
34
|
+
const LINE_STATUS_ACTIVE = 'active';
|
35
|
+
const LINE_STATUS_DISABLE = 'disable';
|
36
|
+
const TAG_DEFAULT = {
|
37
|
+
background: '#656565',
|
38
|
+
color: '#fff',
|
39
|
+
radius: '3',
|
40
|
+
position: 0.5
|
41
|
+
};
|
42
|
+
|
43
|
+
const LineFactory = {
|
44
|
+
[TYPE_ROUND]: Round,
|
45
|
+
[TYPE_DIRECT]: Direct,
|
46
|
+
[TYPE_BEZIER]: Bezier,
|
47
|
+
[TYPE_CIRCLE]: Circle,
|
48
|
+
[TYPE_ELLIPSE]: Ellipse
|
49
|
+
}
|
50
|
+
|
51
|
+
export default class Line {
|
52
|
+
// 标签管理器
|
53
|
+
TagManager;
|
54
|
+
// 线动效管理器
|
55
|
+
AnimationManager = {};
|
56
|
+
// 连线是否已渲染
|
57
|
+
hasRender;
|
58
|
+
|
59
|
+
constructor(data, ArrowManager, option) {
|
60
|
+
this.data = data;
|
61
|
+
this.lineOption = data.lineOption;
|
62
|
+
this.style = data.lineOption.style;
|
63
|
+
this.ArrowManager = ArrowManager;
|
64
|
+
this.option = option;
|
65
|
+
this.hasRender = false;
|
66
|
+
}
|
67
|
+
|
68
|
+
// 创建连线dom
|
69
|
+
create(d) {
|
70
|
+
let g = createDom('g');
|
71
|
+
let path = createDom('path');
|
72
|
+
let id = this.data.id;
|
73
|
+
attr(path, 'startNode', this.data.start);
|
74
|
+
attr(path, 'endNode', this.data.end);
|
75
|
+
attr(path, 'd', d);
|
76
|
+
attr(path, 'id', id);
|
77
|
+
attr(path, 'stroke', this.style.color);
|
78
|
+
addClass(path, 'huicharts-line');
|
79
|
+
addClass(g, 'huicharts-line-wrap');
|
80
|
+
if (this.style.mode === 'dash') {
|
81
|
+
attr(path, 'stroke-dasharray', 5);
|
82
|
+
}
|
83
|
+
attr(path, 'stroke-width', this.style.width + 'px');
|
84
|
+
g.appendChild(path);
|
85
|
+
// 线动效需要1s的时间,延时生成箭头(虚线无生长动效,无需延时生成箭头)
|
86
|
+
if (this.style.mode === 'dash') {
|
87
|
+
this.creatMarker(path);
|
88
|
+
}else{
|
89
|
+
setTimeout(() => {
|
90
|
+
this.creatMarker(path);
|
91
|
+
}, 1000);
|
92
|
+
}
|
93
|
+
// 创建线的热区,便于hover、click触发
|
94
|
+
this.createTriggerPath(path, g);
|
95
|
+
// 创建tag标签
|
96
|
+
this.createTag(this.data, g);
|
97
|
+
return g;
|
98
|
+
}
|
99
|
+
|
100
|
+
createTriggerPath(path, g) {
|
101
|
+
let triggerPath = path.cloneNode(true);
|
102
|
+
let removeAttr = ['id', 'stroke', 'stroke-width', 'marker-end', 'marker-start'];
|
103
|
+
// 循环遍历并删除属性
|
104
|
+
removeAttr.forEach(function (attr) {
|
105
|
+
triggerPath.removeAttribute(attr);
|
106
|
+
});
|
107
|
+
addClass(triggerPath, 'huicharts-line-trigger');
|
108
|
+
g.appendChild(triggerPath);
|
109
|
+
}
|
110
|
+
|
111
|
+
// 创建Tag标签
|
112
|
+
createTag(edge, g) {
|
113
|
+
if (!edge.tag) return;
|
114
|
+
let defaultStyle = Object.assign({}, this.lineOption.style.tag, edge.tag);
|
115
|
+
edge.tag.style = Object.assign({}, TAG_DEFAULT, defaultStyle);
|
116
|
+
this.TagManager = new Tag(edge);
|
117
|
+
let tagDom = this.TagManager.render();
|
118
|
+
g.appendChild(tagDom);
|
119
|
+
this.TagManager.setPosition(g, edge);
|
120
|
+
}
|
121
|
+
|
122
|
+
// 创建首尾箭头
|
123
|
+
creatMarker(path) {
|
124
|
+
// 用户配置了startMarker,则给path增加marker-start标签,并使用对应的url
|
125
|
+
const startMarker = this.ArrowManager.lineOption.startMarker;
|
126
|
+
// 用户配置了endMarker,则给path增加marker-end标签,并使用对应的url
|
127
|
+
const endMarker = this.ArrowManager.lineOption.endMarker;
|
128
|
+
this.ArrowManager.hasStartMarker && this.ArrowManager.render(path, startMarker, 'start');
|
129
|
+
this.ArrowManager.hasEndMarker && this.ArrowManager.render(path, endMarker, 'end');
|
130
|
+
}
|
131
|
+
|
132
|
+
// 拼接连线信息
|
133
|
+
render() {
|
134
|
+
const CreatorClass = LineFactory[this.lineOption.type || TYPE_DIRECT];
|
135
|
+
this.lineCreator = new CreatorClass(this.data)
|
136
|
+
const path = this.lineCreator.creatPath(this.data, this.option);
|
137
|
+
// 设置节点为已渲染
|
138
|
+
this.hasRender = true;
|
139
|
+
this.AnimationManager = new Animation();
|
140
|
+
this.path = this.create(path)
|
141
|
+
return this.path;
|
142
|
+
}
|
143
|
+
|
144
|
+
// 连线绑定事件
|
145
|
+
bindEvent(path, event, callback) {
|
146
|
+
let linePath = path.firstChild;
|
147
|
+
let self = this;
|
148
|
+
if (event === EVENT_CLICK) {
|
149
|
+
path.addEventListener(EVENT_CLICK, function () {
|
150
|
+
if (self.style.active) {
|
151
|
+
self.isClick = true;
|
152
|
+
self.setActiveStatus(linePath);
|
153
|
+
}
|
154
|
+
callback && callback(linePath)
|
155
|
+
});
|
156
|
+
} else if (event === EVENT_HOVER) {
|
157
|
+
path.addEventListener(EVENT_MOUSEENTER, function () {
|
158
|
+
if (self.style.hover && !self.isClick) {
|
159
|
+
self.setHoverStatus(linePath);
|
160
|
+
}
|
161
|
+
callback && callback(linePath)
|
162
|
+
});
|
163
|
+
path.addEventListener(EVENT_MOUSELEAVE, function () {
|
164
|
+
if (self.style.hover && !self.isClick) {
|
165
|
+
self.setDefaultStatus(linePath);
|
166
|
+
}
|
167
|
+
});
|
168
|
+
}
|
169
|
+
}
|
170
|
+
|
171
|
+
setDefaultStatus(path) {
|
172
|
+
this.setStatus(path, LINE_STATUS_DEFAULT);
|
173
|
+
}
|
174
|
+
|
175
|
+
setActiveStatus(path) {
|
176
|
+
this.setStatus(path, LINE_STATUS_ACTIVE);
|
177
|
+
}
|
178
|
+
|
179
|
+
setHoverStatus(path) {
|
180
|
+
this.setStatus(path, LINE_STATUS_HOVER);
|
181
|
+
}
|
182
|
+
|
183
|
+
setDisableStatus(path) {
|
184
|
+
this.setStatus(path, LINE_STATUS_DISABLE);
|
185
|
+
}
|
186
|
+
|
187
|
+
// 设定连线到指定状态
|
188
|
+
setStatus(path, status) {
|
189
|
+
if (status === LINE_STATUS_DEFAULT) {
|
190
|
+
attr(path, 'stroke', this.style.color);
|
191
|
+
attr(path, 'stroke-width', this.style.width + 'px');
|
192
|
+
} else {
|
193
|
+
this.style[status].color && attr(path, 'stroke', this.style[status].color);
|
194
|
+
this.style[status].width && attr(path, 'stroke-width', this.style[status].width + 'px');
|
195
|
+
}
|
196
|
+
this.ArrowManager.hasStartMarker && this.ArrowManager.setMarker(path, 'start', status);
|
197
|
+
this.ArrowManager.hasEndMarker && this.ArrowManager.setMarker(path, 'end', status);
|
198
|
+
}
|
199
|
+
|
200
|
+
// 连线动效
|
201
|
+
animation(option) {
|
202
|
+
option.color && this.ArrowManager.changeMarkerColor(option.path, option.color);
|
203
|
+
this.AnimationManager.start(option);
|
204
|
+
}
|
205
|
+
|
206
|
+
// 更新连线
|
207
|
+
update(line) {
|
208
|
+
const lineDom = document.getElementById(line.id);
|
209
|
+
if (!lineDom) return;
|
210
|
+
let dasharray = lineDom.getTotalLength();
|
211
|
+
const triggerLine = lineDom.nextSibling;
|
212
|
+
const CreatorClass = LineFactory[line.lineOption.type || TYPE_DIRECT];
|
213
|
+
this.lineCreator = new CreatorClass(this.data)
|
214
|
+
const path = this.lineCreator.creatPath(line, this.option);
|
215
|
+
attr(lineDom, 'd', path);
|
216
|
+
attr(lineDom, 'stroke-dasharray', dasharray);
|
217
|
+
attr(lineDom, 'stroke', line.lineOption.style.color);
|
218
|
+
if (line.lineOption.style.mode === 'dash') {
|
219
|
+
attr(lineDom, 'stroke-dasharray', 5);
|
220
|
+
}
|
221
|
+
attr(lineDom, 'stroke-width', line.lineOption.style.width + 'px');
|
222
|
+
attr(triggerLine, 'd', path);
|
223
|
+
this.updateTransPath(line, path);
|
224
|
+
this.updateTag(lineDom,line);
|
225
|
+
}
|
226
|
+
|
227
|
+
// 隐藏连线,一般用于折叠后,终点折叠到起点的另一边后,线仍然显示在页面中的问题
|
228
|
+
hide(line) {
|
229
|
+
const lineDom = document.getElementById(line.id);
|
230
|
+
if (!lineDom) return;
|
231
|
+
const triggerLine = lineDom.nextSibling;
|
232
|
+
attr(lineDom, 'd', '');
|
233
|
+
attr(triggerLine, 'd', '');
|
234
|
+
}
|
235
|
+
|
236
|
+
// 更新流光的路径
|
237
|
+
updateTransPath(line, path) {
|
238
|
+
let transDom = document.getElementById(`${line.id}-trans-streamer`);
|
239
|
+
if (!transDom) return;
|
240
|
+
for (var i = 0; i < transDom.children.length; i++) {
|
241
|
+
var child = transDom.children[i];
|
242
|
+
child.style.offsetPath = `path("${path}")`;
|
243
|
+
}
|
244
|
+
}
|
245
|
+
|
246
|
+
// 更新tag标签位置
|
247
|
+
updateTag(line, lineData) {
|
248
|
+
const g = line.parentNode;
|
249
|
+
this.TagManager?.setPosition(g, lineData);
|
250
|
+
}
|
251
|
+
|
252
|
+
// 删除连线
|
253
|
+
unmount(id) {
|
254
|
+
const line = document.getElementById(id);
|
255
|
+
if (line) {
|
256
|
+
line.parentNode.remove();
|
257
|
+
this.AnimationManager.unmount()
|
258
|
+
}
|
259
|
+
}
|
260
|
+
}
|
@@ -0,0 +1,24 @@
|
|
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
|
+
.huicharts-line{
|
13
|
+
fill: transparent;
|
14
|
+
stroke-linejoin: round;
|
15
|
+
pointer-events: stroke;
|
16
|
+
stroke-dashoffset: 0;
|
17
|
+
}
|
18
|
+
|
19
|
+
.huicharts-line-trigger {
|
20
|
+
cursor: pointer;
|
21
|
+
stroke: transparent;
|
22
|
+
stroke-linecap: round;
|
23
|
+
stroke-width: 10
|
24
|
+
}
|