@orbcharts/plugins-basic 3.0.0-alpha.75 → 3.0.0-alpha.76

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 (81) hide show
  1. package/LICENSE +200 -200
  2. package/dist/orbcharts-plugins-basic.es.js +3461 -3468
  3. package/dist/orbcharts-plugins-basic.umd.js +17 -17
  4. package/lib/core-types.ts +7 -7
  5. package/lib/core.ts +6 -6
  6. package/package.json +43 -43
  7. package/src/base/BaseBarStack.ts +779 -779
  8. package/src/base/BaseBars.ts +764 -764
  9. package/src/base/BaseBarsTriangle.ts +672 -672
  10. package/src/base/BaseDots.ts +513 -513
  11. package/src/base/BaseGroupAxis.ts +678 -678
  12. package/src/base/BaseLegend.ts +642 -642
  13. package/src/base/BaseLineAreas.ts +627 -627
  14. package/src/base/BaseLines.ts +704 -704
  15. package/src/base/BaseValueAxis.ts +578 -578
  16. package/src/base/types.ts +2 -2
  17. package/src/const.ts +30 -30
  18. package/src/grid/defaults.ts +128 -128
  19. package/src/grid/gridObservables.ts +545 -545
  20. package/src/grid/index.ts +15 -15
  21. package/src/grid/plugins/BarStack.ts +64 -64
  22. package/src/grid/plugins/Bars.ts +69 -69
  23. package/src/grid/plugins/BarsPN.ts +66 -66
  24. package/src/grid/plugins/BarsTriangle.ts +73 -73
  25. package/src/grid/plugins/Dots.ts +68 -68
  26. package/src/grid/plugins/GridLegend.ts +96 -96
  27. package/src/grid/plugins/GroupAux.ts +1098 -1098
  28. package/src/grid/plugins/GroupAxis.ts +97 -97
  29. package/src/grid/plugins/LineAreas.ts +65 -65
  30. package/src/grid/plugins/Lines.ts +59 -59
  31. package/src/grid/plugins/ScalingArea.ts +218 -218
  32. package/src/grid/plugins/ValueAxis.ts +93 -93
  33. package/src/grid/plugins/ValueStackAxis.ts +95 -95
  34. package/src/grid/types.ts +123 -123
  35. package/src/index.ts +9 -9
  36. package/src/multiGrid/defaults.ts +158 -158
  37. package/src/multiGrid/index.ts +13 -13
  38. package/src/multiGrid/multiGridObservables.ts +49 -49
  39. package/src/multiGrid/plugins/MultiBarStack.ts +106 -106
  40. package/src/multiGrid/plugins/MultiBars.ts +108 -108
  41. package/src/multiGrid/plugins/MultiBarsTriangle.ts +114 -114
  42. package/src/multiGrid/plugins/MultiDots.ts +102 -102
  43. package/src/multiGrid/plugins/MultiGridLegend.ts +148 -148
  44. package/src/multiGrid/plugins/MultiGroupAxis.ts +137 -137
  45. package/src/multiGrid/plugins/MultiLineAreas.ts +107 -107
  46. package/src/multiGrid/plugins/MultiLines.ts +101 -101
  47. package/src/multiGrid/plugins/MultiValueAxis.ts +133 -133
  48. package/src/multiGrid/plugins/MultiValueStackAxis.ts +133 -133
  49. package/src/multiGrid/plugins/OverlappingValueAxes.ts +299 -299
  50. package/src/multiGrid/plugins/OverlappingValueStackAxes.ts +298 -298
  51. package/src/multiGrid/types.ts +72 -72
  52. package/src/noneData/defaults.ts +102 -102
  53. package/src/noneData/index.ts +3 -3
  54. package/src/noneData/plugins/Container.ts +27 -27
  55. package/src/noneData/plugins/Tooltip.ts +373 -373
  56. package/src/noneData/types.ts +26 -26
  57. package/src/series/defaults.ts +149 -149
  58. package/src/series/index.ts +9 -9
  59. package/src/series/plugins/Bubbles.ts +603 -603
  60. package/src/series/plugins/Pie.ts +623 -623
  61. package/src/series/plugins/PieEventTexts.ts +283 -283
  62. package/src/series/plugins/PieLabels.ts +640 -640
  63. package/src/series/plugins/Rose.ts +516 -516
  64. package/src/series/plugins/RoseLabels.ts +600 -600
  65. package/src/series/plugins/SeriesLegend.ts +96 -96
  66. package/src/series/seriesObservables.ts +145 -145
  67. package/src/series/seriesUtils.ts +51 -51
  68. package/src/series/types.ts +87 -87
  69. package/src/tree/defaults.ts +23 -23
  70. package/src/tree/index.ts +3 -3
  71. package/src/tree/plugins/TreeLegend.ts +96 -96
  72. package/src/tree/plugins/TreeMap.ts +333 -333
  73. package/src/tree/types.ts +23 -23
  74. package/src/utils/commonUtils.ts +21 -21
  75. package/src/utils/d3Graphics.ts +174 -174
  76. package/src/utils/d3Utils.ts +73 -73
  77. package/src/utils/observables.ts +14 -14
  78. package/src/utils/orbchartsUtils.ts +100 -100
  79. package/tsconfig.base.json +13 -13
  80. package/tsconfig.json +2 -2
  81. package/vite.config.js +22 -22
