Skip to content

Commit 15498c8

Browse files
committed
fix: refactor
1 parent 54fab91 commit 15498c8

1 file changed

Lines changed: 17 additions & 19 deletions

File tree

app/components/Compare/FacetScatterChart.vue

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
VueUiScatter,
66
type VueUiScatterConfig,
77
type VueUiScatterDatasetItem,
8+
type VueUiScatterSeries,
89
} from 'vue-data-ui/vue-ui-scatter'
910
import { buildCompareScatterChartDataset } from '~/utils/compare-scatter-chart'
1011
import { loadFile, copyAltTextForCompareScatterChart } from '~/utils/charts'
@@ -285,6 +286,11 @@ function toggleAxisHighlight(state: AxisHighlight) {
285286
highlightedAxis.value = state
286287
}
287288
289+
function toggleLegendItem(legendItem: VueUiScatterSeries) {
290+
legendItem.segregate()
291+
legendItem.onEnter()
292+
}
293+
288294
const readyTeleport = shallowRef(false)
289295
290296
onMounted(async () => {
@@ -389,34 +395,26 @@ onMounted(async () => {
389395
: 'text-sm leading-6'
390396
"
391397
>
392-
<li v-for="datapoint in legend" :key="datapoint.name">
398+
<li v-for="legendItem in legend" :key="legendItem.name">
393399
<button
394-
:aria-pressed="datapoint.isSegregated"
395-
:aria-label="datapoint.name"
400+
:aria-pressed="legendItem.isSegregated"
401+
:aria-label="legendItem.name"
396402
type="button"
397403
class="flex gap-1.5 place-items-center"
398-
:class="{
399-
'hover:underline': !datapoint.isSegregated,
400-
'line-through': datapoint.isSegregated,
401-
}"
402-
@click="
403-
() => {
404-
datapoint.segregate()
405-
datapoint.onEnter()
406-
}
407-
"
408-
@mouseenter="datapoint.onEnter()"
409-
@mouseleave="datapoint.onLeave()"
410-
@focus="datapoint.onEnter()"
411-
@blur="datapoint.onLeave()"
404+
:class="legendItem.isSegregated ? 'line-through' : 'hover:underline'"
405+
@click="() => toggleLegendItem(legendItem)"
406+
@mouseenter="legendItem.onEnter()"
407+
@mouseleave="legendItem.onLeave()"
408+
@focus="legendItem.onEnter()"
409+
@blur="legendItem.onLeave()"
412410
>
413411
<div class="h-3 w-3" aria-hidden="true">
414412
<svg viewBox="0 0 2 2" class="w-full">
415-
<circle cx="1" cy="1" r="1" :fill="datapoint.color" />
413+
<circle cx="1" cy="1" r="1" :fill="legendItem.color" />
416414
</svg>
417415
</div>
418416
<span class="text-fg">
419-
{{ datapoint.name }}
417+
{{ legendItem.name }}
420418
</span>
421419
</button>
422420
</li>

0 commit comments

Comments
 (0)