waveform-analysis 0.1.36 → 0.1.38

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 (31) hide show
  1. package/README.md +34 -33
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +902 -806
  4. package/dist/style.css +1 -1
  5. package/dist/types/components/annotation/WaveformAnnotationEditor.vue.d.ts +4 -0
  6. package/dist/types/components/annotation/useWaveformChartAnnotations.d.ts +3 -1
  7. package/dist/types/components/core/constants.d.ts +3 -1
  8. package/dist/types/components/core/useWaveformChartController.d.ts +2 -0
  9. package/package.json +1 -1
  10. package/src/App.test.ts +4 -3
  11. package/src/App.vue +1 -1
  12. package/src/components/WaveformChartView.vue +10 -1
  13. package/src/components/annotation/WaveformAnnotationEditor.css +35 -104
  14. package/src/components/annotation/WaveformAnnotationEditor.vue +87 -37
  15. package/src/components/annotation/components.test.ts +134 -20
  16. package/src/components/annotation/markup.test.ts +18 -2
  17. package/src/components/annotation/markup.ts +33 -0
  18. package/src/components/annotation/useWaveformChartAnnotations.ts +53 -12
  19. package/src/components/core/constants.test.ts +29 -0
  20. package/src/components/core/constants.ts +31 -9
  21. package/src/components/waveformChartCases/annotationEditingAndReprojection.test.ts +13 -3
  22. package/src/components/waveformChartCases/dataAndHoverPerformance.test.ts +40 -0
  23. package/src/components/waveformChartCases/interactionAndAnnotationCreation.test.ts +24 -14
  24. package/src/components/waveformChartCases/legendVisibility.test.ts +44 -19
  25. package/src/components/waveformChartCases/multiAxisAndPagination.test.ts +29 -3
  26. package/src/components/waveformChartCases/presentationMode.test.ts +26 -5
  27. package/src/components/waveformChartCases/renderingStyles.test.ts +1 -1
  28. package/src/components/waveformChartCases/xDomainStrategy.test.ts +60 -0
  29. package/src/data/simulatedWaveforms.test.ts +7 -3
  30. package/src/data/simulatedWaveforms.ts +14 -1
  31. package/src/test/waveformChart.ts +12 -0
