2 Commits

Author SHA1 Message Date
李启源
faa9695bc0 chore(deps): 调整组件运行时依赖
All checks were successful
Package component / package (push) Successful in 4m15s
2026-07-23 13:21:04 +08:00
李启源
f102e9c661 fix(tooltip): 保持数值与单位单行显示
All checks were successful
Package component / package (push) Successful in 2m52s
2026-07-23 11:59:27 +08:00
4 changed files with 49 additions and 19 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "waveform-analysis",
"version": "0.1.18",
"version": "0.1.20",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/types/index.d.ts",
@@ -34,11 +34,14 @@
"test": "vitest run",
"test:coverage": "vitest run --coverage"
},
"dependencies": {
"d3": "^7.9.0",
"vue3-colorpicker": "^2.3.0",
"ant-design-vue": "4.2.6"
},
"peerDependencies": {
"ant-design-vue": ">=3.2.20 <4",
"d3": ">=7.9.0 <8",
"vue": ">=3.2.33 <4",
"vue3-colorpicker": ">=2.3.0 <3"
"vue": ">=3.2.33 <4"
},
"devDependencies": {
"@eslint/js": "10.0.1",
@@ -47,8 +50,6 @@
"@vitejs/plugin-vue": "6.0.8",
"@vitest/coverage-v8": "4.1.10",
"@vue/test-utils": "2.4.11",
"ant-design-vue": "4.2.6",
"d3": "7.9.0",
"eslint": "10.7.0",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-vue": "10.9.2",
@@ -60,7 +61,6 @@
"vite": "8.1.5",
"vitest": "4.1.10",
"vue": "3.5.40",
"vue-tsc": "3.3.7",
"vue3-colorpicker": "2.3.0"
"vue-tsc": "3.3.7"
}
}

19
pnpm-lock.yaml generated
View File

@@ -7,6 +7,16 @@ settings:
importers:
.:
dependencies:
ant-design-vue:
specifier: 4.2.6
version: 4.2.6(vue@3.5.40(typescript@6.0.3))
d3:
specifier: ^7.9.0
version: 7.9.0
vue3-colorpicker:
specifier: ^2.3.0
version: 2.3.0(@aesoper/normal-utils@0.1.5)(@popperjs/core@2.11.8)(@vueuse/core@10.11.1(vue@3.5.40(typescript@6.0.3)))(gradient-parser@1.2.0)(lodash-es@4.18.1)(tinycolor2@1.6.0)(vue-types@4.2.1(vue@3.5.40(typescript@6.0.3)))(vue@3.5.40(typescript@6.0.3))
devDependencies:
'@eslint/js':
specifier: 10.0.1
@@ -26,12 +36,6 @@ importers:
'@vue/test-utils':
specifier: 2.4.11
version: 2.4.11(@vue/compiler-dom@3.5.40)(@vue/server-renderer@3.5.40)(vue@3.5.40(typescript@6.0.3))
ant-design-vue:
specifier: 4.2.6
version: 4.2.6(vue@3.5.40(typescript@6.0.3))
d3:
specifier: 7.9.0
version: 7.9.0
eslint:
specifier: 10.7.0
version: 10.7.0
@@ -68,9 +72,6 @@ importers:
vue-tsc:
specifier: 3.3.7
version: 3.3.7(typescript@6.0.3)
vue3-colorpicker:
specifier: 2.3.0
version: 2.3.0(@aesoper/normal-utils@0.1.5)(@popperjs/core@2.11.8)(@vueuse/core@10.11.1(vue@3.5.40(typescript@6.0.3)))(gradient-parser@1.2.0)(lodash-es@4.18.1)(tinycolor2@1.6.0)(vue-types@4.2.1(vue@3.5.40(typescript@6.0.3)))(vue@3.5.40(typescript@6.0.3))
packages:

View File

@@ -66,6 +66,31 @@ describe('WaveformTooltip', () => {
expect(wrapper.get('.waveform-tooltip__series small').text()).toBe('(+2 / -1)')
})
it('keeps a formatted value and its unit in one value container', () => {
const hoveredPoint = { x: 1, y: -1405.4932 }
const wrapper = mount(WaveformTooltip, {
props: {
visible: true,
position: { x: 10, y: 10 },
timeUnit: 'ms',
hoveredPoint,
seriesPoints: [
{
trackIndex: 0,
name: 'ENG8KJXAc(10001)',
color: '#ffb43b',
unit: 'A',
point: hoveredPoint,
},
],
containerWidth: 400,
containerHeight: 300,
},
})
expect(wrapper.get('.waveform-tooltip__value').text()).toBe('-1,405.4932 A')
})
it('omits the error label when both resolved errors are zero', () => {
const point = { x: 1, y: 12 }
const wrapper = mount(WaveformTooltip, {

View File

@@ -77,7 +77,7 @@ function formatError(point: WaveformPoint): string | null {
>
<i :style="{ backgroundColor: seriesPoint.color }" />
<strong v-if="seriesPoint.name">{{ seriesPoint.name }}:</strong>
<span>
<span class="waveform-tooltip__value">
{{ formatTooltipNumber(seriesPoint.point.y)
}}{{ seriesPoint.unit ? ` ${seriesPoint.unit}` : '' }}
<small v-if="formatError(seriesPoint.point)">{{ formatError(seriesPoint.point) }}</small>
@@ -116,7 +116,7 @@ function formatError(point: WaveformPoint): string | null {
.waveform-tooltip__series {
display: grid;
grid-template-columns: 8px auto minmax(0, 1fr);
grid-template-columns: 8px minmax(0, 1fr) auto;
gap: 6px;
align-items: center;
}
@@ -134,6 +134,10 @@ function formatError(point: WaveformPoint): string | null {
white-space: nowrap;
}
.waveform-tooltip__value {
white-space: nowrap;
}
.waveform-tooltip__series small {
color: #667085;
white-space: nowrap;