@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,165 @@
|
|
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
|
+
import { random } from '../../util/math';
|
14
|
+
import { CHARTTYPE } from './BaseOption';
|
15
|
+
|
16
|
+
function setChartPosition(polarInfo, chartInstance) {
|
17
|
+
let radius = polarInfo.radius, widthDis, heightDis;
|
18
|
+
const width = chartInstance.getWidth();
|
19
|
+
const height = chartInstance.getHeight();
|
20
|
+
|
21
|
+
const getNumber = (value, { callback1, callback2, callback3 }) => {
|
22
|
+
let correctValue;
|
23
|
+
if (typeof value !== 'number') {
|
24
|
+
if (value.indexOf('%') !== -1) { // 有百分比的字符串数字
|
25
|
+
correctValue = callback1(value);
|
26
|
+
} else { // 无百分比的字符串数字
|
27
|
+
correctValue = callback2(value);
|
28
|
+
}
|
29
|
+
} else { // 数值
|
30
|
+
correctValue = callback3(value);
|
31
|
+
}
|
32
|
+
return correctValue;
|
33
|
+
};
|
34
|
+
|
35
|
+
radius = getNumber(radius, {
|
36
|
+
callback1: (value) => value.substring(0, value.indexOf('%')) / 100,
|
37
|
+
callback2: (value) => parseFloat(value) / Math.min(height, width),
|
38
|
+
callback3: (value) => value / Math.min(height, width),
|
39
|
+
});
|
40
|
+
|
41
|
+
widthDis = getNumber(polarInfo.center[0], {
|
42
|
+
callback1: (value) => width * (value.substring(0, value.indexOf('%')) / 100 - radius / 2),
|
43
|
+
callback2: (value) => parseFloat(value),
|
44
|
+
callback3: (value) => value,
|
45
|
+
});
|
46
|
+
|
47
|
+
heightDis = getNumber(polarInfo.center[1], {
|
48
|
+
callback1: (value) => height * (value.substring(0, value.indexOf('%')) / 100 - radius / 2),
|
49
|
+
callback2: (value) => parseFloat(value),
|
50
|
+
callback3: (value) => value,
|
51
|
+
});
|
52
|
+
|
53
|
+
return { radius, widthDis, heightDis };
|
54
|
+
}
|
55
|
+
|
56
|
+
export function handleRootData(d3, { baseOption, chartInstance, iChartOption, chartType }) {
|
57
|
+
// polar的信息会在index中被删除,此处需要储存一份用于计算节点坐标等。
|
58
|
+
const polarInfo = cloneDeep(baseOption.polar);
|
59
|
+
const { textStyle = {}, sortType = 'decline' } = iChartOption;
|
60
|
+
let distance = iChartOption.distance;
|
61
|
+
if (iChartOption.distance === undefined) {
|
62
|
+
switch (chartType) {
|
63
|
+
case CHARTTYPE.NON_NESTED:
|
64
|
+
distance = 50;
|
65
|
+
break;
|
66
|
+
default:
|
67
|
+
distance = 5;
|
68
|
+
break;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
const stratify = (sourceData) => {
|
72
|
+
let sortResult = d3
|
73
|
+
.stratify()
|
74
|
+
.parentId(function (d) {
|
75
|
+
return d.id.substring(0, d.id.lastIndexOf('.'));
|
76
|
+
})(sourceData)
|
77
|
+
.sum(function (d) {
|
78
|
+
return d.value || 0;
|
79
|
+
});
|
80
|
+
switch (sortType) {
|
81
|
+
case 'decline': // 降序(中心向外,球尺寸依次减小)
|
82
|
+
sortResult = sortResult.sort((a, b) => b.value - a.value);
|
83
|
+
break;
|
84
|
+
case 'ascend': // 升序(中心向外,球尺寸依次增大)
|
85
|
+
sortResult = sortResult.sort((a, b) => a.value - b.value);
|
86
|
+
break;
|
87
|
+
case 'unset': // 不设置
|
88
|
+
break;
|
89
|
+
default:
|
90
|
+
break;
|
91
|
+
}
|
92
|
+
return sortResult;
|
93
|
+
};
|
94
|
+
// 给baseOptionion设置renderItem,且只能设置一次,多次则会造成视图重叠
|
95
|
+
baseOption.series[baseOption.series.length - 1].renderItem = (params, api) => {
|
96
|
+
const displayRoot = stratify(baseOption.dataset[0].source);
|
97
|
+
const context = params.context;
|
98
|
+
if (!context.layout) {
|
99
|
+
context.layout = true;
|
100
|
+
context.nodes = {};
|
101
|
+
d3
|
102
|
+
.pack()
|
103
|
+
.size([api.getWidth() - 2, api.getHeight() - 2])
|
104
|
+
.padding(distance)(displayRoot);
|
105
|
+
displayRoot.descendants().forEach(node => { context.nodes[node.id] = node; });
|
106
|
+
}
|
107
|
+
const node = context.nodes[api.value('id')];
|
108
|
+
if (!node || node.r <= 0) {
|
109
|
+
return;
|
110
|
+
}
|
111
|
+
// 设置label值是否显示,若有嵌套则不显示,否则显示
|
112
|
+
const nodeName = (!node.children || !node.children.length) ? node.data.label : '';
|
113
|
+
const { radius, widthDis, heightDis } = setChartPosition(polarInfo, chartInstance);
|
114
|
+
return {
|
115
|
+
type: 'circle',
|
116
|
+
// 定义球的坐标及半径
|
117
|
+
shape: {
|
118
|
+
cx: node.x * radius + widthDis,
|
119
|
+
cy: node.y * radius + heightDis,
|
120
|
+
// 若移动页面使得球的半径小于0时则取反
|
121
|
+
r: node.r * radius > 0 ? node.r * radius : -node.r * radius,
|
122
|
+
},
|
123
|
+
transition: ['shape'],
|
124
|
+
z2: api.value('depth') * 2,
|
125
|
+
// 定义球的文本信息等
|
126
|
+
textContent: {
|
127
|
+
type: 'text',
|
128
|
+
style: {
|
129
|
+
text: (node.depth !== 0 && node.data.showLabel) ? (textStyle.formatter && textStyle.formatter(node) || nodeName) : '',
|
130
|
+
fontFamily: 'Arial',
|
131
|
+
width: node.r,
|
132
|
+
height: node.r,
|
133
|
+
borderRadius: node.r,
|
134
|
+
// 文本溢出显示
|
135
|
+
overflow: 'visible',
|
136
|
+
fontSize: Math.max(node.r / 3, 12),
|
137
|
+
fill: chartType !== CHARTTYPE.NESTED ? '#ffffff' : node.data.textColor, // 设计稿白主题默认白色
|
138
|
+
...textStyle
|
139
|
+
},
|
140
|
+
},
|
141
|
+
// 设置文本显示的位置
|
142
|
+
textConfig: { position: 'inside' },
|
143
|
+
style: {
|
144
|
+
// 设置球的边框色
|
145
|
+
stroke: node.data.borderColor,
|
146
|
+
// 设置球的背景色
|
147
|
+
fill: node.data.color,
|
148
|
+
},
|
149
|
+
// 设置球的跳动范围
|
150
|
+
keyframeAnimation: {
|
151
|
+
duration: 3000,
|
152
|
+
loop: true,
|
153
|
+
delay: random() * 2000,
|
154
|
+
keyframes: [
|
155
|
+
{ y: -3, percent: 0.5, easing: 'cubicOut' },
|
156
|
+
{ y: 0, percent: 1, easing: 'bounceOut' },
|
157
|
+
{ x: -3, percent: 0.5, easing: 'cubicOut' },
|
158
|
+
{ x: 0, percent: 1, easing: 'bounceOut' },
|
159
|
+
],
|
160
|
+
},
|
161
|
+
};
|
162
|
+
};
|
163
|
+
}
|
164
|
+
|
165
|
+
|
@@ -0,0 +1,70 @@
|
|
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 { CHARTTYPE } from "./BaseOption";
|
13
|
+
import { getColor, codeToRGB } from "../../util/color";
|
14
|
+
import chartToken from "./chartToken";
|
15
|
+
|
16
|
+
export function handleSeriesData(iChartOption, baseOpt, chartType) {
|
17
|
+
const sourceData = [
|
18
|
+
{
|
19
|
+
depth: 0,
|
20
|
+
id: 'option',
|
21
|
+
value: 1255,
|
22
|
+
type: undefined,
|
23
|
+
label: undefined,
|
24
|
+
}
|
25
|
+
];
|
26
|
+
const legendData = [];
|
27
|
+
|
28
|
+
const loopData = (data, depth = 1, parentInfo = { id: 'option' }) => {
|
29
|
+
data.forEach((item, index) => {
|
30
|
+
item.depth = depth;
|
31
|
+
item.id = `${parentInfo.id}.${index}`;
|
32
|
+
item.textColor = chartToken.labelColor;
|
33
|
+
if (depth === 1) {
|
34
|
+
let hasRecordIndex = legendData.findIndex(v => v === item.type);
|
35
|
+
item.color = getColor(iChartOption.color, hasRecordIndex !== -1 ? hasRecordIndex : legendData.length);
|
36
|
+
item.borderColor = item.color;
|
37
|
+
} else {
|
38
|
+
item.type = parentInfo.type;
|
39
|
+
item.color = parentInfo.color;
|
40
|
+
item.borderColor = parentInfo.borderColor;
|
41
|
+
}
|
42
|
+
sourceData.push(item);
|
43
|
+
if (!legendData.includes(item.type)) {
|
44
|
+
legendData.push(item.type);
|
45
|
+
}
|
46
|
+
if (chartType === CHARTTYPE.NESTED && item.children && item.children.length) {
|
47
|
+
if (item.depth === 1) {
|
48
|
+
item.color = codeToRGB(item.color, .2);
|
49
|
+
}
|
50
|
+
loopData(item.children, depth + 1, item);
|
51
|
+
}
|
52
|
+
});
|
53
|
+
};
|
54
|
+
|
55
|
+
loopData(iChartOption.data);
|
56
|
+
|
57
|
+
baseOpt.dataset[0].source = sourceData;
|
58
|
+
|
59
|
+
baseOpt.legend.data = legendData;
|
60
|
+
|
61
|
+
[...legendData].reverse().forEach((item) => {
|
62
|
+
baseOpt.series.unshift({
|
63
|
+
name: item,
|
64
|
+
type: 'pie',
|
65
|
+
data: [],
|
66
|
+
radius: ['0%', '0%'],
|
67
|
+
colorBy: 'data',
|
68
|
+
});
|
69
|
+
});
|
70
|
+
}
|
@@ -0,0 +1,65 @@
|
|
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
|
+
import BaseOption from './BaseOption';
|
14
|
+
import { defaultTooltipFormatter, judgeType, bindLegendEvent } from './handleOption';
|
15
|
+
import { handleRootData } from './handleRootData';
|
16
|
+
import { handleSeriesData } from './handleSeriesData';
|
17
|
+
import init from '../../option/init';
|
18
|
+
import { isArray } from '../../util/type';
|
19
|
+
import { CHART_TYPE } from '../../util/constants';
|
20
|
+
import PolarCoordSys from '../../option/PolarSys';
|
21
|
+
|
22
|
+
class AssembleBubbleChart {
|
23
|
+
|
24
|
+
static name = CHART_TYPE.ASSEMBLE_BUBBLE;
|
25
|
+
static chartType;
|
26
|
+
|
27
|
+
constructor(iChartOption, chartInstance, plugins) {
|
28
|
+
this.baseOption = cloneDeep(BaseOption);
|
29
|
+
this.iChartOption = init(iChartOption);
|
30
|
+
this.chartInstance = chartInstance;
|
31
|
+
this.plugins = plugins;
|
32
|
+
this.updateOption(chartInstance);
|
33
|
+
}
|
34
|
+
|
35
|
+
updateOption(chartInstance) {
|
36
|
+
this.iChartOption.position = this.iChartOption.position ?? this.iChartOption.chartPosition;
|
37
|
+
const { d3 } = this.plugins;
|
38
|
+
if (!d3) throw new Error('您必须安装d3才可以使用聚合气泡图');
|
39
|
+
if (!isArray(this.iChartOption.color)) { this.iChartOption.color = [this.iChartOption.color]; }
|
40
|
+
// 判断图表类型
|
41
|
+
judgeType(this);
|
42
|
+
// 装载除series之外的其他配置
|
43
|
+
PolarCoordSys(this.baseOption, this.iChartOption, CHART_TYPE.ASSEMBLE_BUBBLE);
|
44
|
+
// 补齐默认的tooltip.formatter
|
45
|
+
defaultTooltipFormatter(this.baseOption);
|
46
|
+
// 处理dataset、legend.data、补全series
|
47
|
+
handleSeriesData(this.iChartOption, this.baseOption, this.chartType);
|
48
|
+
// 编写自定义renderItem函数
|
49
|
+
handleRootData(d3, this);
|
50
|
+
// 聚合气泡图属于自定义系列,使用polar会报错,需要删除
|
51
|
+
delete this.baseOption.polar;
|
52
|
+
// 自定义系列的图例点击事件需要自行绑定
|
53
|
+
bindLegendEvent(this.baseOption, chartInstance);
|
54
|
+
}
|
55
|
+
|
56
|
+
getOption() {
|
57
|
+
return this.baseOption;
|
58
|
+
}
|
59
|
+
|
60
|
+
setOption(option) {
|
61
|
+
this.baseOption = option;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
export default AssembleBubbleChart;
|
@@ -0,0 +1,162 @@
|
|
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 BaseChart from '../BaseChart';
|
13
|
+
import * as echarts from 'echarts'
|
14
|
+
import { CHART_TYPE } from '../../util/constants';
|
15
|
+
|
16
|
+
// 常规的调用方法
|
17
|
+
let amapPromise = null
|
18
|
+
|
19
|
+
export default class AutonaviMapChart extends BaseChart {
|
20
|
+
|
21
|
+
static name = CHART_TYPE.AUTONAVI_MAP
|
22
|
+
|
23
|
+
constructor() {
|
24
|
+
super();
|
25
|
+
// 图表echarts实例
|
26
|
+
this.echartsIns = null;
|
27
|
+
// 图表icharts实例
|
28
|
+
this.ichartsIns = null;
|
29
|
+
|
30
|
+
// 图表echarts配置项
|
31
|
+
this.eChartOption = null;
|
32
|
+
// 图表icharts配置项
|
33
|
+
this.iChartOption = null;
|
34
|
+
|
35
|
+
// 图表渲染容器
|
36
|
+
this.dom = null;
|
37
|
+
// 图表配置项
|
38
|
+
this.option = null;
|
39
|
+
}
|
40
|
+
|
41
|
+
getAmap (option) {
|
42
|
+
if (!amapPromise) {
|
43
|
+
const key = option.key;
|
44
|
+
const url = option.url;
|
45
|
+
const version = option.version || option.ver || option.v;
|
46
|
+
amapPromise = new Promise((resolve) => {
|
47
|
+
const cbName = 'amap' + Date.now();
|
48
|
+
let script = document.createElement('script');
|
49
|
+
window[cbName] = resolve;
|
50
|
+
let src = `${url}?v=${version}&key=${key}`;
|
51
|
+
if (option.plugin) {
|
52
|
+
src += `&plugin=${option.plugin}`;
|
53
|
+
}
|
54
|
+
script.src = `${src}&callback=${cbName}`;
|
55
|
+
script.onload = () => resolve();
|
56
|
+
document.body.appendChild(script);
|
57
|
+
})
|
58
|
+
}
|
59
|
+
return amapPromise;
|
60
|
+
}
|
61
|
+
|
62
|
+
// 初始化图表渲染容器
|
63
|
+
init (dom) {
|
64
|
+
this.uninstall();
|
65
|
+
this.dom = dom;
|
66
|
+
this.echartsIns = echarts.init(this.dom);
|
67
|
+
}
|
68
|
+
|
69
|
+
// 初始化图表渲染配置
|
70
|
+
setSimpleOption (chartName, option) {
|
71
|
+
this.option = option;
|
72
|
+
this.getAmap(this.option).then(() => {
|
73
|
+
this.echartsIns.setOption(this.option);
|
74
|
+
this.setResizeObserver();
|
75
|
+
})
|
76
|
+
}
|
77
|
+
|
78
|
+
// 图表渲染回调
|
79
|
+
render () {
|
80
|
+
this.initDom() // 渲染dom
|
81
|
+
this.renderCallBack && this.renderCallBack(this);
|
82
|
+
}
|
83
|
+
|
84
|
+
// 图表渲染完成时回调
|
85
|
+
onRenderReady (callback) {
|
86
|
+
this.renderCallBack = callback;
|
87
|
+
}
|
88
|
+
|
89
|
+
// 渲染dom
|
90
|
+
initDom () {
|
91
|
+
|
92
|
+
}
|
93
|
+
|
94
|
+
|
95
|
+
// 监听容器变化
|
96
|
+
setResizeObserver () {
|
97
|
+
if (this.resizeObserver) {
|
98
|
+
this.resizeObserver.disconnect();
|
99
|
+
this.resizeObserver = null;
|
100
|
+
}
|
101
|
+
this.resizeObserver = new ResizeObserver(entries => {
|
102
|
+
this.resizeDom();
|
103
|
+
});
|
104
|
+
this.resizeObserver.observe(this.dom);
|
105
|
+
}
|
106
|
+
|
107
|
+
resizeDom () {
|
108
|
+
this.echartsIns && this.echartsIns.resize && this.echartsIns.resize();
|
109
|
+
}
|
110
|
+
|
111
|
+
// 图表刷新,刷新配置项
|
112
|
+
refresh (option) {
|
113
|
+
this.iChartOption = option;
|
114
|
+
this.setSimpleOption('AutonaviMapChart', this.iChartOption);
|
115
|
+
this.resizeDom();
|
116
|
+
}
|
117
|
+
|
118
|
+
// 图表刷新,仅刷新数据
|
119
|
+
refreshData (data) {
|
120
|
+
this.iChartOption.series[0].data = data;
|
121
|
+
this.refresh(this.iChartOption);
|
122
|
+
}
|
123
|
+
|
124
|
+
// 刷新图表自适应宽度
|
125
|
+
setResize () {
|
126
|
+
this.resizeDom();
|
127
|
+
}
|
128
|
+
|
129
|
+
// 销毁图表
|
130
|
+
uninstall () {
|
131
|
+
if (this.resizeObserver) {
|
132
|
+
this.resizeObserver.disconnect();
|
133
|
+
this.resizeObserver = null;
|
134
|
+
}
|
135
|
+
// 销毁ECharts实例
|
136
|
+
if (this.echartsIns && !this.echartsIns.isDisposed()) {
|
137
|
+
this.echartsIns.dispose();
|
138
|
+
}
|
139
|
+
this.echartsIns = null;
|
140
|
+
this.dom = null;
|
141
|
+
}
|
142
|
+
|
143
|
+
// 获取到ECharts实例
|
144
|
+
getEchartsInstance () {
|
145
|
+
return this.echartsIns;
|
146
|
+
}
|
147
|
+
|
148
|
+
// 获取到ECharts配置项
|
149
|
+
getEchartsOption () {
|
150
|
+
return this.echartsIns.getOption();
|
151
|
+
}
|
152
|
+
|
153
|
+
// 获取 ECharts 高德地图组件
|
154
|
+
getAmapComponent () {
|
155
|
+
return this.echartsIns.getModel().getComponent('amap');
|
156
|
+
}
|
157
|
+
|
158
|
+
// 获取高德地图实例
|
159
|
+
getAmapInstance () {
|
160
|
+
return this.getAmapComponent().getAMap();
|
161
|
+
}
|
162
|
+
}
|
@@ -0,0 +1,148 @@
|
|
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 BaseChart from '../BaseChart';
|
13
|
+
import * as echarts from 'echarts';
|
14
|
+
import 'echarts/extension/bmap/bmap';
|
15
|
+
import { CHART_TYPE } from '../../util/constants';
|
16
|
+
|
17
|
+
// 判断map资源加载的flag
|
18
|
+
let mapApiLoaded = false;
|
19
|
+
export default class BaiduMapChart extends BaseChart {
|
20
|
+
|
21
|
+
static name = CHART_TYPE.BAIDU_MAP
|
22
|
+
|
23
|
+
constructor() {
|
24
|
+
super();
|
25
|
+
// 图表echarts实例
|
26
|
+
this.echartsIns = null;
|
27
|
+
// 图表渲染容器
|
28
|
+
this.dom = null;
|
29
|
+
// 图表配置项
|
30
|
+
this.option = null;
|
31
|
+
// 图表所需数据
|
32
|
+
this.data = null;
|
33
|
+
// 图表容器的宽高变化监听器
|
34
|
+
this.resizeObserver = null;
|
35
|
+
}
|
36
|
+
|
37
|
+
// 初始化图表渲染容器
|
38
|
+
init(dom) {
|
39
|
+
this.uninstall();
|
40
|
+
this.dom = dom;
|
41
|
+
}
|
42
|
+
|
43
|
+
// 初始化图表渲染配置
|
44
|
+
setSimpleOption(chartName, option) {
|
45
|
+
this.option = option;
|
46
|
+
}
|
47
|
+
|
48
|
+
loadMap({ key, version, url }) {
|
49
|
+
return new Promise((resolve) => {
|
50
|
+
if (mapApiLoaded) {
|
51
|
+
resolve(window.BMap);
|
52
|
+
return
|
53
|
+
}
|
54
|
+
let cbName = 'bmap' + Date.now();
|
55
|
+
let script = document.createElement('script');
|
56
|
+
let ver = version || '2.0';
|
57
|
+
|
58
|
+
window[cbName] = function () {
|
59
|
+
mapApiLoaded = true;
|
60
|
+
resolve(window.BMap);
|
61
|
+
}
|
62
|
+
script.src = [`${url}?${ver}`, `ak=${key}`, `callback=${cbName}`].join('&');
|
63
|
+
document.body.appendChild(script);
|
64
|
+
})
|
65
|
+
}
|
66
|
+
|
67
|
+
// 加载百度api,并渲染图表
|
68
|
+
render() {
|
69
|
+
let url = this.option.url;
|
70
|
+
let ver = this.option.v || '2.0';
|
71
|
+
let key = this.option.key;
|
72
|
+
this.loadMap({ key, version: ver, url }).then(() => {
|
73
|
+
this.renderInit();
|
74
|
+
})
|
75
|
+
}
|
76
|
+
|
77
|
+
// 渲染图表
|
78
|
+
renderInit() {
|
79
|
+
this.echartsIns = echarts.init(this.dom);
|
80
|
+
// 渲染
|
81
|
+
this.setOption(this.option);
|
82
|
+
this.setResizeObserver();
|
83
|
+
// 图表渲染完成时回调
|
84
|
+
this.renderCallBack && this.renderCallBack(this.echartsIns);
|
85
|
+
}
|
86
|
+
|
87
|
+
// 第一次渲染: 调用echarts原生的setOption
|
88
|
+
setOption(option) {
|
89
|
+
this.echartsIns.setOption(option);
|
90
|
+
}
|
91
|
+
|
92
|
+
// 图表渲染完成时回调
|
93
|
+
onRenderReady(callback) {
|
94
|
+
this.renderCallBack = callback;
|
95
|
+
}
|
96
|
+
|
97
|
+
// 监听容器变化
|
98
|
+
setResizeObserver() {
|
99
|
+
this.resizeObserver = new ResizeObserver(entries => {
|
100
|
+
this.resizeDom();
|
101
|
+
});
|
102
|
+
this.resizeObserver.observe(this.dom);
|
103
|
+
}
|
104
|
+
|
105
|
+
resizeDom() {
|
106
|
+
this.echartsIns && this.echartsIns.resize && this.echartsIns.resize();
|
107
|
+
}
|
108
|
+
|
109
|
+
// 图表刷新,包括刷新配置和数据
|
110
|
+
refresh(iChartOption) {
|
111
|
+
this.iChartOption = iChartOption;
|
112
|
+
this.setSimpleOption(this.chartName, iChartOption);
|
113
|
+
this.render();
|
114
|
+
}
|
115
|
+
|
116
|
+
// 图表刷新,仅刷新数据
|
117
|
+
refreshData(data) {
|
118
|
+
this.iChartOption.series[0].data = data;
|
119
|
+
this.refresh(this.iChartOption);
|
120
|
+
}
|
121
|
+
|
122
|
+
// 刷新图表自适应宽度
|
123
|
+
setResize() {
|
124
|
+
this.resizeDom();
|
125
|
+
}
|
126
|
+
|
127
|
+
// 销毁图表
|
128
|
+
uninstall() {
|
129
|
+
// 卸载window resize监听功能
|
130
|
+
window.removeEventListener('resize', this.throttleResize);
|
131
|
+
// 卸载container容器变化监听
|
132
|
+
if (this.resizeObserver) {
|
133
|
+
this.resizeObserver.disconnect();
|
134
|
+
this.resizeObserver = null;
|
135
|
+
}
|
136
|
+
this.echartsDisposed();
|
137
|
+
this.echartsIns = null;
|
138
|
+
// 销毁dom
|
139
|
+
this.dom = null;
|
140
|
+
}
|
141
|
+
|
142
|
+
// 销毁ECharts实例
|
143
|
+
echartsDisposed() {
|
144
|
+
if (this.echartsIns && !this.echartsIns.isDisposed()) {
|
145
|
+
this.echartsIns.dispose();
|
146
|
+
}
|
147
|
+
}
|
148
|
+
}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 - present OpenTiny HUICharts Authors.
|
3
|
+
* Copyright (c) 2024 - present Huawei Cloud Computing Technologies Co., Ltd.
|
4
|
+
*
|
5
|
+
* Use of this source code is governed by an MIT-style license.
|
6
|
+
*
|
7
|
+
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
|
8
|
+
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
|
9
|
+
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
|
10
|
+
*
|
11
|
+
*/
|
12
|
+
// 柱状图柱条响应式配置
|
13
|
+
const BarChartOption = (width, option, type, stack) => {
|
14
|
+
|
15
|
+
// 计算柱子宽度
|
16
|
+
let barWidth;
|
17
|
+
// 定义默认列数
|
18
|
+
let columns = option.series.length;
|
19
|
+
// 包含柱状图/双向柱状图只有一个柱子
|
20
|
+
if (type === 'contain' || type === 'both-sides' || type === 'double-sides') {
|
21
|
+
columns = 1;
|
22
|
+
}
|
23
|
+
//堆叠柱状图的柱子需要另外判断
|
24
|
+
else if (type === 'stack') {
|
25
|
+
columns = stack ? Object.keys(stack).length : 1;
|
26
|
+
}
|
27
|
+
else if (type === 'range' || type === 'water-fall') {
|
28
|
+
columns = option.series.length / 2;
|
29
|
+
}
|
30
|
+
|
31
|
+
const rows = option.series[0]?.data?.length;
|
32
|
+
const intervalRows = rows;
|
33
|
+
|
34
|
+
// 柱子宽度为16px的初始间距
|
35
|
+
const interval = (width - (rows * columns * 16 + rows * 4 * (columns - 1))) / intervalRows
|
36
|
+
|
37
|
+
if (interval >= 16) {
|
38
|
+
barWidth = 16;
|
39
|
+
}
|
40
|
+
else {
|
41
|
+
const flag = (width - intervalRows * 16 - rows * 4 * (columns - 1)) / (rows * columns)
|
42
|
+
barWidth = flag > 2 ? flag : 2
|
43
|
+
}
|
44
|
+
|
45
|
+
// 不同系列柱子之间的距离
|
46
|
+
let barGap;
|
47
|
+
if (type === 'contain') {
|
48
|
+
barGap = `-100%`;
|
49
|
+
}
|
50
|
+
// 柱间距离规范是4px
|
51
|
+
else {
|
52
|
+
barGap = `${4 / barWidth * 100}%`
|
53
|
+
}
|
54
|
+
|
55
|
+
option.series.forEach(item => {
|
56
|
+
Object.assign(item, {
|
57
|
+
barWidth,
|
58
|
+
barGap
|
59
|
+
});
|
60
|
+
});
|
61
|
+
};
|
62
|
+
|
63
|
+
// 动态计算柱条宽度更新配置项
|
64
|
+
const updateWidth = (baseOption, chartInstance, iChartOption) => {
|
65
|
+
let width;
|
66
|
+
if (chartInstance.getModel()) {
|
67
|
+
if (iChartOption.direction === 'horizontal') {
|
68
|
+
width = chartInstance.getModel().getComponent('grid').coordinateSystem.getRect().height;
|
69
|
+
} else {
|
70
|
+
width = chartInstance.getModel().getComponent('grid').coordinateSystem.getRect().width;
|
71
|
+
}
|
72
|
+
BarChartOption(width, baseOption, iChartOption.type, iChartOption.stack);
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
76
|
+
export default updateWidth;
|
@@ -0,0 +1,17 @@
|
|
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 Token from '../../feature/token';
|
13
|
+
import {CHART_TYPE} from '../../util/constants'
|
14
|
+
|
15
|
+
const chartToken = Token.getTokenByName(CHART_TYPE.BAR)
|
16
|
+
|
17
|
+
export default chartToken;
|