@rfkit/charts 1.2.28 → 1.3.1

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 (105) hide show
  1. package/components/AxisY/occupancy/index.d.ts +1 -0
  2. package/components/AxisY/occupancy/type/Default/index.d.ts +4 -1
  3. package/components/AxisY/spectrum/useRanging/tools.d.ts +27 -11
  4. package/components/AxisY/tools.d.ts +2 -0
  5. package/components/Blaze/tools.d.ts +2 -1
  6. package/components/Cursor/tools.d.ts +1 -1
  7. package/components/Dashed/index.d.ts +1 -0
  8. package/components/DeltaMeasurement/Switch.d.ts +3 -0
  9. package/components/DeltaMeasurement/index.d.ts +3 -0
  10. package/components/DragSelectBox/index.d.ts +28 -0
  11. package/components/Dropdown/index.d.ts +1 -0
  12. package/components/EventBus/tools.d.ts +2 -2
  13. package/components/Markers/hooks/useMarkerEvents.d.ts +1 -0
  14. package/components/Markers/hooks/useMarkers.d.ts +2 -0
  15. package/components/Markers/tools.d.ts +15 -0
  16. package/components/Zoom/ZoomOffsetContainer/index.d.ts +1 -0
  17. package/config/constants.d.ts +12 -4
  18. package/config/setting.d.ts +9 -0
  19. package/hooks/data/index.d.ts +6 -0
  20. package/hooks/{useSegments.d.ts → data/useSegments.d.ts} +1 -1
  21. package/hooks/index.d.ts +12 -0
  22. package/hooks/publish/index.d.ts +6 -0
  23. package/hooks/{useMarkerPublish.d.ts → publish/useMarkerPublish.d.ts} +1 -1
  24. package/hooks/{usePublish.d.ts → publish/usePublish.d.ts} +2 -2
  25. package/hooks/{useSafePublish.d.ts → publish/useSafePublish.d.ts} +3 -3
  26. package/hooks/spectrum/index.d.ts +6 -0
  27. package/hooks/{useSpectrumChartType.d.ts → spectrum/useSpectrumChartType.d.ts} +1 -1
  28. package/hooks/{useSpectrumRule.d.ts → spectrum/useSpectrumRule.d.ts} +2 -2
  29. package/hooks/useChart/index.d.ts +14 -5
  30. package/hooks/useDragSelect.d.ts +32 -0
  31. package/hooks/useModuleSubscription.d.ts +66 -0
  32. package/hooks/useSeriesManager/index.d.ts +1 -1
  33. package/hooks/useSeriesManager/useFilteredSeries.d.ts +1 -1
  34. package/hooks/useSeriesManager/useSeriesManager.d.ts +0 -8
  35. package/index.d.ts +4 -2
  36. package/index.js +10953 -11488
  37. package/lib/Spectrum/Chart.d.ts +4 -3
  38. package/modules/Dial/render.d.ts +13 -8
  39. package/modules/Fluorescence/render.d.ts +13 -33
  40. package/modules/Gauge/render.d.ts +30 -9
  41. package/modules/Heatmap/render.d.ts +21 -21
  42. package/modules/IQEye/index.d.ts +6 -1
  43. package/modules/IQPlanisphere/index.d.ts +6 -1
  44. package/modules/IQStream/index.d.ts +5 -1
  45. package/modules/Occupancy/render.d.ts +14 -8
  46. package/modules/OccupancyPortal/index.d.ts +5 -2
  47. package/modules/SpatialSpectrum/render.d.ts +13 -8
  48. package/modules/Spectrum/render.d.ts +3 -2
  49. package/modules/base/BaseRenderer.d.ts +83 -0
  50. package/modules/base/CircularRenderer.d.ts +59 -0
  51. package/modules/base/GradientRenderer.d.ts +42 -0
  52. package/modules/base/IQRenderer.d.ts +41 -0
  53. package/modules/base/index.d.ts +7 -0
  54. package/modules/tools.d.ts +2 -1
  55. package/package.json +1 -1
  56. package/store/reducer.d.ts +2 -0
  57. package/types/common.d.ts +14 -12
  58. package/types/publish.d.ts +4 -1
  59. package/types/store/axis.d.ts +29 -0
  60. package/types/store/frequency.d.ts +19 -0
  61. package/types/store/heatmap.d.ts +53 -0
  62. package/types/store/index.d.ts +95 -0
  63. package/types/store/marker.d.ts +39 -0
  64. package/types/store/series.d.ts +16 -0
  65. package/types/store/signal.d.ts +27 -0
  66. package/types/store/ui.d.ts +98 -0
  67. package/types/store.d.ts +13 -328
  68. package/utils/array.d.ts +40 -0
  69. package/utils/frequency.d.ts +72 -0
  70. package/utils/index.d.ts +12 -114
  71. package/utils/object.d.ts +11 -0
  72. package/utils/series/events.d.ts +1 -1
  73. package/utils/series/index.d.ts +1 -1
  74. package/utils/series/modes.d.ts +1 -1
  75. package/utils/subscription.d.ts +20 -2
  76. package/utils/theme.d.ts +18 -0
  77. package/utils/throttle.d.ts +52 -0
  78. package/utils/time.d.ts +27 -0
  79. package/engine/ColorInterpolator.d.ts +0 -49
  80. package/engine/dial.d.ts +0 -13
  81. package/engine/engine.d.ts +0 -10
  82. package/engine/fillImageData.d.ts +0 -34
  83. package/engine/fluorescence.d.ts +0 -37
  84. package/engine/gauge.d.ts +0 -16
  85. package/engine/heatmap.d.ts +0 -13
  86. package/engine/index.d.ts +0 -11
  87. package/engine/iq.d.ts +0 -12
  88. package/engine/iqEye.d.ts +0 -17
  89. package/engine/radar.d.ts +0 -11
  90. package/engine/series.d.ts +0 -12
  91. package/engine/tools.d.ts +0 -30
  92. package/engine/type.d.ts +0 -32
  93. package/engine/utils.d.ts +0 -2
  94. package/engine/webglEngine.d.ts +0 -23
  95. package/engine/webglExample.d.ts +0 -21
  96. package/engine/webglSeries.d.ts +0 -21
  97. package/hooks/useHeatmapHeight.d.ts +0 -7
  98. package/hooks/useRuleUpdate.d.ts +0 -4
  99. package/hooks/useZoomMinSimulateWave.d.ts +0 -7
  100. package/modules/IQEye/render.d.ts +0 -12
  101. package/modules/IQPlanisphere/render.d.ts +0 -12
  102. package/modules/IQStream/render.d.ts +0 -12
  103. /package/hooks/{useChannel.d.ts → data/useChannel.d.ts} +0 -0
  104. /package/hooks/{usePoints.d.ts → data/usePoints.d.ts} +0 -0
  105. /package/hooks/{uselevelStreamAnalyzer.d.ts → useLevelStreamAnalyzer.d.ts} +0 -0
