From a880fbd6a2282c34465dee333831a7ef2ea9a33f Mon Sep 17 00:00:00 2001 From: Nathen Harvey Date: Tue, 19 May 2026 13:43:03 -0700 Subject: [PATCH 1/5] Migrate core-v2 to Svelte 5 runes and event syntax Refactor components in `svelte/core-v2/` to use Svelte 5 APIs, replacing legacy `export let` and `$:` reactive statements with `$props`, `$bindable`, and `$derived`. Update event listeners from `on:click` to `onclick` as per Svelte 5 conventions. - Migrate `App.svelte`, `Arrow.svelte`, `Column.svelte`, `Entity.svelte`, `EntityGroup.svelte`, `Footer.svelte`, `Popover.svelte`, and `ViewControl.svelte` to use `$props()`. - Use `$bindable()` for two-way bound props like `selected_entity` and `view_mode`. - Replace the reactive `populateDetails` logic in `Popover.svelte` with a `$derived.by` rune for cleaner state management. - Update event handlers (e.g., `on:click` -> `onclick`, `on:change` -> `onchange`) across all modified components. --- svelte/core-v2/src/App.svelte | 4 +- svelte/core-v2/src/lib/Arrow.svelte | 6 ++- svelte/core-v2/src/lib/Column.svelte | 8 ++-- svelte/core-v2/src/lib/Entity.svelte | 12 +++-- svelte/core-v2/src/lib/EntityGroup.svelte | 14 +++--- svelte/core-v2/src/lib/Footer.svelte | 2 +- svelte/core-v2/src/lib/Popover.svelte | 57 ++++++++++------------- svelte/core-v2/src/lib/ViewControl.svelte | 6 +-- 8 files changed, 55 insertions(+), 54 deletions(-) diff --git a/svelte/core-v2/src/App.svelte b/svelte/core-v2/src/App.svelte index 26e880641..4618f9b42 100644 --- a/svelte/core-v2/src/App.svelte +++ b/svelte/core-v2/src/App.svelte @@ -7,9 +7,9 @@ import DORAlogo from "./assets/dora-icon-color-alt.svg"; - let selected_entity = "unspecified"; + let selected_entity = $state("unspecified"); - let view_mode = "summary"; + let view_mode = $state("summary"); diff --git a/svelte/core-v2/src/lib/Arrow.svelte b/svelte/core-v2/src/lib/Arrow.svelte index ef5e4c58f..9b64f0b6f 100644 --- a/svelte/core-v2/src/lib/Arrow.svelte +++ b/svelte/core-v2/src/lib/Arrow.svelte @@ -1,6 +1,8 @@
diff --git a/svelte/core-v2/src/lib/Column.svelte b/svelte/core-v2/src/lib/Column.svelte index bae138bac..64fa244ce 100644 --- a/svelte/core-v2/src/lib/Column.svelte +++ b/svelte/core-v2/src/lib/Column.svelte @@ -5,9 +5,11 @@ import core_data from "./core_data.json"; - export let column; - export let selected_entity; - export let view_mode = "summary"; + let { + column, + selected_entity = $bindable(), + view_mode = "summary" + } = $props();
diff --git a/svelte/core-v2/src/lib/Entity.svelte b/svelte/core-v2/src/lib/Entity.svelte index 9fd4e61b2..0a19ce3a5 100644 --- a/svelte/core-v2/src/lib/Entity.svelte +++ b/svelte/core-v2/src/lib/Entity.svelte @@ -1,8 +1,10 @@
-

{name}

+

{details.name}

-

{@html summary}

+

{@html details.summary}

diff --git a/svelte/core-v2/src/lib/ViewControl.svelte b/svelte/core-v2/src/lib/ViewControl.svelte index 88005d65b..1375c9776 100644 --- a/svelte/core-v2/src/lib/ViewControl.svelte +++ b/svelte/core-v2/src/lib/ViewControl.svelte @@ -1,7 +1,7 @@ - +
DORA

Core Model

-
+
- - - - - + + + + +
-