@orbcharts/core 3.0.0-alpha.68 → 3.0.0-beta.10

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 (45) hide show
  1. package/dist/orbcharts-core.es.js +3239 -2854
  2. package/dist/orbcharts-core.umd.js +4 -4
  3. package/dist/src/defaults.d.ts +24 -23
  4. package/dist/src/utils/d3Scale.d.ts +28 -0
  5. package/dist/src/utils/gridObservables.d.ts +29 -19
  6. package/dist/src/utils/index.d.ts +1 -1
  7. package/dist/src/utils/multiGridObservables.d.ts +2 -2
  8. package/dist/src/utils/multiValueObservables.d.ts +73 -0
  9. package/dist/src/utils/orbchartsUtils.d.ts +24 -10
  10. package/dist/src/utils/relationshipObservables.d.ts +13 -0
  11. package/dist/src/utils/seriesObservables.d.ts +4 -4
  12. package/dist/src/utils/treeObservables.d.ts +2 -5
  13. package/package.json +2 -2
  14. package/src/GridChart.ts +2 -2
  15. package/src/MultiGridChart.ts +2 -2
  16. package/src/MultiValueChart.ts +2 -2
  17. package/src/RelationshipChart.ts +2 -2
  18. package/src/SeriesChart.ts +2 -2
  19. package/src/TreeChart.ts +2 -2
  20. package/src/base/createBaseChart.ts +13 -13
  21. package/src/base/validators/chartParamsValidator.ts +6 -6
  22. package/src/defaults.ts +63 -47
  23. package/src/grid/computedDataFn.ts +4 -4
  24. package/src/grid/contextObserverCallback.ts +58 -37
  25. package/src/grid/dataFormatterValidator.ts +14 -14
  26. package/src/multiGrid/computedDataFn.ts +2 -2
  27. package/src/multiValue/computedDataFn.ts +81 -147
  28. package/src/multiValue/contextObserverCallback.ts +150 -2
  29. package/src/relationship/computedDataFn.ts +94 -60
  30. package/src/relationship/contextObserverCallback.ts +68 -0
  31. package/src/tree/computedDataFn.ts +9 -10
  32. package/src/tree/contextObserverCallback.ts +6 -9
  33. package/src/utils/d3Scale.ts +198 -0
  34. package/src/utils/gridObservables.ts +320 -248
  35. package/src/utils/index.ts +1 -1
  36. package/src/utils/multiGridObservables.ts +75 -49
  37. package/src/utils/multiValueObservables.ts +662 -0
  38. package/src/utils/observables.ts +30 -12
  39. package/src/utils/orbchartsUtils.ts +90 -65
  40. package/src/utils/relationshipObservables.ts +85 -0
  41. package/src/utils/seriesObservables.ts +7 -7
  42. package/src/utils/treeObservables.ts +44 -33
  43. package/src/utils/validator.ts +5 -4
  44. package/dist/src/utils/d3Utils.d.ts +0 -19
  45. package/src/utils/d3Utils.ts +0 -108
@@ -1,5 +1,5 @@
1
1
  export * from './commonUtils'
2
- export * from './d3Utils'
2
+ export * from './d3Scale'
3
3
  export * from './gridObservables'
4
4
  export * from './multiGridObservables'
5
5
  // export * from './multiValueObservables'
@@ -23,7 +23,7 @@ import type {
23
23
  DataFormatterGrid,
24
24
  DataFormatterMultiGridContainer,
25
25
  EventMultiGrid,
26
- GridContainerPosition,
26
+ ContainerPositionScaled,
27
27
  HighlightTarget,
28
28
  Layout,
29
29
  TransformData } from '../../lib/core-types'
@@ -32,18 +32,22 @@ import {
32
32
  seriesDataMapObservable,
33
33
  groupDataMapObservable } from './observables'
