Skip to content

Commit 50b79c6

Browse files
committed
use labelPlacer for hovered and clicked lines
1 parent 5f2310e commit 50b79c6

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

src/lib/components/data-vis/line-chart/Lines.svelte

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,24 @@
2525
defaultLineParams,
2626
globalTierRules,
2727
chartBackgroundColor,
28+
nothingSelected,
2829
} = $props();
2930
3031
let bounds = $state([0, chartHeight]);
3132
3233
let transformed = $derived(
33-
tieredDataObject[lineHovered ? "hover" : "primary"].map((item) => {
34-
let lastY = yFunction(item.data[0].y);
35-
return { areaCode: item.areaCode, lastY };
36-
}),
34+
(nothingSelected
35+
? tieredDataObject.primary
36+
: [...(tieredDataObject.hover || []), ...(tieredDataObject.clicked || [])]
37+
)
38+
.filter(
39+
(item, index, self) =>
40+
self.findIndex((other) => other.areaCode === item.areaCode) === index,
41+
)
42+
.map((item) => ({
43+
areaCode: item.areaCode,
44+
lastY: yFunction(item.data[0].y),
45+
})),
3746
);
3847
3948
let labelsPlaced = $derived(
@@ -111,10 +120,10 @@
111120
112121
<g>
113122
{#each tieredDataObject[tier] as line, i}
114-
{#if (!lineHovered && tier === "primary") || (lineHovered && tier === "hover") || (line.areaCode == lineClicked && ["primary", "hover"].includes(tier))}
123+
{#if (tier == "primary" && nothingSelected) || ["hover", "clicked"].includes(tier)}
115124
{@render categoryLabelSnippet(
116125
line,
117-
labelsPlaced.find((el) => el.datum.areaCode === line.areaCode).y,
126+
labelsPlaced.find((el) => el.datum.areaCode === line.areaCode)?.y,
118127
)}
119128
{/if}
120129
{/each}

src/routes/playground/create-a-reactive-line-chart/local-lib/LineChart.svelte

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@
312312
{showAllData}
313313
{globalTierRules}
314314
{chartBackgroundColor}
315+
{nothingSelected}
315316
></Lines>
316317
</g>
317318
<g data-role="y-axis">

0 commit comments

Comments
 (0)