@orbcharts/plugins-basic 3.0.0-beta.2 → 3.0.0-beta.20

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.
Files changed (182) hide show
  1. package/LICENSE +200 -200
  2. package/dist/orbcharts-plugins-basic.es.js +15169 -10684
  3. package/dist/orbcharts-plugins-basic.umd.js +296 -83
  4. package/dist/src/base/BaseBars.d.ts +4 -4
  5. package/dist/src/base/BaseBarsTriangle.d.ts +4 -4
  6. package/dist/src/base/BaseDots.d.ts +4 -4
  7. package/dist/src/base/BaseGroupAxis.d.ts +2 -2
  8. package/dist/src/base/BaseLegend.d.ts +1 -1
  9. package/dist/src/base/BaseLineAreas.d.ts +5 -5
  10. package/dist/src/base/BaseLines.d.ts +5 -5
  11. package/dist/src/base/BaseRacingBars.d.ts +23 -0
  12. package/dist/src/base/BaseRacingLabels.d.ts +20 -0
  13. package/dist/src/base/BaseRacingValueLabels.d.ts +20 -0
  14. package/dist/src/base/{BaseBarStack.d.ts → BaseStackedBars.d.ts} +8 -8
  15. package/dist/src/base/BaseValueAxis.d.ts +6 -8
  16. package/dist/src/base/BaseXAxis.d.ts +20 -0
  17. package/dist/src/base/BaseYAxis.d.ts +18 -0
  18. package/dist/src/grid/defaults.d.ts +5 -5
  19. package/dist/src/grid/gridObservables.d.ts +12 -5
  20. package/dist/src/grid/index.d.ts +3 -3
  21. package/dist/src/grid/plugins/GroupZoom.d.ts +1 -0
  22. package/dist/src/grid/plugins/StackedBars.d.ts +1 -0
  23. package/dist/src/grid/plugins/StackedValueAxis.d.ts +1 -0
  24. package/dist/src/index.d.ts +2 -0
  25. package/dist/src/multiGrid/defaults.d.ts +4 -4
  26. package/dist/src/multiGrid/index.d.ts +3 -3
  27. package/dist/src/multiGrid/plugins/MultiStackedBars.d.ts +1 -0
  28. package/dist/src/multiGrid/plugins/MultiStackedValueAxis.d.ts +1 -0
  29. package/dist/src/multiGrid/plugins/OverlappingStackedValueAxes.d.ts +1 -0
  30. package/dist/src/multiValue/defaults.d.ts +13 -0
  31. package/dist/src/multiValue/index.d.ts +12 -0
  32. package/dist/src/multiValue/multiValueObservables.d.ts +56 -0
  33. package/dist/src/multiValue/plugins/MultiValueLegend.d.ts +1 -0
  34. package/dist/src/multiValue/plugins/MultiValueTooltip.d.ts +1 -0
  35. package/dist/src/multiValue/plugins/RacingBars.d.ts +1 -0
  36. package/dist/src/multiValue/plugins/RacingCounterTexts.d.ts +3 -0
  37. package/dist/src/multiValue/plugins/RacingValueAxis.d.ts +1 -0
  38. package/dist/src/multiValue/plugins/Scatter.d.ts +3 -0
  39. package/dist/src/multiValue/plugins/ScatterBubbles.d.ts +3 -0
  40. package/dist/src/multiValue/plugins/XAxis.d.ts +1 -0
  41. package/dist/src/multiValue/plugins/XYAux.d.ts +3 -0
  42. package/dist/src/multiValue/plugins/XYAxes.d.ts +1 -0
  43. package/dist/src/multiValue/plugins/XYAxes_legacy.d.ts +3 -0
  44. package/dist/src/multiValue/plugins/XZoom.d.ts +1 -0
  45. package/dist/src/noneData/plugins/Container.d.ts +0 -1
  46. package/dist/src/noneData/plugins/Tooltip.d.ts +0 -3
  47. package/dist/src/relationship/defaults.d.ts +6 -0
  48. package/dist/src/relationship/index.d.ts +5 -0
  49. package/dist/src/relationship/plugins/ForceDirected.d.ts +3 -0
  50. package/dist/src/relationship/plugins/ForceDirectedBubbles.d.ts +3 -0
  51. package/dist/src/relationship/plugins/RelationshipLegend.d.ts +1 -0
  52. package/dist/src/relationship/plugins/RelationshipTooltip.d.ts +1 -0
  53. package/dist/src/relationship/relationshipObservables.d.ts +1 -0
  54. package/dist/src/series/seriesObservables.d.ts +3 -3
  55. package/dist/src/utils/commonUtils.d.ts +2 -1
  56. package/dist/src/utils/d3Graphics.d.ts +2 -1
  57. package/dist/src/utils/d3Utils.d.ts +3 -2
  58. package/dist/src/utils/observables.d.ts +1 -1
  59. package/dist/src/utils/orbchartsUtils.d.ts +3 -3
  60. package/lib/core-types.ts +7 -7
  61. package/lib/core.ts +6 -6
  62. package/lib/plugins-basic-types.ts +6 -6
  63. package/package.json +44 -44
  64. package/src/base/BaseBars.ts +765 -765
  65. package/src/base/BaseBarsTriangle.ts +676 -674
  66. package/src/base/BaseDots.ts +464 -515
  67. package/src/base/BaseGroupAxis.ts +691 -679
  68. package/src/base/BaseLegend.ts +684 -680
  69. package/src/base/BaseLineAreas.ts +629 -629
  70. package/src/base/BaseLines.ts +706 -706
  71. package/src/base/BaseRacingBars.ts +552 -0
  72. package/src/base/BaseRacingLabels.ts +396 -0
  73. package/src/base/BaseRacingValueLabels.ts +403 -0
  74. package/src/base/{BaseBarStack.ts → BaseStackedBars.ts} +782 -780
  75. package/src/base/BaseTooltip.ts +386 -385
  76. package/src/base/BaseValueAxis.ts +600 -580
  77. package/src/base/BaseXAxis.ts +427 -0
  78. package/src/base/BaseYAxis.ts +389 -0
  79. package/src/base/types.ts +2 -2
  80. package/src/const.ts +30 -30
  81. package/src/grid/defaults.ts +213 -244
  82. package/src/grid/gridObservables.ts +612 -545
  83. package/src/grid/index.ts +16 -16
  84. package/src/grid/plugins/Bars.ts +69 -69
  85. package/src/grid/plugins/BarsPN.ts +66 -66
  86. package/src/grid/plugins/BarsTriangle.ts +73 -73
  87. package/src/grid/plugins/Dots.ts +68 -68
  88. package/src/grid/plugins/GridLegend.ts +107 -107
  89. package/src/grid/plugins/GridTooltip.ts +66 -66
  90. package/src/grid/plugins/GroupAux.ts +1120 -1098
  91. package/src/grid/plugins/GroupAxis.ts +73 -97
  92. package/src/grid/plugins/{GridZoom.ts → GroupZoom.ts} +218 -218
  93. package/src/grid/plugins/LineAreas.ts +65 -65
  94. package/src/grid/plugins/Lines.ts +59 -59
  95. package/src/grid/plugins/{BarStack.ts → StackedBars.ts} +64 -64
  96. package/src/grid/plugins/{ValueStackAxis.ts → StackedValueAxis.ts} +96 -95
  97. package/src/grid/plugins/ValueAxis.ts +94 -93
  98. package/src/index.ts +6 -9
  99. package/src/multiGrid/defaults.ts +244 -224
  100. package/src/multiGrid/index.ts +15 -15
  101. package/src/multiGrid/multiGridObservables.ts +50 -49
  102. package/src/multiGrid/plugins/MultiBars.ts +108 -108
  103. package/src/multiGrid/plugins/MultiBarsTriangle.ts +114 -114
  104. package/src/multiGrid/plugins/MultiDots.ts +102 -102
  105. package/src/multiGrid/plugins/MultiGridLegend.ts +169 -159
  106. package/src/multiGrid/plugins/MultiGridTooltip.ts +66 -66
  107. package/src/multiGrid/plugins/MultiGroupAxis.ts +137 -137
  108. package/src/multiGrid/plugins/MultiLineAreas.ts +107 -107
  109. package/src/multiGrid/plugins/MultiLines.ts +101 -101
  110. package/src/multiGrid/plugins/{MultiBarStack.ts → MultiStackedBars.ts} +106 -106
  111. package/src/multiGrid/plugins/{MultiValueStackAxis.ts → MultiStackedValueAxis.ts} +134 -133
  112. package/src/multiGrid/plugins/MultiValueAxis.ts +134 -133
  113. package/src/multiGrid/plugins/{OverlappingValueStackAxes.ts → OverlappingStackedValueAxes.ts} +300 -298
  114. package/src/multiGrid/plugins/OverlappingValueAxes.ts +300 -299
  115. package/src/multiValue/defaults.ts +432 -0
  116. package/src/multiValue/index.ts +13 -0
  117. package/src/multiValue/multiValueObservables.ts +667 -0
  118. package/src/multiValue/plugins/MultiValueLegend.ts +107 -0
  119. package/src/multiValue/plugins/MultiValueTooltip.ts +66 -0
  120. package/src/multiValue/plugins/RacingBars.ts +373 -0
  121. package/src/multiValue/plugins/RacingCounterTexts.ts +300 -0
  122. package/src/multiValue/plugins/RacingValueAxis.ts +115 -0
  123. package/src/multiValue/plugins/RankingAxis_legacy.ts +109 -0
  124. package/src/multiValue/plugins/Scatter.ts +426 -0
  125. package/src/multiValue/plugins/ScatterBubbles.ts +554 -0
  126. package/src/multiValue/plugins/XAxis.ts +108 -0
  127. package/src/multiValue/plugins/XYAux.ts +683 -0
  128. package/src/multiValue/plugins/XYAxes.ts +195 -0
  129. package/src/multiValue/plugins/XYAxes_legacy.ts +684 -0
  130. package/src/multiValue/plugins/XZoom.ts +300 -0
  131. package/src/noneData/defaults.ts +102 -102
  132. package/src/noneData/index.ts +3 -3
  133. package/src/noneData/plugins/Container.ts +28 -28
  134. package/src/noneData/plugins/Tooltip.ts +374 -374
  135. package/src/relationship/defaults.ts +222 -0
  136. package/src/relationship/index.ts +5 -0
  137. package/src/relationship/plugins/ForceDirected.ts +1174 -0
  138. package/src/relationship/plugins/ForceDirectedBubbles.ts +1412 -0
  139. package/src/relationship/plugins/RelationshipLegend.ts +100 -0
  140. package/src/relationship/plugins/RelationshipTooltip.ts +66 -0
  141. package/src/relationship/relationshipObservables.ts +50 -0
  142. package/src/series/defaults.ts +221 -206
  143. package/src/series/index.ts +9 -9
  144. package/src/series/plugins/Bubbles.ts +636 -603
  145. package/src/series/plugins/Pie.ts +623 -623
  146. package/src/series/plugins/PieEventTexts.ts +284 -283
  147. package/src/series/plugins/PieLabels.ts +640 -640
  148. package/src/series/plugins/Rose.ts +516 -516
  149. package/src/series/plugins/RoseLabels.ts +600 -600
  150. package/src/series/plugins/SeriesLegend.ts +107 -107
  151. package/src/series/plugins/SeriesTooltip.ts +66 -66
  152. package/src/series/seriesObservables.ts +145 -145
  153. package/src/series/seriesUtils.ts +51 -51
  154. package/src/tree/defaults.ts +102 -78
  155. package/src/tree/index.ts +4 -4
  156. package/src/tree/plugins/TreeLegend.ts +100 -107
  157. package/src/tree/plugins/TreeMap.ts +341 -333
  158. package/src/tree/plugins/TreeTooltip.ts +66 -66
  159. package/src/utils/commonUtils.ts +31 -22
  160. package/src/utils/d3Graphics.ts +176 -174
  161. package/src/utils/d3Utils.ts +92 -73
  162. package/src/utils/observables.ts +14 -14
  163. package/src/utils/orbchartsUtils.ts +130 -100
  164. package/tsconfig.base.json +13 -13
  165. package/tsconfig.json +2 -2
  166. package/vite.config.js +22 -22
  167. package/dist/src/grid/plugins/BarStack.d.ts +0 -1
  168. package/dist/src/grid/plugins/GridZoom.d.ts +0 -1
  169. package/dist/src/grid/plugins/ValueStackAxis.d.ts +0 -1
  170. package/dist/src/multiGrid/plugins/MultiBarStack.d.ts +0 -1
  171. package/dist/src/multiGrid/plugins/MultiValueStackAxis.d.ts +0 -1
  172. package/dist/src/multiGrid/plugins/OverlappingValueStackAxes.d.ts +0 -1
  173. package/src/grid/plugins/RankingAxis.ts +0 -0
  174. package/src/multiValue/plugins/ScatterAxes.ts +0 -0
  175. package/src/relationship/plugins/Relationship.ts +0 -0
  176. /package/dist/src/{base/BaseGroupArea.d.ts → multiValue/plugins/OrdinalBubbles.d.ts} +0 -0
  177. /package/dist/src/{grid/plugins/Ranking.d.ts → multiValue/plugins/OrdinalXAxis.d.ts} +0 -0
  178. /package/dist/src/{grid/plugins/RankingAxis.d.ts → multiValue/plugins/RacingCounterAxis.d.ts} +0 -0
  179. /package/dist/src/multiValue/plugins/{ScatterAxes.d.ts → RankingAxis_legacy.d.ts} +0 -0
  180. /package/{dist/src/relationship/plugins/Relationship.d.ts → src/multiValue/plugins/OrdinalBubbles.ts} +0 -0
  181. /package/src/{base/BaseGroupArea.ts → multiValue/plugins/OrdinalXAxis.ts} +0 -0
  182. /package/src/{grid/plugins/Ranking.ts → multiValue/plugins/RacingCounterAxis.ts} +0 -0
