@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,49 @@
|
|
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
|
+
.hc-container {
|
13
|
+
position: relative;
|
14
|
+
width: 100%;
|
15
|
+
height: 100%;
|
16
|
+
display: flex;
|
17
|
+
align-items: center;
|
18
|
+
justify-content: center;
|
19
|
+
|
20
|
+
.hc-row {
|
21
|
+
position: relative;
|
22
|
+
}
|
23
|
+
|
24
|
+
.hc-node {
|
25
|
+
display: inline-block;
|
26
|
+
position: relative;
|
27
|
+
vertical-align: bottom;
|
28
|
+
}
|
29
|
+
|
30
|
+
.hc-tooltip {
|
31
|
+
display: none;
|
32
|
+
z-index: 999;
|
33
|
+
left: -9999px;
|
34
|
+
top: -9999px;
|
35
|
+
padding: 16px;
|
36
|
+
min-width: 200px;
|
37
|
+
position: absolute;
|
38
|
+
border-radius: 4px;
|
39
|
+
background: #FAFAFA;
|
40
|
+
transition: all 200ms linear;
|
41
|
+
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
|
42
|
+
user-select: text;
|
43
|
+
&.dark {
|
44
|
+
color: #FFFFFF;
|
45
|
+
background: #393939;
|
46
|
+
box-shadow: 0px 0px 8px rgba(210, 210, 210, 0.2);
|
47
|
+
}
|
48
|
+
}
|
49
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 - present OpenTiny HUICharts Authors.
|
3
|
+
* Copyright (c) 2024 - present Huawei Cloud Computing Technologies Co., Ltd.
|
4
|
+
*
|
5
|
+
* Use of this source code is governed by an MIT-style license.
|
6
|
+
*
|
7
|
+
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
|
8
|
+
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
|
9
|
+
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
|
10
|
+
*
|
11
|
+
*/
|
12
|
+
const sum = 0;
|
13
|
+
const BaseOption = {
|
14
|
+
tooltip: {},
|
15
|
+
angleAxis: {
|
16
|
+
min: 0,
|
17
|
+
sum: 0,
|
18
|
+
max: (sum * 4) / 3,
|
19
|
+
},
|
20
|
+
polar: {},
|
21
|
+
series: []
|
22
|
+
};
|
23
|
+
// 堆叠图中首、中间、尾、背景条 四种的圆角文本占位。需要等自适应代码执行完毕,再替换成为真实的数值
|
24
|
+
const borderRadiusText = 'barWith/2';
|
25
|
+
|
26
|
+
const CHARTTYPE = {
|
27
|
+
BASE: 'base',
|
28
|
+
PROCESS: 'process',
|
29
|
+
STACK: 'stack'
|
30
|
+
};
|
31
|
+
|
32
|
+
const defaultSeries = {
|
33
|
+
type: 'bar',
|
34
|
+
stack: 'a',
|
35
|
+
coordinateSystem: 'polar',
|
36
|
+
z: 2,
|
37
|
+
};
|
38
|
+
|
39
|
+
export default BaseOption;
|
40
|
+
export { borderRadiusText, CHARTTYPE, defaultSeries };
|
@@ -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.JADGEJUE)
|
16
|
+
|
17
|
+
export default chartToken;
|
@@ -0,0 +1,262 @@
|
|
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 { getColor } from '../../util/color';
|
14
|
+
import defendXSS from '../../util/defendXSS';
|
15
|
+
import { borderRadiusText, CHARTTYPE } from './BaseOption';
|
16
|
+
import chartToken from './chartToken';
|
17
|
+
|
18
|
+
const cloudThemeBarWidth = {
|
19
|
+
large: 8,
|
20
|
+
medium: 6,
|
21
|
+
small: 4
|
22
|
+
};
|
23
|
+
|
24
|
+
const defaultThemeBarWidth = {
|
25
|
+
large: 16,
|
26
|
+
medium: 12,
|
27
|
+
small: 8
|
28
|
+
};
|
29
|
+
|
30
|
+
const gap = {
|
31
|
+
large: 8,
|
32
|
+
medium: 4,
|
33
|
+
small: 0
|
34
|
+
};
|
35
|
+
// 以208尺寸为界限,小于208限定宽度为8,间隙为12;大于208则主题规则
|
36
|
+
const outerRingLimit = 208;
|
37
|
+
|
38
|
+
// 主题中 线宽由线数量来决定
|
39
|
+
function setThemeBarRule(theme, data, baseOpt, chartInstance) {
|
40
|
+
const isCloud = theme.includes('cloud');
|
41
|
+
let barWidth, textGap;
|
42
|
+
if (data.length >= 5) {
|
43
|
+
barWidth = isCloud ? cloudThemeBarWidth.small : defaultThemeBarWidth.small;
|
44
|
+
textGap = gap.small;
|
45
|
+
} else if (data.length === 4) {
|
46
|
+
barWidth = isCloud ? cloudThemeBarWidth.medium : defaultThemeBarWidth.medium;
|
47
|
+
textGap = gap.medium;
|
48
|
+
} else if (data.length <= 3) {
|
49
|
+
barWidth = isCloud ? cloudThemeBarWidth.large : defaultThemeBarWidth.large;
|
50
|
+
textGap = gap.large;
|
51
|
+
}
|
52
|
+
let outerRing = getOuterRing(baseOpt, chartInstance);
|
53
|
+
if (outerRing < outerRingLimit / 2) {
|
54
|
+
barWidth = isCloud ? 4 : 8;
|
55
|
+
textGap = 0;
|
56
|
+
}
|
57
|
+
return { barWidth, textGap };
|
58
|
+
}
|
59
|
+
|
60
|
+
// 主题中 线间距为文本的行高 + 字间距(当前规范字体12 行高为20) 减去线宽
|
61
|
+
// 计算内圈的大小,用外圈尺寸 - (lineHeight*data.length)
|
62
|
+
function setThemeRadius(iChartOption, baseOpt, chartInstance, textGap) {
|
63
|
+
const lineHeight = 20;
|
64
|
+
const { data } = iChartOption;
|
65
|
+
let outerRing = getOuterRing(baseOpt, chartInstance);
|
66
|
+
let innerRing = outerRing - ((lineHeight + textGap) * data.length);
|
67
|
+
baseOpt.polar.radius[0] = innerRing;
|
68
|
+
}
|
69
|
+
|
70
|
+
function getOuterRing(baseOpt, chartInstance) {
|
71
|
+
const width = chartInstance.getWidth();
|
72
|
+
const height = chartInstance.getHeight();
|
73
|
+
const canvasRadius = width > height ? height / 2 : width / 2;
|
74
|
+
let outerRing = baseOpt.polar?.radius[1] || '60%';
|
75
|
+
if (typeof outerRing === 'number') {
|
76
|
+
return outerRing;
|
77
|
+
} else if (outerRing.indexOf('%') > -1) {
|
78
|
+
return (Number(outerRing.slice(0, -1)) / 100) * canvasRadius;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
// 配置玉玦图默认线宽为8
|
83
|
+
export function setbarWidth(iChartOption, baseOpt, chartInstance, chartType) {
|
84
|
+
const { barWidth, theme, data, position } = iChartOption;
|
85
|
+
// 有配置主题时,根据规范设置线宽 与 线间距
|
86
|
+
let themeBarWidth;
|
87
|
+
if (theme) {
|
88
|
+
let themeBarRile = setThemeBarRule(theme, data, baseOpt, chartInstance);
|
89
|
+
themeBarWidth = themeBarRile.barWidth;
|
90
|
+
// 配置了position.radius 且第一个为auto, 自动计算内圈
|
91
|
+
if (!position?.radius || position?.radius?.[0] === 'auto') {
|
92
|
+
setThemeRadius(iChartOption, baseOpt, chartInstance, themeBarRile.textGap);
|
93
|
+
}
|
94
|
+
}
|
95
|
+
baseOpt.series.forEach(series => {
|
96
|
+
series.barWidth = barWidth ? barWidth : themeBarWidth || 8;
|
97
|
+
if (chartType === CHARTTYPE.STACK) {
|
98
|
+
series.barWidth += chartToken.itemBorderWidth;
|
99
|
+
}
|
100
|
+
series.data.forEach(dataItem => {
|
101
|
+
if (dataItem?.itemStyle?.borderRadius) {
|
102
|
+
dataItem.itemStyle.borderRadius = dataItem.itemStyle.borderRadius.map(item => {
|
103
|
+
if (typeof (item) === 'string') {
|
104
|
+
item = Number(item.replace(borderRadiusText, series.barWidth / 2));
|
105
|
+
}
|
106
|
+
return item;
|
107
|
+
});
|
108
|
+
}
|
109
|
+
});
|
110
|
+
});
|
111
|
+
}
|
112
|
+
|
113
|
+
// 配置玉玦图的起点角度及文本位置(兼容老属性startAngle及labelAlign)
|
114
|
+
export function setStartAngle(iChartOption, baseOpt) {
|
115
|
+
if (!iChartOption?.angleAxis?.startAngle) {
|
116
|
+
if (!iChartOption.startAngle) {
|
117
|
+
iChartOption.startAngle = 90;
|
118
|
+
}
|
119
|
+
baseOpt.angleAxis.startAngle = iChartOption.startAngle;
|
120
|
+
}
|
121
|
+
if (!iChartOption?.radiusAxis?.axisLabel?.align) {
|
122
|
+
if (!iChartOption.labelAlign) {
|
123
|
+
iChartOption.labelAlign = 'right';
|
124
|
+
}
|
125
|
+
baseOpt.radiusAxis.axisLabel.align = iChartOption.labelAlign;
|
126
|
+
}
|
127
|
+
}
|
128
|
+
|
129
|
+
/**
|
130
|
+
* 为第一种数据类型单独配置legend.data和对应颜色
|
131
|
+
* @param {*} iChartOption
|
132
|
+
* @param {*} baseOpt
|
133
|
+
*/
|
134
|
+
export function handleLegendData(iChartOption, baseOpt, chartType) {
|
135
|
+
const { data, color } = iChartOption;
|
136
|
+
if (chartType !== CHARTTYPE.BASE) {
|
137
|
+
return;
|
138
|
+
}
|
139
|
+
baseOpt.legend.data = [];
|
140
|
+
|
141
|
+
// 图例使用反转数据,由外向内展示图例
|
142
|
+
cloneDeep(data).reverse().forEach((dataItem, index) => {
|
143
|
+
baseOpt.legend.data.push({
|
144
|
+
name: dataItem.name,
|
145
|
+
itemStyle: {
|
146
|
+
color: getColor(color, index),
|
147
|
+
},
|
148
|
+
});
|
149
|
+
});
|
150
|
+
}
|
151
|
+
|
152
|
+
function handleJadeJueFormatter(JadeJueTooltip, baseOpt, chartType) {
|
153
|
+
JadeJueTooltip.formatter = params => {
|
154
|
+
let htmlString = '';
|
155
|
+
let value = params.data.beforeChangeValue;
|
156
|
+
let name = params.data.name || params.name;
|
157
|
+
if (chartType === CHARTTYPE.PROCESS) {
|
158
|
+
value = baseOpt.series[params.seriesIndex].beforeChangeValue;
|
159
|
+
name = baseOpt.series[params.seriesIndex].name;
|
160
|
+
}
|
161
|
+
htmlString +=
|
162
|
+
`<span style="display:inline-block;margin-right:5px;margin-left:8px;border-radius:50%;height:10px;">${defendXSS(name)}</span>` +
|
163
|
+
'<br/>' +
|
164
|
+
`<span style="display:inline-block;margin-right:5px;margin-left:8px;border-radius:50%;height:10px;width:10px;background:${defendXSS(params.color)}"></span>` +
|
165
|
+
'<span style="display:inline-block;margin-right:5px;border-radius:50%;height:10px;">' +
|
166
|
+
`${defendXSS(name)}</span>` +
|
167
|
+
`<span style="display:inline-block;margin-right:8px;margin-left:25px;font-weight:bold">${defendXSS(value)}</span>`;
|
168
|
+
return htmlString;
|
169
|
+
};
|
170
|
+
}
|
171
|
+
|
172
|
+
// 配置悬浮提示框样式
|
173
|
+
export function setTooltip(formatter, baseOpt, chartType) {
|
174
|
+
const JadeJueTooltip = cloneDeep(baseOpt.tooltip);
|
175
|
+
if (formatter) {
|
176
|
+
JadeJueTooltip.formatter = formatter;
|
177
|
+
} else {
|
178
|
+
handleJadeJueFormatter(JadeJueTooltip, baseOpt, chartType);
|
179
|
+
}
|
180
|
+
JadeJueTooltip.trigger = 'item';
|
181
|
+
return JadeJueTooltip;
|
182
|
+
}
|
183
|
+
|
184
|
+
/**
|
185
|
+
* 允许自定义柱体最小占比(场景不支持使用原生的barMinAngle),设置了之后,需要变更传入的data
|
186
|
+
* @param {*} iChartOption
|
187
|
+
* @param {*} baseOpt
|
188
|
+
*/
|
189
|
+
export function handleMinRatio(iChartOption, baseOpt, chartType) {
|
190
|
+
const { barMinRatio, data, tipHtml, showBackground = true } = iChartOption;
|
191
|
+
if (barMinRatio) {
|
192
|
+
const minValue = (barMinRatio * baseOpt.angleAxis.sum) / 100;
|
193
|
+
if (chartType === CHARTTYPE.PROCESS) {
|
194
|
+
baseOpt.series.forEach(item => {
|
195
|
+
item.beforeChangeValue = item.data[0];
|
196
|
+
if (item.data[0] <= minValue) {
|
197
|
+
item.data[0] = minValue;
|
198
|
+
}
|
199
|
+
});
|
200
|
+
} else if (chartType === CHARTTYPE.BASE) {
|
201
|
+
baseOpt.series.forEach((series, index) => {
|
202
|
+
series.data.forEach((dataItem, index_) => {
|
203
|
+
if (series.name === dataItem.name) {
|
204
|
+
dataItem.beforeChangeValue = dataItem.value;
|
205
|
+
if (dataItem.value <= minValue) {
|
206
|
+
dataItem.value = minValue;
|
207
|
+
data[index].value = minValue;
|
208
|
+
}
|
209
|
+
}
|
210
|
+
});
|
211
|
+
});
|
212
|
+
if (showBackground) {
|
213
|
+
data.forEach((item, index) => {
|
214
|
+
baseOpt.series[baseOpt.series.length - 1].data[index].value = baseOpt.angleAxis.sum - item.value;
|
215
|
+
});
|
216
|
+
}
|
217
|
+
}
|
218
|
+
// 配置了barMinRatio会修改data中的value值,需要重新设置tooltip进行覆盖
|
219
|
+
baseOpt.tooltip = setTooltip(tipHtml, baseOpt, chartType);
|
220
|
+
}
|
221
|
+
}
|
222
|
+
|
223
|
+
const bindLegendEvent = ({ baseOption, chartType }, chartInstance) => {
|
224
|
+
const newSeries = cloneDeep(baseOption.series);
|
225
|
+
|
226
|
+
const baseCallback = (params) => {
|
227
|
+
for (let type in params.selected) {
|
228
|
+
if (!params.selected[type]) {
|
229
|
+
// 图例隐藏,对应背景色柱条的值应该为sum
|
230
|
+
newSeries[newSeries.length - 1].data.find(v => v.name === type).value = baseOption.angleAxis.sum;
|
231
|
+
} else {
|
232
|
+
// 图例显示,对于背景色柱条的值应该为sum-value
|
233
|
+
newSeries[newSeries.length - 1].data.find(v => v.name === type).value = baseOption.angleAxis.sum - newSeries.find(v => v.name === type).data.find(v => v.name === type).value;
|
234
|
+
}
|
235
|
+
}
|
236
|
+
};
|
237
|
+
|
238
|
+
const stackCallback = (params) => {
|
239
|
+
// 图例显隐,对应背景色柱条的值应该为sum-其他系列
|
240
|
+
newSeries[newSeries.length - 1].data.forEach((item, index) => {
|
241
|
+
let newValue = 0;
|
242
|
+
newSeries.slice(0, newSeries.length - 1).forEach((v, key) => {
|
243
|
+
if (params.selected[v.name]) {
|
244
|
+
newValue += v.data[index]?.value ?? 0;
|
245
|
+
}
|
246
|
+
});
|
247
|
+
item.value = baseOption.angleAxis.sum - newValue;
|
248
|
+
});
|
249
|
+
};
|
250
|
+
|
251
|
+
const callbackMap = {
|
252
|
+
[CHARTTYPE.BASE]: baseCallback,
|
253
|
+
[CHARTTYPE.STACK]: stackCallback
|
254
|
+
};
|
255
|
+
|
256
|
+
chartInstance.on('legendselectchanged', (params) => {
|
257
|
+
callbackMap[chartType](params);
|
258
|
+
baseOption.series = newSeries;
|
259
|
+
chartInstance.setOption(baseOption);
|
260
|
+
});
|
261
|
+
};
|
262
|
+
export { bindLegendEvent };
|
@@ -0,0 +1,246 @@
|
|
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 { getColor } from '../../util/color';
|
13
|
+
import { handleMinRatio } from './handleOption';
|
14
|
+
import chartToken from './chartToken';
|
15
|
+
import merge from '../../util/merge';
|
16
|
+
import { getTextWidth } from '../../util/dom';
|
17
|
+
import { borderRadiusText, CHARTTYPE, defaultSeries } from './BaseOption';
|
18
|
+
|
19
|
+
// 根据数据值绑定上圆角
|
20
|
+
const bindBorderRaduis = (data) => {
|
21
|
+
data.forEach(item => {
|
22
|
+
let hasValueIndexArr = [];
|
23
|
+
item.children.forEach((v, key) => {
|
24
|
+
if (v.value) {
|
25
|
+
hasValueIndexArr.push(key);
|
26
|
+
}
|
27
|
+
});
|
28
|
+
item.children.forEach((v, key) => {
|
29
|
+
if (hasValueIndexArr.includes(key)) {
|
30
|
+
if (hasValueIndexArr.length === 1) {
|
31
|
+
v.itemStyle = {
|
32
|
+
borderRadius: [borderRadiusText, borderRadiusText, borderRadiusText, borderRadiusText]
|
33
|
+
};
|
34
|
+
return;
|
35
|
+
}
|
36
|
+
let keyIndex = hasValueIndexArr.findIndex((a) => a === key);
|
37
|
+
if (keyIndex === 0) {
|
38
|
+
v.itemStyle = {
|
39
|
+
borderRadius: [borderRadiusText, 0, borderRadiusText, 0]
|
40
|
+
};
|
41
|
+
} else if (keyIndex === hasValueIndexArr.length - 1) {
|
42
|
+
v.itemStyle = {
|
43
|
+
borderRadius: [0, borderRadiusText, 0, borderRadiusText]
|
44
|
+
};
|
45
|
+
} else {
|
46
|
+
v.itemStyle = {
|
47
|
+
borderRadius: [0, 0, 0, 0]
|
48
|
+
};
|
49
|
+
}
|
50
|
+
}
|
51
|
+
});
|
52
|
+
});
|
53
|
+
};
|
54
|
+
|
55
|
+
function createSeries(iChartOption, baseOpt, sum, legendData) {
|
56
|
+
const { showBackground = true, data } = iChartOption;
|
57
|
+
bindBorderRaduis(data);
|
58
|
+
for (let i = 0; i <= legendData.length - 1; i++) {
|
59
|
+
let seriesData = [];
|
60
|
+
data.forEach(item => {
|
61
|
+
seriesData.push(item.children.find(v => {
|
62
|
+
if (v.type === legendData[i]) {
|
63
|
+
v.sum = baseOpt.angleAxis.sum;
|
64
|
+
return v;
|
65
|
+
}
|
66
|
+
}));
|
67
|
+
});
|
68
|
+
baseOpt.series.push({
|
69
|
+
...defaultSeries,
|
70
|
+
data: seriesData,
|
71
|
+
name: legendData[i],
|
72
|
+
});
|
73
|
+
}
|
74
|
+
if (showBackground) {
|
75
|
+
const placeHolderData = [];
|
76
|
+
data.forEach((_, index) => {
|
77
|
+
let typeSum = 0;
|
78
|
+
baseOpt.series.forEach((v) => {
|
79
|
+
typeSum += v.data[index]?.value ?? 0;
|
80
|
+
});
|
81
|
+
placeHolderData.push({
|
82
|
+
type: 'stack背景占位',
|
83
|
+
value: baseOpt.angleAxis.sum - typeSum,
|
84
|
+
itemStyle: { color: chartToken.itemColor },
|
85
|
+
sum: 0
|
86
|
+
});
|
87
|
+
});
|
88
|
+
baseOpt.series.push({
|
89
|
+
...defaultSeries,
|
90
|
+
data: placeHolderData,
|
91
|
+
silent: true,
|
92
|
+
roundCap: true,
|
93
|
+
z: 1
|
94
|
+
});
|
95
|
+
}
|
96
|
+
baseOpt.series.forEach((series, index) => {
|
97
|
+
series.sum = sum;
|
98
|
+
series.itemStyle = {
|
99
|
+
borderColor: chartToken.itemBorderColor,
|
100
|
+
borderWidth: chartToken.itemBorderWidth,
|
101
|
+
};
|
102
|
+
});
|
103
|
+
}
|
104
|
+
|
105
|
+
const setRadiusAxis = (baseOpt, data, chartType, iChartOption) => {
|
106
|
+
const { labelContent = 'name', showBackground = true } = iChartOption;
|
107
|
+
baseOpt.radiusAxis.z = 10;
|
108
|
+
if (chartType === CHARTTYPE.PROCESS) {
|
109
|
+
baseOpt.radiusAxis.data = [];
|
110
|
+
return;
|
111
|
+
} else {
|
112
|
+
baseOpt.radiusAxis.data = data.map(item => item.name);
|
113
|
+
}
|
114
|
+
const getRatio = (params) => {
|
115
|
+
const index = params[1];
|
116
|
+
let value = 0;
|
117
|
+
let ratio = 0;
|
118
|
+
if (chartType === CHARTTYPE.STACK) {
|
119
|
+
(showBackground ? baseOpt.series.slice(0, -1) : baseOpt.series).forEach(val => {
|
120
|
+
value += val.data[index]?.value ?? 0;
|
121
|
+
});
|
122
|
+
} else {
|
123
|
+
value = baseOpt.series[index].data[index].beforeChangeValue ?? baseOpt.series[index].data[index].value ?? 0;
|
124
|
+
}
|
125
|
+
ratio = value / baseOpt.angleAxis.sum;
|
126
|
+
return ratio;
|
127
|
+
};
|
128
|
+
const iChartLabelFormatter = iChartOption?.radiusAxis?.axisLabel?.formatter;
|
129
|
+
if (iChartLabelFormatter) {
|
130
|
+
baseOpt.radiusAxis.axisLabel.formatter = (...params) => iChartLabelFormatter(...params, getRatio(params));
|
131
|
+
} else {
|
132
|
+
if (labelContent === 'name') {
|
133
|
+
return;
|
134
|
+
} else if (labelContent === 'nameWithRatio') {
|
135
|
+
const iChartLabelRich = iChartOption?.radiusAxis?.axisLabel?.rich ?? {};
|
136
|
+
const defaultLabelRich = {
|
137
|
+
name: {
|
138
|
+
color: chartToken.labelValueColor,
|
139
|
+
padding: [0, chartToken.labelPadding, 0, 0],
|
140
|
+
align: 'right',
|
141
|
+
},
|
142
|
+
ratio: {
|
143
|
+
color: chartToken.labelRatioColor,
|
144
|
+
// 设置宽度才能保证name也右对齐
|
145
|
+
width: getTextWidth('100%', baseOpt.radiusAxis.axisLabel.fontSize),
|
146
|
+
align: 'right',
|
147
|
+
}
|
148
|
+
};
|
149
|
+
baseOpt.radiusAxis.axisLabel.rich = merge(defaultLabelRich, iChartLabelRich);
|
150
|
+
baseOpt.radiusAxis.axisLabel.formatter = (...params) => `{name|${params[0]}}{ratio|${(getRatio(params) * 100).toFixed(0) + '%'}}`;
|
151
|
+
}
|
152
|
+
}
|
153
|
+
};
|
154
|
+
|
155
|
+
// 配置玉玦图的seriesData数据(value,name,color)
|
156
|
+
export function setSeriesData(iChartOption, baseOpt, chartType) {
|
157
|
+
let { showBackground = true, data, color, roundCap = true } = iChartOption;
|
158
|
+
if (chartType === CHARTTYPE.PROCESS) {
|
159
|
+
data.forEach((dataItem, index) => {
|
160
|
+
baseOpt.series.push({
|
161
|
+
...defaultSeries,
|
162
|
+
data: [dataItem.value],
|
163
|
+
roundCap: false,
|
164
|
+
name: dataItem.name,
|
165
|
+
beforeChangeValue: undefined,
|
166
|
+
showBackground,
|
167
|
+
backgroundStyle: { color: chartToken.itemColor }
|
168
|
+
});
|
169
|
+
});
|
170
|
+
} else if (chartType === CHARTTYPE.BASE) {
|
171
|
+
data.forEach((dataItem, index) => {
|
172
|
+
const newData = [];
|
173
|
+
data.forEach(v => {
|
174
|
+
const newIndex = data.length - 1 - index;
|
175
|
+
newData.push({
|
176
|
+
...v,
|
177
|
+
value: v.name === dataItem.name ? dataItem.value : 0,
|
178
|
+
itemStyle: {
|
179
|
+
color: Array.isArray(color) ? getColor(color, newIndex) : color,
|
180
|
+
},
|
181
|
+
sum: baseOpt.angleAxis.sum,
|
182
|
+
beforeChangeValue: undefined,
|
183
|
+
index: newIndex
|
184
|
+
});
|
185
|
+
});
|
186
|
+
baseOpt.series.push({
|
187
|
+
...defaultSeries,
|
188
|
+
data: newData,
|
189
|
+
roundCap,
|
190
|
+
name: dataItem.name,
|
191
|
+
});
|
192
|
+
});
|
193
|
+
if (showBackground) {
|
194
|
+
let bgData = [];
|
195
|
+
data.forEach(dataItem => {
|
196
|
+
bgData.push({
|
197
|
+
...dataItem,
|
198
|
+
itemStyle: {
|
199
|
+
color: chartToken.itemColor,
|
200
|
+
},
|
201
|
+
value: baseOpt.angleAxis.sum - (dataItem.value ?? 0),
|
202
|
+
sum: 0,
|
203
|
+
});
|
204
|
+
});
|
205
|
+
baseOpt.series[data.length] = {
|
206
|
+
...defaultSeries,
|
207
|
+
data: bgData,
|
208
|
+
z: 1,
|
209
|
+
roundCap,
|
210
|
+
// 关闭灰色进度鼠标hover事件
|
211
|
+
silent: true,
|
212
|
+
};
|
213
|
+
}
|
214
|
+
} else {
|
215
|
+
let legendData = [];
|
216
|
+
data.forEach(item => {
|
217
|
+
legendData = legendData.concat(item.children.map(v => v.type));
|
218
|
+
});
|
219
|
+
legendData = Array.from(new Set(legendData));
|
220
|
+
// 将数据按照legend的顺序排列好
|
221
|
+
data.forEach((item, index) => {
|
222
|
+
item.children.sort((a, b) => legendData.findIndex(v => v === a.type) - legendData.findIndex(v => v === b.type));
|
223
|
+
});
|
224
|
+
createSeries(iChartOption, baseOpt, baseOpt.angleAxis.sum, legendData);
|
225
|
+
}
|
226
|
+
|
227
|
+
// 自定义柱体最小占比
|
228
|
+
handleMinRatio(iChartOption, baseOpt, chartType);
|
229
|
+
|
230
|
+
// 配置展示每项data的名称,及显示层级
|
231
|
+
setRadiusAxis(baseOpt, data, chartType, iChartOption);
|
232
|
+
}
|
233
|
+
|
234
|
+
// 对非堆叠类型数据取反(已对iChartOption进行深拷贝),实现数据从外向内展示(echarts默认为内向外)
|
235
|
+
export function reverseData(iChartOption, that) {
|
236
|
+
const { type = CHARTTYPE.BASE, data } = iChartOption;
|
237
|
+
let noChildData = data.every(item => (!item.children || !item.children.length));
|
238
|
+
if (type === CHARTTYPE.PROCESS) {
|
239
|
+
that.chartType = CHARTTYPE.PROCESS;
|
240
|
+
} else if (type === CHARTTYPE.BASE || noChildData) {
|
241
|
+
that.chartType = CHARTTYPE.BASE;
|
242
|
+
iChartOption.data = iChartOption.data.reverse();
|
243
|
+
} else {
|
244
|
+
that.chartType = CHARTTYPE.STACK;
|
245
|
+
}
|
246
|
+
};
|
@@ -0,0 +1,71 @@
|
|
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 init from '../../option/init';
|
13
|
+
import BaseOption from './BaseOption';
|
14
|
+
import cloneDeep from '../../util/cloneDeep';
|
15
|
+
import { setSeriesData, reverseData } from './handleSeries';
|
16
|
+
import { handleLabelFormatter } from './labelFormatter';
|
17
|
+
import PolarCoordSys from '../../option/PolarSys';
|
18
|
+
import { setStartAngle, setbarWidth, handleLegendData, bindLegendEvent } from './handleOption';
|
19
|
+
import { CHART_TYPE } from '../../util/constants';
|
20
|
+
|
21
|
+
class JadeJueChart {
|
22
|
+
|
23
|
+
static name = CHART_TYPE.JADGEJUE;
|
24
|
+
static chartType;
|
25
|
+
|
26
|
+
constructor(iChartOption, chartInstance) {
|
27
|
+
this.baseOption = {};
|
28
|
+
this.iChartOption = {};
|
29
|
+
this.baseOption = cloneDeep(BaseOption);
|
30
|
+
// 组装 iChartOption, 补全默认值
|
31
|
+
this.iChartOption = init(cloneDeep(iChartOption));
|
32
|
+
this.chartInstance = chartInstance;
|
33
|
+
// 根据 iChartOption 组装 baseOption
|
34
|
+
this.updateOption(chartInstance);
|
35
|
+
}
|
36
|
+
|
37
|
+
updateOption(chartInstance) {
|
38
|
+
const iChartOption = this.iChartOption;
|
39
|
+
iChartOption.position = iChartOption.position || iChartOption.chartPosition;
|
40
|
+
iChartOption.max = iChartOption.max || iChartOption.calibrationValue;
|
41
|
+
// 对非堆叠类型数据取反(已对iChartOption进行深拷贝),实现数据从外向内展示(echarts默认为内向外)
|
42
|
+
reverseData(iChartOption, this);
|
43
|
+
// 装载除series之外的其他配置
|
44
|
+
PolarCoordSys(this.baseOption, iChartOption, CHART_TYPE.JADGEJUE);
|
45
|
+
// 配置玉玦图的标定值和两种data下不同的angleAxis.sum和angleAxis.max
|
46
|
+
handleLabelFormatter(iChartOption, this.baseOption, this.chartType);
|
47
|
+
// 配置玉玦图的seriesData数据(value,name,color)
|
48
|
+
setSeriesData(iChartOption, this.baseOption, this.chartType);
|
49
|
+
// 设置默认线宽为(8=>16)
|
50
|
+
setbarWidth(iChartOption, this.baseOption, chartInstance, this.chartType);
|
51
|
+
// 配置玉玦图的起点角度及文本位置
|
52
|
+
setStartAngle(iChartOption, this.baseOption);
|
53
|
+
// 为第一种数据类型单独配置legend.data和对应颜色
|
54
|
+
handleLegendData(iChartOption, this.baseOption, this.chartType);
|
55
|
+
// 绑定图例点击事件,更新背景柱条对应series的数据
|
56
|
+
bindLegendEvent(this, chartInstance);
|
57
|
+
}
|
58
|
+
|
59
|
+
getOption() {
|
60
|
+
return this.baseOption;
|
61
|
+
}
|
62
|
+
|
63
|
+
setOption() { }
|
64
|
+
|
65
|
+
resize(callback){
|
66
|
+
setbarWidth(this.iChartOption, this.baseOption, this.chartInstance, this.chartType);
|
67
|
+
callback(this.baseOption)
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
export default JadeJueChart;
|