@orbcharts/core 3.0.0-alpha.38 → 3.0.0-alpha.40

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 (86) hide show
  1. package/LICENSE +200 -200
  2. package/dist/orbcharts-core.es.js +5 -4
  3. package/dist/orbcharts-core.umd.js +1 -1
  4. package/dist/src/types/ContextObserverGrid.d.ts +1 -1
  5. package/dist/src/types/ContextObserverSeries.d.ts +1 -1
  6. package/dist/src/types/ContextObserverTree.d.ts +1 -1
  7. package/dist/src/utils/observables.d.ts +5 -5
  8. package/package.json +41 -41
  9. package/src/AbstractChart.ts +48 -48
  10. package/src/GridChart.ts +20 -20
  11. package/src/MultiGridChart.ts +20 -20
  12. package/src/MultiValueChart.ts +20 -20
  13. package/src/RelationshipChart.ts +20 -20
  14. package/src/SeriesChart.ts +20 -20
  15. package/src/TreeChart.ts +20 -20
  16. package/src/base/createBaseChart.ts +367 -367
  17. package/src/base/createBasePlugin.ts +89 -89
  18. package/src/defaults.ts +247 -247
  19. package/src/defineGridPlugin.ts +3 -3
  20. package/src/defineMultiGridPlugin.ts +3 -3
  21. package/src/defineMultiValuePlugin.ts +3 -3
  22. package/src/defineNoneDataPlugin.ts +4 -4
  23. package/src/defineRelationshipPlugin.ts +3 -3
  24. package/src/defineSeriesPlugin.ts +3 -3
  25. package/src/defineTreePlugin.ts +3 -3
  26. package/src/grid/computeGridData.ts +205 -205
  27. package/src/grid/createGridContextObserver.ts +124 -124
  28. package/src/grid/gridObservables.ts +486 -486
  29. package/src/index.ts +21 -21
  30. package/src/multiGrid/computeMultiGridData.ts +173 -173
  31. package/src/multiGrid/createMultiGridContextObserver.ts +34 -34
  32. package/src/multiGrid/multiGridObservables.ts +285 -285
  33. package/src/multiValue/computeMultiValueData.ts +136 -136
  34. package/src/multiValue/createMultiValueContextObserver.ts +12 -12
  35. package/src/relationship/computeRelationshipData.ts +106 -106
  36. package/src/relationship/createRelationshipContextObserver.ts +12 -12
  37. package/src/series/computeSeriesData.ts +153 -153
  38. package/src/series/createSeriesContextObserver.ts +33 -33
  39. package/src/series/seriesObservables.ts +23 -23
  40. package/src/tree/computeTreeData.ts +128 -128
  41. package/src/tree/createTreeContextObserver.ts +56 -56
  42. package/src/tree/treeObservables.ts +94 -94
  43. package/src/types/Chart.ts +48 -48
  44. package/src/types/ChartParams.ts +51 -51
  45. package/src/types/ComputedData.ts +82 -82
  46. package/src/types/ComputedDataGrid.ts +13 -13
  47. package/src/types/ComputedDataMultiGrid.ts +2 -2
  48. package/src/types/ComputedDataMultiValue.ts +9 -9
  49. package/src/types/ComputedDataRelationship.ts +19 -19
  50. package/src/types/ComputedDataSeries.ts +7 -7
  51. package/src/types/ComputedDataTree.ts +19 -19
  52. package/src/types/ContextObserver.ts +38 -38
  53. package/src/types/ContextObserverGrid.ts +33 -33
  54. package/src/types/ContextObserverMultiGrid.ts +27 -27
  55. package/src/types/ContextObserverMultiValue.ts +4 -4
  56. package/src/types/ContextObserverRelationship.ts +4 -4
  57. package/src/types/ContextObserverSeries.ts +7 -7
  58. package/src/types/ContextObserverTree.ts +10 -10
  59. package/src/types/ContextSubject.ts +18 -18
  60. package/src/types/Data.ts +45 -45
  61. package/src/types/DataFormatter.ts +95 -95
  62. package/src/types/DataFormatterGrid.ts +55 -55
  63. package/src/types/DataFormatterMultiGrid.ts +42 -42
  64. package/src/types/DataFormatterMultiValue.ts +20 -20
  65. package/src/types/DataFormatterRelationship.ts +22 -22
  66. package/src/types/DataFormatterSeries.ts +29 -29
  67. package/src/types/DataFormatterTree.ts +12 -12
  68. package/src/types/DataGrid.ts +11 -11
  69. package/src/types/DataMultiGrid.ts +6 -6
  70. package/src/types/DataMultiValue.ts +12 -12
  71. package/src/types/DataRelationship.ts +27 -27
  72. package/src/types/DataSeries.ts +11 -11
  73. package/src/types/DataTree.ts +20 -20
  74. package/src/types/Event.ts +153 -153
  75. package/src/types/Layout.ts +11 -11
  76. package/src/types/Padding.ts +5 -5
  77. package/src/types/Plugin.ts +60 -60
  78. package/src/types/TransformData.ts +7 -7
  79. package/src/types/index.ts +37 -37
  80. package/src/utils/commonUtils.ts +50 -50
  81. package/src/utils/d3Utils.ts +89 -89
  82. package/src/utils/index.ts +4 -4
  83. package/src/utils/observables.ts +181 -181
  84. package/src/utils/orbchartsUtils.ts +253 -253
  85. package/tsconfig.json +13 -13
  86. package/vite.config.js +44 -44
