From eb4e34cca741270ba463357f098581eca616a5a4 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Mon, 18 May 2026 15:12:59 +0200 Subject: [PATCH 1/2] Show all root fields in Update-entry-dialog --- .../src/lib/entry-editor/EditEntryDialog.svelte | 9 ++++++++- frontend/viewer/src/lib/views/RootFields.svelte | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 frontend/viewer/src/lib/views/RootFields.svelte diff --git a/frontend/viewer/src/lib/entry-editor/EditEntryDialog.svelte b/frontend/viewer/src/lib/entry-editor/EditEntryDialog.svelte index 8da697b6a9..c37e04b922 100644 --- a/frontend/viewer/src/lib/entry-editor/EditEntryDialog.svelte +++ b/frontend/viewer/src/lib/entry-editor/EditEntryDialog.svelte @@ -6,6 +6,7 @@ import * as Dialog from '$lib/components/ui/dialog'; import {Button} from '$lib/components/ui/button'; import {useViewService} from '$lib/views/view-service.svelte'; + import RootFields from '$lib/views/RootFields.svelte'; import {pt} from '$lib/views/view-text'; import {t} from 'svelte-i18n-lingui'; import {AppNotification} from '$lib/notifications/notifications'; @@ -51,7 +52,13 @@ {#if entryResource.loading} Loading... {:else if entry} - + + + + {/if} diff --git a/frontend/viewer/src/lib/views/RootFields.svelte b/frontend/viewer/src/lib/views/RootFields.svelte new file mode 100644 index 0000000000..56faf94d9d --- /dev/null +++ b/frontend/viewer/src/lib/views/RootFields.svelte @@ -0,0 +1,16 @@ + + +{@render children?.()} From 65d43d703628c202209a1c11d9199867d302b734 Mon Sep 17 00:00:00 2001 From: Tim Haasdyk Date: Thu, 21 May 2026 09:02:00 +0200 Subject: [PATCH 2/2] Respect current view's WS in RootFields and use it in NewEntryDialog RootFields now spreads currentView (so its writing-system selection is kept) and only overrides the field arrays with the root view's, matching the pattern already used by OverrideFields. NewEntryDialog now wraps its editor in RootFields instead of an OverrideFields with a hand-picked shownFields list, so the create-entry dialog shows all root fields while still respecting the WS selection of the currently selected custom-view. --- .../src/lib/entry-editor/NewEntryDialog.svelte | 12 +++--------- frontend/viewer/src/lib/views/RootFields.svelte | 11 +++++++++-- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/frontend/viewer/src/lib/entry-editor/NewEntryDialog.svelte b/frontend/viewer/src/lib/entry-editor/NewEntryDialog.svelte index e31420a108..d80636a01d 100644 --- a/frontend/viewer/src/lib/entry-editor/NewEntryDialog.svelte +++ b/frontend/viewer/src/lib/entry-editor/NewEntryDialog.svelte @@ -13,7 +13,7 @@ import {useSaveHandler} from '../services/save-event-service.svelte'; import {useLexboxApi} from '../services/service-provider'; import {defaultEntry, defaultSense} from '../utils'; - import OverrideFields from '$lib/views/OverrideFields.svelte'; + import RootFields from '$lib/views/RootFields.svelte'; import {useWritingSystemService} from '$project/data'; import {useDialogsService} from '$lib/services/dialogs-service.js'; import {useBackHandler} from '$lib/utils/back-handler.svelte'; @@ -160,13 +160,7 @@ {pt($t`New Entry`, $t`New Word`, viewService.currentView)}
- + - +
{#if errors.length}
diff --git a/frontend/viewer/src/lib/views/RootFields.svelte b/frontend/viewer/src/lib/views/RootFields.svelte index 56faf94d9d..118c52c9af 100644 --- a/frontend/viewer/src/lib/views/RootFields.svelte +++ b/frontend/viewer/src/lib/views/RootFields.svelte @@ -8,8 +8,15 @@ const overrideService = initViewService({persist: false}); $effect.pre(() => { - // use the root view of what is potentially a custom-view - overrideService.overrideView(viewService.rootView); + const rootView = viewService.rootView; + const currentView = viewService.currentView; + // show all root fields, but keep the current view's writing-system selection + overrideService.overrideView({ + ...currentView, + entryFields: rootView.entryFields, + senseFields: rootView.senseFields, + exampleFields: rootView.exampleFields, + }); });