@orbcharts/plugins-basic 3.0.0-alpha.49 → 3.0.0-alpha.51

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. package/LICENSE +200 -200
  2. package/dist/orbcharts-plugins-basic.es.js +6325 -6272
  3. package/dist/orbcharts-plugins-basic.umd.js +8 -8
  4. package/dist/src/base/BaseGroupAxis.d.ts +1 -0
  5. package/dist/src/grid/index.d.ts +1 -1
  6. package/dist/src/grid/plugins/BarsPN.d.ts +1 -0
  7. package/dist/src/grid/types.d.ts +3 -2
  8. package/dist/src/multiGrid/defaults.d.ts +2 -1
  9. package/dist/src/multiGrid/index.d.ts +2 -0
  10. package/dist/src/multiGrid/multiGridObservables.d.ts +1 -1
  11. package/dist/src/multiGrid/plugins/MultiValueStackAxis.d.ts +1 -0
  12. package/dist/src/multiGrid/plugins/OverlappingValueStackAxes.d.ts +1 -0
  13. package/dist/src/multiGrid/types.d.ts +3 -0
  14. package/dist/src/series/types.d.ts +2 -3
  15. package/package.json +42 -42
  16. package/src/base/BaseBarStack.ts +778 -778
  17. package/src/base/BaseBars.ts +764 -764
  18. package/src/base/BaseBarsTriangle.ts +672 -672
  19. package/src/base/BaseDots.ts +513 -502
  20. package/src/base/BaseGroupAxis.ts +562 -496
  21. package/src/base/BaseLegend.ts +641 -641
  22. package/src/base/BaseLineAreas.ts +625 -625
  23. package/src/base/BaseLines.ts +699 -699
  24. package/src/base/BaseValueAxis.ts +478 -478
  25. package/src/base/types.ts +2 -2
  26. package/src/grid/defaults.ts +125 -121
  27. package/src/grid/gridObservables.ts +248 -247
  28. package/src/grid/index.ts +15 -15
  29. package/src/grid/plugins/BarStack.ts +43 -50
  30. package/src/grid/plugins/Bars.ts +44 -51
  31. package/src/grid/plugins/{BarsDiverging.ts → BarsPN.ts} +41 -41
  32. package/src/grid/plugins/BarsTriangle.ts +42 -50
  33. package/src/grid/plugins/Dots.ts +37 -37
  34. package/src/grid/plugins/GridLegend.ts +59 -59
  35. package/src/grid/plugins/GroupAux.ts +645 -645
  36. package/src/grid/plugins/GroupAxis.ts +35 -42
  37. package/src/grid/plugins/LineAreas.ts +39 -39
  38. package/src/grid/plugins/Lines.ts +38 -38
  39. package/src/grid/plugins/ScalingArea.ts +173 -173
  40. package/src/grid/plugins/ValueAxis.ts +36 -43
  41. package/src/grid/plugins/ValueStackAxis.ts +38 -79
  42. package/src/grid/types.ts +122 -120
  43. package/src/index.ts +9 -9
  44. package/src/multiGrid/defaults.ts +152 -147
  45. package/src/multiGrid/index.ts +14 -12
  46. package/src/multiGrid/multiGridObservables.ts +44 -43
  47. package/src/multiGrid/plugins/MultiBarStack.ts +78 -78
  48. package/src/multiGrid/plugins/MultiBars.ts +77 -77
  49. package/src/multiGrid/plugins/MultiBarsTriangle.ts +77 -77
  50. package/src/multiGrid/plugins/MultiDots.ts +65 -65
  51. package/src/multiGrid/plugins/MultiGridLegend.ts +89 -89
  52. package/src/multiGrid/plugins/MultiGroupAxis.ts +69 -69
  53. package/src/multiGrid/plugins/MultiLineAreas.ts +67 -67
  54. package/src/multiGrid/plugins/MultiLines.ts +66 -66
  55. package/src/multiGrid/plugins/MultiValueAxis.ts +69 -69
  56. package/src/multiGrid/plugins/MultiValueStackAxis.ts +69 -0
  57. package/src/multiGrid/plugins/OverlappingValueAxes.ts +166 -173
  58. package/src/multiGrid/plugins/OverlappingValueStackAxes.ts +167 -0
  59. package/src/multiGrid/types.ts +71 -67
  60. package/src/noneData/defaults.ts +64 -64
  61. package/src/noneData/index.ts +3 -3
  62. package/src/noneData/plugins/Container.ts +10 -10
  63. package/src/noneData/plugins/Tooltip.ts +310 -310
  64. package/src/noneData/types.ts +26 -26
  65. package/src/series/defaults.ts +126 -126
  66. package/src/series/index.ts +9 -9
  67. package/src/series/plugins/Bubbles.ts +545 -602
  68. package/src/series/plugins/Pie.ts +576 -576
  69. package/src/series/plugins/PieEventTexts.ts +262 -262
  70. package/src/series/plugins/PieLabels.ts +304 -304
  71. package/src/series/plugins/Rose.ts +472 -472
  72. package/src/series/plugins/RoseLabels.ts +362 -362
  73. package/src/series/plugins/SeriesLegend.ts +59 -59
  74. package/src/series/seriesObservables.ts +145 -145
  75. package/src/series/seriesUtils.ts +51 -51
  76. package/src/series/types.ts +83 -83
  77. package/src/tree/defaults.ts +22 -22
  78. package/src/tree/index.ts +3 -3
  79. package/src/tree/plugins/TreeLegend.ts +59 -59
  80. package/src/tree/plugins/TreeMap.ts +305 -305
  81. package/src/tree/types.ts +23 -23
  82. package/src/utils/commonUtils.ts +21 -21
  83. package/src/utils/d3Graphics.ts +124 -124
  84. package/src/utils/d3Utils.ts +73 -73
  85. package/src/utils/observables.ts +14 -14
  86. package/src/utils/orbchartsUtils.ts +100 -100
  87. package/tsconfig.dev.json +16 -16
  88. package/tsconfig.json +13 -13
  89. package/tsconfig.prod.json +13 -13
  90. package/vite.config.js +49 -49
  91. package/dist/src/grid/plugins/BarsDiverging.d.ts +0 -1