@@ -1,8 +1,8 @@
1
- import { Observable } from 'rxjs'
2
- import type { ContextObserverBase } from './ContextObserver'
3
- import type { ComputedDatumSeries } from './ComputedDataSeries'
4
-
5
- export interface ContextObserverSeries<PluginParams> extends ContextObserverBase<'series', PluginParams> {
6
- seriesHighlight$: Observable<string[]>
7
- SeriesDataMap$: Observable<Map<string, ComputedDatumSeries[]>>
1
+ import { Observable } from 'rxjs'
2
+ import type { ContextObserverBase } from './ContextObserver'
3
+ import type { ComputedDatumSeries } from './ComputedDataSeries'
4
+
5
+ export interface ContextObserverSeries<PluginParams> extends ContextObserverBase<'series', PluginParams> {
6
+ seriesHighlight$: Observable<ComputedDatumSeries[]>
7
+ SeriesDataMap$: Observable<Map<string, ComputedDatumSeries[]>>
8
8
  }
@@ -1,10 +1,10 @@
1
- import { Observable } from 'rxjs'
2
- import type { ContextObserverBase } from './ContextObserver'
3
- import type { ComputedDataTree } from './ComputedDataTree'
4
-
5
- export interface ContextObserverTree<PluginParams> extends ContextObserverBase<'tree', PluginParams> {
6
- treeHighlight$: Observable<string[]>
7
- existCategoryLabels$: Observable<string[]>
8
- CategoryDataMap$: Observable<Map<string, ComputedDataTree[]>>
9
- visibleComputedData$: Observable<ComputedDataTree>
10
- }
1
+ import { Observable } from 'rxjs'
2
+ import type { ContextObserverBase } from './ContextObserver'
3
+ import type { ComputedDataTree } from './ComputedDataTree'
4
+
5
+ export interface ContextObserverTree<PluginParams> extends ContextObserverBase<'tree', PluginParams> {
6
+ treeHighlight$: Observable<ComputedDataTree[]>
7
+ existCategoryLabels$: Observable<string[]>
8
+ CategoryDataMap$: Observable<Map<string, ComputedDataTree[]>>
9
+ visibleComputedData$: Observable<ComputedDataTree>
10
+ }
@@ -1,18 +1,18 @@
1
- import { Observable, Subject, BehaviorSubject } from 'rxjs'
2
- import type { ChartType } from './Chart'
3
- import type { EventTypeMap } from './Event'
4
- import type { ChartParamsPartial } from './ChartParams'
5
- // import type { Data } from './Data'
6
- import type { DataFormatterPartialTypeMap } from './DataFormatter'
7
- import type { DataTypeMap } from './Data'
8
- import type { DataFormatterTypeMap } from './DataFormatter'
9
- import type { PluginEntity } from './Plugin'
10
-
11
- export interface ContextSubject<T extends ChartType> {
12
- data$: Subject<DataTypeMap<T>>
13
- dataFormatter$: Subject<DataFormatterPartialTypeMap<T>>
14
- plugins$: Subject<PluginEntity<T, any, any>[]>
15
- // pluginParams$: Subject<{[keys: string]: unknown}>
16
- chartParams$: Subject<ChartParamsPartial>
17
- event$: Subject<EventTypeMap<T>>
18
- }
1
+ import { Observable, Subject, BehaviorSubject } from 'rxjs'
2
+ import type { ChartType } from './Chart'
3
+ import type { EventTypeMap } from './Event'
4
+ import type { ChartParamsPartial } from './ChartParams'
5
+ // import type { Data } from './Data'
6
+ import type { DataFormatterPartialTypeMap } from './DataFormatter'
7
+ import type { DataTypeMap } from './Data'
8
+ import type { DataFormatterTypeMap } from './DataFormatter'
9
+ import type { PluginEntity } from './Plugin'
10
+
11
+ export interface ContextSubject<T extends ChartType> {
12
+ data$: Subject<DataTypeMap<T>>
13
+ dataFormatter$: Subject<DataFormatterPartialTypeMap<T>>
14
+ plugins$: Subject<PluginEntity<T, any, any>[]>
15
+ // pluginParams$: Subject<{[keys: string]: unknown}>
16
+ chartParams$: Subject<ChartParamsPartial>
17
+ event$: Subject<EventTypeMap<T>>
18
+ }
package/src/types/Data.ts CHANGED
@@ -1,45 +1,45 @@
1
- import { ChartType } from './Chart'
2
- import { DataSeries, DataSeriesDatum, DataSeriesValue } from './DataSeries'
3
- import { DataGrid, DataGridDatum, DataGridValue } from './DataGrid'
4
- import { DataMultiGrid, DataMultiGridDatum, DataMultiGridValue } from './DataMultiGrid'
5
- import { DataMultiValue, DataMultiValueDatum, DataMultiValueValue } from './DataMultiValue'
6
- import { DataTree, DataTreeDatum, DataTreeObj } from './DataTree'
7
- import { DataRelationship, Node, Edge } from './DataRelationship'
8
-
9
- // 基本欄位(皆為可選,無填寫則在計算時產生預設值)
10
- export interface DatumBase {
11
- id?: string
12
- label?: string
13
- description?: string
14
- data?: any // 使用者注入的資料
15
- }
16
-
17
- // 需具備value的datum
18
- export interface DatumValue {
19
- value: number | null
20
- }
21
-
22
- // 透過類型選擇Data
23
- export type DataTypeMap<T extends ChartType> = T extends 'series' ? DataSeries
24
- : T extends 'grid' ? DataGrid
25
- : T extends 'multiGrid' ? DataMultiGrid
26
- : T extends 'multiValue' ? DataMultiValue
27
- : T extends 'relationship' ? DataRelationship
28
- : T extends 'tree' ? DataTree
29
- : unknown
30
-
31
- // 透過類型選擇Datum
32
- export type DatumTypeMap<T extends ChartType> = T extends 'series' ? DataSeriesDatum | DataSeriesValue
33
- : T extends 'grid' ? DataGridDatum | DataGridValue
34
- : T extends 'multiGrid' ? DataMultiGridDatum | DataMultiGridValue
35
- : T extends 'multiValue' ? DataMultiValueDatum | DataMultiValueValue
36
- : T extends 'relationship' ? Node | Edge
37
- : T extends 'tree' ? DataTreeDatum | DataTreeObj
38
- : unknown
39
-
40
- // export type Data = DataSeries
41
- // | DataGrid
42
- // | DataMultiGrid
43
- // | DataMultiValue
44
- // | DataTree
45
- // | DataRelationship
1
+ import { ChartType } from './Chart'
2
+ import { DataSeries, DataSeriesDatum, DataSeriesValue } from './DataSeries'
3
+ import { DataGrid, DataGridDatum, DataGridValue } from './DataGrid'
4
+ import { DataMultiGrid, DataMultiGridDatum, DataMultiGridValue } from './DataMultiGrid'
5
+ import { DataMultiValue, DataMultiValueDatum, DataMultiValueValue } from './DataMultiValue'
6
+ import { DataTree, DataTreeDatum, DataTreeObj } from './DataTree'
7
+ import { DataRelationship, Node, Edge } from './DataRelationship'
8
+
9
+ // 基本欄位(皆為可選,無填寫則在計算時產生預設值)
10
+ export interface DatumBase {
11
+ id?: string
12
+ label?: string
13
+ description?: string
14
+ data?: any // 使用者注入的資料
15
+ }
16
+
17
+ // 需具備value的datum
18
+ export interface DatumValue {
19
+ value: number | null
20
+ }
21
+
22
+ // 透過類型選擇Data
23
+ export type DataTypeMap<T extends ChartType> = T extends 'series' ? DataSeries
24
+ : T extends 'grid' ? DataGrid
25
+ : T extends 'multiGrid' ? DataMultiGrid
26
+ : T extends 'multiValue' ? DataMultiValue
27
+ : T extends 'relationship' ? DataRelationship
28
+ : T extends 'tree' ? DataTree
29
+ : unknown
30
+
31
+ // 透過類型選擇Datum
32
+ export type DatumTypeMap<T extends ChartType> = T extends 'series' ? DataSeriesDatum | DataSeriesValue
33
+ : T extends 'grid' ? DataGridDatum | DataGridValue
34
+ : T extends 'multiGrid' ? DataMultiGridDatum | DataMultiGridValue
35
+ : T extends 'multiValue' ? DataMultiValueDatum | DataMultiValueValue
36
+ : T extends 'relationship' ? Node | Edge
37
+ : T extends 'tree' ? DataTreeDatum | DataTreeObj
38
+ : unknown
39
+
40
+ // export type Data = DataSeries
41
+ // | DataGrid
42
+ // | DataMultiGrid
43
+ // | DataMultiValue
44
+ // | DataTree
45
+ // | DataRelationship
@@ -1,95 +1,95 @@
1
- import type { ChartType } from './Chart'
2
- import type { ChartParams } from './ChartParams'
3
- import type { DataTypeMap, DatumTypeMap } from './Data'
4
- import type { DataFormatterSeries, DataFormatterSeriesPartial } from './DataFormatterSeries'
5
- import type { DataFormatterGrid, DataFormatterGridPartial } from './DataFormatterGrid'
6
- import type { DataFormatterMultiGrid, DataFormatterMultiGridPartial } from './DataFormatterMultiGrid'
7
- import type { DataFormatterMultiValue, DataFormatterMultiValuePartial } from './DataFormatterMultiValue'
8
- import type { DataFormatterTree, DataFormatterTreePartial } from './DataFormatterTree'
9
- import type { DataFormatterRelationship, DataFormatterRelationshipPartial } from './DataFormatterRelationship'
10
- import type { AxisPosition } from './Axis'
11
- import type { Layout } from './Layout'
12
-
13
- // export type DataFormatter = DataFormatterSeries
14
- // | DataFormatterGrid
15
- // | DataFormatterMultiGrid
16
- // | DataFormatterMultiValue
17
- // | DataFormatterTree
18
- // | DataFormatterRelationship
19
-
20
- // export type DataFormatterPartial = DataFormatterSeriesPartial
21
- // | DataFormatterGridPartial
22
- // | DataFormatterMultiGridPartial
23
- // | DataFormatterMultiValuePartial
24
- // | DataFormatterTreePartial
25
- // | DataFormatterRelationshipPartial
26
-
27
- // dataFormatter計算當中會使用的資料
28
- export interface DataFormatterContext<T extends ChartType> {
29
- data: DataTypeMap<T>
30
- dataFormatter: DataFormatterTypeMap<T>
31
- chartParams: ChartParams
32
- layout: Layout
33
- }
34
-
35
-
36
- // 透過類型選擇DataFormatter
37
- export type DataFormatterTypeMap<T extends ChartType> = T extends 'series' ? DataFormatterSeries
38
- : T extends 'grid' ? DataFormatterGrid
39
- : T extends 'multiGrid' ? DataFormatterMultiGrid
40
- : T extends 'multiValue' ? DataFormatterMultiValue
41
- : T extends 'relationship' ? DataFormatterRelationship
42
- : T extends 'tree' ? DataFormatterTree
43
- : DataFormatterBase<T>
44
-
45
- // 透過類型選擇DataFormatter(可選欄位)
46
- export type DataFormatterPartialTypeMap<T extends ChartType> = T extends 'series' ? DataFormatterSeriesPartial
47
- : T extends 'grid' ? DataFormatterGridPartial
48
- : T extends 'multiGrid' ? DataFormatterMultiGridPartial
49
- : T extends 'multiValue' ? DataFormatterMultiValuePartial
50
- : T extends 'relationship' ? DataFormatterRelationshipPartial
51
- : T extends 'tree' ? DataFormatterTreePartial
52
- : DataFormatterBasePartial<T>
53
-
54
- // 基本介面
55
- export interface DataFormatterBase<T extends ChartType> {
56
- type: T
57
- }
58
-
59
- export type DataFormatterBasePartial<T extends ChartType> = Partial<DataFormatterBase<T>>
60
-
61
- // 有value
62
- // export interface DataFormatterValue {
63
- // valueFormat: ValueFormat
64
- // }
65
-
66
- // 有axis
67
- // export interface DataFormatterAxis {
68
- // // domainMinValue?: number
69
- // // domainMaxValue?: number
70
- // // domainMinRange?: number
71
- // // domainMaxRange?: number
72
- // valueDomain: [number | 'auto', number | 'auto']
73
- // valueRange: [number, number] // 0-1
74
- // }
75
-
76
- export interface DataFormatterValueAxis {
77
- position: AxisPosition
78
- scaleDomain: [number | 'auto', number | 'auto']
79
- scaleRange: [number, number]
80
- label: string
81
- }
82
-
83
- export interface DataFormatterGroupAxis {
84
- position: AxisPosition
85
- scaleDomain: [number | 'auto', number | 'auto']
86
- scalePadding: number
87
- label: string
88
- }
89
-
90
-
91
- // export type ValueFormat = string | ((text: d3.NumberValue) => string)
92
-
93
- export type VisibleFilter<T extends ChartType> = (datum: DatumTypeMap<T>, rowIndex: number, columnIndex: number, context: DataFormatterContext<T>) => boolean | null
94
-
95
- export type TooltipContentFormat<T extends ChartType> = (datum: DatumTypeMap<T>, rowIndex: number, columnIndex: number, context: DataFormatterContext<T>) => string | null
1
+ import type { ChartType } from './Chart'
2
+ import type { ChartParams } from './ChartParams'
3
+ import type { DataTypeMap, DatumTypeMap } from './Data'
4
+ import type { DataFormatterSeries, DataFormatterSeriesPartial } from './DataFormatterSeries'
5
+ import type { DataFormatterGrid, DataFormatterGridPartial } from './DataFormatterGrid'
6
+ import type { DataFormatterMultiGrid, DataFormatterMultiGridPartial } from './DataFormatterMultiGrid'
7
+ import type { DataFormatterMultiValue, DataFormatterMultiValuePartial } from './DataFormatterMultiValue'
8
+ import type { DataFormatterTree, DataFormatterTreePartial } from './DataFormatterTree'
9
+ import type { DataFormatterRelationship, DataFormatterRelationshipPartial } from './DataFormatterRelationship'
10
+ import type { AxisPosition } from './Axis'
11
+ import type { Layout } from './Layout'
12
+
13
+ // export type DataFormatter = DataFormatterSeries
14
+ // | DataFormatterGrid
15
+ // | DataFormatterMultiGrid
16
+ // | DataFormatterMultiValue
17
+ // | DataFormatterTree
18
+ // | DataFormatterRelationship
19
+
20
+ // export type DataFormatterPartial = DataFormatterSeriesPartial
21
+ // | DataFormatterGridPartial
22
+ // | DataFormatterMultiGridPartial
23
+ // | DataFormatterMultiValuePartial
24
+ // | DataFormatterTreePartial
25
+ // | DataFormatterRelationshipPartial
26
+
27
+ // dataFormatter計算當中會使用的資料
28
+ export interface DataFormatterContext<T extends ChartType> {
29
+ data: DataTypeMap<T>
30
+ dataFormatter: DataFormatterTypeMap<T>
31
+ chartParams: ChartParams
32
+ layout: Layout
33
+ }
34
+
35
+
36
+ // 透過類型選擇DataFormatter
37
+ export type DataFormatterTypeMap<T extends ChartType> = T extends 'series' ? DataFormatterSeries
38
+ : T extends 'grid' ? DataFormatterGrid
39
+ : T extends 'multiGrid' ? DataFormatterMultiGrid
40
+ : T extends 'multiValue' ? DataFormatterMultiValue
41
+ : T extends 'relationship' ? DataFormatterRelationship
42
+ : T extends 'tree' ? DataFormatterTree
43
+ : DataFormatterBase<T>
44
+
45
+ // 透過類型選擇DataFormatter(可選欄位)
46
+ export type DataFormatterPartialTypeMap<T extends ChartType> = T extends 'series' ? DataFormatterSeriesPartial
47
+ : T extends 'grid' ? DataFormatterGridPartial
48
+ : T extends 'multiGrid' ? DataFormatterMultiGridPartial
49
+ : T extends 'multiValue' ? DataFormatterMultiValuePartial
50
+ : T extends 'relationship' ? DataFormatterRelationshipPartial
51
+ : T extends 'tree' ? DataFormatterTreePartial
52
+ : DataFormatterBasePartial<T>
53
+
54
+ // 基本介面
55
+ export interface DataFormatterBase<T extends ChartType> {
56
+ type: T
57
+ }
58
+
59
+ export type DataFormatterBasePartial<T extends ChartType> = Partial<DataFormatterBase<T>>
60
+
61
+ // 有value
62
+ // export interface DataFormatterValue {
63
+ // valueFormat: ValueFormat
64
+ // }
65
+
66
+ // 有axis
67
+ // export interface DataFormatterAxis {
68
+ // // domainMinValue?: number
69
+ // // domainMaxValue?: number
70
+ // // domainMinRange?: number
71
+ // // domainMaxRange?: number
72
+ // valueDomain: [number | 'auto', number | 'auto']
73
+ // valueRange: [number, number] // 0-1
74
+ // }
75
+
76
+ export interface DataFormatterValueAxis {
77
+ position: AxisPosition
78
+ scaleDomain: [number | 'auto', number | 'auto']
79
+ scaleRange: [number, number]
80
+ label: string
81
+ }
82
+
83
+ export interface DataFormatterGroupAxis {
84
+ position: AxisPosition
85
+ scaleDomain: [number | 'auto', number | 'auto']
86
+ scalePadding: number
87
+ label: string
88
+ }
89
+
90
+
91
+ // export type ValueFormat = string | ((text: d3.NumberValue) => string)
92
+
93
+ export type VisibleFilter<T extends ChartType> = (datum: DatumTypeMap<T>, rowIndex: number, columnIndex: number, context: DataFormatterContext<T>) => boolean | null
94
+
95
+ export type TooltipContentFormat<T extends ChartType> = (datum: DatumTypeMap<T>, rowIndex: number, columnIndex: number, context: DataFormatterContext<T>) => string | null
@@ -1,56 +1,56 @@
1
- import type { DataGridDatum, DataGridValue } from './DataGrid'
2
- import type { DataFormatterBase, DataFormatterBasePartial, DataFormatterValueAxis, DataFormatterGroupAxis, VisibleFilter } from './DataFormatter'
3
- // import type { AxisPosition } from './Axis'
4
-
5
- export type SeriesDirection = 'row' | 'column' // default: 'row'
6
-
7
- export interface DataFormatterGrid extends DataFormatterBase<'grid'> {
8
- grid: DataFormatterGridGrid
9
- container: DataFormatterGridContainer
10
- // visibleGroupRange: [number, number] | null
11
- // colorsPredicate: (datum: DataGridDatum | DataGridValue, rowIndex: number, columnIndex: number, context: DataFormatterContext<'grid'>) => string
12
- }
13
-
14
- export interface DataFormatterGridPartial extends DataFormatterBasePartial<'grid'> {
15
- grid?: DataFormatterGridGridPartial
16
- container?: Partial<DataFormatterGridContainer>
17
- }
18
-
19
- export interface DataFormatterGridGrid {
20
- visibleFilter: VisibleFilter<'grid'>
21
- gridData: DataFormatterGridGridData
22
- valueAxis: DataFormatterValueAxis
23
- groupAxis: DataFormatterGroupAxis
24
- slotIndex: number | null
25
- seriesSlotIndexes: number[] | null
26
- }
27
-
28
- export interface DataFormatterGridGridPartial {
29
- visibleFilter?: VisibleFilter<'grid'>
30
- gridData?: Partial<DataFormatterGridGridData>
31
- valueAxis?: Partial<DataFormatterValueAxis>
32
- groupAxis?: Partial<DataFormatterGroupAxis>
33
- slotIndex?: number | null
34
- seriesSlotIndexes?: number[] | null
35
- }
36
-
37
- export interface DataFormatterGridContainer {
38
- gap: number
39
- rowAmount: number
40
- columnAmount: number
41
- }
42
-
43
- // grid欄位
44
- export interface DataFormatterGridGridData {
45
- seriesDirection: SeriesDirection
46
- rowLabels: string[]
47
- columnLabels: string[]
48
- }
49
-
50
- // const test: DataFormatterGridPartial = {
51
- // type: 'grid',
52
- // grid: {
53
- // rowLabels: [],
54
- // // a: ''
55
- // }
1
+ import type { DataGridDatum, DataGridValue } from './DataGrid'
2
+ import type { DataFormatterBase, DataFormatterBasePartial, DataFormatterValueAxis, DataFormatterGroupAxis, VisibleFilter } from './DataFormatter'
3
+ // import type { AxisPosition } from './Axis'
4
+
5
+ export type SeriesDirection = 'row' | 'column' // default: 'row'
6
+
7
+ export interface DataFormatterGrid extends DataFormatterBase<'grid'> {
8
+ grid: DataFormatterGridGrid
9
+ container: DataFormatterGridContainer
10
+ // visibleGroupRange: [number, number] | null
11
+ // colorsPredicate: (datum: DataGridDatum | DataGridValue, rowIndex: number, columnIndex: number, context: DataFormatterContext<'grid'>) => string
12
+ }
13
+
14
+ export interface DataFormatterGridPartial extends DataFormatterBasePartial<'grid'> {
15
+ grid?: DataFormatterGridGridPartial
16
+ container?: Partial<DataFormatterGridContainer>
17
+ }
18
+
19
+ export interface DataFormatterGridGrid {
20
+ visibleFilter: VisibleFilter<'grid'>
21
+ gridData: DataFormatterGridGridData
22
+ valueAxis: DataFormatterValueAxis
23
+ groupAxis: DataFormatterGroupAxis
24
+ slotIndex: number | null
25
+ seriesSlotIndexes: number[] | null
26
+ }
27
+
28
+ export interface DataFormatterGridGridPartial {
29
+ visibleFilter?: VisibleFilter<'grid'>
30
+ gridData?: Partial<DataFormatterGridGridData>
31
+ valueAxis?: Partial<DataFormatterValueAxis>
32
+ groupAxis?: Partial<DataFormatterGroupAxis>
33
+ slotIndex?: number | null
34
+ seriesSlotIndexes?: number[] | null
35
+ }
36
+
37
+ export interface DataFormatterGridContainer {
38
+ gap: number
39
+ rowAmount: number
40
+ columnAmount: number
41
+ }
42
+
43
+ // grid欄位
44
+ export interface DataFormatterGridGridData {
45
+ seriesDirection: SeriesDirection
46
+ rowLabels: string[]
47
+ columnLabels: string[]
48
+ }
49
+
50
+ // const test: DataFormatterGridPartial = {
51
+ // type: 'grid',
52
+ // grid: {
53
+ // rowLabels: [],
54
+ // // a: ''
55
+ // }
56
56
  // }
@@ -1,43 +1,43 @@
1
- import type { VisibleFilter } from './DataFormatter'
2
- import type { DataFormatterGridGrid, DataFormatterGridGridPartial, DataFormatterGridContainer } from './DataFormatterGrid'
3
- import type {
4
- DataFormatterBase,
5
- DataFormatterBasePartial,
6
- DataFormatterValueAxis,
7
- DataFormatterGroupAxis,
8
- DataFormatterContext } from './DataFormatter'
9
- import type { AxisPosition } from './Axis'
10
-
11
- export interface DataFormatterMultiGrid extends DataFormatterBase<'multiGrid'> {
12
- // visibleFilter: VisibleFilter<'multiGrid'>
13
- gridList: Array<DataFormatterGridGrid>
14
- container: DataFormatterMultiGridContainer
15
- }
16
-
17
- export interface DataFormatterMultiGridPartial extends DataFormatterBasePartial<'multiGrid'> {
18
- // visibleFilter?: VisibleFilter<'multiGrid'>
19
- gridList?: Array<DataFormatterGridGridPartial>
20
- container?: Partial<DataFormatterMultiGridContainer>
21
- }
22
-
23
- export interface DataFormatterMultiGridGrid extends DataFormatterGridGrid {
24
-
25
- }
26
-
27
- export interface DataFormatterMultiGridGridPartial extends DataFormatterGridGridPartial {
28
-
29
- }
30
-
31
- // container
32
- export interface DataFormatterMultiGridContainer extends DataFormatterGridContainer {
33
-
34
- }
35
-
36
- // multiGrid欄位
37
- // export interface DataFormatterMultiGridMultiGrid {
38
- // grid: DataFormatterGridGridData
39
- // valueAxis: DataFormatterValueAxis // default: 'left'
40
- // groupAxis: DataFormatterGroupAxis // default: 'bottom'
41
- // colorsPredicate: (datum: DataGridDatum | DataGridValue, rowIndex: number, columnIndex: number, context: DataFormatterContext<'grid'>) => string
42
- // // colors: Colors
1
+ import type { VisibleFilter } from './DataFormatter'
2
+ import type { DataFormatterGridGrid, DataFormatterGridGridPartial, DataFormatterGridContainer } from './DataFormatterGrid'
3
+ import type {
4
+ DataFormatterBase,
5
+ DataFormatterBasePartial,
6
+ DataFormatterValueAxis,
7
+ DataFormatterGroupAxis,
8
+ DataFormatterContext } from './DataFormatter'
9
+ import type { AxisPosition } from './Axis'
10
+
11
+ export interface DataFormatterMultiGrid extends DataFormatterBase<'multiGrid'> {
12
+ // visibleFilter: VisibleFilter<'multiGrid'>
13
+ gridList: Array<DataFormatterGridGrid>
14
+ container: DataFormatterMultiGridContainer
15
+ }
16
+
17
+ export interface DataFormatterMultiGridPartial extends DataFormatterBasePartial<'multiGrid'> {
18
+ // visibleFilter?: VisibleFilter<'multiGrid'>
19
+ gridList?: Array<DataFormatterGridGridPartial>
20
+ container?: Partial<DataFormatterMultiGridContainer>
21
+ }
22
+
23
+ export interface DataFormatterMultiGridGrid extends DataFormatterGridGrid {
24
+
25
+ }
26
+
27
+ export interface DataFormatterMultiGridGridPartial extends DataFormatterGridGridPartial {
28
+
29
+ }
30
+
31
+ // container
32
+ export interface DataFormatterMultiGridContainer extends DataFormatterGridContainer {
33
+
34
+ }
35
+
36
+ // multiGrid欄位
37
+ // export interface DataFormatterMultiGridMultiGrid {
38
+ // grid: DataFormatterGridGridData
39
+ // valueAxis: DataFormatterValueAxis // default: 'left'
40
+ // groupAxis: DataFormatterGroupAxis // default: 'bottom'
41
+ // colorsPredicate: (datum: DataGridDatum | DataGridValue, rowIndex: number, columnIndex: number, context: DataFormatterContext<'grid'>) => string
42
+ // // colors: Colors
43
43
  // }
@@ -1,21 +1,21 @@
1
- import { DataMultiValueDatum, DataMultiValue } from './DataMultiValue'
2
- import { DataFormatterBase, DataFormatterBasePartial, DataFormatterValueAxis, VisibleFilter } from './DataFormatter'
3
-
4
- export interface DataFormatterMultiValue extends DataFormatterBase<'multiValue'> {
5
- visibleFilter: VisibleFilter<'multiValue'>
6
- // labelFormat: (datum: unknown) => string
7
- multiValue: Array<DataFormatterMultiValueMultiValue>
8
- xAxis: DataFormatterValueAxis
9
- yAxis: DataFormatterValueAxis
10
- }
11
-
12
- export interface DataFormatterMultiValuePartial extends DataFormatterBasePartial<'multiValue'> {
13
- multiValue?: Array<Partial<DataFormatterMultiValueMultiValue>>
14
- xAxis?: Partial<DataFormatterValueAxis>
15
- yAxis?: Partial<DataFormatterValueAxis>
16
- }
17
-
18
- // multiValue欄位
19
- export interface DataFormatterMultiValueMultiValue {
20
- // unitLabel: string
1
+ import { DataMultiValueDatum, DataMultiValue } from './DataMultiValue'
2
+ import { DataFormatterBase, DataFormatterBasePartial, DataFormatterValueAxis, VisibleFilter } from './DataFormatter'
3
+
4
+ export interface DataFormatterMultiValue extends DataFormatterBase<'multiValue'> {
5
+ visibleFilter: VisibleFilter<'multiValue'>
6
+ // labelFormat: (datum: unknown) => string
7
+ multiValue: Array<DataFormatterMultiValueMultiValue>
8
+ xAxis: DataFormatterValueAxis
9
+ yAxis: DataFormatterValueAxis
10
+ }
11
+
12
+ export interface DataFormatterMultiValuePartial extends DataFormatterBasePartial<'multiValue'> {
13
+ multiValue?: Array<Partial<DataFormatterMultiValueMultiValue>>
14
+ xAxis?: Partial<DataFormatterValueAxis>
15
+ yAxis?: Partial<DataFormatterValueAxis>
16
+ }
17
+
18
+ // multiValue欄位
19
+ export interface DataFormatterMultiValueMultiValue {
20
+ // unitLabel: string
21
21
  }
@@ -1,23 +1,23 @@
1
- import { Node, Edge, DataRelationship } from './DataRelationship'
2
- import { DataFormatterBase, DataFormatterBasePartial, VisibleFilter } from './DataFormatter'
3
-
4
- export interface DataFormatterRelationship extends DataFormatterBase<'relationship'> {
5
- visibleFilter: VisibleFilter<'relationship'>
6
- // node: DataFormatterRelationshipNode
7
- // edge: DataFormatterRelationshipEdge
8
- }
9
-
10
- export interface DataFormatterRelationshipPartial extends DataFormatterBasePartial<'relationship'> {
11
- // node: Partial<DataFormatterRelationshipNode>
12
- // edge: Partial<DataFormatterRelationshipEdge>
13
- }
14
-
15
- // export interface DataFormatterRelationshipNode {
16
- // labelFormat: (node: unknown) => string
17
- // descriptionFormat: (node: unknown) => string
18
- // }
19
-
20
- // export interface DataFormatterRelationshipEdge {
21
- // labelFormat: (edge: unknown, startNode: unknown, endNode: unknown) => string
22
- // descriptionFormat: (edge: unknown, startNode: unknown, endNode: unknown) => string
1
+ import { Node, Edge, DataRelationship } from './DataRelationship'
2
+ import { DataFormatterBase, DataFormatterBasePartial, VisibleFilter } from './DataFormatter'
3
+
4
+ export interface DataFormatterRelationship extends DataFormatterBase<'relationship'> {
5
+ visibleFilter: VisibleFilter<'relationship'>
6
+ // node: DataFormatterRelationshipNode
7
+ // edge: DataFormatterRelationshipEdge
8
+ }
9
+
10
+ export interface DataFormatterRelationshipPartial extends DataFormatterBasePartial<'relationship'> {
11
+ // node: Partial<DataFormatterRelationshipNode>
12
+ // edge: Partial<DataFormatterRelationshipEdge>
13
+ }
14
+
15
+ // export interface DataFormatterRelationshipNode {
16
+ // labelFormat: (node: unknown) => string
17
+ // descriptionFormat: (node: unknown) => string
18
+ // }
19
+
20
+ // export interface DataFormatterRelationshipEdge {
21
+ // labelFormat: (edge: unknown, startNode: unknown, endNode: unknown) => string
22
+ // descriptionFormat: (edge: unknown, startNode: unknown, endNode: unknown) => string
23
23
  // }