@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,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
|
+
import cloneDeep from '../../util/cloneDeep';
|
13
|
+
|
14
|
+
// 多层级的对象合并 函数
|
15
|
+
function assignObj(target = {}, sources = {}) {
|
16
|
+
const itemObj = target || {};
|
17
|
+
if (typeof target !== 'object' || typeof sources !== 'object' || !sources) {
|
18
|
+
return sources;
|
19
|
+
}
|
20
|
+
for (const key in sources) {
|
21
|
+
if (Object.prototype.hasOwnProperty.call((target || {}), key)) {
|
22
|
+
itemObj[key] = assignObj(target[key], sources[key]);
|
23
|
+
}
|
24
|
+
else {
|
25
|
+
itemObj[key] = sources[key];
|
26
|
+
}
|
27
|
+
}
|
28
|
+
return itemObj;
|
29
|
+
}
|
30
|
+
|
31
|
+
// 图表可选择能力
|
32
|
+
class WcagObserver {
|
33
|
+
constructor(mode, theme, echartsIns, eChartOption) {
|
34
|
+
this.echartsIns = echartsIns;
|
35
|
+
this.eChartOption = eChartOption;
|
36
|
+
|
37
|
+
this.focusedOption = {}; // 聚焦框体配置项
|
38
|
+
this.theme = theme;
|
39
|
+
this.mode = mode; // 选择模式'single' | 'series' | 'auto'
|
40
|
+
this.curMode = undefined; // 当前模式
|
41
|
+
this.clickFlag = false; // 模拟阻止点击冒泡
|
42
|
+
this.nextParam = { // 键盘tab需要的参数
|
43
|
+
componentType: 'series',
|
44
|
+
seriesIndex: 0,
|
45
|
+
dataIndex: 0,
|
46
|
+
seriesType: ''
|
47
|
+
};
|
48
|
+
|
49
|
+
this.focused = false; // 图表是否被tab聚焦
|
50
|
+
|
51
|
+
this.onDocClick = this.docClick.bind(this)
|
52
|
+
this.onKeyUp = this.keyUp.bind(this)
|
53
|
+
this.onSeriesClick = this.seriesClick.bind(this)
|
54
|
+
|
55
|
+
this.addSelectMode(mode);
|
56
|
+
}
|
57
|
+
|
58
|
+
// 单数据选中
|
59
|
+
setSingleSelectedStyle(param) {
|
60
|
+
const subTypeList = ['line', 'scatter', 'radar'];
|
61
|
+
let rect = {};
|
62
|
+
this.curMode = 'single';
|
63
|
+
if (param?.dataIndex === undefined && this.mode === 'auto') {
|
64
|
+
this.setSeriesSelectedStyle(param);
|
65
|
+
return;
|
66
|
+
}
|
67
|
+
const node = this.echartsIns.getModel().getSeriesByIndex(param.seriesIndex).getData()._graphicEls[param.dataIndex];
|
68
|
+
if (subTypeList.includes(param.seriesType)) {
|
69
|
+
rect = {
|
70
|
+
x: node.x - node._sizeX - 4,
|
71
|
+
y: node.y - node._sizeY - 4,
|
72
|
+
width: node._sizeX * 2 + 8,
|
73
|
+
height: node._sizeY * 2 + 8,
|
74
|
+
};
|
75
|
+
}
|
76
|
+
else {
|
77
|
+
rect = node._rectStroke || node._rect || node.path?.getBoundingRect();
|
78
|
+
}
|
79
|
+
this.setCommonOptionByRectList([rect], param);
|
80
|
+
}
|
81
|
+
|
82
|
+
// 系列选中
|
83
|
+
setSeriesSelectedStyle(param) {
|
84
|
+
const subTypeList = ['line', 'scatter', 'radar'];
|
85
|
+
let rectList = [];
|
86
|
+
this.curMode = 'series';
|
87
|
+
const seriesModel = this.echartsIns.getModel().getSeriesByIndex(param.seriesIndex);
|
88
|
+
|
89
|
+
if (subTypeList.includes(seriesModel.subType)) {
|
90
|
+
const graphicList = seriesModel.getData()._graphicEls;
|
91
|
+
rectList = graphicList.filter(t => !!t).map(node => {
|
92
|
+
return {
|
93
|
+
x: node.x - node._sizeX - 4,
|
94
|
+
y: node.y - node._sizeY - 4,
|
95
|
+
width: node._sizeX * 2 + 8,
|
96
|
+
height: node._sizeY * 2 + 8,
|
97
|
+
};
|
98
|
+
});
|
99
|
+
}
|
100
|
+
else {
|
101
|
+
rectList = seriesModel.getData()._graphicEls
|
102
|
+
.map(t => t._rectStroke || t._rect || t.path?.getBoundingRect())
|
103
|
+
.filter(t => !!t);
|
104
|
+
}
|
105
|
+
this.setCommonOptionByRectList(rectList, param);
|
106
|
+
}
|
107
|
+
|
108
|
+
setCommonOptionByRectList(rectList, eventParam) {
|
109
|
+
this.focusedOption = {
|
110
|
+
series: []
|
111
|
+
};
|
112
|
+
const pointList = [];
|
113
|
+
const lineList = [];
|
114
|
+
rectList.forEach(rect => {
|
115
|
+
const list = [
|
116
|
+
{
|
117
|
+
x: rect.x,
|
118
|
+
y: rect.y
|
119
|
+
},
|
120
|
+
{
|
121
|
+
x: rect.x + rect.width,
|
122
|
+
y: rect.y
|
123
|
+
},
|
124
|
+
{
|
125
|
+
x: rect.x,
|
126
|
+
y: rect.y + rect.height
|
127
|
+
},
|
128
|
+
{
|
129
|
+
x: rect.x + rect.width,
|
130
|
+
y: rect.y + rect.height
|
131
|
+
},
|
132
|
+
];
|
133
|
+
const lines = [
|
134
|
+
[
|
135
|
+
{ x: rect.x, y: rect.y },
|
136
|
+
{ x: rect.x + rect.width, y: rect.y }
|
137
|
+
],
|
138
|
+
[
|
139
|
+
{ x: rect.x + rect.width, y: rect.y },
|
140
|
+
{ x: rect.x + rect.width, y: rect.y + rect.height }
|
141
|
+
],
|
142
|
+
[
|
143
|
+
{ x: rect.x + rect.width, y: rect.y + rect.height },
|
144
|
+
{ x: rect.x, y: rect.y + rect.height }
|
145
|
+
],
|
146
|
+
[
|
147
|
+
{ x: rect.x, y: rect.y + rect.height },
|
148
|
+
{ x: rect.x, y: rect.y }
|
149
|
+
]
|
150
|
+
];
|
151
|
+
pointList.push(...list);
|
152
|
+
lineList.push(...lines);
|
153
|
+
});
|
154
|
+
|
155
|
+
const markColor = this.theme.match(/dark/gi) ? '#fff' : '#252b3a';
|
156
|
+
this.focusedOption.series[eventParam.seriesIndex] = {
|
157
|
+
data: [],
|
158
|
+
markPoint: {
|
159
|
+
symbol: 'circle',
|
160
|
+
silent: true,
|
161
|
+
symbolSize: 6,
|
162
|
+
blur: {
|
163
|
+
itemStyle: {
|
164
|
+
opacity: 1
|
165
|
+
}
|
166
|
+
},
|
167
|
+
itemStyle: {
|
168
|
+
borderWidth: 1,
|
169
|
+
borderColor: markColor,
|
170
|
+
color: '#fff'
|
171
|
+
},
|
172
|
+
data: pointList,
|
173
|
+
animation: false
|
174
|
+
},
|
175
|
+
markLine: {
|
176
|
+
silent: true,
|
177
|
+
symbol: 'none',
|
178
|
+
lineStyle: {
|
179
|
+
color: markColor
|
180
|
+
},
|
181
|
+
blur: {
|
182
|
+
lineStyle: {
|
183
|
+
opacity: 1
|
184
|
+
}
|
185
|
+
},
|
186
|
+
emphasis: {
|
187
|
+
disabled: true
|
188
|
+
},
|
189
|
+
data: lineList,
|
190
|
+
animation: false
|
191
|
+
}
|
192
|
+
};
|
193
|
+
}
|
194
|
+
|
195
|
+
// 给图表加上可选择能力'single' | 'series' | 'auto'
|
196
|
+
addSelectMode(focusedMode) {
|
197
|
+
let isClick = false;
|
198
|
+
const chartDom = this.echartsIns.getDom();
|
199
|
+
chartDom.setAttribute('tabindex', 0);
|
200
|
+
chartDom.addEventListener('focus', () => {
|
201
|
+
if(isClick) return;
|
202
|
+
this.focused = true;
|
203
|
+
chartDom.classList.add('chart-focus');
|
204
|
+
this.seriesClick(this.nextParam);
|
205
|
+
});
|
206
|
+
chartDom.addEventListener('blur', () => {
|
207
|
+
this.focused = false;
|
208
|
+
chartDom.classList.remove('chart-focus');
|
209
|
+
this.docClick();
|
210
|
+
});
|
211
|
+
|
212
|
+
chartDom.addEventListener('mousedown', () => {
|
213
|
+
isClick = true;
|
214
|
+
setTimeout(() => {
|
215
|
+
isClick = false;
|
216
|
+
}, 200);
|
217
|
+
});
|
218
|
+
|
219
|
+
this.mode = focusedMode;
|
220
|
+
this.echartsIns.on('click', 'series', this.onSeriesClick);
|
221
|
+
document.addEventListener('click', this.onDocClick);
|
222
|
+
document.addEventListener('keyup', this.onKeyUp);
|
223
|
+
}
|
224
|
+
|
225
|
+
unobserve() {
|
226
|
+
document.removeEventListener('click', this.onDocClick);
|
227
|
+
document.removeEventListener('keyup', this.onKeyUp);
|
228
|
+
this.echartsIns.off('click', this.onSeriesClick);
|
229
|
+
}
|
230
|
+
|
231
|
+
docClick() {
|
232
|
+
if (!this.clickFlag) {
|
233
|
+
this.focusedOption = {};
|
234
|
+
this.curMode = '';
|
235
|
+
this.updateOption();
|
236
|
+
}
|
237
|
+
};
|
238
|
+
|
239
|
+
keyUp(event) { // 键盘tab事件
|
240
|
+
if (!this.focused) return;
|
241
|
+
|
242
|
+
const { seriesIndex, dataIndex } = this.nextParam;
|
243
|
+
const isNext = event.key === 'ArrowRight' || event.key === ' ';
|
244
|
+
const isPrev = event.key === 'ArrowLeft';
|
245
|
+
if (event.key === 'Tab') {
|
246
|
+
event.stopPropagation();
|
247
|
+
return;
|
248
|
+
}
|
249
|
+
|
250
|
+
if (isNext || isPrev) {
|
251
|
+
event.stopPropagation();
|
252
|
+
const curMode = this.curMode;
|
253
|
+
if (curMode === 'single') {
|
254
|
+
const maxDataIndex = this.eChartOption.series[seriesIndex].data.length - 1;
|
255
|
+
if (isNext) {
|
256
|
+
if (dataIndex >= maxDataIndex) {
|
257
|
+
this.nextParam.dataIndex = 0;
|
258
|
+
}
|
259
|
+
else {
|
260
|
+
this.nextParam.dataIndex += 1;
|
261
|
+
}
|
262
|
+
}
|
263
|
+
else if (isPrev) {
|
264
|
+
if (dataIndex === 0) {
|
265
|
+
this.nextParam.dataIndex = maxDataIndex;
|
266
|
+
}
|
267
|
+
else {
|
268
|
+
this.nextParam.dataIndex -= 1;
|
269
|
+
}
|
270
|
+
}
|
271
|
+
}
|
272
|
+
else if (curMode === 'series') {
|
273
|
+
const maxSeriesIndex = this.eChartOption.series.length - 1;
|
274
|
+
if (isNext) {
|
275
|
+
if (seriesIndex >= maxSeriesIndex) {
|
276
|
+
this.nextParam.seriesIndex = 0;
|
277
|
+
}
|
278
|
+
else {
|
279
|
+
this.nextParam.seriesIndex += 1;
|
280
|
+
}
|
281
|
+
}
|
282
|
+
else if (isPrev) {
|
283
|
+
if (seriesIndex === 0) {
|
284
|
+
this.nextParam.seriesIndex = maxSeriesIndex;
|
285
|
+
}
|
286
|
+
else {
|
287
|
+
this.nextParam.seriesIndex -= 1;
|
288
|
+
}
|
289
|
+
}
|
290
|
+
}
|
291
|
+
this.seriesClick(this.nextParam);
|
292
|
+
}
|
293
|
+
};
|
294
|
+
|
295
|
+
seriesClick(param) {
|
296
|
+
if (param.componentType !== 'series') {
|
297
|
+
return;
|
298
|
+
}
|
299
|
+
param.event?.stop(); // 阻止冒泡触发docclick
|
300
|
+
this.clickFlag = true;
|
301
|
+
setTimeout(() => { // 阻止冒泡触发docclick
|
302
|
+
this.clickFlag = false;
|
303
|
+
}, 200);
|
304
|
+
let type = this.mode;
|
305
|
+
if (type === 'auto') {
|
306
|
+
type = this.curMode === '' ? 'series' : 'single';
|
307
|
+
}
|
308
|
+
|
309
|
+
if (type === 'single') {
|
310
|
+
this.setSingleSelectedStyle(param);
|
311
|
+
}
|
312
|
+
else if (type === 'series') {
|
313
|
+
this.setSeriesSelectedStyle(param);
|
314
|
+
}
|
315
|
+
|
316
|
+
this.nextParam = {
|
317
|
+
componentType: 'series',
|
318
|
+
seriesIndex: param.seriesIndex,
|
319
|
+
dataIndex: param.dataIndex,
|
320
|
+
seriesType: param.seriesType
|
321
|
+
};
|
322
|
+
this.updateOption();
|
323
|
+
};
|
324
|
+
|
325
|
+
updateOption() {
|
326
|
+
const option = cloneDeep(this.eChartOption);
|
327
|
+
assignObj(option, this.focusedOption);
|
328
|
+
this.echartsIns.setOption(option, { notMerge: true });
|
329
|
+
setTimeout(() => {
|
330
|
+
this.echartsIns.resize();
|
331
|
+
});
|
332
|
+
}
|
333
|
+
}
|
334
|
+
|
335
|
+
export default WcagObserver;
|
@@ -0,0 +1,52 @@
|
|
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 escapeScript = (string) => {
|
13
|
+
let str = string.replace('<script>', '').replace('</script>', '');
|
14
|
+
return str;
|
15
|
+
};
|
16
|
+
|
17
|
+
const defendScript = (obj) => {
|
18
|
+
if (typeof obj === 'string') {
|
19
|
+
return escapeScript(obj);
|
20
|
+
} else if (typeof obj === 'number') {
|
21
|
+
return obj;
|
22
|
+
} else if (typeof obj === 'object') {
|
23
|
+
for (const key in obj) {
|
24
|
+
if (Object.hasOwnProperty.call(obj, key)) {
|
25
|
+
const xssKey = defendScript(key);
|
26
|
+
const xssValue = defendScript(obj[key]);
|
27
|
+
delete obj[key];
|
28
|
+
obj[xssKey] = xssValue;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
return obj;
|
32
|
+
} else {
|
33
|
+
return obj;
|
34
|
+
}
|
35
|
+
};
|
36
|
+
|
37
|
+
/**
|
38
|
+
* 对图表option的键值对进行过滤限制
|
39
|
+
*/
|
40
|
+
const xssOption = (option) => {
|
41
|
+
for (let key in option) {
|
42
|
+
if (Object.hasOwnProperty.call(option, key)) {
|
43
|
+
const xssKey = defendScript(key);
|
44
|
+
const xssValue = defendScript(option[key]);
|
45
|
+
delete option[key];
|
46
|
+
option[xssKey] = xssValue;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
return option;
|
50
|
+
};
|
51
|
+
|
52
|
+
export default xssOption;
|
@@ -0,0 +1,142 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 - present OpenTiny HUICharts Authors.
|
3
|
+
* Copyright (c) 2024 - present Huawei Cloud Computing Technologies Co., Ltd.
|
4
|
+
*
|
5
|
+
* Use of this source code is governed by an MIT-style license.
|
6
|
+
*
|
7
|
+
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
|
8
|
+
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
|
9
|
+
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
|
10
|
+
*
|
11
|
+
*/
|
12
|
+
import merge from '../../../util/merge';
|
13
|
+
import Relation from '../../core/Relation';
|
14
|
+
import LineManager from '../../module/line/Manager';
|
15
|
+
import NodeManager from '../../module/node/Manager';
|
16
|
+
import { CHART_TYPE } from '../../../util/constants';
|
17
|
+
import ConnectorManager from '../../module/connector/Manager';
|
18
|
+
|
19
|
+
const NODE_WIDTH = 100;
|
20
|
+
const NODE_HEIGHT = 50;
|
21
|
+
|
22
|
+
export default class CircleArcChart extends Relation {
|
23
|
+
static name = CHART_TYPE.CIRCLE
|
24
|
+
// 图表渲染容器
|
25
|
+
dom;
|
26
|
+
// 图表外部传入数据
|
27
|
+
optionData;
|
28
|
+
// 图表nodes+edges格式数据
|
29
|
+
relationData;
|
30
|
+
// 图表容器边距
|
31
|
+
padding = 30;
|
32
|
+
// 图表最外层容器
|
33
|
+
container;
|
34
|
+
// 图表svg元素容器
|
35
|
+
svgContainer;
|
36
|
+
// 图表html元素容器
|
37
|
+
htmlContainer;
|
38
|
+
// 图表容器的宽高变化监听器
|
39
|
+
resizeObserver = null;
|
40
|
+
// 连线管理器
|
41
|
+
lineManager;
|
42
|
+
// 节点管理器
|
43
|
+
nodeManager;
|
44
|
+
// 连接点管理器
|
45
|
+
connectorManager;
|
46
|
+
|
47
|
+
constructor() {
|
48
|
+
super();
|
49
|
+
this.dom = null;
|
50
|
+
this.option = null;
|
51
|
+
this.resizeObserver = null;
|
52
|
+
}
|
53
|
+
|
54
|
+
// 初始化图表渲染容器
|
55
|
+
init(dom) {
|
56
|
+
this.dom = dom;
|
57
|
+
}
|
58
|
+
|
59
|
+
// 初始化图表渲染配置
|
60
|
+
setOption(option) {
|
61
|
+
super.setOption(option);
|
62
|
+
}
|
63
|
+
|
64
|
+
// 图表渲染
|
65
|
+
render() {
|
66
|
+
super.render();
|
67
|
+
this.setDefaultLayout();
|
68
|
+
this.createNodes();
|
69
|
+
this.createLines();
|
70
|
+
this.setResizeObserver();
|
71
|
+
this.renderCallBack && this.renderCallBack(this);
|
72
|
+
|
73
|
+
}
|
74
|
+
|
75
|
+
// 设置默认布局
|
76
|
+
setDefaultLayout(){
|
77
|
+
this.option.layout = merge({
|
78
|
+
nodeShape: 'circle',
|
79
|
+
},this.option.layout);
|
80
|
+
}
|
81
|
+
|
82
|
+
// 根据节点大小和关系,计算布局,创建和渲染节点
|
83
|
+
createNodes() {
|
84
|
+
this.optionData = this.option.data;
|
85
|
+
this.nodeManager = new NodeManager(this.option, this.htmlContainer);
|
86
|
+
this.setNodeSize(this.optionData);
|
87
|
+
this.nodeManager.layout();
|
88
|
+
this.nodeManager.render();
|
89
|
+
this.relationData = this.nodeManager.getData();
|
90
|
+
}
|
91
|
+
|
92
|
+
// 补充宽高信息到节点数据上
|
93
|
+
setNodeSize(node) {
|
94
|
+
node.width = node.width || this.option?.node?.width || NODE_WIDTH;
|
95
|
+
node.height = node.height || this.option?.node?.height || NODE_HEIGHT;
|
96
|
+
if (node.children && node.children.length > 0) {
|
97
|
+
node.children.forEach(child => {
|
98
|
+
this.setNodeSize(child);
|
99
|
+
})
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
// 创建连线
|
104
|
+
createLines() {
|
105
|
+
// 绘制连线
|
106
|
+
this.lineManager = new LineManager(this.option,this.svgContainer,this);
|
107
|
+
this.lineManager.layout(this.nodeManager);
|
108
|
+
this.lineManager.render();
|
109
|
+
// 绘制连接点
|
110
|
+
this.connectorManager = new ConnectorManager(this, this.relationData.edges,this.option);
|
111
|
+
}
|
112
|
+
|
113
|
+
// 图表渲染完成时回调
|
114
|
+
onRendered(callback) {
|
115
|
+
this.renderCallBack = callback;
|
116
|
+
}
|
117
|
+
|
118
|
+
// 图表刷新,刷新配置项
|
119
|
+
refresh() {
|
120
|
+
|
121
|
+
}
|
122
|
+
|
123
|
+
// 图表刷新,仅刷新数据
|
124
|
+
refreshData() {
|
125
|
+
|
126
|
+
}
|
127
|
+
|
128
|
+
// 刷新图表自适应宽度
|
129
|
+
resize() {
|
130
|
+
|
131
|
+
}
|
132
|
+
|
133
|
+
setResizeObserver() {
|
134
|
+
|
135
|
+
}
|
136
|
+
|
137
|
+
// 销毁图表
|
138
|
+
uninstall() {
|
139
|
+
this.resizeObserver.disconnect();
|
140
|
+
}
|
141
|
+
}
|
142
|
+
|
@@ -0,0 +1,140 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 - present OpenTiny HUICharts Authors.
|
3
|
+
* Copyright (c) 2024 - present Huawei Cloud Computing Technologies Co., Ltd.
|
4
|
+
*
|
5
|
+
* Use of this source code is governed by an MIT-style license.
|
6
|
+
*
|
7
|
+
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
|
8
|
+
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
|
9
|
+
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
|
10
|
+
*
|
11
|
+
*/
|
12
|
+
import merge from '../../../util/merge';
|
13
|
+
import Relation from '../../core/Relation';
|
14
|
+
import LineManager from '../../module/line/Manager';
|
15
|
+
import NodeManager from '../../module/node/Manager';
|
16
|
+
import { CHART_TYPE } from '../../../util/constants';
|
17
|
+
import ConnectorManager from '../../module/connector/Manager';
|
18
|
+
|
19
|
+
const NODE_WIDTH = 100;
|
20
|
+
const NODE_HEIGHT = 50;
|
21
|
+
|
22
|
+
export default class CircleChart extends Relation {
|
23
|
+
static name = CHART_TYPE.CIRCLE
|
24
|
+
// 图表渲染容器
|
25
|
+
dom;
|
26
|
+
// 图表外部传入数据
|
27
|
+
optionData;
|
28
|
+
// 图表nodes+edges格式数据
|
29
|
+
relationData;
|
30
|
+
// 图表容器边距
|
31
|
+
padding = 30;
|
32
|
+
// 图表最外层容器
|
33
|
+
container;
|
34
|
+
// 图表svg元素容器
|
35
|
+
svgContainer;
|
36
|
+
// 图表html元素容器
|
37
|
+
htmlContainer;
|
38
|
+
// 图表容器的宽高变化监听器
|
39
|
+
resizeObserver = null;
|
40
|
+
// 连线管理器
|
41
|
+
lineManager;
|
42
|
+
// 节点管理器
|
43
|
+
nodeManager;
|
44
|
+
// 连接点管理器
|
45
|
+
connectorManager;
|
46
|
+
|
47
|
+
constructor() {
|
48
|
+
super();
|
49
|
+
this.dom = null;
|
50
|
+
this.option = null;
|
51
|
+
this.resizeObserver = null;
|
52
|
+
}
|
53
|
+
|
54
|
+
// 初始化图表渲染容器
|
55
|
+
init(dom) {
|
56
|
+
this.dom = dom;
|
57
|
+
}
|
58
|
+
|
59
|
+
// 初始化图表渲染配置
|
60
|
+
setOption(option) {
|
61
|
+
super.setOption(option);
|
62
|
+
}
|
63
|
+
|
64
|
+
// 图表渲染
|
65
|
+
render() {
|
66
|
+
super.render();
|
67
|
+
// this.createContainer();
|
68
|
+
this.setDefaultLayout();
|
69
|
+
this.createNodes();
|
70
|
+
this.createLines();
|
71
|
+
this.setResizeObserver();
|
72
|
+
this.renderCallBack && this.renderCallBack(this);
|
73
|
+
|
74
|
+
}
|
75
|
+
|
76
|
+
// 设置默认布局
|
77
|
+
setDefaultLayout(){
|
78
|
+
this.option.layout = merge({
|
79
|
+
nodeShape: 'circle',
|
80
|
+
},this.option.layout);
|
81
|
+
}
|
82
|
+
|
83
|
+
// 根据节点大小和关系,计算布局,创建和渲染节点
|
84
|
+
createNodes() {
|
85
|
+
this.optionData = this.option.data;
|
86
|
+
this.nodeManager = new NodeManager(this.option, this.htmlContainer);
|
87
|
+
this.setNodeSize(this.optionData);
|
88
|
+
this.nodeManager.layout();
|
89
|
+
this.nodeManager.render();
|
90
|
+
this.relationData = this.nodeManager.getData();
|
91
|
+
}
|
92
|
+
|
93
|
+
// 补充宽高信息到节点数据上
|
94
|
+
setNodeSize(optionData) {
|
95
|
+
optionData.nodes.forEach(child => {
|
96
|
+
child.width = child.width || this.option?.node?.width || NODE_WIDTH;
|
97
|
+
child.height = child.height || this.option?.node?.height || NODE_HEIGHT;
|
98
|
+
})
|
99
|
+
}
|
100
|
+
|
101
|
+
// 创建连线
|
102
|
+
createLines() {
|
103
|
+
// 绘制连线
|
104
|
+
this.lineManager = new LineManager(this.option,this.svgContainer,this);
|
105
|
+
this.lineManager.layout(this.nodeManager);
|
106
|
+
this.lineManager.render();
|
107
|
+
// 绘制连接点
|
108
|
+
this.connectorManager = new ConnectorManager(this, this.relationData.edges,this.option);
|
109
|
+
}
|
110
|
+
|
111
|
+
// 图表渲染完成时回调
|
112
|
+
onRendered(callback) {
|
113
|
+
this.renderCallBack = callback;
|
114
|
+
}
|
115
|
+
|
116
|
+
// 图表刷新,刷新配置项
|
117
|
+
refresh() {
|
118
|
+
|
119
|
+
}
|
120
|
+
|
121
|
+
// 图表刷新,仅刷新数据
|
122
|
+
refreshData() {
|
123
|
+
|
124
|
+
}
|
125
|
+
|
126
|
+
// 刷新图表自适应宽度
|
127
|
+
resize() {
|
128
|
+
|
129
|
+
}
|
130
|
+
|
131
|
+
setResizeObserver() {
|
132
|
+
|
133
|
+
}
|
134
|
+
|
135
|
+
// 销毁图表
|
136
|
+
uninstall() {
|
137
|
+
this.resizeObserver.disconnect();
|
138
|
+
}
|
139
|
+
}
|
140
|
+
|