@@ -1,51 +1,44 @@
1
- import {
2
- Subject,
3
- Observable,
4
- map,
5
- distinctUntilChanged,
6
- shareReplay,
7
- takeUntil
8
- } from 'rxjs'
9
- import {
10
- defineGridPlugin } from '@orbcharts/core'
11
- import { DEFAULT_BARS_PARAMS } from '../defaults'
12
- import { createBaseBars } from '../../base/BaseBars'
13
-
14
- const pluginName = 'Bars'
15
-
16
- export const Bars = defineGridPlugin(pluginName, DEFAULT_BARS_PARAMS)(({ selection, name, subject, observer }) => {
17
- const destroy$ = new Subject()
18
-
19
- const isSeriesSeprate$ = observer.fullDataFormatter$.pipe(
20
- takeUntil(destroy$),
21
- map(d => d.grid.separateSeries),
22
- distinctUntilChanged(),
23
- shareReplay(1)
24
- )
25
-
26
- const unsubscribeBaseBars = createBaseBars(pluginName, {
27
- selection,
28
- computedData$: observer.computedData$,
29
- computedLayoutData$: observer.computedLayoutData$,
30
- visibleComputedData$: observer.visibleComputedData$,
31
- visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
32
- seriesLabels$: observer.seriesLabels$,
33
- SeriesDataMap$: observer.SeriesDataMap$,
34
- GroupDataMap$: observer.GroupDataMap$,
35
- fullParams$: observer.fullParams$,
36
- fullChartParams$: observer.fullChartParams$,
37
- gridAxesTransform$: observer.gridAxesTransform$,
38
- gridGraphicTransform$: observer.gridGraphicTransform$,
39
- gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
40
- gridAxesSize$: observer.gridAxesSize$,
41
- gridHighlight$: observer.gridHighlight$,
42
- gridContainerPosition$: observer.gridContainerPosition$,
43
- isSeriesSeprate$: isSeriesSeprate$,
44
- event$: subject.event$,
45
- })
46
-
47
- return () => {
48
- destroy$.next(undefined)
49
- unsubscribeBaseBars()
50
- }
51
- })
1
+ import {
2
+ Subject,
3
+ Observable,
4
+ map,
5
+ distinctUntilChanged,
6
+ shareReplay,
7
+ takeUntil
8
+ } from 'rxjs'
9
+ import {
10
+ defineGridPlugin } from '@orbcharts/core'
11
+ import { DEFAULT_BARS_PARAMS } from '../defaults'
12
+ import { createBaseBars } from '../../base/BaseBars'
13
+
14
+ const pluginName = 'Bars'
15
+
16
+ export const Bars = defineGridPlugin(pluginName, DEFAULT_BARS_PARAMS)(({ selection, name, subject, observer }) => {
17
+ const destroy$ = new Subject()
18
+
19
+ const unsubscribeBaseBars = createBaseBars(pluginName, {
20
+ selection,
21
+ computedData$: observer.computedData$,
22
+ computedLayoutData$: observer.computedLayoutData$,
23
+ visibleComputedData$: observer.visibleComputedData$,
24
+ visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
25
+ seriesLabels$: observer.seriesLabels$,
26
+ SeriesDataMap$: observer.SeriesDataMap$,
27
+ GroupDataMap$: observer.GroupDataMap$,
28
+ fullParams$: observer.fullParams$,
29
+ fullChartParams$: observer.fullChartParams$,
30
+ gridAxesTransform$: observer.gridAxesTransform$,
31
+ gridGraphicTransform$: observer.gridGraphicTransform$,
32
+ gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
33
+ gridAxesSize$: observer.gridAxesSize$,
34
+ gridHighlight$: observer.gridHighlight$,
35
+ gridContainerPosition$: observer.gridContainerPosition$,
36
+ isSeriesSeprate$: observer.isSeriesSeprate$,
37
+ event$: subject.event$,
38
+ })
39
+
40
+ return () => {
41
+ destroy$.next(undefined)
42
+ unsubscribeBaseBars()
43
+ }
44
+ })
@@ -1,41 +1,41 @@
1
- import {
2
- of,
3
- Subject,
4
- Observable } from 'rxjs'
5
- import {
6
- defineGridPlugin } from '@orbcharts/core'
7
- import { DEFAULT_BARS_PARAMS } from '../defaults'
8
- import { createBaseBars } from '../../base/BaseBars'
9
-
10
- const pluginName = 'BarsDiverging'
11
-
12
- export const BarsDiverging = defineGridPlugin(pluginName, DEFAULT_BARS_PARAMS)(({ selection, name, subject, observer }) => {
13
- const destroy$ = new Subject()
14
-
15
- const unsubscribeBaseBars = createBaseBars(pluginName, {
16
- selection,
17
- computedData$: observer.computedData$,
18
- computedLayoutData$: observer.computedLayoutData$,
19
- visibleComputedData$: observer.visibleComputedData$,
20
- visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
21
- seriesLabels$: observer.seriesLabels$,
22
- SeriesDataMap$: observer.SeriesDataMap$,
23
- GroupDataMap$: observer.GroupDataMap$,
24
- fullParams$: observer.fullParams$,
25
- fullChartParams$: observer.fullChartParams$,
26
- gridAxesTransform$: observer.gridAxesTransform$,
27
- gridGraphicTransform$: observer.gridGraphicTransform$,
28
- gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
29
- gridAxesSize$: observer.gridAxesSize$,
30
- gridHighlight$: observer.gridHighlight$,
31
- gridContainerPosition$: observer.gridContainerPosition$,
32
- // isSeriesSeprate$: observer.isSeriesSeprate$,
33
- isSeriesSeprate$: of(true), // hack: 永遠為true,可以強制讓每組series的bars的x位置都是一樣的
34
- event$: subject.event$,
35
- })
36
-
37
- return () => {
38
- destroy$.next(undefined)
39
- unsubscribeBaseBars()
40
- }
41
- })
1
+ import {
2
+ of,
3
+ Subject,
4
+ Observable } from 'rxjs'
5
+ import {
6
+ defineGridPlugin } from '@orbcharts/core'
7
+ import { DEFAULT_BARS_PARAMS } from '../defaults'
8
+ import { createBaseBars } from '../../base/BaseBars'
9
+
10
+ const pluginName = 'BarsPN'
11
+
12
+ export const BarsPN = defineGridPlugin(pluginName, DEFAULT_BARS_PARAMS)(({ selection, name, subject, observer }) => {
13
+ const destroy$ = new Subject()
14
+
15
+ const unsubscribeBaseBars = createBaseBars(pluginName, {
16
+ selection,
17
+ computedData$: observer.computedData$,
18
+ computedLayoutData$: observer.computedLayoutData$,
19
+ visibleComputedData$: observer.visibleComputedData$,
20
+ visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
21
+ seriesLabels$: observer.seriesLabels$,
22
+ SeriesDataMap$: observer.SeriesDataMap$,
23
+ GroupDataMap$: observer.GroupDataMap$,
24
+ fullParams$: observer.fullParams$,
25
+ fullChartParams$: observer.fullChartParams$,
26
+ gridAxesTransform$: observer.gridAxesTransform$,
27
+ gridGraphicTransform$: observer.gridGraphicTransform$,
28
+ gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
29
+ gridAxesSize$: observer.gridAxesSize$,
30
+ gridHighlight$: observer.gridHighlight$,
31
+ gridContainerPosition$: observer.gridContainerPosition$,
32
+ // isSeriesSeprate$: observer.isSeriesSeprate$,
33
+ isSeriesSeprate$: of(true), // hack: 永遠為true,可以強制讓每組series的bars的x位置都是一樣的
34
+ event$: subject.event$,
35
+ })
36
+
37
+ return () => {
38
+ destroy$.next(undefined)
39
+ unsubscribeBaseBars()
40
+ }
41
+ })
@@ -1,51 +1,43 @@
1
- import {
2
- Subject,
3
- Observable,
4
- takeUntil,
5
- map,
6
- distinctUntilChanged,
7
- shareReplay
8
- } from 'rxjs'
9
- import { defineGridPlugin } from '@orbcharts/core'
10
- import { DEFAULT_BARS_TRIANGLE_PARAMS } from '../defaults'
11
- import { createBaseBarsTriangle } from '../../base/BaseBarsTriangle'
12
-
13
- const pluginName = 'BarsTriangle'
14
-
15
- export const BarsTriangle = defineGridPlugin(pluginName, DEFAULT_BARS_TRIANGLE_PARAMS)(({ selection, name, subject, observer }) => {
16
- const destroy$ = new Subject()
17
-
18
-
19
- const isSeriesSeprate$ = observer.fullDataFormatter$.pipe(
20
- takeUntil(destroy$),
21
- map(d => d.grid.separateSeries),
22
- distinctUntilChanged(),
23
- shareReplay(1)
24
- )
25
-
26
- const unsubscribeBaseBars = createBaseBarsTriangle(pluginName, {
27
- selection,
28
- computedData$: observer.computedData$,
29
- computedLayoutData$: observer.computedLayoutData$,
30
- visibleComputedData$: observer.visibleComputedData$,
31
- visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
32
- fullDataFormatter$: observer.fullDataFormatter$,
33
- seriesLabels$: observer.seriesLabels$,
34
- SeriesDataMap$: observer.SeriesDataMap$,
35
- GroupDataMap$: observer.GroupDataMap$,
36
- fullParams$: observer.fullParams$,
37
- fullChartParams$: observer.fullChartParams$,
38
- gridAxesTransform$: observer.gridAxesTransform$,
39
- gridGraphicTransform$: observer.gridGraphicTransform$,
40
- gridAxesSize$: observer.gridAxesSize$,
41
- gridHighlight$: observer.gridHighlight$,
42
- gridContainerPosition$: observer.gridContainerPosition$,
43
- isSeriesSeprate$,
44
- event$: subject.event$,
45
- })
46
-
47
- return () => {
48
- destroy$.next(undefined)
49
- unsubscribeBaseBars()
50
- }
1
+ import {
2
+ Subject,
3
+ Observable,
4
+ takeUntil,
5
+ map,
6
+ distinctUntilChanged,
7
+ shareReplay
8
+ } from 'rxjs'
9
+ import { defineGridPlugin } from '@orbcharts/core'
10
+ import { DEFAULT_BARS_TRIANGLE_PARAMS } from '../defaults'
11
+ import { createBaseBarsTriangle } from '../../base/BaseBarsTriangle'
12
+
13
+ const pluginName = 'BarsTriangle'
14
+
15
+ export const BarsTriangle = defineGridPlugin(pluginName, DEFAULT_BARS_TRIANGLE_PARAMS)(({ selection, name, subject, observer }) => {
16
+ const destroy$ = new Subject()
17
+
18
+ const unsubscribeBaseBars = createBaseBarsTriangle(pluginName, {
19
+ selection,
20
+ computedData$: observer.computedData$,
21
+ computedLayoutData$: observer.computedLayoutData$,
22
+ visibleComputedData$: observer.visibleComputedData$,
23
+ visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
24
+ fullDataFormatter$: observer.fullDataFormatter$,
25
+ seriesLabels$: observer.seriesLabels$,
26
+ SeriesDataMap$: observer.SeriesDataMap$,
27
+ GroupDataMap$: observer.GroupDataMap$,
28
+ fullParams$: observer.fullParams$,
29
+ fullChartParams$: observer.fullChartParams$,
30
+ gridAxesTransform$: observer.gridAxesTransform$,
31
+ gridGraphicTransform$: observer.gridGraphicTransform$,
32
+ gridAxesSize$: observer.gridAxesSize$,
33
+ gridHighlight$: observer.gridHighlight$,
34
+ gridContainerPosition$: observer.gridContainerPosition$,
35
+ isSeriesSeprate$: observer.isSeriesSeprate$,
36
+ event$: subject.event$,
37
+ })
38
+
39
+ return () => {
40
+ destroy$.next(undefined)
41
+ unsubscribeBaseBars()
42
+ }
51
43
  })
@@ -1,38 +1,38 @@
1
- import {
2
- Subject } from 'rxjs'
3
- import {
4
- defineGridPlugin } from '@orbcharts/core'
5
- import { DEFAULT_DOTS_PARAMS } from '../defaults'
6
- import { createBaseDots } from '../../base/BaseDots'
7
-
8
- const pluginName = 'Dots'
9
-
10
- export const Dots = defineGridPlugin(pluginName, DEFAULT_DOTS_PARAMS)(({ selection, name, subject, observer }) => {
11
-
12
- const destroy$ = new Subject()
13
-
14
- const unsubscribeBaseBars = createBaseDots(pluginName, {
15
- selection,
16
- computedData$: observer.computedData$,
17
- computedLayoutData$: observer.computedLayoutData$,
18
- visibleComputedData$: observer.visibleComputedData$,
19
- visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
20
- seriesLabels$: observer.seriesLabels$,
21
- SeriesDataMap$: observer.SeriesDataMap$,
22
- GroupDataMap$: observer.GroupDataMap$,
23
- fullParams$: observer.fullParams$,
24
- fullChartParams$: observer.fullChartParams$,
25
- gridAxesTransform$: observer.gridAxesTransform$,
26
- gridGraphicTransform$: observer.gridGraphicTransform$,
27
- gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
28
- gridAxesSize$: observer.gridAxesSize$,
29
- gridHighlight$: observer.gridHighlight$,
30
- gridContainerPosition$: observer.gridContainerPosition$,
31
- event$: subject.event$,
32
- })
33
-
34
- return () => {
35
- destroy$.next(undefined)
36
- unsubscribeBaseBars()
37
- }
1
+ import {
2
+ Subject } from 'rxjs'
3
+ import {
4
+ defineGridPlugin } from '@orbcharts/core'
5
+ import { DEFAULT_DOTS_PARAMS } from '../defaults'
6
+ import { createBaseDots } from '../../base/BaseDots'
7
+
8
+ const pluginName = 'Dots'
9
+
10
+ export const Dots = defineGridPlugin(pluginName, DEFAULT_DOTS_PARAMS)(({ selection, name, subject, observer }) => {
11
+
12
+ const destroy$ = new Subject()
13
+
14
+ const unsubscribeBaseBars = createBaseDots(pluginName, {
15
+ selection,
16
+ computedData$: observer.computedData$,
17
+ computedLayoutData$: observer.computedLayoutData$,
18
+ visibleComputedData$: observer.visibleComputedData$,
19
+ visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
20
+ seriesLabels$: observer.seriesLabels$,
21
+ SeriesDataMap$: observer.SeriesDataMap$,
22
+ GroupDataMap$: observer.GroupDataMap$,
23
+ fullParams$: observer.fullParams$,
24
+ fullChartParams$: observer.fullChartParams$,
25
+ gridAxesTransform$: observer.gridAxesTransform$,
26
+ gridGraphicTransform$: observer.gridGraphicTransform$,
27
+ gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
28
+ gridAxesSize$: observer.gridAxesSize$,
29
+ gridHighlight$: observer.gridHighlight$,
30
+ gridContainerPosition$: observer.gridContainerPosition$,
31
+ event$: subject.event$,
32
+ })
33
+
34
+ return () => {
35
+ destroy$.next(undefined)
36
+ unsubscribeBaseBars()
37
+ }
38
38
  })
@@ -1,59 +1,59 @@
1
- import * as d3 from 'd3'
2
- import {
3
- combineLatest,
4
- map,
5
- switchMap,
6
- takeUntil,
7
- Observable,
8
- Subject } from 'rxjs'
9
- import {
10
- defineGridPlugin } from '@orbcharts/core'
11
- import { DEFAULT_GRID_LEGEND_PARAMS } from '../defaults'
12
- import { createBaseLegend } from '../../base/BaseLegend'
13
-
14
- const pluginName = 'GridLegend'
15
-
16
- export const GridLegend = defineGridPlugin(pluginName, DEFAULT_GRID_LEGEND_PARAMS)(({ selection, rootSelection, observer, subject }) => {
17
-
18
- const destroy$ = new Subject()
19
-
20
- const seriesLabels$: Observable<string[]> = observer.SeriesDataMap$.pipe(
21
- takeUntil(destroy$),
22
- map(data => {
23
- return Array.from(data.keys())
24
- })
25
- )
26
-
27
- // 全部列點矩型使用相同樣式參數
28
- const fullParams$ = observer.fullParams$.pipe(
29
- takeUntil(destroy$),
30
- map(d => {
31
- const seriesList = [
32
- {
33
- listRectWidth: d.listRectWidth,
34
- listRectHeight: d.listRectHeight,
35
- listRectRadius: d.listRectRadius,
36
- }
37
- ]
38
- return {
39
- ...d,
40
- seriesList
41
- }
42
- })
43
- )
44
-
45
- const unsubscribeBaseLegend = createBaseLegend(pluginName, {
46
- rootSelection,
47
- seriesLabels$,
48
- fullParams$,
49
- layout$: observer.layout$,
50
- fullChartParams$: observer.fullChartParams$,
51
- textSizePx$: observer.textSizePx$
52
- })
53
-
54
- return () => {
55
- destroy$.next(undefined)
56
- unsubscribeBaseLegend()
57
- }
58
- })
59
-
1
+ import * as d3 from 'd3'
2
+ import {
3
+ combineLatest,
4
+ map,
5
+ switchMap,
6
+ takeUntil,
7
+ Observable,
8
+ Subject } from 'rxjs'
9
+ import {
10
+ defineGridPlugin } from '@orbcharts/core'
11
+ import { DEFAULT_GRID_LEGEND_PARAMS } from '../defaults'
12
+ import { createBaseLegend } from '../../base/BaseLegend'
13
+
14
+ const pluginName = 'GridLegend'
15
+
16
+ export const GridLegend = defineGridPlugin(pluginName, DEFAULT_GRID_LEGEND_PARAMS)(({ selection, rootSelection, observer, subject }) => {
17
+
18
+ const destroy$ = new Subject()
19
+
20
+ const seriesLabels$: Observable<string[]> = observer.SeriesDataMap$.pipe(
21
+ takeUntil(destroy$),
22
+ map(data => {
23
+ return Array.from(data.keys())
24
+ })
25
+ )
26
+
27
+ // 全部列點矩型使用相同樣式參數
28
+ const fullParams$ = observer.fullParams$.pipe(
29
+ takeUntil(destroy$),
30
+ map(d => {
31
+ const seriesList = [
32
+ {
33
+ listRectWidth: d.listRectWidth,
34
+ listRectHeight: d.listRectHeight,
35
+ listRectRadius: d.listRectRadius,
36
+ }
37
+ ]
38
+ return {
39
+ ...d,
40
+ seriesList
41
+ }
42
+ })
43
+ )
44
+
45
+ const unsubscribeBaseLegend = createBaseLegend(pluginName, {
46
+ rootSelection,
47
+ seriesLabels$,
48
+ fullParams$,
49
+ layout$: observer.layout$,
50
+ fullChartParams$: observer.fullChartParams$,
51
+ textSizePx$: observer.textSizePx$
52
+ })
53
+
54
+ return () => {
55
+ destroy$.next(undefined)
56
+ unsubscribeBaseLegend()
57
+ }
58
+ })
59
+