@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,193 @@
|
|
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 { codeToHex, codeToRGB } from '../../util/color';
|
14
|
+
import merge from '../../util/merge';
|
15
|
+
import chartToken from './chartToken';
|
16
|
+
|
17
|
+
// 配置数据
|
18
|
+
export function handleData(iChartOption, baseOpt) {
|
19
|
+
const dataName = [];
|
20
|
+
iChartOption.data.forEach(item => {
|
21
|
+
dataName.push(item.name);
|
22
|
+
});
|
23
|
+
baseOpt.xAxis.data = dataName;
|
24
|
+
baseOpt.series[0].data = iChartOption.data;
|
25
|
+
}
|
26
|
+
|
27
|
+
// 配置山峰颜色及透明度
|
28
|
+
export function handleColor(iChartOption, baseOpt) {
|
29
|
+
// 配置显示的颜色
|
30
|
+
baseOpt.series[0].itemStyle = {
|
31
|
+
// opacity: iChartOption.opacity,
|
32
|
+
normal: {
|
33
|
+
color(params) {
|
34
|
+
return codeToRGB(
|
35
|
+
codeToHex(iChartOption.color[params.dataIndex % iChartOption.color.length]),
|
36
|
+
iChartOption.opacity || 0.8,
|
37
|
+
);
|
38
|
+
},
|
39
|
+
},
|
40
|
+
};
|
41
|
+
}
|
42
|
+
|
43
|
+
// 配置文本
|
44
|
+
export function handleText(iChartOption, baseOpt) {
|
45
|
+
// 山峰头部文本
|
46
|
+
baseOpt.series[0].label = {
|
47
|
+
normal: {
|
48
|
+
show: iChartOption.text && iChartOption.text.show === true ? iChartOption.text && iChartOption.text.show : false,
|
49
|
+
position: 'top',
|
50
|
+
textStyle: {
|
51
|
+
fontSize:
|
52
|
+
iChartOption.text && iChartOption.text.fontSize ? iChartOption.text && iChartOption.text.fontSize : 12,
|
53
|
+
color: iChartOption.text && iChartOption.text.fontColor ? iChartOption.text.fontColor : chartToken.labelColor,
|
54
|
+
},
|
55
|
+
},
|
56
|
+
};
|
57
|
+
}
|
58
|
+
|
59
|
+
// 配置ChartPadding
|
60
|
+
export function handlePadding(iChartOption, baseOpt) {
|
61
|
+
baseOpt['grid'] = {
|
62
|
+
top: iChartOption.padding[0],
|
63
|
+
right: iChartOption.padding[1],
|
64
|
+
bottom: iChartOption.padding[2],
|
65
|
+
left: iChartOption.padding[3] + 25,
|
66
|
+
};
|
67
|
+
}
|
68
|
+
|
69
|
+
// 配置相邻山峰间隔
|
70
|
+
export function handleCoincide(iChartOption, baseOpt) {
|
71
|
+
baseOpt.series[0]['barCategoryGap'] = iChartOption.coincide ? iChartOption.coincide : '-100%';
|
72
|
+
}
|
73
|
+
|
74
|
+
const setColorStops = (color, opacity, index, colors) => {
|
75
|
+
if (!color || index >= colors.length) {
|
76
|
+
throw new Error('Invalid color configuration');
|
77
|
+
}
|
78
|
+
return !opacity ? color : codeToRGB(codeToHex(color), opacity || 0.8);
|
79
|
+
};
|
80
|
+
|
81
|
+
// 配置渐变色
|
82
|
+
export function setGradientColor(baseOpt, color, gradientColor, opacity, iChartOption) {
|
83
|
+
if (gradientColor) {
|
84
|
+
baseOpt.series[0].itemStyle = {
|
85
|
+
normal: {
|
86
|
+
color(params) {
|
87
|
+
return {
|
88
|
+
type: 'linear',
|
89
|
+
x: 0,
|
90
|
+
y: 0,
|
91
|
+
x2: 0,
|
92
|
+
y2: 1,
|
93
|
+
colorStops: [
|
94
|
+
{
|
95
|
+
offset: 0,
|
96
|
+
color: setColorStops(gradientColor[params.dataIndex % gradientColor.length], opacity, params.dataIndex, gradientColor),
|
97
|
+
},
|
98
|
+
{
|
99
|
+
offset: 1,
|
100
|
+
color: setColorStops(iChartOption.color[params.dataIndex % iChartOption.color.length], opacity, params.dataIndex, iChartOption.color),
|
101
|
+
}
|
102
|
+
],
|
103
|
+
globalCoord: false,
|
104
|
+
};
|
105
|
+
},
|
106
|
+
},
|
107
|
+
};
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
const colorWhole = (baseOpt, item, markLine, colorError, index) => {
|
112
|
+
baseOpt.series[0].data[index] = {
|
113
|
+
value: item,
|
114
|
+
itemStyle: {
|
115
|
+
color: markLine.color || colorError,
|
116
|
+
},
|
117
|
+
};
|
118
|
+
};
|
119
|
+
|
120
|
+
const colorExcess = (baseOpt, iChartOpt, item, index, i) => {
|
121
|
+
const { markLine, color, opacity } = iChartOpt;
|
122
|
+
const { colorError } = Token.config.colorState;
|
123
|
+
baseOpt.series[0].data[index] = {
|
124
|
+
value: item,
|
125
|
+
itemStyle: {
|
126
|
+
color: {
|
127
|
+
x: 0,
|
128
|
+
y: 0,
|
129
|
+
x2: 0,
|
130
|
+
y2: 1,
|
131
|
+
type: 'linear',
|
132
|
+
colorStops: [
|
133
|
+
{
|
134
|
+
offset: 0,
|
135
|
+
color: markLine.color || colorError,
|
136
|
+
},
|
137
|
+
{
|
138
|
+
offset: (item - markLine[i]) / item,
|
139
|
+
color: markLine.color || colorError,
|
140
|
+
},
|
141
|
+
{
|
142
|
+
offset: (item - markLine[i]) / item,
|
143
|
+
color: codeToRGB(codeToHex(color[index % color.length]), opacity || 0.8),
|
144
|
+
},
|
145
|
+
{
|
146
|
+
offset: 1,
|
147
|
+
color: codeToRGB(codeToHex(color[index % color.length]), opacity || 0.8),
|
148
|
+
},
|
149
|
+
],
|
150
|
+
},
|
151
|
+
},
|
152
|
+
};
|
153
|
+
};
|
154
|
+
|
155
|
+
const reviseMarkLineData = (baseOpt, iChartOpt, i) => {
|
156
|
+
const { markLine } = iChartOpt;
|
157
|
+
const { colorError } = Token.config.colorState;
|
158
|
+
baseOpt.series[0].data.forEach((item, index) => {
|
159
|
+
if (item > markLine[i] && i === 'top') {
|
160
|
+
// 整体变色
|
161
|
+
if (markLine.topWholeColor) {
|
162
|
+
colorWhole(baseOpt, item, markLine, colorError, index);
|
163
|
+
} else {
|
164
|
+
// 超出部分变色
|
165
|
+
colorExcess(baseOpt, iChartOpt, item, index, i);
|
166
|
+
}
|
167
|
+
} else if (item < markLine[i] && i === 'bottom') {
|
168
|
+
// 低于bottom的直接整体变色,不用判断
|
169
|
+
colorWhole(baseOpt, item, markLine, colorError, index)
|
170
|
+
}
|
171
|
+
});
|
172
|
+
};
|
173
|
+
|
174
|
+
|
175
|
+
// 配置阈值线(整体变色,超过部分变色)
|
176
|
+
export function handleMarkLine(baseOpt, iChartOpt) {
|
177
|
+
const { markLine } = iChartOpt;
|
178
|
+
if (markLine) {
|
179
|
+
for (const i in markLine) {
|
180
|
+
if (i === 'top' || i === 'bottom') {
|
181
|
+
// series插入阈值线
|
182
|
+
baseOpt.series[0].markLine.data.push({ yAxis: markLine[i] });
|
183
|
+
// 重置数据
|
184
|
+
reviseMarkLineData(baseOpt, iChartOpt, i);
|
185
|
+
}
|
186
|
+
}
|
187
|
+
// 合并属性
|
188
|
+
merge(baseOpt.series[0].markLine, markLine);
|
189
|
+
}
|
190
|
+
}
|
191
|
+
|
192
|
+
|
193
|
+
|
@@ -0,0 +1,39 @@
|
|
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 merge from '../../util/merge';
|
14
|
+
import chartToken from './chartToken';
|
15
|
+
|
16
|
+
/**
|
17
|
+
* 配置山峰图高亮状态
|
18
|
+
* @param {*} baseOpt
|
19
|
+
* @param {*} iChartOpt
|
20
|
+
*/
|
21
|
+
export const handleEmphasis = (baseOpt, iChartOpt) => {
|
22
|
+
const { emphasis } = iChartOpt;
|
23
|
+
const defaultEmphasis = {
|
24
|
+
disabled: true,
|
25
|
+
label: {
|
26
|
+
// 为啥是蓝色待确定
|
27
|
+
color: Token.config.colorState.colorInfo,
|
28
|
+
},
|
29
|
+
itemStyle: {
|
30
|
+
borderColor: chartToken.emphasisItemBorderColor,
|
31
|
+
borderWidth: 2,
|
32
|
+
},
|
33
|
+
};
|
34
|
+
merge(defaultEmphasis, emphasis);
|
35
|
+
baseOpt.series[0] = {
|
36
|
+
...baseOpt.series[0],
|
37
|
+
emphasis: defaultEmphasis,
|
38
|
+
};
|
39
|
+
};
|
@@ -0,0 +1,96 @@
|
|
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 getBaseOption from './baseOption';
|
13
|
+
import {
|
14
|
+
handleData,
|
15
|
+
handleColor,
|
16
|
+
handleText,
|
17
|
+
handlePadding,
|
18
|
+
handleCoincide,
|
19
|
+
setGradientColor,
|
20
|
+
handleMarkLine,
|
21
|
+
} from './handleOption';
|
22
|
+
import { handleEmphasis } from './handleSeries';
|
23
|
+
import init from '../../option/init';
|
24
|
+
import title from '../../option/config/rectTitle';
|
25
|
+
import toolTip from '../../option/config/tooltip';
|
26
|
+
import xAxis from '../../option/config/xAxis';
|
27
|
+
import yAxis from '../../option/config/yAxis';
|
28
|
+
import { CHART_TYPE } from '../../util/constants';
|
29
|
+
|
30
|
+
class HillChart {
|
31
|
+
|
32
|
+
static name = CHART_TYPE.HILL
|
33
|
+
|
34
|
+
constructor(iChartOption, chartInstance) {
|
35
|
+
this.baseOption = {};
|
36
|
+
this.iChartOption = {};
|
37
|
+
this.baseOption = getBaseOption();
|
38
|
+
// 组装 iChartOption, 补全默认值
|
39
|
+
this.iChartOption = init(iChartOption);
|
40
|
+
// 根据 iChartOption 组装 baseOption
|
41
|
+
this.updateOption(iChartOption, chartInstance);
|
42
|
+
}
|
43
|
+
|
44
|
+
updateOption(iChartOption, chartInstance) {
|
45
|
+
// 是否显示坐标轴
|
46
|
+
// 配置x轴
|
47
|
+
this.baseOption.xAxis = xAxis(iChartOption)[0];
|
48
|
+
if (iChartOption.axis && iChartOption.axis.show) {
|
49
|
+
// 配置y轴
|
50
|
+
this.baseOption.yAxis = yAxis(this.baseOption, iChartOption, CHART_TYPE.HILL);
|
51
|
+
} else {
|
52
|
+
this.baseOption.xAxis['axisLine'] = {
|
53
|
+
show: false,
|
54
|
+
};
|
55
|
+
this.baseOption.xAxis['axisTick'] = {
|
56
|
+
show: false,
|
57
|
+
};
|
58
|
+
this.baseOption.yAxis.show = false;
|
59
|
+
// 配置标题
|
60
|
+
this.baseOption.title = title(iChartOption, CHART_TYPE.HILL, iChartOption.yAxis && iChartOption.yAxis.nameTextStyle);
|
61
|
+
}
|
62
|
+
// 配置数据
|
63
|
+
handleData(iChartOption, this.baseOption);
|
64
|
+
// 配置山峰颜色及透明度
|
65
|
+
handleColor(iChartOption, this.baseOption);
|
66
|
+
// 配置文本
|
67
|
+
handleText(iChartOption, this.baseOption);
|
68
|
+
// 配置ChartPadding
|
69
|
+
handlePadding(iChartOption, this.baseOption);
|
70
|
+
// 配置相邻山峰间隔
|
71
|
+
handleCoincide(iChartOption, this.baseOption);
|
72
|
+
// 配置悬浮提示框
|
73
|
+
this.baseOption.tooltip = toolTip(iChartOption, CHART_TYPE.HILL);
|
74
|
+
this.baseOption.tooltip.trigger = 'item';
|
75
|
+
// 配置渐变色
|
76
|
+
setGradientColor(
|
77
|
+
this.baseOption,
|
78
|
+
iChartOption.color,
|
79
|
+
iChartOption.gradientColor,
|
80
|
+
iChartOption.opacity,
|
81
|
+
iChartOption,
|
82
|
+
);
|
83
|
+
// 配置阈值线
|
84
|
+
handleMarkLine(this.baseOption, iChartOption);
|
85
|
+
// 配置高亮状态
|
86
|
+
handleEmphasis(this.baseOption, iChartOption);
|
87
|
+
}
|
88
|
+
|
89
|
+
getOption() {
|
90
|
+
return this.baseOption;
|
91
|
+
}
|
92
|
+
|
93
|
+
setOption() { }
|
94
|
+
}
|
95
|
+
|
96
|
+
export default HillChart;
|
@@ -0,0 +1,172 @@
|
|
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 TipManager from './TipManager';
|
13
|
+
export default class NodeManager {
|
14
|
+
data;
|
15
|
+
theme;
|
16
|
+
render;
|
17
|
+
tipHtml;
|
18
|
+
vGap;
|
19
|
+
hGap;
|
20
|
+
layout;
|
21
|
+
dom;
|
22
|
+
// 节点宽度
|
23
|
+
nodeWidth;
|
24
|
+
// 节点dom数组
|
25
|
+
nodeCluster;
|
26
|
+
container;
|
27
|
+
hcContainer;
|
28
|
+
tipManager;
|
29
|
+
|
30
|
+
|
31
|
+
constructor(dom, option) {
|
32
|
+
this.dom = dom;
|
33
|
+
this.container = this.dom.getElementsByClassName('hc-rows')[0];
|
34
|
+
this.hcContainer = this.dom.getElementsByClassName('hc-container')[0];
|
35
|
+
this.data = option.data || [];
|
36
|
+
this.theme = option.theme;
|
37
|
+
this.render = option.render;
|
38
|
+
this.tipHtml = option.tipHtml;
|
39
|
+
this.vGap = option.vGap + 'px' || 0;
|
40
|
+
this.hGap = option.hGap === undefined ? 8 : option.hGap;
|
41
|
+
this.layout = option.layout || 'common';
|
42
|
+
this.nodeWidth = this.getNodeWidth() + this.hGap;
|
43
|
+
this.tipManager = new TipManager(this.theme, this.tipHtml);
|
44
|
+
this.tipManager.init(this.hcContainer);
|
45
|
+
this.createNodes();
|
46
|
+
}
|
47
|
+
|
48
|
+
/**
|
49
|
+
* 在container中插入一个节点,获取节点宽度
|
50
|
+
*/
|
51
|
+
getNodeWidth() {
|
52
|
+
let node = this.data[0];
|
53
|
+
let nodeDom = this.createNode(node);
|
54
|
+
this.container.appendChild(nodeDom);
|
55
|
+
let width = nodeDom.clientWidth;
|
56
|
+
this.container.removeChild(nodeDom)
|
57
|
+
return width;
|
58
|
+
}
|
59
|
+
|
60
|
+
/**
|
61
|
+
* 根据用户传入数据生成节点Dom
|
62
|
+
*/
|
63
|
+
createNodes() {
|
64
|
+
let nodeCluster = [];
|
65
|
+
this.data.forEach((node) => {
|
66
|
+
let nodeDom = this.createNode(node);
|
67
|
+
nodeDom.addEventListener('mouseenter', (e) => {
|
68
|
+
this.tipManager.show(e, node, this.hcContainer, this.dom);
|
69
|
+
});
|
70
|
+
nodeDom.addEventListener('mouseleave', (e) => {
|
71
|
+
this.tipManager.close(e);
|
72
|
+
});
|
73
|
+
nodeCluster.push(nodeDom);
|
74
|
+
});
|
75
|
+
this.nodeCluster = nodeCluster;
|
76
|
+
}
|
77
|
+
|
78
|
+
/**
|
79
|
+
* 创建节点
|
80
|
+
**/
|
81
|
+
createNode(node) {
|
82
|
+
let { render } = node;
|
83
|
+
let nodeDom = document.createElement('div');
|
84
|
+
nodeDom.classList.add('hc-node');
|
85
|
+
nodeDom.style.marginRight = this.hGap / 2 + 'px';
|
86
|
+
nodeDom.style.marginLeft = this.hGap / 2 + 'px';
|
87
|
+
let renderFun = render || this.render;
|
88
|
+
if (renderFun) {
|
89
|
+
renderFun(nodeDom, node);
|
90
|
+
}
|
91
|
+
return nodeDom;
|
92
|
+
}
|
93
|
+
|
94
|
+
/**
|
95
|
+
* 根据布局生成图表
|
96
|
+
**/
|
97
|
+
layoutNodes() {
|
98
|
+
let containerWidth = this.hcContainer.getBoundingClientRect().width;
|
99
|
+
let total = this.data.length;
|
100
|
+
// 一行放几个节点
|
101
|
+
let size = Math.trunc(containerWidth / this.nodeWidth);
|
102
|
+
// 获取布局分布数据
|
103
|
+
let rowSize = this.getRowSize(total, size);
|
104
|
+
// 布局
|
105
|
+
rowSize.forEach((item, index) => {
|
106
|
+
// 创建一个rowDom
|
107
|
+
let rowDom = document.createElement('div');
|
108
|
+
rowDom.classList.add('hc-row');
|
109
|
+
// 位移
|
110
|
+
let left = this.getRowLeft(index);
|
111
|
+
rowDom.style.left = left + 'px';
|
112
|
+
// vGap控制节点之间垂直间距
|
113
|
+
if (index !== 0) {
|
114
|
+
rowDom.style.marginTop = this.vGap;
|
115
|
+
}
|
116
|
+
// 插入
|
117
|
+
item.forEach(i => {
|
118
|
+
let dom = this.nodeCluster[i];
|
119
|
+
rowDom.appendChild(dom);
|
120
|
+
});
|
121
|
+
this.container.appendChild(rowDom);
|
122
|
+
});
|
123
|
+
}
|
124
|
+
|
125
|
+
/**
|
126
|
+
* 返回每行left值
|
127
|
+
**/
|
128
|
+
getRowLeft(index) {
|
129
|
+
let left = 0;
|
130
|
+
switch (this.layout) {
|
131
|
+
case 'common':
|
132
|
+
left = index % 2 === 1 ? this.nodeWidth / 2 : 0;
|
133
|
+
break;
|
134
|
+
case 'ellipse':
|
135
|
+
left = index % 2 === 0 ? this.nodeWidth / 2 : 0;
|
136
|
+
break;
|
137
|
+
default:
|
138
|
+
left = 0;
|
139
|
+
break
|
140
|
+
}
|
141
|
+
return left;
|
142
|
+
}
|
143
|
+
|
144
|
+
/**
|
145
|
+
* 返回二维数组
|
146
|
+
**/
|
147
|
+
getRowSize(total, size) {
|
148
|
+
let arr = [];
|
149
|
+
let num = this.layout === 'ellipse' ? size - 1 : size;
|
150
|
+
let row = 0;
|
151
|
+
for (let i = 0, j = 0; i < total; i++) {
|
152
|
+
if (j >= num) {
|
153
|
+
j = 0;
|
154
|
+
row++;
|
155
|
+
switch (this.layout) {
|
156
|
+
case 'common':
|
157
|
+
case 'ellipse':
|
158
|
+
num = num === size ? size - 1 : size;
|
159
|
+
break;
|
160
|
+
case 'rect':
|
161
|
+
num = size;
|
162
|
+
}
|
163
|
+
}
|
164
|
+
if (j === 0) {
|
165
|
+
arr[row] = [];
|
166
|
+
}
|
167
|
+
arr[row][j] = i;
|
168
|
+
j++;
|
169
|
+
}
|
170
|
+
return arr;
|
171
|
+
}
|
172
|
+
}
|
@@ -0,0 +1,75 @@
|
|
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
|
+
export default class TipManager {
|
13
|
+
constructor(theme, tipHtml) {
|
14
|
+
this.theme = theme;
|
15
|
+
this.isShow = false;
|
16
|
+
this.tipHtml = tipHtml;
|
17
|
+
this.tooltipDom = null;
|
18
|
+
this.setTipTimeOut = null;
|
19
|
+
}
|
20
|
+
|
21
|
+
init(tipContainer) {
|
22
|
+
this.tooltipDom = document.createElement('div');
|
23
|
+
this.tooltipDom.classList.add('hc-tooltip');
|
24
|
+
if (this.theme === 'dark') {
|
25
|
+
this.tooltipDom.classList.add('dark');
|
26
|
+
}
|
27
|
+
this.tooltipDom.addEventListener('mouseenter', (e) => {
|
28
|
+
if (this.setTipTimeOut) { clearTimeout(this.setTipTimeOut); }
|
29
|
+
});
|
30
|
+
this.tooltipDom.addEventListener('mouseleave', (e) => {
|
31
|
+
this.close(e);
|
32
|
+
});
|
33
|
+
tipContainer.appendChild(this.tooltipDom);
|
34
|
+
}
|
35
|
+
|
36
|
+
show(event, node, tipContainer, chartContainer) {
|
37
|
+
// 唯一到别的上面去要马上刷新
|
38
|
+
if (this.setTipTimeOut) { clearTimeout(this.setTipTimeOut); }
|
39
|
+
this.isShow = true;
|
40
|
+
this.tooltipDom.innerHTML = '';
|
41
|
+
this.tipHtml(this.tooltipDom, node);
|
42
|
+
this.tooltipDom.style.display = 'block';
|
43
|
+
this.setPosition(event, tipContainer, chartContainer);
|
44
|
+
}
|
45
|
+
|
46
|
+
close(event) {
|
47
|
+
this.setTipTimeOut = setTimeout(() => {
|
48
|
+
this.isShow = false;
|
49
|
+
this.tooltipDom.style.display = 'none';
|
50
|
+
}, 200);
|
51
|
+
}
|
52
|
+
|
53
|
+
setPosition(event, tipContainer, chartContainer) {
|
54
|
+
let tipRect = this.tooltipDom.getBoundingClientRect();
|
55
|
+
let targetRect = event.target.getBoundingClientRect();
|
56
|
+
let tipContainerRect = tipContainer.getBoundingClientRect();
|
57
|
+
let chartContainerRect = chartContainer.getBoundingClientRect();
|
58
|
+
let tipTop = targetRect.top - tipContainerRect.top - tipRect.height;
|
59
|
+
let tipLeft = targetRect.left - tipContainerRect.left + targetRect.width;
|
60
|
+
// 如果弹窗右侧超出容器,则向左进行位置修正
|
61
|
+
let reviseH = (tipContainerRect.left - chartContainerRect.left) + tipLeft + tipRect.width - chartContainerRect.width;
|
62
|
+
// 此处-5是为了能够给阴影留下一些显示位置
|
63
|
+
if (reviseH > 0) {
|
64
|
+
tipLeft = tipLeft - reviseH - 5;
|
65
|
+
}
|
66
|
+
// 如果弹窗顶部超出容器,则向下进行位置修正
|
67
|
+
let reviseV = tipTop + (tipContainerRect.top - chartContainerRect.top);
|
68
|
+
// 此处+5是为了能够给阴影留下一些显示位置
|
69
|
+
if (reviseV < 0) {
|
70
|
+
tipTop = tipTop - reviseV + 5;
|
71
|
+
}
|
72
|
+
this.tooltipDom.style.top = tipTop + 'px';
|
73
|
+
this.tooltipDom.style.left = tipLeft + 'px';
|
74
|
+
}
|
75
|
+
}
|
@@ -0,0 +1,117 @@
|
|
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 NodeManager from './NodeManager';
|
14
|
+
import { CHART_TYPE } from '../../util/constants';
|
15
|
+
|
16
|
+
export default class HoneycombChart extends BaseChart {
|
17
|
+
|
18
|
+
static name = CHART_TYPE.HONEYCOMB
|
19
|
+
|
20
|
+
constructor() {
|
21
|
+
super();
|
22
|
+
// 图表渲染容器
|
23
|
+
this.dom = null;
|
24
|
+
// 图表配置项
|
25
|
+
this.option = null;
|
26
|
+
// 图表所需数据
|
27
|
+
this.data = null;
|
28
|
+
// 图表容器的宽高变化监听器
|
29
|
+
this.resizeObserver = null;
|
30
|
+
// 生成节点和计算位置
|
31
|
+
this.nodeManager = null;
|
32
|
+
}
|
33
|
+
|
34
|
+
// 初始化图表渲染容器
|
35
|
+
init(dom) {
|
36
|
+
this.dom = dom;
|
37
|
+
}
|
38
|
+
|
39
|
+
// 初始化图表渲染配置
|
40
|
+
setSimpleOption(chartName, option) {
|
41
|
+
this.option = option;
|
42
|
+
}
|
43
|
+
|
44
|
+
// 图表渲染回调
|
45
|
+
render() {
|
46
|
+
this.data = this.option.data || [];
|
47
|
+
this.initDom();
|
48
|
+
this.setResizeObserver();
|
49
|
+
this.renderCallBack && this.renderCallBack(this);
|
50
|
+
}
|
51
|
+
|
52
|
+
// 图表渲染完成时回调
|
53
|
+
onRenderReady(callback) {
|
54
|
+
this.renderCallBack = callback;
|
55
|
+
}
|
56
|
+
|
57
|
+
initDom() {
|
58
|
+
this.dom.style.padding = this.option.padding || 0;
|
59
|
+
this.dom.insertAdjacentHTML('beforeend', '<div class="hc-container"><div class="hc-rows"></div></div>');
|
60
|
+
if (this.data.length > 0) {
|
61
|
+
this.nodeManager = new NodeManager(this.dom, this.option);
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
resizeDom() {
|
66
|
+
if (this.data.length > 0) {
|
67
|
+
Array.prototype.slice.call(this.dom.getElementsByClassName('hc-row')).forEach(element => {
|
68
|
+
element.remove();
|
69
|
+
});
|
70
|
+
this.nodeManager.layoutNodes();
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
// 监听容器变化
|
75
|
+
setResizeObserver() {
|
76
|
+
this.resizeObserver = new ResizeObserver(entries => {
|
77
|
+
this.resizeDom();
|
78
|
+
});
|
79
|
+
this.resizeObserver.observe(this.dom);
|
80
|
+
}
|
81
|
+
|
82
|
+
// 图表刷新,刷新配置项
|
83
|
+
refresh(option) {
|
84
|
+
Array.prototype.slice.call(this.dom.getElementsByClassName('hc-container')).forEach(element => {
|
85
|
+
element.remove();
|
86
|
+
});
|
87
|
+
this.option = option;
|
88
|
+
this.data = option.data;
|
89
|
+
this.initDom();
|
90
|
+
this.resizeDom();
|
91
|
+
}
|
92
|
+
|
93
|
+
// 图表刷新,仅刷新数据
|
94
|
+
refreshData(data) {
|
95
|
+
Array.prototype.slice.call(this.dom.getElementsByClassName('hc-container')).forEach(element => {
|
96
|
+
element.remove();
|
97
|
+
});
|
98
|
+
this.data = data;
|
99
|
+
this.option.data = data;
|
100
|
+
this.initDom();
|
101
|
+
this.resizeDom();
|
102
|
+
}
|
103
|
+
|
104
|
+
// 刷新图表自适应宽度
|
105
|
+
setResize() {
|
106
|
+
this.resizeDom();
|
107
|
+
}
|
108
|
+
|
109
|
+
// 销毁图表
|
110
|
+
uninstall() {
|
111
|
+
if (this.resizeObserver) {
|
112
|
+
this.resizeObserver.disconnect();
|
113
|
+
this.resizeObserver = null;
|
114
|
+
}
|
115
|
+
this.dom.innerHTML = '';
|
116
|
+
}
|
117
|
+
}
|