@rfkit/charts 1.10.12 → 1.11.0
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/README.md +7 -30
- package/charts/Spectrum/Chart.d.ts +1 -0
- package/components/AxisY/spectrum/tools.d.ts +0 -6
- package/components/AxisY/spectrum/useRanging/index.d.ts +2 -2
- package/components/AxisY/spectrum/useRanging/ranging.d.ts +2 -30
- package/components/AxisY/spectrum/useRanging/tools.d.ts +0 -15
- package/components/Cursor/tools.d.ts +0 -6
- package/components/DragSelectBox/index.d.ts +0 -4
- package/components/EventBus/tools.d.ts +0 -29
- package/components/Toolbar/primitives/styles.d.ts +10 -10
- package/components/Zoom/tools.d.ts +5 -0
- package/components/ui/button.d.ts +4 -4
- package/components/ui/panel.d.ts +2 -2
- package/config/constants.d.ts +0 -2
- package/config/setting.d.ts +1 -27
- package/hooks/data/index.d.ts +0 -3
- package/hooks/index.d.ts +0 -3
- package/hooks/publish/index.d.ts +0 -3
- package/hooks/spectrum/index.d.ts +1 -3
- package/hooks/spectrum/useTouchMode.d.ts +1 -0
- package/hooks/useChart/index.d.ts +0 -4
- package/hooks/useChartComponent.d.ts +0 -6
- package/hooks/useDragSelect.d.ts +0 -7
- package/hooks/useModuleSubscription.d.ts +0 -50
- package/hooks/useSeriesManager/index.d.ts +0 -4
- package/hooks/useSeriesManager/useFilteredSeries.d.ts +1 -9
- package/hooks/useSeriesManager/useSeriesManager.d.ts +0 -18
- package/index.d.ts +1 -3
- package/index.js +62 -31109
- package/index.js.LICENSE.txt +1 -1
- package/modules/Dial/render.d.ts +0 -3
- package/modules/Fluorescence/render.d.ts +0 -3
- package/modules/Gauge/render.d.ts +0 -9
- package/modules/Heatmap/Capture/sliderInfo.d.ts +3 -6
- package/modules/Heatmap/render.d.ts +0 -3
- package/modules/SpatialSpectrum/render.d.ts +0 -3
- package/modules/Spectrum/AxisYCanvas/layout.d.ts +2 -2
- package/modules/Spectrum/FrequencyAllocation/tools.d.ts +0 -23
- package/modules/Spectrum/Markers/hooks/useMarkers.d.ts +2 -19
- package/modules/Spectrum/Markers/tools.d.ts +0 -3
- package/modules/Spectrum/Signal/Switch/index.d.ts +0 -5
- package/modules/Spectrum/Signal/metadata/level.d.ts +1 -9
- package/modules/Spectrum/Signal/metadata/signalType.d.ts +5 -8
- package/modules/Spectrum/Signal/model/match.d.ts +0 -1
- package/modules/Spectrum/Signal/model/resolver.d.ts +1 -1
- package/modules/Spectrum/Signal/model/tree.d.ts +0 -30
- package/modules/Spectrum/Signal/tools.d.ts +0 -8
- package/modules/Spectrum/Signal/useSignalDataManager.d.ts +0 -5
- package/modules/Spectrum/TouchBus/index.d.ts +6 -0
- package/modules/Spectrum/index.d.ts +1 -0
- package/modules/Spectrum/useSpectrumAnalyzer/useTemplateComparison.d.ts +1 -5
- package/modules/base/BaseRenderer.d.ts +0 -89
- package/modules/base/CircularRenderer.d.ts +1 -29
- package/modules/base/GradientRenderer.d.ts +0 -25
- package/modules/base/IQRenderer.d.ts +0 -21
- package/modules/base/index.d.ts +0 -3
- package/package.json +1 -1
- package/runtime/interaction/index.d.ts +4 -2
- package/runtime/passThrough.d.ts +1 -1
- package/store/Params.d.ts +0 -7
- package/store/bandState.d.ts +0 -4
- package/store/defaultState.d.ts +0 -4
- package/store/globalState.d.ts +0 -9
- package/store/hooks/useStore.d.ts +0 -9
- package/theme/style-scope.d.ts +11 -11
- package/theme/theme-color.d.ts +0 -1
- package/theme/theme-contract.d.ts +4 -4
- package/theme/theme-tokens.d.ts +36 -36
- package/types/publish.d.ts +1 -3
- package/types/store/index.d.ts +0 -12
- package/types/store/marker.d.ts +5 -5
- package/types/store/signal.d.ts +1 -2
- package/types/store/ui.d.ts +3 -8
- package/types/store.d.ts +0 -12
- package/utils/array.d.ts +0 -18
- package/utils/cursor.d.ts +1 -1
- package/utils/frequency.d.ts +0 -48
- package/utils/frequencyCalculation.d.ts +0 -139
- package/utils/index.d.ts +0 -9
- package/utils/object.d.ts +0 -9
- package/utils/series/events.d.ts +7 -29
- package/utils/series/index.d.ts +0 -53
- package/utils/series/modes.d.ts +0 -25
- package/utils/series/subscription.d.ts +0 -30
- package/utils/subscription.d.ts +0 -5
- package/utils/throttle.d.ts +0 -26
- package/utils/time.d.ts +0 -20
|
@@ -1,174 +1,35 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 频率计算工具包
|
|
3
|
-
*
|
|
4
|
-
* 提供统一的频率范围、索引计算、位置计算等功能
|
|
5
|
-
* 用于 StationAllocation、FrequencyAllocation、Signal 等组件的核心计算逻辑
|
|
6
|
-
*/
|
|
7
1
|
import type { SegmentType } from '../types';
|
|
8
|
-
/**
|
|
9
|
-
* 频率范围(起止频率)
|
|
10
|
-
*/
|
|
11
2
|
export interface FrequencyRange {
|
|
12
|
-
/** 起始频率 (MHz) */
|
|
13
3
|
startFreq: number;
|
|
14
|
-
/** 结束频率 (MHz) */
|
|
15
4
|
stopFreq: number;
|
|
16
5
|
}
|
|
17
|
-
/**
|
|
18
|
-
* 频率范围输入(支持两种格式)
|
|
19
|
-
*/
|
|
20
6
|
export interface FrequencyRangeInput {
|
|
21
|
-
/** 格式1: 中心频率 (MHz) */
|
|
22
7
|
frequency?: number;
|
|
23
|
-
/** 格式1: 带宽 (kHz) */
|
|
24
8
|
bandwidth?: number;
|
|
25
|
-
/** 格式2: 起始频率 (MHz) */
|
|
26
9
|
startFrequency?: number;
|
|
27
|
-
/** 格式2: 结束频率 (MHz) */
|
|
28
10
|
stopFrequency?: number;
|
|
29
11
|
}
|
|
30
|
-
/**
|
|
31
|
-
* 索引范围
|
|
32
|
-
*/
|
|
33
12
|
export interface IndexRange {
|
|
34
|
-
/** 起始索引 */
|
|
35
13
|
startIndex: number;
|
|
36
|
-
/** 结束索引 */
|
|
37
14
|
stopIndex: number;
|
|
38
15
|
}
|
|
39
|
-
/**
|
|
40
|
-
* 位置信息(百分比)
|
|
41
|
-
*/
|
|
42
16
|
export interface Position {
|
|
43
|
-
/** 左侧位置 (%) */
|
|
44
17
|
left: number;
|
|
45
|
-
/** 宽度 (%) */
|
|
46
18
|
width: number;
|
|
47
19
|
}
|
|
48
|
-
/**
|
|
49
|
-
* 当前光标位置信息
|
|
50
|
-
*/
|
|
51
20
|
export interface CursorPosition {
|
|
52
|
-
/** 所在段索引 */
|
|
53
21
|
segmentIndex: number;
|
|
54
|
-
/** 段内点索引 */
|
|
55
22
|
pointIndex: number;
|
|
56
23
|
}
|
|
57
|
-
/**
|
|
58
|
-
* 精确搜索范围(前后各 5 个点)
|
|
59
|
-
* 用于在 frequencyCache 中精确查找最接近的索引
|
|
60
|
-
*/
|
|
61
24
|
export declare const SEARCH_RANGE = 5;
|
|
62
|
-
/**
|
|
63
|
-
* Active 判断容差(前后各 2 个点)
|
|
64
|
-
* 用于处理 left 步进跳跃时的窄带检测
|
|
65
|
-
*/
|
|
66
25
|
export declare const ACTIVE_TOLERANCE = 2;
|
|
67
|
-
/**
|
|
68
|
-
* 计算频率范围
|
|
69
|
-
*
|
|
70
|
-
* 支持两种输入格式:
|
|
71
|
-
* 1. frequency + bandwidth (中心频率 + 带宽)
|
|
72
|
-
* 2. startFrequency + stopFrequency (起止频率)
|
|
73
|
-
*
|
|
74
|
-
* @param input 频率范围输入
|
|
75
|
-
* @returns 频率范围(起止频率,单位 MHz)
|
|
76
|
-
*
|
|
77
|
-
* @example
|
|
78
|
-
* // 格式1: 中心频率 + 带宽
|
|
79
|
-
* calculateFrequencyRange({ frequency: 100, bandwidth: 20 })
|
|
80
|
-
* // => { startFreq: 99.99, stopFreq: 100.01 }
|
|
81
|
-
*
|
|
82
|
-
* // 格式2: 起止频率
|
|
83
|
-
* calculateFrequencyRange({ startFrequency: 99.99, stopFrequency: 100.01 })
|
|
84
|
-
* // => { startFreq: 99.99, stopFreq: 100.01 }
|
|
85
|
-
*/
|
|
86
26
|
export declare function calculateFrequencyRange(input: FrequencyRangeInput): FrequencyRange | null;
|
|
87
|
-
/**
|
|
88
|
-
* 计算初步索引范围(粗略计算)
|
|
89
|
-
*
|
|
90
|
-
* 基于频率范围和 segment 信息,计算初步的索引范围
|
|
91
|
-
*
|
|
92
|
-
* @param range 频率范围
|
|
93
|
-
* @param segment 段信息
|
|
94
|
-
* @returns 初步索引范围
|
|
95
|
-
*/
|
|
96
27
|
export declare function calculateRoughIndexRange(range: FrequencyRange, segment: SegmentType): IndexRange;
|
|
97
|
-
/**
|
|
98
|
-
* 精确查找索引范围
|
|
99
|
-
*
|
|
100
|
-
* 使用 frequencyCache 在粗略索引附近精确搜索,找到最接近的索引
|
|
101
|
-
*
|
|
102
|
-
* @param range 频率范围
|
|
103
|
-
* @param segment 段信息
|
|
104
|
-
* @param searchRange 搜索范围(默认 5)
|
|
105
|
-
* @returns 精确索引范围
|
|
106
|
-
*/
|
|
107
28
|
export declare function findPreciseIndexRange(range: FrequencyRange, segment: SegmentType, searchRange?: number): IndexRange;
|
|
108
|
-
/**
|
|
109
|
-
* 从索引范围计算位置信息
|
|
110
|
-
*
|
|
111
|
-
* 将索引范围转换为百分比位置和宽度
|
|
112
|
-
*
|
|
113
|
-
* @param indexRange 索引范围
|
|
114
|
-
* @param segment 段信息
|
|
115
|
-
* @returns 位置信息(百分比)
|
|
116
|
-
*/
|
|
117
29
|
export declare function calculatePositionFromIndex(indexRange: IndexRange, segment: SegmentType): Position;
|
|
118
|
-
/**
|
|
119
|
-
* 从频率范围直接计算位置(一步到位)
|
|
120
|
-
*
|
|
121
|
-
* 组合上述函数,从频率范围直接计算出精确的位置和索引
|
|
122
|
-
*
|
|
123
|
-
* @param range 频率范围
|
|
124
|
-
* @param segment 段信息
|
|
125
|
-
* @returns 位置信息和索引范围
|
|
126
|
-
*/
|
|
127
30
|
export declare function calculatePositionFromFrequencyRange(range: FrequencyRange, segment: SegmentType): Position & IndexRange;
|
|
128
|
-
/**
|
|
129
|
-
* 计算当前光标位置
|
|
130
|
-
*
|
|
131
|
-
* 从 left(百分比)计算当前所在的 segment 和 segment 内的 point 索引
|
|
132
|
-
*
|
|
133
|
-
* @param left 光标位置(百分比 0-100)
|
|
134
|
-
* @param segments 所有段信息
|
|
135
|
-
* @returns 光标位置信息
|
|
136
|
-
*/
|
|
137
31
|
export declare function calculateCursorPosition(left: number, segments: SegmentType[]): CursorPosition;
|
|
138
|
-
/**
|
|
139
|
-
* 根据当前光标段位和点索引,获取内部命中使用的精确频率。
|
|
140
|
-
*
|
|
141
|
-
* 注意:
|
|
142
|
-
* - 这里返回的是基于 frequencyCache 的采样频率,不是展示层格式化后的字符串
|
|
143
|
-
* - 用于 hover / active 命中,可以避免展示格式化或索引换算差异带来的误判
|
|
144
|
-
*/
|
|
145
32
|
export declare function getCursorFrequencyAtPosition(segments: SegmentType[], position: CursorPosition): number;
|
|
146
|
-
/**
|
|
147
|
-
* 判断光标是否在频率范围内(使用索引 + 容差)
|
|
148
|
-
*
|
|
149
|
-
* 使用索引范围判断,支持容差(用于处理 left 步进跳跃)
|
|
150
|
-
*
|
|
151
|
-
* @param cursorPointIndex 光标在段内的点索引
|
|
152
|
-
* @param indexRange 目标频率范围的索引
|
|
153
|
-
* @param tolerance 容差(默认 2)
|
|
154
|
-
* @returns 是否在范围内
|
|
155
|
-
*/
|
|
156
33
|
export declare function isInRangeByIndex(cursorPointIndex: number, indexRange: IndexRange, tolerance?: number): boolean;
|
|
157
|
-
/**
|
|
158
|
-
* 判断光标是否在频率范围内(使用频率)
|
|
159
|
-
*
|
|
160
|
-
* 直接使用频率值判断(兜底方案)
|
|
161
|
-
*
|
|
162
|
-
* @param currentFrequency 当前频率
|
|
163
|
-
* @param range 目标频率范围
|
|
164
|
-
* @returns 是否在范围内
|
|
165
|
-
*/
|
|
166
34
|
export declare function isInRangeByFrequency(currentFrequency: number, range: FrequencyRange): boolean;
|
|
167
|
-
/**
|
|
168
|
-
* 判断频率范围是否与 segment 有交集
|
|
169
|
-
*
|
|
170
|
-
* @param range 频率范围
|
|
171
|
-
* @param segment 段信息
|
|
172
|
-
* @returns 是否有交集
|
|
173
|
-
*/
|
|
174
35
|
export declare function isRangeIntersectSegment(range: FrequencyRange, segment: SegmentType): boolean;
|
package/utils/index.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 工具函数统一导出
|
|
3
|
-
*/
|
|
4
1
|
import type { TimestampedFloat32Array } from '@rfkit/spectrum-analyzer';
|
|
5
2
|
export * from './array';
|
|
6
3
|
export * from './cursor';
|
|
@@ -9,11 +6,5 @@ export * from './frequencyCalculation';
|
|
|
9
6
|
export * from './object';
|
|
10
7
|
export * from './throttle';
|
|
11
8
|
export * from './time';
|
|
12
|
-
/**
|
|
13
|
-
* GUID 生成
|
|
14
|
-
*/
|
|
15
9
|
export declare const createGUID: () => string;
|
|
16
|
-
/**
|
|
17
|
-
* 将原始数据转换为带时间戳的 Float32Array 数组
|
|
18
|
-
*/
|
|
19
10
|
export declare const convertToTimestampedArrays: (data: number[][], timestamps?: Array<string>) => TimestampedFloat32Array[];
|
package/utils/object.d.ts
CHANGED
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 对象操作工具函数
|
|
3
|
-
*/
|
|
4
1
|
import type { RecursiveObject } from '../types';
|
|
5
|
-
/**
|
|
6
|
-
* 混合对象 - 将参数对象合并到源对象副本中
|
|
7
|
-
* @param source 源对象
|
|
8
|
-
* @param params 要混合的参数
|
|
9
|
-
* @returns 混合后的对象
|
|
10
|
-
*/
|
|
11
2
|
export declare const mergeObjects: <T extends RecursiveObject>(source: T, params: RecursiveObject) => T;
|
package/utils/series/events.d.ts
CHANGED
|
@@ -1,25 +1,15 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Series 事件系统
|
|
3
|
-
* 提供通用的发布-订阅机制,支持 React 组件和普通 JS 模块
|
|
4
|
-
*/
|
|
5
1
|
import type { GraphicType } from '@rfkit/renderer';
|
|
6
2
|
import type { SeriesConfig } from './index';
|
|
7
3
|
import type { ModeConfig, SeriesMode } from './modes';
|
|
8
|
-
/**
|
|
9
|
-
* Series 事件名称常量
|
|
10
|
-
*/
|
|
11
4
|
export declare const SeriesEventName: {
|
|
12
|
-
readonly UPDATED:
|
|
13
|
-
readonly ADDED:
|
|
14
|
-
readonly REMOVED:
|
|
15
|
-
readonly MODE_CHANGED:
|
|
16
|
-
readonly TYPE_OVERRIDE_CHANGED:
|
|
17
|
-
readonly BATCH_UPDATED:
|
|
18
|
-
readonly RESET:
|
|
5
|
+
readonly UPDATED: 'series:updated';
|
|
6
|
+
readonly ADDED: 'series:added';
|
|
7
|
+
readonly REMOVED: 'series:removed';
|
|
8
|
+
readonly MODE_CHANGED: 'series:mode-changed';
|
|
9
|
+
readonly TYPE_OVERRIDE_CHANGED: 'series:type-override-changed';
|
|
10
|
+
readonly BATCH_UPDATED: 'series:batch-updated';
|
|
11
|
+
readonly RESET: 'series:reset';
|
|
19
12
|
};
|
|
20
|
-
/**
|
|
21
|
-
* Series 事件名称类型
|
|
22
|
-
*/
|
|
23
13
|
export type SeriesEventNameType = (typeof SeriesEventName)[keyof typeof SeriesEventName];
|
|
24
14
|
export interface SeriesEvents {
|
|
25
15
|
[SeriesEventName.UPDATED]: {
|
|
@@ -56,21 +46,9 @@ export interface SeriesEvents {
|
|
|
56
46
|
}
|
|
57
47
|
export type EventListener<T = unknown> = (data: T) => void;
|
|
58
48
|
export declare const seriesEvents: {
|
|
59
|
-
/**
|
|
60
|
-
* 订阅事件
|
|
61
|
-
*/
|
|
62
49
|
on: <K extends keyof SeriesEvents>(event: K, listener: EventListener<SeriesEvents[K]>) => () => void;
|
|
63
|
-
/**
|
|
64
|
-
* 发布事件
|
|
65
|
-
*/
|
|
66
50
|
emit: <K extends keyof SeriesEvents>(event: K, data: SeriesEvents[K]) => void;
|
|
67
|
-
/**
|
|
68
|
-
* 移除监听器
|
|
69
|
-
*/
|
|
70
51
|
removeAllListeners: (event?: keyof SeriesEvents) => void;
|
|
71
|
-
/**
|
|
72
|
-
* 获取监听器数量
|
|
73
|
-
*/
|
|
74
52
|
getListenerCount: (event: keyof SeriesEvents) => number;
|
|
75
53
|
};
|
|
76
54
|
export declare function subscribeToSeries<K extends keyof SeriesEvents>(globalID: string, event: K, listener: EventListener<SeriesEvents[K]>): () => void;
|
package/utils/series/index.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { GraphicType } from '@rfkit/renderer';
|
|
2
2
|
import { type SeriesConfig as ExternalSeriesConfig, SeriesManager } from '@rfkit/spectrum-analyzer';
|
|
3
|
-
/**
|
|
4
|
-
* 本地 SeriesConfig 类型定义
|
|
5
|
-
*/
|
|
6
3
|
export interface SeriesConfig {
|
|
7
4
|
name: string;
|
|
8
5
|
label: string;
|
|
@@ -11,73 +8,23 @@ export interface SeriesConfig {
|
|
|
11
8
|
display: boolean;
|
|
12
9
|
type: GraphicType;
|
|
13
10
|
}
|
|
14
|
-
/**
|
|
15
|
-
* 部分更新 SeriesConfig 类型定义
|
|
16
|
-
* 只有 name 是必需的,其他字段都是可选的
|
|
17
|
-
*/
|
|
18
11
|
export type PartialSeriesConfig = Partial<SeriesConfig> & {
|
|
19
12
|
name: string;
|
|
20
13
|
};
|
|
21
|
-
/**
|
|
22
|
-
* 设置 ChartType 特定的 series 类型覆盖
|
|
23
|
-
* @param globalID
|
|
24
|
-
* @param seriesName series 名称
|
|
25
|
-
* @param type 要覆盖的类型
|
|
26
|
-
*/
|
|
27
14
|
export declare function setChartTypeSeriesOverride(globalID: string, seriesName: string, type: GraphicType): void;
|
|
28
|
-
/**
|
|
29
|
-
* 清除 ChartType 特定的类型覆盖
|
|
30
|
-
*/
|
|
31
15
|
export declare function clearChartTypeSeriesOverrides(globalID: string): void;
|
|
32
|
-
/**
|
|
33
|
-
* 获取 ChartType 特定的 series 类型覆盖
|
|
34
|
-
* @param globalID
|
|
35
|
-
* @param seriesName series 名称
|
|
36
|
-
* @returns 覆盖的类型,如果没有则返回 undefined
|
|
37
|
-
*/
|
|
38
16
|
export declare function getChartTypeSeriesOverride(globalID: string, seriesName: string): GraphicType | undefined;
|
|
39
|
-
/**
|
|
40
|
-
* 获取正确的 series 类型(统一的类型优先级计算)
|
|
41
|
-
* 优先级:ChartType 覆盖 > 特殊类型(templateData) > SeriesMode 配置 > 默认 Line
|
|
42
|
-
*
|
|
43
|
-
* @param globalID 全局 ID
|
|
44
|
-
* @param seriesName series 名称
|
|
45
|
-
* @returns 正确的 GraphicType
|
|
46
|
-
*/
|
|
47
17
|
export declare function getCorrectSeriesType(globalID: string, seriesName: string): GraphicType;
|
|
48
18
|
export { type ModeConfig, SeriesMode, type SeriesModesConfig } from './modes';
|
|
49
19
|
export type { ExternalSeriesConfig };
|
|
50
|
-
/**
|
|
51
|
-
* 获取 SeriesManager 实例
|
|
52
|
-
*/
|
|
53
20
|
export declare function getSeriesManager(globalID: string): SeriesManager;
|
|
54
|
-
/**
|
|
55
|
-
* 销毁 SeriesManager
|
|
56
|
-
*/
|
|
57
21
|
export declare function destroySeriesManager(globalID: string): void;
|
|
58
|
-
/**
|
|
59
|
-
* 检查是否存在 SeriesManager
|
|
60
|
-
*/
|
|
61
22
|
export declare function hasSeriesManager(globalID: string): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* 获取 series 数据映射
|
|
64
|
-
*/
|
|
65
23
|
export declare function getSeriesMap(globalID: string): Map<string, SeriesConfig>;
|
|
66
24
|
export declare function updateSeries(globalID: string, config: PartialSeriesConfig): void;
|
|
67
|
-
/**
|
|
68
|
-
* 重置 series
|
|
69
|
-
*/
|
|
70
25
|
export declare function resetSeries(globalID: string): void;
|
|
71
|
-
/**
|
|
72
|
-
* 批量更新 series
|
|
73
|
-
* 注意:只发布一次 BATCH_UPDATED 事件,避免重复触发
|
|
74
|
-
*/
|
|
75
26
|
export declare function batchUpdateSeries(globalID: string, configs: PartialSeriesConfig[]): void;
|
|
76
27
|
export * from './events';
|
|
77
28
|
export * from './modes';
|
|
78
29
|
export * from './subscription';
|
|
79
|
-
/**
|
|
80
|
-
* 获取带有正确 GraphicType 的 series 配置
|
|
81
|
-
* 使用统一的类型优先级计算
|
|
82
|
-
*/
|
|
83
30
|
export declare function getSeriesWithGraphicType(globalID: string): Map<string, SeriesConfig>;
|
package/utils/series/modes.d.ts
CHANGED
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Series 模式管理
|
|
3
|
-
* 集成新的事件系统,支持通用的订阅机制
|
|
4
|
-
*/
|
|
5
1
|
import { GraphicType } from '@rfkit/renderer';
|
|
6
|
-
/**
|
|
7
|
-
* 显示模式类型
|
|
8
|
-
*/
|
|
9
2
|
export declare enum SeriesMode {
|
|
10
3
|
Line = "line",
|
|
11
4
|
StepLine = "stepline",
|
|
12
5
|
Bar = "bar",
|
|
13
6
|
Area = "area"
|
|
14
7
|
}
|
|
15
|
-
/**
|
|
16
|
-
* 模式配置接口
|
|
17
|
-
*/
|
|
18
8
|
export interface ModeConfig {
|
|
19
9
|
name: string;
|
|
20
10
|
label: string;
|
|
@@ -24,25 +14,10 @@ export interface ModeConfig {
|
|
|
24
14
|
maxData: GraphicType;
|
|
25
15
|
avgData: GraphicType;
|
|
26
16
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Series 模式配置类型
|
|
29
|
-
*/
|
|
30
17
|
export type SeriesModesConfig = Record<SeriesMode, ModeConfig>;
|
|
31
18
|
export declare const SERIES_MODES: SeriesModesConfig;
|
|
32
|
-
/**
|
|
33
|
-
* 获取 Series 模式
|
|
34
|
-
*/
|
|
35
19
|
export declare function getSeriesMode(globalID: string): SeriesMode;
|
|
36
20
|
export declare function getNextMode(currentMode: SeriesMode): SeriesMode;
|
|
37
|
-
/**
|
|
38
|
-
* 设置 Series 模式
|
|
39
|
-
*/
|
|
40
21
|
export declare function setSeriesMode(globalID: string, mode: SeriesMode): void;
|
|
41
|
-
/**
|
|
42
|
-
* 切换到下一个 Series 模式
|
|
43
|
-
*/
|
|
44
22
|
export declare function toggleSeriesMode(globalID: string, currentMode?: SeriesMode): void;
|
|
45
|
-
/**
|
|
46
|
-
* 清除指定 globalID 的模式
|
|
47
|
-
*/
|
|
48
23
|
export declare function clearSeriesMode(globalID: string): void;
|
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Series 订阅工具
|
|
3
|
-
* 提供可复用的 series 事件订阅函数
|
|
4
|
-
*/
|
|
5
1
|
import { type SeriesConfig } from './index';
|
|
6
|
-
/**
|
|
7
|
-
* Series 渲染器接口
|
|
8
|
-
* 定义渲染器必须实现的方法
|
|
9
|
-
*/
|
|
10
2
|
export interface SeriesRenderer {
|
|
11
3
|
state: {
|
|
12
4
|
globalID?: string;
|
|
@@ -18,26 +10,4 @@ export interface SeriesRenderer {
|
|
|
18
10
|
setSeries: (config: SeriesConfig, skipEvent?: boolean) => void;
|
|
19
11
|
initSeries: () => void;
|
|
20
12
|
}
|
|
21
|
-
/**
|
|
22
|
-
* 初始化 Series 事件订阅
|
|
23
|
-
*
|
|
24
|
-
* @param renderer 渲染器实例(必须实现 SeriesRenderer 接口)
|
|
25
|
-
* @returns 取消订阅函数
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* class MyRender implements SeriesRenderer {
|
|
30
|
-
* private seriesUnsubscribe: (() => void) | null = null;
|
|
31
|
-
*
|
|
32
|
-
* constructor(props: any) {
|
|
33
|
-
* this.state = { chart: null, globalID: props.globalID };
|
|
34
|
-
* this.seriesUnsubscribe = initSeriesSubscription(this);
|
|
35
|
-
* }
|
|
36
|
-
*
|
|
37
|
-
* destroy() {
|
|
38
|
-
* this.seriesUnsubscribe?.();
|
|
39
|
-
* }
|
|
40
|
-
* }
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
13
|
export declare function initSeriesSubscription(renderer: SeriesRenderer): (() => void) | null;
|
package/utils/subscription.d.ts
CHANGED
|
@@ -18,11 +18,6 @@ interface RuntimeOwners {
|
|
|
18
18
|
[owner: string]: RuntimeOwnerRecord;
|
|
19
19
|
}
|
|
20
20
|
export declare function openData<T = unknown>(key: string, data: T | undefined, defaultData: T, owner?: string): T;
|
|
21
|
-
/**
|
|
22
|
-
* 共享订阅
|
|
23
|
-
* Note: Using any[] for callback args since this is a generic pub/sub system
|
|
24
|
-
* that can be called with various argument types across the codebase.
|
|
25
|
-
*/
|
|
26
21
|
export type CSMCallback<Return = void> = (...args: any[]) => Return;
|
|
27
22
|
interface Subscription {
|
|
28
23
|
[key: string]: CSMCallback;
|
package/utils/throttle.d.ts
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 节流与防抖工具函数
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* 节流函数
|
|
6
|
-
* @param func 需要节流的函数
|
|
7
|
-
* @param wait 等待时间(毫秒),默认 1000/30
|
|
8
|
-
*/
|
|
9
1
|
export declare function throttle<T extends unknown[]>(func?: (...arg: T) => void, wait?: number): (...arg: T) => void;
|
|
10
2
|
interface EventSnapshot {
|
|
11
3
|
currentTarget: EventTarget | null;
|
|
@@ -25,28 +17,10 @@ interface ReactLikeEvent {
|
|
|
25
17
|
clientY?: number;
|
|
26
18
|
buttons?: number;
|
|
27
19
|
}
|
|
28
|
-
/**
|
|
29
|
-
* 基于 requestAnimationFrame 的节流函数
|
|
30
|
-
* @param func 需要节流的函数
|
|
31
|
-
*/
|
|
32
20
|
export declare function throttleRequestAnimationFrame<T = unknown>(func?: (e?: T | EventSnapshot) => void): (e?: T | ReactLikeEvent) => void;
|
|
33
|
-
/**
|
|
34
|
-
* 基于定时器的节流函数
|
|
35
|
-
* @param func 需要节流的函数
|
|
36
|
-
* @param wait 等待时间(毫秒)
|
|
37
|
-
*/
|
|
38
21
|
export declare function throttleTimer<T = unknown>(func?: (e?: T) => void, wait?: number): (e?: T) => void;
|
|
39
|
-
/**
|
|
40
|
-
* 防抖函数
|
|
41
|
-
* @param fn 需要防抖的函数
|
|
42
|
-
* @param delay 延迟时间(毫秒)
|
|
43
|
-
* @returns 带有 cancel 方法的防抖函数
|
|
44
|
-
*/
|
|
45
22
|
export declare const debounce: <T extends (...args: unknown[]) => unknown>(fn: T, delay?: number) => ((...args: Parameters<T>) => void) & {
|
|
46
23
|
cancel: () => void;
|
|
47
24
|
};
|
|
48
|
-
/**
|
|
49
|
-
* 基于 requestAnimationFrame 的防抖函数,适合视觉更新相关操作
|
|
50
|
-
*/
|
|
51
25
|
export declare function debounceRequestAnimationFrame<T extends unknown[]>(func?: (...args: T) => void): (...args: T) => void;
|
|
52
26
|
export {};
|
package/utils/time.d.ts
CHANGED
|
@@ -1,27 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 时间处理工具函数
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* 时间戳格式化选项
|
|
6
|
-
*/
|
|
7
1
|
export interface TimestampFormatOptions {
|
|
8
2
|
dateSeparator?: string;
|
|
9
3
|
timeSeparator?: string;
|
|
10
4
|
timeOnly?: boolean;
|
|
11
5
|
}
|
|
12
|
-
/**
|
|
13
|
-
* 格式化时间戳为字符串
|
|
14
|
-
* @param input 时间戳或 Date 对象
|
|
15
|
-
* @param options 格式化选项
|
|
16
|
-
* @returns 格式化后的时间字符串
|
|
17
|
-
*/
|
|
18
6
|
export declare const formatTimestamp: (input?: number | Date, options?: TimestampFormatOptions) => string;
|
|
19
|
-
/**
|
|
20
|
-
* 将日期时间字符串转换为时间戳
|
|
21
|
-
* @param dateTimeStr 日期时间字符串
|
|
22
|
-
* @param sep1 日期分隔符
|
|
23
|
-
* @param sep2 时间分隔符
|
|
24
|
-
* @param isTimeOnly 是否仅为时间字符串
|
|
25
|
-
* @returns 时间戳(毫秒)
|
|
26
|
-
*/
|
|
27
7
|
export declare const dateTimeToTimestamp: (dateTimeStr: unknown, sep1?: string, sep2?: string, isTimeOnly?: boolean) => number;
|