package/src/grid/index.ts CHANGED
@@ -1,16 +1,16 @@
1
- export * from './defaults'
2
- // export * from './types'
3
- export { Lines } from './plugins/Lines'
4
- export { LineAreas } from './plugins/LineAreas'
5
- export { Bars } from './plugins/Bars'
6
- export { BarsPN } from './plugins/BarsPN'
7
- export { BarStack } from './plugins/BarStack'
8
- export { BarsTriangle } from './plugins/BarsTriangle'
9
- export { Dots } from './plugins/Dots'
10
- export { GridLegend } from './plugins/GridLegend'
11
- export { GroupAxis } from './plugins/GroupAxis'
12
- export { ValueAxis } from './plugins/ValueAxis'
13
- export { ValueStackAxis } from './plugins/ValueStackAxis'
14
- export { GridTooltip } from './plugins/GridTooltip'
15
- export { GridZoom } from './plugins/GridZoom'
16
- export { GroupAux } from './plugins/GroupAux'
1
+ export * from './defaults'
2
+ // export * from './types'
3
+ export { Lines } from './plugins/Lines'
4
+ export { LineAreas } from './plugins/LineAreas'
5
+ export { Bars } from './plugins/Bars'
6
+ export { BarsPN } from './plugins/BarsPN'
7
+ export { StackedBars } from './plugins/StackedBars'
8
+ export { BarsTriangle } from './plugins/BarsTriangle'
9
+ export { Dots } from './plugins/Dots'
10
+ export { GridLegend } from './plugins/GridLegend'
11
+ export { GroupAxis } from './plugins/GroupAxis'
12
+ export { ValueAxis } from './plugins/ValueAxis'
13
+ export { StackedValueAxis } from './plugins/StackedValueAxis'
14
+ export { GridTooltip } from './plugins/GridTooltip'
15
+ export { GroupZoom } from './plugins/GroupZoom'
16
+ export { GroupAux } from './plugins/GroupAux'
@@ -1,69 +1,69 @@
1
- import {
2
- Subject,
3
- Observable,
4
- map,
5
- distinctUntilChanged,
6
- shareReplay,
7
- takeUntil
8
- } from 'rxjs'
9
- import type { DefinePluginConfig } from '../../../lib/core-types'
10
- import {
11
- defineGridPlugin } from '../../../lib/core'
12
- import { DEFAULT_BARS_PARAMS } from '../defaults'
13
- import { LAYER_INDEX_OF_GRAPHIC } from '../../const'
14
- import { createBaseBars } from '../../base/BaseBars'
15
-
16
- const pluginName = 'Bars'
17
-
18
- const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_BARS_PARAMS> = {
19
- name: pluginName,
20
- defaultParams: DEFAULT_BARS_PARAMS,
21
- layerIndex: LAYER_INDEX_OF_GRAPHIC,
22
- validator: (params, { validateColumns }) => {
23
- const result = validateColumns(params, {
24
- barWidth: {
25
- toBeTypes: ['number']
26
- },
27
- barPadding: {
28
- toBeTypes: ['number']
29
- },
30
- barGroupPadding: {
31
- toBeTypes: ['number']
32
- },
33
- barRadius: {
34
- toBeTypes: ['number', 'boolean']
35
- }
36
- })
37
- return result
38
- }
39
- }
40
-
41
- export const Bars = defineGridPlugin(pluginConfig)(({ selection, name, subject, observer }) => {
42
- const destroy$ = new Subject()
43
-
44
- const unsubscribeBaseBars = createBaseBars(pluginName, {
45
- selection,
46
- computedData$: observer.computedData$,
47
- computedLayoutData$: observer.computedLayoutData$,
48
- visibleComputedData$: observer.visibleComputedData$,
49
- visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
50
- seriesLabels$: observer.seriesLabels$,
51
- SeriesDataMap$: observer.SeriesDataMap$,
52
- GroupDataMap$: observer.GroupDataMap$,
53
- fullParams$: observer.fullParams$,
54
- fullChartParams$: observer.fullChartParams$,
55
- gridAxesTransform$: observer.gridAxesTransform$,
56
- gridGraphicTransform$: observer.gridGraphicTransform$,
57
- gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
58
- gridAxesSize$: observer.gridAxesSize$,
59
- gridHighlight$: observer.gridHighlight$,
60
- gridContainerPosition$: observer.gridContainerPosition$,
61
- isSeriesSeprate$: observer.isSeriesSeprate$,
62
- event$: subject.event$,
63
- })
64
-
65
- return () => {
66
- destroy$.next(undefined)
67
- unsubscribeBaseBars()
68
- }
69
- })
1
+ import {
2
+ Subject,
3
+ Observable,
4
+ map,
5
+ distinctUntilChanged,
6
+ shareReplay,
7
+ takeUntil
8
+ } from 'rxjs'
9
+ import type { DefinePluginConfig } from '../../../lib/core-types'
10
+ import {
11
+ defineGridPlugin } from '../../../lib/core'
12
+ import { DEFAULT_BARS_PARAMS } from '../defaults'
13
+ import { LAYER_INDEX_OF_GRAPHIC } from '../../const'
14
+ import { createBaseBars } from '../../base/BaseBars'
15
+
16
+ const pluginName = 'Bars'
17
+
18
+ const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_BARS_PARAMS> = {
19
+ name: pluginName,
20
+ defaultParams: DEFAULT_BARS_PARAMS,
21
+ layerIndex: LAYER_INDEX_OF_GRAPHIC,
22
+ validator: (params, { validateColumns }) => {
23
+ const result = validateColumns(params, {
24
+ barWidth: {
25
+ toBeTypes: ['number']
26
+ },
27
+ barPadding: {
28
+ toBeTypes: ['number']
29
+ },
30
+ barGroupPadding: {
31
+ toBeTypes: ['number']
32
+ },
33
+ barRadius: {
34
+ toBeTypes: ['number', 'boolean']
35
+ }
36
+ })
37
+ return result
38
+ }
39
+ }
40
+
41
+ export const Bars = defineGridPlugin(pluginConfig)(({ selection, name, subject, observer }) => {
42
+ const destroy$ = new Subject()
43
+
44
+ const unsubscribeBaseBars = createBaseBars(pluginName, {
45
+ selection,
46
+ computedData$: observer.computedData$,
47
+ computedAxesData$: observer.computedAxesData$,
48
+ visibleComputedData$: observer.visibleComputedData$,
49
+ visibleComputedAxesData$: observer.visibleComputedAxesData$,
50
+ seriesLabels$: observer.seriesLabels$,
51
+ SeriesDataMap$: observer.SeriesDataMap$,
52
+ GroupDataMap$: observer.GroupDataMap$,
53
+ fullParams$: observer.fullParams$,
54
+ fullChartParams$: observer.fullChartParams$,
55
+ gridAxesTransform$: observer.gridAxesTransform$,
56
+ gridGraphicTransform$: observer.gridGraphicTransform$,
57
+ gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
58
+ gridAxesSize$: observer.gridAxesSize$,
59
+ gridHighlight$: observer.gridHighlight$,
60
+ gridContainerPosition$: observer.gridContainerPosition$,
61
+ isSeriesSeprate$: observer.isSeriesSeprate$,
62
+ event$: subject.event$,
63
+ })
64
+
65
+ return () => {
66
+ destroy$.next(undefined)
67
+ unsubscribeBaseBars()
68
+ }
69
+ })
@@ -1,66 +1,66 @@
1
- import {
2
- of,
3
- Subject,
4
- Observable } from 'rxjs'
5
- import type { DefinePluginConfig } from '../../../lib/core-types'
6
- import {
7
- defineGridPlugin } from '../../../lib/core'
8
- import { DEFAULT_BARS_PARAMS } from '../defaults'
9
- import { LAYER_INDEX_OF_GRAPHIC } from '../../const'
10
- import { createBaseBars } from '../../base/BaseBars'
11
-
12
- const pluginName = 'BarsPN'
13
-
14
- const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_BARS_PARAMS> = {
15
- name: pluginName,
16
- defaultParams: DEFAULT_BARS_PARAMS,
17
- layerIndex: LAYER_INDEX_OF_GRAPHIC,
18
- validator: (params, { validateColumns }) => {
19
- const result = validateColumns(params, {
20
- barWidth: {
21
- toBeTypes: ['number']
22
- },
23
- barPadding: {
24
- toBeTypes: ['number']
25
- },
26
- barGroupPadding: {
27
- toBeTypes: ['number']
28
- },
29
- barRadius: {
30
- toBeTypes: ['number', 'boolean']
31
- }
32
- })
33
- return result
34
- }
35
- }
36
-
37
- export const BarsPN = defineGridPlugin(pluginConfig)(({ selection, name, subject, observer }) => {
38
- const destroy$ = new Subject()
39
-
40
- const unsubscribeBaseBars = createBaseBars(pluginName, {
41
- selection,
42
- computedData$: observer.computedData$,
43
- computedLayoutData$: observer.computedLayoutData$,
44
- visibleComputedData$: observer.visibleComputedData$,
45
- visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
46
- seriesLabels$: observer.seriesLabels$,
47
- SeriesDataMap$: observer.SeriesDataMap$,
48
- GroupDataMap$: observer.GroupDataMap$,
49
- fullParams$: observer.fullParams$,
50
- fullChartParams$: observer.fullChartParams$,
51
- gridAxesTransform$: observer.gridAxesTransform$,
52
- gridGraphicTransform$: observer.gridGraphicTransform$,
53
- gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
54
- gridAxesSize$: observer.gridAxesSize$,
55
- gridHighlight$: observer.gridHighlight$,
56
- gridContainerPosition$: observer.gridContainerPosition$,
57
- // isSeriesSeprate$: observer.isSeriesSeprate$,
58
- isSeriesSeprate$: of(true), // hack: 永遠為true,可以強制讓每組series的bars的x位置都是一樣的
59
- event$: subject.event$,
60
- })
61
-
62
- return () => {
63
- destroy$.next(undefined)
64
- unsubscribeBaseBars()
65
- }
66
- })
1
+ import {
2
+ of,
3
+ Subject,
4
+ Observable } from 'rxjs'
5
+ import type { DefinePluginConfig } from '../../../lib/core-types'
6
+ import {
7
+ defineGridPlugin } from '../../../lib/core'
8
+ import { DEFAULT_BARS_PARAMS } from '../defaults'
9
+ import { LAYER_INDEX_OF_GRAPHIC } from '../../const'
10
+ import { createBaseBars } from '../../base/BaseBars'
11
+
12
+ const pluginName = 'BarsPN'
13
+
14
+ const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_BARS_PARAMS> = {
15
+ name: pluginName,
16
+ defaultParams: DEFAULT_BARS_PARAMS,
17
+ layerIndex: LAYER_INDEX_OF_GRAPHIC,
18
+ validator: (params, { validateColumns }) => {
19
+ const result = validateColumns(params, {
20
+ barWidth: {
21
+ toBeTypes: ['number']
22
+ },
23
+ barPadding: {
24
+ toBeTypes: ['number']
25
+ },
26
+ barGroupPadding: {
27
+ toBeTypes: ['number']
28
+ },
29
+ barRadius: {
30
+ toBeTypes: ['number', 'boolean']
31
+ }
32
+ })
33
+ return result
34
+ }
35
+ }
36
+
37
+ export const BarsPN = defineGridPlugin(pluginConfig)(({ selection, name, subject, observer }) => {
38
+ const destroy$ = new Subject()
39
+
40
+ const unsubscribeBaseBars = createBaseBars(pluginName, {
41
+ selection,
42
+ computedData$: observer.computedData$,
43
+ computedAxesData$: observer.computedAxesData$,
44
+ visibleComputedData$: observer.visibleComputedData$,
45
+ visibleComputedAxesData$: observer.visibleComputedAxesData$,
46
+ seriesLabels$: observer.seriesLabels$,
47
+ SeriesDataMap$: observer.SeriesDataMap$,
48
+ GroupDataMap$: observer.GroupDataMap$,
49
+ fullParams$: observer.fullParams$,
50
+ fullChartParams$: observer.fullChartParams$,
51
+ gridAxesTransform$: observer.gridAxesTransform$,
52
+ gridGraphicTransform$: observer.gridGraphicTransform$,
53
+ gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
54
+ gridAxesSize$: observer.gridAxesSize$,
55
+ gridHighlight$: observer.gridHighlight$,
56
+ gridContainerPosition$: observer.gridContainerPosition$,
57
+ // isSeriesSeprate$: observer.isSeriesSeprate$,
58
+ isSeriesSeprate$: of(true), // hack: 永遠為true,可以強制讓每組series的bars的x位置都是一樣的
59
+ event$: subject.event$,
60
+ })
61
+
62
+ return () => {
63
+ destroy$.next(undefined)
64
+ unsubscribeBaseBars()
65
+ }
66
+ })
@@ -1,74 +1,74 @@
1
- import {
2
- Subject,
3
- Observable,
4
- takeUntil,
5
- map,
6
- distinctUntilChanged,
7
- shareReplay
8
- } from 'rxjs'
9
- import type { DefinePluginConfig } from '../../../lib/core-types'
10
- import { defineGridPlugin } from '../../../lib/core'
11
- import { DEFAULT_BARS_TRIANGLE_PARAMS } from '../defaults'
12
- import { LAYER_INDEX_OF_GRAPHIC } from '../../const'
13
- import { createBaseBarsTriangle } from '../../base/BaseBarsTriangle'
14
-
15
- const pluginName = 'BarsTriangle'
16
-
17
- const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_BARS_TRIANGLE_PARAMS> = {
18
- name: pluginName,
19
- defaultParams: DEFAULT_BARS_TRIANGLE_PARAMS,
20
- layerIndex: 5,
21
- validator: (params, { validateColumns }) => {
22
- const result = validateColumns(params, {
23
- barWidth: {
24
- toBeTypes: ['number']
25
- },
26
- barPadding: {
27
- toBeTypes: ['number']
28
- },
29
- barGroupPadding: {
30
- toBeTypes: ['number']
31
- },
32
- linearGradientOpacity: {
33
- toBe: '[number, number]',
34
- test: (value: any) => {
35
- return Array.isArray(value)
36
- && value.length === 2
37
- && typeof value[0] === 'number'
38
- && typeof value[1] === 'number'
39
- }
40
- }
41
- })
42
- return result
43
- }
44
- }
45
-
46
- export const BarsTriangle = defineGridPlugin(pluginConfig)(({ selection, name, subject, observer }) => {
47
- const destroy$ = new Subject()
48
-
49
- const unsubscribeBaseBars = createBaseBarsTriangle(pluginName, {
50
- selection,
51
- computedData$: observer.computedData$,
52
- computedLayoutData$: observer.computedLayoutData$,
53
- visibleComputedData$: observer.visibleComputedData$,
54
- visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
55
- fullDataFormatter$: observer.fullDataFormatter$,
56
- seriesLabels$: observer.seriesLabels$,
57
- SeriesDataMap$: observer.SeriesDataMap$,
58
- GroupDataMap$: observer.GroupDataMap$,
59
- fullParams$: observer.fullParams$,
60
- fullChartParams$: observer.fullChartParams$,
61
- gridAxesTransform$: observer.gridAxesTransform$,
62
- gridGraphicTransform$: observer.gridGraphicTransform$,
63
- gridAxesSize$: observer.gridAxesSize$,
64
- gridHighlight$: observer.gridHighlight$,
65
- gridContainerPosition$: observer.gridContainerPosition$,
66
- isSeriesSeprate$: observer.isSeriesSeprate$,
67
- event$: subject.event$,
68
- })
69
-
70
- return () => {
71
- destroy$.next(undefined)
72
- unsubscribeBaseBars()
73
- }
1
+ import {
2
+ Subject,
3
+ Observable,
4
+ takeUntil,
5
+ map,
6
+ distinctUntilChanged,
7
+ shareReplay
8
+ } from 'rxjs'
9
+ import type { DefinePluginConfig } from '../../../lib/core-types'
10
+ import { defineGridPlugin } from '../../../lib/core'
11
+ import { DEFAULT_BARS_TRIANGLE_PARAMS } from '../defaults'
12
+ import { LAYER_INDEX_OF_GRAPHIC } from '../../const'
13
+ import { createBaseBarsTriangle } from '../../base/BaseBarsTriangle'
14
+
15
+ const pluginName = 'BarsTriangle'
16
+
17
+ const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_BARS_TRIANGLE_PARAMS> = {
18
+ name: pluginName,
19
+ defaultParams: DEFAULT_BARS_TRIANGLE_PARAMS,
20
+ layerIndex: 5,
21
+ validator: (params, { validateColumns }) => {
22
+ const result = validateColumns(params, {
23
+ barWidth: {
24
+ toBeTypes: ['number']
25
+ },
26
+ barPadding: {
27
+ toBeTypes: ['number']
28
+ },
29
+ barGroupPadding: {
30
+ toBeTypes: ['number']
31
+ },
32
+ linearGradientOpacity: {
33
+ toBe: '[number, number]',
34
+ test: (value: any) => {
35
+ return Array.isArray(value)
36
+ && value.length === 2
37
+ && typeof value[0] === 'number'
38
+ && typeof value[1] === 'number'
39
+ }
40
+ }
41
+ })
42
+ return result
43
+ }
44
+ }
45
+
46
+ export const BarsTriangle = defineGridPlugin(pluginConfig)(({ selection, name, subject, observer }) => {
47
+ const destroy$ = new Subject()
48
+
49
+ const unsubscribeBaseBars = createBaseBarsTriangle(pluginName, {
50
+ selection,
51
+ computedData$: observer.computedData$,
52
+ computedAxesData$: observer.computedAxesData$,
53
+ visibleComputedData$: observer.visibleComputedData$,
54
+ visibleComputedAxesData$: observer.visibleComputedAxesData$,
55
+ fullDataFormatter$: observer.fullDataFormatter$,
56
+ seriesLabels$: observer.seriesLabels$,
57
+ SeriesDataMap$: observer.SeriesDataMap$,
58
+ GroupDataMap$: observer.GroupDataMap$,
59
+ fullParams$: observer.fullParams$,
60
+ fullChartParams$: observer.fullChartParams$,
61
+ gridAxesTransform$: observer.gridAxesTransform$,
62
+ gridGraphicTransform$: observer.gridGraphicTransform$,
63
+ gridAxesSize$: observer.gridAxesSize$,
64
+ gridHighlight$: observer.gridHighlight$,
65
+ gridContainerPosition$: observer.gridContainerPosition$,
66
+ isSeriesSeprate$: observer.isSeriesSeprate$,
67
+ event$: subject.event$,
68
+ })
69
+
70
+ return () => {
71
+ destroy$.next(undefined)
72
+ unsubscribeBaseBars()
73
+ }
74
74
  })
@@ -1,69 +1,69 @@
1
- import {
2
- Subject } from 'rxjs'
3
- import {
4
- defineGridPlugin } from '../../../lib/core'
5
- import type { DefinePluginConfig } from '../../../lib/core-types'
6
- import { DEFAULT_DOTS_PARAMS } from '../defaults'
7
- import { LAYER_INDEX_OF_GRAPHIC_COVER } from '../../const'
8
- import { createBaseDots } from '../../base/BaseDots'
9
-
10
- const pluginName = 'Dots'
11
-
12
- const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_DOTS_PARAMS> = {
13
- name: pluginName,
14
- defaultParams: DEFAULT_DOTS_PARAMS,
15
- layerIndex: LAYER_INDEX_OF_GRAPHIC_COVER,
16
- validator: (params, { validateColumns }) => {
17
- const result = validateColumns(params, {
18
- radius: {
19
- toBeTypes: ['number']
20
- },
21
- fillColorType: {
22
- toBeOption: 'ColorType',
23
- },
24
- strokeColorType: {
25
- toBeOption: 'ColorType',
26
- },
27
- strokeWidth: {
28
- toBeTypes: ['number']
29
- },
30
- // strokeWidthWhileHighlight: {
31
- // toBeTypes: ['number']
32
- // },
33
- onlyShowHighlighted: {
34
- toBeTypes: ['boolean']
35
- }
36
- })
37
- return result
38
- }
39
- }
40
-
41
- export const Dots = defineGridPlugin(pluginConfig)(({ selection, name, subject, observer }) => {
42
-
43
- const destroy$ = new Subject()
44
-
45
- const unsubscribeBaseBars = createBaseDots(pluginName, {
46
- selection,
47
- computedData$: observer.computedData$,
48
- computedLayoutData$: observer.computedLayoutData$,
49
- visibleComputedData$: observer.visibleComputedData$,
50
- visibleComputedLayoutData$: observer.visibleComputedLayoutData$,
51
- seriesLabels$: observer.seriesLabels$,
52
- SeriesDataMap$: observer.SeriesDataMap$,
53
- GroupDataMap$: observer.GroupDataMap$,
54
- fullParams$: observer.fullParams$,
55
- fullChartParams$: observer.fullChartParams$,
56
- gridAxesTransform$: observer.gridAxesTransform$,
57
- gridGraphicTransform$: observer.gridGraphicTransform$,
58
- gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
59
- gridAxesSize$: observer.gridAxesSize$,
60
- gridHighlight$: observer.gridHighlight$,
61
- gridContainerPosition$: observer.gridContainerPosition$,
62
- event$: subject.event$,
63
- })
64
-
65
- return () => {
66
- destroy$.next(undefined)
67
- unsubscribeBaseBars()
68
- }
1
+ import {
2
+ Subject } from 'rxjs'
3
+ import {
4
+ defineGridPlugin } from '../../../lib/core'
5
+ import type { DefinePluginConfig } from '../../../lib/core-types'
6
+ import { DEFAULT_DOTS_PARAMS } from '../defaults'
7
+ import { LAYER_INDEX_OF_GRAPHIC_COVER } from '../../const'
8
+ import { createBaseDots } from '../../base/BaseDots'
9
+
10
+ const pluginName = 'Dots'
11
+
12
+ const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_DOTS_PARAMS> = {
13
+ name: pluginName,
14
+ defaultParams: DEFAULT_DOTS_PARAMS,
15
+ layerIndex: LAYER_INDEX_OF_GRAPHIC_COVER,
16
+ validator: (params, { validateColumns }) => {
17
+ const result = validateColumns(params, {
18
+ radius: {
19
+ toBeTypes: ['number']
20
+ },
21
+ fillColorType: {
22
+ toBeOption: 'ColorType',
23
+ },
24
+ strokeColorType: {
25
+ toBeOption: 'ColorType',
26
+ },
27
+ strokeWidth: {
28
+ toBeTypes: ['number']
29
+ },
30
+ // strokeWidthWhileHighlight: {
31
+ // toBeTypes: ['number']
32
+ // },
33
+ onlyShowHighlighted: {
34
+ toBeTypes: ['boolean']
35
+ }
36
+ })
37
+ return result
38
+ }
39
+ }
40
+
41
+ export const Dots = defineGridPlugin(pluginConfig)(({ selection, name, subject, observer }) => {
42
+
43
+ const destroy$ = new Subject()
44
+
45
+ const unsubscribeBaseBars = createBaseDots(pluginName, {
46
+ selection,
47
+ computedData$: observer.computedData$,
48
+ computedAxesData$: observer.computedAxesData$,
49
+ visibleComputedData$: observer.visibleComputedData$,
50
+ visibleComputedAxesData$: observer.visibleComputedAxesData$,
51
+ seriesLabels$: observer.seriesLabels$,
52
+ SeriesDataMap$: observer.SeriesDataMap$,
53
+ GroupDataMap$: observer.GroupDataMap$,
54
+ fullParams$: observer.fullParams$,
55
+ fullChartParams$: observer.fullChartParams$,
56
+ gridAxesTransform$: observer.gridAxesTransform$,
57
+ gridGraphicTransform$: observer.gridGraphicTransform$,
58
+ gridGraphicReverseScale$: observer.gridGraphicReverseScale$,
59
+ gridAxesSize$: observer.gridAxesSize$,
60
+ gridHighlight$: observer.gridHighlight$,
61
+ gridContainerPosition$: observer.gridContainerPosition$,
62
+ event$: subject.event$,
63
+ })
64
+
65
+ return () => {
66
+ destroy$.next(undefined)
67
+ unsubscribeBaseBars()
68
+ }
69
69
  })