@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,278 @@
|
|
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 LineRound from './LineRound';
|
13
|
+
import LineBezier from './LineBezier';
|
14
|
+
import LineDirect from './LineDirect';
|
15
|
+
import { createTransLine, transLine } from './LineMode';
|
16
|
+
import { NODE_ID_PREFIX } from './NodeManager';
|
17
|
+
import { attr, addClass, createSvgByTag } from './util';
|
18
|
+
|
19
|
+
const LINE_ID_PREFIX = 'fc-line-';
|
20
|
+
const TYPE_ROUND = 'Round';
|
21
|
+
const TYPE_BEZIER = 'Bezier';
|
22
|
+
const TYPE_Direct = 'Direct';
|
23
|
+
const TYPE_STRAIGHT = 'Straight';
|
24
|
+
|
25
|
+
const defaultStyle = {
|
26
|
+
width: 1,
|
27
|
+
color: '#c2c2c2',
|
28
|
+
type: TYPE_ROUND,
|
29
|
+
};
|
30
|
+
|
31
|
+
const LineFactory = {
|
32
|
+
[TYPE_ROUND]: LineRound,
|
33
|
+
[TYPE_Direct]: LineDirect,
|
34
|
+
[TYPE_BEZIER]: LineBezier,
|
35
|
+
[TYPE_STRAIGHT]: LineRound
|
36
|
+
}
|
37
|
+
|
38
|
+
// 流程线仅支持直线和折线图
|
39
|
+
const transLineType = ['Direct', 'Round', 'Straight'];
|
40
|
+
export default class LineManager {
|
41
|
+
// 连线样式
|
42
|
+
style;
|
43
|
+
// 连线数据计算器
|
44
|
+
lineCreator;
|
45
|
+
// 连线方向
|
46
|
+
direction;
|
47
|
+
|
48
|
+
constructor(data, container, tagContainer, containerPosn, option) {
|
49
|
+
this.data = data;
|
50
|
+
this.option = option;
|
51
|
+
this.tagContainer = tagContainer;
|
52
|
+
this.direction = option.direction;
|
53
|
+
this.initColor(option);
|
54
|
+
this.style = Object.assign({},defaultStyle, option.lineStyle);
|
55
|
+
this.createLineCreator(container);
|
56
|
+
this.initArrow();
|
57
|
+
this.container = container;
|
58
|
+
this.containerPosn = containerPosn;
|
59
|
+
this.getLineAlignStyle(data.edges);
|
60
|
+
this.createLines(data.edges);
|
61
|
+
this.connectVirtualLine(data.edges);
|
62
|
+
this.createTags(data.edges);
|
63
|
+
}
|
64
|
+
|
65
|
+
initColor(option) {
|
66
|
+
if (option.theme && option.theme === 'dark') {
|
67
|
+
defaultStyle.color = '#ffffff';
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
initArrow() {
|
72
|
+
let arrow = document.getElementById('markerArrow');
|
73
|
+
let color = this.style.color || '#c2c2c2';
|
74
|
+
attr(arrow, 'fill', color);
|
75
|
+
}
|
76
|
+
|
77
|
+
/**
|
78
|
+
* 生成连线数据计算器
|
79
|
+
*/
|
80
|
+
createLineCreator(container) {
|
81
|
+
if(this.style.type === TYPE_STRAIGHT){
|
82
|
+
this.style.radius = 0;
|
83
|
+
}
|
84
|
+
const CreatorClass = LineFactory[this.style.type];
|
85
|
+
this.lineCreator = new CreatorClass(this.style, {
|
86
|
+
gContainer: container,
|
87
|
+
tagContainer: this.tagContainer
|
88
|
+
});
|
89
|
+
}
|
90
|
+
|
91
|
+
/**
|
92
|
+
*
|
93
|
+
* 计算连线的对齐方式,是向前对齐,还是向后对齐
|
94
|
+
*/
|
95
|
+
getLineAlignStyle(edges){
|
96
|
+
edges.forEach(edge => {
|
97
|
+
if(!edge.alignType){
|
98
|
+
let sameSource = edges.filter(item =>{
|
99
|
+
return (item.source === edge.source) && (item !== edge)
|
100
|
+
});
|
101
|
+
if(sameSource.length > 0){
|
102
|
+
edge.alignType = 'source';
|
103
|
+
sameSource.forEach(item => {
|
104
|
+
item.alignType = 'source';
|
105
|
+
});
|
106
|
+
}
|
107
|
+
}
|
108
|
+
});
|
109
|
+
edges.forEach(edge => {
|
110
|
+
if(!edge.alignType){
|
111
|
+
edge.alignType = 'target';
|
112
|
+
}
|
113
|
+
});
|
114
|
+
}
|
115
|
+
|
116
|
+
/**
|
117
|
+
* 计算连线数据
|
118
|
+
*/
|
119
|
+
setData(edge) {
|
120
|
+
if(edge?.lineStyle?.type){ // edge节点应用自身设置的连线样式
|
121
|
+
const CreatorClass = LineFactory[edge?.lineStyle?.type];
|
122
|
+
let lineCreator= new CreatorClass(edge?.lineStyle, {
|
123
|
+
gContainer: this.container,
|
124
|
+
tagContainer: this.tagContainer
|
125
|
+
})
|
126
|
+
return lineCreator.setData(edge, this.data, this.direction);
|
127
|
+
}else{
|
128
|
+
this.lineCreator.setData(edge, this.data, this.direction);
|
129
|
+
}
|
130
|
+
// 用户自定义edge位置修正
|
131
|
+
if (edge.offset) {
|
132
|
+
edge.offset(edge)
|
133
|
+
}
|
134
|
+
}
|
135
|
+
|
136
|
+
/**
|
137
|
+
* 拼接连线信息
|
138
|
+
*/
|
139
|
+
setPath(edge) {
|
140
|
+
if(edge?.lineStyle?.type){ // edge节点应用自身设置的连线样式
|
141
|
+
const CreatorClass = LineFactory[edge?.lineStyle?.type];
|
142
|
+
let lineCreator= new CreatorClass(edge?.lineStyle, {
|
143
|
+
gContainer: this.container,
|
144
|
+
tagContainer: this.tagContainer
|
145
|
+
})
|
146
|
+
return lineCreator.setPath(edge)
|
147
|
+
}else{
|
148
|
+
return this.lineCreator.setPath(edge);
|
149
|
+
}
|
150
|
+
}
|
151
|
+
|
152
|
+
// 根据数据创建连线
|
153
|
+
createLines(edges) {
|
154
|
+
edges.forEach(edge => {
|
155
|
+
this.setData(edge);
|
156
|
+
let path = this.createLine(edge);
|
157
|
+
this.container.appendChild(path);
|
158
|
+
});
|
159
|
+
}
|
160
|
+
|
161
|
+
// 创建连线dom
|
162
|
+
createLine(edge) {
|
163
|
+
let path = createSvgByTag('path');
|
164
|
+
let id = LINE_ID_PREFIX + edge.source + '-to-' + edge.target;
|
165
|
+
let d = this.setPath(edge);
|
166
|
+
edge.id = id;
|
167
|
+
attr(path, 'd', d);
|
168
|
+
attr(path, 'id', id);
|
169
|
+
if (this.style.color) {
|
170
|
+
attr(path, 'stroke', this.style.color);
|
171
|
+
}
|
172
|
+
if (this.style.dash || this.style.mode === 'dash') {
|
173
|
+
attr(path, 'stroke-dasharray', 5);
|
174
|
+
}
|
175
|
+
if (edge.lineStyle && edge.lineStyle.color) {
|
176
|
+
attr(path, 'stroke', edge.lineStyle.color);
|
177
|
+
}
|
178
|
+
if (edge.lineStyle && ( edge.lineStyle.dash || edge.lineStyle.mode === 'dash')) {
|
179
|
+
attr(path, 'stroke-dasharray', 5);
|
180
|
+
}
|
181
|
+
if (edge.lineStyle && edge.lineStyle.dash === false) {
|
182
|
+
attr(path, 'stroke-dasharray', 0);
|
183
|
+
}
|
184
|
+
if (this.style.width) {
|
185
|
+
attr(path, 'stroke-width', this.style.width + 'px');
|
186
|
+
}
|
187
|
+
if (edge.lineStyle && edge.lineStyle.width) {
|
188
|
+
attr(path, 'stroke-width', edge.lineStyle.width + 'px');
|
189
|
+
}
|
190
|
+
addClass(path, 'fc-line');
|
191
|
+
// type为Direct 不添加箭头
|
192
|
+
const noDirect=edge?.lineStyle?.type===TYPE_Direct||this.style.type===TYPE_Direct
|
193
|
+
addClass(path,noDirect?'fc-noArrow':'')
|
194
|
+
|
195
|
+
if (this.isTransLine(edge)) {
|
196
|
+
path = createTransLine(d, transLine(edge, id, edge.lineStyle?.transPattern || this.style.transPattern))
|
197
|
+
}else{
|
198
|
+
let childNode = document.getElementById(edge.id)
|
199
|
+
childNode && document.getElementById('fc-trans-container').removeChild(childNode)
|
200
|
+
}
|
201
|
+
return path;
|
202
|
+
}
|
203
|
+
|
204
|
+
// 是否是流程线
|
205
|
+
isTransLine(edge){
|
206
|
+
let isTrans = false;
|
207
|
+
if(transLineType.includes(this.style.type)){
|
208
|
+
if(this.style.mode === 'trans'){
|
209
|
+
isTrans = true;
|
210
|
+
if('lineStyle' in edge && 'mode' in edge.lineStyle){
|
211
|
+
if(edge.lineStyle.mode !== 'trans'){
|
212
|
+
isTrans = false;
|
213
|
+
}
|
214
|
+
}
|
215
|
+
}else{
|
216
|
+
if('lineStyle' in edge && 'mode' in edge.lineStyle && edge.lineStyle.mode === 'trans'){
|
217
|
+
isTrans = true;
|
218
|
+
}
|
219
|
+
}
|
220
|
+
}
|
221
|
+
return isTrans;
|
222
|
+
}
|
223
|
+
|
224
|
+
// 将两段虚拟连线链接起来
|
225
|
+
connectVirtualLine(edges){
|
226
|
+
// 取出所有 target 为 virtual 的连线
|
227
|
+
let targetVirtualEdges = edges.filter((edge) => {
|
228
|
+
return edge.target.includes('virtual');
|
229
|
+
});
|
230
|
+
// 取出所有 source 为 virtual 的连线
|
231
|
+
let sourceVirtualEdges = edges.filter((edge) => {
|
232
|
+
return edge.source.includes('virtual');
|
233
|
+
});
|
234
|
+
targetVirtualEdges.forEach(targetEdge => {
|
235
|
+
let sourceEdge = sourceVirtualEdges.filter(item=> item.source === targetEdge.target)[0];
|
236
|
+
let targetEdgeDom = this.container.querySelector(`#${targetEdge.id}`);
|
237
|
+
let sourceEdgeDom = this.container.querySelector(`#${sourceEdge.id}`);
|
238
|
+
sourceEdgeDom.remove();
|
239
|
+
let newPath = targetEdgeDom.getAttribute('d') + ' L' + sourceEdgeDom.getAttribute('d').slice(1);
|
240
|
+
let newId = LINE_ID_PREFIX + targetEdge.source + '-to-' + sourceEdge.target;
|
241
|
+
targetEdgeDom.setAttribute('d', newPath);
|
242
|
+
targetEdgeDom.setAttribute('id', newId);
|
243
|
+
});
|
244
|
+
}
|
245
|
+
|
246
|
+
createTags(edges){
|
247
|
+
edges.forEach(edge => {
|
248
|
+
this.option.renderTag && this.option.renderTag(this.tagContainer, edge);
|
249
|
+
});
|
250
|
+
}
|
251
|
+
|
252
|
+
|
253
|
+
// 更新连线
|
254
|
+
updateLine(domId) {
|
255
|
+
let nodeId = domId?.replace(NODE_ID_PREFIX, '');
|
256
|
+
this.data.edges.forEach(edge => {
|
257
|
+
if (edge.source === nodeId || edge.target === nodeId) {
|
258
|
+
this.setData(edge);
|
259
|
+
let id = LINE_ID_PREFIX + edge.source + '-to-' + edge.target;
|
260
|
+
if(this.isTransLine(edge)){
|
261
|
+
let parentNode = document.getElementById('fc-trans-container')
|
262
|
+
let updateChild = document.getElementById(id)
|
263
|
+
updateChild && parentNode.removeChild(updateChild);
|
264
|
+
createTransLine(this.setPath(edge), transLine(edge, id, edge.lineStyle?.transPattern || this.style.transPattern))
|
265
|
+
}
|
266
|
+
document.getElementById(id)?.setAttribute('d', this.setPath(edge));
|
267
|
+
}
|
268
|
+
});
|
269
|
+
}
|
270
|
+
|
271
|
+
// 更新所有连线
|
272
|
+
updateAllLine () {
|
273
|
+
this.data.nodes.forEach((node)=>{
|
274
|
+
let domId = node.dom?.id || node.id;
|
275
|
+
this.updateLine(domId);
|
276
|
+
})
|
277
|
+
}
|
278
|
+
}
|
@@ -0,0 +1,44 @@
|
|
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 { attr } from './util';
|
13
|
+
|
14
|
+
// 创建流程线
|
15
|
+
function createTransLine(d, data) {
|
16
|
+
let transDiv = document.createElement('div');
|
17
|
+
let str = '';
|
18
|
+
for (let i = 0; i < data.length; i++) {
|
19
|
+
str += `<div class="fc-trans-point" style="offset-path:path('${d}');offset-distance:${Number(100 * i / data.length) + 1}%;"></div>`
|
20
|
+
}
|
21
|
+
transDiv.insertAdjacentHTML('beforeend', str);
|
22
|
+
let cloneNode = transDiv.cloneNode(true);
|
23
|
+
attr(cloneNode, 'id', data.id)
|
24
|
+
let childArr = cloneNode.childNodes;
|
25
|
+
for(let i of childArr){
|
26
|
+
data.transPattern && (i.style.background = `url(${data.transPattern})`);
|
27
|
+
}
|
28
|
+
document.getElementById('fc-trans-container').appendChild(cloneNode);
|
29
|
+
return transDiv;
|
30
|
+
}
|
31
|
+
|
32
|
+
// 计算trans线段长度
|
33
|
+
function transLine(edge, id ,transPattern){
|
34
|
+
let XLineLength = Math.abs(edge.endPoint.x - edge.startPoint.x);
|
35
|
+
let YLineLength = Math.abs(edge.endPoint.y - edge.startPoint.y);
|
36
|
+
let data = {
|
37
|
+
id,
|
38
|
+
length: Math.ceil((XLineLength + YLineLength) / 6),
|
39
|
+
transPattern
|
40
|
+
}
|
41
|
+
return data;
|
42
|
+
}
|
43
|
+
|
44
|
+
export { createTransLine, transLine }
|
@@ -0,0 +1,335 @@
|
|
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
|
+
const VDirection = ['TB', 'BT', 'V'];
|
13
|
+
const HDirection = ['LR', 'RL', 'H'];
|
14
|
+
|
15
|
+
// 圆角曲线连线
|
16
|
+
export default class LineRound {
|
17
|
+
// 默认圆弧拐角的 radius 为 20
|
18
|
+
radius = 10;
|
19
|
+
// 连线向前多少开始拐弯
|
20
|
+
dis = 15;
|
21
|
+
// 直角拐点占水平距离的百分比
|
22
|
+
lineDistance = 0.5;
|
23
|
+
|
24
|
+
constructor(option) {
|
25
|
+
this.radius = option.radius === undefined ? this.radius : option.radius;
|
26
|
+
this.lineDistance = option.lineDistance || 0.5;
|
27
|
+
}
|
28
|
+
|
29
|
+
/**
|
30
|
+
* 以lineRound作为试点,连线有两种对齐方式:
|
31
|
+
* 1. 默认为向后对齐,即向target节点对齐,优先级低
|
32
|
+
* 2. 然后再将source节点出来的连线向前对齐,优先级高
|
33
|
+
*/
|
34
|
+
setData(edge, data, direction) {
|
35
|
+
if(VDirection.indexOf(direction) !== -1){
|
36
|
+
if(edge.alignType == 'target'){
|
37
|
+
this.setTargetDataV(edge, data);
|
38
|
+
}else if(edge.alignType == 'source'){
|
39
|
+
this.setSourceDataV(edge, data);
|
40
|
+
}
|
41
|
+
}else{
|
42
|
+
if(edge.alignType == 'target'){
|
43
|
+
this.setTargetData(edge, data);
|
44
|
+
}else if(edge.alignType == 'source'){
|
45
|
+
this.setSourceData(edge, data);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
// 计算出以目标节点为对齐方式的连线数据
|
51
|
+
setTargetData(targetEdge, data){
|
52
|
+
let end = targetEdge.target;
|
53
|
+
let start = targetEdge.source;
|
54
|
+
let nodesObj = data.nodesObj;
|
55
|
+
let startWidth = nodesObj[start].width || 50;
|
56
|
+
let startInnerWidth = nodesObj[start].innerWidth || 50;
|
57
|
+
let startHeight = nodesObj[start].height || 50;
|
58
|
+
let endWidth = nodesObj[end].width || 50;
|
59
|
+
let endInnerWidth = nodesObj[end].innerWidth || 50;
|
60
|
+
let endHeight = nodesObj[end].height || 50;
|
61
|
+
// 拐角半径
|
62
|
+
targetEdge.radius = this.radius;
|
63
|
+
// 起始点
|
64
|
+
targetEdge.startPoint = {
|
65
|
+
x: nodesObj[start].x + startWidth + ( startInnerWidth - startWidth ) / 2-data.minX,
|
66
|
+
y: nodesObj[start].y + startHeight / 2-data.minY,
|
67
|
+
};
|
68
|
+
// 结束点
|
69
|
+
targetEdge.endPoint = {
|
70
|
+
x: nodesObj[end].x - ( endInnerWidth - endWidth ) / 2-data.minX,
|
71
|
+
y: nodesObj[end].y + endHeight / 2-data.minY,
|
72
|
+
};
|
73
|
+
let vDis = targetEdge.endPoint.y - targetEdge.startPoint.y;
|
74
|
+
// endPoint向左距离20点位置开始绘制曲线
|
75
|
+
let hDis = this.dis;
|
76
|
+
|
77
|
+
// radius 根据 vDis 大小而动态调整
|
78
|
+
if(Math.abs(vDis) <= this.radius * 2){
|
79
|
+
targetEdge.radius = Math.abs(vDis) / 2;
|
80
|
+
}
|
81
|
+
|
82
|
+
let revise = targetEdge.radius;
|
83
|
+
// 当end节点在start节点下方时,个别点的位置需要修正
|
84
|
+
if(targetEdge.endPoint.y < targetEdge.startPoint.y){
|
85
|
+
revise = -targetEdge.radius
|
86
|
+
}
|
87
|
+
// 第一个圆弧起始点
|
88
|
+
targetEdge.firstRoundStartPoint = {
|
89
|
+
x: targetEdge.endPoint.x - hDis - targetEdge.radius * 2,
|
90
|
+
y: targetEdge.startPoint.y,
|
91
|
+
}
|
92
|
+
// 第一个圆弧控制点
|
93
|
+
targetEdge.firstRoundControlPoint = {
|
94
|
+
x: targetEdge.endPoint.x - hDis - targetEdge.radius,
|
95
|
+
y: targetEdge.startPoint.y,
|
96
|
+
}
|
97
|
+
// 第一个圆弧结束点
|
98
|
+
targetEdge.firstRoundEndPoint = {
|
99
|
+
x: targetEdge.endPoint.x - hDis - targetEdge.radius,
|
100
|
+
y: targetEdge.startPoint.y + revise,
|
101
|
+
};
|
102
|
+
// 第二个圆弧起始点
|
103
|
+
targetEdge.secondRoundStartPoint = {
|
104
|
+
x: targetEdge.endPoint.x - hDis - targetEdge.radius,
|
105
|
+
y: targetEdge.endPoint.y - revise,
|
106
|
+
};
|
107
|
+
// 第二个圆弧控制点
|
108
|
+
targetEdge.secondRoundControlPoint = {
|
109
|
+
x: targetEdge.endPoint.x - hDis - targetEdge.radius,
|
110
|
+
y: targetEdge.endPoint.y,
|
111
|
+
};
|
112
|
+
// 第二个圆弧结束点
|
113
|
+
targetEdge.secondRoundEndPoint = {
|
114
|
+
x: targetEdge.endPoint.x - hDis,
|
115
|
+
y: targetEdge.endPoint.y,
|
116
|
+
};
|
117
|
+
}
|
118
|
+
|
119
|
+
// 计算出以源头节点为对齐方式的连线数据
|
120
|
+
setSourceData(edge, data){
|
121
|
+
let end = edge.target;
|
122
|
+
let start = edge.source;
|
123
|
+
let nodesObj = data.nodesObj;
|
124
|
+
let startWidth = nodesObj[start].width || 50;
|
125
|
+
let startInnerWidth = nodesObj[start].innerWidth || 50;
|
126
|
+
let startHeight = nodesObj[start].height || 50;
|
127
|
+
let endWidth = nodesObj[end].width || 50;
|
128
|
+
let endInnerWidth = nodesObj[end].innerWidth || 50;
|
129
|
+
let endHeight = nodesObj[end].height || 50;
|
130
|
+
// 拐角半径
|
131
|
+
edge.radius = this.radius;
|
132
|
+
// 起始点
|
133
|
+
edge.startPoint = {
|
134
|
+
x: nodesObj[start].x + startWidth + ( startInnerWidth - startWidth ) / 2-data.minX,
|
135
|
+
y: nodesObj[start].y + startHeight / 2-data.minY,
|
136
|
+
};
|
137
|
+
// 结束点
|
138
|
+
edge.endPoint = {
|
139
|
+
x: nodesObj[end].x - ( endInnerWidth - endWidth ) / 2-data.minX,
|
140
|
+
y: nodesObj[end].y + endHeight / 2-data.minY,
|
141
|
+
};
|
142
|
+
let vDis = edge.endPoint.y - edge.startPoint.y;
|
143
|
+
// endPoint向左距离20点位置开始绘制曲线
|
144
|
+
let hDis = this.dis;
|
145
|
+
|
146
|
+
// radius 根据 vDis 大小而动态调整
|
147
|
+
if(Math.abs(vDis) <= this.radius * 2){
|
148
|
+
edge.radius = Math.abs(vDis) / 2;
|
149
|
+
}
|
150
|
+
|
151
|
+
let revise = edge.radius;
|
152
|
+
// 当end节点在start节点下方时,个别点的位置需要修正
|
153
|
+
if(edge.endPoint.y < edge.startPoint.y){
|
154
|
+
revise = -edge.radius
|
155
|
+
}
|
156
|
+
// 第一个圆弧起始点
|
157
|
+
edge.firstRoundStartPoint = {
|
158
|
+
x: edge.startPoint.x + hDis,
|
159
|
+
y: edge.startPoint.y,
|
160
|
+
}
|
161
|
+
// 第一个圆弧控制点
|
162
|
+
edge.firstRoundControlPoint = {
|
163
|
+
x: edge.startPoint.x + hDis + edge.radius,
|
164
|
+
y: edge.startPoint.y,
|
165
|
+
}
|
166
|
+
// 第一个圆弧结束点
|
167
|
+
edge.firstRoundEndPoint = {
|
168
|
+
x: edge.startPoint.x + hDis + edge.radius,
|
169
|
+
y: edge.startPoint.y + revise,
|
170
|
+
};
|
171
|
+
// 第二个圆弧起始点
|
172
|
+
edge.secondRoundStartPoint = {
|
173
|
+
x: edge.startPoint.x + hDis + edge.radius,
|
174
|
+
y: edge.endPoint.y - revise,
|
175
|
+
};
|
176
|
+
// 第二个圆弧控制点
|
177
|
+
edge.secondRoundControlPoint = {
|
178
|
+
x: edge.startPoint.x + hDis + edge.radius,
|
179
|
+
y: edge.endPoint.y,
|
180
|
+
};
|
181
|
+
// 第二个圆弧结束点
|
182
|
+
edge.secondRoundEndPoint = {
|
183
|
+
x: edge.startPoint.x + hDis + edge.radius * 2,
|
184
|
+
y: edge.endPoint.y,
|
185
|
+
};
|
186
|
+
}
|
187
|
+
|
188
|
+
// 计算出以目标节点为对齐方式的连线数据 --- 纵向
|
189
|
+
setTargetDataV(targetEdge, data){
|
190
|
+
let end = targetEdge.target;
|
191
|
+
let start = targetEdge.source;
|
192
|
+
let nodesObj = data.nodesObj;
|
193
|
+
let startWidth = nodesObj[start].width || 50;
|
194
|
+
let startInnerHeight = nodesObj[start].innerHeight || 50;
|
195
|
+
let startHeight = nodesObj[start].height || 50;
|
196
|
+
let endWidth = nodesObj[end].width || 50;
|
197
|
+
let endInnerHeight = nodesObj[end].innerHeight || 50;
|
198
|
+
let endHeight = nodesObj[end].height || 50;
|
199
|
+
// 拐角半径
|
200
|
+
targetEdge.radius = this.radius;
|
201
|
+
// 起始点
|
202
|
+
targetEdge.startPoint = {
|
203
|
+
x: nodesObj[start].x + startWidth / 2-data.minX,
|
204
|
+
y: nodesObj[start].y + startHeight + ( startInnerHeight - startHeight ) / 2-data.minY,
|
205
|
+
};
|
206
|
+
// 结束点
|
207
|
+
targetEdge.endPoint = {
|
208
|
+
x: nodesObj[end].x + endWidth / 2-data.minX,
|
209
|
+
y: nodesObj[end].y - ( endInnerHeight - endHeight ) / 2-data.minY,
|
210
|
+
};
|
211
|
+
let hDis = targetEdge.endPoint.x - targetEdge.startPoint.x;
|
212
|
+
// endPoint向上距离20点位置开始绘制曲线
|
213
|
+
let vDis = this.dis;
|
214
|
+
|
215
|
+
// radius 根据 vDis 大小而动态调整
|
216
|
+
if(Math.abs(hDis) <= this.radius * 2){
|
217
|
+
targetEdge.radius = Math.abs(hDis) / 2;
|
218
|
+
}
|
219
|
+
|
220
|
+
let revise = targetEdge.radius;
|
221
|
+
// 当end节点在start节点左方时,个别点的位置需要修正
|
222
|
+
if(targetEdge.endPoint.x < targetEdge.startPoint.x){
|
223
|
+
revise = -targetEdge.radius
|
224
|
+
}
|
225
|
+
// 第一个圆弧起始点
|
226
|
+
targetEdge.firstRoundStartPoint = {
|
227
|
+
x: targetEdge.startPoint.x,
|
228
|
+
y: targetEdge.endPoint.y - vDis - targetEdge.radius * 2,
|
229
|
+
}
|
230
|
+
// 第一个圆弧控制点
|
231
|
+
targetEdge.firstRoundControlPoint = {
|
232
|
+
x: targetEdge.startPoint.x,
|
233
|
+
y: targetEdge.endPoint.y - vDis - targetEdge.radius,
|
234
|
+
}
|
235
|
+
// 第一个圆弧结束点
|
236
|
+
targetEdge.firstRoundEndPoint = {
|
237
|
+
x: targetEdge.startPoint.x + revise,
|
238
|
+
y: targetEdge.endPoint.y - vDis - targetEdge.radius,
|
239
|
+
};
|
240
|
+
// 第二个圆弧起始点
|
241
|
+
targetEdge.secondRoundStartPoint = {
|
242
|
+
x: targetEdge.endPoint.x - revise,
|
243
|
+
y: targetEdge.endPoint.y - vDis - targetEdge.radius,
|
244
|
+
};
|
245
|
+
// 第二个圆弧控制点
|
246
|
+
targetEdge.secondRoundControlPoint = {
|
247
|
+
x: targetEdge.endPoint.x,
|
248
|
+
y: targetEdge.endPoint.y - vDis - targetEdge.radius,
|
249
|
+
};
|
250
|
+
// 第二个圆弧结束点
|
251
|
+
targetEdge.secondRoundEndPoint = {
|
252
|
+
x: targetEdge.endPoint.x,
|
253
|
+
y: targetEdge.endPoint.y - vDis,
|
254
|
+
};
|
255
|
+
}
|
256
|
+
|
257
|
+
// 计算出以源头节点为对齐方式的连线数据 --- 纵向
|
258
|
+
setSourceDataV(edge, data){
|
259
|
+
let end = edge.target;
|
260
|
+
let start = edge.source;
|
261
|
+
let nodesObj = data.nodesObj;
|
262
|
+
let startWidth = nodesObj[start].width || 50;
|
263
|
+
let startInnerHeight = nodesObj[start].innerHeight || 50;
|
264
|
+
let startHeight = nodesObj[start].height || 50;
|
265
|
+
let endWidth = nodesObj[end].width || 50;
|
266
|
+
let endInnerHeight = nodesObj[end].innerHeight || 50;
|
267
|
+
let endHeight = nodesObj[end].height || 50;
|
268
|
+
// 拐角半径
|
269
|
+
edge.radius = this.radius;
|
270
|
+
// 起始点
|
271
|
+
edge.startPoint = {
|
272
|
+
x: nodesObj[start].x + startWidth / 2-data.minX,
|
273
|
+
y: nodesObj[start].y + startHeight + ( startInnerHeight - startHeight ) / 2-data.minY,
|
274
|
+
};
|
275
|
+
// 结束点
|
276
|
+
edge.endPoint = {
|
277
|
+
x: nodesObj[end].x + endWidth / 2-data.minX,
|
278
|
+
y: nodesObj[end].y - ( endInnerHeight - endHeight ) / 2-data.minY,
|
279
|
+
};
|
280
|
+
let hDis = edge.endPoint.x - edge.startPoint.x;
|
281
|
+
// endPoint向上距离20点位置开始绘制曲线
|
282
|
+
let vDis = this.dis;
|
283
|
+
|
284
|
+
// radius 根据 vDis 大小而动态调整
|
285
|
+
if(Math.abs(hDis) <= this.radius * 2){
|
286
|
+
edge.radius = Math.abs(hDis) / 2;
|
287
|
+
}
|
288
|
+
|
289
|
+
let revise = edge.radius;
|
290
|
+
// 当end节点在start节点左方时,个别点的位置需要修正
|
291
|
+
if(edge.endPoint.x < edge.startPoint.x){
|
292
|
+
revise = -edge.radius
|
293
|
+
}
|
294
|
+
// 第一个圆弧起始点
|
295
|
+
edge.firstRoundStartPoint = {
|
296
|
+
x: edge.startPoint.x,
|
297
|
+
y: edge.startPoint.y + vDis,
|
298
|
+
}
|
299
|
+
// 第一个圆弧控制点
|
300
|
+
edge.firstRoundControlPoint = {
|
301
|
+
x: edge.startPoint.x,
|
302
|
+
y: edge.startPoint.y + vDis + edge.radius,
|
303
|
+
}
|
304
|
+
// 第一个圆弧结束点
|
305
|
+
edge.firstRoundEndPoint = {
|
306
|
+
x: edge.startPoint.x + revise,
|
307
|
+
y: edge.startPoint.y + vDis + edge.radius,
|
308
|
+
};
|
309
|
+
// 第二个圆弧起始点
|
310
|
+
edge.secondRoundStartPoint = {
|
311
|
+
x: edge.endPoint.x - revise,
|
312
|
+
y: edge.startPoint.y + vDis + edge.radius,
|
313
|
+
};
|
314
|
+
// 第二个圆弧控制点
|
315
|
+
edge.secondRoundControlPoint = {
|
316
|
+
x: edge.endPoint.x,
|
317
|
+
y: edge.startPoint.y + vDis + edge.radius,
|
318
|
+
};
|
319
|
+
// 第二个圆弧结束点
|
320
|
+
edge.secondRoundEndPoint = {
|
321
|
+
x: edge.endPoint.x,
|
322
|
+
y: edge.startPoint.y + vDis + edge.radius * 2,
|
323
|
+
};
|
324
|
+
}
|
325
|
+
|
326
|
+
setPath (edge){
|
327
|
+
let m = `M${edge.startPoint.x} ${edge.startPoint.y}`;
|
328
|
+
let l1 = `L${edge.firstRoundStartPoint.x} ${edge.firstRoundStartPoint.y}`;
|
329
|
+
let q1 = `Q${edge.firstRoundControlPoint.x} ${edge.firstRoundControlPoint.y} ${edge.firstRoundEndPoint.x} ${edge.firstRoundEndPoint.y}`;
|
330
|
+
let l2 = `L${edge.secondRoundStartPoint.x} ${edge.secondRoundStartPoint.y}`;
|
331
|
+
let q2 = `Q${edge.secondRoundControlPoint.x} ${edge.secondRoundControlPoint.y} ${edge.secondRoundEndPoint.x} ${edge.secondRoundEndPoint.y}`;
|
332
|
+
let l3 = `L${edge.endPoint.x} ${edge.endPoint.y}`;
|
333
|
+
return `${m} ${l1} ${q1} ${l2} ${q2} ${l3}`;
|
334
|
+
}
|
335
|
+
}
|