34
34
  import {
35
- gridAxesTransformObservable,
36
- gridGraphicTransformObservable,
37
- gridGraphicReverseScaleObservable,
38
- gridAxesReverseTransformObservable,
35
+ gridComputedLayoutDataObservable,
39
36
  gridAxesSizeObservable,
40
37
  gridSeriesLabelsObservable,
41
- gridComputedLayoutDataObservable,
42
38
  gridVisibleComputedDataObservable,
43
39
  gridVisibleComputedLayoutDataObservable,
44
40
  // isSeriesSeprateObservable,
45
- computedStackedDataObservables } from './gridObservables'
46
- import { DATA_FORMATTER_MULTI_GRID_GRID_DEFAULT } from '../defaults'
41
+ gridContainerPositionObservable,
42
+ computedStackedDataObservables,
43
+ groupScaleDomainValueObservable,
44
+ filteredMinMaxValueObservable,
45
+ gridAxesTransformObservable,
46
+ gridAxesReverseTransformObservable,
47
+ gridGraphicTransformObservable,
48
+ gridGraphicReverseScaleObservable,
49
+ } from './gridObservables'
50
+ import { DEFAULT_DATA_FORMATTER_MULTI_GRID_GRID } from '../defaults'
47
51
  import { calcGridContainerLayout } from './orbchartsUtils'
48
52
 
49
53
  // 每一個grid計算出來的所有Observable
