Fixed up the new Launcher. The Dexie liveQuery is now working better. Added await tick();.

This commit is contained in:
Scott Idem
2024-08-07 18:37:45 -04:00
parent cb1f4343db
commit f407565fc7
6 changed files with 149 additions and 33 deletions

View File

@@ -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', '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) // Lead Retrievals (Exhibit)
'leads': { 'leads': {
show_option__paid_tab: true, show_option__paid_tab: true,
@@ -213,6 +233,10 @@ let events_session_data_struct: key_val = {
qr_scan_result: null, qr_scan_result: null,
}, },
// Event Presentation Launcher
'launcher': {
},
// Lead Retrievals (Exhibit) // Lead Retrievals (Exhibit)
'leads': { 'leads': {
example: true, example: true,

View File

@@ -31,17 +31,17 @@ export async function load({ params, parent }) { // route
}); });
} }
// if (ae_acct.slct.event_id !== event_id) { if (ae_acct.slct.event_id !== event_id) {
// 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({ // let load_event_obj = events_func.handle_load_ae_obj_id__event({
// api_cfg: ae_acct.api, // api_cfg: ae_acct.api,
// event_id: event_id, // event_id: event_id,
// try_cache: false // try_cache: false
// }); // });
// ae_acct.slct.event_obj = await load_event_obj; // ae_acct.slct.event_obj = await load_event_obj;
// } }
if (browser) { if (browser) {
let load_event_location_obj_li = events_func.handle_load_ae_obj_li__event_location({ let load_event_location_obj_li = events_func.handle_load_ae_obj_li__event_location({

View File

@@ -49,16 +49,62 @@ let ae_acct = data[$slct.account_id];
// obj_li: ae_acct.slct.event_session_obj_li // 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_id = ae_acct.slct.event_id;
// $events_slct.event_obj = ae_acct.slct.event_obj; // $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_location_obj_li = ae_acct.slct.event_location_obj_li;
$events_slct.event_session_obj_li = ae_acct.slct.event_session_obj_li; $events_slct.event_session_obj_li = ae_acct.slct.event_session_obj_li;
// $events_trigger = 'event_location_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( 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__event_obj={$lq__event_obj}
dq__where_type_id_val={'event_id'} dq__where_type_id_val={'event_id'}
bind:dq__where_eq_id_val={$events_slct.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}
> >
</Event_launcher_menu> </Event_launcher_menu>
{/if} {/if}
@@ -202,9 +253,27 @@ onMount(() => {
max-w-full max-w-full
" "
> >
{#if $events_trigger == 'load__event_session_obj' && $events_slct.event_session_id} <!-- {#if $events_trigger == 'load__event_session_obj' && $events_slct.event_session_id}
<Event_launcher_session_view <Event_launcher_session_view
slct_event_session_id={$events_slct.event_session_id} slct_event_session_id={$events_slct.event_session_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}
>
</Event_launcher_session_view>
{/if} -->
<!-- {$lq__event_session_obj?.name} -->
{#if $events_loc.launcher.slct.event_session_id}
<Event_launcher_session_view
slct_event_session_id={$events_slct.event_session_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}
> >
</Event_launcher_session_view> </Event_launcher_session_view>
{/if} {/if}

View File

@@ -46,26 +46,29 @@ for (let i = 0; i < event_location_obj_li.length; i++) {
event_location_id_li = tmp_li; event_location_id_li = tmp_li;
console.log(`event_location_id_li:`, event_location_id_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(
let lq__event_location_obj_li = liveQuery( // () => db_events.locations
() => db_events.locations // .where('event_id')
.where('event_id') // .equals(dq__event_obj.id)
.equals(dq__event_obj.id) // .sortBy('name')
.sortBy('name') // );
);
let lq_kv__event_location_obj_li = liveQuery( let lq_kv__event_location_obj_li = liveQuery(
() => db_events.locations () => db_events.locations
.bulkGet(event_location_id_li) .bulkGet(event_location_id_li)
); );
let lq__event_session_obj_li = liveQuery( // let lq__event_session_obj_li = liveQuery(
() => db_events.sessions // () => db_events.sessions
.where('event_location_id') // .where('event_location_id')
.equals(event_location_id ?? '7mYbLvYMPho') // .equals(event_location_id ?? '7mYbLvYMPho')
.sortBy('name') // .sortBy('name')
); // );
let lq_kv__event_session_obj_li = liveQuery( let lq_kv__event_session_obj_li = liveQuery(
() => db_events.sessions () => db_events.sessions
@@ -193,6 +196,9 @@ $: if (event_location_id) {
dq__where_type_id_val = 'event_location_id'; dq__where_type_id_val = 'event_location_id';
dq__where_eq_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.event_location_id = event_location_id;
// $slct_trigger = 'event_location_li'; // $slct_trigger = 'event_location_li';

View File

@@ -16,6 +16,11 @@ import { events_func } from '$lib/ae_events_functions';
export let slct_event_session_id: string; 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({ let load_event_session_obj = events_func.handle_load_ae_obj_id__event_session({
api_cfg: $ae_api, api_cfg: $ae_api,
event_session_id: slct_event_session_id, 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) // () => db_events.sessions.get(slct_event_session_id)
// ); // );
let lq__event_session_obj = liveQuery( // let lq__event_session_obj = liveQuery(
() => db_events.sessions.get($events_slct.event_session_id) // () => db_events.sessions.get($events_slct.event_session_id)
); // );
// import Event_launcher_file_cont from './launcher_file_cont.svelte'; // 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')} {ae_util.iso_datetime_formatter($events_slct.event_session_obj.end_datetime, 'time_short')}
</div> </div>
<h2> <h2>
{$events_slct.event_session_obj.name}
{#if $events_slct.event_session_obj.code} <!-- {$events_slct.event_session_obj.name} -->
{$events_slct.event_session_obj.code} <!-- {#if $events_slct.event_session_obj.code}
{$events_slct.event_session_obj.code}
{/if} -->
{$lq__event_session_obj?.name}
{#if $lq__event_session_obj?.code}
({$lq__event_session_obj?.code})
{/if} {/if}
</h2> </h2>
</header> </header>

View File

@@ -1,5 +1,5 @@
<script lang="ts"> <script lang="ts">
import { tick } from 'svelte';
import { liveQuery } from "dexie"; import { liveQuery } from "dexie";
import { db_events } from "$lib/db_events"; import { db_events } from "$lib/db_events";
import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores'; import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
@@ -42,7 +42,13 @@ let lq_kv__event_session_obj_li = liveQuery(
<li> <li>
<button <button
class="btn btn-sm variant-ghost-primary hover:variant-filled-primary overflow-hidden text-xs w-full max-w-full text-left transition-all" class="btn btn-sm variant-ghost-primary hover:variant-filled-primary overflow-hidden text-xs w-full max-w-full text-left transition-all"
on:click={() => { on:click={async () => {
$events_loc.launcher.slct.event_session_id = null;
await tick();
$events_loc.launcher.slct.event_session_id = event_session_obj?.id;
// $events_loc = $events_loc;
$events_trigger = null; $events_trigger = null;
slct_event_session_id = null; slct_event_session_id = null;
$events_slct.event_session_id = null; $events_slct.event_session_id = null;