@orbcharts/plugins-basic 3.0.0-beta.4 → 3.0.0-beta.6

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/LICENSE +200 -200
  2. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseBarStack.d.ts +2 -2
  3. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseBars.d.ts +2 -2
  4. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseBarsTriangle.d.ts +2 -2
  5. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseDots.d.ts +2 -2
  6. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseGroupAxis.d.ts +2 -2
  7. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseLegend.d.ts +1 -1
  8. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseLineAreas.d.ts +3 -3
  9. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseLines.d.ts +3 -3
  10. package/dist/{src → orbcharts-plugins-basic/src}/base/BaseValueAxis.d.ts +3 -2
  11. package/dist/{src → orbcharts-plugins-basic/src}/grid/defaults.d.ts +1 -1
  12. package/dist/{src → orbcharts-plugins-basic/src}/grid/gridObservables.d.ts +5 -5
  13. package/dist/orbcharts-plugins-basic/src/index.d.ts +6 -0
  14. package/dist/orbcharts-plugins-basic/src/multiValue/defaults.d.ts +9 -0
  15. package/dist/orbcharts-plugins-basic/src/multiValue/index.d.ts +8 -0
  16. package/dist/orbcharts-plugins-basic/src/multiValue/multiValueObservables.d.ts +33 -0
  17. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/MultiValueLegend.d.ts +1 -0
  18. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/MultiValueTooltip.d.ts +1 -0
  19. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/Scatter.d.ts +3 -0
  20. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/ScatterBubbles.d.ts +3 -0
  21. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/XYAux.d.ts +3 -0
  22. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/XYAxes.d.ts +3 -0
  23. package/dist/orbcharts-plugins-basic/src/multiValue/plugins/XYZoom.d.ts +1 -0
  24. package/dist/{src → orbcharts-plugins-basic/src}/series/seriesObservables.d.ts +3 -3
  25. package/dist/{src → orbcharts-plugins-basic/src}/utils/observables.d.ts +1 -1
  26. package/dist/{src → orbcharts-plugins-basic/src}/utils/orbchartsUtils.d.ts +3 -3
  27. package/dist/orbcharts-plugins-basic.es.js +11809 -10185
  28. package/dist/orbcharts-plugins-basic.umd.js +66 -34
  29. package/dist/src/index.d.ts +1 -5
  30. package/lib/core-types.ts +7 -7
  31. package/lib/core.ts +6 -6
  32. package/lib/plugins-basic-types.ts +6 -6
  33. package/package.json +44 -44
  34. package/src/base/BaseBarStack.ts +780 -780
  35. package/src/base/BaseBars.ts +765 -765
  36. package/src/base/BaseBarsTriangle.ts +674 -674
  37. package/src/base/BaseDots.ts +464 -515
  38. package/src/base/BaseGroupAxis.ts +679 -679
  39. package/src/base/BaseLegend.ts +684 -680
  40. package/src/base/BaseLineAreas.ts +629 -629
  41. package/src/base/BaseLines.ts +706 -706
  42. package/src/base/BaseTooltip.ts +385 -385
  43. package/src/base/BaseValueAxis.ts +583 -580
  44. package/src/base/types.ts +2 -2
  45. package/src/const.ts +30 -30
  46. package/src/grid/defaults.ts +244 -244
  47. package/src/grid/gridObservables.ts +554 -545
  48. package/src/grid/index.ts +16 -16
  49. package/src/grid/plugins/BarStack.ts +64 -64
  50. package/src/grid/plugins/Bars.ts +69 -69
  51. package/src/grid/plugins/BarsPN.ts +66 -66
  52. package/src/grid/plugins/BarsTriangle.ts +73 -73
  53. package/src/grid/plugins/Dots.ts +68 -68
  54. package/src/grid/plugins/GridLegend.ts +107 -107
  55. package/src/grid/plugins/GridTooltip.ts +66 -66
  56. package/src/grid/plugins/GridZoom.ts +218 -218
  57. package/src/grid/plugins/GroupAux.ts +1103 -1098
  58. package/src/grid/plugins/GroupAxis.ts +97 -97
  59. package/src/grid/plugins/LineAreas.ts +65 -65
  60. package/src/grid/plugins/Lines.ts +59 -59
  61. package/src/grid/plugins/ValueAxis.ts +94 -93
  62. package/src/grid/plugins/ValueStackAxis.ts +96 -95
  63. package/src/index.ts +10 -9
  64. package/src/multiGrid/defaults.ts +224 -224
  65. package/src/multiGrid/index.ts +14 -14
  66. package/src/multiGrid/multiGridObservables.ts +49 -49
  67. package/src/multiGrid/plugins/MultiBarStack.ts +106 -106
  68. package/src/multiGrid/plugins/MultiBars.ts +108 -108
  69. package/src/multiGrid/plugins/MultiBarsTriangle.ts +114 -114
  70. package/src/multiGrid/plugins/MultiDots.ts +102 -102
  71. package/src/multiGrid/plugins/MultiGridLegend.ts +159 -159
  72. package/src/multiGrid/plugins/MultiGridTooltip.ts +66 -66
  73. package/src/multiGrid/plugins/MultiGroupAxis.ts +137 -137
  74. package/src/multiGrid/plugins/MultiLineAreas.ts +107 -107
  75. package/src/multiGrid/plugins/MultiLines.ts +101 -101
  76. package/src/multiGrid/plugins/MultiValueAxis.ts +134 -133
  77. package/src/multiGrid/plugins/MultiValueStackAxis.ts +134 -133
  78. package/src/multiGrid/plugins/OverlappingValueAxes.ts +300 -299
  79. package/src/multiGrid/plugins/OverlappingValueStackAxes.ts +299 -298
  80. package/src/multiValue/defaults.ts +163 -0
  81. package/src/multiValue/index.ts +9 -0
  82. package/src/multiValue/multiValueObservables.ts +258 -0
  83. package/src/multiValue/plugins/MultiValueLegend.ts +107 -0
  84. package/src/multiValue/plugins/MultiValueTooltip.ts +66 -0
  85. package/src/multiValue/plugins/Scatter.ts +426 -0
  86. package/src/multiValue/plugins/ScatterBubbles.ts +551 -0
  87. package/src/multiValue/plugins/XYAux.ts +682 -0
  88. package/src/multiValue/plugins/XYAxes.ts +677 -0
  89. package/src/multiValue/plugins/XYZoom.ts +300 -0
  90. package/src/noneData/defaults.ts +102 -102
  91. package/src/noneData/index.ts +3 -3
  92. package/src/noneData/plugins/Container.ts +27 -27
  93. package/src/noneData/plugins/Tooltip.ts +373 -373
  94. package/src/series/defaults.ts +206 -206
  95. package/src/series/index.ts +9 -9
  96. package/src/series/plugins/Bubbles.ts +603 -603
  97. package/src/series/plugins/Pie.ts +623 -623
  98. package/src/series/plugins/PieEventTexts.ts +283 -283
  99. package/src/series/plugins/PieLabels.ts +640 -640
  100. package/src/series/plugins/Rose.ts +516 -516
  101. package/src/series/plugins/RoseLabels.ts +600 -600
  102. package/src/series/plugins/SeriesLegend.ts +107 -107
  103. package/src/series/plugins/SeriesTooltip.ts +66 -66
  104. package/src/series/seriesObservables.ts +145 -145
  105. package/src/series/seriesUtils.ts +51 -51
  106. package/src/tree/defaults.ts +78 -78
  107. package/src/tree/index.ts +4 -4
  108. package/src/tree/plugins/TreeLegend.ts +100 -107
  109. package/src/tree/plugins/TreeMap.ts +333 -333
  110. package/src/tree/plugins/TreeTooltip.ts +66 -66
  111. package/src/utils/commonUtils.ts +21 -21
  112. package/src/utils/d3Graphics.ts +174 -174
  113. package/src/utils/d3Utils.ts +74 -73
  114. package/src/utils/observables.ts +14 -14
  115. package/src/utils/orbchartsUtils.ts +101 -100
  116. package/tsconfig.base.json +13 -13
  117. package/tsconfig.json +2 -2
  118. package/vite.config.js +22 -22
  119. package/dist/src/base/BaseGroupArea.d.ts +0 -0
  120. package/dist/src/multiValue/plugins/Scatter.d.ts +0 -0
  121. package/dist/src/multiValue/plugins/ScatterAxes.d.ts +0 -0
  122. package/dist/src/relationship/index.d.ts +0 -0
  123. package/src/base/BaseGroupArea.ts +0 -0
  124. package/src/multiValue/plugins/ScatterAxes.ts +0 -0
  125. /package/dist/{lib → orbcharts-plugins-basic/lib}/core-types.d.ts +0 -0
  126. /package/dist/{lib → orbcharts-plugins-basic/lib}/core.d.ts +0 -0
  127. /package/dist/{lib → orbcharts-plugins-basic/lib}/plugins-basic-types.d.ts +0 -0
  128. /package/dist/{src → orbcharts-plugins-basic/src}/base/BaseTooltip.d.ts +0 -0
  129. /package/dist/{src → orbcharts-plugins-basic/src}/base/types.d.ts +0 -0
  130. /package/dist/{src → orbcharts-plugins-basic/src}/const.d.ts +0 -0
  131. /package/dist/{src → orbcharts-plugins-basic/src}/grid/index.d.ts +0 -0
  132. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/BarStack.d.ts +0 -0
  133. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/Bars.d.ts +0 -0
  134. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/BarsPN.d.ts +0 -0
  135. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/BarsTriangle.d.ts +0 -0
  136. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/Dots.d.ts +0 -0
  137. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/GridLegend.d.ts +0 -0
  138. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/GridTooltip.d.ts +0 -0
  139. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/GridZoom.d.ts +0 -0
  140. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/GroupAux.d.ts +0 -0
  141. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/GroupAxis.d.ts +0 -0
  142. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/LineAreas.d.ts +0 -0
  143. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/Lines.d.ts +0 -0
  144. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/ValueAxis.d.ts +0 -0
  145. /package/dist/{src → orbcharts-plugins-basic/src}/grid/plugins/ValueStackAxis.d.ts +0 -0
  146. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/defaults.d.ts +0 -0
  147. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/index.d.ts +0 -0
  148. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/multiGridObservables.d.ts +0 -0
  149. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiBarStack.d.ts +0 -0
  150. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiBars.d.ts +0 -0
  151. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiBarsTriangle.d.ts +0 -0
  152. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiDots.d.ts +0 -0
  153. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiGridLegend.d.ts +0 -0
  154. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiGridTooltip.d.ts +0 -0
  155. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiGroupAxis.d.ts +0 -0
  156. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiLineAreas.d.ts +0 -0
  157. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiLines.d.ts +0 -0
  158. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiValueAxis.d.ts +0 -0
  159. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/MultiValueStackAxis.d.ts +0 -0
  160. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/OverlappingValueAxes.d.ts +0 -0
  161. /package/dist/{src → orbcharts-plugins-basic/src}/multiGrid/plugins/OverlappingValueStackAxes.d.ts +0 -0
  162. /package/dist/{src/grid → orbcharts-plugins-basic/src/multiValue}/plugins/Ranking.d.ts +0 -0
  163. /package/dist/{src/grid → orbcharts-plugins-basic/src/multiValue}/plugins/RankingAxis.d.ts +0 -0
  164. /package/dist/{src → orbcharts-plugins-basic/src}/noneData/defaults.d.ts +0 -0
  165. /package/dist/{src → orbcharts-plugins-basic/src}/noneData/index.d.ts +0 -0
  166. /package/dist/{src → orbcharts-plugins-basic/src}/noneData/plugins/Container.d.ts +0 -0
  167. /package/dist/{src → orbcharts-plugins-basic/src}/noneData/plugins/Tooltip.d.ts +0 -0
  168. /package/dist/{src/multiValue → orbcharts-plugins-basic/src/relationship}/index.d.ts +0 -0
  169. /package/dist/{src → orbcharts-plugins-basic/src}/relationship/plugins/Relationship.d.ts +0 -0
  170. /package/dist/{src → orbcharts-plugins-basic/src}/series/defaults.d.ts +0 -0
  171. /package/dist/{src → orbcharts-plugins-basic/src}/series/index.d.ts +0 -0
  172. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/Bubbles.d.ts +0 -0
  173. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/Pie.d.ts +0 -0
  174. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/PieEventTexts.d.ts +0 -0
  175. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/PieLabels.d.ts +0 -0
  176. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/Rose.d.ts +0 -0
  177. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/RoseLabels.d.ts +0 -0
  178. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/SeriesLegend.d.ts +0 -0
  179. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/SeriesTooltip.d.ts +0 -0
  180. /package/dist/{src → orbcharts-plugins-basic/src}/series/plugins/Waffle.d.ts +0 -0
  181. /package/dist/{src → orbcharts-plugins-basic/src}/series/seriesUtils.d.ts +0 -0
  182. /package/dist/{src → orbcharts-plugins-basic/src}/tree/defaults.d.ts +0 -0
  183. /package/dist/{src → orbcharts-plugins-basic/src}/tree/index.d.ts +0 -0
  184. /package/dist/{src → orbcharts-plugins-basic/src}/tree/plugins/TreeLegend.d.ts +0 -0
  185. /package/dist/{src → orbcharts-plugins-basic/src}/tree/plugins/TreeMap.d.ts +0 -0
  186. /package/dist/{src → orbcharts-plugins-basic/src}/tree/plugins/TreeTooltip.d.ts +0 -0
  187. /package/dist/{src → orbcharts-plugins-basic/src}/utils/commonUtils.d.ts +0 -0
  188. /package/dist/{src → orbcharts-plugins-basic/src}/utils/d3Graphics.d.ts +0 -0
  189. /package/dist/{src → orbcharts-plugins-basic/src}/utils/d3Utils.d.ts +0 -0
  190. /package/dist/{vite.config.d.ts → orbcharts-plugins-basic/vite.config.d.ts} +0 -0
  191. /package/src/{grid → multiValue}/plugins/Ranking.ts +0 -0
  192. /package/src/{grid → multiValue}/plugins/RankingAxis.ts +0 -0
