@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,97 @@
|
|
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 paging from "./paging";
|
13
|
+
import group from "./group";
|
14
|
+
import more from "./more";
|
15
|
+
import scroll from "./scroll";
|
16
|
+
import throttle from "../../../util/throttle";
|
17
|
+
const DEFAULT_OPTION = {
|
18
|
+
data: [],
|
19
|
+
onclick: () => {},
|
20
|
+
};
|
21
|
+
const THROTTLE_INTERVAL = 500;
|
22
|
+
class MutiSelectLegend {
|
23
|
+
constructor(element) {
|
24
|
+
|
25
|
+
// 根节点
|
26
|
+
this.root = element;
|
27
|
+
|
28
|
+
// 所有的图例
|
29
|
+
this.item = [];
|
30
|
+
|
31
|
+
// 当前主题下的配色
|
32
|
+
this.color = [];
|
33
|
+
|
34
|
+
// 所有图例的分组情况
|
35
|
+
this.group = [];
|
36
|
+
|
37
|
+
// 当前所在页码,从0开始
|
38
|
+
this.current = 0;
|
39
|
+
|
40
|
+
// 当前的数据
|
41
|
+
this.data = [];
|
42
|
+
|
43
|
+
// 图例的点击事件
|
44
|
+
this.onclick = () => {};
|
45
|
+
}
|
46
|
+
|
47
|
+
setOption(option) {
|
48
|
+
option = option || DEFAULT_OPTION;
|
49
|
+
this.onclick = option.onclick;
|
50
|
+
this.itemStyle = option.itemStyle;
|
51
|
+
this.color = option.color;
|
52
|
+
this.onLegendClick = option.onLegendClick;
|
53
|
+
this.initData(option.data);
|
54
|
+
this.setResizeObserver();
|
55
|
+
}
|
56
|
+
|
57
|
+
// 组装数据
|
58
|
+
initData(data) {
|
59
|
+
this.data = [];
|
60
|
+
if (Array.isArray(data)) {
|
61
|
+
for (let i = 0; i < data.length; i++) {
|
62
|
+
this.data.push({
|
63
|
+
name: data[i]["name"] === undefined ? data[i] : data[i]["name"],
|
64
|
+
value: data[i]["value"] === undefined ? data[i] : data[i]["value"],
|
65
|
+
selected: data[i]["selected"] === undefined ? true : data[i]["selected"],
|
66
|
+
show: data[i]["show"] === undefined ? true : data[i]["show"],
|
67
|
+
color: this.color.length === 0 ? "#000" : this.color[i % this.color.length],
|
68
|
+
});
|
69
|
+
}
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
// 创建整个图例滚动框
|
74
|
+
create() {
|
75
|
+
const scrollDom = scroll.call(this);
|
76
|
+
const pagingDom = paging.call(this);
|
77
|
+
const moreDom = more.call(this);
|
78
|
+
this.root.append(scrollDom, pagingDom, moreDom);
|
79
|
+
group.call(this);
|
80
|
+
}
|
81
|
+
|
82
|
+
getData() {
|
83
|
+
return this.data;
|
84
|
+
}
|
85
|
+
|
86
|
+
// 响应式监听
|
87
|
+
setResizeObserver() {
|
88
|
+
this.resizeObserver = new ResizeObserver(() => {
|
89
|
+
throttle(THROTTLE_INTERVAL, () => {
|
90
|
+
this.root.innerHTML = "";
|
91
|
+
this.create();
|
92
|
+
})();
|
93
|
+
});
|
94
|
+
this.resizeObserver.observe(this.root);
|
95
|
+
}
|
96
|
+
}
|
97
|
+
export default MutiSelectLegend;
|
@@ -0,0 +1,115 @@
|
|
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 { CSS_CLASS,SVG_ICON } from "./constants";
|
13
|
+
import { uuid } from "../../../util/math";
|
14
|
+
import { getTextWidth } from "../../../util/dom";
|
15
|
+
import { svgTransform } from "../../../util/convert";
|
16
|
+
// 图例的默认宽度
|
17
|
+
const DEFAULT_WIDTH = "160px"
|
18
|
+
|
19
|
+
// tips文字大小
|
20
|
+
const TEXT_SIZE = 14;
|
21
|
+
|
22
|
+
// 创建每个图例
|
23
|
+
function item(data, index) {
|
24
|
+
|
25
|
+
// 创建整个图例的盒子
|
26
|
+
const item = document.createElement("div");
|
27
|
+
item.classList.add(CSS_CLASS.ITEM);
|
28
|
+
item.id = `${CSS_CLASS.ITEM}_${uuid()}`;
|
29
|
+
item.dataset.id = index;
|
30
|
+
|
31
|
+
// 创建图例文字前面的图标
|
32
|
+
const itemIcon = document.createElement("div");
|
33
|
+
itemIcon.classList.add(CSS_CLASS.ITEM_ICON)
|
34
|
+
itemIcon.style.backgroundColor = data.color;
|
35
|
+
if(this?.itemStyle?.icon === "line"){
|
36
|
+
itemIcon.classList.add(CSS_CLASS.ITEM_ICON_LINE);
|
37
|
+
}else{
|
38
|
+
itemIcon.classList.add(CSS_CLASS.ITEM_ICON_CIRCLE);
|
39
|
+
}
|
40
|
+
|
41
|
+
// 创建图例的文字
|
42
|
+
const itemText = document.createElement("span");
|
43
|
+
itemText.classList.add(CSS_CLASS.ITEM_TEXT);
|
44
|
+
itemText.innerText = data.name;
|
45
|
+
itemText.title = data.name;
|
46
|
+
|
47
|
+
// 如果设置了图例最大宽度就设置
|
48
|
+
if (this.itemStyle) {
|
49
|
+
this.itemStyle.maxTextWidth && (itemText.style.maxWidth = this.itemStyle.maxTextWidth)
|
50
|
+
if (this.itemStyle.showTips) {
|
51
|
+
let maxTextWidth = this.itemStyle.maxTextWidth || DEFAULT_WIDTH
|
52
|
+
maxTextWidth = maxTextWidth.split('px')[0] - 0
|
53
|
+
|
54
|
+
// 如果图例超出了最大宽度就增加hover触发的tips
|
55
|
+
if (getTextWidth(data.name,TEXT_SIZE) > maxTextWidth) {
|
56
|
+
let tips = new Tips(item);
|
57
|
+
tips.setOption({
|
58
|
+
data: data.name,
|
59
|
+
onclick: () => { },
|
60
|
+
});
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
const copy = document.createElement('img')
|
66
|
+
copy.classList.add('copy')
|
67
|
+
if(this?.itemStyle?.copy){
|
68
|
+
const svg1 = svgTransform(SVG_ICON.COPY1)
|
69
|
+
const svg2 = svgTransform(SVG_ICON.COPY2)
|
70
|
+
copy.src = svg1
|
71
|
+
|
72
|
+
copy.addEventListener('mouseover', (e) => {
|
73
|
+
e.stopPropagation()
|
74
|
+
copy.src = svg2
|
75
|
+
})
|
76
|
+
copy.addEventListener('mouseleave', (e) => {
|
77
|
+
e.stopPropagation()
|
78
|
+
copy.src = svg1
|
79
|
+
})
|
80
|
+
copy.addEventListener('click', async (e) => {
|
81
|
+
e.stopPropagation()
|
82
|
+
let clipboard = navigator.clipboard || {
|
83
|
+
writeText: (text) => {
|
84
|
+
let copyInput = document.createElement('input');
|
85
|
+
copyInput.value = text;
|
86
|
+
document.body.appendChild(copyInput);
|
87
|
+
copyInput.select();
|
88
|
+
document.execCommand('copy');
|
89
|
+
document.body.removeChild(copyInput);
|
90
|
+
}
|
91
|
+
}
|
92
|
+
if (clipboard) {
|
93
|
+
await clipboard.writeText(data.name);
|
94
|
+
}
|
95
|
+
})
|
96
|
+
}
|
97
|
+
item.append(itemIcon, itemText, copy);
|
98
|
+
|
99
|
+
// 图例是否未激活
|
100
|
+
if (data.show === false) {
|
101
|
+
itemIcon.classList.toggle(CSS_CLASS.ITEM_ICON_UNACTIVE);
|
102
|
+
itemText.classList.toggle(CSS_CLASS.ITEM_TEXT_UNACTIVE);
|
103
|
+
}
|
104
|
+
|
105
|
+
// 图例添加点击事件切换样式
|
106
|
+
item.addEventListener("click", (e) => {
|
107
|
+
e.stopPropagation();
|
108
|
+
data.show = !data.show
|
109
|
+
itemIcon.classList.toggle(CSS_CLASS.ITEM_ICON_UNACTIVE);
|
110
|
+
itemText.classList.toggle(CSS_CLASS.ITEM_TEXT_UNACTIVE);
|
111
|
+
this.onLegendClick && this.onLegendClick(this.data[index]);
|
112
|
+
});
|
113
|
+
return item;
|
114
|
+
}
|
115
|
+
export default item;
|
@@ -0,0 +1,101 @@
|
|
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 MutiSelect from "../mutiSelect";
|
13
|
+
import item from "./item";
|
14
|
+
import group from "./group";
|
15
|
+
import { CSS_CLASS, SVG_ICON } from "./constants";
|
16
|
+
import { uuid } from "../../../util/math";
|
17
|
+
import { svgTransform } from "../../../util/convert";
|
18
|
+
|
19
|
+
// 创建更多按钮
|
20
|
+
function more() {
|
21
|
+
const more = document.createElement("div");
|
22
|
+
const moreIcon = document.createElement("img");
|
23
|
+
more.id = `more-${uuid()}`;
|
24
|
+
moreIcon.src = svgTransform(SVG_ICON.EVEN_MORE);
|
25
|
+
more.classList.add(CSS_CLASS.MORE);
|
26
|
+
more.appendChild(moreIcon);
|
27
|
+
let dropdown = new MutiSelect(more);
|
28
|
+
dropdown.setOption({
|
29
|
+
data: this.data,
|
30
|
+
itemStyle:this.itemStyle,
|
31
|
+
// 点击触发的事件
|
32
|
+
onclick: (index) => {
|
33
|
+
|
34
|
+
this.paging.style.opacity = 1;
|
35
|
+
this.paging.style.zIndex = 1;
|
36
|
+
this.data.forEach((item) => (item.show = true));
|
37
|
+
|
38
|
+
// 如果多选框中某个选项被激活
|
39
|
+
if (this.data[index].selected) {
|
40
|
+
|
41
|
+
// 创建对应的图例
|
42
|
+
let itemDom = item.call(this, this.data[index], index);
|
43
|
+
this.item.push(itemDom);
|
44
|
+
|
45
|
+
// 将图例进行排序
|
46
|
+
this.item.sort((item1, item2) => {
|
47
|
+
return item1.dataset.id - item2.dataset.id;
|
48
|
+
});
|
49
|
+
} else {
|
50
|
+
|
51
|
+
// 如果条目被取消
|
52
|
+
this.item = [...this.item.filter((item) => item.dataset.id != index)];
|
53
|
+
}
|
54
|
+
|
55
|
+
// 先去掉之前加的空白占位
|
56
|
+
this.item = [...this.item.filter((item) => !item.classList.contains(CSS_CLASS.PLACEHOLDER))];
|
57
|
+
|
58
|
+
// 重置其他图例的状态
|
59
|
+
this.item.forEach((item, cur) => {
|
60
|
+
if (cur !== index) {
|
61
|
+
removeUnactiveState(item);
|
62
|
+
}
|
63
|
+
});
|
64
|
+
|
65
|
+
// 替换目前选择的图例dom
|
66
|
+
this.scroll.replaceChildren(...this.item);
|
67
|
+
|
68
|
+
// 对它们分组
|
69
|
+
group.call(this);
|
70
|
+
this.current = 0;
|
71
|
+
|
72
|
+
// 分页按钮状态判断
|
73
|
+
this.pagingText.innerText = `${this.current + 1}/${this.group.length > 0 ? this.group.length : 1}`;
|
74
|
+
this.pagingLeftIcon.src = svgTransform(SVG_ICON.LEFT_ARROW);
|
75
|
+
this.pagingLeftIcon.classList.remove(CSS_CLASS.PAGING_ICON_ROTATE);
|
76
|
+
if (this.current + 1 === this.group.length || this.group.length === 0) {
|
77
|
+
this.pagingRightIcon.src = svgTransform(SVG_ICON.LEFT_ARROW);
|
78
|
+
this.pagingRightIcon.classList.add(CSS_CLASS.PAGING_ICON_ROTATE);
|
79
|
+
} else {
|
80
|
+
this.pagingRightIcon.src = svgTransform(SVG_ICON.RIGHT_ARROW);
|
81
|
+
this.pagingRightIcon.classList.remove(CSS_CLASS.PAGING_ICON_ROTATE);
|
82
|
+
}
|
83
|
+
this.onclick(this.data[index], this.data);
|
84
|
+
},
|
85
|
+
});
|
86
|
+
return more;
|
87
|
+
}
|
88
|
+
|
89
|
+
// 重置其他图例的状态
|
90
|
+
function removeUnactiveState(item) {
|
91
|
+
let icon = item.querySelector(`.${CSS_CLASS.ITEM_ICON}`);
|
92
|
+
let text = item.querySelector(`.${CSS_CLASS.ITEM_TEXT}`);
|
93
|
+
if (icon) {
|
94
|
+
icon.classList.remove(CSS_CLASS.ITEM_ICON_UNACTIVE);
|
95
|
+
}
|
96
|
+
if (text) {
|
97
|
+
text.classList.remove(CSS_CLASS.ITEM_TEXT_UNACTIVE);
|
98
|
+
}
|
99
|
+
}
|
100
|
+
|
101
|
+
export default more;
|
@@ -0,0 +1,103 @@
|
|
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 { CSS_CLASS, SVG_ICON } from "./constants";
|
13
|
+
import { svgTransform } from "../../../util/convert";
|
14
|
+
|
15
|
+
// 创建分页
|
16
|
+
function createPaging() {
|
17
|
+
|
18
|
+
// 默认初始位置
|
19
|
+
this.current = 0;
|
20
|
+
|
21
|
+
// 创建paing
|
22
|
+
const paging = document.createElement("div");
|
23
|
+
paging.classList.add(CSS_CLASS.PAGING);
|
24
|
+
|
25
|
+
// paing中间的文字
|
26
|
+
const pagingText = document.createElement("span");
|
27
|
+
pagingText.classList.add(CSS_CLASS.PAGING_TEXT);
|
28
|
+
pagingText.innerText = `1/2`;
|
29
|
+
|
30
|
+
// paging左右按钮的盒子
|
31
|
+
const pagingLeft = document.createElement("div");
|
32
|
+
const pagingRight = document.createElement("div");
|
33
|
+
pagingLeft.classList.add(CSS_CLASS.PAGING_LEFT);
|
34
|
+
pagingRight.classList.add(CSS_CLASS.PAGING_RIGHT);
|
35
|
+
|
36
|
+
// paing的左右按钮
|
37
|
+
const pagingLeftIcon = document.createElement("img");
|
38
|
+
const pagingRightIcon = document.createElement("img");
|
39
|
+
pagingLeftIcon.src = svgTransform(SVG_ICON.LEFT_ARROW);
|
40
|
+
pagingRightIcon.src = svgTransform(SVG_ICON.RIGHT_ARROW);
|
41
|
+
pagingLeftIcon.classList.add(CSS_CLASS.PAGING_ICON);
|
42
|
+
pagingRightIcon.classList.add(CSS_CLASS.PAGING_ICON);
|
43
|
+
pagingLeft.append(pagingLeftIcon);
|
44
|
+
pagingRight.append(pagingRightIcon);
|
45
|
+
|
46
|
+
// paing左按钮点击事件
|
47
|
+
pagingLeft.addEventListener("click", (e) => {
|
48
|
+
e.stopPropagation();
|
49
|
+
if (this.current >= 1) {
|
50
|
+
this.current--;
|
51
|
+
|
52
|
+
// 展示当前分组页的图例
|
53
|
+
this.group[this.current][this.group[this.current].length - 1].scrollIntoView({
|
54
|
+
behavior: "smooth",
|
55
|
+
block: "nearest",
|
56
|
+
inline: "end",
|
57
|
+
});
|
58
|
+
pagingText.innerText = `${this.current + 1}/${this.group.length}`;
|
59
|
+
|
60
|
+
// 左按钮是否置灰
|
61
|
+
if (this.current === 0) {
|
62
|
+
pagingLeftIcon.src = svgTransform(SVG_ICON.LEFT_ARROW);
|
63
|
+
pagingLeftIcon.classList.remove(CSS_CLASS.PAGING_ICON_ROTATE);
|
64
|
+
}
|
65
|
+
pagingRightIcon.src = svgTransform(SVG_ICON.RIGHT_ARROW);
|
66
|
+
pagingRightIcon.classList.remove(CSS_CLASS.PAGING_ICON_ROTATE);
|
67
|
+
}
|
68
|
+
});
|
69
|
+
|
70
|
+
// paing右按钮点击事件
|
71
|
+
pagingRight.addEventListener("click", (e) => {
|
72
|
+
e.stopPropagation();
|
73
|
+
if (this.current < this.group.length - 1) {
|
74
|
+
this.current++;
|
75
|
+
|
76
|
+
// 展示当前分组页的图例
|
77
|
+
this.group[this.current][this.group[this.current].length - 1].scrollIntoView({
|
78
|
+
behavior: "smooth",
|
79
|
+
block: "nearest",
|
80
|
+
inline: "end",
|
81
|
+
});
|
82
|
+
pagingText.innerText = `${this.current + 1}/${this.group.length}`;
|
83
|
+
|
84
|
+
// 右按钮是否置灰
|
85
|
+
if (this.current + 1 === this.group.length) {
|
86
|
+
pagingRightIcon.src = svgTransform(SVG_ICON.LEFT_ARROW);
|
87
|
+
pagingRightIcon.classList.add(CSS_CLASS.PAGING_ICON_ROTATE);
|
88
|
+
}
|
89
|
+
pagingLeftIcon.src = svgTransform(SVG_ICON.RIGHT_ARROW);
|
90
|
+
pagingLeftIcon.classList.add(CSS_CLASS.PAGING_ICON_ROTATE);
|
91
|
+
}
|
92
|
+
});
|
93
|
+
|
94
|
+
// 插入paign的dom
|
95
|
+
paging.append(pagingLeft, pagingText, pagingRight);
|
96
|
+
this.paging = paging;
|
97
|
+
this.pagingText = pagingText;
|
98
|
+
this.pagingLeftIcon = pagingLeftIcon;
|
99
|
+
this.pagingRightIcon = pagingRightIcon;
|
100
|
+
return paging;
|
101
|
+
}
|
102
|
+
|
103
|
+
export default createPaging;
|
@@ -0,0 +1,33 @@
|
|
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 item from "./item";
|
13
|
+
import { CSS_CLASS } from "./constants";
|
14
|
+
|
15
|
+
// 创建图例框
|
16
|
+
function scroll() {
|
17
|
+
const scrollDom = document.createElement("div");
|
18
|
+
scrollDom.classList.add(CSS_CLASS.SCROLL);
|
19
|
+
this.item = [];
|
20
|
+
|
21
|
+
// 根据数据循环创造图例
|
22
|
+
this.data.forEach((element, index) => {
|
23
|
+
if (element.selected) {
|
24
|
+
let itemDom = item.call(this, element, index);
|
25
|
+
this.item.push(itemDom);
|
26
|
+
scrollDom.append(itemDom);
|
27
|
+
}
|
28
|
+
});
|
29
|
+
this.scroll = scrollDom;
|
30
|
+
return scrollDom;
|
31
|
+
}
|
32
|
+
|
33
|
+
export default scroll;
|
@@ -0,0 +1,34 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2024 - present OpenTiny HUICharts Authors.
|
3
|
+
* Copyright (c) 2024 - present Huawei Cloud Computing Technologies Co., Ltd.
|
4
|
+
*
|
5
|
+
* Use of this source code is governed by an MIT-style license.
|
6
|
+
*
|
7
|
+
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
|
8
|
+
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
|
9
|
+
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
|
10
|
+
*
|
11
|
+
*/
|
12
|
+
export const CSS_CLASS = {
|
13
|
+
LIST: "hui_expand_legend_list",
|
14
|
+
ITEM: "hui_expand_legend_list_item",
|
15
|
+
ICON_LINE: "hui_expand_legend_list_item_icon_line",
|
16
|
+
ICON_CIRCLE: "hui_expand_legend_list_item_icon_circle",
|
17
|
+
ITEM_TEXT: "hui_expand_legend_list_item_text",
|
18
|
+
ITEM_COPY:"hui_expand_legend_list_item_copy",
|
19
|
+
ICON_UNACTIVE: "hui_expand_legend_list_item_icon_unactive",
|
20
|
+
ITEM_UNACTIVE: "hui_expand_legend_list_item_unactive",
|
21
|
+
TABLE:"hui_expand_legend_table",
|
22
|
+
HEAD:"hui_expand_legend_table_head",
|
23
|
+
TABLE_ITEM:"hui_expand_legend_table_item",
|
24
|
+
OTHER_TABLE_ITEM:"hui_expand_legend_table_other_item"
|
25
|
+
};
|
26
|
+
|
27
|
+
export const SVG_ICON = {
|
28
|
+
COPY1:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
29
|
+
<path fill="#808080" d="m14.25,6c2.07,0,3.75,1.68,3.75,3.75v9c0,2.07-1.68,3.75-3.75,3.75H5.25c-2.07,0-3.75-1.68-3.75-3.75v-9c0-2.07,1.68-3.75,3.75-3.75h9Zm0,1.5H5.25c-1.24,0-2.25,1.01-2.25,2.25v9c0,1.24,1.01,2.25,2.25,2.25h9c1.24,0,2.25-1.01,2.25-2.25v-9c0-1.24-1.01-2.25-2.25-2.25Zm4.5-5.99c2.07,0,3.75,1.68,3.75,3.75v7.5c0,.41-.34.75-.75.75s-.75-.34-.75-.75v-7.5c0-1.24-1.01-2.25-2.25-2.25h-7.5c-.41,0-.75-.34-.75-.75s.34-.75.75-.75h7.5Z"></path>
|
30
|
+
</svg>`,
|
31
|
+
COPY2:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
32
|
+
<path fill="#000000" d="m14.25,6c2.07,0,3.75,1.68,3.75,3.75v9c0,2.07-1.68,3.75-3.75,3.75H5.25c-2.07,0-3.75-1.68-3.75-3.75v-9c0-2.07,1.68-3.75,3.75-3.75h9Zm0,1.5H5.25c-1.24,0-2.25,1.01-2.25,2.25v9c0,1.24,1.01,2.25,2.25,2.25h9c1.24,0,2.25-1.01,2.25-2.25v-9c0-1.24-1.01-2.25-2.25-2.25Zm4.5-5.99c2.07,0,3.75,1.68,3.75,3.75v7.5c0,.41-.34.75-.75.75s-.75-.34-.75-.75v-7.5c0-1.24-1.01-2.25-2.25-2.25h-7.5c-.41,0-.75-.34-.75-.75s.34-.75.75-.75h7.5Z"></path>
|
33
|
+
</svg>`,
|
34
|
+
};
|
@@ -0,0 +1,181 @@
|
|
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 Tips from "../tips";
|
13
|
+
import { CSS_CLASS,SVG_ICON } from "./constants";
|
14
|
+
import { uuid } from "../../../util/math";
|
15
|
+
import throttle from "../../../util/throttle";
|
16
|
+
import { getTextWidth } from "../../../util/dom";
|
17
|
+
import statisticsList from "./statisticList";
|
18
|
+
import { svgTransform } from "../../../util/convert";
|
19
|
+
|
20
|
+
// 节流间隔
|
21
|
+
const THROTTLE_INTERVAL = 500;
|
22
|
+
|
23
|
+
// tips文字大小
|
24
|
+
const TEXT_SIZE = 14;
|
25
|
+
|
26
|
+
const DEFAULT_OPTION = {
|
27
|
+
data: [],
|
28
|
+
onclick: () => {},
|
29
|
+
style: {
|
30
|
+
sign: "circle",
|
31
|
+
},
|
32
|
+
};
|
33
|
+
class MutiSelectList {
|
34
|
+
constructor(root) {
|
35
|
+
|
36
|
+
// 根元素
|
37
|
+
this.root = root;
|
38
|
+
|
39
|
+
// 数据
|
40
|
+
this.data = null;
|
41
|
+
}
|
42
|
+
|
43
|
+
setOption(option) {
|
44
|
+
option = option || DEFAULT_OPTION;
|
45
|
+
|
46
|
+
// 主题颜色
|
47
|
+
this.color = option.color;
|
48
|
+
|
49
|
+
// 整个图例占父元素的高度
|
50
|
+
this.height = option.height;
|
51
|
+
|
52
|
+
// 图例的点击事件
|
53
|
+
this.onclick = option.onclick
|
54
|
+
|
55
|
+
// 图例的一些样式
|
56
|
+
this.itemStyle = option.itemStyle;
|
57
|
+
|
58
|
+
this.statistics = option.statistics
|
59
|
+
this.initData(option.data);
|
60
|
+
this.setResizeObserver();
|
61
|
+
}
|
62
|
+
|
63
|
+
// 组装数据
|
64
|
+
initData(data) {
|
65
|
+
this.data = [];
|
66
|
+
if (Array.isArray(data)) {
|
67
|
+
for (let i = 0; i < data.length; i++) {
|
68
|
+
this.data.push({
|
69
|
+
name: data[i]["name"] === undefined ? data[i] : data[i]["name"],
|
70
|
+
value: data[i]["value"] === undefined ? data[i] : data[i]["value"],
|
71
|
+
selected: data[i]["selected"] === undefined ? true : data[i]["selected"],
|
72
|
+
color: this.color.length === 0 ? "#000" : this.color[i % this.color.length],
|
73
|
+
});
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
// 创建列表
|
79
|
+
create(onclick) {
|
80
|
+
let list = document.createElement("div");
|
81
|
+
list.classList.add(CSS_CLASS.LIST);
|
82
|
+
list.style.height = this.height;
|
83
|
+
if(this.statistics){
|
84
|
+
list.style.display = "flex"
|
85
|
+
list.style.alignItems="center"
|
86
|
+
list.append(statisticsList.call(this))
|
87
|
+
}
|
88
|
+
else{
|
89
|
+
let maxWidth = this.root.getBoundingClientRect().width
|
90
|
+
this.data.forEach((data, index) => {
|
91
|
+
let item = document.createElement("div");
|
92
|
+
item.id = `${CSS_CLASS.ITEM}_${uuid()}`;
|
93
|
+
item.classList.add(CSS_CLASS.ITEM);
|
94
|
+
let icon = document.createElement("div");
|
95
|
+
|
96
|
+
// icon是展示为线还是小圆点
|
97
|
+
if (this?.itemStyle?.icon === "line") {
|
98
|
+
icon.classList.add(CSS_CLASS.ICON_LINE);
|
99
|
+
} else {
|
100
|
+
icon.classList.add(CSS_CLASS.ICON_CIRCLE);
|
101
|
+
}
|
102
|
+
icon.style.background = data.color;
|
103
|
+
let text = document.createElement("span");
|
104
|
+
text.innerText = data.name;
|
105
|
+
text.classList.add(CSS_CLASS.ITEM_TEXT);
|
106
|
+
|
107
|
+
const copy = document.createElement('img')
|
108
|
+
copy.classList.add('copy')
|
109
|
+
if(this?.itemStyle?.copy){
|
110
|
+
const svg1 = svgTransform(SVG_ICON.COPY1)
|
111
|
+
const svg2 = svgTransform(SVG_ICON.COPY2)
|
112
|
+
copy.src = svg1
|
113
|
+
copy.addEventListener('mouseover', (e) => {
|
114
|
+
e.stopPropagation()
|
115
|
+
copy.src = svg2
|
116
|
+
})
|
117
|
+
copy.addEventListener('mouseleave', (e) => {
|
118
|
+
e.stopPropagation()
|
119
|
+
copy.src = svg1
|
120
|
+
})
|
121
|
+
copy.addEventListener('click', async (e) => {
|
122
|
+
e.stopPropagation()
|
123
|
+
let clipboard = navigator.clipboard || {
|
124
|
+
writeText: (text) => {
|
125
|
+
let copyInput = document.createElement('input');
|
126
|
+
copyInput.value = text;
|
127
|
+
document.body.appendChild(copyInput);
|
128
|
+
copyInput.select();
|
129
|
+
document.execCommand('copy');
|
130
|
+
document.body.removeChild(copyInput);
|
131
|
+
}
|
132
|
+
}
|
133
|
+
if (clipboard) {
|
134
|
+
await clipboard.writeText(data.name);
|
135
|
+
}
|
136
|
+
})
|
137
|
+
}
|
138
|
+
// 是否要展示tips
|
139
|
+
if (this?.itemStyle?.showTips) {
|
140
|
+
if (getTextWidth(data.name, TEXT_SIZE) > maxWidth) {
|
141
|
+
let tips = new Tips(item);
|
142
|
+
tips.setOption({
|
143
|
+
data: data.name,
|
144
|
+
onclick: () => {},
|
145
|
+
});
|
146
|
+
}
|
147
|
+
}
|
148
|
+
item.append(icon, text, copy);
|
149
|
+
|
150
|
+
// 每个图例的点击事件
|
151
|
+
item.addEventListener("click", (e) => {
|
152
|
+
e.stopPropagation();
|
153
|
+
icon.classList.toggle(CSS_CLASS.ICON_UNACTIVE);
|
154
|
+
text.classList.toggle(CSS_CLASS.ITEM_UNACTIVE);
|
155
|
+
onclick && onclick(this.data[index]);
|
156
|
+
});
|
157
|
+
list.append(item);
|
158
|
+
});
|
159
|
+
}
|
160
|
+
|
161
|
+
// 列表滚动时立刻销毁所有tips
|
162
|
+
list.addEventListener("scroll", (e) => {
|
163
|
+
e.stopPropagation();
|
164
|
+
Tips.destoryImmediately();
|
165
|
+
});
|
166
|
+
this.root.append(list);
|
167
|
+
}
|
168
|
+
|
169
|
+
// 响应式监听
|
170
|
+
setResizeObserver() {
|
171
|
+
this.resizeObserver = new ResizeObserver(() => {
|
172
|
+
throttle(THROTTLE_INTERVAL, () => {
|
173
|
+
this.root.innerHTML = "";
|
174
|
+
this.create(this.onclick);
|
175
|
+
})();
|
176
|
+
});
|
177
|
+
this.resizeObserver.observe(this.root);
|
178
|
+
}
|
179
|
+
}
|
180
|
+
|
181
|
+
export default MutiSelectList;
|