@@ -1,73 +1,73 @@
1
- import type { BaseBarsParams } from '../base/BaseBars'
2
- import type { BaseBarStackParams } from '../base/BaseBarStack'
3
- import type { BaseBarsTriangleParams } from '../base/BaseBarsTriangle'
4
- import type { BaseLinesParams } from '../base/BaseLines'
5
- import type { BaseLineAreasParams } from '../base/BaseLineAreas'
6
- import type { BaseDotsParams } from '../base/BaseDots'
7
- import type { BaseGroupAxisParams } from '../base/BaseGroupAxis'
8
- import type { BaseValueAxisParams } from '../base/BaseValueAxis'
9
- import type {
10
- ChartParams, Layout, ColorType } from '../../lib/core-types'
11
-
12
- export interface MultiGridLegendParams {
13
- position: 'top' | 'bottom' | 'left' | 'right'
14
- justify: 'start' | 'center' | 'end'
15
- padding: number
16
- backgroundFill: ColorType
17
- backgroundStroke: ColorType
18
- gap: number
19
- listRectWidth: number
20
- listRectHeight: number
21
- listRectRadius: number
22
- // 可針對各grid設定,覆蓋全域設定
23
- gridList: Array<{
24
- listRectWidth: number
25
- listRectHeight: number
26
- listRectRadius: number
27
- }>
28
- textColorType: ColorType
29
- }
30
-
31
- export interface MultiGroupAxisParams extends BaseGroupAxisParams {
32
- gridIndexes: number[] | 'all'
33
- }
34
-
35
- export interface MultiValueAxisParams extends BaseValueAxisParams {
36
- gridIndexes: number[] | 'all'
37
- }
38
-
39
- export interface MultiValueStackAxisParams extends BaseValueAxisParams {
40
- gridIndexes: number[] | 'all'
41
- }
42
-
43
- export interface MultiBarsParams extends BaseBarsParams {
44
- gridIndexes: number[] | 'all'
45
- }
46
-
47
- export interface MultiBarStackParams extends BaseBarStackParams {
48
- gridIndexes: number[] | 'all'
49
- }
50
-
51
- export interface MultiBarsTriangleParams extends BaseBarsTriangleParams {
52
- gridIndexes: number[] | 'all'
53
- }
54
-
55
- export interface MultiLinesParams extends BaseLinesParams {
56
- gridIndexes: number[] | 'all'
57
- }
58
-
59
- export interface MultiLineAreasParams extends BaseLineAreasParams {
60
- gridIndexes: number[] | 'all'
61
- }
62
-
63
- export interface MultiDotsParams extends BaseDotsParams {
64
- gridIndexes: number[] | 'all'
65
- }
66
-
67
- export interface OverlappingValueAxesParams {
68
- firstAxis: BaseValueAxisParams
69
- secondAxis: BaseValueAxisParams
70
- gridIndexes: [number, number]
71
- }
72
-
1
+ import type { BaseBarsParams } from '../base/BaseBars'
2
+ import type { BaseBarStackParams } from '../base/BaseBarStack'
3
+ import type { BaseBarsTriangleParams } from '../base/BaseBarsTriangle'
4
+ import type { BaseLinesParams } from '../base/BaseLines'
5
+ import type { BaseLineAreasParams } from '../base/BaseLineAreas'
6
+ import type { BaseDotsParams } from '../base/BaseDots'
7
+ import type { BaseGroupAxisParams } from '../base/BaseGroupAxis'
8
+ import type { BaseValueAxisParams } from '../base/BaseValueAxis'
9
+ import type {
10
+ ChartParams, Layout, ColorType } from '../../lib/core-types'
11
+
12
+ export interface MultiGridLegendParams {
13
+ position: 'top' | 'bottom' | 'left' | 'right'
14
+ justify: 'start' | 'center' | 'end'
15
+ padding: number
16
+ backgroundFill: ColorType
17
+ backgroundStroke: ColorType
18
+ gap: number
19
+ listRectWidth: number
20
+ listRectHeight: number
21
+ listRectRadius: number
22
+ // 可針對各grid設定,覆蓋全域設定
23
+ gridList: Array<{
24
+ listRectWidth: number
25
+ listRectHeight: number
26
+ listRectRadius: number
27
+ }>
28
+ textColorType: ColorType
29
+ }
30
+
31
+ export interface MultiGroupAxisParams extends BaseGroupAxisParams {
32
+ gridIndexes: number[] | 'all'
33
+ }
34
+
35
+ export interface MultiValueAxisParams extends BaseValueAxisParams {
36
+ gridIndexes: number[] | 'all'
37
+ }
38
+
39
+ export interface MultiValueStackAxisParams extends BaseValueAxisParams {
40
+ gridIndexes: number[] | 'all'
41
+ }
42
+
43
+ export interface MultiBarsParams extends BaseBarsParams {
44
+ gridIndexes: number[] | 'all'
45
+ }
46
+
47
+ export interface MultiBarStackParams extends BaseBarStackParams {
48
+ gridIndexes: number[] | 'all'
49
+ }
50
+
51
+ export interface MultiBarsTriangleParams extends BaseBarsTriangleParams {
52
+ gridIndexes: number[] | 'all'
53
+ }
54
+
55
+ export interface MultiLinesParams extends BaseLinesParams {
56
+ gridIndexes: number[] | 'all'
57
+ }
58
+
59
+ export interface MultiLineAreasParams extends BaseLineAreasParams {
60
+ gridIndexes: number[] | 'all'
61
+ }
62
+
63
+ export interface MultiDotsParams extends BaseDotsParams {
64
+ gridIndexes: number[] | 'all'
65
+ }
66
+
67
+ export interface OverlappingValueAxesParams {
68
+ firstAxis: BaseValueAxisParams
69
+ secondAxis: BaseValueAxisParams
70
+ gridIndexes: [number, number]
71
+ }
72
+
73
73
  export interface OverlappingValueStackAxesParams extends OverlappingValueAxesParams {}