@@ -91,7 +95,7 @@ export const multiGridEachDetailObservable = ({ fullDataFormatter$, computedData
91
95
  // 每次重新計算時,清除之前的訂閱
92
96
  destroy$.next(undefined)
93
97
 
94
- const defaultGrid = data.fullDataFormatter.gridList[0] ?? DATA_FORMATTER_MULTI_GRID_GRID_DEFAULT
98
+ const defaultGrid = data.fullDataFormatter.gridList[0] ?? DEFAULT_DATA_FORMATTER_MULTI_GRID_GRID
95
99
 
96
100
  return data.computedData.map((gridComputedData, gridIndex) => {
97
101
 
@@ -100,9 +104,9 @@ export const multiGridEachDetailObservable = ({ fullDataFormatter$, computedData
100
104
  const gridDataFormatter: DataFormatterGrid = {
101
105
  type: 'grid',
102
106
  visibleFilter: data.fullDataFormatter.visibleFilter as any,
103
- grid: {
104
- ...grid
105
- },
107
+ // grid: {
108
+ ...grid,
109
+ // },
106
110
  container: {
107
111
  ...data.fullDataFormatter.container
108
112
  }
@@ -133,7 +137,7 @@ export const multiGridEachDetailObservable = ({ fullDataFormatter$, computedData
133
137
  // )
134
138
 
135
139
  const isSeriesSeprate$ = gridDataFormatter$.pipe(
136
- map(d => d.grid.separateSeries),
140
+ map(d => d.separateSeries),
137
141
  distinctUntilChanged(),
138
142
  shareReplay(1)
139
143
  )
@@ -143,36 +147,7 @@ export const multiGridEachDetailObservable = ({ fullDataFormatter$, computedData
143
147
  shareReplay(1)
144
148
  )
145
149
 
146
- const gridAxesTransform$ = gridAxesTransformObservable({
147
- fullDataFormatter$: gridDataFormatter$,
148
- layout$: layout$
149
- }).pipe(
150
- takeUntil(destroy$),
151
- shareReplay(1)
152
- )
153
-
154
-
155
- const gridAxesReverseTransform$ = gridAxesReverseTransformObservable({
156
- gridAxesTransform$
157
- }).pipe(
158
- takeUntil(destroy$),
159
- shareReplay(1)
160
- )
161
150
 
162
- const gridGraphicTransform$ = gridGraphicTransformObservable({
163
- computedData$: gridComputedData$,
164
- fullDataFormatter$: gridDataFormatter$,
165
- layout$: layout$
166
- }).pipe(
167
- takeUntil(destroy$),
168
- shareReplay(1)
169
- )
170
-
171
- const gridGraphicReverseScale$ = gridGraphicReverseScaleObservable({
172
- gridContainerPosition$: gridContainerPosition$,
173
- gridAxesTransform$: gridAxesTransform$,
174
- gridGraphicTransform$: gridGraphicTransform$,
175
- })
176
151
 
177
152
  const gridAxesSize$ = gridAxesSizeObservable({
178
153
  fullDataFormatter$: gridDataFormatter$,
@@ -248,13 +223,58 @@ export const multiGridEachDetailObservable = ({ fullDataFormatter$, computedData
248
223
  shareReplay(1)
249
224
  )
250
225
 
226
+ const groupScaleDomainValue$ = groupScaleDomainValueObservable({
227
+ computedData$: gridComputedData$,
228
+ fullDataFormatter$: gridDataFormatter$,
229
+ }).pipe(
230
+ takeUntil(destroy$),
231
+ shareReplay(1)
232
+ )
233
+
234
+ const filteredMinMaxValue$ = filteredMinMaxValueObservable({
235
+ computedData$: gridComputedData$,
236
+ groupScaleDomainValue$: groupScaleDomainValue$,
237
+ }).pipe(
238
+ takeUntil(destroy$),
239
+ shareReplay(1)
240
+ )
241
+
242
+ const gridAxesTransform$ = gridAxesTransformObservable({
243
+ fullDataFormatter$: gridDataFormatter$,
244
+ layout$: layout$
245
+ }).pipe(
246
+ takeUntil(destroy$),
247
+ shareReplay(1)
248
+ )
249
+
250
+
251
+ const gridAxesReverseTransform$ = gridAxesReverseTransformObservable({
252
+ gridAxesTransform$
253
+ }).pipe(
254
+ takeUntil(destroy$),
255
+ shareReplay(1)
256
+ )
257
+
258
+ const gridGraphicTransform$ = gridGraphicTransformObservable({
259
+ computedData$: gridComputedData$,
260
+ groupScaleDomainValue$: groupScaleDomainValue$,
261
+ filteredMinMaxValue$: filteredMinMaxValue$,
262
+ fullDataFormatter$: gridDataFormatter$,
263
+ layout$: layout$
264
+ }).pipe(
265
+ takeUntil(destroy$),
266
+ shareReplay(1)
267
+ )
268
+
269
+ const gridGraphicReverseScale$ = gridGraphicReverseScaleObservable({
270
+ gridContainerPosition$: gridContainerPosition$,
271
+ gridAxesTransform$: gridAxesTransform$,
272
+ gridGraphicTransform$: gridGraphicTransform$,
273
+ })
274
+
251
275
  return {
252
276
  isSeriesSeprate$,
253
277
  gridContainerPosition$,
254
- gridAxesTransform$,
255
- gridAxesReverseTransform$,
256
- gridGraphicTransform$,
257
- gridGraphicReverseScale$,
258
278
  gridAxesSize$,
259
279
  gridHighlight$: allGridHighlight$,
260
280
  seriesLabels$,
@@ -265,7 +285,13 @@ export const multiGridEachDetailObservable = ({ fullDataFormatter$, computedData
265
285
  computedLayoutData$,
266
286
  visibleComputedData$,
267
287
  visibleComputedLayoutData$,
268
- computedStackedData$
288
+ computedStackedData$,
289
+ groupScaleDomainValue$,
290
+ filteredMinMaxValue$,
291
+ gridAxesTransform$,
292
+ gridAxesReverseTransform$,
293
+ gridGraphicTransform$,
294
+ gridGraphicReverseScale$,
269
295
  }
270
296
  })
271
297
  })
@@ -278,7 +304,7 @@ export const multiGridContainerObservable = ({ computedData$, fullDataFormatter$
278
304
  computedData$: Observable<ComputedDataTypeMap<'multiGrid'>>
279
305
  fullDataFormatter$: Observable<DataFormatterTypeMap<'multiGrid'>>
280
306
  layout$: Observable<Layout>
281
- }): Observable<GridContainerPosition[][]> => {
307
+ }): Observable<ContainerPositionScaled[][]> => {
282
308
 
283
309
  return combineLatest({
284
310
  computedData: computedData$,
@@ -288,7 +314,7 @@ export const multiGridContainerObservable = ({ computedData$, fullDataFormatter$
288
314
  switchMap(async (d) => d),
289
315
  map(data => {
290
316
 
291
- const defaultGrid = data.fullDataFormatter.gridList[0] ?? DATA_FORMATTER_MULTI_GRID_GRID_DEFAULT
317
+ const defaultGrid = data.fullDataFormatter.gridList[0] ?? DEFAULT_DATA_FORMATTER_MULTI_GRID_GRID
292
318
  const slotAmount = data.computedData.reduce((acc, gridData, gridIndex) => {
293
319
  const grid = data.fullDataFormatter.gridList[gridIndex] ?? defaultGrid
294
320
  const gridSlotAmount = grid.separateSeries