@ebiz/designer-components 0.0.18-tj.1
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/designer-components.css +1 -0
- package/dist/favicon.ico +0 -0
- package/dist/index.mjs +110735 -0
- package/package.json +40 -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/EbizDivider.vue +97 -0
- package/src/components/EbizFileUpload.vue +202 -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 +167 -0
- package/src/components/EbizRouteBreadcrumb.vue +47 -0
- package/src/components/EbizSelect.vue +95 -0
- package/src/components/EbizSpace.vue +101 -0
- package/src/components/EbizStatsCard.vue +114 -0
- package/src/components/EbizSwiper.vue +114 -0
- package/src/components/EbizSwiperItem.vue +14 -0
- package/src/components/EbizTabHeader.vue +149 -0
- package/src/components/EbizTitle.vue +93 -0
- package/src/components/Form.vue +27 -0
- package/src/components/Home.vue +8 -0
- package/src/components/MyComponent.vue +39 -0
- package/src/components/Table.vue +45 -0
- package/src/components/TdesignButton.vue +130 -0
- package/src/components/TdesignCalendar/index.vue +143 -0
- package/src/components/TdesignCard.vue +196 -0
- package/src/components/TdesignCollapse.vue +143 -0
- package/src/components/TdesignCollapsePanel.vue +80 -0
- package/src/components/TdesignDatePicker.vue +125 -0
- package/src/components/TdesignForm.vue +134 -0
- package/src/components/TdesignFormItem.vue +106 -0
- package/src/components/TdesignIcon.vue +68 -0
- package/src/components/TdesignImage.vue +163 -0
- package/src/components/TdesignImageViewer.vue +201 -0
- package/src/components/TdesignInput.vue +243 -0
- package/src/components/TdesignSelect.vue +445 -0
- package/src/components/TdesignTag.vue +118 -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 +84 -0
- package/src/main.js +57 -0
- package/src/router/index.js +155 -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/EbizSpace.vue +186 -0
- package/src/views/EbizSwiper.vue +158 -0
- package/src/views/Form.vue +20 -0
- package/src/views/Home.vue +79 -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/TagDemo.vue +102 -0
- package/src/views/TdesignButton.vue +191 -0
- package/src/views/TdesignCalendar.vue +95 -0
- package/src/views/TdesignCard.vue +297 -0
- package/src/views/TdesignCollapse.vue +294 -0
- package/src/views/TdesignDatePicker.vue +188 -0
- package/src/views/TdesignForm.vue +249 -0
- package/src/views/TdesignIcon.vue +204 -0
- package/src/views/TdesignImage.vue +216 -0
- package/src/views/TdesignImageViewer.vue +199 -0
- package/src/views/TdesignInput.vue +253 -0
- package/src/views/TdesignSelect.vue +474 -0
- package/src/views/TdesignSwiper.vue +158 -0
- package/src/views/Title.vue +20 -0
@@ -0,0 +1,166 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 - present OpenTiny HUICharts Authors.
|
3
|
+
* Copyright (c) 2024 - present Huawei Cloud Computing Technologies Co., Ltd.
|
4
|
+
*
|
5
|
+
* Use of this source code is governed by an MIT-style license.
|
6
|
+
*
|
7
|
+
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
|
8
|
+
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
|
9
|
+
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
|
10
|
+
*
|
11
|
+
*/
|
12
|
+
import merge from '../../../util/merge';
|
13
|
+
import Relation from '../../core/Relation';
|
14
|
+
import LineManager from '../../module/line/Manager';
|
15
|
+
import NodeManager from '../../module/node/Manager';
|
16
|
+
import { CHART_TYPE } from '../../../util/constants';
|
17
|
+
|
18
|
+
const NODE_WIDTH = 100;
|
19
|
+
const NODE_HEIGHT = 50;
|
20
|
+
|
21
|
+
export default class CustomizeChart extends Relation {
|
22
|
+
static name = CHART_TYPE.CUSTOMIZE
|
23
|
+
// 图表渲染容器
|
24
|
+
dom;
|
25
|
+
// 图表外部传入数据
|
26
|
+
optionData;
|
27
|
+
// 图表nodes+edges格式数据
|
28
|
+
relationData;
|
29
|
+
// 图表容器边距
|
30
|
+
padding = 30;
|
31
|
+
// 图表最外层容器
|
32
|
+
container;
|
33
|
+
// 图表svg元素容器
|
34
|
+
svgContainer;
|
35
|
+
// 图表二次连线svg元素容器
|
36
|
+
secondSvgContainer;
|
37
|
+
secondlineGContainer;
|
38
|
+
// 图表html元素容器
|
39
|
+
htmlContainer;
|
40
|
+
// 图表容器的宽高变化监听器
|
41
|
+
resizeObserver = null;
|
42
|
+
// 连线管理器
|
43
|
+
lineManager;
|
44
|
+
// 节点管理器
|
45
|
+
nodeManager;
|
46
|
+
|
47
|
+
constructor() {
|
48
|
+
super();
|
49
|
+
this.dom = null;
|
50
|
+
this.option = null;
|
51
|
+
this.resizeObserver = null;
|
52
|
+
}
|
53
|
+
|
54
|
+
// 初始化图表渲染容器
|
55
|
+
init(dom) {
|
56
|
+
this.dom = dom;
|
57
|
+
}
|
58
|
+
|
59
|
+
// 初始化图表渲染配置
|
60
|
+
setOption(option) {
|
61
|
+
super.setOption(option);
|
62
|
+
}
|
63
|
+
|
64
|
+
// 图表渲染
|
65
|
+
render() {
|
66
|
+
super.render();
|
67
|
+
this.setDefaultLayout(this.option);
|
68
|
+
this.createNodes();
|
69
|
+
this.createLines();
|
70
|
+
this.setResizeObserver();
|
71
|
+
this.renderCallBack && this.renderCallBack(this);
|
72
|
+
}
|
73
|
+
|
74
|
+
// 设置默认布局
|
75
|
+
setDefaultLayout(option) {
|
76
|
+
option.layout = merge({
|
77
|
+
nodeShape: 'circle',
|
78
|
+
}, option.layout);
|
79
|
+
}
|
80
|
+
|
81
|
+
// 根据节点大小和关系,计算布局,创建和渲染节点
|
82
|
+
createNodes() {
|
83
|
+
this.nodeManager = new NodeManager(this.option, this.htmlContainer);
|
84
|
+
this.setNodeSize(this.option);
|
85
|
+
this.nodeManager.layout();
|
86
|
+
this.nodeManager.render();
|
87
|
+
this.relationData = this.nodeManager.getData();
|
88
|
+
}
|
89
|
+
|
90
|
+
// 补充宽高信息到节点数据上
|
91
|
+
setNodeSize(option) {
|
92
|
+
option.data.nodes.forEach(node => {
|
93
|
+
node.width = node.width || option?.node?.width || NODE_WIDTH;
|
94
|
+
node.height = node.height || option?.node?.height || NODE_HEIGHT;
|
95
|
+
})
|
96
|
+
}
|
97
|
+
|
98
|
+
// 创建连线
|
99
|
+
createLines() {
|
100
|
+
this.lineManager = new LineManager(this.option, this.svgContainer,this);
|
101
|
+
this.lineManager.layout(this.nodeManager);
|
102
|
+
this.lineManager.render();
|
103
|
+
}
|
104
|
+
|
105
|
+
createCustomizeLines(option) {
|
106
|
+
let svgRect = this.secondSvgContainer.getBoundingClientRect();
|
107
|
+
let canvas = this.canvas;
|
108
|
+
|
109
|
+
option.data.nodes.forEach(node => {
|
110
|
+
let nodeId = node.id;
|
111
|
+
let domRect = document.getElementById(nodeId).getBoundingClientRect();
|
112
|
+
node.x = svgRect.width/2 + ((domRect.left - canvas.nodeOrigin.x)/canvas.scale);
|
113
|
+
node.y = svgRect.height/2 + ((domRect.top - canvas.nodeOrigin.y)/canvas.scale);
|
114
|
+
|
115
|
+
})
|
116
|
+
this.lineManager.renderCustom(option, this.secondlineGContainer);
|
117
|
+
|
118
|
+
// 1. 由于需要连线的node分布在不同的图层中,需要查找到分布到各个图层中node,计算他们相对于最外层的x,y
|
119
|
+
|
120
|
+
// 2. 根据1生成一个新的relationData
|
121
|
+
|
122
|
+
// 3. 执行LineLayout算法
|
123
|
+
|
124
|
+
// 4. 绘制连线
|
125
|
+
// render
|
126
|
+
}
|
127
|
+
|
128
|
+
|
129
|
+
// 图表渲染完成时回调
|
130
|
+
onRendered(callback) {
|
131
|
+
this.renderCallBack = callback;
|
132
|
+
}
|
133
|
+
|
134
|
+
// 图表刷新,刷新配置项
|
135
|
+
refresh(option) {
|
136
|
+
option.layout = merge({ type: '', nodeShape: 'circle' }, option.layout);
|
137
|
+
this.setDefaultLayout(option);
|
138
|
+
this.setNodeSize(option);
|
139
|
+
this.nodeManager.relayout(option);
|
140
|
+
this.nodeManager.refresh(option);
|
141
|
+
this.lineManager.refresh(option);
|
142
|
+
// Connector 位移最后再做
|
143
|
+
}
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
// 图表刷新,仅刷新数据
|
148
|
+
refreshData() {
|
149
|
+
// this.refresh()
|
150
|
+
}
|
151
|
+
|
152
|
+
// 刷新图表自适应宽度
|
153
|
+
resize() {
|
154
|
+
|
155
|
+
}
|
156
|
+
|
157
|
+
setResizeObserver() {
|
158
|
+
|
159
|
+
}
|
160
|
+
|
161
|
+
// 销毁图表
|
162
|
+
uninstall() {
|
163
|
+
this.resizeObserver.disconnect();
|
164
|
+
}
|
165
|
+
}
|
166
|
+
|
@@ -0,0 +1,141 @@
|
|
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 Relation from '../../core/Relation';
|
13
|
+
|
14
|
+
import {initContainer} from './initDom';
|
15
|
+
|
16
|
+
import { CHART_TYPE } from '../../../util/constants';
|
17
|
+
import Node from './libs/Node.js';
|
18
|
+
|
19
|
+
export default class ForceDirectedChart extends Relation {
|
20
|
+
|
21
|
+
static name = CHART_TYPE.FORCE_DIRECTED
|
22
|
+
|
23
|
+
// 图表渲染容器
|
24
|
+
dom;
|
25
|
+
// 图表所需数据
|
26
|
+
data;
|
27
|
+
// 图表容器边距
|
28
|
+
padding = 30;
|
29
|
+
// 图表最外层容器
|
30
|
+
container;
|
31
|
+
// 生成节点和计算位置
|
32
|
+
Node
|
33
|
+
|
34
|
+
constructor() {
|
35
|
+
super();
|
36
|
+
// 图表渲染容器
|
37
|
+
this.dom = null;
|
38
|
+
// 图表配置项
|
39
|
+
this.option = null;
|
40
|
+
// 图表容器的宽高变化监听器
|
41
|
+
this.resizeObserver = null;
|
42
|
+
}
|
43
|
+
|
44
|
+
// 初始化图表渲染容器
|
45
|
+
init(dom) {
|
46
|
+
this.dom = dom;
|
47
|
+
}
|
48
|
+
|
49
|
+
// 初始化图表渲染配置
|
50
|
+
setOption(option) {
|
51
|
+
super.setOption(option);
|
52
|
+
}
|
53
|
+
|
54
|
+
// 图表渲染
|
55
|
+
render() {
|
56
|
+
super.render()
|
57
|
+
this.createDom();
|
58
|
+
this.setResizeObserver();
|
59
|
+
this.renderCallBack && this.renderCallBack(this);
|
60
|
+
}
|
61
|
+
|
62
|
+
// 创建渲染容器
|
63
|
+
createDom() {
|
64
|
+
this.dom.innerHTML = '';
|
65
|
+
initContainer(this.dom, this.option);
|
66
|
+
this.data = this.option.data;
|
67
|
+
const container = this.dom.getElementsByClassName('fd-container')[0];
|
68
|
+
this.Node = new Node(this.data, this.option, container);
|
69
|
+
this.Node.create(this.data, this.option);
|
70
|
+
}
|
71
|
+
|
72
|
+
|
73
|
+
// 图表渲染完成时回调
|
74
|
+
onRendered(callback) {
|
75
|
+
this.renderCallBack = callback;
|
76
|
+
}
|
77
|
+
|
78
|
+
// 图表刷新,刷新配置项
|
79
|
+
refresh() {
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
// 图表刷新,仅刷新数据
|
84
|
+
refreshData() {
|
85
|
+
|
86
|
+
}
|
87
|
+
|
88
|
+
// 刷新图表自适应宽度
|
89
|
+
resize() {
|
90
|
+
|
91
|
+
}
|
92
|
+
|
93
|
+
setResizeObserver() {
|
94
|
+
|
95
|
+
}
|
96
|
+
|
97
|
+
// 销毁图表
|
98
|
+
uninstall() {
|
99
|
+
this.resizeObserver.disconnect();
|
100
|
+
this.dom.innerHTML = '';
|
101
|
+
}
|
102
|
+
|
103
|
+
// 绑定事件
|
104
|
+
initEvent() {
|
105
|
+
let self = this;
|
106
|
+
let onClick = this.option.onClick && this.option.onClick;
|
107
|
+
// 鼠标按下节点,后续如果情况复杂,可能改为绑定在document上
|
108
|
+
self.htmlContainer.childNodes.forEach((item) => {
|
109
|
+
let dom = item;
|
110
|
+
let domId = dom.id;
|
111
|
+
dom.onmousedown = (mousedownEvent) => {
|
112
|
+
mousedownEvent.stopPropagation();
|
113
|
+
self.nodeManager.getNode(self.data, domId, (data) => {
|
114
|
+
onClick && onClick(dom, data);
|
115
|
+
});
|
116
|
+
}
|
117
|
+
})
|
118
|
+
let list = self.htmlContainer.getElementsByClassName('mmc-node-btn');
|
119
|
+
Array.prototype.forEach.call(list,(item) => {
|
120
|
+
let domId = item.parentNode.id;
|
121
|
+
item.onmousedown = (mousedownEvent) => {
|
122
|
+
mousedownEvent.stopPropagation();
|
123
|
+
this.mousedownNode = mousedownEvent;
|
124
|
+
// 鼠标移动
|
125
|
+
document.onmouseup = (mousemoveEvent) => {
|
126
|
+
if (this.mousedownNode) {
|
127
|
+
let moveX = Math.abs(mousemoveEvent.clientX - this.mousedownNode.clientX);
|
128
|
+
let moveY = Math.abs(mousemoveEvent.clientY - this.mousedownNode.clientY);
|
129
|
+
// 点击后移动小于5才触发
|
130
|
+
if (moveX < 5 || moveY < 5) {
|
131
|
+
self.nodeManager.updateNode(self.data, domId, self.svgContainer);
|
132
|
+
this.mousedownNode = null;
|
133
|
+
}
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
}
|
138
|
+
})
|
139
|
+
}
|
140
|
+
|
141
|
+
}
|
@@ -0,0 +1,20 @@
|
|
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 { appendHTML } from '../../../util/dom';
|
13
|
+
|
14
|
+
export function initContainer(dom,option) {
|
15
|
+
let container = `
|
16
|
+
<div class="fd-container con" id="fd-container">
|
17
|
+
|
18
|
+
</div>`;
|
19
|
+
appendHTML(dom, container);
|
20
|
+
}
|
@@ -0,0 +1,148 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 - present OpenTiny HUICharts Authors.
|
3
|
+
* Copyright (c) 2024 - present Huawei Cloud Computing Technologies Co., Ltd.
|
4
|
+
*
|
5
|
+
* Use of this source code is governed by an MIT-style license.
|
6
|
+
*
|
7
|
+
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
|
8
|
+
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
|
9
|
+
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
|
10
|
+
*
|
11
|
+
*/
|
12
|
+
import forceCenter from './center';
|
13
|
+
import forceLink from './link';
|
14
|
+
import forceManyBody from './manyBody';
|
15
|
+
import forceCollide from './collide';
|
16
|
+
import forceSimulation from './simulation';
|
17
|
+
|
18
|
+
const initialRadius = 10;
|
19
|
+
const initialSize = 2 * initialRadius;
|
20
|
+
export default class NodeManager {
|
21
|
+
// 节点数据
|
22
|
+
data;
|
23
|
+
layoutNodes;
|
24
|
+
dom;
|
25
|
+
|
26
|
+
constructor(data, option, container) {
|
27
|
+
this.option = option;
|
28
|
+
this.dom = container;
|
29
|
+
this.render = option.render;
|
30
|
+
}
|
31
|
+
|
32
|
+
//调用动画函数
|
33
|
+
|
34
|
+
/**
|
35
|
+
* 创建节点
|
36
|
+
*/
|
37
|
+
create() {
|
38
|
+
const { data, width, height, strength, distance, key, symbolSize } =
|
39
|
+
this.option;
|
40
|
+
let simulation = forceSimulation(data.nodes, this.option);
|
41
|
+
// 节点相互吸引(正值)或排斥(负值),默认的strength是-30
|
42
|
+
simulation.force('charge', forceManyBody().strength(strength));
|
43
|
+
// 节点往中心点吸引
|
44
|
+
simulation.force('center', forceCenter(width / 2, height / 2));
|
45
|
+
// 连接节点,创建固定距离
|
46
|
+
const forceLinkIns = forceLink(data.links);
|
47
|
+
if (key) {
|
48
|
+
// 没有唯一的值,就以下标索引作为连接关系
|
49
|
+
forceLinkIns.id((d) => d[key]);
|
50
|
+
}
|
51
|
+
// forceLink将链接的节点移动到一个固定的距离(distance)
|
52
|
+
simulation.force('link', forceLinkIns.distance(distance));
|
53
|
+
// 避免节点(circle)重叠,返回节点半径
|
54
|
+
simulation.force(
|
55
|
+
'collision',
|
56
|
+
forceCollide().radius((node,index,nodes) => {
|
57
|
+
return node.radius || node.symbolSize / 2 || symbolSize / 2 || initialRadius;
|
58
|
+
})
|
59
|
+
);
|
60
|
+
simulation.on('tick', this.ticked);
|
61
|
+
// simulation.alphaTarget(0.3).restart();
|
62
|
+
// simulation.alphaDecay(1);
|
63
|
+
|
64
|
+
let nodeDom = this.createNode(this.option, data.nodes);
|
65
|
+
let linkDom = this.createLine(this.option, data.links);
|
66
|
+
this.dom.appendChild(nodeDom);
|
67
|
+
this.dom.appendChild(linkDom);
|
68
|
+
}
|
69
|
+
|
70
|
+
/*
|
71
|
+
* 创建nodedom
|
72
|
+
*
|
73
|
+
*/
|
74
|
+
createNode(option, nodes) {
|
75
|
+
let dom = document.createElement('div');
|
76
|
+
dom.classList = ['fd-node-con'];
|
77
|
+
nodes.forEach((item, index) => {
|
78
|
+
// 节点信息
|
79
|
+
let itemDom = document.createElement('div');
|
80
|
+
itemDom.classList = ['fd-node'];
|
81
|
+
itemDom.style.width =
|
82
|
+
(item.symbolSize || option.symbolSize || initialSize) + 'px';
|
83
|
+
itemDom.style.height =
|
84
|
+
(item.symbolSize || option.symbolSize || initialSize) + 'px';
|
85
|
+
let renderFun = item.render || option.render;
|
86
|
+
renderFun && renderFun(itemDom, item, index);
|
87
|
+
dom.appendChild(itemDom);
|
88
|
+
});
|
89
|
+
return dom;
|
90
|
+
}
|
91
|
+
|
92
|
+
/*
|
93
|
+
* 创建lineDom
|
94
|
+
*
|
95
|
+
*/
|
96
|
+
createLine(option, links) {
|
97
|
+
let svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
98
|
+
svg.style.width = option.width;
|
99
|
+
svg.style.height = option.height;
|
100
|
+
let g = document.createElementNS('http://www.w3.org/2000/svg', 'g');
|
101
|
+
links.forEach((res, index) => {
|
102
|
+
let line = document.createElementNS('http://www.w3.org/2000/svg', 'line');
|
103
|
+
line.setAttribute('data-index', index);
|
104
|
+
line.setAttribute('class', 'line');
|
105
|
+
line.setAttribute(
|
106
|
+
'stroke',
|
107
|
+
res.lineColor || option.lineStyle.color || '#000'
|
108
|
+
);
|
109
|
+
option.lineStyle.style == 'dotted'
|
110
|
+
? line.setAttribute('stroke-dasharray', '2 2')
|
111
|
+
: '';
|
112
|
+
line.setAttribute(
|
113
|
+
'stroke-width',
|
114
|
+
option.lineStyle ? option.lineStyle.height + 'px' : '1px'
|
115
|
+
);
|
116
|
+
g.appendChild(line);
|
117
|
+
});
|
118
|
+
svg.appendChild(g);
|
119
|
+
return svg;
|
120
|
+
}
|
121
|
+
|
122
|
+
// 迭代更新位置
|
123
|
+
ticked() {
|
124
|
+
let nodes = this.nodes(); // 此处的this是simulation
|
125
|
+
let option = this.option();
|
126
|
+
window.requestAnimationFrame(animate);
|
127
|
+
|
128
|
+
function animate() {
|
129
|
+
const $node = document.getElementsByClassName('fd-node');
|
130
|
+
const $lines = document.getElementsByClassName('line');
|
131
|
+
|
132
|
+
if ($node.length > 1) {
|
133
|
+
nodes.forEach((res, index) => {
|
134
|
+
const diff = res.radius || res.symbolSize / 2 || option.symbolSize / 2 || initialRadius;
|
135
|
+
$node[index].style.transform = `translate(${res.x - diff}px, ${res.y - diff}px)`;
|
136
|
+
});
|
137
|
+
option.data.links.forEach((res, index) => {
|
138
|
+
if ($lines[index]) {
|
139
|
+
$lines[index].setAttribute('x1', res.source.x);
|
140
|
+
$lines[index].setAttribute('y1', res.source.y);
|
141
|
+
$lines[index].setAttribute('x2', res.target.x);
|
142
|
+
$lines[index].setAttribute('y2', res.target.y);
|
143
|
+
}
|
144
|
+
});
|
145
|
+
}
|
146
|
+
}
|
147
|
+
}
|
148
|
+
}
|
@@ -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
|
+
// 设置点阵中心
|
13
|
+
export default function(x, y) {
|
14
|
+
var nodes, strength = 1;
|
15
|
+
|
16
|
+
if (x == null) x = 0;
|
17
|
+
if (y == null) y = 0;
|
18
|
+
|
19
|
+
// (单例对象模式)
|
20
|
+
function force() {
|
21
|
+
let n = nodes.length,
|
22
|
+
node,
|
23
|
+
sx = 0,
|
24
|
+
sy = 0;
|
25
|
+
|
26
|
+
for (let i = 0; i < n; ++i) {
|
27
|
+
node = nodes[i];
|
28
|
+
sx += node.x; // 节点x之和
|
29
|
+
sy += node.y; // 节点y之和
|
30
|
+
}
|
31
|
+
// sx/n是点阵的中心x坐标, sy/n是点阵的中心y坐标,
|
32
|
+
sx = (sx / n - x) * strength;
|
33
|
+
sy = (sy / n - y) * strength;
|
34
|
+
for (let i = 0; i < n; ++i) {
|
35
|
+
node = nodes[i];
|
36
|
+
node.x -= sx; // node.x = node.x + (x - sy/n)*strength
|
37
|
+
node.y -= sy;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
// 初始化,为nodes赋值
|
42
|
+
force.initialize = function(_) {
|
43
|
+
nodes = _;
|
44
|
+
};
|
45
|
+
|
46
|
+
force.x = function(_) {
|
47
|
+
if (arguments.length) {
|
48
|
+
x = +_;
|
49
|
+
return force;
|
50
|
+
}
|
51
|
+
return x;
|
52
|
+
};
|
53
|
+
|
54
|
+
force.y = function(_) {
|
55
|
+
if (arguments.length) {
|
56
|
+
y = +_;
|
57
|
+
return force;
|
58
|
+
}
|
59
|
+
return y;
|
60
|
+
};
|
61
|
+
|
62
|
+
force.strength = function(_) {
|
63
|
+
if (arguments.length) {
|
64
|
+
strength = +_;
|
65
|
+
return force;
|
66
|
+
}
|
67
|
+
return strength;
|
68
|
+
};
|
69
|
+
|
70
|
+
return force;
|
71
|
+
}
|
@@ -0,0 +1,151 @@
|
|
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 quadtree from "./quadtree.js";
|
13
|
+
import constant from "./constant.js";
|
14
|
+
import jiggle from "./jiggle.js";
|
15
|
+
|
16
|
+
// vx/vy是当前节点的运动速度
|
17
|
+
function x(d) {
|
18
|
+
return d.x + d.vx; // 运动一步 x + vx
|
19
|
+
}
|
20
|
+
|
21
|
+
function y(d) {
|
22
|
+
return d.y + d.vy;
|
23
|
+
}
|
24
|
+
|
25
|
+
// 防止重叠
|
26
|
+
export default function(radius) {
|
27
|
+
let nodes,
|
28
|
+
radii,
|
29
|
+
random,
|
30
|
+
strength = 1, // 力度
|
31
|
+
iterations = 1;
|
32
|
+
|
33
|
+
if (typeof radius !== "function") { // radius不是方法时,转数字常量或默认为1
|
34
|
+
radius = constant(radius == null ? 1 : +radius);
|
35
|
+
}
|
36
|
+
|
37
|
+
function force() {
|
38
|
+
|
39
|
+
let i,
|
40
|
+
tree,
|
41
|
+
node,
|
42
|
+
xi,
|
43
|
+
yi,
|
44
|
+
ri, // 半径
|
45
|
+
ri2; // 半径平方
|
46
|
+
|
47
|
+
const n = nodes.length;
|
48
|
+
for (let k = 0; k < iterations; ++k) {
|
49
|
+
// 以x,y访问器构建一个四叉树,即节点运动到下一步位置为坐标
|
50
|
+
// visitAfter是后序遍历树的节点,执行prepare为每个节点求半径r,参数为各个节点,
|
51
|
+
tree = quadtree(nodes, x, y).visitAfter(prepare);
|
52
|
+
for (i = 0; i < n; ++i) {
|
53
|
+
node = nodes[i];
|
54
|
+
ri = radii[node.index];
|
55
|
+
ri2 = ri * ri;
|
56
|
+
xi = node.x + node.vx;
|
57
|
+
yi = node.y + node.vy;
|
58
|
+
// 前序遍历所有节点,apply返回true则不访问其子节点
|
59
|
+
tree.visit(apply);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
// 为每个节点求半径r,参数为各个节点,返回true节点不可见
|
64
|
+
function prepare(quad) {
|
65
|
+
// 是否存在叶子节点
|
66
|
+
if (quad.data) return quad.r = radii[quad.data.index];
|
67
|
+
quad.r = 0;
|
68
|
+
for (let i = 0; i < 4; ++i) {
|
69
|
+
// 取最大r值
|
70
|
+
if (quad[i] && quad[i].r > quad.r) {
|
71
|
+
quad.r = quad[i].r;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
76
|
+
function apply(quad, x0, y0, x1, y1) {
|
77
|
+
let data = quad.data;
|
78
|
+
let rj = quad.r;
|
79
|
+
let r = ri + rj; // 两个点与其作用域构成两个圆
|
80
|
+
if (data) { // 叶子节点
|
81
|
+
if (data.index > node.index) {
|
82
|
+
// 设第一重循环nodes[i]为节点A(xi,yi) 第二重循环为节点B(data.x,data.y)下一步运动(+=vx,+=vy)
|
83
|
+
let x = xi - (data.x + data.vx), // B到A的水平距离
|
84
|
+
y = yi - (data.y + data.vy),
|
85
|
+
l = x * x + y * y;
|
86
|
+
if (l < r * r) { // 发生了碰撞
|
87
|
+
if (x === 0) x = jiggle(random), l += x * x; // 避免x=0
|
88
|
+
if (y === 0) y = jiggle(random), l += y * y; // 避免y=0
|
89
|
+
// 斥力 = 重叠长度/实际距离 * 碰撞力度
|
90
|
+
l = (r - (l = Math.sqrt(l))) / l * strength;
|
91
|
+
// 计算AB节点新的运动速度和方向,AB点往相反方向运动
|
92
|
+
node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));
|
93
|
+
node.vy += (y *= l) * r;
|
94
|
+
data.vx -= x * (r = 1 - r);
|
95
|
+
data.vy -= y * r;
|
96
|
+
}
|
97
|
+
}
|
98
|
+
return;
|
99
|
+
}
|
100
|
+
// 非叶子节点
|
101
|
+
return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
|
106
|
+
// 初始化
|
107
|
+
function initialize() {
|
108
|
+
if (!nodes) return;
|
109
|
+
const n = nodes.length;
|
110
|
+
radii = new Array(n);
|
111
|
+
for (let i = 0; i < n; ++i) {
|
112
|
+
let node = nodes[i];
|
113
|
+
radii[node.index] = +radius(node, i, nodes); // 收集所有节点的半径
|
114
|
+
}
|
115
|
+
}
|
116
|
+
|
117
|
+
force.initialize = function(_nodes, _random) {
|
118
|
+
nodes = _nodes;
|
119
|
+
random = _random;
|
120
|
+
initialize();
|
121
|
+
};
|
122
|
+
|
123
|
+
// 设置或读取半径
|
124
|
+
force.radius = function(_) {
|
125
|
+
if(arguments.length) { // set
|
126
|
+
radius = typeof _ === "function" ? _ : constant(+_);
|
127
|
+
initialize();
|
128
|
+
return force;
|
129
|
+
}
|
130
|
+
return radius; // get
|
131
|
+
};
|
132
|
+
|
133
|
+
// 设置或读取迭代次数
|
134
|
+
force.iterations = function(_) {
|
135
|
+
if (arguments.length) { // set
|
136
|
+
iterations = +_;
|
137
|
+
return force;
|
138
|
+
}
|
139
|
+
return iterations; // get
|
140
|
+
};
|
141
|
+
|
142
|
+
force.strength = function(_) {
|
143
|
+
if (arguments.length) { // set
|
144
|
+
strength = +_;
|
145
|
+
return force;
|
146
|
+
}
|
147
|
+
return strength; // get
|
148
|
+
};
|
149
|
+
|
150
|
+
return force;
|
151
|
+
}
|