@@ -1,103 +1,103 @@
1
- import type { ContainerPluginParams, TooltipParams } from './types'
2
- import type { EventTypeMap, EventBaseSeriesValue, EventBaseGridValue, EventBaseCategoryValue } from '../../lib/core-types'
3
-
4
- export const CONTAINER_PLUGIN_PARAMS: ContainerPluginParams = {
5
- header: {
6
- height: 36,
7
- text: [],
8
- textStyle: []
9
- },
10
- footer: {
11
- height: 0,
12
- text: [],
13
- textStyle: []
14
- }
15
- }
16
-
17
- export const TOOLTIP_PARAMS: TooltipParams = {
18
- backgroundColorType: 'background',
19
- strokeColorType: 'primary',
20
- backgroundOpacity: 0.8,
21
- textColorType: 'primary',
22
- offset: [20, 5],
23
- padding: 10,
24
- textRenderFn: (eventData) => {
25
- if (eventData.highlightTarget === 'datum' && eventData.datum) {
26
- return [`${(eventData as EventTypeMap<'series'>).datum.label}: ${(eventData as EventTypeMap<'series'>).datum.value}`]
27
- } else if (eventData.highlightTarget === 'series') {
28
- const label = (eventData as EventBaseSeriesValue).seriesLabel
29
- const valueArr = (eventData as EventBaseSeriesValue).series
30
- .filter(d => d.visible == true)
31
- .map(d => {
32
- return d.value
33
- })
34
- const value = valueArr.length > 5
35
- ? valueArr.slice(0, 5).join(',') + '...'
36
- : valueArr.join(',')
37
- return [label, value]
38
- } else if (eventData.highlightTarget === 'group') {
39
- const label = (eventData as EventBaseGridValue<'grid'>).groupLabel
40
- const valueArr = (eventData as EventBaseGridValue<'grid'>).series
41
- .filter(d => d.visible == true)
42
- .map(d => {
43
- return d.value
44
- })
45
- const value = valueArr.length > 5
46
- ? valueArr.slice(0, 5).join(',') + '...'
47
- : valueArr.join(',')
48
- return [label, value]
49
- } else if (eventData.highlightTarget === 'category') {
50
- const label = (eventData as EventBaseCategoryValue<any>).categoryLabel
51
- const valueArr = (eventData as EventBaseCategoryValue<'multiValue'>).category
52
- .filter(d => d.visible == true)
53
- .map(d => {
54
- return d.value
55
- })
56
- const value = valueArr.length > 5
57
- ? valueArr.slice(0, 5).join(',') + '...'
58
- : valueArr.join(',')
59
- return [label, value]
60
- }
61
- return []
62
- },
63
- svgRenderFn: null
64
- }
65
- TOOLTIP_PARAMS.textRenderFn.toString = () => `(eventData) => {
66
- if (eventData.highlightTarget === 'datum' && eventData.datum) {
67
- return [\`\${eventData.datum.label}: \${eventData.datum.value}\`]
68
- } else if (eventData.highlightTarget === 'series') {
69
- const label = (eventData as EventBaseSeriesValue<any, any>).seriesLabel
70
- const valueArr = (eventData as EventBaseSeriesValue<any, any>).series
71
- .filter(d => d.visible == true)
72
- .map(d => {
73
- return d.value
74
- })
75
- const value = valueArr.length > 5
76
- ? valueArr.slice(0, 5).join(',') + '...'
77
- : valueArr.join(',')
78
- return [label, value]
79
- } else if (eventData.highlightTarget === 'group') {
80
- const label = (eventData as EventBaseGridValue<any, any>).groupLabel
81
- const valueArr = (eventData as EventBaseGridValue<any, any>).series
82
- .filter(d => d.visible == true)
83
- .map(d => {
84
- return d.value
85
- })
86
- const value = valueArr.length > 5
87
- ? valueArr.slice(0, 5).join(',') + '...'
88
- : valueArr.join(',')
89
- return [label, value]
90
- } else if (eventData.highlightTarget === 'category') {
91
- const label = (eventData as EventBaseCategoryValue<any, any>).categoryLabel
92
- const valueArr = (eventData as EventBaseCategoryValue<any, any>).category
93
- .filter(d => d.visible == true)
94
- .map(d => {
95
- return d.value
96
- })
97
- const value = valueArr.length > 5
98
- ? valueArr.slice(0, 5).join(',') + '...'
99
- : valueArr.join(',')
100
- return [label, value]
101
- }
102
- return []
1
+ import type { ContainerPluginParams, TooltipParams } from './types'
2
+ import type { EventTypeMap, EventBaseSeriesValue, EventBaseGridValue, EventBaseCategoryValue } from '../../lib/core-types'
3
+
4
+ export const CONTAINER_PLUGIN_PARAMS: ContainerPluginParams = {
5
+ header: {
6
+ height: 36,
7
+ text: [],
8
+ textStyle: []
9
+ },
10
+ footer: {
11
+ height: 0,
12
+ text: [],
13
+ textStyle: []
14
+ }
15
+ }
16
+
17
+ export const TOOLTIP_PARAMS: TooltipParams = {
18
+ backgroundColorType: 'background',
19
+ strokeColorType: 'primary',
20
+ backgroundOpacity: 0.8,
21
+ textColorType: 'primary',
22
+ offset: [20, 5],
23
+ padding: 10,
24
+ textRenderFn: (eventData) => {
25
+ if (eventData.highlightTarget === 'datum' && eventData.datum) {
26
+ return [`${(eventData as EventTypeMap<'series'>).datum.label}: ${(eventData as EventTypeMap<'series'>).datum.value}`]
27
+ } else if (eventData.highlightTarget === 'series') {
28
+ const label = (eventData as EventBaseSeriesValue).seriesLabel
29
+ const valueArr = (eventData as EventBaseSeriesValue).series
30
+ .filter(d => d.visible == true)
31
+ .map(d => {
32
+ return d.value
33
+ })
34
+ const value = valueArr.length > 5
35
+ ? valueArr.slice(0, 5).join(',') + '...'
36
+ : valueArr.join(',')
37
+ return [label, value]
38
+ } else if (eventData.highlightTarget === 'group') {
39
+ const label = (eventData as EventBaseGridValue<'grid'>).groupLabel
40
+ const valueArr = (eventData as EventBaseGridValue<'grid'>).series
41
+ .filter(d => d.visible == true)
42
+ .map(d => {
43
+ return d.value
44
+ })
45
+ const value = valueArr.length > 5
46
+ ? valueArr.slice(0, 5).join(',') + '...'
47
+ : valueArr.join(',')
48
+ return [label, value]
49
+ } else if (eventData.highlightTarget === 'category') {
50
+ const label = (eventData as EventBaseCategoryValue<any>).categoryLabel
51
+ const valueArr = (eventData as EventBaseCategoryValue<'multiValue'>).category
52
+ .filter(d => d.visible == true)
53
+ .map(d => {
54
+ return d.value
55
+ })
56
+ const value = valueArr.length > 5
57
+ ? valueArr.slice(0, 5).join(',') + '...'
58
+ : valueArr.join(',')
59
+ return [label, value]
60
+ }
61
+ return []
62
+ },
63
+ svgRenderFn: null
64
+ }
65
+ TOOLTIP_PARAMS.textRenderFn.toString = () => `(eventData) => {
66
+ if (eventData.highlightTarget === 'datum' && eventData.datum) {
67
+ return [\`\${eventData.datum.label}: \${eventData.datum.value}\`]
68
+ } else if (eventData.highlightTarget === 'series') {
69
+ const label = (eventData as EventBaseSeriesValue<any, any>).seriesLabel
70
+ const valueArr = (eventData as EventBaseSeriesValue<any, any>).series
71
+ .filter(d => d.visible == true)
72
+ .map(d => {
73
+ return d.value
74
+ })
75
+ const value = valueArr.length > 5
76
+ ? valueArr.slice(0, 5).join(',') + '...'
77
+ : valueArr.join(',')
78
+ return [label, value]
79
+ } else if (eventData.highlightTarget === 'group') {
80
+ const label = (eventData as EventBaseGridValue<any, any>).groupLabel
81
+ const valueArr = (eventData as EventBaseGridValue<any, any>).series
82
+ .filter(d => d.visible == true)
83
+ .map(d => {
84
+ return d.value
85
+ })
86
+ const value = valueArr.length > 5
87
+ ? valueArr.slice(0, 5).join(',') + '...'
88
+ : valueArr.join(',')
89
+ return [label, value]
90
+ } else if (eventData.highlightTarget === 'category') {
91
+ const label = (eventData as EventBaseCategoryValue<any, any>).categoryLabel
92
+ const valueArr = (eventData as EventBaseCategoryValue<any, any>).category
93
+ .filter(d => d.visible == true)
94
+ .map(d => {
95
+ return d.value
96
+ })
97
+ const value = valueArr.length > 5
98
+ ? valueArr.slice(0, 5).join(',') + '...'
99
+ : valueArr.join(',')
100
+ return [label, value]
101
+ }
102
+ return []
103
103
  }`
@@ -1,4 +1,4 @@
1
- export * from './defaults'
2
- export * from './types'
3
- // export { Container } from './plugins/Container'
1
+ export * from './defaults'
2
+ export * from './types'
3
+ // export { Container } from './plugins/Container'
4
4
  export { Tooltip } from './plugins/Tooltip'
@@ -1,28 +1,28 @@
1
- import * as d3 from 'd3'
2
- import type { DefinePluginConfig } from '../../../lib/core-types'
3
- import {
4
- defineNoneDataPlugin } from '../../../lib/core'
5
- import { CONTAINER_PLUGIN_PARAMS } from '../defaults'
6
- import { LAYER_INDEX_OF_BG } from '../../const'
7
-
8
- const pluginName = 'Container'
9
-
10
- const pluginConfig: DefinePluginConfig<typeof pluginName, typeof CONTAINER_PLUGIN_PARAMS> = {
11
- name: pluginName,
12
- defaultParams: CONTAINER_PLUGIN_PARAMS,
13
- layerIndex: LAYER_INDEX_OF_BG,
14
- validator: (params, { validateColumns }) => {
15
- return {
16
- status: 'success',
17
- columnName: '',
18
- expectToBe: '',
19
- }
20
- }
21
- }
22
-
23
- export const Container = defineNoneDataPlugin(pluginConfig)(({ selection }) => {
24
-
25
- return function unsubscribe () {
26
-
27
- }
1
+ import * as d3 from 'd3'
2
+ import type { DefinePluginConfig } from '../../../lib/core-types'
3
+ import {
4
+ defineNoneDataPlugin } from '../../../lib/core'
5
+ import { CONTAINER_PLUGIN_PARAMS } from '../defaults'
6
+ import { LAYER_INDEX_OF_BG } from '../../const'
7
+
8
+ const pluginName = 'Container'
9
+
10
+ const pluginConfig: DefinePluginConfig<typeof pluginName, typeof CONTAINER_PLUGIN_PARAMS> = {
11
+ name: pluginName,
12
+ defaultParams: CONTAINER_PLUGIN_PARAMS,
13
+ layerIndex: LAYER_INDEX_OF_BG,
14
+ validator: (params, { validateColumns }) => {
15
+ return {
16
+ status: 'success',
17
+ columnName: '',
18
+ expectToBe: '',
19
+ }
20
+ }
21
+ }
22
+
23
+ export const Container = defineNoneDataPlugin(pluginConfig)(({ selection }) => {
24
+
25
+ return function unsubscribe () {
26
+
27
+ }
28
28
  })