waveform-analysis 0.1.31 → 0.1.35
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 +26 -3
- package/dist/index.cjs +1 -1
- package/dist/index.js +430 -401
- package/dist/types/components/WaveformChart.vue.d.ts +3 -2
- package/dist/types/components/core/trackLayoutBuilder.d.ts +2 -1
- package/dist/types/components/core/useWaveformChartController.d.ts +1 -0
- package/dist/types/components/core/waveformChartTypes.d.ts +4 -3
- package/dist/types/components/core/xDomain.d.ts +3 -0
- package/dist/types/components/data/types.d.ts +1 -1
- package/dist/types/components/waveform.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types/chart.d.ts +15 -0
- package/dist/types/types/index.d.ts +1 -1
- package/package.json +1 -1
- package/src/components/WaveformChart.vue +1 -0
- package/src/components/core/trackLayoutBuilder.ts +19 -7
- package/src/components/core/useWaveformChartLifecycle.ts +1 -0
- package/src/components/core/useWaveformLayout.ts +19 -6
- package/src/components/core/waveformChartTypes.ts +5 -1
- package/src/components/core/xDomain.test.ts +28 -0
- package/src/components/core/xDomain.ts +25 -0
- package/src/components/data/types.ts +2 -0
- package/src/components/interaction/useWaveformViewport.ts +15 -1
- package/src/components/waveform.ts +1 -0
- package/src/components/waveformChartCases/viewportConstraintsAndReset.test.ts +0 -65
- package/src/components/waveformChartCases/viewportReset.test.ts +149 -0
- package/src/components/waveformChartCases/xDomainStrategy.test.ts +96 -0
- package/src/index.ts +2 -0
- package/src/types/chart.ts +17 -0
- package/src/types/index.ts +2 -0
package/README.md
CHANGED
|
@@ -111,6 +111,7 @@ const data = ref<WaveformData>({
|
|
|
111
111
|
| `minVisiblePoints` | `number` | `0` | 缩放后至少保留的不同 X 坐标数 |
|
|
112
112
|
| `initialXDomain` | `[number, number]` | 未设置 | 所有图框的初始 X 范围 |
|
|
113
113
|
| `initialXDomains` | `Record<string, [number, number]>` | 未设置 | 按 track/series ID 配置初始范围 |
|
|
114
|
+
| `xDomainStrategy` | `WaveformXDomainStrategy` | `{ type: 'data' }` | 自动 X 轴视口范围策略 |
|
|
114
115
|
| `yDomain` | `[number, number]` | 未设置 | 所有波形的固定 Y 轴范围 |
|
|
115
116
|
| `yDomains` | `Record<string, [number, number]>` | 未设置 | 按 track/series ID 配置固定范围 |
|
|
116
117
|
| `grid` | `WaveformGridOptions` | `{ rowCount: 2, columnCount: 1, showPagination: true }` | 网格和分页 |
|
|
@@ -129,7 +130,7 @@ const data = ref<WaveformData>({
|
|
|
129
130
|
|
|
130
131
|
所有公开类型均可从包入口导入,例如 `WaveformData`、`WaveformSeries`、
|
|
131
132
|
`WaveformAnnotation`、`WaveformLineStyle`、`WaveformRenderingOptions`、
|
|
132
|
-
`WaveformAxesOptions`、`WaveformXAxisLabelFormatter`、`WaveformZeroLineOptions`、
|
|
133
|
+
`WaveformAxesOptions`、`WaveformXAxisLabelFormatter`、`WaveformXDomainStrategy`、`WaveformZeroLineOptions`、
|
|
133
134
|
`WaveformGridOptions` 和 `WaveformGridTrackLines`。
|
|
134
135
|
|
|
135
136
|
### 数据结构
|
|
@@ -252,8 +253,30 @@ X 轴且包含多个轨道时使用按稳定 track ID 索引的 `yRanges`。平
|
|
|
252
253
|
重置组件内部缩放并触发 `zoom-reset`;调用方应在事件中取消区间请求并恢复首次完整数据。
|
|
253
254
|
外部重置按钮也可以通过模板引用调用组件公开的 `resetViewport()` 方法,然后执行相同的数据恢复逻辑。
|
|
254
255
|
|
|
256
|
+
没有显式配置初始范围时,可以通过 `xDomainStrategy` 将数据范围扩展为便于阅读的视口端点。
|
|
257
|
+
默认的 `{ type: 'data' }` 保持数据最小值和最大值不变;`type: 'nice'` 使用固定刻度数量计算
|
|
258
|
+
易读边界,且只扩展视口,不修改原始点位、tooltip、标注或缩放事件值:
|
|
259
|
+
|
|
260
|
+
```vue
|
|
261
|
+
<WaveformChart
|
|
262
|
+
:data="chartData"
|
|
263
|
+
:x-domain-strategy="{ type: 'nice', bounds: 'end', tickCount: 10, includeExplicit: true }"
|
|
264
|
+
/>
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
例如秒坐标数据范围为 `[0, 4.999999]` 且 `timeUnit='ms'` 时,上述配置会使用
|
|
268
|
+
`[0, 5]` 作为初始及重置视口,两端 label 显示 `0` 和 `5000`。`bounds: 'end'`
|
|
269
|
+
只扩展右端;默认的 `bounds: 'both'`
|
|
270
|
+
会同时扩展两端。`tickCount` 默认为 `10`,只参与边界计算,不随组件宽度变化。
|
|
271
|
+
`initialXDomains`、`initialXDomain` 的显式配置默认保持原值;仅当 `includeExplicit: true` 时
|
|
272
|
+
也应用 nice 扩展。独立模式在未配置显式范围时
|
|
273
|
+
按图框分别计算,共享 X 轴模式则合并所有可见图框后计算。所有范围仍使用原始秒坐标,
|
|
274
|
+
`timeUnit` 只影响显示。
|
|
275
|
+
|
|
255
276
|
独立坐标模式下,回填响应应只替换 `seriesIds` 对应的系列,并调用
|
|
256
|
-
`resetViewport(trackIndex)
|
|
277
|
+
`resetViewport(trackIndex)`;其他图框的数据和缩放状态应保持不变。独立模式下双击图框触发的
|
|
278
|
+
`zoom-reset` payload 会包含该图框的 `trackIndex` 和 `seriesIds`;共享 X 范围模式的 payload
|
|
279
|
+
不包含这两个字段,表示全局复位。忽略事件参数的既有监听器可以继续使用。
|
|
257
280
|
|
|
258
281
|
多通道数据应为每个 `WaveformSeries` 提供稳定的 `id`。内部时间坐标始终使用秒,
|
|
259
282
|
`timeUnit` 只控制坐标轴和 tooltip 的显示单位。
|
|
@@ -639,7 +662,7 @@ X 轴刻度和左右端点先按 `timeUnit` 转换为秒或毫秒,再显示为
|
|
|
639
662
|
| `point-hover` | 当前最近点变化时触发,离开图表时传入 `null` |
|
|
640
663
|
| `zoom-change` | 缩放过程中触发,参数为 `[start, end]` |
|
|
641
664
|
| `zoom-end` | 滚轮或框选结束后触发;`gesture` 区分二者,独立模式附带轨道信息 |
|
|
642
|
-
| `zoom-reset` |
|
|
665
|
+
| `zoom-reset` | 双击重置视口时触发;独立模式 payload 标识目标图框 |
|
|
643
666
|
| `page-change` | 分页变化,参数为当前页和总页数 |
|
|
644
667
|
| `series-visibility-change` | 图例切换曲线显隐时触发 |
|
|
645
668
|
| `annotation-create` / `annotation-update` / `annotation-delete` | 标注新增、更新或删除 |
|