From 8af672671005fe7caad406dc5e57545ca17dc1f0 Mon Sep 17 00:00:00 2001 From: vvvyyynet <63237439+vvvyyynet@users.noreply.github.com> Date: Mon, 16 Dec 2024 11:46:22 +0100 Subject: [PATCH 1/7] improve robustnes allows for rest-props other than label and puts focus on values. --- src/routes/Devilstable.svelte | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/routes/Devilstable.svelte b/src/routes/Devilstable.svelte index e049743..9f332a9 100644 --- a/src/routes/Devilstable.svelte +++ b/src/routes/Devilstable.svelte @@ -75,9 +75,10 @@ end: 100 }); let detailData = $derived( - boolData.map((d) => { - return { label: d.label, values: d.values.slice(selection.start - 1, selection.end) }; - }) + boolData.map(({ values, ...rest }) => ({ + values: values.slice(selection.start - 1, selection.end), + ...rest + })) ); From 4d6ab130d9f192fc6a2a7f2e777159ba3a6dfa8e Mon Sep 17 00:00:00 2001 From: vvvyyynet <63237439+vvvyyynet@users.noreply.github.com> Date: Mon, 16 Dec 2024 12:23:36 +0100 Subject: [PATCH 2/7] softcode defaults for brush window use newly introduced defaults in Brush-props and set the defaults in Devilstable to undefined, since they will never be used. --- src/routes/Brush.svelte | 7 ++++++- src/routes/Devilstable.svelte | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/routes/Brush.svelte b/src/routes/Brush.svelte index e87917b..9116feb 100644 --- a/src/routes/Brush.svelte +++ b/src/routes/Brush.svelte @@ -26,6 +26,8 @@ height = 150, DATA_MIN = 1, DATA_MAX = 827, + BRUSH_WINDOW_DEFAULT_START = 1, + BRUSH_WINDOW_DEFAULT_END = 100, data = [ { label: 'D', @@ -116,7 +118,10 @@ $effect(() => { d3.select(gBrush) .call(brush) - .call(brush.move, [valuesDim(DATA_MIN), valuesDim(100)]); + .call(brush.move, [ + valuesDim(BRUSH_WINDOW_DEFAULT_START), + valuesDim(BRUSH_WINDOW_DEFAULT_END) + ]); }); let chunkedData = $derived( data.map((dataObject) => { diff --git a/src/routes/Devilstable.svelte b/src/routes/Devilstable.svelte index 9f332a9..34e64ca 100644 --- a/src/routes/Devilstable.svelte +++ b/src/routes/Devilstable.svelte @@ -71,9 +71,10 @@ }) ); let selection = $state({ - start: 1, - end: 100 + start: undefined, + end: undefined }); + $inspect(selection); let detailData = $derived( boolData.map(({ values, ...rest }) => ({ values: values.slice(selection.start - 1, selection.end), From 84b62156a8628be9056c1f48d5e4cd42c5901703 Mon Sep 17 00:00:00 2001 From: vvvyyynet <63237439+vvvyyynet@users.noreply.github.com> Date: Mon, 16 Dec 2024 13:06:18 +0100 Subject: [PATCH 3/7] move DEFAULTS into its own .json file some defaults were defined redundantly in multiple files. The file only contains *functional* defaults, but no style-defaults, since they should be close to the components' tailwind-css --- src/routes/Brush.svelte | 12 +++++++----- src/routes/Detail.svelte | 10 ++++++++-- src/routes/Devilstable.svelte | 14 ++++++++------ src/routes/Devilstable_DEFAULTS.json | 6 ++++++ 4 files changed, 29 insertions(+), 13 deletions(-) create mode 100644 src/routes/Devilstable_DEFAULTS.json diff --git a/src/routes/Brush.svelte b/src/routes/Brush.svelte index 9116feb..0f2c9f4 100644 --- a/src/routes/Brush.svelte +++ b/src/routes/Brush.svelte @@ -1,5 +1,11 @@
@@ -143,17 +143,18 @@ width={mobile ? width : brushDimension} height={mobile ? brushDimension : height} data={boolData.filter((d) => d.label !== summaryLabel)} - brushE={(/** @type {{ start: number; end: number; }} */ e) => { + bind:selection +/> +