@orbcharts/plugins-basic 3.0.0-alpha.54 → 3.0.0-alpha.56

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbcharts/plugins-basic",
3
- "version": "3.0.0-alpha.54",
3
+ "version": "3.0.0-alpha.56",
4
4
  "description": "plugins for OrbCharts",
5
5
  "author": "Blue Planet Inc.",
6
6
  "license": "Apache-2.0",
@@ -35,7 +35,7 @@
35
35
  "vite-plugin-dts": "^3.7.3"
36
36
  },
37
37
  "dependencies": {
38
- "@orbcharts/core": "^3.0.0-alpha.50",
38
+ "@orbcharts/core": "^3.0.0-alpha.52",
39
39
  "d3": "^7.8.5",
40
40
  "rxjs": "^7.8.1"
41
41
  }
@@ -41,6 +41,7 @@ export const DEFAULT_GROUP_AREA_PARAMS: GroupAuxParams = {
41
41
  labelTextFormat: text => text,
42
42
  labelPadding: 24,
43
43
  }
44
+ DEFAULT_GROUP_AREA_PARAMS.labelTextFormat.toString = () => `text => text`
44
45
 
45
46
  export const DEFAULT_BARS_PARAMS: BarsParams = {
46
47
  // barType: 'rect',
@@ -83,6 +84,7 @@ export const DEFAULT_GROUP_AXIS_PARAMS: GroupAxisParams = {
83
84
  tickTextRotate: 0,
84
85
  tickTextColorType: 'primary',
85
86
  }
87
+ DEFAULT_GROUP_AXIS_PARAMS.tickFormat.toString = () => `text => text`
86
88
 
87
89
  export const DEFAULT_VALUE_AXIS_PARAMS: ValueAxisParams = {
88
90
  // labelAnchor: 'end',
@@ -50,6 +50,7 @@ export const DEFAULT_MULTI_GROUP_AXIS_PARAMS: MultiGroupAxisParams = {
50
50
  tickTextColorType: 'primary',
51
51
  gridIndexes: [0]
52
52
  }
53
+ DEFAULT_MULTI_GROUP_AXIS_PARAMS.tickFormat.toString = () => `text => text`
53
54
 
54
55
  export const DEFAULT_MULTI_VALUE_AXIS_PARAMS: MultiValueAxisParams = {
55
56
  // labelAnchor: 'end',
@@ -50,15 +50,16 @@ export const OverlappingValueAxes = defineMultiGridPlugin(pluginName, DEFAULT_OV
50
50
  if (!data.fullDataFormatter.gridList[data.secondGridIndex]) {
51
51
  data.fullDataFormatter.gridList[data.secondGridIndex] = Object.assign({}, data.fullDataFormatter.gridList[data.firstGridIndex])
52
52
  }
53
+ const position = data.fullDataFormatter.gridList[data.firstGridIndex].valueAxis.position
53
54
  // 反轉第二個valueAxis的位置
54
- let reversePosition = ''
55
- if (data.fullDataFormatter.gridList[data.firstGridIndex].valueAxis.position === 'left') {
55
+ let reversePosition = position
56
+ if (position === 'left') {
56
57
  reversePosition = 'right'
57
- } else if (data.fullDataFormatter.gridList[data.firstGridIndex].valueAxis.position === 'bottom') {
58
+ } else if (position === 'bottom') {
58
59
  reversePosition = 'top'
59
- } else if (data.fullDataFormatter.gridList[data.firstGridIndex].valueAxis.position === 'top') {
60
+ } else if (position === 'top') {
60
61
  reversePosition = 'bottom'
61
- } else if (data.fullDataFormatter.gridList[data.firstGridIndex].valueAxis.position === 'right') {
62
+ } else if (position === 'right') {
62
63
  reversePosition = 'left'
63
64
  }
64
65
  return <DataFormatterGrid>{
@@ -51,15 +51,16 @@ export const OverlappingValueStackAxes = defineMultiGridPlugin(pluginName, DEFAU
51
51
  if (!data.fullDataFormatter.gridList[data.secondGridIndex]) {
52
52
  data.fullDataFormatter.gridList[data.secondGridIndex] = Object.assign({}, data.fullDataFormatter.gridList[data.firstGridIndex])
53
53
  }
54
+ const position = data.fullDataFormatter.gridList[data.firstGridIndex].valueAxis.position
54
55
  // 反轉第二個valueAxis的位置
55
- let reversePosition = ''
56
- if (data.fullDataFormatter.gridList[data.firstGridIndex].valueAxis.position === 'left') {
56
+ let reversePosition = position
57
+ if (position === 'left') {
57
58
  reversePosition = 'right'
58
- } else if (data.fullDataFormatter.gridList[data.firstGridIndex].valueAxis.position === 'bottom') {
59
+ } else if (position === 'bottom') {
59
60
  reversePosition = 'top'
60
- } else if (data.fullDataFormatter.gridList[data.firstGridIndex].valueAxis.position === 'top') {
61
+ } else if (position === 'top') {
61
62
  reversePosition = 'bottom'
62
- } else if (data.fullDataFormatter.gridList[data.firstGridIndex].valueAxis.position === 'right') {
63
+ } else if (position === 'right') {
63
64
  reversePosition = 'left'
64
65
  }
65
66
  return <DataFormatterGrid>{
@@ -62,3 +62,42 @@ export const TOOLTIP_PARAMS: TooltipParams = {
62
62
  },
63
63
  svgRenderFn: null
64
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
+ }`
@@ -79,6 +79,22 @@ export const DEFAULT_PIE_EVENT_TEXTS_PARAMS: PieEventTextsParams = {
79
79
  }
80
80
  ]
81
81
  }
82
+ DEFAULT_PIE_EVENT_TEXTS_PARAMS.eventFn.toString = () => `(eventData: EventSeries, eventName: EventName, t: number) => {
83
+ if (eventName === 'mouseover' || eventName === 'mousemove') {
84
+ return [String(eventData.datum!.value)]
85
+ }
86
+ return [
87
+ String(
88
+ Math.round(
89
+ eventData.data.reduce((acc, seriesData) => {
90
+ return acc + seriesData.reduce((_acc, data) => {
91
+ return _acc + (data.value ?? 0)
92
+ }, 0)
93
+ }, 0) * t
94
+ )
95
+ )
96
+ ]
97
+ }`
82
98
 
83
99
  export const DEFAULT_PIE_LABELS_PARAMS: PieLabelsParams = {
84
100
  // solidColor: undefined,
@@ -94,6 +110,7 @@ export const DEFAULT_PIE_LABELS_PARAMS: PieLabelsParams = {
94
110
  labelColorType: 'primary',
95
111
  labelFn: d => String(d.label),
96
112
  }
113
+ DEFAULT_PIE_LABELS_PARAMS.labelFn.toString = () => `d => String(d.label)`
97
114
 
98
115
  export const DEFAULT_ROSE_PARAMS: RoseParams = {
99
116
  outerRadius: 0.95,
@@ -109,6 +126,7 @@ export const DEFAULT_ROSE_LABELS_PARAMS: RoseLabelsParams = {
109
126
  labelColorType: 'primary',
110
127
  arcScaleType: 'area'
111
128
  }
129
+ DEFAULT_ROSE_LABELS_PARAMS.labelFn.toString = () => `d => String(d.label)`
112
130
 
113
131
  export const DEFAULT_SERIES_LEGEND_PARAMS: SeriesLegendParams = {
114
132
  position: 'right',
@@ -7,6 +7,7 @@ export const DEFAULT_TREE_MAP_PARAMS: TreeMapParams = {
7
7
  squarifyRatio: 1.618034, // 黃金比例
8
8
  sort: (a, b) => b.value - a.value
9
9
  }
10
+ DEFAULT_TREE_MAP_PARAMS.sort.toString = () => `(a, b) => b.value - a.value`
10
11
 
11
12
  export const DEFAULT_TREE_LEGEND_PARAMS: TreeLegendParams = {
12
13
  position: 'right',