@orbcharts/plugins-basic 3.0.0-alpha.44 → 3.0.0-alpha.45

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. package/LICENSE +200 -200
  2. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseBarStack.d.ts +6 -4
  3. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseBars.d.ts +6 -4
  4. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseBarsTriangle.d.ts +7 -4
  5. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseDots.d.ts +5 -3
  6. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseGroupAxis.d.ts +3 -3
  7. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseLineAreas.d.ts +6 -3
  8. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseLines.d.ts +6 -3
  9. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseValueAxis.d.ts +3 -3
  10. package/dist/{src → orbcharts-plugins-basic/src}/grid/gridObservables.d.ts +4 -4
  11. package/dist/orbcharts-plugins-basic/src/index.d.ts +5 -0
  12. package/dist/orbcharts-plugins-basic/src/multiGrid/multiGridObservables.d.ts +8 -0
  13. package/dist/orbcharts-plugins-basic/src/series/plugins/PieEventTexts.d.ts +3 -0
  14. package/dist/orbcharts-plugins-basic/src/series/seriesObservables.d.ts +21 -0
  15. package/dist/{src → orbcharts-plugins-basic/src}/series/seriesUtils.d.ts +3 -3
  16. package/dist/orbcharts-plugins-basic.es.js +7696 -7529
  17. package/dist/orbcharts-plugins-basic.umd.js +8 -8
  18. package/dist/src/index.d.ts +1 -5
  19. package/package.json +42 -42
  20. package/src/base/BaseBarStack.ts +778 -881
  21. package/src/base/BaseBars.ts +764 -750
  22. package/src/base/BaseBarsTriangle.ts +672 -659
  23. package/src/base/BaseDots.ts +502 -639
  24. package/src/base/BaseGroupAxis.ts +496 -496
  25. package/src/base/BaseLegend.ts +641 -641
  26. package/src/base/BaseLineAreas.ts +625 -621
  27. package/src/base/BaseLines.ts +699 -692
  28. package/src/base/BaseValueAxis.ts +478 -479
  29. package/src/base/types.ts +2 -2
  30. package/src/grid/defaults.ts +121 -121
  31. package/src/grid/gridObservables.ts +247 -263
  32. package/src/grid/index.ts +15 -15
  33. package/src/grid/plugins/BarStack.ts +50 -37
  34. package/src/grid/plugins/Bars.ts +51 -37
  35. package/src/grid/plugins/BarsDiverging.ts +41 -39
  36. package/src/grid/plugins/BarsTriangle.ts +50 -34
  37. package/src/grid/plugins/Dots.ts +37 -35
  38. package/src/grid/plugins/GridLegend.ts +59 -59
  39. package/src/grid/plugins/GroupAux.ts +645 -646
  40. package/src/grid/plugins/GroupAxis.ts +42 -30
  41. package/src/grid/plugins/LineAreas.ts +39 -36
  42. package/src/grid/plugins/Lines.ts +38 -35
  43. package/src/grid/plugins/ScalingArea.ts +173 -174
  44. package/src/grid/plugins/ValueAxis.ts +43 -31
  45. package/src/grid/plugins/ValueStackAxis.ts +79 -70
  46. package/src/grid/types.ts +120 -120
  47. package/src/index.ts +9 -9
  48. package/src/multiGrid/defaults.ts +147 -147
  49. package/src/multiGrid/index.ts +11 -11
  50. package/src/multiGrid/multiGridObservables.ts +42 -289
  51. package/src/multiGrid/plugins/MultiBarStack.ts +74 -60
  52. package/src/multiGrid/plugins/MultiBars.ts +73 -59
  53. package/src/multiGrid/plugins/MultiBarsTriangle.ts +73 -58
  54. package/src/multiGrid/plugins/MultiDots.ts +60 -58
  55. package/src/multiGrid/plugins/MultiGridLegend.ts +89 -89
  56. package/src/multiGrid/plugins/MultiGroupAxis.ts +65 -53
  57. package/src/multiGrid/plugins/MultiLineAreas.ts +62 -59
  58. package/src/multiGrid/plugins/MultiLines.ts +61 -58
  59. package/src/multiGrid/plugins/MultiValueAxis.ts +65 -53
  60. package/src/multiGrid/plugins/OverlappingValueAxes.ts +169 -164
  61. package/src/multiGrid/types.ts +67 -67
  62. package/src/noneData/defaults.ts +64 -61
  63. package/src/noneData/index.ts +3 -3
  64. package/src/noneData/plugins/Container.ts +10 -10
  65. package/src/noneData/plugins/Tooltip.ts +310 -310
  66. package/src/noneData/types.ts +26 -26
  67. package/src/series/defaults.ts +109 -99
  68. package/src/series/index.ts +6 -6
  69. package/src/series/plugins/Bubbles.ts +571 -551
  70. package/src/series/plugins/Pie.ts +548 -600
  71. package/src/series/plugins/PieEventTexts.ts +258 -194
  72. package/src/series/plugins/PieLabels.ts +335 -288
  73. package/src/series/plugins/SeriesLegend.ts +59 -59
  74. package/src/series/seriesObservables.ts +145 -0
  75. package/src/series/seriesUtils.ts +50 -50
  76. package/src/series/types.ts +67 -67
  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 +16 -13
  89. package/tsconfig.prod.json +13 -13
  90. package/vite.config.js +49 -49
  91. package/dist/src/multiGrid/multiGridObservables.d.ts +0 -12
  92. package/dist/src/series/plugins/PieEventTexts.d.ts +0 -1
  93. /package/dist/{src → orbcharts-plugins-basic/src}/base/BaseGroupArea.d.ts +0 -0
  94. /package/dist/{src → orbcharts-plugins-basic/src}/base/BaseLegend.d.ts +0 -0
  95. /package/dist/{src → orbcharts-plugins-basic/src}/base/types.d.ts +0 -0
  96. /package/dist/{src → orbcharts-plugins-basic/src}/grid/defaults.d.ts +0 -0
  97. /package/dist/{src → orbcharts-plugins-basic/src}/grid/index.d.ts +0 -0
  98. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/BarStack.d.ts +0 -0
  99. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/Bars.d.ts +0 -0
  100. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/BarsDiverging.d.ts +0 -0
  101. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/BarsTriangle.d.ts +0 -0
  102. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/Dots.d.ts +0 -0
  103. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/GridLegend.d.ts +0 -0
  104. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/GroupAux.d.ts +0 -0
  105. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/GroupAxis.d.ts +0 -0
  106. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/LineAreas.d.ts +0 -0
  107. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/Lines.d.ts +0 -0
  108. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/Ranking.d.ts +0 -0
  109. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/RankingAxis.d.ts +0 -0
  110. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/ScalingArea.d.ts +0 -0
  111. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/ValueAxis.d.ts +0 -0
  112. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/ValueStackAxis.d.ts +0 -0
  113. /package/dist/{src → orbcharts-plugins-basic/src}/grid/types.d.ts +0 -0
  114. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/defaults.d.ts +0 -0
  115. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/index.d.ts +0 -0
  116. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiBarStack.d.ts +0 -0
  117. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiBars.d.ts +0 -0
  118. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiBarsTriangle.d.ts +0 -0
  119. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiDots.d.ts +0 -0
  120. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiGridLegend.d.ts +0 -0
  121. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiGroupAxis.d.ts +0 -0
  122. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiLineAreas.d.ts +0 -0
  123. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiLines.d.ts +0 -0
  124. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiValueAxis.d.ts +0 -0
  125. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/OverlappingValueAxes.d.ts +0 -0
  126. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/types.d.ts +0 -0
  127. /package/dist/{src → orbcharts-plugins-basic/src}/multiValue/index.d.ts +0 -0
  128. /package/dist/{src → orbcharts-plugins-basic/src}/multiValue/plugins/Scatter.d.ts +0 -0
  129. /package/dist/{src → orbcharts-plugins-basic/src}/multiValue/plugins/ScatterAxes.d.ts +0 -0
  130. /package/dist/{src → orbcharts-plugins-basic/src}/noneData/defaults.d.ts +0 -0
  131. /package/dist/{src → orbcharts-plugins-basic/src}/noneData/index.d.ts +0 -0
  132. /package/dist/{src → orbcharts-plugins-basic/src}/noneData/plugins/Container.d.ts +0 -0
  133. /package/dist/{src → orbcharts-plugins-basic/src}/noneData/plugins/Tooltip.d.ts +0 -0
  134. /package/dist/{src → orbcharts-plugins-basic/src}/noneData/types.d.ts +0 -0
  135. /package/dist/{src → orbcharts-plugins-basic/src}/relationship/index.d.ts +0 -0
  136. /package/dist/{src → orbcharts-plugins-basic/src}/relationship/plugins/Relationship.d.ts +0 -0
  137. /package/dist/{src → orbcharts-plugins-basic/src}/series/defaults.d.ts +0 -0
  138. /package/dist/{src → orbcharts-plugins-basic/src}/series/index.d.ts +0 -0
  139. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/Bubbles.d.ts +0 -0
  140. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/Pie.d.ts +0 -0
  141. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/PieLabels.d.ts +0 -0
  142. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/SeriesLegend.d.ts +0 -0
  143. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/Waffle.d.ts +0 -0
  144. /package/dist/{src → orbcharts-plugins-basic/src}/series/types.d.ts +0 -0
  145. /package/dist/{src → orbcharts-plugins-basic/src}/tree/defaults.d.ts +0 -0
  146. /package/dist/{src → orbcharts-plugins-basic/src}/tree/index.d.ts +0 -0
  147. /package/dist/{src → orbcharts-plugins-basic/src}/tree/plugins/TreeLegend.d.ts +0 -0
  148. /package/dist/{src → orbcharts-plugins-basic/src}/tree/plugins/TreeMap.d.ts +0 -0
  149. /package/dist/{src → orbcharts-plugins-basic/src}/tree/types.d.ts +0 -0
  150. /package/dist/{src → orbcharts-plugins-basic/src}/utils/commonUtils.d.ts +0 -0
  151. /package/dist/{src → orbcharts-plugins-basic/src}/utils/d3Graphics.d.ts +0 -0
  152. /package/dist/{src → orbcharts-plugins-basic/src}/utils/d3Utils.d.ts +0 -0
  153. /package/dist/{src → orbcharts-plugins-basic/src}/utils/observables.d.ts +0 -0
  154. /package/dist/{src → orbcharts-plugins-basic/src}/utils/orbchartsUtils.d.ts +0 -0
  155. /package/dist/{vite.config.d.ts → orbcharts-plugins-basic/vite.config.d.ts} +0 -0
