From b16413c3c0f5b99c0bbc206b08b950d2e7bdb629 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Wed, 19 Nov 2025 13:29:47 -0500 Subject: [PATCH] fix(svelte): resolve props_invalid_value and dexie DataError - Initialize ds_loaded properties in ae_stores.ts to fix svelte binding error. - Make db_save_ae_obj_li__ae_obj in core__idb_dexie.ts schema-aware to fix Dexie DataError when saving to tables with non-'id' primary keys. --- src/lib/ae_core/core__idb_dexie.ts | 3 ++- src/lib/elements/element_data_store_v2.svelte | 10 ++++++---- src/lib/stores/ae_stores.ts | 7 ++++++- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/lib/ae_core/core__idb_dexie.ts b/src/lib/ae_core/core__idb_dexie.ts index 82e3e797..eed7319c 100644 --- a/src/lib/ae_core/core__idb_dexie.ts +++ b/src/lib/ae_core/core__idb_dexie.ts @@ -95,7 +95,8 @@ export async function db_save_ae_obj_li__ae_obj>({ return null; // Skip objects without a valid ID. } - (record as any).id = id; + const primary_key_name = db_table.schema.primKey.name; + (record as any)[primary_key_name] = id; return record; }) .filter(Boolean) as T[]; diff --git a/src/lib/elements/element_data_store_v2.svelte b/src/lib/elements/element_data_store_v2.svelte index c9c2ff1c..fc1b7917 100644 --- a/src/lib/elements/element_data_store_v2.svelte +++ b/src/lib/elements/element_data_store_v2.svelte @@ -2,6 +2,7 @@ import { run, preventDefault } from 'svelte/legacy'; import { browser } from '$app/environment'; + import { onMount } from 'svelte'; // import { liveQuery } from "dexie"; // Use this in the future??? import { Modal } from 'flowbite-svelte'; @@ -11,10 +12,11 @@ import { ae_util } from '$lib/ae_utils/ae_utils'; import type { key_val } from '$lib/stores/ae_stores'; - - console.log( - `ae_e_data_store ${ds_code} account_id=${$ae_loc.account_id} for_type=${for_type} for_id=${for_id}` - ); + onMount(() => { + console.log( + `ae_e_data_store ${ds_code} account_id=${$ae_loc.account_id} for_type=${for_type} for_id=${for_id}` + ); + }); // export let store: string = 'local'; diff --git a/src/lib/stores/ae_stores.ts b/src/lib/stores/ae_stores.ts index 1d51c2f5..79ad1bd9 100644 --- a/src/lib/stores/ae_stores.ts +++ b/src/lib/stores/ae_stores.ts @@ -372,7 +372,11 @@ const ae_app_session_data_defaults: key_val = { ds: { submit_status: null }, - ds_loaded: {}, + ds_loaded: { + hub__site__root_page_header: false, + hub__site__root_page_content: false, + hub__site__root_page_footer: false + }, files: { disable_submit__hosted_file_obj: false, @@ -380,6 +384,7 @@ const ae_app_session_data_defaults: key_val = { uploaded_file_kv: {}, video_clip_file_kv: {}, processed_file_list: [], + status__file_list: null, // uploaded_file_list: [], video_clip_file_list: [], submit_status: null, // 'saving', 'created', 'updated', 'saved'