package/README.md CHANGED
@@ -96,37 +96,37 @@ const data = ref<WaveformData>({
96
96
 
97
97
  ### Props
98
98
 
99
- | Prop | 类型 | 默认值 | 说明 |
100
- | --------------------------------- | ------------------------------------------- | ------------------------------------------------------- | ---------------------------------- |
101
- | `data` | `WaveformData` | 必填 | 波形数据 |
102
- | `displayMode` | `'independent' \| 'separated' \| 'compact'` | `'independent'` | 图框布局 |
103
- | `overlayMode` | `'single-axis' \| 'multi-axis'` | `'single-axis'` | 叠加曲线的 Y 轴模式 |
104
- | `timeUnit` | `'s' \| 'ms'` | `'ms'` | 坐标轴和 tooltip 展示单位 |
105
- | `xLabel` / `yLabel` | `string` | `时间(timeUnit)` / `'幅值'` | 坐标轴名称 |
106
- | `lineColor` | `string` | `'#0960bd'` | 单波形默认颜色 |
107
- | `width` / `height` | `number` | 自适应 | 组件总尺寸,单位为 CSS 像素 |
108
- | `zoomable` / `showTooltip` | `boolean` | `true` / `true` | 缩放和数值 tooltip 开关 |
109
- | `pannable` | `boolean` | `false` | 空格拖拽平移开关 |
110
- | `minZoomSpan` | `number` | 未设置 | 最小缩放跨度,使用原始 X 数据单位 |
111
- | `minVisiblePoints` | `number` | `0` | 缩放后至少保留的不同 X 坐标数 |
112
- | `initialXDomain` | `[number, number]` | 未设置 | 所有图框的初始 X 范围 |
113
- | `initialXDomains` | `Record<string, [number, number]>` | 未设置 | 按 track/series ID 配置初始范围 |
114
- | `xDomainStrategy` | `WaveformXDomainStrategy` | `{ type: 'data' }` | 自动 X 轴视口范围策略 |
115
- | `yDomain` | `[number, number]` | 未设置 | 所有波形的固定 Y 轴范围 |
116
- | `yDomains` | `Record<string, [number, number]>` | 未设置 | 按 track/series ID 配置固定范围 |
117
- | `grid` | `WaveformGridOptions` | `{ rowCount: 2, columnCount: 1, showPagination: true }` | 网格和分页 |
118
- | `axes` | `WaveformAxesOptions` | 轴线均显示 | X/Y 轴基线显隐与 X 轴 label 格式化 |
119
- | `rendering` | `WaveformRenderingOptions` | `{}` | 降采样与点/误差棒间距 |
120
- | `title` / `legend` / `frameStyle` | 对应公开类型 | 未设置 | 标题、图例和图框样式 |
121
- | `frameNumber` | `string \| number` | 未设置 | 图框水印内容 |
122
- | `zeroLine` | `WaveformZeroLineOptions` | `{ visible: false }` | 零值参考线显隐与样式 |
123
- | `cleanView` | `boolean` | `false` | 保留波形、图框和刻度的净图模式 |
124
- | `presentationMode` | `boolean` | `false` | 禁用绘图区交互的展示模式 |
125
- | `annotations` | `WaveformAnnotation[]` | `[]` | 受控标注数据 |
126
- | `annotationsVisible` | `boolean` | `true` | 标注图层显隐 |
127
- | `interactionMode` | `'zoom' \| 'annotation'` | `'zoom'` | 左键交互模式 |
128
- | `hiddenSeriesIds` | `string[]` | 未设置 | 受控隐藏系列 ID |
129
- | `defaultHiddenSeriesIds` | `string[]` | `[]` | 非受控模式的初始隐藏系列 |
99
+ | Prop | 类型 | 默认值 | 说明 |
100
+ | --------------------------------- | ------------------------------------------- | ------------------------------------------------------- | --------------------------------------------- |
101
+ | `data` | `WaveformData` | 必填 | 波形数据 |
102
+ | `displayMode` | `'independent' \| 'separated' \| 'compact'` | `'independent'` | 图框布局 |
103
+ | `overlayMode` | `'single-axis' \| 'multi-axis'` | `'single-axis'` | 叠加曲线的 Y 轴模式 |
104
+ | `timeUnit` | `'s' \| 'ms'` | `'ms'` | 坐标轴和 tooltip 展示单位 |
105
+ | `xLabel` / `yLabel` | `string` | `时间(timeUnit)` / `'幅值'` | 坐标轴名称 |
106
+ | `lineColor` | `string` | `'#0960bd'` | 单波形默认颜色 |
107
+ | `width` / `height` | `number` | 自适应 | 组件总尺寸,单位为 CSS 像素 |
108
+ | `zoomable` / `showTooltip` | `boolean` | `true` / `true` | 缩放和数值 tooltip 开关 |
109
+ | `pannable` | `boolean` | `false` | 空格拖拽平移开关 |
110
+ | `minZoomSpan` | `number` | 未设置 | 最小缩放跨度,使用原始 X 数据单位 |
111
+ | `minVisiblePoints` | `number` | `0` | 缩放后至少保留的不同 X 坐标数 |
112
+ | `initialXDomain` | `[number, number]` | 未设置 | 所有图框的初始 X 范围(可超出数据,空白显示) |
113
+ | `initialXDomains` | `Record<string, [number, number]>` | 未设置 | 按 track/series ID 配置初始范围(可超出数据) |
114
+ | `xDomainStrategy` | `WaveformXDomainStrategy` | `{ type: 'data' }` | 自动 X 轴视口范围策略 |
115
+ | `yDomain` | `[number, number]` | 未设置 | 所有波形的固定 Y 轴范围 |
116
+ | `yDomains` | `Record<string, [number, number]>` | 未设置 | 按 track/series ID 配置固定范围 |
117
+ | `grid` | `WaveformGridOptions` | `{ rowCount: 2, columnCount: 1, showPagination: true }` | 网格和分页 |
118
+ | `axes` | `WaveformAxesOptions` | 轴线均显示 | X/Y 轴基线显隐与 X 轴 label 格式化 |
119
+ | `rendering` | `WaveformRenderingOptions` | `{}` | 降采样与点/误差棒间距 |
120
+ | `title` / `legend` / `frameStyle` | 对应公开类型 | 未设置 | 标题、图例和图框样式 |
121
+ | `frameNumber` | `string \| number` | 未设置 | 图框水印内容 |
122
+ | `zeroLine` | `WaveformZeroLineOptions` | `{ visible: false }` | 零值参考线显隐与样式 |
123
+ | `cleanView` | `boolean` | `false` | 保留波形、图框和刻度的净图模式 |
124
+ | `presentationMode` | `boolean` | `false` | 禁用绘图区交互的展示模式 |
125
+ | `annotations` | `WaveformAnnotation[]` | `[]` | 受控标注数据 |
126
+ | `annotationsVisible` | `boolean` | `true` | 标注图层显隐 |
127
+ | `interactionMode` | `'zoom' \| 'annotation'` | `'zoom'` | 左键交互模式 |
128
+ | `hiddenSeriesIds` | `string[]` | 未设置 | 受控隐藏系列 ID |
129
+ | `defaultHiddenSeriesIds` | `string[]` | `[]` | 非受控模式的初始隐藏系列 |
130
130
 
131
131
  所有公开类型均可从包入口导入,例如 `WaveformData`、`WaveformSeries`、
132
132
  `WaveformAnnotation`、`WaveformLineStyle`、`WaveformRenderingOptions`、
@@ -247,7 +247,7 @@ X 轴且包含多个轨道时使用按稳定 track ID 索引的 `yRanges`。平
247
247
  调用方应处理加载失败的情况(网络错误、超时等),并保持旧数据或显示加载状态。生产环境建议使用
248
248
  `AbortController` 取消过时的请求。
249
249
 
250
- `initialXDomain` 固定首次完整数据的 X 轴缩放边界,不要将它改成后端返回的当前窗口;独立图框有不同时间范围时,可通过
250
+ `initialXDomain` 固定首次及重置时的 X 轴视口范围,不要将它改成后端返回的当前窗口;范围可以超出数据的实际时间,超出部分保留空白。独立图框有不同时间范围时,可通过
251
251
  `initialXDomains` 按 track ID 或 series ID 分别配置。`minZoomSpan` 使用原始 X 数据单位,
252
252
  可防止每次区间数据回填后重新累计放大。双击图框会
253
253
  重置组件内部缩放并触发 `zoom-reset`;调用方应在事件中取消区间请求并恢复首次完整数据。
@@ -415,7 +415,8 @@ Demo 左侧控制面板提供标题实时预览,可配置标题名称、显隐
415
415
 
416
416
  ### 图例与曲线显隐
417
417
 
418
- `legend.backgroundColor` 设置多曲线图例的背景颜色。该字段接受任意有效 CSS 颜色值,
418
+ 每个图框独立管理自己的图例:图框内有两条或更多曲线时显示图例,只有一条曲线时不显示。
419
+ `legend.backgroundColor` 设置图例的背景颜色。该字段接受任意有效 CSS 颜色值,
419
420
  可通过 `rgba(...)` 或 `hsla(...)` 中的 alpha 通道调整透明度:
420
421
 
421
422
  ```vue