From f407565fc783cc6dd62a348ad1172d9e5fc540d4 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Wed, 7 Aug 2024 18:37:45 -0400 Subject: [PATCH] Fixed up the new Launcher. The Dexie liveQuery is now working better. Added await tick();. --- src/lib/ae_events_stores.ts | 24 ++++++ .../(launcher)/launcher/[slug]/+page.ts | 18 ++--- .../launcher/[slug]/+page@(launcher).svelte | 75 ++++++++++++++++++- .../launcher/[slug]/launcher_menu.svelte | 32 ++++---- .../[slug]/launcher_session_view.svelte | 23 ++++-- .../launcher/[slug]/menu_session_list.svelte | 10 ++- 6 files changed, 149 insertions(+), 33 deletions(-) diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts index a12e573f..1a9af79f 100644 --- a/src/lib/ae_events_stores.ts +++ b/src/lib/ae_events_stores.ts @@ -89,6 +89,26 @@ let events_local_data_struct: key_val = { 'classes__form': 'border border-surface-200 p-4 space-y-4 rounded-container-token', }, + // Event Presentation Launcher + 'launcher': { + qry_max__sessions: 75, + qry_max__presentations: 25, + qry_max__presenters: 75, + qry_max__files: 75, + + show_content__session_code: true, + show_content__presentation_code: true, + show_content__presenter_code: true, + slct: { + event_id: null, + event_location_id: null, + event_session_id: null, + event_presentation_id: null, + event_presenter_id: null, + event_file_id: null, // event_file_id + } + }, + // Lead Retrievals (Exhibit) 'leads': { show_option__paid_tab: true, @@ -213,6 +233,10 @@ let events_session_data_struct: key_val = { qr_scan_result: null, }, + // Event Presentation Launcher + 'launcher': { + }, + // Lead Retrievals (Exhibit) 'leads': { example: true, diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts index 77992eb1..143e4bf8 100644 --- a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts @@ -31,17 +31,17 @@ export async function load({ params, parent }) { // route }); } - // if (ae_acct.slct.event_id !== event_id) { - // ae_acct.slct.event_id = event_id; + if (ae_acct.slct.event_id !== event_id) { + ae_acct.slct.event_id = event_id; - // let load_event_obj = events_func.handle_load_ae_obj_id__event({ - // api_cfg: ae_acct.api, - // event_id: event_id, - // try_cache: false - // }); + // let load_event_obj = events_func.handle_load_ae_obj_id__event({ + // api_cfg: ae_acct.api, + // event_id: event_id, + // try_cache: false + // }); - // ae_acct.slct.event_obj = await load_event_obj; - // } + // ae_acct.slct.event_obj = await load_event_obj; + } if (browser) { let load_event_location_obj_li = events_func.handle_load_ae_obj_li__event_location({ diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page@(launcher).svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page@(launcher).svelte index 40dfd0c3..831ed8fc 100644 --- a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page@(launcher).svelte +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page@(launcher).svelte @@ -49,16 +49,62 @@ let ae_acct = data[$slct.account_id]; // obj_li: ae_acct.slct.event_session_obj_li // }); // } - +console.log(`ae_acct.slct.event_id:`, ae_acct.slct.event_id); $events_slct.event_id = ae_acct.slct.event_id; // $events_slct.event_obj = ae_acct.slct.event_obj; $events_slct.event_location_obj_li = ae_acct.slct.event_location_obj_li; $events_slct.event_session_obj_li = ae_acct.slct.event_session_obj_li; // $events_trigger = 'event_location_li'; +if (!$events_loc.launcher) { + $events_loc.launcher = {}; + $events_loc.launcher.slct = { + event_id: null, + }; + $events_loc.launcher.show_content__session_code = true; + $events_loc.launcher.show_content__presentation_code = true; + $events_loc.launcher.show_content__presenter_code = true; +} +if (!$events_loc.launcher.slct) { + $events_loc.launcher.slct = { + event_id: null, + event_location_id: null, + event_session_id: null, + }; +} +$events_loc.launcher.slct.event_id = ae_acct.slct.event_id; + +if (!$events_sess.launcher) { + $events_sess.launcher = {}; +} + let lq__event_obj = liveQuery( - () => db_events.events.get(ae_acct.slct.event_id) + () => db_events.events.get($events_loc.launcher.slct.event_id) +); + +let lq__event_location_obj = liveQuery( + () => db_events.locations + .get($events_loc.launcher.slct.event_location_id) +); + +let lq__event_location_obj_li = liveQuery( + () => db_events.locations + .where('event_id') + .equals($events_loc.launcher.slct.event_id) + .sortBy('name') +); + +let lq__event_session_obj = liveQuery( + () => db_events.sessions + .get($events_loc.launcher.slct.event_session_id) +); + +let lq__event_session_obj_li = liveQuery( + () => db_events.sessions + .where('event_location_id') + .equals($events_loc.launcher.slct.event_location_id) + .sortBy('name') ); @@ -186,6 +232,11 @@ onMount(() => { dq__event_obj={$lq__event_obj} dq__where_type_id_val={'event_id'} bind:dq__where_eq_id_val={$events_slct.event_id} + + lq__event_location_obj={lq__event_location_obj} + lq__event_location_obj_li={lq__event_location_obj_li} + lq__event_session_obj={lq__event_session_obj} + lq__event_session_obj_li={lq__event_session_obj_li} > {/if} @@ -202,9 +253,27 @@ onMount(() => { max-w-full " > - {#if $events_trigger == 'load__event_session_obj' && $events_slct.event_session_id} + + + + {#if $events_loc.launcher.slct.event_session_id} + {/if} diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_menu.svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_menu.svelte index d56db4f8..eff2d0d9 100644 --- a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_menu.svelte +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_menu.svelte @@ -46,26 +46,29 @@ for (let i = 0; i < event_location_obj_li.length; i++) { event_location_id_li = tmp_li; console.log(`event_location_id_li:`, event_location_id_li); +export let lq__event_location_obj: any; +export let lq__event_location_obj_li: any; +export let lq__event_session_obj: any; +export let lq__event_session_obj_li: any; - -let lq__event_location_obj_li = liveQuery( - () => db_events.locations - .where('event_id') - .equals(dq__event_obj.id) - .sortBy('name') -); +// let lq__event_location_obj_li = liveQuery( +// () => db_events.locations +// .where('event_id') +// .equals(dq__event_obj.id) +// .sortBy('name') +// ); let lq_kv__event_location_obj_li = liveQuery( () => db_events.locations .bulkGet(event_location_id_li) ); -let lq__event_session_obj_li = liveQuery( - () => db_events.sessions - .where('event_location_id') - .equals(event_location_id ?? '7mYbLvYMPho') - .sortBy('name') -); +// let lq__event_session_obj_li = liveQuery( +// () => db_events.sessions +// .where('event_location_id') +// .equals(event_location_id ?? '7mYbLvYMPho') +// .sortBy('name') +// ); let lq_kv__event_session_obj_li = liveQuery( () => db_events.sessions @@ -193,6 +196,9 @@ $: if (event_location_id) { dq__where_type_id_val = 'event_location_id'; dq__where_eq_id_val = event_location_id; + $events_loc.launcher.slct.event_location_id = event_location_id; + $events_loc.launcher.slct.event_session_id = null; + // $slct.event_location_id = event_location_id; // $slct_trigger = 'event_location_li'; diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_session_view.svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_session_view.svelte index 9b16366a..c7c328a7 100644 --- a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_session_view.svelte +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_session_view.svelte @@ -16,6 +16,11 @@ import { events_func } from '$lib/ae_events_functions'; export let slct_event_session_id: string; +export let lq__event_location_obj: any; +export let lq__event_location_obj_li: any; +export let lq__event_session_obj: any; +export let lq__event_session_obj_li: any; + let load_event_session_obj = events_func.handle_load_ae_obj_id__event_session({ api_cfg: $ae_api, event_session_id: slct_event_session_id, @@ -26,9 +31,9 @@ let load_event_session_obj = events_func.handle_load_ae_obj_id__event_session({ // () => db_events.sessions.get(slct_event_session_id) // ); -let lq__event_session_obj = liveQuery( - () => db_events.sessions.get($events_slct.event_session_id) -); +// let lq__event_session_obj = liveQuery( +// () => db_events.sessions.get($events_slct.event_session_id) +// ); // import Event_launcher_file_cont from './launcher_file_cont.svelte'; @@ -59,10 +64,16 @@ let link_to_id: null|string = null; {ae_util.iso_datetime_formatter($events_slct.event_session_obj.end_datetime, 'time_short')}

- {$events_slct.event_session_obj.name} - {#if $events_slct.event_session_obj.code} - {$events_slct.event_session_obj.code} + + + + {$lq__event_session_obj?.name} + {#if $lq__event_session_obj?.code} + ({$lq__event_session_obj?.code}) {/if} +

diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/menu_session_list.svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/menu_session_list.svelte index 8e3e97f6..647870f7 100644 --- a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/menu_session_list.svelte +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/menu_session_list.svelte @@ -1,5 +1,5 @@