@@ -0,0 +1,53 @@
1
+ import type { TimestampedFloat32Array } from '@rfkit/spectrum-analyzer';
2
+ export declare enum HeatmapCaptureType {
3
+ Area = "area",
4
+ Slider = "slider",
5
+ RowIndex = "rowIndex"
6
+ }
7
+ export interface HeatmapSliderData {
8
+ startIndex: number;
9
+ endIndex: number;
10
+ startTimestamp: string;
11
+ endTimestamp: string;
12
+ }
13
+ export interface HeatmapSlider2DData extends HeatmapSliderData {
14
+ duration: number;
15
+ startCol: number;
16
+ endCol: number;
17
+ startFrequency: number;
18
+ startFrequencyFormat: string;
19
+ endFrequency: number;
20
+ endFrequencyFormat: string;
21
+ bandwidth: number;
22
+ bandwidthFormat: string;
23
+ }
24
+ export interface HeatmapAreaData extends HeatmapSliderData {
25
+ startCol: number;
26
+ endCol: number;
27
+ startFrequency: number;
28
+ startFrequencyFormat: string;
29
+ endFrequency: number;
30
+ endFrequencyFormat: string;
31
+ bandwidth: number;
32
+ bandwidthFormat: string;
33
+ data: number[][];
34
+ }
35
+ export interface HeatmapRowIndexData {
36
+ data: TimestampedFloat32Array;
37
+ timestamp: string;
38
+ rowIndex: number;
39
+ }
40
+ export interface HeatmapCaptureProps {
41
+ type: HeatmapCaptureType;
42
+ show: boolean;
43
+ display: boolean;
44
+ sync: boolean;
45
+ interval: {
46
+ startIndex: number;
47
+ endIndex: number;
48
+ startFrequency?: number;
49
+ endFrequency?: number;
50
+ };
51
+ dataNow: number[][];
52
+ onChange: (e: HeatmapSliderData | HeatmapSlider2DData | HeatmapRowIndexData | HeatmapAreaData) => void;
53
+ }
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Store 类型定义
3
+ *
4
+ * 按功能模块拆分:
5
+ * - axis: 坐标轴配置
6
+ * - marker: 标记配置
7
+ * - signal: 信号配置
8
+ * - heatmap: 热力图配置
9
+ * - series: 系列数据配置
10
+ * - frequency: 频率分配配置
11
+ * - ui: UI 组件配置
12
+ */
13
+ export * from './axis';
14
+ export * from './frequency';
15
+ export * from './heatmap';
16
+ export * from './marker';
17
+ export * from './series';
18
+ export * from './signal';
19
+ export * from './ui';
20
+ import type { Publish, SegmentsType } from '..';
21
+ import type { AxisXProps, AxisYProps } from './axis';
22
+ import type { FrequencyAllocationProps } from './frequency';
23
+ import type { HeatmapCaptureProps } from './heatmap';
24
+ import type { MarkerProps } from './marker';
25
+ import type { LevelStreamProps, SeriesProps } from './series';
26
+ import type { SignalAnalysisProps, SignalProps } from './signal';
27
+ import type { BandProps, BlazeProps, CursorProps, DeltaMeasurementProps, EventBusProps, FluorescenceProps, FrequencyTagLineBoardProps, LegendProps, LimitProps, ScopeProps, StripeProps, SystemConfig, ToolsBarProps, ZoomProps } from './ui';
28
+ export interface StoreState {
29
+ globalID: string;
30
+ config: unknown;
31
+ system: SystemConfig;
32
+ eventBus: EventBusProps;
33
+ axisY: AxisYProps;
34
+ axisX: AxisXProps;
35
+ toolsBar: ToolsBarProps;
36
+ series: SeriesProps;
37
+ segments: SegmentsType;
38
+ points: unknown[];
39
+ marker: MarkerProps;
40
+ limit: LimitProps;
41
+ heatmapCapture: HeatmapCaptureProps;
42
+ cursor: CursorProps;
43
+ zoom: ZoomProps;
44
+ signal: SignalProps;
45
+ signalAnalysis: SignalAnalysisProps;
46
+ band: BandProps;
47
+ scope: ScopeProps;
48
+ gridLines: boolean;
49
+ legend: LegendProps;
50
+ frequencyTagLine: FrequencyTagLineBoardProps;
51
+ stripe: StripeProps;
52
+ blaze: BlazeProps;
53
+ frequencyAllocation: FrequencyAllocationProps;
54
+ levelStream?: LevelStreamProps;
55
+ timeRange?: number;
56
+ fluorescence: FluorescenceProps;
57
+ deltaMeasurement: DeltaMeasurementProps;
58
+ [key: string]: unknown;
59
+ publish?: Publish;
60
+ }
61
+ export interface DispatchAction {
62
+ type?: string;
63
+ payload: Record<string, unknown>;
64
+ }
65
+ export interface StoreProps extends ParamsProps {
66
+ children: React.ReactNode;
67
+ [key: string]: unknown;
68
+ }
69
+ export interface ParamsProps {
70
+ axisY?: Partial<AxisYProps>;
71
+ axisX?: Partial<AxisXProps>;
72
+ fluorescence?: Partial<FluorescenceProps>;
73
+ gridLines?: boolean;
74
+ legend?: Partial<LegendProps>;
75
+ marker?: Partial<MarkerProps>;
76
+ limit?: Partial<LimitProps>;
77
+ heatmapCapture?: Partial<HeatmapCaptureProps>;
78
+ zoom?: Partial<ZoomProps>;
79
+ cursor?: Partial<CursorProps>;
80
+ signal?: Partial<SignalProps>;
81
+ scope?: Partial<ScopeProps>;
82
+ eventBus?: Partial<EventBusProps>;
83
+ blaze?: Partial<BlazeProps>;
84
+ stripe?: Partial<StripeProps>;
85
+ signalAnalysis?: Partial<SignalAnalysisProps>;
86
+ series?: Partial<SeriesProps>;
87
+ frequencyTagLine?: Partial<FrequencyTagLineBoardProps>;
88
+ frequencyAllocation?: Partial<FrequencyAllocationProps>;
89
+ toolsBar?: Partial<ToolsBarProps>;
90
+ band?: Partial<BandProps>;
91
+ levelStream?: Partial<LevelStreamProps>;
92
+ deltaMeasurement?: Partial<DeltaMeasurementProps>;
93
+ publish?: Publish;
94
+ [key: string]: unknown;
95
+ }
@@ -0,0 +1,39 @@
1
+ import type { MarkerEventType } from '../../config';
2
+ export declare enum MarkerMode {
3
+ Normal = "normal",
4
+ DDC = "ddc"
5
+ }
6
+ export declare enum MarkerAction {
7
+ Add = "add",// 添加markers
8
+ Move = "move",// 移动marker
9
+ Update = "update",// 更新marker
10
+ Delete = "delete",// 删除markers
11
+ Clear = "clear",// 清空所有
12
+ Select = "select"
13
+ }
14
+ export interface MarkerChangeEvent {
15
+ type: MarkerAction;
16
+ spectrumMarkers: MarkerType[];
17
+ waterfallMarkers?: MarkerType[];
18
+ }
19
+ export interface MarkerType {
20
+ id: string;
21
+ color: string;
22
+ left: number;
23
+ top?: number;
24
+ hover: boolean;
25
+ peak: boolean;
26
+ peakTracking?: 'mainSecondary';
27
+ peakRank?: number;
28
+ select: boolean;
29
+ frequency: number;
30
+ level?: number;
31
+ }
32
+ export interface MarkerProps {
33
+ enabled: boolean;
34
+ visible: boolean;
35
+ fixed?: boolean;
36
+ mode: MarkerMode;
37
+ maxCount: number;
38
+ onChange: (event: MarkerEventType, markers?: MarkerType[]) => void;
39
+ }
@@ -0,0 +1,16 @@
1
+ import type { SeriesType } from '../../config';
2
+ export interface SeriesProps {
3
+ maxPoints?: number;
4
+ zoomMinSimulateWave: boolean;
5
+ dataRate: number;
6
+ forceDisplay: boolean;
7
+ legendExternal: SeriesType[];
8
+ enableMetrics?: boolean;
9
+ enableWaterfall?: boolean;
10
+ enableLengthSyncFastMode: boolean;
11
+ }
12
+ export interface LevelStreamProps {
13
+ cacheTime: number;
14
+ granularity: number;
15
+ maxPoints: number;
16
+ }
@@ -0,0 +1,27 @@
1
+ export declare enum SignalDataType {
2
+ Station = "station",// 台站信号(详细信息)
3
+ Simple = "simple"
4
+ }
5
+ export interface SignalData {
6
+ startFrequency?: number | string;
7
+ stopFrequency?: number | string;
8
+ frequency?: number | string;
9
+ bandwidth?: number | string;
10
+ color?: string;
11
+ signalType?: string;
12
+ }
13
+ export type SelectedSignal = {
14
+ segIndex: number;
15
+ frequency: number;
16
+ };
17
+ export interface SignalProps {
18
+ show: boolean;
19
+ display: boolean;
20
+ data: SignalData[];
21
+ onChange: (e: SelectedSignal) => void;
22
+ }
23
+ export interface SignalAnalysisProps {
24
+ show: boolean;
25
+ display: boolean;
26
+ onChange: () => void;
27
+ }
@@ -0,0 +1,98 @@
1
+ import type { ModuleType } from '../../config';
2
+ import type { AxisXRange, RecursiveObject, TopRightBottomLeft } from '..';
3
+ export interface SystemConfig {
4
+ width: number;
5
+ height: number;
6
+ padding: number;
7
+ border: boolean;
8
+ borderRadius: boolean;
9
+ onChange: (e: RecursiveObject) => void;
10
+ }
11
+ export interface ToolsBarProps {
12
+ show: boolean;
13
+ hiddenTools?: string[];
14
+ }
15
+ export interface LimitProps {
16
+ show: boolean;
17
+ disabled?: boolean;
18
+ active?: boolean;
19
+ value: number[];
20
+ range?: number[];
21
+ label?: string;
22
+ onChange: (l: number[]) => void;
23
+ }
24
+ export interface CursorProps {
25
+ show: boolean;
26
+ active: boolean;
27
+ event: React.MouseEvent | null;
28
+ coord: TopRightBottomLeft;
29
+ timeout: number;
30
+ mode?: ModuleType;
31
+ }
32
+ export interface ZoomProps {
33
+ show: boolean;
34
+ select: boolean;
35
+ interval: AxisXRange;
36
+ style: null | Record<string, unknown>;
37
+ isScanSegmentsUpdateMagnify: boolean;
38
+ onChange: (se: [string, string], interval: AxisXRange) => void;
39
+ autoCloseTimeout: number;
40
+ }
41
+ export interface BandProps {
42
+ show: boolean;
43
+ left?: number;
44
+ width: number;
45
+ color?: string;
46
+ }
47
+ export interface ScopeProps {
48
+ show: boolean;
49
+ left: number;
50
+ width: number;
51
+ onChange: () => void;
52
+ }
53
+ export interface LegendProps {
54
+ children: React.ReactNode | null;
55
+ }
56
+ export interface FrequencyTagLineBoardProps {
57
+ show: boolean;
58
+ display: boolean;
59
+ left: number;
60
+ onChange: (e: {
61
+ index: number;
62
+ frequency: string;
63
+ }) => void;
64
+ }
65
+ export interface StripeProps {
66
+ show: boolean;
67
+ display: boolean;
68
+ defaultLeft: number;
69
+ defaultRight: number;
70
+ left: number;
71
+ right: number;
72
+ onChange: (e: RecursiveObject) => void;
73
+ }
74
+ export interface BlazeProps {
75
+ show: boolean;
76
+ }
77
+ export interface FluorescenceProps {
78
+ show: boolean;
79
+ display: boolean;
80
+ }
81
+ export interface DeltaMeasurementProps {
82
+ show: boolean;
83
+ display: boolean;
84
+ onChange?: (data: DeltaMeasurementData | null) => void;
85
+ }
86
+ export interface DeltaMeasurementData {
87
+ deltaX: number;
88
+ deltaY: number;
89
+ centerFrequency: number;
90
+ startFrequency: number;
91
+ endFrequency: number;
92
+ startAmplitude: number;
93
+ endAmplitude: number;
94
+ }
95
+ export interface EventBusProps {
96
+ onDoubleClick: (frequency: string, e: RecursiveObject) => void;
97
+ [key: string]: unknown;
98
+ }
package/types/store.d.ts CHANGED
@@ -1,328 +1,13 @@
1
- import type { TimestampedFloat32Array } from '@rfkit/spectrum-analyzer';
2
- import type { MarkerEventType, ModuleType, SeriesType } from '../config';
3
- import type { AxisXRange, AxisYRange, Publish, RecursiveObject, SegmentsType, TopRightBottomLeft } from './';
4
- export interface SystemConfig {
5
- width: number;
6
- height: number;
7
- padding: number;
8
- border: boolean;
9
- borderRadius: boolean;
10
- onChange: (e: RecursiveObject) => void;
11
- }
12
- export interface AxisYProps {
13
- show?: boolean;
14
- disabled?: boolean;
15
- gradientRibbon?: boolean;
16
- realRange?: number[];
17
- range?: AxisYRange;
18
- renderRange?: AxisYRange;
19
- restrict?: number[];
20
- autoranging?: boolean;
21
- step?: number;
22
- unit?: string;
23
- unitList?: string[];
24
- unitDisabled?: boolean;
25
- type?: string;
26
- hidden?: string[];
27
- linkage?: boolean;
28
- onChange?: (e: RecursiveObject) => void;
29
- }
30
- export interface AxisXProps {
31
- show?: boolean;
32
- range?: number[];
33
- unit?: string;
34
- unitKHz?: string;
35
- ticks?: boolean;
36
- children?: React.ReactNode;
37
- onChange?: () => void;
38
- frequencyFormat?: (x: number) => string;
39
- }
40
- export interface ToolsBarProps {
41
- show: boolean;
42
- hiddenTools?: string[];
43
- }
44
- export interface SeriesProps {
45
- maxPoints?: number;
46
- zoomMinSimulateWave: boolean;
47
- dataRate: number;
48
- forceDisplay: boolean;
49
- legendExternal: SeriesType[];
50
- enableMetrics?: boolean;
51
- enableWaterfall?: boolean;
52
- enableLengthSyncFastMode: boolean;
53
- }
54
- export declare enum MarkerMode {
55
- Normal = "normal",
56
- DDC = "ddc"
57
- }
58
- export declare enum MarkerAction {
59
- Add = "add",// 添加markers
60
- Move = "move",// 移动marker
61
- Update = "update",// 更新marker
62
- Delete = "delete",// 删除markers
63
- Clear = "clear",// 清空所有
64
- Select = "select"
65
- }
66
- export interface MarkerChangeEvent {
67
- type: MarkerAction;
68
- spectrumMarkers: MarkerType[];
69
- waterfallMarkers?: MarkerType[];
70
- }
71
- export interface MarkerType {
72
- id: string;
73
- color: string;
74
- left: number;
75
- top?: number;
76
- hover: boolean;
77
- peak: boolean;
78
- select: boolean;
79
- frequency: number;
80
- level?: number;
81
- }
82
- export interface MarkerProps {
83
- enabled: boolean;
84
- visible: boolean;
85
- fixed?: boolean;
86
- mode: MarkerMode;
87
- maxCount: number;
88
- onChange: (event: MarkerEventType, markers?: MarkerType[]) => void;
89
- }
90
- export interface LimitProps {
91
- show: boolean;
92
- disabled?: boolean;
93
- active?: boolean;
94
- value: number[];
95
- range?: number[];
96
- label?: string;
97
- onChange: (l: number[]) => void;
98
- }
99
- export declare enum HeatmapCaptureType {
100
- Area = "area",
101
- Slider = "slider",
102
- RowIndex = "rowIndex"
103
- }
104
- export interface HeatmapSliderData {
105
- startIndex: number;
106
- endIndex: number;
107
- startTimestamp: string;
108
- endTimestamp: string;
109
- }
110
- export interface HeatmapSlider2DData extends HeatmapSliderData {
111
- duration: number;
112
- startCol: number;
113
- endCol: number;
114
- startFrequency: number;
115
- startFrequencyFormat: string;
116
- endFrequency: number;
117
- endFrequencyFormat: string;
118
- bandwidth: number;
119
- bandwidthFormat: string;
120
- }
121
- export interface HeatmapAreaData extends HeatmapSliderData {
122
- startCol: number;
123
- endCol: number;
124
- startFrequency: number;
125
- startFrequencyFormat: string;
126
- endFrequency: number;
127
- endFrequencyFormat: string;
128
- bandwidth: number;
129
- bandwidthFormat: string;
130
- data: number[][];
131
- }
132
- export interface HeatmapRowIndexData {
133
- data: TimestampedFloat32Array;
134
- timestamp: string;
135
- rowIndex: number;
136
- }
137
- export interface HeatmapCaptureProps {
138
- type: HeatmapCaptureType;
139
- show: boolean;
140
- display: boolean;
141
- sync: boolean;
142
- interval: {
143
- startIndex: number;
144
- endIndex: number;
145
- startFrequency?: number;
146
- endFrequency?: number;
147
- };
148
- dataNow: number[][];
149
- onChange: (e: HeatmapSliderData | HeatmapSlider2DData | HeatmapRowIndexData | HeatmapAreaData) => void;
150
- }
151
- export interface CursorProps {
152
- show: boolean;
153
- active: boolean;
154
- event: React.MouseEvent | null;
155
- coord: TopRightBottomLeft;
156
- timeout: number;
157
- mode?: ModuleType;
158
- }
159
- export interface ZoomProps {
160
- show: boolean;
161
- select: boolean;
162
- interval: AxisXRange;
163
- style: null | Record<string, unknown>;
164
- isScanSegmentsUpdateMagnify: boolean;
165
- onChange: (se: [string, string], interval: AxisXRange) => void;
166
- autoCloseTimeout: number;
167
- }
168
- export declare enum SignalDataType {
169
- Station = "station",// 台站信号(详细信息)
170
- Simple = "simple"
171
- }
172
- export interface SignalData {
173
- startFrequency?: number | string;
174
- stopFrequency?: number | string;
175
- frequency?: number | string;
176
- bandwidth?: number | string;
177
- color?: string;
178
- signalType?: string;
179
- }
180
- export type SelectedSignal = {
181
- segIndex: number;
182
- frequency: number;
183
- };
184
- export interface SignalProps {
185
- show: boolean;
186
- display: boolean;
187
- data: SignalData[];
188
- onChange: (e: SelectedSignal) => void;
189
- }
190
- export interface SignalAnalysisProps {
191
- show: boolean;
192
- display: boolean;
193
- onChange: () => void;
194
- }
195
- export interface BandProps {
196
- show: boolean;
197
- left?: number;
198
- width: number;
199
- color?: string;
200
- }
201
- export interface ScopeProps {
202
- show: boolean;
203
- left: number;
204
- width: number;
205
- onChange: () => void;
206
- }
207
- export interface LegendProps {
208
- children: React.ReactNode | null;
209
- }
210
- export interface FrequencyTagLineBoardProps {
211
- show: boolean;
212
- display: boolean;
213
- left: number;
214
- onChange: (e: {
215
- index: number;
216
- frequency: string;
217
- }) => void;
218
- }
219
- export interface StripeProps {
220
- show: boolean;
221
- display: boolean;
222
- defaultLeft: number;
223
- defaultRight: number;
224
- left: number;
225
- right: number;
226
- onChange: (e: RecursiveObject) => void;
227
- }
228
- export interface BlazeProps {
229
- show: boolean;
230
- }
231
- export interface FrequencyAllocationItem {
232
- startFrequency?: number | string;
233
- stopFrequency?: number | string;
234
- centerFrequency?: number | string;
235
- stepFrequency: number | string;
236
- bandwidth?: number | string;
237
- modulation: string;
238
- title: string;
239
- description: string;
240
- demodulation?: string;
241
- status?: string;
242
- color?: string;
243
- gradientColors?: [string, string];
244
- }
245
- export interface FrequencyAllocationProps {
246
- show: boolean;
247
- display: boolean;
248
- data: FrequencyAllocationItem[];
249
- }
250
- export interface LevelStreamProps {
251
- cacheTime: number;
252
- granularity: number;
253
- maxPoints: number;
254
- }
255
- export interface EventBusProps {
256
- onDoubleClick: (frequency: string, e: RecursiveObject) => void;
257
- [key: string]: unknown;
258
- }
259
- export interface FluorescenceProps {
260
- show: boolean;
261
- display: boolean;
262
- }
263
- export interface StoreState {
264
- globalID: string;
265
- config: unknown;
266
- system: SystemConfig;
267
- eventBus: EventBusProps;
268
- axisY: AxisYProps;
269
- axisX: AxisXProps;
270
- toolsBar: ToolsBarProps;
271
- series: SeriesProps;
272
- segments: SegmentsType;
273
- points: unknown[];
274
- marker: MarkerProps;
275
- limit: LimitProps;
276
- heatmapCapture: HeatmapCaptureProps;
277
- cursor: CursorProps;
278
- zoom: ZoomProps;
279
- signal: SignalProps;
280
- signalAnalysis: SignalAnalysisProps;
281
- band: BandProps;
282
- scope: ScopeProps;
283
- gridLines: boolean;
284
- legend: LegendProps;
285
- frequencyTagLine: FrequencyTagLineBoardProps;
286
- stripe: StripeProps;
287
- blaze: BlazeProps;
288
- frequencyAllocation: FrequencyAllocationProps;
289
- levelStream?: LevelStreamProps;
290
- timeRange?: number;
291
- fluorescence: FluorescenceProps;
292
- [key: string]: unknown;
293
- publish?: Publish;
294
- }
295
- export interface DispatchAction {
296
- type?: string;
297
- payload: Record<string, unknown>;
298
- }
299
- export interface StoreProps extends ParamsProps {
300
- children: React.ReactNode;
301
- [key: string]: unknown;
302
- }
303
- export interface ParamsProps {
304
- axisY?: Partial<AxisYProps>;
305
- axisX?: Partial<AxisXProps>;
306
- fluorescence?: Partial<FluorescenceProps>;
307
- gridLines?: boolean;
308
- legend?: Partial<LegendProps>;
309
- marker?: Partial<MarkerProps>;
310
- limit?: Partial<LimitProps>;
311
- heatmapCapture?: Partial<HeatmapCaptureProps>;
312
- zoom?: Partial<ZoomProps>;
313
- cursor?: Partial<CursorProps>;
314
- signal?: Partial<SignalProps>;
315
- scope?: Partial<ScopeProps>;
316
- eventBus?: Partial<EventBusProps>;
317
- blaze?: Partial<BlazeProps>;
318
- stripe?: Partial<StripeProps>;
319
- signalAnalysis?: Partial<SignalAnalysisProps>;
320
- series?: Partial<SeriesProps>;
321
- frequencyTagLine?: Partial<FrequencyTagLineBoardProps>;
322
- frequencyAllocation?: Partial<FrequencyAllocationProps>;
323
- toolsBar?: Partial<ToolsBarProps>;
324
- band?: Partial<BandProps>;
325
- levelStream?: Partial<LevelStreamProps>;
326
- publish?: Publish;
327
- [key: string]: unknown;
328
- }
1
+ /**
2
+ * Store 类型定义
3
+ *
4
+ * 类型已按功能模块拆分到 store/ 目录:
5
+ * - store/axis.ts: 坐标轴配置 (AxisXProps, AxisYProps)
6
+ * - store/marker.ts: 标记配置 (MarkerProps, MarkerType, MarkerMode, MarkerAction)
7
+ * - store/signal.ts: 信号配置 (SignalProps, SignalData, SignalDataType)
8
+ * - store/heatmap.ts: 热力图配置 (HeatmapCaptureProps, HeatmapCaptureType)
9
+ * - store/series.ts: 系列数据配置 (SeriesProps, LevelStreamProps)
10
+ * - store/frequency.ts: 频率分配配置 (FrequencyAllocationProps, FrequencyAllocationItem)
11
+ * - store/ui.ts: UI 组件配置 (CursorProps, ZoomProps, LimitProps, etc.)
12
+ */
13
+ export * from './store/index';