@@ -1,96 +1,97 @@
1
- import {
2
- takeUntil,
3
- map,
4
- distinctUntilChanged,
5
- shareReplay,
6
- switchMap,
7
- iif,
8
- Observable,
9
- Subject } from 'rxjs'
10
- import type { DefinePluginConfig } from '../../../lib/core-types'
11
- import {
12
- defineGridPlugin } from '../../../lib/core'
13
- import { DEFAULT_VALUE_STACK_AXIS_PARAMS } from '../defaults'
14
- import { LAYER_INDEX_OF_AXIS } from '../../const'
15
- import { createBaseValueAxis } from '../../base/BaseValueAxis'
16
-
17
- const pluginName = 'ValueStackAxis'
18
-
19
- const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_VALUE_STACK_AXIS_PARAMS> = {
20
- name: pluginName,
21
- defaultParams: DEFAULT_VALUE_STACK_AXIS_PARAMS,
22
- layerIndex: LAYER_INDEX_OF_AXIS,
23
- validator: (params, { validateColumns }) => {
24
- const result = validateColumns(params, {
25
- labelOffset: {
26
- toBe: '[number, number]',
27
- test: (value: any) => {
28
- return Array.isArray(value)
29
- && value.length === 2
30
- && typeof value[0] === 'number'
31
- && typeof value[1] === 'number'
32
- }
33
- },
34
- labelColorType: {
35
- toBeOption: 'ColorType',
36
- },
37
- axisLineVisible: {
38
- toBeTypes: ['boolean']
39
- },
40
- axisLineColorType: {
41
- toBeOption: 'ColorType',
42
- },
43
- ticks: {
44
- toBeTypes: ['number', 'null']
45
- },
46
- tickFormat: {
47
- toBeTypes: ['string', 'Function']
48
- },
49
- tickLineVisible: {
50
- toBeTypes: ['boolean']
51
- },
52
- tickPadding: {
53
- toBeTypes: ['number']
54
- },
55
- tickFullLine: {
56
- toBeTypes: ['boolean']
57
- },
58
- tickFullLineDasharray: {
59
- toBeTypes: ['string']
60
- },
61
- tickColorType: {
62
- toBeOption: 'ColorType',
63
- },
64
- tickTextRotate: {
65
- toBeTypes: ['number']
66
- },
67
- tickTextColorType: {
68
- toBeOption: 'ColorType',
69
- }
70
- })
71
- return result
72
- }
73
- }
74
-
75
- export const ValueStackAxis = defineGridPlugin(pluginConfig)(({ selection, name, observer, subject }) => {
76
-
77
- const destroy$ = new Subject()
78
-
79
- const unsubscribeBaseValueAxis = createBaseValueAxis(pluginName, {
80
- selection,
81
- computedData$: observer.computedStackedData$, // 計算疊加value的資料
82
- fullParams$: observer.fullParams$,
83
- fullDataFormatter$: observer.fullDataFormatter$,
84
- fullChartParams$: observer.fullChartParams$,
85
- gridAxesTransform$: observer.gridAxesTransform$,
86
- gridAxesReverseTransform$: observer.gridAxesReverseTransform$,
87
- gridAxesSize$: observer.gridAxesSize$,
88
- gridContainerPosition$: observer.gridContainerPosition$,
89
- isSeriesSeprate$: observer.isSeriesSeprate$,
90
- })
91
-
92
- return () => {
93
- destroy$.next(undefined)
94
- unsubscribeBaseValueAxis()
95
- }
1
+ import {
2
+ takeUntil,
3
+ map,
4
+ distinctUntilChanged,
5
+ shareReplay,
6
+ switchMap,
7
+ iif,
8
+ Observable,
9
+ Subject } from 'rxjs'
10
+ import type { DefinePluginConfig } from '../../../lib/core-types'
11
+ import {
12
+ defineGridPlugin } from '../../../lib/core'
13
+ import { DEFAULT_VALUE_STACK_AXIS_PARAMS } from '../defaults'
14
+ import { LAYER_INDEX_OF_AXIS } from '../../const'
15
+ import { createBaseValueAxis } from '../../base/BaseValueAxis'
16
+
17
+ const pluginName = 'ValueStackAxis'
18
+
19
+ const pluginConfig: DefinePluginConfig<typeof pluginName, typeof DEFAULT_VALUE_STACK_AXIS_PARAMS> = {
20
+ name: pluginName,
21
+ defaultParams: DEFAULT_VALUE_STACK_AXIS_PARAMS,
22
+ layerIndex: LAYER_INDEX_OF_AXIS,
23
+ validator: (params, { validateColumns }) => {
24
+ const result = validateColumns(params, {
25
+ labelOffset: {
26
+ toBe: '[number, number]',
27
+ test: (value: any) => {
28
+ return Array.isArray(value)
29
+ && value.length === 2
30
+ && typeof value[0] === 'number'
31
+ && typeof value[1] === 'number'
32
+ }
33
+ },
34
+ labelColorType: {
35
+ toBeOption: 'ColorType',
36
+ },
37
+ axisLineVisible: {
38
+ toBeTypes: ['boolean']
39
+ },
40
+ axisLineColorType: {
41
+ toBeOption: 'ColorType',
42
+ },
43
+ ticks: {
44
+ toBeTypes: ['number', 'null']
45
+ },
46
+ tickFormat: {
47
+ toBeTypes: ['string', 'Function']
48
+ },
49
+ tickLineVisible: {
50
+ toBeTypes: ['boolean']
51
+ },
52
+ tickPadding: {
53
+ toBeTypes: ['number']
54
+ },
55
+ tickFullLine: {
56
+ toBeTypes: ['boolean']
57
+ },
58
+ tickFullLineDasharray: {
59
+ toBeTypes: ['string']
60
+ },
61
+ tickColorType: {
62
+ toBeOption: 'ColorType',
63
+ },
64
+ tickTextRotate: {
65
+ toBeTypes: ['number']
66
+ },
67
+ tickTextColorType: {
68
+ toBeOption: 'ColorType',
69
+ }
70
+ })
71
+ return result
72
+ }
73
+ }
74
+
75
+ export const ValueStackAxis = defineGridPlugin(pluginConfig)(({ selection, name, observer, subject }) => {
76
+
77
+ const destroy$ = new Subject()
78
+
79
+ const unsubscribeBaseValueAxis = createBaseValueAxis(pluginName, {
80
+ selection,
81
+ computedData$: observer.computedStackedData$, // 計算疊加value的資料
82
+ filteredMinMaxValue$: observer.filteredMinMaxValue$,
83
+ fullParams$: observer.fullParams$,
84
+ fullDataFormatter$: observer.fullDataFormatter$,
85
+ fullChartParams$: observer.fullChartParams$,
86
+ gridAxesTransform$: observer.gridAxesTransform$,
87
+ gridAxesReverseTransform$: observer.gridAxesReverseTransform$,
88
+ gridAxesSize$: observer.gridAxesSize$,
89
+ gridContainerPosition$: observer.gridContainerPosition$,
90
+ isSeriesSeprate$: observer.isSeriesSeprate$,
91
+ })
92
+
93
+ return () => {
94
+ destroy$.next(undefined)
95
+ unsubscribeBaseValueAxis()
96
+ }
96
97
  })
package/src/index.ts CHANGED
@@ -1,10 +1,11 @@
1
- // export { default as container } from './noneDataPlugins/container'
2
- // export { default as pie } from './seriesPlugins/pie'
3
- // export { default as pieEventTexts } from './seriesPlugins/pieEventTexts'
4
- // export { default as pieLabels } from './seriesPlugins/pieLabels'
5
-
6
- export * from './grid'
7
- export * from './multiGrid'
8
- export * from './noneData'
9
- export * from './series'
1
+ // export { default as container } from './noneDataPlugins/container'
2
+ // export { default as pie } from './seriesPlugins/pie'
3
+ // export { default as pieEventTexts } from './seriesPlugins/pieEventTexts'
4
+ // export { default as pieLabels } from './seriesPlugins/pieLabels'
5
+
6
+ export * from './grid'
7
+ export * from './multiGrid'
8
+ export * from './multiValue'
9
+ export * from './noneData'
10
+ export * from './series'
10
11
  export * from './tree'
@@ -1,225 +1,225 @@
1
- import type {
2
- MultiGridLegendParams,
3
- MultiBarsParams,
4
- MultiBarStackParams,
5
- MultiBarsTriangleParams,
6
- MultiLinesParams,
7
- MultiLineAreasParams,
8
- MultiDotsParams,
9
- MultiGroupAxisParams,
10
- MultiGridTooltipParams,
11
- MultiValueAxisParams,
12
- MultiValueStackAxisParams,
13
- OverlappingValueAxesParams,
14
- OverlappingValueStackAxesParams
15
- } from '../../lib/plugins-basic-types'
16
- import { measureTextWidth } from '../utils/commonUtils'
17
-
18
- export const DEFAULT_MULTI_GRID_LEGEND_PARAMS: MultiGridLegendParams = {
19
- // position: 'right',
20
- // justify: 'end',
21
- placement: 'bottom',
22
- padding: 28,
23
- backgroundFill: 'none',
24
- backgroundStroke: 'none',
25
- gap: 10,
26
- listRectWidth: 14,
27
- listRectHeight: 14,
28
- listRectRadius: 0,
29
- gridList: [
30
- {
31
- listRectWidth: 14,
32
- listRectHeight: 14,
33
- listRectRadius: 0,
34
- }
35
- ],
36
- textColorType: 'primary'
37
- }
38
-
39
- export const DEFAULT_MULTI_GROUP_AXIS_PARAMS: MultiGroupAxisParams = {
40
- // labelAnchor: 'start',
41
- labelOffset: [0, 0],
42
- labelColorType: 'primary',
43
- axisLineVisible: true,
44
- axisLineColorType: 'primary',
45
- ticks: 'all',
46
- tickFormat: text => text,
47
- tickLineVisible: true,
48
- tickPadding: 20,
49
- tickFullLine: false,
50
- tickFullLineDasharray: 'none',
51
- tickColorType: 'secondary',
52
- tickTextRotate: 0,
53
- tickTextColorType: 'primary',
54
- gridIndexes: [0]
55
- }
56
- DEFAULT_MULTI_GROUP_AXIS_PARAMS.tickFormat.toString = () => `text => text`
57
-
58
- export const DEFAULT_MULTI_VALUE_AXIS_PARAMS: MultiValueAxisParams = {
59
- // labelAnchor: 'end',
60
- labelOffset: [0, 0],
61
- labelColorType: 'primary',
62
- axisLineVisible: false,
63
- axisLineColorType: 'primary',
64
- ticks: 4,
65
- tickFormat: ',.0f',
66
- tickLineVisible: true,
67
- tickPadding: 20,
68
- tickFullLine: true,
69
- tickFullLineDasharray: 'none',
70
- tickColorType: 'secondary',
71
- tickTextRotate: 0,
72
- tickTextColorType: 'primary',
73
- gridIndexes: [0]
74
- }
75
-
76
- export const DEFAULT_MULTI_VALUE_STACK_AXIS_PARAMS: MultiValueStackAxisParams = {
77
- ...DEFAULT_MULTI_VALUE_AXIS_PARAMS
78
- }
79
-
80
- export const DEFAULT_MULTI_BARS_PARAMS: MultiBarsParams = {
81
- barWidth: 0,
82
- barPadding: 1,
83
- barGroupPadding: 40,
84
- barRadius: false,
85
- gridIndexes: [0]
86
- }
87
-
88
- export const DEFAULT_MULTI_BAR_STACK_PARAMS: MultiBarStackParams = {
89
- barWidth: 0,
90
- barGroupPadding: 10,
91
- barRadius: false,
92
- gridIndexes: [0]
93
- }
94
-
95
- export const DEFAULT_MULTI_BARS_TRIANGLE_PARAMS: MultiBarsTriangleParams = {
96
- barWidth: 0,
97
- barPadding: 1,
98
- barGroupPadding: 20,
99
- linearGradientOpacity: [1, 0],
100
- gridIndexes: [0]
101
- }
102
-
103
- export const DEFAULT_MULTI_LINES_PARAMS: MultiLinesParams = {
104
- lineCurve: 'curveLinear',
105
- lineWidth: 2,
106
- gridIndexes: [1]
107
- }
108
-
109
- export const DEFAULT_MULTI_LINE_AREAS_PARAMS: MultiLineAreasParams = {
110
- lineCurve: 'curveLinear',
111
- linearGradientOpacity: [1, 0],
112
- gridIndexes: [1]
113
- }
114
-
115
- export const DEFAULT_MULTI_DOTS_PARAMS: MultiDotsParams = {
116
- radius: 4,
117
- fillColorType: 'white',
118
- strokeColorType: 'series',
119
- strokeWidth: 2,
120
- onlyShowHighlighted: false,
121
- gridIndexes: [1]
122
- }
123
-
124
- export const DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS: OverlappingValueAxesParams = {
125
- firstAxis: {
126
- // labelAnchor: 'end',
127
- labelOffset: [0, 0],
128
- labelColorType: 'primary',
129
- axisLineVisible: false,
130
- axisLineColorType: 'primary',
131
- ticks: 4,
132
- tickFormat: ',.0f',
133
- tickLineVisible: true,
134
- tickPadding: 20,
135
- tickFullLine: true,
136
- tickFullLineDasharray: 'none',
137
- tickColorType: 'secondary',
138
- tickTextRotate: 0,
139
- tickTextColorType: 'primary',
140
- },
141
- secondAxis: {
142
- // labelAnchor: 'end',
143
- labelOffset: [0, 0],
144
- labelColorType: 'primary',
145
- axisLineVisible: false,
146
- axisLineColorType: 'primary',
147
- ticks: 4,
148
- tickFormat: ',.0f',
149
- tickLineVisible: true,
150
- tickPadding: 20,
151
- tickFullLine: true,
152
- tickFullLineDasharray: 'none',
153
- tickColorType: 'secondary',
154
- tickTextRotate: 0,
155
- tickTextColorType: 'primary',
156
- },
157
- gridIndexes: [0, 1]
158
- }
159
-
160
- export const DEFAULT_OVERLAPPING_VALUE_STACK_AXES_PARAMS: OverlappingValueStackAxesParams = {
161
- ...DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS
162
- }
163
-
164
- export const DEFAULT_MULTI_GRID_TOOLTIP_PARAMS: MultiGridTooltipParams = {
165
- backgroundColorType: 'background',
166
- strokeColorType: 'primary',
167
- backgroundOpacity: 0.8,
168
- textColorType: 'primary',
169
- offset: [20, 5],
170
- padding: 10,
171
- renderFn: (eventData, { styles, utils }) => {
172
- const bulletWidth = styles.textSizePx * 0.7
173
- const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
174
-
175
- const titleSvg = `<g><text dominant-baseline="hanging" font-size="${styles.textSizePx}">${eventData.groupLabel}</text></g>`
176
- const maxLengthText = eventData.groups.reduce((acc, group) => {
177
- const text = `${group.seriesLabel}${group.value}`
178
- return text.length > acc.length ? text : acc
179
- }, '')
180
- const maxTextWidth = utils.measureTextWidth(maxLengthText, styles.textSizePx)
181
- const lineEndX = maxTextWidth + styles.textSizePx * 2
182
- const contentSvg = eventData.groups
183
- .map((group, i) => {
184
- const y = i * styles.textSizePx * 1.5
185
- const isHighlight = group.id === (eventData.datum && eventData.datum.id)
186
- return `<g transform="translate(0, ${styles.textSizePx * 2})">
187
- <rect width="${bulletWidth}" height="${bulletWidth}" x="${offset}" y="${y + offset}" rx="${bulletWidth / 2}" fill="${group.color}"></rect>
188
- <text x="${styles.textSizePx * 1.5}" y="${y}" font-size="${styles.textSizePx}" dominant-baseline="hanging" fill="${styles.textColor}">
189
- <tspan font-weight="${isHighlight ? 'bold' : ''}">${group.seriesLabel}</tspan>
190
- <tspan font-weight="bold" text-anchor="end" x="${lineEndX}">${group.value}</tspan>
191
- </text>
192
- </g>`
193
- })
194
- .join('')
195
- return `${titleSvg}
196
- ${contentSvg}`
197
- }
198
- }
199
- DEFAULT_MULTI_GRID_TOOLTIP_PARAMS.renderFn.toString = () => `(eventData, { styles, utils }) => {
200
- const bulletWidth = styles.textSizePx * 0.7
201
- const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
202
-
203
- const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}">\${eventData.groupLabel}</text></g>\`
204
- const maxLengthText = eventData.groups.reduce((acc, group) => {
205
- const text = \`\${group.seriesLabel}\${group.value}\`
206
- return text.length > acc.length ? text : acc
207
- }, '')
208
- const maxTextWidth = utils.measureTextWidth(maxLengthText, styles.textSizePx)
209
- const lineEndX = maxTextWidth + styles.textSizePx * 2
210
- const contentSvg = eventData.groups
211
- .map((group, i) => {
212
- const y = i * styles.textSizePx * 1.5
213
- const isHighlight = group.id === (eventData.datum && eventData.datum.id)
214
- return \`<g transform="translate(0, \${styles.textSizePx * 2})">
215
- <rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${y + offset}" rx="\${bulletWidth / 2}" fill="\${group.color}"></rect>
216
- <text x="\${styles.textSizePx * 1.5}" y="\${y}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
217
- <tspan font-weight="\${isHighlight ? 'bold' : ''}">\${group.seriesLabel}</tspan>
218
- <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${group.value}</tspan>
219
- </text>
220
- </g>\`
221
- })
222
- .join('')
223
- return \`\${titleSvg}
224
- \${contentSvg}\`
1
+ import type {
2
+ MultiGridLegendParams,
3
+ MultiBarsParams,
4
+ MultiBarStackParams,
5
+ MultiBarsTriangleParams,
6
+ MultiLinesParams,
7
+ MultiLineAreasParams,
8
+ MultiDotsParams,
9
+ MultiGroupAxisParams,
10
+ MultiGridTooltipParams,
11
+ MultiValueAxisParams,
12
+ MultiValueStackAxisParams,
13
+ OverlappingValueAxesParams,
14
+ OverlappingValueStackAxesParams
15
+ } from '../../lib/plugins-basic-types'
16
+ import { measureTextWidth } from '../utils/commonUtils'
17
+
18
+ export const DEFAULT_MULTI_GRID_LEGEND_PARAMS: MultiGridLegendParams = {
19
+ // position: 'right',
20
+ // justify: 'end',
21
+ placement: 'bottom',
22
+ padding: 28,
23
+ backgroundFill: 'none',
24
+ backgroundStroke: 'none',
25
+ gap: 10,
26
+ listRectWidth: 14,
27
+ listRectHeight: 14,
28
+ listRectRadius: 0,
29
+ gridList: [
30
+ {
31
+ listRectWidth: 14,
32
+ listRectHeight: 14,
33
+ listRectRadius: 0,
34
+ }
35
+ ],
36
+ textColorType: 'primary'
37
+ }
38
+
39
+ export const DEFAULT_MULTI_GROUP_AXIS_PARAMS: MultiGroupAxisParams = {
40
+ // labelAnchor: 'start',
41
+ labelOffset: [0, 0],
42
+ labelColorType: 'primary',
43
+ axisLineVisible: true,
44
+ axisLineColorType: 'primary',
45
+ ticks: 'all',
46
+ tickFormat: text => text,
47
+ tickLineVisible: true,
48
+ tickPadding: 20,
49
+ tickFullLine: false,
50
+ tickFullLineDasharray: 'none',
51
+ tickColorType: 'secondary',
52
+ tickTextRotate: 0,
53
+ tickTextColorType: 'primary',
54
+ gridIndexes: [0]
55
+ }
56
+ DEFAULT_MULTI_GROUP_AXIS_PARAMS.tickFormat.toString = () => `text => text`
57
+
58
+ export const DEFAULT_MULTI_VALUE_AXIS_PARAMS: MultiValueAxisParams = {
59
+ // labelAnchor: 'end',
60
+ labelOffset: [0, 0],
61
+ labelColorType: 'primary',
62
+ axisLineVisible: false,
63
+ axisLineColorType: 'primary',
64
+ ticks: 4,
65
+ tickFormat: ',.0f',
66
+ tickLineVisible: true,
67
+ tickPadding: 20,
68
+ tickFullLine: true,
69
+ tickFullLineDasharray: 'none',
70
+ tickColorType: 'secondary',
71
+ tickTextRotate: 0,
72
+ tickTextColorType: 'primary',
73
+ gridIndexes: [0]
74
+ }
75
+
76
+ export const DEFAULT_MULTI_VALUE_STACK_AXIS_PARAMS: MultiValueStackAxisParams = {
77
+ ...DEFAULT_MULTI_VALUE_AXIS_PARAMS
78
+ }
79
+
80
+ export const DEFAULT_MULTI_BARS_PARAMS: MultiBarsParams = {
81
+ barWidth: 0,
82
+ barPadding: 1,
83
+ barGroupPadding: 40,
84
+ barRadius: false,
85
+ gridIndexes: [0]
86
+ }
87
+
88
+ export const DEFAULT_MULTI_BAR_STACK_PARAMS: MultiBarStackParams = {
89
+ barWidth: 0,
90
+ barGroupPadding: 10,
91
+ barRadius: false,
92
+ gridIndexes: [0]
93
+ }
94
+
95
+ export const DEFAULT_MULTI_BARS_TRIANGLE_PARAMS: MultiBarsTriangleParams = {
96
+ barWidth: 0,
97
+ barPadding: 1,
98
+ barGroupPadding: 20,
99
+ linearGradientOpacity: [1, 0],
100
+ gridIndexes: [0]
101
+ }
102
+
103
+ export const DEFAULT_MULTI_LINES_PARAMS: MultiLinesParams = {
104
+ lineCurve: 'curveLinear',
105
+ lineWidth: 2,
106
+ gridIndexes: [1]
107
+ }
108
+
109
+ export const DEFAULT_MULTI_LINE_AREAS_PARAMS: MultiLineAreasParams = {
110
+ lineCurve: 'curveLinear',
111
+ linearGradientOpacity: [1, 0],
112
+ gridIndexes: [1]
113
+ }
114
+
115
+ export const DEFAULT_MULTI_DOTS_PARAMS: MultiDotsParams = {
116
+ radius: 4,
117
+ fillColorType: 'white',
118
+ strokeColorType: 'series',
119
+ strokeWidth: 2,
120
+ onlyShowHighlighted: false,
121
+ gridIndexes: [1]
122
+ }
123
+
124
+ export const DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS: OverlappingValueAxesParams = {
125
+ firstAxis: {
126
+ // labelAnchor: 'end',
127
+ labelOffset: [0, 0],
128
+ labelColorType: 'primary',
129
+ axisLineVisible: false,
130
+ axisLineColorType: 'primary',
131
+ ticks: 4,
132
+ tickFormat: ',.0f',
133
+ tickLineVisible: true,
134
+ tickPadding: 20,
135
+ tickFullLine: true,
136
+ tickFullLineDasharray: 'none',
137
+ tickColorType: 'secondary',
138
+ tickTextRotate: 0,
139
+ tickTextColorType: 'primary',
140
+ },
141
+ secondAxis: {
142
+ // labelAnchor: 'end',
143
+ labelOffset: [0, 0],
144
+ labelColorType: 'primary',
145
+ axisLineVisible: false,
146
+ axisLineColorType: 'primary',
147
+ ticks: 4,
148
+ tickFormat: ',.0f',
149
+ tickLineVisible: true,
150
+ tickPadding: 20,
151
+ tickFullLine: true,
152
+ tickFullLineDasharray: 'none',
153
+ tickColorType: 'secondary',
154
+ tickTextRotate: 0,
155
+ tickTextColorType: 'primary',
156
+ },
157
+ gridIndexes: [0, 1]
158
+ }
159
+
160
+ export const DEFAULT_OVERLAPPING_VALUE_STACK_AXES_PARAMS: OverlappingValueStackAxesParams = {
161
+ ...DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS
162
+ }
163
+
164
+ export const DEFAULT_MULTI_GRID_TOOLTIP_PARAMS: MultiGridTooltipParams = {
165
+ backgroundColorType: 'background',
166
+ strokeColorType: 'primary',
167
+ backgroundOpacity: 0.8,
168
+ textColorType: 'primary',
169
+ offset: [20, 5],
170
+ padding: 10,
171
+ renderFn: (eventData, { styles, utils }) => {
172
+ const bulletWidth = styles.textSizePx * 0.7
173
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
174
+
175
+ const titleSvg = `<g><text dominant-baseline="hanging" font-size="${styles.textSizePx}">${eventData.groupLabel}</text></g>`
176
+ const maxLengthText = eventData.groups.reduce((acc, group) => {
177
+ const text = `${group.seriesLabel}${group.value}`
178
+ return text.length > acc.length ? text : acc
179
+ }, '')
180
+ const maxTextWidth = utils.measureTextWidth(maxLengthText, styles.textSizePx)
181
+ const lineEndX = maxTextWidth + styles.textSizePx * 2
182
+ const contentSvg = eventData.groups
183
+ .map((group, i) => {
184
+ const y = i * styles.textSizePx * 1.5
185
+ const isHighlight = group.id === (eventData.datum && eventData.datum.id)
186
+ return `<g transform="translate(0, ${styles.textSizePx * 2})">
187
+ <rect width="${bulletWidth}" height="${bulletWidth}" x="${offset}" y="${y + offset}" rx="${bulletWidth / 2}" fill="${group.color}"></rect>
188
+ <text x="${styles.textSizePx * 1.5}" y="${y}" font-size="${styles.textSizePx}" dominant-baseline="hanging" fill="${styles.textColor}">
189
+ <tspan font-weight="${isHighlight ? 'bold' : ''}">${group.seriesLabel}</tspan>
190
+ <tspan font-weight="bold" text-anchor="end" x="${lineEndX}">${group.value}</tspan>
191
+ </text>
192
+ </g>`
193
+ })
194
+ .join('')
195
+ return `${titleSvg}
196
+ ${contentSvg}`
197
+ }
198
+ }
199
+ DEFAULT_MULTI_GRID_TOOLTIP_PARAMS.renderFn.toString = () => `(eventData, { styles, utils }) => {
200
+ const bulletWidth = styles.textSizePx * 0.7
201
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
202
+
203
+ const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}">\${eventData.groupLabel}</text></g>\`
204
+ const maxLengthText = eventData.groups.reduce((acc, group) => {
205
+ const text = \`\${group.seriesLabel}\${group.value}\`
206
+ return text.length > acc.length ? text : acc
207
+ }, '')
208
+ const maxTextWidth = utils.measureTextWidth(maxLengthText, styles.textSizePx)
209
+ const lineEndX = maxTextWidth + styles.textSizePx * 2
210
+ const contentSvg = eventData.groups
211
+ .map((group, i) => {
212
+ const y = i * styles.textSizePx * 1.5
213
+ const isHighlight = group.id === (eventData.datum && eventData.datum.id)
214
+ return \`<g transform="translate(0, \${styles.textSizePx * 2})">
215
+ <rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${y + offset}" rx="\${bulletWidth / 2}" fill="\${group.color}"></rect>
216
+ <text x="\${styles.textSizePx * 1.5}" y="\${y}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
217
+ <tspan font-weight="\${isHighlight ? 'bold' : ''}">\${group.seriesLabel}</tspan>
218
+ <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${group.value}</tspan>
219
+ </text>
220
+ </g>\`
221
+ })
222
+ .join('')
223
+ return \`\${titleSvg}
224
+ \${contentSvg}\`
225
225
  }`