@orbcharts/plugins-basic 3.0.0-beta.8 → 3.0.0

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 (192) hide show
  1. package/dist/orbcharts-plugins-basic.es.js +13170 -10984
  2. package/dist/orbcharts-plugins-basic.umd.js +266 -98
  3. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseBars.d.ts +3 -3
  4. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseBarsTriangle.d.ts +3 -3
  5. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseDots.d.ts +3 -3
  6. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseLineAreas.d.ts +3 -3
  7. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseLines.d.ts +3 -3
  8. package/dist/src/base/BaseRacingBars.d.ts +23 -0
  9. package/dist/src/base/BaseRacingLabels.d.ts +20 -0
  10. package/dist/src/base/BaseRacingValueLabels.d.ts +20 -0
  11. package/dist/{orbcharts-plugins-basic/src/base/BaseStackedBar.d.ts → src/base/BaseStackedBars.d.ts} +7 -7
  12. package/dist/{orbcharts-plugins-basic/src → src}/base/BaseValueAxis.d.ts +4 -7
  13. package/dist/src/base/BaseXAxis.d.ts +20 -0
  14. package/dist/src/base/BaseYAxis.d.ts +18 -0
  15. package/dist/{orbcharts-plugins-basic/src → src}/grid/defaults.d.ts +3 -3
  16. package/dist/{orbcharts-plugins-basic/src → src}/grid/gridObservables.d.ts +8 -1
  17. package/dist/{orbcharts-plugins-basic/src → src}/grid/index.d.ts +2 -2
  18. package/dist/src/grid/plugins/GroupZoom.d.ts +1 -0
  19. package/dist/src/grid/plugins/StackedBars.d.ts +1 -0
  20. package/dist/src/index.d.ts +7 -1
  21. package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/defaults.d.ts +2 -2
  22. package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/index.d.ts +1 -1
  23. package/dist/src/multiGrid/plugins/MultiStackedBars.d.ts +1 -0
  24. package/dist/src/multiValue/defaults.d.ts +13 -0
  25. package/dist/{orbcharts-plugins-basic/src → src}/multiValue/index.d.ts +5 -1
  26. package/dist/src/multiValue/multiValueObservables.d.ts +56 -0
  27. package/dist/src/multiValue/plugins/RacingBars.d.ts +1 -0
  28. package/dist/src/multiValue/plugins/RacingCounterTexts.d.ts +3 -0
  29. package/dist/src/multiValue/plugins/RacingValueAxis.d.ts +1 -0
  30. package/dist/src/multiValue/plugins/XAxis.d.ts +1 -0
  31. package/dist/src/multiValue/plugins/XYAxes.d.ts +1 -0
  32. package/dist/src/multiValue/plugins/XZoom.d.ts +1 -0
  33. package/dist/{orbcharts-plugins-basic/src → src}/relationship/defaults.d.ts +2 -1
  34. package/dist/{orbcharts-plugins-basic/src → src}/relationship/index.d.ts +1 -0
  35. package/dist/src/relationship/plugins/ForceDirectedBubbles.d.ts +3 -0
  36. package/dist/{orbcharts-plugins-basic/src → src}/utils/commonUtils.d.ts +1 -0
  37. package/dist/{orbcharts-plugins-basic/src → src}/utils/d3Graphics.d.ts +2 -1
  38. package/dist/{orbcharts-plugins-basic/src → src}/utils/d3Utils.d.ts +1 -0
  39. package/lib/core.ts +1 -1
  40. package/package.json +4 -4
  41. package/src/base/BaseBars.ts +15 -15
  42. package/src/base/BaseBarsTriangle.ts +15 -15
  43. package/src/base/BaseDots.ts +14 -14
  44. package/src/base/BaseGroupAxis.ts +18 -6
  45. package/src/base/BaseLineAreas.ts +12 -12
  46. package/src/base/BaseLines.ts +11 -11
  47. package/src/base/BaseRacingBars.ts +552 -0
  48. package/src/base/BaseRacingLabels.ts +396 -0
  49. package/src/base/BaseRacingValueLabels.ts +403 -0
  50. package/src/base/{BaseStackedBar.ts → BaseStackedBars.ts} +26 -26
  51. package/src/base/BaseTooltip.ts +2 -1
  52. package/src/base/BaseValueAxis.ts +70 -53
  53. package/src/base/BaseXAxis.ts +427 -0
  54. package/src/base/BaseYAxis.ts +389 -0
  55. package/src/grid/defaults.ts +44 -77
  56. package/src/grid/gridObservables.ts +58 -0
  57. package/src/grid/index.ts +2 -2
  58. package/src/grid/plugins/Bars.ts +2 -2
  59. package/src/grid/plugins/BarsPN.ts +2 -2
  60. package/src/grid/plugins/BarsTriangle.ts +2 -2
  61. package/src/grid/plugins/Dots.ts +2 -2
  62. package/src/grid/plugins/GridLegend.ts +7 -7
  63. package/src/grid/plugins/GroupAux.ts +41 -24
  64. package/src/grid/plugins/GroupAxis.ts +0 -24
  65. package/src/grid/plugins/{GridZoom.ts → GroupZoom.ts} +5 -5
  66. package/src/grid/plugins/LineAreas.ts +2 -2
  67. package/src/grid/plugins/Lines.ts +2 -2
  68. package/src/grid/plugins/{StackedBar.ts → StackedBars.ts} +9 -9
  69. package/src/multiGrid/defaults.ts +44 -24
  70. package/src/multiGrid/index.ts +1 -1
  71. package/src/multiGrid/multiGridObservables.ts +1 -0
  72. package/src/multiGrid/plugins/MultiBars.ts +3 -3
  73. package/src/multiGrid/plugins/MultiBarsTriangle.ts +3 -3
  74. package/src/multiGrid/plugins/MultiDots.ts +3 -3
  75. package/src/multiGrid/plugins/MultiGridLegend.ts +20 -10
  76. package/src/multiGrid/plugins/MultiLineAreas.ts +3 -3
  77. package/src/multiGrid/plugins/MultiLines.ts +3 -3
  78. package/src/multiGrid/plugins/{MultiStackedBar.ts → MultiStackedBars.ts} +10 -10
  79. package/src/multiGrid/plugins/OverlappingStackedValueAxes.ts +1 -0
  80. package/src/multiValue/defaults.ts +277 -12
  81. package/src/multiValue/index.ts +5 -1
  82. package/src/multiValue/multiValueObservables.ts +414 -44
  83. package/src/multiValue/plugins/OrdinalXAxis.ts +0 -0
  84. package/src/multiValue/plugins/RacingBars.ts +373 -0
  85. package/src/multiValue/plugins/RacingCounterAxis.ts +0 -0
  86. package/src/multiValue/plugins/RacingCounterTexts.ts +300 -0
  87. package/src/multiValue/plugins/RacingValueAxis.ts +115 -0
  88. package/src/multiValue/plugins/RankingAxis_legacy.ts +109 -0
  89. package/src/multiValue/plugins/Scatter.ts +13 -13
  90. package/src/multiValue/plugins/ScatterBubbles.ts +13 -13
  91. package/src/multiValue/plugins/XAxis.ts +108 -0
  92. package/src/multiValue/plugins/XYAux.ts +15 -14
  93. package/src/multiValue/plugins/XYAxes.ts +38 -528
  94. package/src/multiValue/plugins/XYAxes_legacy.ts +684 -0
  95. package/src/multiValue/plugins/{XYZoom.ts → XZoom.ts} +17 -17
  96. package/src/relationship/defaults.ts +129 -20
  97. package/src/relationship/index.ts +1 -0
  98. package/src/relationship/plugins/ForceDirected.ts +113 -87
  99. package/src/relationship/plugins/ForceDirectedBubbles.ts +1412 -0
  100. package/src/series/defaults.ts +52 -37
  101. package/src/series/plugins/Bubbles.ts +71 -39
  102. package/src/series/plugins/Pie.ts +5 -5
  103. package/src/series/plugins/PieEventTexts.ts +3 -3
  104. package/src/series/plugins/PieLabels.ts +5 -5
  105. package/src/series/plugins/Rose.ts +11 -11
  106. package/src/series/plugins/RoseLabels.ts +9 -9
  107. package/src/tree/defaults.ts +46 -22
  108. package/src/tree/plugins/TreeMap.ts +11 -3
  109. package/src/utils/commonUtils.ts +10 -1
  110. package/src/utils/d3Graphics.ts +4 -2
  111. package/src/utils/d3Utils.ts +18 -0
  112. package/src/utils/orbchartsUtils.ts +30 -16
  113. package/dist/orbcharts-plugins-basic/src/grid/plugins/GridZoom.d.ts +0 -1
  114. package/dist/orbcharts-plugins-basic/src/grid/plugins/StackedBar.d.ts +0 -1
  115. package/dist/orbcharts-plugins-basic/src/index.d.ts +0 -7
  116. package/dist/orbcharts-plugins-basic/src/multiGrid/plugins/MultiStackedBar.d.ts +0 -1
  117. package/dist/orbcharts-plugins-basic/src/multiValue/defaults.d.ts +0 -9
  118. package/dist/orbcharts-plugins-basic/src/multiValue/multiValueObservables.d.ts +0 -33
  119. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/XYZoom.d.ts +0 -1
  120. /package/dist/{orbcharts-plugins-basic/lib → lib}/core-types.d.ts +0 -0
  121. /package/dist/{orbcharts-plugins-basic/lib → lib}/core.d.ts +0 -0
  122. /package/dist/{orbcharts-plugins-basic/lib → lib}/plugins-basic-types.d.ts +0 -0
  123. /package/dist/{orbcharts-plugins-basic/src → src}/base/BaseGroupAxis.d.ts +0 -0
  124. /package/dist/{orbcharts-plugins-basic/src → src}/base/BaseLegend.d.ts +0 -0
  125. /package/dist/{orbcharts-plugins-basic/src → src}/base/BaseTooltip.d.ts +0 -0
  126. /package/dist/{orbcharts-plugins-basic/src → src}/base/types.d.ts +0 -0
  127. /package/dist/{orbcharts-plugins-basic/src → src}/const.d.ts +0 -0
  128. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/Bars.d.ts +0 -0
  129. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/BarsPN.d.ts +0 -0
  130. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/BarsTriangle.d.ts +0 -0
  131. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/Dots.d.ts +0 -0
  132. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/GridLegend.d.ts +0 -0
  133. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/GridTooltip.d.ts +0 -0
  134. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/GroupAux.d.ts +0 -0
  135. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/GroupAxis.d.ts +0 -0
  136. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/LineAreas.d.ts +0 -0
  137. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/Lines.d.ts +0 -0
  138. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/StackedValueAxis.d.ts +0 -0
  139. /package/dist/{orbcharts-plugins-basic/src → src}/grid/plugins/ValueAxis.d.ts +0 -0
  140. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/multiGridObservables.d.ts +0 -0
  141. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiBars.d.ts +0 -0
  142. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiBarsTriangle.d.ts +0 -0
  143. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiDots.d.ts +0 -0
  144. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiGridLegend.d.ts +0 -0
  145. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiGridTooltip.d.ts +0 -0
  146. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiGroupAxis.d.ts +0 -0
  147. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiLineAreas.d.ts +0 -0
  148. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiLines.d.ts +0 -0
  149. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiStackedValueAxis.d.ts +0 -0
  150. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/MultiValueAxis.d.ts +0 -0
  151. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/OverlappingStackedValueAxes.d.ts +0 -0
  152. /package/dist/{orbcharts-plugins-basic/src → src}/multiGrid/plugins/OverlappingValueAxes.d.ts +0 -0
  153. /package/dist/{orbcharts-plugins-basic/src → src}/multiValue/plugins/MultiValueLegend.d.ts +0 -0
  154. /package/dist/{orbcharts-plugins-basic/src → src}/multiValue/plugins/MultiValueTooltip.d.ts +0 -0
  155. /package/dist/{orbcharts-plugins-basic/src/multiValue/plugins/Ranking.d.ts → src/multiValue/plugins/OrdinalBubbles.d.ts} +0 -0
  156. /package/dist/{orbcharts-plugins-basic/src/multiValue/plugins/RankingAxis.d.ts → src/multiValue/plugins/OrdinalXAxis.d.ts} +0 -0
  157. /package/dist/{orbcharts-plugins-basic/src/noneData/plugins/Container.d.ts → src/multiValue/plugins/RacingCounterAxis.d.ts} +0 -0
  158. /package/dist/{orbcharts-plugins-basic/src/noneData/plugins/Tooltip.d.ts → src/multiValue/plugins/RankingAxis_legacy.d.ts} +0 -0
  159. /package/dist/{orbcharts-plugins-basic/src → src}/multiValue/plugins/Scatter.d.ts +0 -0
  160. /package/dist/{orbcharts-plugins-basic/src → src}/multiValue/plugins/ScatterBubbles.d.ts +0 -0
  161. /package/dist/{orbcharts-plugins-basic/src → src}/multiValue/plugins/XYAux.d.ts +0 -0
  162. /package/dist/{orbcharts-plugins-basic/src/multiValue/plugins/XYAxes.d.ts → src/multiValue/plugins/XYAxes_legacy.d.ts} +0 -0
  163. /package/dist/{orbcharts-plugins-basic/src → src}/noneData/defaults.d.ts +0 -0
  164. /package/dist/{orbcharts-plugins-basic/src → src}/noneData/index.d.ts +0 -0
  165. /package/dist/{orbcharts-plugins-basic/src/relationship/plugins/ForceDirectedBubbles.d.ts → src/noneData/plugins/Container.d.ts} +0 -0
  166. /package/dist/{orbcharts-plugins-basic/src/series/plugins/Waffle.d.ts → src/noneData/plugins/Tooltip.d.ts} +0 -0
  167. /package/dist/{orbcharts-plugins-basic/src → src}/relationship/plugins/ForceDirected.d.ts +0 -0
  168. /package/dist/{orbcharts-plugins-basic/src → src}/relationship/plugins/RelationshipLegend.d.ts +0 -0
  169. /package/dist/{orbcharts-plugins-basic/src → src}/relationship/plugins/RelationshipTooltip.d.ts +0 -0
  170. /package/dist/{orbcharts-plugins-basic/src → src}/relationship/relationshipObservables.d.ts +0 -0
  171. /package/dist/{orbcharts-plugins-basic/src → src}/series/defaults.d.ts +0 -0
  172. /package/dist/{orbcharts-plugins-basic/src → src}/series/index.d.ts +0 -0
  173. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/Bubbles.d.ts +0 -0
  174. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/Pie.d.ts +0 -0
  175. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/PieEventTexts.d.ts +0 -0
  176. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/PieLabels.d.ts +0 -0
  177. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/Rose.d.ts +0 -0
  178. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/RoseLabels.d.ts +0 -0
  179. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/SeriesLegend.d.ts +0 -0
  180. /package/dist/{orbcharts-plugins-basic/src → src}/series/plugins/SeriesTooltip.d.ts +0 -0
  181. /package/{src/multiValue/plugins/Ranking.ts → dist/src/series/plugins/Waffle.d.ts} +0 -0
  182. /package/dist/{orbcharts-plugins-basic/src → src}/series/seriesObservables.d.ts +0 -0
  183. /package/dist/{orbcharts-plugins-basic/src → src}/series/seriesUtils.d.ts +0 -0
  184. /package/dist/{orbcharts-plugins-basic/src → src}/tree/defaults.d.ts +0 -0
  185. /package/dist/{orbcharts-plugins-basic/src → src}/tree/index.d.ts +0 -0
  186. /package/dist/{orbcharts-plugins-basic/src → src}/tree/plugins/TreeLegend.d.ts +0 -0
  187. /package/dist/{orbcharts-plugins-basic/src → src}/tree/plugins/TreeMap.d.ts +0 -0
  188. /package/dist/{orbcharts-plugins-basic/src → src}/tree/plugins/TreeTooltip.d.ts +0 -0
  189. /package/dist/{orbcharts-plugins-basic/src → src}/utils/observables.d.ts +0 -0
  190. /package/dist/{orbcharts-plugins-basic/src → src}/utils/orbchartsUtils.d.ts +0 -0
  191. /package/dist/{orbcharts-plugins-basic/vite.config.d.ts → vite.config.d.ts} +0 -0
  192. /package/src/multiValue/plugins/{RankingAxis.ts → OrdinalBubbles.ts} +0 -0