@@ -1,60 +1,74 @@
1
- import * as d3 from 'd3'
2
- import {
3
- Subject } from 'rxjs'
4
- import {
5
- defineMultiGridPlugin } from '@orbcharts/core'
6
- import { DEFAULT_MULTI_BAR_STACK_PARAMS } from '../defaults'
7
- import { createBaseBarStack } from '../../base/BaseBarStack'
8
- import { multiGridDetailObservables } from '../multiGridObservables'
9
- import { getClassName, getUniID } from '../../utils/orbchartsUtils'
10
-
11
- const pluginName = 'MultiBarStack'
12
-
13
- const gridClassName = getClassName(pluginName, 'grid')
14
-
15
- export const MultiBarStack = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_BAR_STACK_PARAMS)(({ selection, name, subject, observer }) => {
16
- const destroy$ = new Subject()
17
-
18
- const unsubscribeFnArr: (() => void)[] = []
19
-
20
- const multiGridPlugin$ = multiGridDetailObservables(observer)
21
-
22
- multiGridPlugin$.subscribe(data => {
23
- // 每次重新計算時,清除之前的訂閱
24
- unsubscribeFnArr.forEach(fn => fn())
25
-
26
- selection.selectAll(`g.${gridClassName}`)
27
- .data(data)
28
- .join('g')
29
- .attr('class', gridClassName)
30
- .each((d, i, g) => {
31
-
32
- const gridSelection = d3.select(g[i])
33
-
34
- unsubscribeFnArr[i] = createBaseBarStack(pluginName, {
35
- selection: gridSelection,
36
- computedData$: d.gridComputedData$,
37
- visibleComputedData$: d.visibleComputedData$,
38
- existSeriesLabels$: d.existSeriesLabels$,
39
- SeriesDataMap$: d.SeriesDataMap$,
40
- GroupDataMap$: d.GroupDataMap$,
41
- fullParams$: observer.fullParams$,
42
- fullDataFormatter$: d.gridDataFormatter$,
43
- fullChartParams$: observer.fullChartParams$,
44
- gridAxesTransform$: d.gridAxesTransform$,
45
- gridGraphicTransform$: d.gridGraphicTransform$,
46
- gridGraphicReverseScale$: d.gridGraphicReverseScale$,
47
- gridAxesSize$: d.gridAxesSize$,
48
- gridHighlight$: d.gridHighlight$,
49
- gridContainer$: d.gridContainer$,
50
- isSeriesPositionSeprate$: d.isSeriesPositionSeprate$,
51
- event$: subject.event$ as Subject<any>,
52
- })
53
- })
54
- })
55
-
56
- return () => {
57
- destroy$.next(undefined)
58
- unsubscribeFnArr.forEach(fn => fn())
59
- }
60
- })
1
+ import * as d3 from 'd3'
2
+ import {
3
+ Subject,
4
+ map,
5
+ distinctUntilChanged,
6
+ shareReplay,
7
+ takeUntil
8
+ } from 'rxjs'
9
+ import {
10
+ defineMultiGridPlugin } from '@orbcharts/core'
11
+ import { DEFAULT_MULTI_BAR_STACK_PARAMS } from '../defaults'
12
+ import { createBaseBarStack } from '../../base/BaseBarStack'
13
+ import { multiGridPluginObservables } from '../multiGridObservables'
14
+ import { getClassName, getUniID } from '../../utils/orbchartsUtils'
15
+
16
+ const pluginName = 'MultiBarStack'
17
+
18
+ const gridClassName = getClassName(pluginName, 'grid')
19
+
20
+ export const MultiBarStack = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_BAR_STACK_PARAMS)(({ selection, name, subject, observer }) => {
21
+ const destroy$ = new Subject()
22
+
23
+ const unsubscribeFnArr: (() => void)[] = []
24
+
25
+ const multiGridPlugin$ = multiGridPluginObservables(observer)
26
+
27
+ multiGridPlugin$.subscribe(data => {
28
+ // 每次重新計算時,清除之前的訂閱
29
+ unsubscribeFnArr.forEach(fn => fn())
30
+
31
+ selection.selectAll(`g.${gridClassName}`)
32
+ .data(data)
33
+ .join('g')
34
+ .attr('class', gridClassName)
35
+ .each((d, i, g) => {
36
+
37
+ const gridSelection = d3.select(g[i])
38
+
39
+ const isSeriesSeprate$ = d.dataFormatter$.pipe(
40
+ takeUntil(destroy$),
41
+ map(d => d.grid.separateSeries),
42
+ distinctUntilChanged(),
43
+ shareReplay(1)
44
+ )
45
+
46
+ unsubscribeFnArr[i] = createBaseBarStack(pluginName, {
47
+ selection: gridSelection,
48
+ computedData$: d.computedData$,
49
+ visibleComputedData$: d.visibleComputedData$,
50
+ computedLayoutData$: d.computedLayoutData$,
51
+ visibleComputedLayoutData$: d.visibleComputedLayoutData$,
52
+ seriesLabels$: d.seriesLabels$,
53
+ SeriesDataMap$: d.SeriesDataMap$,
54
+ GroupDataMap$: d.GroupDataMap$,
55
+ fullParams$: observer.fullParams$,
56
+ fullDataFormatter$: d.dataFormatter$,
57
+ fullChartParams$: observer.fullChartParams$,
58
+ gridAxesTransform$: d.gridAxesTransform$,
59
+ gridGraphicTransform$: d.gridGraphicTransform$,
60
+ gridGraphicReverseScale$: d.gridGraphicReverseScale$,
61
+ gridAxesSize$: d.gridAxesSize$,
62
+ gridHighlight$: d.gridHighlight$,
63
+ gridContainerPosition$: d.gridContainerPosition$,
64
+ isSeriesSeprate$,
65
+ event$: subject.event$ as Subject<any>,
66
+ })
67
+ })
68
+ })
69
+
70
+ return () => {
71
+ destroy$.next(undefined)
72
+ unsubscribeFnArr.forEach(fn => fn())
73
+ }
74
+ })
@@ -1,59 +1,73 @@
1
- import * as d3 from 'd3'
2
- import {
3
- Subject } from 'rxjs'
4
- import {
5
- defineMultiGridPlugin } from '@orbcharts/core'
6
- import { DEFAULT_MULTI_BARS_PARAMS } from '../defaults'
7
- import { createBaseBars } from '../../base/BaseBars'
8
- import { multiGridDetailObservables } from '../multiGridObservables'
9
- import { getClassName, getUniID } from '../../utils/orbchartsUtils'
10
-
11
- const pluginName = 'MultiBars'
12
-
13
- const gridClassName = getClassName(pluginName, 'grid')
14
-
15
- export const MultiBars = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_BARS_PARAMS)(({ selection, name, subject, observer }) => {
16
- const destroy$ = new Subject()
17
-
18
- const unsubscribeFnArr: (() => void)[] = []
19
-
20
- const multiGridPlugin$ = multiGridDetailObservables(observer)
21
-
22
- multiGridPlugin$.subscribe(data => {
23
- // 每次重新計算時,清除之前的訂閱
24
- unsubscribeFnArr.forEach(fn => fn())
25
-
26
- selection.selectAll(`g.${gridClassName}`)
27
- .data(data)
28
- .join('g')
29
- .attr('class', gridClassName)
30
- .each((d, i, g) => {
31
-
32
- const gridSelection = d3.select(g[i])
33
-
34
- unsubscribeFnArr[i] = createBaseBars(pluginName, {
35
- selection: gridSelection,
36
- computedData$: d.gridComputedData$,
37
- visibleComputedData$: d.visibleComputedData$,
38
- existSeriesLabels$: d.existSeriesLabels$,
39
- SeriesDataMap$: d.SeriesDataMap$,
40
- GroupDataMap$: d.GroupDataMap$,
41
- fullParams$: observer.fullParams$,
42
- fullChartParams$: observer.fullChartParams$,
43
- gridAxesTransform$: d.gridAxesTransform$,
44
- gridGraphicTransform$: d.gridGraphicTransform$,
45
- gridGraphicReverseScale$: d.gridGraphicReverseScale$,
46
- gridAxesSize$: d.gridAxesSize$,
47
- gridHighlight$: d.gridHighlight$,
48
- gridContainer$: d.gridContainer$,
49
- isSeriesPositionSeprate$: d.isSeriesPositionSeprate$,
50
- event$: subject.event$ as Subject<any>,
51
- })
52
- })
53
- })
54
-
55
- return () => {
56
- destroy$.next(undefined)
57
- unsubscribeFnArr.forEach(fn => fn())
58
- }
59
- })
1
+ import * as d3 from 'd3'
2
+ import {
3
+ Subject,
4
+ map,
5
+ distinctUntilChanged,
6
+ shareReplay,
7
+ takeUntil
8
+ } from 'rxjs'
9
+ import {
10
+ defineMultiGridPlugin } from '@orbcharts/core'
11
+ import { DEFAULT_MULTI_BARS_PARAMS } from '../defaults'
12
+ import { createBaseBars } from '../../base/BaseBars'
13
+ import { multiGridPluginObservables } from '../multiGridObservables'
14
+ import { getClassName, getUniID } from '../../utils/orbchartsUtils'
15
+
16
+ const pluginName = 'MultiBars'
17
+
18
+ const gridClassName = getClassName(pluginName, 'grid')
19
+
20
+ export const MultiBars = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_BARS_PARAMS)(({ selection, name, subject, observer }) => {
21
+ const destroy$ = new Subject()
22
+
23
+ const unsubscribeFnArr: (() => void)[] = []
24
+
25
+ const multiGridPlugin$ = multiGridPluginObservables(observer)
26
+
27
+ multiGridPlugin$.subscribe(data => {
28
+ // 每次重新計算時,清除之前的訂閱
29
+ unsubscribeFnArr.forEach(fn => fn())
30
+
31
+ selection.selectAll(`g.${gridClassName}`)
32
+ .data(data)
33
+ .join('g')
34
+ .attr('class', gridClassName)
35
+ .each((d, i, g) => {
36
+
37
+ const gridSelection = d3.select(g[i])
38
+
39
+ const isSeriesSeprate$ = d.dataFormatter$.pipe(
40
+ takeUntil(destroy$),
41
+ map(d => d.grid.separateSeries),
42
+ distinctUntilChanged(),
43
+ shareReplay(1)
44
+ )
45
+
46
+ unsubscribeFnArr[i] = createBaseBars(pluginName, {
47
+ selection: gridSelection,
48
+ computedData$: d.computedData$,
49
+ visibleComputedData$: d.visibleComputedData$,
50
+ computedLayoutData$: d.computedLayoutData$,
51
+ visibleComputedLayoutData$: d.visibleComputedLayoutData$,
52
+ seriesLabels$: d.seriesLabels$,
53
+ SeriesDataMap$: d.SeriesDataMap$,
54
+ GroupDataMap$: d.GroupDataMap$,
55
+ fullParams$: observer.fullParams$,
56
+ fullChartParams$: observer.fullChartParams$,
57
+ gridAxesTransform$: d.gridAxesTransform$,
58
+ gridGraphicTransform$: d.gridGraphicTransform$,
59
+ gridGraphicReverseScale$: d.gridGraphicReverseScale$,
60
+ gridAxesSize$: d.gridAxesSize$,
61
+ gridHighlight$: d.gridHighlight$,
62
+ gridContainerPosition$: d.gridContainerPosition$,
63
+ isSeriesSeprate$,
64
+ event$: subject.event$ as Subject<any>,
65
+ })
66
+ })
67
+ })
68
+
69
+ return () => {
70
+ destroy$.next(undefined)
71
+ unsubscribeFnArr.forEach(fn => fn())
72
+ }
73
+ })
@@ -1,58 +1,73 @@
1
- import * as d3 from 'd3'
2
- import {
3
- Subject } from 'rxjs'
4
- import {
5
- defineMultiGridPlugin } from '@orbcharts/core'
6
- import { DEFAULT_MULTI_BARS_TRIANGLE_PARAMS } from '../defaults'
7
- import { createBaseBarsTriangle } from '../../base/BaseBarsTriangle'
8
- import { multiGridDetailObservables } from '../multiGridObservables'
9
- import { getClassName, getUniID } from '../../utils/orbchartsUtils'
10
-
11
- const pluginName = 'MultiBarsTriangle'
12
-
13
- const gridClassName = getClassName(pluginName, 'grid')
14
-
15
- export const MultiBarsTriangle = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_BARS_TRIANGLE_PARAMS)(({ selection, name, subject, observer }) => {
16
- const destroy$ = new Subject()
17
-
18
- const unsubscribeFnArr: (() => void)[] = []
19
-
20
- const multiGridPlugin$ = multiGridDetailObservables(observer)
21
-
22
- multiGridPlugin$.subscribe(data => {
23
- // 每次重新計算時,清除之前的訂閱
24
- unsubscribeFnArr.forEach(fn => fn())
25
-
26
- selection.selectAll(`g.${gridClassName}`)
27
- .data(data)
28
- .join('g')
29
- .attr('class', gridClassName)
30
- .each((d, i, g) => {
31
-
32
- const gridSelection = d3.select(g[i])
33
-
34
- unsubscribeFnArr[i] = createBaseBarsTriangle(pluginName, {
35
- selection: gridSelection,
36
- computedData$: d.gridComputedData$,
37
- visibleComputedData$: d.visibleComputedData$,
38
- existSeriesLabels$: d.existSeriesLabels$,
39
- SeriesDataMap$: d.SeriesDataMap$,
40
- GroupDataMap$: d.GroupDataMap$,
41
- fullParams$: observer.fullParams$,
42
- fullChartParams$: observer.fullChartParams$,
43
- gridAxesTransform$: d.gridAxesTransform$,
44
- gridGraphicTransform$: d.gridGraphicTransform$,
45
- gridAxesSize$: d.gridAxesSize$,
46
- gridHighlight$: d.gridHighlight$,
47
- gridContainer$: d.gridContainer$,
48
- isSeriesPositionSeprate$: d.isSeriesPositionSeprate$,
49
- event$: subject.event$ as Subject<any>,
50
- })
51
- })
52
- })
53
-
54
- return () => {
55
- destroy$.next(undefined)
56
- unsubscribeFnArr.forEach(fn => fn())
57
- }
58
- })
1
+ import * as d3 from 'd3'
2
+ import {
3
+ Subject,
4
+ map,
5
+ distinctUntilChanged,
6
+ shareReplay,
7
+ takeUntil
8
+ } from 'rxjs'
9
+ import {
10
+ defineMultiGridPlugin } from '@orbcharts/core'
11
+ import { DEFAULT_MULTI_BARS_TRIANGLE_PARAMS } from '../defaults'
12
+ import { createBaseBarsTriangle } from '../../base/BaseBarsTriangle'
13
+ import { multiGridPluginObservables } from '../multiGridObservables'
14
+ import { getClassName, getUniID } from '../../utils/orbchartsUtils'
15
+
16
+ const pluginName = 'MultiBarsTriangle'
17
+
18
+ const gridClassName = getClassName(pluginName, 'grid')
19
+
20
+ export const MultiBarsTriangle = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_BARS_TRIANGLE_PARAMS)(({ selection, name, subject, observer }) => {
21
+ const destroy$ = new Subject()
22
+
23
+ const unsubscribeFnArr: (() => void)[] = []
24
+
25
+ const multiGridPlugin$ = multiGridPluginObservables(observer)
26
+
27
+ multiGridPlugin$.subscribe(data => {
28
+ // 每次重新計算時,清除之前的訂閱
29
+ unsubscribeFnArr.forEach(fn => fn())
30
+
31
+ selection.selectAll(`g.${gridClassName}`)
32
+ .data(data)
33
+ .join('g')
34
+ .attr('class', gridClassName)
35
+ .each((d, i, g) => {
36
+
37
+ const gridSelection = d3.select(g[i])
38
+
39
+ const isSeriesSeprate$ = d.dataFormatter$.pipe(
40
+ takeUntil(destroy$),
41
+ map(d => d.grid.separateSeries),
42
+ distinctUntilChanged(),
43
+ shareReplay(1)
44
+ )
45
+
46
+ unsubscribeFnArr[i] = createBaseBarsTriangle(pluginName, {
47
+ selection: gridSelection,
48
+ computedData$: d.computedData$,
49
+ visibleComputedData$: d.visibleComputedData$,
50
+ computedLayoutData$: d.computedLayoutData$,
51
+ visibleComputedLayoutData$: d.visibleComputedLayoutData$,
52
+ seriesLabels$: d.seriesLabels$,
53
+ SeriesDataMap$: d.SeriesDataMap$,
54
+ GroupDataMap$: d.GroupDataMap$,
55
+ fullParams$: observer.fullParams$,
56
+ fullChartParams$: observer.fullChartParams$,
57
+ fullDataFormatter$: d.dataFormatter$,
58
+ gridAxesTransform$: d.gridAxesTransform$,
59
+ gridGraphicTransform$: d.gridGraphicTransform$,
60
+ gridAxesSize$: d.gridAxesSize$,
61
+ gridHighlight$: d.gridHighlight$,
62
+ gridContainerPosition$: d.gridContainerPosition$,
63
+ isSeriesSeprate$: isSeriesSeprate$,
64
+ event$: subject.event$ as Subject<any>,
65
+ })
66
+ })
67
+ })
68
+
69
+ return () => {
70
+ destroy$.next(undefined)
71
+ unsubscribeFnArr.forEach(fn => fn())
72
+ }
73
+ })
@@ -1,58 +1,60 @@
1
- import * as d3 from 'd3'
2
- import {
3
- Subject } from 'rxjs'
4
- import {
5
- defineMultiGridPlugin } from '@orbcharts/core'
6
- import { DEFAULT_MULTI_DOTS_PARAMS } from '../defaults'
7
- import { createBaseDots } from '../../base/BaseDots'
8
- import { multiGridDetailObservables } from '../multiGridObservables'
9
- import { getClassName, getUniID } from '../../utils/orbchartsUtils'
10
-
11
- const pluginName = 'MultiDots'
12
-
13
- const gridClassName = getClassName(pluginName, 'grid')
14
-
15
- export const MultiDots = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_DOTS_PARAMS)(({ selection, name, subject, observer }) => {
16
- const destroy$ = new Subject()
17
-
18
- const unsubscribeFnArr: (() => void)[] = []
19
-
20
- const multiGridPlugin$ = multiGridDetailObservables(observer)
21
-
22
- multiGridPlugin$.subscribe(data => {
23
- // 每次重新計算時,清除之前的訂閱
24
- unsubscribeFnArr.forEach(fn => fn())
25
-
26
- selection.selectAll(`g.${gridClassName}`)
27
- .data(data)
28
- .join('g')
29
- .attr('class', gridClassName)
30
- .each((d, i, g) => {
31
-
32
- const gridSelection = d3.select(g[i])
33
-
34
- unsubscribeFnArr[i] = createBaseDots(pluginName, {
35
- selection: gridSelection,
36
- computedData$: d.gridComputedData$,
37
- visibleComputedData$: d.visibleComputedData$,
38
- existSeriesLabels$: d.existSeriesLabels$,
39
- SeriesDataMap$: d.SeriesDataMap$,
40
- GroupDataMap$: d.GroupDataMap$,
41
- fullParams$: observer.fullParams$,
42
- fullChartParams$: observer.fullChartParams$,
43
- gridAxesTransform$: d.gridAxesTransform$,
44
- gridGraphicTransform$: d.gridGraphicTransform$,
45
- gridGraphicReverseScale$: d.gridGraphicReverseScale$,
46
- gridAxesSize$: d.gridAxesSize$,
47
- gridHighlight$: d.gridHighlight$,
48
- gridContainer$: d.gridContainer$,
49
- event$: subject.event$ as Subject<any>,
50
- })
51
- })
52
- })
53
-
54
- return () => {
55
- destroy$.next(undefined)
56
- unsubscribeFnArr.forEach(fn => fn())
57
- }
58
- })
1
+ import * as d3 from 'd3'
2
+ import {
3
+ Subject } from 'rxjs'
4
+ import {
5
+ defineMultiGridPlugin } from '@orbcharts/core'
6
+ import { DEFAULT_MULTI_DOTS_PARAMS } from '../defaults'
7
+ import { createBaseDots } from '../../base/BaseDots'
8
+ import { multiGridPluginObservables } from '../multiGridObservables'
9
+ import { getClassName, getUniID } from '../../utils/orbchartsUtils'
10
+
11
+ const pluginName = 'MultiDots'
12
+
13
+ const gridClassName = getClassName(pluginName, 'grid')
14
+
15
+ export const MultiDots = defineMultiGridPlugin(pluginName, DEFAULT_MULTI_DOTS_PARAMS)(({ selection, name, subject, observer }) => {
16
+ const destroy$ = new Subject()
17
+
18
+ const unsubscribeFnArr: (() => void)[] = []
19
+
20
+ const multiGridPlugin$ = multiGridPluginObservables(observer)
21
+
22
+ multiGridPlugin$.subscribe(data => {
23
+ // 每次重新計算時,清除之前的訂閱
24
+ unsubscribeFnArr.forEach(fn => fn())
25
+
26
+ selection.selectAll(`g.${gridClassName}`)
27
+ .data(data)
28
+ .join('g')
29
+ .attr('class', gridClassName)
30
+ .each((d, i, g) => {
31
+
32
+ const gridSelection = d3.select(g[i])
33
+
34
+ unsubscribeFnArr[i] = createBaseDots(pluginName, {
35
+ selection: gridSelection,
36
+ computedData$: d.computedData$,
37
+ visibleComputedData$: d.visibleComputedData$,
38
+ computedLayoutData$: d.computedLayoutData$,
39
+ visibleComputedLayoutData$: d.visibleComputedLayoutData$,
40
+ seriesLabels$: d.seriesLabels$,
41
+ SeriesDataMap$: d.SeriesDataMap$,
42
+ GroupDataMap$: d.GroupDataMap$,
43
+ fullParams$: observer.fullParams$,
44
+ fullChartParams$: observer.fullChartParams$,
45
+ gridAxesTransform$: d.gridAxesTransform$,
46
+ gridGraphicTransform$: d.gridGraphicTransform$,
47
+ gridGraphicReverseScale$: d.gridGraphicReverseScale$,
48
+ gridAxesSize$: d.gridAxesSize$,
49
+ gridHighlight$: d.gridHighlight$,
50
+ gridContainerPosition$: d.gridContainerPosition$,
51
+ event$: subject.event$ as Subject<any>,
52
+ })
53
+ })
54
+ })
55
+
56
+ return () => {
57
+ destroy$.next(undefined)
58
+ unsubscribeFnArr.forEach(fn => fn())
59
+ }
60
+ })