@orbcharts/plugins-basic 3.0.0-beta.9 → 3.0.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/dist/lib/plugins-basic-types.d.ts +1 -0
- package/dist/orbcharts-plugins-basic.es.js +12358 -10836
- package/dist/orbcharts-plugins-basic.umd.js +273 -110
- package/dist/{orbcharts-plugins-basic/src → src}/base/BaseBars.d.ts +3 -3
- package/dist/{orbcharts-plugins-basic/src → src}/base/BaseBarsTriangle.d.ts +3 -3
- package/dist/{orbcharts-plugins-basic/src → src}/base/BaseDots.d.ts +3 -3
- package/dist/{orbcharts-plugins-basic/src → src}/base/BaseLineAreas.d.ts +3 -3
- package/dist/{orbcharts-plugins-basic/src → src}/base/BaseLines.d.ts +3 -3
- package/dist/src/base/BaseRacingBars.d.ts +23 -0
- package/dist/src/base/BaseRacingLabels.d.ts +20 -0
- package/dist/src/base/BaseRacingValueLabels.d.ts +20 -0
- package/dist/{orbcharts-plugins-basic/src/base/BaseStackedBar.d.ts → src/base/BaseStackedBars.d.ts} +7 -7
- package/dist/{orbcharts-plugins-basic/src → src}/base/BaseValueAxis.d.ts +4 -7
- package/dist/src/base/BaseXAxis.d.ts +20 -0
- package/dist/src/base/BaseYAxis.d.ts +18 -0
- package/dist/{orbcharts-plugins-basic/src → src}/grid/defaults.d.ts +3 -3
- package/dist/{orbcharts-plugins-basic/src → src}/grid/gridObservables.d.ts +8 -1
- package/dist/{orbcharts-plugins-basic/src → src}/grid/index.d.ts +2 -2
- package/dist/src/grid/plugins/Bars.d.ts +1 -0
- package/dist/src/grid/plugins/BarsPN.d.ts +1 -0
- package/dist/src/grid/plugins/BarsTriangle.d.ts +1 -0
- package/dist/src/grid/plugins/Dots.d.ts +1 -0
- package/dist/src/grid/plugins/GridLegend.d.ts +1 -0
- package/dist/src/grid/plugins/GridTooltip.d.ts +1 -0
- package/dist/src/grid/plugins/GroupAux.d.ts +3 -0
- package/dist/src/grid/plugins/GroupAxis.d.ts +1 -0
- package/dist/src/grid/plugins/GroupZoom.d.ts +1 -0
- package/dist/src/grid/plugins/LineAreas.d.ts +1 -0
- package/dist/src/grid/plugins/Lines.d.ts +1 -0
- package/dist/src/grid/plugins/StackedBars.d.ts +1 -0
- package/dist/src/grid/plugins/StackedValueAxis.d.ts +1 -0
- package/dist/src/grid/plugins/ValueAxis.d.ts +1 -0
- package/dist/src/index.d.ts +7 -1
- package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/defaults.d.ts +2 -2
- package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/index.d.ts +1 -1
- package/dist/src/multiGrid/plugins/MultiBars.d.ts +1 -0
- package/dist/src/multiGrid/plugins/MultiBarsTriangle.d.ts +1 -0
- package/dist/src/multiGrid/plugins/MultiDots.d.ts +1 -0
- package/dist/src/multiGrid/plugins/MultiGridLegend.d.ts +1 -0
- package/dist/src/multiGrid/plugins/MultiGridTooltip.d.ts +1 -0
- package/dist/src/multiGrid/plugins/MultiGroupAxis.d.ts +1 -0
- package/dist/src/multiGrid/plugins/MultiLineAreas.d.ts +1 -0
- package/dist/src/multiGrid/plugins/MultiLines.d.ts +1 -0
- package/dist/src/multiGrid/plugins/MultiStackedBars.d.ts +1 -0
- package/dist/src/multiGrid/plugins/MultiStackedValueAxis.d.ts +1 -0
- package/dist/src/multiGrid/plugins/MultiValueAxis.d.ts +1 -0
- package/dist/src/multiGrid/plugins/OverlappingStackedValueAxes.d.ts +1 -0
- package/dist/src/multiGrid/plugins/OverlappingValueAxes.d.ts +1 -0
- package/dist/src/multiValue/defaults.d.ts +13 -0
- package/dist/{orbcharts-plugins-basic/src → src}/multiValue/index.d.ts +5 -1
- package/dist/src/multiValue/multiValueObservables.d.ts +56 -0
- package/dist/src/multiValue/plugins/MultiValueLegend.d.ts +1 -0
- package/dist/src/multiValue/plugins/MultiValueTooltip.d.ts +1 -0
- package/dist/src/multiValue/plugins/RacingBars.d.ts +1 -0
- package/dist/src/multiValue/plugins/RacingCounterTexts.d.ts +3 -0
- package/dist/src/multiValue/plugins/RacingValueAxis.d.ts +1 -0
- package/dist/src/multiValue/plugins/Scatter.d.ts +3 -0
- package/dist/src/multiValue/plugins/ScatterBubbles.d.ts +3 -0
- package/dist/src/multiValue/plugins/XAxis.d.ts +1 -0
- package/dist/src/multiValue/plugins/XYAux.d.ts +3 -0
- package/dist/src/multiValue/plugins/XYAxes.d.ts +1 -0
- package/dist/src/multiValue/plugins/XYAxes_legacy.d.ts +3 -0
- package/dist/src/multiValue/plugins/XZoom.d.ts +1 -0
- package/dist/src/relationship/plugins/ForceDirected.d.ts +3 -0
- package/dist/src/relationship/plugins/ForceDirectedBubbles.d.ts +3 -0
- package/dist/src/relationship/plugins/RelationshipLegend.d.ts +1 -0
- package/dist/src/relationship/plugins/RelationshipTooltip.d.ts +1 -0
- package/dist/src/series/plugins/Bubbles.d.ts +3 -0
- package/dist/src/series/plugins/Pie.d.ts +3 -0
- package/dist/src/series/plugins/PieEventTexts.d.ts +3 -0
- package/dist/src/series/plugins/PieLabels.d.ts +3 -0
- package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/Rose.d.ts +1 -1
- package/dist/src/series/plugins/RoseLabels.d.ts +3 -0
- package/dist/src/series/plugins/SeriesLegend.d.ts +1 -0
- package/dist/src/series/plugins/SeriesTooltip.d.ts +1 -0
- package/dist/src/tree/plugins/TreeLegend.d.ts +1 -0
- package/dist/src/tree/plugins/TreeMap.d.ts +3 -0
- package/dist/src/tree/plugins/TreeTooltip.d.ts +1 -0
- package/dist/{orbcharts-plugins-basic/src → src}/utils/commonUtils.d.ts +1 -0
- package/dist/{orbcharts-plugins-basic/src → src}/utils/d3Graphics.d.ts +2 -1
- package/dist/{orbcharts-plugins-basic/src → src}/utils/d3Utils.d.ts +1 -0
- package/lib/core.ts +1 -1
- package/lib/plugins-basic-types.ts +2 -2
- package/package.json +4 -4
- package/src/base/BaseBars.ts +15 -15
- package/src/base/BaseBarsTriangle.ts +15 -15
- package/src/base/BaseDots.ts +14 -14
- package/src/base/BaseGroupAxis.ts +18 -6
- package/src/base/BaseLineAreas.ts +12 -12
- package/src/base/BaseLines.ts +11 -11
- package/src/base/BaseRacingBars.ts +552 -0
- package/src/base/BaseRacingLabels.ts +396 -0
- package/src/base/BaseRacingValueLabels.ts +403 -0
- package/src/base/{BaseStackedBar.ts → BaseStackedBars.ts} +26 -26
- package/src/base/BaseTooltip.ts +2 -1
- package/src/base/BaseValueAxis.ts +70 -53
- package/src/base/BaseXAxis.ts +427 -0
- package/src/base/BaseYAxis.ts +389 -0
- package/src/grid/defaults.ts +44 -77
- package/src/grid/gridObservables.ts +58 -0
- package/src/grid/index.ts +2 -2
- package/src/grid/plugins/Bars.ts +2 -2
- package/src/grid/plugins/BarsPN.ts +2 -2
- package/src/grid/plugins/BarsTriangle.ts +2 -2
- package/src/grid/plugins/Dots.ts +2 -2
- package/src/grid/plugins/GridLegend.ts +7 -7
- package/src/grid/plugins/GroupAux.ts +41 -24
- package/src/grid/plugins/GroupAxis.ts +0 -24
- package/src/grid/plugins/{GridZoom.ts → GroupZoom.ts} +5 -5
- package/src/grid/plugins/LineAreas.ts +2 -2
- package/src/grid/plugins/Lines.ts +2 -2
- package/src/grid/plugins/{StackedBar.ts → StackedBars.ts} +9 -9
- package/src/multiGrid/defaults.ts +44 -24
- package/src/multiGrid/index.ts +1 -1
- package/src/multiGrid/multiGridObservables.ts +1 -0
- package/src/multiGrid/plugins/MultiBars.ts +3 -3
- package/src/multiGrid/plugins/MultiBarsTriangle.ts +3 -3
- package/src/multiGrid/plugins/MultiDots.ts +3 -3
- package/src/multiGrid/plugins/MultiGridLegend.ts +20 -10
- package/src/multiGrid/plugins/MultiLineAreas.ts +3 -3
- package/src/multiGrid/plugins/MultiLines.ts +3 -3
- package/src/multiGrid/plugins/{MultiStackedBar.ts → MultiStackedBars.ts} +10 -10
- package/src/multiGrid/plugins/OverlappingStackedValueAxes.ts +1 -0
- package/src/multiValue/defaults.ts +277 -12
- package/src/multiValue/index.ts +5 -1
- package/src/multiValue/multiValueObservables.ts +414 -44
- package/src/multiValue/plugins/OrdinalBubbles.ts +0 -0
- package/src/multiValue/plugins/OrdinalXAxis.ts +0 -0
- package/src/multiValue/plugins/RacingBars.ts +373 -0
- package/src/multiValue/plugins/RacingCounterAxis.ts +0 -0
- package/src/multiValue/plugins/RacingCounterTexts.ts +300 -0
- package/src/multiValue/plugins/RacingValueAxis.ts +115 -0
- package/src/multiValue/plugins/RankingAxis_legacy.ts +109 -0
- package/src/multiValue/plugins/Scatter.ts +13 -13
- package/src/multiValue/plugins/ScatterBubbles.ts +13 -13
- package/src/multiValue/plugins/XAxis.ts +108 -0
- package/src/multiValue/plugins/XYAux.ts +15 -14
- package/src/multiValue/plugins/XYAxes.ts +38 -528
- package/src/multiValue/plugins/XYAxes_legacy.ts +684 -0
- package/src/multiValue/plugins/{XYZoom.ts → XZoom.ts} +17 -17
- package/src/relationship/defaults.ts +42 -16
- package/src/relationship/plugins/ForceDirected.ts +26 -19
- package/src/relationship/plugins/ForceDirectedBubbles.ts +46 -25
- package/src/series/defaults.ts +51 -36
- package/src/series/plugins/Bubbles.ts +67 -37
- package/src/series/plugins/Pie.ts +5 -5
- package/src/series/plugins/PieEventTexts.ts +3 -3
- package/src/series/plugins/PieLabels.ts +5 -5
- package/src/series/plugins/Rose.ts +11 -11
- package/src/series/plugins/RoseLabels.ts +9 -9
- package/src/tree/defaults.ts +46 -22
- package/src/tree/plugins/TreeMap.ts +11 -3
- package/src/utils/commonUtils.ts +10 -1
- package/src/utils/d3Graphics.ts +4 -2
- package/src/utils/d3Utils.ts +18 -0
- package/src/utils/orbchartsUtils.ts +30 -16
- package/dist/orbcharts-plugins-basic/lib/plugins-basic-types.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/Bars.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/BarsPN.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/BarsTriangle.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/Dots.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/GridLegend.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/GridTooltip.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/GridZoom.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/GroupAux.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/grid/plugins/GroupAxis.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/LineAreas.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/Lines.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/StackedBar.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/StackedValueAxis.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/grid/plugins/ValueAxis.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/index.d.ts +0 -7
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiBars.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiBarsTriangle.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiDots.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiGridLegend.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiGridTooltip.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiGroupAxis.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiLineAreas.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiLines.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiStackedBar.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiStackedValueAxis.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiValueAxis.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/OverlappingStackedValueAxes.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/OverlappingValueAxes.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiValue/defaults.d.ts +0 -9
- package/dist/orbcharts-plugins-basic/src/multiValue/multiValueObservables.d.ts +0 -33
- package/dist/orbcharts-plugins-basic/src/multiValue/plugins/MultiValueLegend.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiValue/plugins/MultiValueTooltip.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/multiValue/plugins/Scatter.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/multiValue/plugins/ScatterBubbles.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/multiValue/plugins/XYAux.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/multiValue/plugins/XYAxes.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/multiValue/plugins/XYZoom.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/relationship/plugins/ForceDirected.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/relationship/plugins/ForceDirectedBubbles.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/relationship/plugins/RelationshipLegend.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/relationship/plugins/RelationshipTooltip.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/series/plugins/Bubbles.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/series/plugins/Pie.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/series/plugins/PieEventTexts.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/series/plugins/PieLabels.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/series/plugins/RoseLabels.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/series/plugins/SeriesLegend.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/series/plugins/SeriesTooltip.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/tree/plugins/TreeLegend.d.ts +0 -1
- package/dist/orbcharts-plugins-basic/src/tree/plugins/TreeMap.d.ts +0 -3
- package/dist/orbcharts-plugins-basic/src/tree/plugins/TreeTooltip.d.ts +0 -1
- /package/dist/{orbcharts-plugins-basic/lib → lib}/core-types.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/lib → lib}/core.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/base/BaseGroupAxis.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/base/BaseLegend.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/base/BaseTooltip.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/base/types.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/const.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/multiGridObservables.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src/multiValue/plugins/Ranking.d.ts → src/multiValue/plugins/OrdinalBubbles.d.ts} +0 -0
- /package/dist/{orbcharts-plugins-basic/src/multiValue/plugins/RankingAxis.d.ts → src/multiValue/plugins/OrdinalXAxis.d.ts} +0 -0
- /package/dist/{orbcharts-plugins-basic/src/noneData/plugins/Container.d.ts → src/multiValue/plugins/RacingCounterAxis.d.ts} +0 -0
- /package/dist/{orbcharts-plugins-basic/src/noneData/plugins/Tooltip.d.ts → src/multiValue/plugins/RankingAxis_legacy.d.ts} +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/noneData/defaults.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/noneData/index.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src/series/plugins/Waffle.d.ts → src/noneData/plugins/Container.d.ts} +0 -0
- /package/{src/multiValue/plugins/Ranking.ts → dist/src/noneData/plugins/Tooltip.d.ts} +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/relationship/defaults.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/relationship/index.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/relationship/relationshipObservables.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/series/defaults.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/series/index.d.ts +0 -0
- /package/{src/multiValue/plugins/RankingAxis.ts → dist/src/series/plugins/Waffle.d.ts} +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/series/seriesObservables.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/series/seriesUtils.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/tree/defaults.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/tree/index.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/utils/observables.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/src → src}/utils/orbchartsUtils.d.ts +0 -0
- /package/dist/{orbcharts-plugins-basic/vite.config.d.ts → vite.config.d.ts} +0 -0
package/src/grid/plugins/Bars.ts
CHANGED
@@ -44,9 +44,9 @@ export const Bars = defineGridPlugin(pluginConfig)(({ selection, name, subject,
|
|
44
44
|
const unsubscribeBaseBars = createBaseBars(pluginName, {
|
45
45
|
selection,
|
46
46
|
computedData$: observer.computedData$,
|
47
|
-
|
47
|
+
computedAxesData$: observer.computedAxesData$,
|
48
48
|
visibleComputedData$: observer.visibleComputedData$,
|
49
|
-
|
49
|
+
visibleComputedAxesData$: observer.visibleComputedAxesData$,
|
50
50
|
seriesLabels$: observer.seriesLabels$,
|
51
51
|
SeriesDataMap$: observer.SeriesDataMap$,
|
52
52
|
GroupDataMap$: observer.GroupDataMap$,
|
@@ -40,9 +40,9 @@ export const BarsPN = defineGridPlugin(pluginConfig)(({ selection, name, subject
|
|
40
40
|
const unsubscribeBaseBars = createBaseBars(pluginName, {
|
41
41
|
selection,
|
42
42
|
computedData$: observer.computedData$,
|
43
|
-
|
43
|
+
computedAxesData$: observer.computedAxesData$,
|
44
44
|
visibleComputedData$: observer.visibleComputedData$,
|
45
|
-
|
45
|
+
visibleComputedAxesData$: observer.visibleComputedAxesData$,
|
46
46
|
seriesLabels$: observer.seriesLabels$,
|
47
47
|
SeriesDataMap$: observer.SeriesDataMap$,
|
48
48
|
GroupDataMap$: observer.GroupDataMap$,
|
@@ -49,9 +49,9 @@ export const BarsTriangle = defineGridPlugin(pluginConfig)(({ selection, name, s
|
|
49
49
|
const unsubscribeBaseBars = createBaseBarsTriangle(pluginName, {
|
50
50
|
selection,
|
51
51
|
computedData$: observer.computedData$,
|
52
|
-
|
52
|
+
computedAxesData$: observer.computedAxesData$,
|
53
53
|
visibleComputedData$: observer.visibleComputedData$,
|
54
|
-
|
54
|
+
visibleComputedAxesData$: observer.visibleComputedAxesData$,
|
55
55
|
fullDataFormatter$: observer.fullDataFormatter$,
|
56
56
|
seriesLabels$: observer.seriesLabels$,
|
57
57
|
SeriesDataMap$: observer.SeriesDataMap$,
|
package/src/grid/plugins/Dots.ts
CHANGED
@@ -45,9 +45,9 @@ export const Dots = defineGridPlugin(pluginConfig)(({ selection, name, subject,
|
|
45
45
|
const unsubscribeBaseBars = createBaseDots(pluginName, {
|
46
46
|
selection,
|
47
47
|
computedData$: observer.computedData$,
|
48
|
-
|
48
|
+
computedAxesData$: observer.computedAxesData$,
|
49
49
|
visibleComputedData$: observer.visibleComputedData$,
|
50
|
-
|
50
|
+
visibleComputedAxesData$: observer.visibleComputedAxesData$,
|
51
51
|
seriesLabels$: observer.seriesLabels$,
|
52
52
|
SeriesDataMap$: observer.SeriesDataMap$,
|
53
53
|
GroupDataMap$: observer.GroupDataMap$,
|
@@ -65,12 +65,12 @@ export const GridLegend = defineGridPlugin(pluginConfig)(({ selection, rootSelec
|
|
65
65
|
|
66
66
|
const destroy$ = new Subject()
|
67
67
|
|
68
|
-
const seriesLabels$: Observable<string[]> = observer.SeriesDataMap$.pipe(
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
)
|
68
|
+
// const seriesLabels$: Observable<string[]> = observer.SeriesDataMap$.pipe(
|
69
|
+
// takeUntil(destroy$),
|
70
|
+
// map(data => {
|
71
|
+
// return Array.from(data.keys())
|
72
|
+
// })
|
73
|
+
// )
|
74
74
|
|
75
75
|
// 全部列點矩型使用相同樣式參數
|
76
76
|
const fullParams$ = observer.fullParams$.pipe(
|
@@ -92,7 +92,7 @@ export const GridLegend = defineGridPlugin(pluginConfig)(({ selection, rootSelec
|
|
92
92
|
|
93
93
|
const unsubscribeBaseLegend = createBaseLegend(pluginName, {
|
94
94
|
rootSelection,
|
95
|
-
legendLabels$: seriesLabels$,
|
95
|
+
legendLabels$: observer.seriesLabels$,
|
96
96
|
fullParams$,
|
97
97
|
layout$: observer.layout$,
|
98
98
|
fullChartParams$: observer.fullChartParams$,
|
@@ -225,22 +225,38 @@ function renderLabel ({ selection, labelData, fullParams, fullDataFormatter, ful
|
|
225
225
|
// -- label偏移位置 --
|
226
226
|
let rectX = - rectWidth / 2
|
227
227
|
let rectY = -2
|
228
|
+
let x = rectX
|
229
|
+
let y = rectY - 3 // 奇怪的偏移修正
|
228
230
|
if (fullDataFormatter.groupAxis.position === 'bottom') {
|
229
231
|
rectX = fullParams.labelRotate
|
230
232
|
? - rectWidth + rectHeight // 有傾斜時以末端對齊(+height是為了修正移動太多)
|
231
233
|
: - rectWidth / 2
|
232
234
|
rectY = 2
|
235
|
+
x = rectX
|
236
|
+
y = rectY - 3 // 奇怪的偏移修正
|
233
237
|
} else if (fullDataFormatter.groupAxis.position === 'left') {
|
234
238
|
rectX = - rectWidth + 2
|
235
239
|
rectY = - rectHeight / 2
|
240
|
+
x = rectX
|
241
|
+
y = rectY - 3 // 奇怪的偏移修正
|
242
|
+
if (fullParams.labelRotate) {
|
243
|
+
y += rectHeight
|
244
|
+
}
|
236
245
|
} else if (fullDataFormatter.groupAxis.position === 'right') {
|
237
246
|
rectX = - 2
|
238
247
|
rectY = - rectHeight / 2
|
248
|
+
x = rectX
|
249
|
+
y = rectY - 3 // 奇怪的偏移修正
|
250
|
+
if (fullParams.labelRotate) {
|
251
|
+
y += rectHeight
|
252
|
+
}
|
239
253
|
} else if (fullDataFormatter.groupAxis.position === 'top') {
|
240
254
|
rectX = fullParams.labelRotate
|
241
255
|
? - rectWidth + rectHeight // 有傾斜時以末端對齊(+height是為了修正移動太多)
|
242
256
|
: - rectWidth / 2
|
243
|
-
rectY = - rectHeight +
|
257
|
+
rectY = - rectHeight + 6
|
258
|
+
x = - rectHeight
|
259
|
+
y = rectY - 3 // 奇怪的偏移修正
|
244
260
|
}
|
245
261
|
|
246
262
|
// -- rect --
|
@@ -258,8 +274,8 @@ function renderLabel ({ selection, labelData, fullParams, fullDataFormatter, ful
|
|
258
274
|
.attr('width', d => `${rectWidth}px`)
|
259
275
|
.attr('height', `${rectHeight}px`)
|
260
276
|
.attr('fill', d => getColor(fullParams.labelColorType, fullChartParams))
|
261
|
-
.attr('x',
|
262
|
-
.attr('y',
|
277
|
+
.attr('x', x)
|
278
|
+
.attr('y', y) // 奇怪的偏移修正
|
263
279
|
.style('transform', textReverseTransformWithRotate)
|
264
280
|
|
265
281
|
// const rectUpdate = d3.select(n[i])
|
@@ -295,13 +311,14 @@ function renderLabel ({ selection, labelData, fullParams, fullDataFormatter, ful
|
|
295
311
|
.style('transform', textReverseTransformWithRotate)
|
296
312
|
.attr('fill', d => getColor(fullParams.labelTextColorType, fullChartParams))
|
297
313
|
.attr('font-size', fullChartParams.styles.textSize)
|
298
|
-
.attr('x',
|
299
|
-
.attr('y',
|
314
|
+
.attr('x', x + 6)
|
315
|
+
.attr('y', y + 3)
|
300
316
|
.each((d, i, n) => {
|
301
317
|
renderTspansOnAxis(d3.select(n[i]), {
|
302
318
|
textArr: datum.textArr,
|
303
319
|
textSizePx,
|
304
|
-
groupAxisPosition: fullDataFormatter.groupAxis.position
|
320
|
+
groupAxisPosition: fullDataFormatter.groupAxis.position,
|
321
|
+
isContainerRotated: false
|
305
322
|
})
|
306
323
|
})
|
307
324
|
|
@@ -611,8 +628,8 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
611
628
|
// series: [],
|
612
629
|
// seriesIndex: -1,
|
613
630
|
// seriesLabel: '',
|
614
|
-
//
|
615
|
-
// //
|
631
|
+
// group: data.GroupDataMap.get(groupLabel) ?? [],
|
632
|
+
// // group: [],
|
616
633
|
// groupIndex,
|
617
634
|
// groupLabel,
|
618
635
|
// event,
|
@@ -634,8 +651,8 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
634
651
|
// series: [],
|
635
652
|
// seriesIndex: -1,
|
636
653
|
// seriesLabel: '',
|
637
|
-
//
|
638
|
-
// //
|
654
|
+
// group: data.GroupDataMap.get(groupLabel) ?? [],
|
655
|
+
// // group: [],
|
639
656
|
// groupIndex,
|
640
657
|
// groupLabel,
|
641
658
|
// event,
|
@@ -657,8 +674,8 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
657
674
|
// series: [],
|
658
675
|
// seriesIndex: -1,
|
659
676
|
// seriesLabel: '',
|
660
|
-
//
|
661
|
-
// //
|
677
|
+
// group: data.GroupDataMap.get(groupLabel) ?? [],
|
678
|
+
// // group: [],
|
662
679
|
// groupIndex,
|
663
680
|
// groupLabel,
|
664
681
|
// event,
|
@@ -680,8 +697,8 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
680
697
|
// series: [],
|
681
698
|
// seriesIndex: -1,
|
682
699
|
// seriesLabel: '',
|
683
|
-
// //
|
684
|
-
//
|
700
|
+
// // group: data.GroupDataMap.get(groupLabel) ?? [],
|
701
|
+
// group: [],
|
685
702
|
// groupIndex,
|
686
703
|
// groupLabel,
|
687
704
|
// event,
|
@@ -858,7 +875,7 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
858
875
|
series: [],
|
859
876
|
seriesIndex: -1,
|
860
877
|
seriesLabel: '',
|
861
|
-
|
878
|
+
group: data.GroupDataMap.get(groupLabel) ?? [],
|
862
879
|
groupIndex,
|
863
880
|
groupLabel,
|
864
881
|
event,
|
@@ -879,7 +896,7 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
879
896
|
series: [],
|
880
897
|
seriesIndex: -1,
|
881
898
|
seriesLabel: '',
|
882
|
-
|
899
|
+
group: data.GroupDataMap.get(groupLabel) ?? [],
|
883
900
|
groupIndex,
|
884
901
|
groupLabel,
|
885
902
|
event,
|
@@ -902,7 +919,7 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
902
919
|
series: [],
|
903
920
|
seriesIndex: -1,
|
904
921
|
seriesLabel: '',
|
905
|
-
|
922
|
+
group: data.GroupDataMap.get(groupLabel) ?? [],
|
906
923
|
groupIndex,
|
907
924
|
groupLabel,
|
908
925
|
event,
|
@@ -923,7 +940,7 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
923
940
|
series: [],
|
924
941
|
seriesIndex: -1,
|
925
942
|
seriesLabel: '',
|
926
|
-
|
943
|
+
group: data.GroupDataMap.get(groupLabel) ?? [],
|
927
944
|
groupIndex,
|
928
945
|
groupLabel,
|
929
946
|
event,
|
@@ -952,8 +969,8 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
952
969
|
// takeUntil(destroy$),
|
953
970
|
// switchMap(async d => d)
|
954
971
|
// ).subscribe(data => {
|
955
|
-
// // const
|
956
|
-
// // ? data.event.
|
972
|
+
// // const group = data.event.eventName === 'mouseover' || data.event.eventName === 'mousemove'
|
973
|
+
// // ? data.event.group
|
957
974
|
// // : []
|
958
975
|
|
959
976
|
// // const groupLabel = data.event.eventName === 'mouseover' || data.event.eventName === 'mousemove'
|
@@ -1004,7 +1021,7 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
1004
1021
|
// series: [],
|
1005
1022
|
// seriesIndex: -1,
|
1006
1023
|
// seriesLabel: '',
|
1007
|
-
//
|
1024
|
+
// group: data.event.group,
|
1008
1025
|
// groupIndex,
|
1009
1026
|
// groupLabel,
|
1010
1027
|
// event,
|
@@ -1024,7 +1041,7 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
1024
1041
|
// series: [],
|
1025
1042
|
// seriesIndex: -1,
|
1026
1043
|
// seriesLabel: '',
|
1027
|
-
//
|
1044
|
+
// group: data.event.group,
|
1028
1045
|
// groupIndex,
|
1029
1046
|
// groupLabel,
|
1030
1047
|
// event,
|
@@ -1044,7 +1061,7 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
1044
1061
|
// series: [],
|
1045
1062
|
// seriesIndex: -1,
|
1046
1063
|
// seriesLabel: '',
|
1047
|
-
//
|
1064
|
+
// group: data.event.group,
|
1048
1065
|
// groupIndex,
|
1049
1066
|
// groupLabel,
|
1050
1067
|
// event,
|
@@ -1064,7 +1081,7 @@ export const GroupAux = defineGridPlugin(pluginConfig)(({ selection, rootSelecti
|
|
1064
1081
|
// series: [],
|
1065
1082
|
// seriesIndex: -1,
|
1066
1083
|
// seriesLabel: '',
|
1067
|
-
//
|
1084
|
+
// group: data.event.group,
|
1068
1085
|
// groupIndex,
|
1069
1086
|
// groupLabel,
|
1070
1087
|
// event,
|
@@ -44,30 +44,6 @@ const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_GROUP_A
|
|
44
44
|
return value === null || value === 'all' || typeof value === 'number'
|
45
45
|
}
|
46
46
|
},
|
47
|
-
tickFormat: {
|
48
|
-
toBeTypes: ['string', 'Function']
|
49
|
-
},
|
50
|
-
tickLineVisible: {
|
51
|
-
toBeTypes: ['boolean']
|
52
|
-
},
|
53
|
-
tickPadding: {
|
54
|
-
toBeTypes: ['number']
|
55
|
-
},
|
56
|
-
tickFullLine: {
|
57
|
-
toBeTypes: ['boolean']
|
58
|
-
},
|
59
|
-
tickFullLineDasharray: {
|
60
|
-
toBeTypes: ['string']
|
61
|
-
},
|
62
|
-
tickColorType: {
|
63
|
-
toBeOption: 'ColorType',
|
64
|
-
},
|
65
|
-
tickTextRotate: {
|
66
|
-
toBeTypes: ['number']
|
67
|
-
},
|
68
|
-
tickTextColorType: {
|
69
|
-
toBeOption: 'ColorType',
|
70
|
-
}
|
71
47
|
})
|
72
48
|
return result
|
73
49
|
}
|
@@ -13,16 +13,16 @@ import type { DefinePluginConfig } from '../../../lib/core-types'
|
|
13
13
|
import type { DataFormatterGrid } from '../../../lib/core-types'
|
14
14
|
import {
|
15
15
|
defineGridPlugin, createValueToAxisScale } from '../../../lib/core'
|
16
|
-
import {
|
16
|
+
import { DEFAULT_GROUP_ZOOM_PARAMS } from '../defaults'
|
17
17
|
import { getClassName, getUniID } from '../../utils/orbchartsUtils'
|
18
18
|
import { LAYER_INDEX_OF_ROOT } from '../../const'
|
19
19
|
|
20
|
-
const pluginName = '
|
20
|
+
const pluginName = 'GroupZoom'
|
21
21
|
const rectClassName = getClassName(pluginName, 'rect')
|
22
22
|
|
23
|
-
const pluginConfig: DefinePluginConfig<typeof pluginName, typeof
|
23
|
+
const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_GROUP_ZOOM_PARAMS> = {
|
24
24
|
name: pluginName,
|
25
|
-
defaultParams:
|
25
|
+
defaultParams: DEFAULT_GROUP_ZOOM_PARAMS,
|
26
26
|
layerIndex: LAYER_INDEX_OF_ROOT,
|
27
27
|
validator: (params, { validateColumns }) => {
|
28
28
|
return {
|
@@ -33,7 +33,7 @@ const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_GRID_ZO
|
|
33
33
|
}
|
34
34
|
}
|
35
35
|
|
36
|
-
export const
|
36
|
+
export const GroupZoom = defineGridPlugin(pluginConfig)(({ selection, rootSelection, name, observer, subject }) => {
|
37
37
|
|
38
38
|
const destroy$ = new Subject()
|
39
39
|
|
@@ -40,8 +40,8 @@ export const LineAreas = defineGridPlugin(pluginConfig)(({ selection, name, obse
|
|
40
40
|
selection,
|
41
41
|
computedData$: observer.computedData$,
|
42
42
|
visibleComputedData$: observer.visibleComputedData$,
|
43
|
-
|
44
|
-
|
43
|
+
computedAxesData$: observer.computedAxesData$,
|
44
|
+
visibleComputedAxesData$: observer.visibleComputedAxesData$,
|
45
45
|
seriesLabels$: observer.seriesLabels$,
|
46
46
|
SeriesDataMap$: observer.SeriesDataMap$,
|
47
47
|
GroupDataMap$: observer.GroupDataMap$,
|
@@ -33,9 +33,9 @@ export const Lines = defineGridPlugin(pluginConfig)(({ selection, rootSelection,
|
|
33
33
|
const unsubscribeBaseBars = createBaseLines(pluginName, {
|
34
34
|
selection,
|
35
35
|
computedData$: observer.computedData$,
|
36
|
-
|
36
|
+
computedAxesData$: observer.computedAxesData$,
|
37
37
|
visibleComputedData$: observer.visibleComputedData$,
|
38
|
-
|
38
|
+
visibleComputedAxesData$: observer.visibleComputedAxesData$,
|
39
39
|
seriesLabels$: observer.seriesLabels$,
|
40
40
|
SeriesDataMap$: observer.SeriesDataMap$,
|
41
41
|
GroupDataMap$: observer.GroupDataMap$,
|
@@ -7,15 +7,15 @@ import {
|
|
7
7
|
Observable } from 'rxjs'
|
8
8
|
import type { DefinePluginConfig } from '../../../lib/core-types'
|
9
9
|
import { defineGridPlugin } from '../../../lib/core'
|
10
|
-
import {
|
10
|
+
import { DEFAULT_STACKED_BARS_PARAMS } from '../defaults'
|
11
11
|
import { LAYER_INDEX_OF_GRAPHIC } from '../../const'
|
12
|
-
import {
|
12
|
+
import { createBaseStackedBars } from '../../base/BaseStackedBars'
|
13
13
|
|
14
|
-
const pluginName = '
|
14
|
+
const pluginName = 'StackedBars'
|
15
15
|
|
16
|
-
const pluginConfig: DefinePluginConfig<typeof pluginName, typeof
|
16
|
+
const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_STACKED_BARS_PARAMS> = {
|
17
17
|
name: pluginName,
|
18
|
-
defaultParams:
|
18
|
+
defaultParams: DEFAULT_STACKED_BARS_PARAMS,
|
19
19
|
layerIndex: 5,
|
20
20
|
validator: (params, { validateColumns }) => {
|
21
21
|
const result = validateColumns(params, {
|
@@ -33,15 +33,15 @@ const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_STACKED
|
|
33
33
|
}
|
34
34
|
}
|
35
35
|
|
36
|
-
export const
|
36
|
+
export const StackedBars = defineGridPlugin(pluginConfig)(({ selection, name, subject, observer }) => {
|
37
37
|
const destroy$ = new Subject()
|
38
38
|
|
39
|
-
const unsubscribeBaseBars =
|
39
|
+
const unsubscribeBaseBars = createBaseStackedBars(pluginName, {
|
40
40
|
selection,
|
41
41
|
computedData$: observer.computedData$,
|
42
|
-
|
42
|
+
computedAxesData$: observer.computedAxesData$,
|
43
43
|
visibleComputedData$: observer.visibleComputedData$,
|
44
|
-
|
44
|
+
visibleComputedAxesData$: observer.visibleComputedAxesData$,
|
45
45
|
seriesLabels$: observer.seriesLabels$,
|
46
46
|
SeriesDataMap$: observer.SeriesDataMap$,
|
47
47
|
GroupDataMap$: observer.GroupDataMap$,
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type {
|
2
2
|
MultiGridLegendParams,
|
3
3
|
MultiBarsParams,
|
4
|
-
|
4
|
+
MultiStackedBarsParams,
|
5
5
|
MultiBarsTriangleParams,
|
6
6
|
MultiLinesParams,
|
7
7
|
MultiLineAreasParams,
|
@@ -62,7 +62,15 @@ export const DEFAULT_MULTI_VALUE_AXIS_PARAMS: MultiValueAxisParams = {
|
|
62
62
|
axisLineVisible: false,
|
63
63
|
axisLineColorType: 'primary',
|
64
64
|
ticks: 4,
|
65
|
-
tickFormat: ',.0f',
|
65
|
+
// tickFormat: ',.0f',
|
66
|
+
tickFormat: num => {
|
67
|
+
if (num === null || Number.isNaN(num) == true) {
|
68
|
+
return num || 0
|
69
|
+
}
|
70
|
+
const parts = num.toString().split('.')
|
71
|
+
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
|
72
|
+
return parts.join('.')
|
73
|
+
},
|
66
74
|
tickLineVisible: true,
|
67
75
|
tickPadding: 20,
|
68
76
|
tickFullLine: true,
|
@@ -70,8 +78,16 @@ export const DEFAULT_MULTI_VALUE_AXIS_PARAMS: MultiValueAxisParams = {
|
|
70
78
|
tickColorType: 'secondary',
|
71
79
|
tickTextRotate: 0,
|
72
80
|
tickTextColorType: 'primary',
|
73
|
-
gridIndexes:
|
81
|
+
gridIndexes: 'all'
|
74
82
|
}
|
83
|
+
DEFAULT_MULTI_VALUE_AXIS_PARAMS.tickFormat.toString = () => `num => {
|
84
|
+
if (num === null || Number.isNaN(num) == true) {
|
85
|
+
return num || 0
|
86
|
+
}
|
87
|
+
const parts = num.toString().split('.')
|
88
|
+
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
|
89
|
+
return parts.join('.')
|
90
|
+
}`
|
75
91
|
|
76
92
|
export const DEFAULT_MULTI_STACKED_VALUE_AXIS_PARAMS: MultiStackedValueAxisParams = {
|
77
93
|
...DEFAULT_MULTI_VALUE_AXIS_PARAMS
|
@@ -85,7 +101,7 @@ export const DEFAULT_MULTI_BARS_PARAMS: MultiBarsParams = {
|
|
85
101
|
gridIndexes: [0]
|
86
102
|
}
|
87
103
|
|
88
|
-
export const
|
104
|
+
export const DEFAULT_MULTI_STACKED_BARS_PARAMS: MultiStackedBarsParams = {
|
89
105
|
barWidth: 0,
|
90
106
|
barGroupPadding: 10,
|
91
107
|
barRadius: false,
|
@@ -114,7 +130,7 @@ export const DEFAULT_MULTI_LINE_AREAS_PARAMS: MultiLineAreasParams = {
|
|
114
130
|
|
115
131
|
export const DEFAULT_MULTI_DOTS_PARAMS: MultiDotsParams = {
|
116
132
|
radius: 4,
|
117
|
-
fillColorType: '
|
133
|
+
fillColorType: 'background',
|
118
134
|
strokeColorType: 'label',
|
119
135
|
strokeWidth: 2,
|
120
136
|
onlyShowHighlighted: false,
|
@@ -171,15 +187,17 @@ export const DEFAULT_MULTI_GRID_TOOLTIP_PARAMS: MultiGridTooltipParams = {
|
|
171
187
|
renderFn: (eventData, { styles, utils }) => {
|
172
188
|
const bulletWidth = styles.textSizePx * 0.7
|
173
189
|
const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
|
174
|
-
|
175
|
-
const titleSvg = `<g><text dominant-baseline="hanging" font-size="${styles.textSizePx}">${eventData.groupLabel}</text></g>`
|
176
|
-
const
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
const
|
190
|
+
|
191
|
+
const titleSvg = `<g><text dominant-baseline="hanging" font-size="${styles.textSizePx}" fill="${styles.textColor}">${eventData.groupLabel}</text></g>`
|
192
|
+
const groupLabelTextWidth = utils.measureTextWidth(eventData.groupLabel, styles.textSizePx)
|
193
|
+
const listTextWidth = eventData.group.reduce((acc, group) => {
|
194
|
+
const text = `${group.seriesLabel}${utils.toCurrency(group.value)}`
|
195
|
+
const _maxTextWidth = utils.measureTextWidth(text, styles.textSizePx)
|
196
|
+
return _maxTextWidth > acc ? _maxTextWidth : acc
|
197
|
+
}, 0)
|
198
|
+
const maxTextWidth = Math.max(groupLabelTextWidth, listTextWidth)
|
199
|
+
const lineEndX = maxTextWidth + styles.textSizePx * 3
|
200
|
+
const contentSvg = eventData.group
|
183
201
|
.map((group, i) => {
|
184
202
|
const y = i * styles.textSizePx * 1.5
|
185
203
|
const isHighlight = group.id === (eventData.datum && eventData.datum.id)
|
@@ -187,7 +205,7 @@ export const DEFAULT_MULTI_GRID_TOOLTIP_PARAMS: MultiGridTooltipParams = {
|
|
187
205
|
<rect width="${bulletWidth}" height="${bulletWidth}" x="${offset}" y="${y + offset}" rx="${bulletWidth / 2}" fill="${group.color}"></rect>
|
188
206
|
<text x="${styles.textSizePx * 1.5}" y="${y}" font-size="${styles.textSizePx}" dominant-baseline="hanging" fill="${styles.textColor}">
|
189
207
|
<tspan font-weight="${isHighlight ? 'bold' : ''}">${group.seriesLabel}</tspan>
|
190
|
-
<tspan font-weight="bold" text-anchor="end" x="${lineEndX}">${group.value}</tspan>
|
208
|
+
<tspan font-weight="bold" text-anchor="end" x="${lineEndX}">${utils.toCurrency(group.value)}</tspan>
|
191
209
|
</text>
|
192
210
|
</g>`
|
193
211
|
})
|
@@ -200,14 +218,16 @@ DEFAULT_MULTI_GRID_TOOLTIP_PARAMS.renderFn.toString = () => `(eventData, { style
|
|
200
218
|
const bulletWidth = styles.textSizePx * 0.7
|
201
219
|
const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
|
202
220
|
|
203
|
-
const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}">\${eventData.groupLabel}</text></g>\`
|
204
|
-
const
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
const
|
221
|
+
const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}" fill="\${styles.textColor}">\${eventData.groupLabel}</text></g>\`
|
222
|
+
const groupLabelTextWidth = utils.measureTextWidth(eventData.groupLabel, styles.textSizePx)
|
223
|
+
const listTextWidth = eventData.group.reduce((acc, group) => {
|
224
|
+
const text = \`\${group.seriesLabel}\${utils.toCurrency(group.value)}\`
|
225
|
+
const _maxTextWidth = utils.measureTextWidth(text, styles.textSizePx)
|
226
|
+
return _maxTextWidth > acc ? _maxTextWidth : acc
|
227
|
+
}, 0)
|
228
|
+
const maxTextWidth = Math.max(groupLabelTextWidth, listTextWidth)
|
229
|
+
const lineEndX = maxTextWidth + styles.textSizePx * 3
|
230
|
+
const contentSvg = eventData.group
|
211
231
|
.map((group, i) => {
|
212
232
|
const y = i * styles.textSizePx * 1.5
|
213
233
|
const isHighlight = group.id === (eventData.datum && eventData.datum.id)
|
@@ -215,7 +235,7 @@ DEFAULT_MULTI_GRID_TOOLTIP_PARAMS.renderFn.toString = () => `(eventData, { style
|
|
215
235
|
<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${y + offset}" rx="\${bulletWidth / 2}" fill="\${group.color}"></rect>
|
216
236
|
<text x="\${styles.textSizePx * 1.5}" y="\${y}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
|
217
237
|
<tspan font-weight="\${isHighlight ? 'bold' : ''}">\${group.seriesLabel}</tspan>
|
218
|
-
<tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${group.value}</tspan>
|
238
|
+
<tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${utils.toCurrency(group.value)}</tspan>
|
219
239
|
</text>
|
220
240
|
</g>\`
|
221
241
|
})
|
package/src/multiGrid/index.ts
CHANGED
@@ -2,7 +2,7 @@ export * from './defaults'
|
|
2
2
|
// export * from './types'
|
3
3
|
export { MultiGridLegend } from './plugins/MultiGridLegend'
|
4
4
|
export { MultiBars } from './plugins/MultiBars'
|
5
|
-
export {
|
5
|
+
export { MultiStackedBars } from './plugins/MultiStackedBars'
|
6
6
|
export { MultiBarsTriangle } from './plugins/MultiBarsTriangle'
|
7
7
|
export { MultiLines } from './plugins/MultiLines'
|
8
8
|
export { MultiLineAreas } from './plugins/MultiLineAreas'
|
@@ -34,6 +34,7 @@ export const multiGridPluginDetailObservables = (observer: ContextObserverMultiG
|
|
34
34
|
multiGridEachDetail: observer.multiGridEachDetail$,
|
35
35
|
gridIndexes: gridIndexes$,
|
36
36
|
}).pipe(
|
37
|
+
switchMap(async d => d),
|
37
38
|
map(data => {
|
38
39
|
// 對應所有grid
|
39
40
|
if (data.gridIndexes === 'all') {
|
@@ -82,8 +82,8 @@ export const MultiBars = defineMultiGridPlugin(pluginConfig)(({ selection, name,
|
|
82
82
|
selection: gridSelection,
|
83
83
|
computedData$: d.computedData$,
|
84
84
|
visibleComputedData$: d.visibleComputedData$,
|
85
|
-
|
86
|
-
|
85
|
+
computedAxesData$: d.computedAxesData$,
|
86
|
+
visibleComputedAxesData$: d.visibleComputedAxesData$,
|
87
87
|
seriesLabels$: d.seriesLabels$,
|
88
88
|
SeriesDataMap$: d.SeriesDataMap$,
|
89
89
|
GroupDataMap$: d.GroupDataMap$,
|
@@ -93,7 +93,7 @@ export const MultiBars = defineMultiGridPlugin(pluginConfig)(({ selection, name,
|
|
93
93
|
gridGraphicTransform$: d.gridGraphicTransform$,
|
94
94
|
gridGraphicReverseScale$: d.gridGraphicReverseScale$,
|
95
95
|
gridAxesSize$: d.gridAxesSize$,
|
96
|
-
gridHighlight$:
|
96
|
+
gridHighlight$: observer.multiGridHighlight$,
|
97
97
|
gridContainerPosition$: d.gridContainerPosition$,
|
98
98
|
isSeriesSeprate$,
|
99
99
|
event$: subject.event$ as Subject<any>,
|
@@ -88,8 +88,8 @@ export const MultiBarsTriangle = defineMultiGridPlugin(pluginConfig)(({ selectio
|
|
88
88
|
selection: gridSelection,
|
89
89
|
computedData$: d.computedData$,
|
90
90
|
visibleComputedData$: d.visibleComputedData$,
|
91
|
-
|
92
|
-
|
91
|
+
computedAxesData$: d.computedAxesData$,
|
92
|
+
visibleComputedAxesData$: d.visibleComputedAxesData$,
|
93
93
|
seriesLabels$: d.seriesLabels$,
|
94
94
|
SeriesDataMap$: d.SeriesDataMap$,
|
95
95
|
GroupDataMap$: d.GroupDataMap$,
|
@@ -99,7 +99,7 @@ export const MultiBarsTriangle = defineMultiGridPlugin(pluginConfig)(({ selectio
|
|
99
99
|
gridAxesTransform$: d.gridAxesTransform$,
|
100
100
|
gridGraphicTransform$: d.gridGraphicTransform$,
|
101
101
|
gridAxesSize$: d.gridAxesSize$,
|
102
|
-
gridHighlight$:
|
102
|
+
gridHighlight$: observer.multiGridHighlight$,
|
103
103
|
gridContainerPosition$: d.gridContainerPosition$,
|
104
104
|
isSeriesSeprate$: isSeriesSeprate$,
|
105
105
|
event$: subject.event$ as Subject<any>,
|
@@ -77,8 +77,8 @@ export const MultiDots = defineMultiGridPlugin(pluginConfig)(({ selection, name,
|
|
77
77
|
selection: gridSelection,
|
78
78
|
computedData$: d.computedData$,
|
79
79
|
visibleComputedData$: d.visibleComputedData$,
|
80
|
-
|
81
|
-
|
80
|
+
computedAxesData$: d.computedAxesData$,
|
81
|
+
visibleComputedAxesData$: d.visibleComputedAxesData$,
|
82
82
|
seriesLabels$: d.seriesLabels$,
|
83
83
|
SeriesDataMap$: d.SeriesDataMap$,
|
84
84
|
GroupDataMap$: d.GroupDataMap$,
|
@@ -88,7 +88,7 @@ export const MultiDots = defineMultiGridPlugin(pluginConfig)(({ selection, name,
|
|
88
88
|
gridGraphicTransform$: d.gridGraphicTransform$,
|
89
89
|
gridGraphicReverseScale$: d.gridGraphicReverseScale$,
|
90
90
|
gridAxesSize$: d.gridAxesSize$,
|
91
|
-
gridHighlight$:
|
91
|
+
gridHighlight$: observer.multiGridHighlight$,
|
92
92
|
gridContainerPosition$: d.gridContainerPosition$,
|
93
93
|
event$: subject.event$ as Subject<any>,
|
94
94
|
})
|