@@ -88,18 +88,28 @@ export const MultiGridLegend = defineMultiGridPlugin(pluginConfig)(({ selection,
88
88
 
89
89
  const destroy$ = new Subject()
90
90
 
91
+ // const seriesLabels$ = observer.multiGridEachDetail$.pipe(
92
+ // takeUntil(destroy$),
93
+ // map(multiGrid => {
94
+ // const seriesLabelsObservableArr = multiGrid.map((grid, gridIndex) => {
95
+ // return grid.SeriesDataMap$.pipe(
96
+ // // grid內的seriesLabels
97
+ // map(seriesDataMap => Array.from(seriesDataMap.keys()))
98
+ // )
99
+ // })
100
+ // return seriesLabelsObservableArr
101
+ // }),
102
+ // switchMap(seriesLabelsObservableArr => combineLatest(seriesLabelsObservableArr)),
103
+ // map(data => data.flat())
104
+ // )
105
+
91
106
  const seriesLabels$ = observer.multiGridEachDetail$.pipe(
92
- takeUntil(destroy$),
93
- map(multiGrid => {
94
- const seriesLabelsObservableArr = multiGrid.map((grid, gridIndex) => {
95
- return grid.SeriesDataMap$.pipe(
96
- // grid內的seriesLabels
97
- map(seriesDataMap => Array.from(seriesDataMap.keys()))
98
- )
99
- })
100
- return seriesLabelsObservableArr
107
+ map(multiGridEachDetail => multiGridEachDetail.map(grid => grid.seriesLabels$)),
108
+ switchMap(d => {
109
+ return combineLatest(d).pipe(
110
+ switchMap(async d => d),
111
+ )
101
112
  }),
102
- switchMap(seriesLabelsObservableArr => combineLatest(seriesLabelsObservableArr)),
103
113
  map(data => data.flat())
104
114
  )
105
115
 
@@ -79,9 +79,9 @@ export const MultiLineAreas = defineMultiGridPlugin(pluginConfig)(({ selection,
79
79
  unsubscribeFnArr[i] = createBaseLineAreas(pluginName, {
80
80
  selection: gridSelection,
81
81
  computedData$: d.computedData$,
82
- computedLayoutData$: d.computedLayoutData$,
82
+ computedAxesData$: d.computedAxesData$,
83
83
  visibleComputedData$: d.visibleComputedData$,
84
- visibleComputedLayoutData$: d.visibleComputedLayoutData$,
84
+ visibleComputedAxesData$: d.visibleComputedAxesData$,
85
85
  seriesLabels$: d.seriesLabels$,
86
86
  SeriesDataMap$: d.SeriesDataMap$,
87
87
  GroupDataMap$: d.GroupDataMap$,
@@ -91,7 +91,7 @@ export const MultiLineAreas = defineMultiGridPlugin(pluginConfig)(({ selection,
91
91
  gridAxesTransform$: d.gridAxesTransform$,
92
92
  gridGraphicTransform$: d.gridGraphicTransform$,
93
93
  gridAxesSize$: d.gridAxesSize$,
94
- gridHighlight$: d.gridHighlight$,
94
+ gridHighlight$: observer.multiGridHighlight$,
95
95
  gridContainerPosition$: d.gridContainerPosition$,
96
96
  allContainerPosition$: allContainerPosition$,
97
97
  layout$: observer.layout$,
@@ -73,9 +73,9 @@ export const MultiLines = defineMultiGridPlugin(pluginConfig)(({ selection, root
73
73
  unsubscribeFnArr[i] = createBaseLines(pluginName, {
74
74
  selection: gridSelection,
75
75
  computedData$: d.computedData$,
76
- computedLayoutData$: d.computedLayoutData$,
76
+ computedAxesData$: d.computedAxesData$,
77
77
  visibleComputedData$: d.visibleComputedData$,
78
- visibleComputedLayoutData$: d.visibleComputedLayoutData$,
78
+ visibleComputedAxesData$: d.visibleComputedAxesData$,
79
79
  seriesLabels$: d.seriesLabels$,
80
80
  SeriesDataMap$: d.SeriesDataMap$,
81
81
  GroupDataMap$: d.GroupDataMap$,
@@ -85,7 +85,7 @@ export const MultiLines = defineMultiGridPlugin(pluginConfig)(({ selection, root
85
85
  gridAxesTransform$: d.gridAxesTransform$,
86
86
  gridGraphicTransform$: d.gridGraphicTransform$,
87
87
  gridAxesSize$: d.gridAxesSize$,
88
- gridHighlight$: d.gridHighlight$,
88
+ gridHighlight$: observer.multiGridHighlight$,
89
89
  gridContainerPosition$: d.gridContainerPosition$,
90
90
  allContainerPosition$,
91
91
  layout$: observer.layout$,
@@ -9,19 +9,19 @@ import {
9
9
  import type { DefinePluginConfig } from '../../../lib/core-types'
10
10
  import {
11
11
  defineMultiGridPlugin } from '../../../lib/core'
12
- import { DEFAULT_MULTI_STACKED_BAR_PARAMS } from '../defaults'
13
- import { createBaseStackedBar } from '../../base/BaseStackedBar'
12
+ import { DEFAULT_MULTI_STACKED_BARS_PARAMS } from '../defaults'
13
+ import { createBaseStackedBars } from '../../base/BaseStackedBars'
14
14
  import { multiGridPluginDetailObservables } from '../multiGridObservables'
15
15
  import { getClassName, getUniID } from '../../utils/orbchartsUtils'
16
16
  import { LAYER_INDEX_OF_GRAPHIC } from '../../const'
17
17
 
18
- const pluginName = 'MultiStackedBar'
18
+ const pluginName = 'MultiStackedBars'
19
19
 
20
20
  const gridClassName = getClassName(pluginName, 'grid')
21
21
 
22
- const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_MULTI_STACKED_BAR_PARAMS> = {
22
+ const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_MULTI_STACKED_BARS_PARAMS> = {
23
23
  name: pluginName,
24
- defaultParams: DEFAULT_MULTI_STACKED_BAR_PARAMS,
24
+ defaultParams: DEFAULT_MULTI_STACKED_BARS_PARAMS,
25
25
  layerIndex: LAYER_INDEX_OF_GRAPHIC,
26
26
  validator: (params, { validateColumns }) => {
27
27
  const result = validateColumns(params, {
@@ -45,7 +45,7 @@ const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_MULTI_S
45
45
  }
46
46
  }
47
47
 
48
- export const MultiStackedBar = defineMultiGridPlugin(pluginConfig)(({ selection, name, subject, observer }) => {
48
+ export const MultiStackedBars = defineMultiGridPlugin(pluginConfig)(({ selection, name, subject, observer }) => {
49
49
  const destroy$ = new Subject()
50
50
 
51
51
  const unsubscribeFnArr: (() => void)[] = []
@@ -75,12 +75,12 @@ export const MultiStackedBar = defineMultiGridPlugin(pluginConfig)(({ selection,
75
75
  shareReplay(1)
76
76
  )
77
77
 
78
- unsubscribeFnArr[i] = createBaseStackedBar(pluginName, {
78
+ unsubscribeFnArr[i] = createBaseStackedBars(pluginName, {
79
79
  selection: gridSelection,
80
80
  computedData$: d.computedData$,
81
81
  visibleComputedData$: d.visibleComputedData$,
82
- computedLayoutData$: d.computedLayoutData$,
83
- visibleComputedLayoutData$: d.visibleComputedLayoutData$,
82
+ computedAxesData$: d.computedAxesData$,
83
+ visibleComputedAxesData$: d.visibleComputedAxesData$,
84
84
  seriesLabels$: d.seriesLabels$,
85
85
  SeriesDataMap$: d.SeriesDataMap$,
86
86
  GroupDataMap$: d.GroupDataMap$,
@@ -91,7 +91,7 @@ export const MultiStackedBar = defineMultiGridPlugin(pluginConfig)(({ selection,
91
91
  gridGraphicTransform$: d.gridGraphicTransform$,
92
92
  gridGraphicReverseScale$: d.gridGraphicReverseScale$,
93
93
  gridAxesSize$: d.gridAxesSize$,
94
- gridHighlight$: d.gridHighlight$,
94
+ gridHighlight$: observer.multiGridHighlight$,
95
95
  gridContainerPosition$: d.gridContainerPosition$,
96
96
  isSeriesSeprate$,
97
97
  event$: subject.event$ as Subject<any>,
@@ -19,6 +19,7 @@ import { createBaseValueAxis } from '../../base/BaseValueAxis'
19
19
  import { multiGridPluginDetailObservables } from '../multiGridObservables'
20
20
  import { getClassName, getUniID } from '../../utils/orbchartsUtils'
21
21
  import { gridAxesTransformObservable, gridAxesReverseTransformObservable, gridContainerPositionObservable } from '../../../lib/core'
22
+ // import { gridAxesTransformObservable, gridAxesReverseTransformObservable, gridContainerPositionObservable } from '@orbcharts/core/src'
22
23
  import { LAYER_INDEX_OF_AXIS } from '../../const'
23
24
 
24
25
  const pluginName = 'OverlappingStackedValueAxes'
@@ -1,11 +1,16 @@
1
+ import type { ComputedDataTypeMap } from '../../lib/core-types'
1
2
  import type {
2
3
  MultiValueLegendParams,
3
4
  MultiValueTooltipParams,
5
+ RacingBarsParams,
6
+ RacingCounterTextsParams,
7
+ RacingValueAxisParams,
4
8
  ScatterParams,
5
9
  ScatterBubblesParams,
10
+ XAxisParams,
6
11
  XYAuxParams,
7
12
  XYAxesParams,
8
- XYZoomParams
13
+ XZoomParams
9
14
  } from '../../lib/plugins-basic-types'
10
15
 
11
16
 
@@ -35,6 +40,7 @@ export const DEFAULT_MULTI_VALUE_TOOLTIP_PARAMS: MultiValueTooltipParams = {
35
40
  renderFn: (eventData, { styles, utils }) => {
36
41
  const hasCategoryLabel = eventData.categoryLabel === '' ? false : true
37
42
  const hasDatumLabel = eventData.datum.label.slice(0, 11) === 'multiValue_' ? false : true
43
+ const valueText = eventData.datum._visibleValue.map(d => utils.toCurrency(d))
38
44
  const bulletWidth = styles.textSizePx * 0.7
39
45
  const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
40
46
  const categorySvg = hasCategoryLabel
@@ -47,7 +53,7 @@ export const DEFAULT_MULTI_VALUE_TOOLTIP_PARAMS: MultiValueTooltipParams = {
47
53
  ? `<tspan>${eventData.datum.label}</tspan> `
48
54
  : ''
49
55
  const datumSvg = `<text font-size="${styles.textSizePx}" dominant-baseline="hanging" fill="${styles.textColor}">
50
- ${datumLabelSvg}<tspan font-weight="bold">${eventData.datum.value}</tspan>
56
+ ${datumLabelSvg}<tspan font-weight="bold">${valueText}</tspan>
51
57
  </text>`
52
58
 
53
59
  return `${categorySvg}
@@ -59,6 +65,7 @@ export const DEFAULT_MULTI_VALUE_TOOLTIP_PARAMS: MultiValueTooltipParams = {
59
65
  DEFAULT_MULTI_VALUE_TOOLTIP_PARAMS.renderFn.toString = () => `(eventData, { styles, utils }) => {
60
66
  const hasCategoryLabel = eventData.categoryLabel === '' ? false : true
61
67
  const hasDatumLabel = eventData.datum.label.slice(0, 11) === 'multiValue_' ? false : true
68
+ const valueText = eventData.datum._visibleValue.map(d => utils.toCurrency(d))
62
69
  const bulletWidth = styles.textSizePx * 0.7
63
70
  const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
64
71
  const categorySvg = hasCategoryLabel
@@ -71,7 +78,7 @@ DEFAULT_MULTI_VALUE_TOOLTIP_PARAMS.renderFn.toString = () => `(eventData, { styl
71
78
  ? \`<tspan>\${eventData.datum.label}</tspan> \`
72
79
  : ''
73
80
  const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
74
- \${datumLabelSvg}<tspan font-weight="bold">\${eventData.datum.value}</tspan>
81
+ \${datumLabelSvg}<tspan font-weight="bold">\${valueText}</tspan>
75
82
  </text>\`
76
83
 
77
84
  return \`\${categorySvg}
@@ -80,6 +87,132 @@ DEFAULT_MULTI_VALUE_TOOLTIP_PARAMS.renderFn.toString = () => `(eventData, { styl
80
87
  </g>\`
81
88
  }`
82
89
 
90
+ // export const DEFAULT_RANKING_AXIS_PARAMS: RacingAxisParams = {
91
+ // labelOffset: [0, 0],
92
+ // labelColorType: 'primary',
93
+ // axisLineVisible: false,
94
+ // axisLineColorType: 'primary',
95
+ // // ticks: null,
96
+ // // tickFormat: v => v,
97
+ // tickLineVisible: true,
98
+ // tickPadding: 20,
99
+ // // tickFullLine: true,
100
+ // // tickFullLineDasharray: 'none',
101
+ // tickColorType: 'secondary',
102
+ // tickTextRotate: 0,
103
+ // tickTextColorType: 'primary'
104
+ // }
105
+
106
+ export const DEFAULT_RACING_BARS_PARAMS: RacingBarsParams = {
107
+ bar: {
108
+ barWidth: 0,
109
+ barPadding: 8,
110
+ barRadius: false,
111
+ },
112
+ barLabel: {
113
+ position: 'inside',
114
+ padding: 20,
115
+ rotate: 0,
116
+ colorType: 'labelContrast'
117
+ },
118
+ valueLabel: {
119
+ padding: 20,
120
+ colorType: 'primary',
121
+ // format: num => {
122
+ // if (num === null || Number.isNaN(num) == true) {
123
+ // return num || 0
124
+ // }
125
+ // const parts = num.toString().split('.')
126
+ // parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
127
+ // return parts.join('.')
128
+ // }
129
+ format: v => v
130
+ },
131
+ axisLabel: {
132
+ offset: [0, 0],
133
+ colorType: 'primary'
134
+ },
135
+ // rankingAmount: 'auto'
136
+ rankingAmount: 10,
137
+ autorun: false,
138
+ loop: false
139
+ }
140
+ // DEFAULT_RACING_BARS_PARAMS.valueLabel.format.toString = () => `num => {
141
+ // if (num === null || Number.isNaN(num) == true) {
142
+ // return num || 0
143
+ // }
144
+ // const parts = num.toString().split('.')
145
+ // parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
146
+ // return parts.join('.')
147
+ // }
148
+ // }`
149
+ DEFAULT_RACING_BARS_PARAMS.valueLabel.format.toString = () => `v => v`
150
+
151
+ export const DEFAULT_RACING_COUNTER_TEXTS_PARAMS: RacingCounterTextsParams = {
152
+ renderFn: (valueLabel: string, valueIndex: number, data: ComputedDataTypeMap<'multiValue'>) => {
153
+ return valueLabel
154
+ },
155
+ textAttrs: [
156
+ {
157
+ "transform": "translate(0, 0)"
158
+ }
159
+ ],
160
+ textStyles: [
161
+ {
162
+ "font-weight": "bold",
163
+ "text-anchor": "end",
164
+ "pointer-events": "none",
165
+ "dominant-baseline": "auto",
166
+ "font-size": 64,
167
+ "fill": "#bebebe"
168
+ },
169
+ {
170
+ "text-anchor": "end",
171
+ "pointer-events": "none",
172
+ "dominant-baseline": "auto",
173
+ "font-size": 24,
174
+ "fill": "#bebebe"
175
+ },
176
+ ],
177
+ paddingRight: 0,
178
+ paddingBottom: 0
179
+ }
180
+ DEFAULT_RACING_COUNTER_TEXTS_PARAMS.renderFn.toString = () => `(valueLabel, valueIndex, data) => {
181
+ return valueLabel
182
+ }`
183
+
184
+ export const DEFAULT_RACING_VALUE_AXIS_PARAMS: RacingValueAxisParams = {
185
+ labelOffset: [0, 0],
186
+ labelColorType: 'primary',
187
+ axisLineVisible: false,
188
+ axisLineColorType: 'secondary',
189
+ ticks: null,
190
+ // tickFormat: ',.0f',
191
+ // tickFormat: v => v,
192
+ tickFormat: num => {
193
+ if (num === null || Number.isNaN(num) == true) {
194
+ return num || 0
195
+ }
196
+ const parts = num.toString().split('.')
197
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
198
+ return parts.join('.')
199
+ },
200
+ tickLineVisible: true,
201
+ tickPadding: 20,
202
+ tickFullLine: true,
203
+ tickFullLineDasharray: 'none',
204
+ tickColorType: 'secondary',
205
+ tickTextColorType: 'primary'
206
+ }
207
+ DEFAULT_RACING_VALUE_AXIS_PARAMS.tickFormat.toString = () => `num => {
208
+ if (num === null || Number.isNaN(num) == true) {
209
+ return num || 0
210
+ }
211
+ const parts = num.toString().split('.')
212
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
213
+ return parts.join('.')
214
+ }`
215
+
83
216
  export const DEFAULT_SCATTER_PARAMS: ScatterParams = {
84
217
  radius: 5,
85
218
  fillColorType: 'label',
@@ -97,6 +230,38 @@ export const DEFAULT_SCATTER_BUBBLES_PARAMS: ScatterBubblesParams = {
97
230
  sizeAdjust: 0.5
98
231
  }
99
232
 
233
+ export const DEFAULT_X_AXIS_PARAMS: XAxisParams = {
234
+ labelOffset: [0, 0],
235
+ labelColorType: 'primary',
236
+ axisLineVisible: false,
237
+ axisLineColorType: 'secondary',
238
+ ticks: null,
239
+ // tickFormat: ',.0f',
240
+ // tickFormat: v => v,
241
+ tickFormat: num => {
242
+ if (num === null || Number.isNaN(num) == true) {
243
+ return num || 0
244
+ }
245
+ const parts = num.toString().split('.')
246
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
247
+ return parts.join('.')
248
+ },
249
+ tickLineVisible: true,
250
+ tickPadding: 20,
251
+ tickFullLine: true,
252
+ tickFullLineDasharray: 'none',
253
+ tickColorType: 'secondary',
254
+ tickTextColorType: 'primary'
255
+ }
256
+ DEFAULT_X_AXIS_PARAMS.tickFormat.toString = () => `num => {
257
+ if (num === null || Number.isNaN(num) == true) {
258
+ return num || 0
259
+ }
260
+ const parts = num.toString().split('.')
261
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
262
+ return parts.join('.')
263
+ }`
264
+
100
265
  export const DEFAULT_X_Y_AUX_PARAMS: XYAuxParams = {
101
266
  xAxis: {
102
267
  showLine: true,
@@ -106,7 +271,25 @@ export const DEFAULT_X_Y_AUX_PARAMS: XYAuxParams = {
106
271
  labelColorType: 'primary',
107
272
  labelTextColorType: 'background',
108
273
  // labelTextFormat: text => text,
109
- labelTextFormat: (value: number) => String(Math.round(value)),
274
+ // labelTextFormat: (value: number) => String(Math.round(value)),
275
+ labelTextFormat: num => {
276
+ if (num === null || Number.isNaN(num) == true) {
277
+ return num || 0
278
+ }
279
+ const absNum = Math.abs(num)
280
+ if (absNum > 0 && absNum < 1) {
281
+ const strNum = num.toString()
282
+ const match = strNum.match(/0\.(0*)([1-9])/)
283
+ if (match) {
284
+ const precision = match[1].length + 1
285
+ return num.toFixed(precision)
286
+ }
287
+ return num.toString()
288
+ }
289
+ const parts = num.toString().split('.')
290
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
291
+ return parts[0]
292
+ },
110
293
  labelPadding: 20,
111
294
  // labelRotate: 0
112
295
  },
@@ -118,13 +301,65 @@ export const DEFAULT_X_Y_AUX_PARAMS: XYAuxParams = {
118
301
  labelColorType: 'primary',
119
302
  labelTextColorType: 'background',
120
303
  // labelTextFormat: text => text,
121
- labelTextFormat: (value: number) => String(Math.round(value)),
304
+ // labelTextFormat: (value: number) => String(Math.round(value)),
305
+ labelTextFormat: num => {
306
+ if (num === null || Number.isNaN(num) == true) {
307
+ return num || 0
308
+ }
309
+ const absNum = Math.abs(num)
310
+ if (absNum > 0 && absNum < 1) {
311
+ const strNum = num.toString()
312
+ const match = strNum.match(/0\.(0*)([1-9])/)
313
+ if (match) {
314
+ const precision = match[1].length + 1
315
+ return num.toFixed(precision)
316
+ }
317
+ return num.toString()
318
+ }
319
+ const parts = num.toString().split('.')
320
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
321
+ return parts[0]
322
+ },
122
323
  labelPadding: 20,
123
324
  // labelRotate: 0
124
325
  }
125
326
  }
126
- DEFAULT_X_Y_AUX_PARAMS.xAxis.labelTextFormat.toString = () => `(value: number) => String(Math.round(value))`
127
- DEFAULT_X_Y_AUX_PARAMS.yAxis.labelTextFormat.toString = () => `(value: number) => String(Math.round(value))`
327
+ DEFAULT_X_Y_AUX_PARAMS.xAxis.labelTextFormat.toString = () => `num => {
328
+ if (num === null || Number.isNaN(num) == true) {
329
+ return num || 0
330
+ }
331
+ const absNum = Math.abs(num)
332
+ if (absNum > 0 && absNum < 1) {
333
+ const strNum = num.toString()
334
+ const match = strNum.match(/0\.(0*)([1-9])/)
335
+ if (match) {
336
+ const precision = match[1].length + 1
337
+ return num.toFixed(precision)
338
+ }
339
+ return num.toString()
340
+ }
341
+ const parts = num.toString().split('.')
342
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
343
+ return parts[0]
344
+ }`
345
+ DEFAULT_X_Y_AUX_PARAMS.yAxis.labelTextFormat.toString = () => `num => {
346
+ if (num === null || Number.isNaN(num) == true) {
347
+ return num || 0
348
+ }
349
+ const absNum = Math.abs(num)
350
+ if (absNum > 0 && absNum < 1) {
351
+ const strNum = num.toString()
352
+ const match = strNum.match(/0\.(0*)([1-9])/)
353
+ if (match) {
354
+ const precision = match[1].length + 1
355
+ return num.toFixed(precision)
356
+ }
357
+ return num.toString()
358
+ }
359
+ const parts = num.toString().split('.')
360
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
361
+ return parts[0]
362
+ }`
128
363
 
129
364
 
130
365
  export const DEFAULT_X_Y_AXES_PARAMS: XYAxesParams = {
@@ -135,7 +370,15 @@ export const DEFAULT_X_Y_AXES_PARAMS: XYAxesParams = {
135
370
  axisLineColorType: 'primary',
136
371
  ticks: null,
137
372
  // tickFormat: ',.0f',
138
- tickFormat: v => v,
373
+ // tickFormat: v => v,
374
+ tickFormat: num => {
375
+ if (num === null || Number.isNaN(num) == true) {
376
+ return num || 0
377
+ }
378
+ const parts = num.toString().split('.')
379
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
380
+ return parts.join('.')
381
+ },
139
382
  tickLineVisible: true,
140
383
  tickPadding: 20,
141
384
  tickFullLine: true,
@@ -150,7 +393,15 @@ export const DEFAULT_X_Y_AXES_PARAMS: XYAxesParams = {
150
393
  axisLineColorType: 'primary',
151
394
  ticks: null,
152
395
  // tickFormat: ',.0f',
153
- tickFormat: v => v,
396
+ // tickFormat: v => v,
397
+ tickFormat: num => {
398
+ if (num === null || Number.isNaN(num) == true) {
399
+ return num || 0
400
+ }
401
+ const parts = num.toString().split('.')
402
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
403
+ return parts.join('.')
404
+ },
154
405
  tickLineVisible: true,
155
406
  tickPadding: 20,
156
407
  tickFullLine: true,
@@ -159,9 +410,23 @@ export const DEFAULT_X_Y_AXES_PARAMS: XYAxesParams = {
159
410
  tickTextColorType: 'primary'
160
411
  }
161
412
  }
162
- DEFAULT_X_Y_AXES_PARAMS.xAxis.tickFormat.toString = () => `v => v`
163
- DEFAULT_X_Y_AXES_PARAMS.yAxis.tickFormat.toString = () => `v => v`
413
+ DEFAULT_X_Y_AXES_PARAMS.xAxis.tickFormat.toString = () => `num => {
414
+ if (num === null || Number.isNaN(num) == true) {
415
+ return num || 0
416
+ }
417
+ const parts = num.toString().split('.')
418
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
419
+ return parts.join('.')
420
+ }`
421
+ DEFAULT_X_Y_AXES_PARAMS.yAxis.tickFormat.toString = () => `num => {
422
+ if (num === null || Number.isNaN(num) == true) {
423
+ return num || 0
424
+ }
425
+ const parts = num.toString().split('.')
426
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
427
+ return parts.join('.')
428
+ }`
164
429
 
165
- export const DEFAULT_X_Y_ZOOM_PARAMS: XYZoomParams = {
430
+ export const DEFAULT_X_ZOOM_PARAMS: XZoomParams = {
166
431
 
167
432
  }
@@ -2,8 +2,12 @@ export * from './defaults'
2
2
  // export * from './types'
3
3
  export { MultiValueLegend } from './plugins/MultiValueLegend'
4
4
  export { MultiValueTooltip } from './plugins/MultiValueTooltip'
5
+ export { RacingBars } from './plugins/RacingBars'
6
+ export { RacingCounterTexts } from './plugins/RacingCounterTexts'
7
+ export { RacingValueAxis } from './plugins/RacingValueAxis'
5
8
  export { Scatter } from './plugins/Scatter'
6
9
  export { ScatterBubbles } from './plugins/ScatterBubbles'
10
+ export { XAxis } from './plugins/XAxis'
7
11
  export { XYAux } from './plugins/XYAux'
8
12
  export { XYAxes } from './plugins/XYAxes'
9
- export { XYZoom } from './plugins/XYZoom'
13
+ export { XZoom } from './plugins/XZoom'