@ebiz/designer-components 0.0.47 → 0.0.49
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/dist/designer-components.css +1 -1
- package/dist/index.mjs +33336 -107224
- package/package.json +1 -4
- package/src/apiService/simpleDataService.js +43 -43
- package/src/assets/styles/charts/main.less +0 -30
- package/src/components/Button.vue +3 -6
- package/src/components/EbizApproval.vue +327 -0
- package/src/components/EbizEmployeeSelector.vue +50 -15
- package/src/components/EbizFileUpload.vue +55 -18
- package/src/components/EbizRouteBreadcrumb.vue +9 -9
- package/src/components/EbizSelect.vue +52 -62
- package/src/components/EbizTabHeader.vue +29 -41
- package/src/components/senior/EbizSDialog/index.vue +4 -0
- package/src/index.js +4 -4
- package/src/router/index.js +7 -0
- package/src/views/EbizApprovalDemo.vue +77 -0
- package/src/views/EbizSDataDemo.vue +0 -1
- package/src/views/Home.vue +2 -1
- package/src/components/EbizMindmap/README.md +0 -8
- package/src/components/EbizMindmap/components/GridNode.vue +0 -102
- package/src/components/EbizMindmap/components/node.vue +0 -92
- package/src/components/EbizMindmap/components/vueNode.vue +0 -64
- package/src/components/EbizMindmap/index.vue +0 -383
- package/src/components/charts/chart.js +0 -47
- package/src/components/charts/components/AssembleBubbleChart/BaseOption.js +0 -50
- package/src/components/charts/components/AssembleBubbleChart/chartToken.js +0 -17
- package/src/components/charts/components/AssembleBubbleChart/handleOption.js +0 -66
- package/src/components/charts/components/AssembleBubbleChart/handleRootData.js +0 -165
- package/src/components/charts/components/AssembleBubbleChart/handleSeriesData.js +0 -70
- package/src/components/charts/components/AssembleBubbleChart/index.js +0 -65
- package/src/components/charts/components/AutonaviMapChart/index.js +0 -162
- package/src/components/charts/components/BaiduMapChart/index.js +0 -148
- package/src/components/charts/components/BarChart/barChartOption.js +0 -76
- package/src/components/charts/components/BarChart/chartToken.js +0 -17
- package/src/components/charts/components/BarChart/handleOptipn.js +0 -102
- package/src/components/charts/components/BarChart/handleSeries.js +0 -716
- package/src/components/charts/components/BarChart/handleVisualMap.js +0 -48
- package/src/components/charts/components/BarChart/index.js +0 -151
- package/src/components/charts/components/BaseChart/index.js +0 -122
- package/src/components/charts/components/BoxplotChart/chartToken.js +0 -17
- package/src/components/charts/components/BoxplotChart/handleOption.js +0 -64
- package/src/components/charts/components/BoxplotChart/handleSeries.js +0 -150
- package/src/components/charts/components/BoxplotChart/index.js +0 -47
- package/src/components/charts/components/BubbleChart/chartToken.js +0 -17
- package/src/components/charts/components/BubbleChart/handleData.js +0 -33
- package/src/components/charts/components/BubbleChart/handleOptipn.js +0 -63
- package/src/components/charts/components/BubbleChart/handleSeries.js +0 -86
- package/src/components/charts/components/BubbleChart/handleTrendLine.js +0 -119
- package/src/components/charts/components/BubbleChart/handleVisualMap.js +0 -50
- package/src/components/charts/components/BubbleChart/index.js +0 -96
- package/src/components/charts/components/BulletChart/bulletChartOption.js +0 -82
- package/src/components/charts/components/BulletChart/chartToken.js +0 -17
- package/src/components/charts/components/BulletChart/handleOptipn.js +0 -74
- package/src/components/charts/components/BulletChart/handleSeries.js +0 -143
- package/src/components/charts/components/BulletChart/index.js +0 -93
- package/src/components/charts/components/CandlestickChart/BaseOption.js +0 -44
- package/src/components/charts/components/CandlestickChart/chartToken.js +0 -17
- package/src/components/charts/components/CandlestickChart/hanleOption.js +0 -130
- package/src/components/charts/components/CandlestickChart/hanleSeries.js +0 -123
- package/src/components/charts/components/CandlestickChart/index.js +0 -68
- package/src/components/charts/components/CircleProcessChart/chartToken.js +0 -17
- package/src/components/charts/components/CircleProcessChart/handleOption.js +0 -68
- package/src/components/charts/components/CircleProcessChart/handleSeries.js +0 -127
- package/src/components/charts/components/CircleProcessChart/index.js +0 -63
- package/src/components/charts/components/FlowChart/Layout.js +0 -211
- package/src/components/charts/components/FlowChart/LineBezier.js +0 -120
- package/src/components/charts/components/FlowChart/LineDirect.js +0 -42
- package/src/components/charts/components/FlowChart/LineManager.js +0 -278
- package/src/components/charts/components/FlowChart/LineMode.js +0 -44
- package/src/components/charts/components/FlowChart/LineRound.js +0 -335
- package/src/components/charts/components/FlowChart/NodeManager.js +0 -185
- package/src/components/charts/components/FlowChart/dagre.js +0 -8829
- package/src/components/charts/components/FlowChart/frameworkFn.js +0 -38
- package/src/components/charts/components/FlowChart/index.js +0 -268
- package/src/components/charts/components/FlowChart/index.less +0 -90
- package/src/components/charts/components/FlowChart/insert.js +0 -40
- package/src/components/charts/components/FlowChart/util.js +0 -43
- package/src/components/charts/components/FunnelChart/chartToken.js +0 -17
- package/src/components/charts/components/FunnelChart/handleLegend.js +0 -44
- package/src/components/charts/components/FunnelChart/handleSeries.js +0 -77
- package/src/components/charts/components/FunnelChart/index.js +0 -44
- package/src/components/charts/components/GanttChart/CoordinateSystem.js +0 -358
- package/src/components/charts/components/GanttChart/TimeLine.js +0 -379
- package/src/components/charts/components/GanttChart/constant.js +0 -71
- package/src/components/charts/components/GanttChart/index.js +0 -51
- package/src/components/charts/components/GanttChart/index.less +0 -267
- package/src/components/charts/components/GanttChart/util.js +0 -335
- package/src/components/charts/components/GaugeChart/BaseOption.js +0 -22
- package/src/components/charts/components/GaugeChart/chartToken.js +0 -17
- package/src/components/charts/components/GaugeChart/handleOptipn.js +0 -22
- package/src/components/charts/components/GaugeChart/handleSeries.js +0 -504
- package/src/components/charts/components/GaugeChart/index.js +0 -53
- package/src/components/charts/components/GraphChart/index.js +0 -34
- package/src/components/charts/components/GraphTreeChart/BaseOption.js +0 -42
- package/src/components/charts/components/GraphTreeChart/handleData.js +0 -118
- package/src/components/charts/components/GraphTreeChart/handleOption.js +0 -142
- package/src/components/charts/components/GraphTreeChart/index.js +0 -65
- package/src/components/charts/components/GraphTreeChart/mixTree.js +0 -36
- package/src/components/charts/components/GraphTreeChart/utils.js +0 -75
- package/src/components/charts/components/HeatMapChart/BaseOption.js +0 -66
- package/src/components/charts/components/HeatMapChart/chartToken.js +0 -17
- package/src/components/charts/components/HeatMapChart/handleData.js +0 -138
- package/src/components/charts/components/HeatMapChart/handleOptipn.js +0 -227
- package/src/components/charts/components/HeatMapChart/handleSeries.js +0 -82
- package/src/components/charts/components/HeatMapChart/handleVisualMap.js +0 -91
- package/src/components/charts/components/HeatMapChart/index.js +0 -70
- package/src/components/charts/components/HillChart/baseOption.js +0 -50
- package/src/components/charts/components/HillChart/chartToken.js +0 -17
- package/src/components/charts/components/HillChart/handleOption.js +0 -193
- package/src/components/charts/components/HillChart/handleSeries.js +0 -39
- package/src/components/charts/components/HillChart/index.js +0 -96
- package/src/components/charts/components/HoneycombChart/NodeManager.js +0 -172
- package/src/components/charts/components/HoneycombChart/TipManager.js +0 -75
- package/src/components/charts/components/HoneycombChart/index.js +0 -117
- package/src/components/charts/components/HoneycombChart/index.less +0 -49
- package/src/components/charts/components/JadeJueChart/BaseOption.js +0 -40
- package/src/components/charts/components/JadeJueChart/chartToken.js +0 -17
- package/src/components/charts/components/JadeJueChart/handleOption.js +0 -262
- package/src/components/charts/components/JadeJueChart/handleSeries.js +0 -246
- package/src/components/charts/components/JadeJueChart/index.js +0 -71
- package/src/components/charts/components/JadeJueChart/labelFormatter.js +0 -131
- package/src/components/charts/components/LineChart/AreaChart/bottomArea.js +0 -177
- package/src/components/charts/components/LineChart/AreaChart/chartToken.js +0 -17
- package/src/components/charts/components/LineChart/AreaChart/index.js +0 -18
- package/src/components/charts/components/LineChart/AreaChart/topArea.js +0 -139
- package/src/components/charts/components/LineChart/chartToken.js +0 -17
- package/src/components/charts/components/LineChart/handleOptipn.js +0 -145
- package/src/components/charts/components/LineChart/handlePredict.js +0 -73
- package/src/components/charts/components/LineChart/handleSeries.js +0 -266
- package/src/components/charts/components/LineChart/handleVisualMap.js +0 -138
- package/src/components/charts/components/LineChart/index.js +0 -133
- package/src/components/charts/components/LiquidfillChart/chartToken.js +0 -17
- package/src/components/charts/components/LiquidfillChart/handleSeries.js +0 -170
- package/src/components/charts/components/LiquidfillChart/index.js +0 -43
- package/src/components/charts/components/LiquidfillChart/plugSeries.js +0 -78
- package/src/components/charts/components/LiquidfillChart/plugShape.js +0 -163
- package/src/components/charts/components/LiquidfillChart/plugView.js +0 -537
- package/src/components/charts/components/MilestoneChart/Layout.js +0 -183
- package/src/components/charts/components/MilestoneChart/Node.js +0 -319
- package/src/components/charts/components/MilestoneChart/assets/next.svg +0 -7
- package/src/components/charts/components/MilestoneChart/assets/prev.svg +0 -7
- package/src/components/charts/components/MilestoneChart/assets/prompt.svg +0 -9
- package/src/components/charts/components/MilestoneChart/index.js +0 -108
- package/src/components/charts/components/MilestoneChart/index.less +0 -244
- package/src/components/charts/components/MilestoneChart/insertDom.js +0 -32
- package/src/components/charts/components/MilestoneChart/insertIcon.js +0 -24
- package/src/components/charts/components/MilestoneChart/insertSvg.js +0 -109
- package/src/components/charts/components/OrganizationChart/NodeManager.js +0 -188
- package/src/components/charts/components/OrganizationChart/RotateManager.js +0 -349
- package/src/components/charts/components/OrganizationChart/index.js +0 -124
- package/src/components/charts/components/OrganizationChart/index.less +0 -112
- package/src/components/charts/components/PieChart/chartToken.js +0 -17
- package/src/components/charts/components/PieChart/handleLabel.js +0 -94
- package/src/components/charts/components/PieChart/handleMulti.js +0 -131
- package/src/components/charts/components/PieChart/handleSeries.js +0 -236
- package/src/components/charts/components/PieChart/index.js +0 -58
- package/src/components/charts/components/PolarBarChart/chartToken.js +0 -17
- package/src/components/charts/components/PolarBarChart/handleOption.js +0 -102
- package/src/components/charts/components/PolarBarChart/handleSeries.js +0 -127
- package/src/components/charts/components/PolarBarChart/index.js +0 -62
- package/src/components/charts/components/ProcessChart/BaseOption.js +0 -296
- package/src/components/charts/components/ProcessChart/chartToken.js +0 -17
- package/src/components/charts/components/ProcessChart/handleData.js +0 -156
- package/src/components/charts/components/ProcessChart/handleOption.js +0 -212
- package/src/components/charts/components/ProcessChart/handleSeries.js +0 -369
- package/src/components/charts/components/ProcessChart/index.js +0 -76
- package/src/components/charts/components/RadarChart/BaseOption.js +0 -248
- package/src/components/charts/components/RadarChart/GradientRadar/index.js +0 -421
- package/src/components/charts/components/RadarChart/chartToken.js +0 -17
- package/src/components/charts/components/RadarChart/handleOptipn.js +0 -316
- package/src/components/charts/components/RadarChart/handleSeries.js +0 -120
- package/src/components/charts/components/RadarChart/index.js +0 -77
- package/src/components/charts/components/RegionChart/chartToken.js +0 -17
- package/src/components/charts/components/RegionChart/handleOption.js +0 -29
- package/src/components/charts/components/RegionChart/index.js +0 -49
- package/src/components/charts/components/RiverChart/Belt.js +0 -181
- package/src/components/charts/components/RiverChart/Manager.js +0 -173
- package/src/components/charts/components/RiverChart/Node.js +0 -425
- package/src/components/charts/components/RiverChart/baseOption.js +0 -51
- package/src/components/charts/components/RiverChart/index.js +0 -79
- package/src/components/charts/components/RiverChart/index.less +0 -42
- package/src/components/charts/components/RiverChart/util.js +0 -160
- package/src/components/charts/components/SankeyChart/BaseOption.js +0 -74
- package/src/components/charts/components/SankeyChart/chartToken.js +0 -17
- package/src/components/charts/components/SankeyChart/handleOption.js +0 -258
- package/src/components/charts/components/SankeyChart/index.js +0 -111
- package/src/components/charts/components/SankeyChart/tooltip.js +0 -53
- package/src/components/charts/components/ScatterChart/chartToken.js +0 -17
- package/src/components/charts/components/ScatterChart/handleMarkPoint.js +0 -74
- package/src/components/charts/components/ScatterChart/handleOptipn.js +0 -66
- package/src/components/charts/components/ScatterChart/handleSeries.js +0 -48
- package/src/components/charts/components/ScatterChart/index.js +0 -60
- package/src/components/charts/components/SnowFlakeChart/BranchManager.js +0 -324
- package/src/components/charts/components/SnowFlakeChart/CommonConstant.js +0 -111
- package/src/components/charts/components/SnowFlakeChart/LeafManager.js +0 -76
- package/src/components/charts/components/SnowFlakeChart/NodeManager.js +0 -240
- package/src/components/charts/components/SnowFlakeChart/TagManager.js +0 -80
- package/src/components/charts/components/SnowFlakeChart/assets/down.svg +0 -8
- 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 +0 -7
- package/src/components/charts/components/SnowFlakeChart/assets/image2R.svg +0 -7
- package/src/components/charts/components/SnowFlakeChart/assets/image5L.svg +0 -7
- package/src/components/charts/components/SnowFlakeChart/assets/image5R.svg +0 -7
- 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 +0 -24
- package/src/components/charts/components/SnowFlakeChart/assets/outerBorderOverAll.svg +0 -18
- package/src/components/charts/components/SnowFlakeChart/assets/up.svg +0 -8
- 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 +0 -7
- package/src/components/charts/components/SnowFlakeChart/assets/wirelessR.svg +0 -7
- package/src/components/charts/components/SnowFlakeChart/defaultOption.js +0 -285
- package/src/components/charts/components/SnowFlakeChart/index.js +0 -408
- package/src/components/charts/components/SnowFlakeChart/index.less +0 -503
- package/src/components/charts/components/SnowFlakeChart/line/LineArrow.js +0 -62
- package/src/components/charts/components/SnowFlakeChart/line/LineDashed.js +0 -29
- package/src/components/charts/components/SnowFlakeChart/line/LineDotted.js +0 -29
- package/src/components/charts/components/SnowFlakeChart/line/LineStraight.js +0 -28
- package/src/components/charts/components/SnowFlakeChart/line/index.js +0 -202
- package/src/components/charts/components/SnowFlakeChart/util.js +0 -430
- package/src/components/charts/components/SunburstChart/chartToken.js +0 -17
- package/src/components/charts/components/SunburstChart/handleSeries.js +0 -48
- package/src/components/charts/components/SunburstChart/index.js +0 -41
- package/src/components/charts/components/TerraceChart/defaultGradient.js +0 -116
- package/src/components/charts/components/TerraceChart/defaultPath.js +0 -30
- package/src/components/charts/components/TerraceChart/index.js +0 -276
- package/src/components/charts/components/TerraceChart/index.less +0 -171
- package/src/components/charts/components/TerraceChart/insert.js +0 -35
- package/src/components/charts/components/TerraceChart/loading.js +0 -34
- package/src/components/charts/components/TimelineChart/chartToken.js +0 -17
- package/src/components/charts/components/TimelineChart/index.js +0 -109
- package/src/components/charts/components/TimelineChart/index.less +0 -152
- package/src/components/charts/components/TimelineChart/insertDom.js +0 -45
- package/src/components/charts/components/TimelineChart/timeline.js +0 -461
- package/src/components/charts/components/TreeChart/chartToken.js +0 -17
- package/src/components/charts/components/TreeChart/handleOptipn.js +0 -101
- package/src/components/charts/components/TreeChart/handleSeries.js +0 -148
- package/src/components/charts/components/TreeChart/index.js +0 -50
- package/src/components/charts/components/TreeMapChart/handleOptipn.js +0 -57
- package/src/components/charts/components/TreeMapChart/handleSeries.js +0 -57
- package/src/components/charts/components/TreeMapChart/handleVisualMap.js +0 -31
- package/src/components/charts/components/TreeMapChart/index.js +0 -56
- package/src/components/charts/components/WaveChart/chartToken.js +0 -17
- package/src/components/charts/components/WaveChart/index.js +0 -418
- package/src/components/charts/components/WaveChart/index.less +0 -77
- package/src/components/charts/components/WaveChart/insert.js +0 -38
- package/src/components/charts/components/WaveChart/loading.js +0 -34
- package/src/components/charts/components/WordCloudChart/BaseOption.js +0 -19
- package/src/components/charts/components/WordCloudChart/chartToken.js +0 -17
- package/src/components/charts/components/WordCloudChart/handleOptipn.js +0 -20
- package/src/components/charts/components/WordCloudChart/handleSeries.js +0 -106
- package/src/components/charts/components/WordCloudChart/index.js +0 -67
- package/src/components/charts/core.js +0 -386
- package/src/components/charts/feature/adaptive/index.js +0 -46
- package/src/components/charts/feature/adaptive/series/AssembleBubbleChart.js +0 -22
- package/src/components/charts/feature/adaptive/series/BarChart.js +0 -27
- package/src/components/charts/feature/adaptive/series/BoxplotChart.js +0 -26
- package/src/components/charts/feature/adaptive/series/BubbleChart.js +0 -26
- package/src/components/charts/feature/adaptive/series/BulletChart.js +0 -27
- package/src/components/charts/feature/adaptive/series/CircleProcessChart.js +0 -25
- package/src/components/charts/feature/adaptive/series/FunnelChart.js +0 -22
- package/src/components/charts/feature/adaptive/series/HeatMapChart.js +0 -26
- package/src/components/charts/feature/adaptive/series/JadeJueChart.js +0 -24
- package/src/components/charts/feature/adaptive/series/LineChart.js +0 -26
- package/src/components/charts/feature/adaptive/series/LiquidfillChart.js +0 -26
- package/src/components/charts/feature/adaptive/series/PieChart.js +0 -25
- package/src/components/charts/feature/adaptive/series/PolarBarChart.js +0 -22
- package/src/components/charts/feature/adaptive/series/ScatterChart.js +0 -26
- package/src/components/charts/feature/adaptive/series/SunburstChart.js +0 -25
- package/src/components/charts/feature/adaptive/utils/axis.js +0 -26
- package/src/components/charts/feature/adaptive/utils/label.js +0 -30
- package/src/components/charts/feature/adaptive/utils/legend.js +0 -30
- package/src/components/charts/feature/adaptive/utils/title.js +0 -30
- package/src/components/charts/feature/adaptive/utils/tooltip.js +0 -30
- package/src/components/charts/feature/axistip/index.js +0 -116
- package/src/components/charts/feature/card/chartToken.js +0 -17
- package/src/components/charts/feature/card/index.js +0 -225
- package/src/components/charts/feature/card/index.less +0 -166
- package/src/components/charts/feature/drag/index.js +0 -353
- package/src/components/charts/feature/drag/index.less +0 -53
- package/src/components/charts/feature/equalLabel/index.js +0 -63
- package/src/components/charts/feature/expandLegend/constants.js +0 -22
- package/src/components/charts/feature/expandLegend/index.js +0 -190
- package/src/components/charts/feature/expandLegend/index.less +0 -1044
- package/src/components/charts/feature/expandLegend/mutiSelect/constants.js +0 -40
- package/src/components/charts/feature/expandLegend/mutiSelect/index.js +0 -157
- package/src/components/charts/feature/expandLegend/mutiSelect/item.js +0 -133
- package/src/components/charts/feature/expandLegend/mutiSelect/position.js +0 -44
- package/src/components/charts/feature/expandLegend/mutiSelect/search.js +0 -79
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/constants.js +0 -41
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/group.js +0 -112
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/index.js +0 -97
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/item.js +0 -115
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/more.js +0 -101
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/paging.js +0 -103
- package/src/components/charts/feature/expandLegend/mutiSelectLegend/scroll.js +0 -33
- package/src/components/charts/feature/expandLegend/mutiSelectList/constants.js +0 -34
- package/src/components/charts/feature/expandLegend/mutiSelectList/index.js +0 -181
- package/src/components/charts/feature/expandLegend/mutiSelectList/statisticList.js +0 -146
- package/src/components/charts/feature/expandLegend/singleSelect/constants.js +0 -40
- package/src/components/charts/feature/expandLegend/singleSelect/index.js +0 -170
- package/src/components/charts/feature/expandLegend/singleSelect/item.js +0 -74
- package/src/components/charts/feature/expandLegend/singleSelect/position.js +0 -34
- package/src/components/charts/feature/expandLegend/singleSelect/search.js +0 -76
- package/src/components/charts/feature/expandLegend/singleSelectLegend/constants.js +0 -41
- package/src/components/charts/feature/expandLegend/singleSelectLegend/group.js +0 -116
- package/src/components/charts/feature/expandLegend/singleSelectLegend/index.js +0 -97
- package/src/components/charts/feature/expandLegend/singleSelectLegend/item.js +0 -113
- package/src/components/charts/feature/expandLegend/singleSelectLegend/more.js +0 -40
- package/src/components/charts/feature/expandLegend/singleSelectLegend/scroll.js +0 -33
- package/src/components/charts/feature/expandLegend/tips/constants.js +0 -21
- package/src/components/charts/feature/expandLegend/tips/index.js +0 -168
- package/src/components/charts/feature/fluctuation/index.js +0 -65
- package/src/components/charts/feature/linter/dialog/index.js +0 -111
- package/src/components/charts/feature/linter/index.js +0 -131
- package/src/components/charts/feature/linter/lints/charts/Bar.js +0 -46
- package/src/components/charts/feature/linter/lints/charts/Line.js +0 -31
- package/src/components/charts/feature/linter/lints/charts/Pie.js +0 -39
- package/src/components/charts/feature/linter/lints/charts/Radar.js +0 -38
- package/src/components/charts/feature/linter/lints/charts/index.js +0 -37
- package/src/components/charts/feature/linter/lints/modules/angleAxis.js +0 -47
- package/src/components/charts/feature/linter/lints/modules/color.js +0 -19
- package/src/components/charts/feature/linter/lints/modules/dataZoom.js +0 -52
- package/src/components/charts/feature/linter/lints/modules/index.js +0 -64
- package/src/components/charts/feature/linter/lints/modules/legend.js +0 -64
- package/src/components/charts/feature/linter/lints/modules/radar.js +0 -59
- package/src/components/charts/feature/linter/lints/modules/radiusAxis.js +0 -49
- package/src/components/charts/feature/linter/lints/modules/title.js +0 -44
- package/src/components/charts/feature/linter/lints/modules/tooltip.js +0 -29
- package/src/components/charts/feature/linter/lints/modules/util.js +0 -97
- package/src/components/charts/feature/linter/lints/modules/xAxis.js +0 -52
- package/src/components/charts/feature/linter/lints/modules/yAxis.js +0 -52
- package/src/components/charts/feature/mediaScreen/index.js +0 -95
- package/src/components/charts/feature/mini/miniBarChart.js +0 -58
- package/src/components/charts/feature/mini/miniCircleProcessChart.js +0 -32
- package/src/components/charts/feature/mini/miniLineChart.js +0 -58
- package/src/components/charts/feature/mini/miniProcessChart.js +0 -64
- package/src/components/charts/feature/nodeRender/angular-node.js +0 -100
- package/src/components/charts/feature/nodeRender/index.js +0 -31
- package/src/components/charts/feature/nodeRender/react-node.js +0 -83
- package/src/components/charts/feature/nodeRender/vue-node.js +0 -109
- package/src/components/charts/feature/performance/lttb.js +0 -85
- package/src/components/charts/feature/readScreen/index.js +0 -19
- package/src/components/charts/feature/token/color/bpit/dark.js +0 -67
- package/src/components/charts/feature/token/color/bpit/index.js +0 -20
- package/src/components/charts/feature/token/color/bpit/light.js +0 -66
- package/src/components/charts/feature/token/color/cloud/board-dark.js +0 -260
- package/src/components/charts/feature/token/color/cloud/board.js +0 -276
- package/src/components/charts/feature/token/color/cloud/dark.js +0 -78
- package/src/components/charts/feature/token/color/cloud/index.js +0 -20
- package/src/components/charts/feature/token/color/cloud/light.js +0 -77
- package/src/components/charts/feature/token/color/hdesign/board.js +0 -204
- package/src/components/charts/feature/token/color/hdesign/dark.js +0 -78
- package/src/components/charts/feature/token/color/hdesign/index.js +0 -20
- package/src/components/charts/feature/token/color/hdesign/light.js +0 -79
- package/src/components/charts/feature/token/color/ict/board.js +0 -190
- package/src/components/charts/feature/token/color/ict/dark.js +0 -61
- package/src/components/charts/feature/token/color/ict/index.js +0 -20
- package/src/components/charts/feature/token/color/ict/light.js +0 -62
- package/src/components/charts/feature/token/color/index.js +0 -29
- package/src/components/charts/feature/token/color/util.js +0 -42
- package/src/components/charts/feature/token/factory/chartsToken/AreaChart.js +0 -20
- package/src/components/charts/feature/token/factory/chartsToken/AssembleBubbleChart.js +0 -26
- package/src/components/charts/feature/token/factory/chartsToken/BarChart.js +0 -27
- package/src/components/charts/feature/token/factory/chartsToken/BoxplotChart.js +0 -27
- package/src/components/charts/feature/token/factory/chartsToken/BubbleChart.js +0 -22
- package/src/components/charts/feature/token/factory/chartsToken/BulletChart.js +0 -23
- package/src/components/charts/feature/token/factory/chartsToken/CandlestickChart.js +0 -20
- package/src/components/charts/feature/token/factory/chartsToken/ChartCard.js +0 -33
- package/src/components/charts/feature/token/factory/chartsToken/CircleProcessChart.js +0 -23
- package/src/components/charts/feature/token/factory/chartsToken/FunnelChart.js +0 -26
- package/src/components/charts/feature/token/factory/chartsToken/GaugeChart.js +0 -27
- package/src/components/charts/feature/token/factory/chartsToken/HeatMapChart.js +0 -21
- package/src/components/charts/feature/token/factory/chartsToken/HillChart.js +0 -21
- package/src/components/charts/feature/token/factory/chartsToken/JadeJueChart.js +0 -28
- package/src/components/charts/feature/token/factory/chartsToken/LineChart.js +0 -36
- package/src/components/charts/feature/token/factory/chartsToken/LiquidfillChart.js +0 -22
- package/src/components/charts/feature/token/factory/chartsToken/PieChart.js +0 -49
- package/src/components/charts/feature/token/factory/chartsToken/PolarBarChart.js +0 -22
- package/src/components/charts/feature/token/factory/chartsToken/ProcessChart.js +0 -40
- package/src/components/charts/feature/token/factory/chartsToken/RadarChart.js +0 -36
- package/src/components/charts/feature/token/factory/chartsToken/RegionChart.js +0 -20
- package/src/components/charts/feature/token/factory/chartsToken/SankeyChart.js +0 -22
- package/src/components/charts/feature/token/factory/chartsToken/ScatterChart.js +0 -21
- package/src/components/charts/feature/token/factory/chartsToken/SunburstChart.js +0 -22
- package/src/components/charts/feature/token/factory/chartsToken/TimelineChart.js +0 -21
- package/src/components/charts/feature/token/factory/chartsToken/TreeChart.js +0 -21
- package/src/components/charts/feature/token/factory/chartsToken/WaveChart.js +0 -23
- package/src/components/charts/feature/token/factory/chartsToken/WordCloudChart.js +0 -21
- package/src/components/charts/feature/token/factory/chartsToken/index.js +0 -79
- package/src/components/charts/feature/token/factory/getAliasToken.js +0 -41
- package/src/components/charts/feature/token/factory/getExportColors.js +0 -46
- package/src/components/charts/feature/token/factory/getGlobalToken.js +0 -25
- package/src/components/charts/feature/token/factory/getModelToken.js +0 -389
- package/src/components/charts/feature/token/factory/getSceneToken.js +0 -41
- package/src/components/charts/feature/token/factory/globalToken/border.js +0 -21
- package/src/components/charts/feature/token/factory/globalToken/borderRadius.js +0 -22
- package/src/components/charts/feature/token/factory/globalToken/font.js +0 -26
- package/src/components/charts/feature/token/factory/globalToken/index.js +0 -28
- package/src/components/charts/feature/token/factory/globalToken/lineType.js +0 -19
- package/src/components/charts/feature/token/factory/globalToken/size.js +0 -22
- package/src/components/charts/feature/token/factory/globalToken/space.js +0 -25
- package/src/components/charts/feature/token/factory/index.js +0 -39
- package/src/components/charts/feature/token/factory/mergeToken.js +0 -72
- package/src/components/charts/feature/token/index.js +0 -176
- package/src/components/charts/feature/token/readme.md +0 -11
- package/src/components/charts/feature/token/theme/bpit/index.js +0 -19
- package/src/components/charts/feature/token/theme/cloud/getAliasToken.js +0 -247
- package/src/components/charts/feature/token/theme/cloud/getSceneToken.js +0 -74
- package/src/components/charts/feature/token/theme/cloud/index.js +0 -19
- package/src/components/charts/feature/token/theme/hdesign/getAliasToken.js +0 -249
- package/src/components/charts/feature/token/theme/hdesign/getSceneToken.js +0 -75
- package/src/components/charts/feature/token/theme/hdesign/index.js +0 -19
- package/src/components/charts/feature/token/theme/ict/getAliasToken.js +0 -249
- package/src/components/charts/feature/token/theme/ict/getSceneToken.js +0 -72
- package/src/components/charts/feature/token/theme/ict/index.js +0 -19
- package/src/components/charts/feature/wcag/index.js +0 -335
- package/src/components/charts/feature/xss/index.js +0 -52
- package/src/components/charts/framework/charts/CircleArcChart/index.js +0 -142
- package/src/components/charts/framework/charts/CircleChart/index.js +0 -140
- package/src/components/charts/framework/charts/CustomizeChart/index.js +0 -166
- package/src/components/charts/framework/charts/ForceDirectedChart/index.js +0 -141
- package/src/components/charts/framework/charts/ForceDirectedChart/initDom.js +0 -20
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/Node.js +0 -148
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/center.js +0 -71
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/collide.js +0 -151
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/constant.js +0 -17
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/dispatch.js +0 -95
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/index.js +0 -19
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/jiggle.js +0 -16
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/lcg.js +0 -23
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/link.js +0 -128
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/manyBody.js +0 -127
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/quadtree.js +0 -393
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/radial.js +0 -68
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/simulation.js +0 -171
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/timer.js +0 -121
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/x.js +0 -52
- package/src/components/charts/framework/charts/ForceDirectedChart/libs/y.js +0 -52
- package/src/components/charts/framework/charts/GridChart/index.js +0 -174
- package/src/components/charts/framework/charts/LinearArcChart/index.js +0 -143
- package/src/components/charts/framework/charts/MindmapChart/index.js +0 -166
- package/src/components/charts/framework/charts/MindmapChart/index.less +0 -85
- package/src/components/charts/framework/core/Base.js +0 -53
- package/src/components/charts/framework/core/Relation.js +0 -78
- package/src/components/charts/framework/module/animation/Animate.js +0 -434
- package/src/components/charts/framework/module/animation/Animation.js +0 -76
- package/src/components/charts/framework/module/animation/AnimationGroup.js +0 -137
- package/src/components/charts/framework/module/animation/Easing.js +0 -225
- package/src/components/charts/framework/module/animation/Interpolation.js +0 -88
- package/src/components/charts/framework/module/animation/index.js +0 -20
- package/src/components/charts/framework/module/arrow/Manager.js +0 -133
- package/src/components/charts/framework/module/arrow/index.js +0 -96
- package/src/components/charts/framework/module/canvas/grid.js +0 -288
- package/src/components/charts/framework/module/canvas/index.js +0 -434
- package/src/components/charts/framework/module/canvas/index.less +0 -102
- package/src/components/charts/framework/module/canvas/initDom.js +0 -66
- package/src/components/charts/framework/module/canvas/tool.js +0 -62
- package/src/components/charts/framework/module/connector/Manager.js +0 -103
- package/src/components/charts/framework/module/connector/index.js +0 -99
- package/src/components/charts/framework/module/connector/index.less +0 -36
- package/src/components/charts/framework/module/connector/type/dot.js +0 -21
- package/src/components/charts/framework/module/connector/type/expand.js +0 -211
- package/src/components/charts/framework/module/contextmenu/index.js +0 -149
- package/src/components/charts/framework/module/contextmenu/index.less +0 -40
- package/src/components/charts/framework/module/data/Manager.js +0 -56
- package/src/components/charts/framework/module/data/index.js +0 -0
- package/src/components/charts/framework/module/legend/Item.js +0 -218
- package/src/components/charts/framework/module/legend/constants.js +0 -14
- package/src/components/charts/framework/module/legend/getSymbol.js +0 -86
- package/src/components/charts/framework/module/legend/index.js +0 -119
- package/src/components/charts/framework/module/legend/util.js +0 -81
- package/src/components/charts/framework/module/line/Animation.js +0 -125
- package/src/components/charts/framework/module/line/Manager.js +0 -299
- package/src/components/charts/framework/module/line/Tag.js +0 -61
- package/src/components/charts/framework/module/line/bufferRender.js +0 -74
- package/src/components/charts/framework/module/line/cross/pathPoints.js +0 -233
- package/src/components/charts/framework/module/line/cross/vectorUtil.js +0 -67
- package/src/components/charts/framework/module/line/customize.js +0 -29
- package/src/components/charts/framework/module/line/index.js +0 -260
- package/src/components/charts/framework/module/line/index.less +0 -24
- package/src/components/charts/framework/module/line/type/Bezier.js +0 -90
- package/src/components/charts/framework/module/line/type/Circle.js +0 -38
- package/src/components/charts/framework/module/line/type/Direct.js +0 -23
- package/src/components/charts/framework/module/line/type/Ellipse.js +0 -88
- package/src/components/charts/framework/module/line/type/Round.js +0 -245
- package/src/components/charts/framework/module/lineLayout/CircleShape/calculate.js +0 -71
- package/src/components/charts/framework/module/lineLayout/CircleShape/index.js +0 -32
- package/src/components/charts/framework/module/lineLayout/CircleShape/init.js +0 -34
- package/src/components/charts/framework/module/lineLayout/RectShape/calculate.js +0 -174
- package/src/components/charts/framework/module/lineLayout/RectShape/index.js +0 -43
- package/src/components/charts/framework/module/lineLayout/RectShape/init.js +0 -79
- package/src/components/charts/framework/module/lineLayout/RectShape/sharing.js +0 -57
- package/src/components/charts/framework/module/lineLayout/index.js +0 -30
- package/src/components/charts/framework/module/node/Manager.js +0 -190
- package/src/components/charts/framework/module/node/bufferRender.js +0 -73
- package/src/components/charts/framework/module/node/convertData/index.js +0 -24
- package/src/components/charts/framework/module/node/convertData/returnSelf.js +0 -16
- package/src/components/charts/framework/module/node/convertData/transform.js +0 -24
- package/src/components/charts/framework/module/node/convertData/treeToLink.js +0 -36
- package/src/components/charts/framework/module/node/index.js +0 -187
- package/src/components/charts/framework/module/nodeLayout/circle/excute.js +0 -270
- package/src/components/charts/framework/module/nodeLayout/circle/index.js +0 -24
- package/src/components/charts/framework/module/nodeLayout/customize/index.js +0 -16
- package/src/components/charts/framework/module/nodeLayout/defaults/excute.js +0 -27
- package/src/components/charts/framework/module/nodeLayout/defaults/index.js +0 -20
- package/src/components/charts/framework/module/nodeLayout/grid/excute.js +0 -392
- package/src/components/charts/framework/module/nodeLayout/grid/index.js +0 -20
- package/src/components/charts/framework/module/nodeLayout/index.js +0 -27
- package/src/components/charts/framework/module/nodeLayout/linearArc/index.js +0 -34
- package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/NodeBox.js +0 -165
- package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/algorithm.js +0 -261
- package/src/components/charts/framework/module/nodeLayout/nonLayeredTidyTree/index.js +0 -278
- package/src/components/charts/framework/module/readme.js +0 -127
- package/src/components/charts/index.js +0 -65
- package/src/components/charts/index.less +0 -29
- package/src/components/charts/option/PolarSys/index.js +0 -43
- package/src/components/charts/option/RectSys/index.js +0 -58
- package/src/components/charts/option/base/index.js +0 -25
- package/src/components/charts/option/config/angleAxis/base.js +0 -56
- package/src/components/charts/option/config/angleAxis/index.js +0 -43
- package/src/components/charts/option/config/animation/index.js +0 -64
- package/src/components/charts/option/config/datazoom/base.js +0 -123
- package/src/components/charts/option/config/datazoom/index.js +0 -61
- package/src/components/charts/option/config/grid/base.js +0 -22
- package/src/components/charts/option/config/grid/index.js +0 -32
- package/src/components/charts/option/config/legend/base.js +0 -80
- package/src/components/charts/option/config/legend/icon.js +0 -21
- package/src/components/charts/option/config/legend/index.js +0 -63
- package/src/components/charts/option/config/legend/itemStyle.js +0 -17
- package/src/components/charts/option/config/legend/ldata.js +0 -29
- package/src/components/charts/option/config/legend/pageIcon.js +0 -54
- package/src/components/charts/option/config/legend/position.js +0 -19
- package/src/components/charts/option/config/legend/size.js +0 -17
- package/src/components/charts/option/config/legend/textStyle.js +0 -16
- package/src/components/charts/option/config/mark/index.js +0 -74
- package/src/components/charts/option/config/polar/base.js +0 -30
- package/src/components/charts/option/config/polar/index.js +0 -36
- package/src/components/charts/option/config/polarTitle/base.js +0 -40
- package/src/components/charts/option/config/polarTitle/index.js +0 -52
- package/src/components/charts/option/config/polarTitle/subtextStyle.js +0 -21
- package/src/components/charts/option/config/polarTitle/textStyle.js +0 -22
- package/src/components/charts/option/config/radiusAxis/base.js +0 -55
- package/src/components/charts/option/config/radiusAxis/index.js +0 -41
- package/src/components/charts/option/config/rectTitle/base.js +0 -31
- package/src/components/charts/option/config/rectTitle/index.js +0 -53
- package/src/components/charts/option/config/toolbox/base.js +0 -42
- package/src/components/charts/option/config/toolbox/index.js +0 -12
- package/src/components/charts/option/config/tooltip/axisPointer.js +0 -31
- package/src/components/charts/option/config/tooltip/base.js +0 -62
- package/src/components/charts/option/config/tooltip/formatter.js +0 -64
- package/src/components/charts/option/config/tooltip/index.js +0 -41
- package/src/components/charts/option/config/visualMap/index.js +0 -91
- package/src/components/charts/option/config/xAxis/axisLabel.js +0 -35
- package/src/components/charts/option/config/xAxis/axisLine.js +0 -29
- package/src/components/charts/option/config/xAxis/axisMargin.js +0 -31
- package/src/components/charts/option/config/xAxis/base.js +0 -66
- package/src/components/charts/option/config/xAxis/boundaryGap.js +0 -17
- package/src/components/charts/option/config/xAxis/index.js +0 -52
- package/src/components/charts/option/config/xAxis/name.js +0 -18
- package/src/components/charts/option/config/xAxis/xdata.js +0 -23
- package/src/components/charts/option/config/xAxis/xkey.js +0 -21
- package/src/components/charts/option/config/yAxis/axisOptimization.js +0 -32
- package/src/components/charts/option/config/yAxis/base.js +0 -59
- package/src/components/charts/option/config/yAxis/index.js +0 -68
- package/src/components/charts/option/config/yAxis/ydata.js +0 -28
- package/src/components/charts/option/init/index.js +0 -204
- package/src/components/charts/register.js +0 -178
- package/src/components/charts/theme.js +0 -62
- package/src/components/charts/util/Sequence.js +0 -21
- package/src/components/charts/util/centerDom.js +0 -92
- package/src/components/charts/util/cloneDeep.js +0 -29
- package/src/components/charts/util/color.js +0 -193
- package/src/components/charts/util/constants.js +0 -125
- package/src/components/charts/util/convert.js +0 -49
- package/src/components/charts/util/debounce.js +0 -24
- package/src/components/charts/util/defendXSS.js +0 -81
- package/src/components/charts/util/dom.js +0 -90
- package/src/components/charts/util/equal.js +0 -62
- package/src/components/charts/util/event.js +0 -25
- package/src/components/charts/util/hashMap.js +0 -111
- package/src/components/charts/util/init/insert.js +0 -165
- package/src/components/charts/util/math.js +0 -183
- package/src/components/charts/util/merge.js +0 -78
- package/src/components/charts/util/paint.js +0 -98
- package/src/components/charts/util/sort/max.js +0 -64
- package/src/components/charts/util/sort/min.js +0 -64
- package/src/components/charts/util/throttle.js +0 -34
- package/src/components/charts/util/tips.js +0 -25
- package/src/components/charts/util/type.js +0 -46
@@ -1,97 +0,0 @@
|
|
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;
|
@@ -1,115 +0,0 @@
|
|
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;
|
@@ -1,101 +0,0 @@
|
|
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;
|
@@ -1,103 +0,0 @@
|
|
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;
|
@@ -1,33 +0,0 @@
|
|
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;
|
@@ -1,34 +0,0 @@
|
|
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
|
-
};
|
@@ -1,181 +0,0 @@
|
|
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;
|