Files
waveform-analysis/src/components/WaveformChart.vue

44 lines
1.2 KiB
Vue
Raw Normal View History

2026-07-20 10:21:30 +08:00
<script setup lang="ts">
import { useWaveformChartController } from './core/useWaveformChartController'
2026-07-24 16:10:02 +08:00
import type {
ResolvedWaveformChartProps,
WaveformChartEmit,
WaveformChartProps,
} from './core/waveformChartTypes'
import WaveformChartView from './WaveformChartView.vue'
const props = withDefaults(defineProps<WaveformChartProps>(), {
displayMode: 'independent',
overlayMode: 'single-axis',
yLabel: '幅值',
lineColor: '#0960bd',
showTooltip: true,
zoomable: true,
pannable: false,
minVisiblePoints: 0,
timeUnit: 'ms',
frameNumber: undefined,
annotations: () => [],
annotationsVisible: true,
interactionMode: undefined,
grid: () => ({ rowCount: 2, columnCount: 1, showPagination: true }),
rendering: () => ({}),
legend: () => ({ position: 'top-right', orientation: 'auto' }),
defaultHiddenSeriesIds: () => [],
cleanView: false,
zeroLine: () => ({ visible: false }),
})
const emit = defineEmits<WaveformChartEmit>()
const controller = useWaveformChartController(props as ResolvedWaveformChartProps, emit)
defineExpose({
resetViewport: controller.resetViewport,
2026-07-20 10:21:30 +08:00
})
</script>
<template>
<WaveformChartView :controller="controller" />
2026-07-20 10:21:30 +08:00
</template>
<style src="./WaveformChart.css"></style>