@orbcharts/plugins-basic 3.0.0-alpha.41 → 3.0.0-alpha.43
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.
- package/LICENSE +200 -200
- package/dist/orbcharts-plugins-basic.es.js +5477 -5426
- package/dist/orbcharts-plugins-basic.umd.js +8 -8
- package/dist/src/base/BaseBarStack.d.ts +1 -1
- package/dist/src/base/BaseBars.d.ts +1 -1
- package/dist/src/base/BaseBarsTriangle.d.ts +1 -1
- package/dist/src/base/BaseDots.d.ts +1 -1
- package/dist/src/base/BaseLineAreas.d.ts +1 -1
- package/dist/src/base/BaseLines.d.ts +1 -1
- package/dist/src/multiGrid/defaults.d.ts +2 -1
- package/dist/src/multiGrid/index.d.ts +1 -0
- package/dist/src/multiGrid/plugins/MultiLineAreas.d.ts +1 -0
- package/dist/src/multiGrid/types.d.ts +4 -4
- package/package.json +42 -42
- package/src/base/BaseBarStack.ts +881 -879
- package/src/base/BaseBars.ts +750 -748
- package/src/base/BaseBarsTriangle.ts +659 -657
- package/src/base/BaseDots.ts +639 -637
- package/src/base/BaseGroupAxis.ts +496 -496
- package/src/base/BaseLegend.ts +636 -636
- package/src/base/BaseLineAreas.ts +621 -624
- package/src/base/BaseLines.ts +692 -695
- package/src/base/BaseValueAxis.ts +479 -479
- package/src/base/types.ts +2 -2
- package/src/grid/defaults.ts +121 -121
- package/src/grid/gridObservables.ts +263 -263
- package/src/grid/index.ts +15 -15
- package/src/grid/plugins/BarStack.ts +37 -37
- package/src/grid/plugins/Bars.ts +37 -37
- package/src/grid/plugins/BarsDiverging.ts +39 -39
- package/src/grid/plugins/BarsTriangle.ts +34 -34
- package/src/grid/plugins/Dots.ts +35 -35
- package/src/grid/plugins/GridLegend.ts +58 -58
- package/src/grid/plugins/GroupAux.ts +643 -643
- package/src/grid/plugins/GroupAxis.ts +30 -30
- package/src/grid/plugins/LineAreas.ts +36 -36
- package/src/grid/plugins/Lines.ts +35 -35
- package/src/grid/plugins/ScalingArea.ts +174 -174
- package/src/grid/plugins/ValueAxis.ts +31 -31
- package/src/grid/plugins/ValueStackAxis.ts +70 -70
- package/src/grid/types.ts +120 -120
- package/src/index.ts +9 -9
- package/src/multiGrid/defaults.ts +147 -140
- package/src/multiGrid/index.ts +11 -10
- package/src/multiGrid/multiGridObservables.ts +289 -278
- package/src/multiGrid/plugins/MultiBarStack.ts +60 -60
- package/src/multiGrid/plugins/MultiBars.ts +59 -59
- package/src/multiGrid/plugins/MultiBarsTriangle.ts +58 -58
- package/src/multiGrid/plugins/MultiDots.ts +58 -58
- package/src/multiGrid/plugins/MultiGridLegend.ts +88 -88
- package/src/multiGrid/plugins/MultiGroupAxis.ts +53 -53
- package/src/multiGrid/plugins/MultiLineAreas.ts +59 -0
- package/src/multiGrid/plugins/MultiLines.ts +58 -58
- package/src/multiGrid/plugins/MultiValueAxis.ts +53 -53
- package/src/multiGrid/plugins/OverlappingValueAxes.ts +164 -165
- package/src/multiGrid/types.ts +67 -67
- package/src/noneData/defaults.ts +61 -61
- package/src/noneData/index.ts +3 -3
- package/src/noneData/plugins/Container.ts +10 -10
- package/src/noneData/plugins/Tooltip.ts +304 -304
- package/src/noneData/types.ts +26 -26
- package/src/series/defaults.ts +99 -99
- package/src/series/index.ts +6 -6
- package/src/series/plugins/Bubbles.ts +551 -549
- package/src/series/plugins/Pie.ts +600 -598
- package/src/series/plugins/PieEventTexts.ts +194 -194
- package/src/series/plugins/PieLabels.ts +288 -285
- package/src/series/plugins/SeriesLegend.ts +58 -58
- package/src/series/seriesUtils.ts +50 -50
- package/src/series/types.ts +67 -67
- package/src/tree/defaults.ts +22 -22
- package/src/tree/index.ts +3 -3
- package/src/tree/plugins/TreeLegend.ts +58 -58
- package/src/tree/plugins/TreeMap.ts +302 -300
- package/src/tree/types.ts +23 -23
- package/src/utils/commonUtils.ts +21 -21
- package/src/utils/d3Graphics.ts +124 -124
- package/src/utils/d3Utils.ts +73 -73
- package/src/utils/observables.ts +14 -14
- package/src/utils/orbchartsUtils.ts +100 -100
- package/tsconfig.dev.json +16 -16
- package/tsconfig.json +13 -13
- package/tsconfig.prod.json +13 -13
- package/vite.config.js +49 -49
@@ -1,279 +1,290 @@
|
|
1
|
-
import type { Observable } from 'rxjs'
|
2
|
-
import {
|
3
|
-
Subject,
|
4
|
-
takeUntil,
|
5
|
-
of,
|
6
|
-
map,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
//
|
17
|
-
//
|
18
|
-
|
19
|
-
|
20
|
-
//
|
21
|
-
//
|
22
|
-
//
|
23
|
-
|
24
|
-
|
25
|
-
//
|
26
|
-
//
|
27
|
-
//
|
28
|
-
//
|
29
|
-
//
|
30
|
-
//
|
31
|
-
|
32
|
-
|
33
|
-
//
|
34
|
-
//
|
35
|
-
//
|
36
|
-
//
|
37
|
-
//
|
38
|
-
//
|
39
|
-
//
|
40
|
-
|
41
|
-
|
42
|
-
//
|
43
|
-
//
|
44
|
-
//
|
45
|
-
//
|
46
|
-
//
|
47
|
-
|
48
|
-
|
49
|
-
//
|
50
|
-
//
|
51
|
-
//
|
52
|
-
//
|
53
|
-
//
|
54
|
-
//
|
55
|
-
//
|
56
|
-
//
|
57
|
-
//
|
58
|
-
//
|
59
|
-
|
60
|
-
|
61
|
-
//
|
62
|
-
//
|
63
|
-
//
|
64
|
-
//
|
65
|
-
//
|
66
|
-
//
|
67
|
-
//
|
68
|
-
//
|
69
|
-
//
|
70
|
-
|
71
|
-
|
72
|
-
//
|
73
|
-
//
|
74
|
-
|
75
|
-
|
76
|
-
//
|
77
|
-
//
|
78
|
-
|
79
|
-
|
80
|
-
//
|
81
|
-
//
|
82
|
-
|
83
|
-
|
84
|
-
//
|
85
|
-
//
|
86
|
-
|
87
|
-
|
88
|
-
//
|
89
|
-
//
|
90
|
-
|
91
|
-
|
92
|
-
//
|
93
|
-
//
|
94
|
-
|
95
|
-
|
96
|
-
//
|
97
|
-
//
|
98
|
-
|
99
|
-
|
100
|
-
//
|
101
|
-
//
|
102
|
-
|
103
|
-
|
104
|
-
//
|
105
|
-
//
|
106
|
-
|
107
|
-
|
108
|
-
//
|
109
|
-
//
|
110
|
-
|
111
|
-
|
112
|
-
//
|
113
|
-
//
|
114
|
-
|
115
|
-
|
116
|
-
//
|
117
|
-
//
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
//
|
123
|
-
//
|
124
|
-
//
|
125
|
-
//
|
126
|
-
//
|
127
|
-
//
|
128
|
-
//
|
129
|
-
//
|
130
|
-
//
|
131
|
-
//
|
132
|
-
//
|
133
|
-
//
|
134
|
-
//
|
135
|
-
//
|
136
|
-
//
|
137
|
-
//
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
})
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
)
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
1
|
+
import type { Observable } from 'rxjs'
|
2
|
+
import {
|
3
|
+
Subject,
|
4
|
+
takeUntil,
|
5
|
+
of,
|
6
|
+
map,
|
7
|
+
reduce,
|
8
|
+
switchMap,
|
9
|
+
combineLatest,
|
10
|
+
distinctUntilChanged,
|
11
|
+
shareReplay
|
12
|
+
} from 'rxjs'
|
13
|
+
import type { ContextObserverMultiGrid, ComputedDataGrid, DataFormatterGrid, ContextObserverGridDetail } from '@orbcharts/core'
|
14
|
+
// import { DATA_FORMATTER_MULTI_GRID_GRID_DEFAULT } from '@orbcharts/core/src/defaults'
|
15
|
+
|
16
|
+
// interface GridPluginParams {
|
17
|
+
// gridIndex: number
|
18
|
+
// }
|
19
|
+
|
20
|
+
// interface GridPluginObservables extends ContextObserverGridDetail {
|
21
|
+
// gridComputedData$: Observable<ComputedDataGrid>
|
22
|
+
// gridDataFormatter$: Observable<DataFormatterGrid>
|
23
|
+
// }
|
24
|
+
|
25
|
+
// // 對應grid資料的plugin所需Observable(必須有gridIndex)
|
26
|
+
// export const gridPluginObservables = (observer: ContextObserverMultiGrid<GridPluginParams>): GridPluginObservables => {
|
27
|
+
// const gridIndex$ = observer.fullParams$.pipe(
|
28
|
+
// map(fullParams => fullParams.gridIndex),
|
29
|
+
// distinctUntilChanged(),
|
30
|
+
// shareReplay(1)
|
31
|
+
// )
|
32
|
+
|
33
|
+
// const gridComputedData$: Observable<ComputedDataGrid> = combineLatest({
|
34
|
+
// computedData: observer.computedData$,
|
35
|
+
// gridIndex: gridIndex$,
|
36
|
+
// }).pipe(
|
37
|
+
// map((data) => {
|
38
|
+
// return data.computedData[data.gridIndex] ?? data.computedData[0]
|
39
|
+
// })
|
40
|
+
// )
|
41
|
+
|
42
|
+
// const gridDataFormatter$: Observable<DataFormatterGrid> = combineLatest({
|
43
|
+
// fullDataFormatter: observer.fullDataFormatter$,
|
44
|
+
// gridIndex: gridIndex$,
|
45
|
+
// }).pipe(
|
46
|
+
// map((data) => {
|
47
|
+
// const defaultGrid = data.fullDataFormatter.gridList[0] // ?? DATA_FORMATTER_MULTI_GRID_GRID_DEFAULT
|
48
|
+
|
49
|
+
// return {
|
50
|
+
// type: 'grid',
|
51
|
+
// grid: {
|
52
|
+
// ...data.fullDataFormatter.gridList[data.gridIndex] ?? defaultGrid
|
53
|
+
// },
|
54
|
+
// container: {
|
55
|
+
// ...data.fullDataFormatter.container
|
56
|
+
// }
|
57
|
+
// }
|
58
|
+
// })
|
59
|
+
// )
|
60
|
+
|
61
|
+
// const gridDetail$ = combineLatest({
|
62
|
+
// multiGridEachDetail: observer.multiGridEachDetail$,
|
63
|
+
// gridIndex: gridIndex$,
|
64
|
+
// }).pipe(
|
65
|
+
// switchMap(async d => d),
|
66
|
+
// map(data => {
|
67
|
+
// return data.multiGridEachDetail[data.gridIndex] ?? data.multiGridEachDetail[0]
|
68
|
+
// }),
|
69
|
+
// shareReplay(1)
|
70
|
+
// )
|
71
|
+
|
72
|
+
// const isSeriesPositionSeprate$ = gridDetail$.pipe(
|
73
|
+
// switchMap(d => d.isSeriesPositionSeprate$)
|
74
|
+
// )
|
75
|
+
|
76
|
+
// const gridContainer$ = gridDetail$.pipe(
|
77
|
+
// switchMap(d => d.gridContainer$)
|
78
|
+
// )
|
79
|
+
|
80
|
+
// const gridAxesTransform$ = gridDetail$.pipe(
|
81
|
+
// switchMap(d => d.gridAxesTransform$)
|
82
|
+
// )
|
83
|
+
|
84
|
+
// const gridAxesReverseTransform$ = gridDetail$.pipe(
|
85
|
+
// switchMap(d => d.gridAxesReverseTransform$)
|
86
|
+
// )
|
87
|
+
|
88
|
+
// const gridAxesSize$ = gridDetail$.pipe(
|
89
|
+
// switchMap(d => d.gridAxesSize$)
|
90
|
+
// )
|
91
|
+
|
92
|
+
// const gridGraphicTransform$ = gridDetail$.pipe(
|
93
|
+
// switchMap(d => d.gridGraphicTransform$)
|
94
|
+
// )
|
95
|
+
|
96
|
+
// const gridGraphicReverseScale$ = gridDetail$.pipe(
|
97
|
+
// switchMap(d => d.gridGraphicReverseScale$)
|
98
|
+
// )
|
99
|
+
|
100
|
+
// const gridHighlight$ = gridDetail$.pipe(
|
101
|
+
// switchMap(d => d.gridHighlight$)
|
102
|
+
// )
|
103
|
+
|
104
|
+
// const existSeriesLabels$ = gridDetail$.pipe(
|
105
|
+
// switchMap(d => d.existSeriesLabels$)
|
106
|
+
// )
|
107
|
+
|
108
|
+
// const SeriesDataMap$ = gridDetail$.pipe(
|
109
|
+
// switchMap(d => d.SeriesDataMap$)
|
110
|
+
// )
|
111
|
+
|
112
|
+
// const GroupDataMap$ = gridDetail$.pipe(
|
113
|
+
// switchMap(d => d.GroupDataMap$)
|
114
|
+
// )
|
115
|
+
|
116
|
+
// const visibleComputedData$ = gridDetail$.pipe(
|
117
|
+
// switchMap(d => d.visibleComputedData$)
|
118
|
+
// )
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
// return {
|
123
|
+
// gridComputedData$,
|
124
|
+
// gridDataFormatter$,
|
125
|
+
// gridAxesTransform$,
|
126
|
+
// gridGraphicTransform$,
|
127
|
+
// gridGraphicReverseScale$,
|
128
|
+
// gridAxesReverseTransform$,
|
129
|
+
// gridAxesSize$,
|
130
|
+
// gridHighlight$,
|
131
|
+
// existSeriesLabels$,
|
132
|
+
// SeriesDataMap$,
|
133
|
+
// GroupDataMap$,
|
134
|
+
// visibleComputedData$,
|
135
|
+
// isSeriesPositionSeprate$,
|
136
|
+
// gridContainer$
|
137
|
+
// }
|
138
|
+
// }
|
139
|
+
|
140
|
+
// 可設定多個gridIndex的params
|
141
|
+
interface MultiGridPluginParams {
|
142
|
+
gridIndexes: number[]
|
143
|
+
}
|
144
|
+
|
145
|
+
interface MultiGridDetailObservables extends ContextObserverGridDetail {
|
146
|
+
gridComputedData$: Observable<ComputedDataGrid>
|
147
|
+
gridDataFormatter$: Observable<DataFormatterGrid>
|
148
|
+
}
|
149
|
+
|
150
|
+
|
151
|
+
// 對應grid資料的plugin所需Observable(必須有gridIndexes)
|
152
|
+
export const multiGridDetailObservables = (observer: ContextObserverMultiGrid<MultiGridPluginParams>): Observable<MultiGridDetailObservables[]> => {
|
153
|
+
const gridIndexes$ = observer.fullParams$.pipe(
|
154
|
+
map(fullParams => fullParams.gridIndexes),
|
155
|
+
distinctUntilChanged(),
|
156
|
+
shareReplay(1)
|
157
|
+
)
|
158
|
+
const destroy$ = new Subject()
|
159
|
+
|
160
|
+
// 合併所有gridHighlight$
|
161
|
+
const gridHighlight$ = observer.multiGridEachDetail$.pipe(
|
162
|
+
// switchMap(data => concat(...data.map(d => d.gridHighlight$))),
|
163
|
+
switchMap(data => {
|
164
|
+
return combineLatest(data.map(d => d.gridHighlight$))
|
165
|
+
}),
|
166
|
+
map(d => d.flat()),
|
167
|
+
shareReplay(1)
|
168
|
+
)
|
169
|
+
|
170
|
+
return gridIndexes$.pipe(
|
171
|
+
map(gridIndexes => {
|
172
|
+
return gridIndexes.map(gridIndex => {
|
173
|
+
// 每次重新計算時,清除之前的訂閱
|
174
|
+
destroy$.next(undefined)
|
175
|
+
|
176
|
+
const gridIndex$ = of(gridIndex).pipe(
|
177
|
+
takeUntil(destroy$),
|
178
|
+
shareReplay(1)
|
179
|
+
)
|
180
|
+
|
181
|
+
const gridComputedData$: Observable<ComputedDataGrid> = combineLatest({
|
182
|
+
computedData: observer.computedData$,
|
183
|
+
gridIndex: gridIndex$,
|
184
|
+
}).pipe(
|
185
|
+
takeUntil(destroy$),
|
186
|
+
map((data) => {
|
187
|
+
return data.computedData[data.gridIndex] ?? data.computedData[0]
|
188
|
+
})
|
189
|
+
)
|
190
|
+
|
191
|
+
const gridDataFormatter$: Observable<DataFormatterGrid> = combineLatest({
|
192
|
+
fullDataFormatter: observer.fullDataFormatter$,
|
193
|
+
gridIndex: gridIndex$,
|
194
|
+
}).pipe(
|
195
|
+
takeUntil(destroy$),
|
196
|
+
map((data) => {
|
197
|
+
const defaultGrid = data.fullDataFormatter.gridList[0] // ?? DATA_FORMATTER_MULTI_GRID_GRID_DEFAULT
|
198
|
+
|
199
|
+
return {
|
200
|
+
type: 'grid',
|
201
|
+
grid: {
|
202
|
+
...data.fullDataFormatter.gridList[data.gridIndex] ?? defaultGrid
|
203
|
+
},
|
204
|
+
container: {
|
205
|
+
...data.fullDataFormatter.container
|
206
|
+
}
|
207
|
+
}
|
208
|
+
})
|
209
|
+
)
|
210
|
+
|
211
|
+
const gridDetail$ = combineLatest({
|
212
|
+
multiGridEachDetail: observer.multiGridEachDetail$,
|
213
|
+
gridIndex: gridIndex$,
|
214
|
+
}).pipe(
|
215
|
+
takeUntil(destroy$),
|
216
|
+
switchMap(async d => d),
|
217
|
+
map(data => {
|
218
|
+
return data.multiGridEachDetail[data.gridIndex] ?? data.multiGridEachDetail[0]
|
219
|
+
}),
|
220
|
+
shareReplay(1)
|
221
|
+
)
|
222
|
+
|
223
|
+
const isSeriesPositionSeprate$ = gridDetail$.pipe(
|
224
|
+
switchMap(d => d.isSeriesPositionSeprate$)
|
225
|
+
)
|
226
|
+
|
227
|
+
const gridContainer$ = gridDetail$.pipe(
|
228
|
+
switchMap(d => d.gridContainer$)
|
229
|
+
)
|
230
|
+
|
231
|
+
const gridAxesTransform$ = gridDetail$.pipe(
|
232
|
+
switchMap(d => d.gridAxesTransform$)
|
233
|
+
)
|
234
|
+
|
235
|
+
const gridAxesReverseTransform$ = gridDetail$.pipe(
|
236
|
+
switchMap(d => d.gridAxesReverseTransform$)
|
237
|
+
)
|
238
|
+
|
239
|
+
const gridAxesSize$ = gridDetail$.pipe(
|
240
|
+
switchMap(d => d.gridAxesSize$)
|
241
|
+
)
|
242
|
+
|
243
|
+
const gridGraphicTransform$ = gridDetail$.pipe(
|
244
|
+
switchMap(d => d.gridGraphicTransform$)
|
245
|
+
)
|
246
|
+
|
247
|
+
const gridGraphicReverseScale$ = gridDetail$.pipe(
|
248
|
+
switchMap(d => d.gridGraphicReverseScale$)
|
249
|
+
)
|
250
|
+
|
251
|
+
// const gridHighlight$ = gridDetail$.pipe(
|
252
|
+
// switchMap(d => d.gridHighlight$)
|
253
|
+
// )
|
254
|
+
|
255
|
+
const existSeriesLabels$ = gridDetail$.pipe(
|
256
|
+
switchMap(d => d.existSeriesLabels$)
|
257
|
+
)
|
258
|
+
|
259
|
+
const SeriesDataMap$ = gridDetail$.pipe(
|
260
|
+
switchMap(d => d.SeriesDataMap$)
|
261
|
+
)
|
262
|
+
|
263
|
+
const GroupDataMap$ = gridDetail$.pipe(
|
264
|
+
switchMap(d => d.GroupDataMap$)
|
265
|
+
)
|
266
|
+
|
267
|
+
const visibleComputedData$ = gridDetail$.pipe(
|
268
|
+
switchMap(d => d.visibleComputedData$)
|
269
|
+
)
|
270
|
+
|
271
|
+
return {
|
272
|
+
gridComputedData$,
|
273
|
+
gridDataFormatter$,
|
274
|
+
gridAxesTransform$,
|
275
|
+
gridGraphicTransform$,
|
276
|
+
gridGraphicReverseScale$,
|
277
|
+
gridAxesReverseTransform$,
|
278
|
+
gridAxesSize$,
|
279
|
+
gridHighlight$,
|
280
|
+
existSeriesLabels$,
|
281
|
+
SeriesDataMap$,
|
282
|
+
GroupDataMap$,
|
283
|
+
visibleComputedData$,
|
284
|
+
isSeriesPositionSeprate$,
|
285
|
+
gridContainer$
|
286
|
+
}
|
287
|
+
})
|
288
|
+
})
|
289
|
+
)
|
279
290
|
}
|