Now I am trying to get the presentation list to display... Why won't this work...? Adding URL params seems to have helped some.

This commit is contained in:
Scott Idem
2024-08-08 19:51:03 -04:00
parent 4ddc775aaa
commit 14fc1ee146
7 changed files with 216 additions and 220 deletions

View File

@@ -325,6 +325,9 @@ export function handle_db_save_ae_obj_li__event_session(
event_location_code: obj.event_location_code, event_location_code: obj.event_location_code,
event_location_name: obj.event_location_name, event_location_name: obj.event_location_name,
// A key value list of the presentations
event_presentation_kv: obj.event_presentation_kv,
}); });
// console.log(`Put obj with ID: ${obj.event_session_id_random} or ${id_random}`); // console.log(`Put obj with ID: ${obj.event_session_id_random} or ${id_random}`);
} catch (error) { } catch (error) {

View File

@@ -295,6 +295,11 @@ export interface Location {
internal_use_count?: null|number; internal_use_count?: null|number;
event_name?: null|string; event_name?: null|string;
// A key value list of the sessions
event_session_kv?: null|key_val;
// A key value list of the files
event_file_kv?: null|key_val;
} }
@@ -362,6 +367,11 @@ export interface Session {
event_location_code?: null|string; event_location_code?: null|string;
event_location_name?: null|string; event_location_name?: null|string;
// A key value list of the presentations
event_presentation_kv?: null|key_val;
// A key value list of the files
event_file_kv?: null|key_val;
} }
@@ -498,6 +508,9 @@ export interface Presenter {
person_affiliations?: null|string; person_affiliations?: null|string;
person_primary_email?: null|string; person_primary_email?: null|string;
person_passcode?: null|string; person_passcode?: null|string;
// A key value list of the files
event_file_kv?: null|key_val;
} }

View File

@@ -5,7 +5,7 @@ console.log(`ae pres_mgmt launcher [slug] +page.ts: start`);
import { browser } from '$app/environment'; import { browser } from '$app/environment';
import { events_func } from '$lib/ae_events_functions'; import { events_func } from '$lib/ae_events_functions';
export async function load({ params, parent }) { // route export async function load({ params, parent, url }) { // route
let log_lvl = 0; let log_lvl = 0;
let data = await parent(); let data = await parent();
@@ -32,6 +32,7 @@ export async function load({ params, parent }) { // route
} }
ae_acct.trig = {}; ae_acct.trig = {};
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;
ae_acct.trig.event_id = true; ae_acct.trig.event_id = true;
@@ -74,18 +75,30 @@ export async function load({ params, parent }) { // route
ae_acct.slct.id_li__event_location = id_li__event_location; ae_acct.slct.id_li__event_location = id_li__event_location;
} }
let for_obj_type = 'event';
let for_obj_id = event_id;
// ae_acct.trig.event_session_obj_li = true;
if (browser) { if (browser) {
// if (url.searchParams.get('location_id')) {
// console.log(`url.searchParams.get('location_id') = `, url.searchParams.get('location_id'));
// for_obj_type = 'event_location';
// for_obj_id = url.searchParams.get('location_id');
// }
ae_acct.trig.event_session_obj_li = false; ae_acct.trig.event_session_obj_li = false;
let load_event_session_obj_li = await events_func.handle_load_ae_obj_li__event_session({ let load_event_session_obj_li = await events_func.handle_load_ae_obj_li__event_session({
api_cfg: ae_acct.api, api_cfg: ae_acct.api,
for_obj_type: 'event', for_obj_type: for_obj_type,
for_obj_id: event_id, for_obj_id: for_obj_id,
params: {qry__enabled: 'enabled', qry__limit: 550}, params: {qry__enabled: 'enabled', qry__limit: 550},
try_cache: true try_cache: true
}) })
.finally(() => { .finally(() => {
// console.log(`load_event_session_obj_li = `, load_event_session_obj_li); // console.log(`load_event_session_obj_li = `, load_event_session_obj_li);
ae_acct.trig.event_session_obj_li = true; // ae_acct.trig.event_session_obj_li = false;
}); });
ae_acct.slct.event_session_obj_li = load_event_session_obj_li; ae_acct.slct.event_session_obj_li = load_event_session_obj_li;
// console.log(`ae_acct.slct.event_session_obj_li = `, ae_acct.slct.event_session_obj_li); // console.log(`ae_acct.slct.event_session_obj_li = `, ae_acct.slct.event_session_obj_li);
@@ -102,6 +115,8 @@ export async function load({ params, parent }) { // route
id_li__event_session = tmp_li; id_li__event_session = tmp_li;
console.log(`id_li__event_session:`, id_li__event_session); console.log(`id_li__event_session:`, id_li__event_session);
ae_acct.slct.id_li__event_session = id_li__event_session; ae_acct.slct.id_li__event_session = id_li__event_session;
} else {
console.log(`ae pres_mgmt launcher [slug] +page.ts: browser = false`);
} }
// WARNING: Precaution against shared data between sites and sessions. // WARNING: Precaution against shared data between sites and sessions.

View File

@@ -84,6 +84,44 @@ if (!$events_loc.launcher.slct) {
}; };
} }
if (browser) {
console.log(`data.url.searchParams.get('location_id') = `, data.url.searchParams.get('location_id'));
// let for_obj_type = 'event_location';
// let for_obj_id = data.url.searchParams.get('location_id');
// ae_acct.slct.event_location_id = for_obj_id;
// ae_acct.trig.event_session_obj_li = false;
// let load_event_session_obj_li = events_func.handle_load_ae_obj_li__event_session({
// api_cfg: ae_acct.api,
// for_obj_type: for_obj_type,
// for_obj_id: for_obj_id,
// params: {qry__enabled: 'enabled', qry__limit: 550},
// try_cache: true
// })
// .finally(() => {
// // console.log(`load_event_session_obj_li = `, load_event_session_obj_li);
// // ae_acct.trig.event_session_obj_li = false;
// });
// ae_acct.slct.event_session_obj_li = load_event_session_obj_li;
// // console.log(`ae_acct.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 ?? [''];
// let id_li__event_session = [];
// let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
// for (let i = 0; i < load_event_session_obj_li.length; i++) {
// let event_session_obj = load_event_session_obj_li[i];
// let event_session_id_random = event_session_obj.event_session_id_random;
// tmp_li.push(event_session_id_random);
// }
// id_li__event_session = tmp_li;
// console.log(`id_li__event_session:`, id_li__event_session);
// ae_acct.slct.id_li__event_session = id_li__event_session;
// $events_slct.id_li__event_session = ae_acct.slct.id_li__event_session ?? [''];
}
if (ae_acct.slct.event_id) { if (ae_acct.slct.event_id) {
$events_loc.launcher.slct.event_id = ae_acct.slct.event_id; $events_loc.launcher.slct.event_id = ae_acct.slct.event_id;
} }
@@ -225,15 +263,15 @@ let lq_get__event_session_obj_li = liveQuery(
if (browser) { if (browser) {
console.log(`Browser: ${browser}`); console.log(`Browser: ${browser}`);
// $events_trigger = 'event_location_li';
bi_trig__event_location = 'event_location_li'; bi_trig__event_location = 'event_location_li';
bi_trig__event_session = 'event_session_li'; bi_trig__event_session = 'event_session_li';
// $events_loc.launcher.slct.event_location_id = data.url.searchParams.get('location_id');
// $events_loc.launcher.slct.event_session_id = data.url.searchParams.get('session_id');
} }
onMount(() => { onMount(() => {
console.log('Pres Mgmt Launcher [slug]: +page@(launcher).svelte'); console.log('Pres Mgmt Launcher [slug]: +page@(launcher).svelte');
// $events_trigger = 'event_location_li';
}); });
</script> </script>
@@ -279,19 +317,18 @@ onMount(() => {
class="event_launcher_menu class="event_launcher_menu
container h-full flex flex-col gap-4 py-1 px-1 container h-full flex flex-col gap-4 py-1 px-1
basis-1/5 basis-1/5
min-w-48 min-w-72
max-w-xs max-w-xs
border-r border-gray-200 border-r border-gray-200
" "
> >
{#await $events_slct.id_li__event_location} <!-- {#await $events_slct.id_li__event_location}
Loading location list... a Loading location list... a
{:then event_location_obj_li} {:then event_location_obj_li} -->
<!-- {#if $lq__event_obj && $lq_get__event_location_obj_li && $lq_get__event_session_obj_li && event_location_obj_li && event_location_obj_li.length > 0} --> <!-- {#if $lq__event_obj && $lq_get__event_location_obj_li && $lq_get__event_session_obj_li && event_location_obj_li && event_location_obj_li.length > 0} -->
{#if $lq__event_obj && $events_slct.event_location_obj_li} {#if $lq__event_obj && $events_slct.event_location_obj_li}
<Event_launcher_menu <Event_launcher_menu
data_url={data.url} bind:data_url={data.url}
slct_event_session_id={$events_loc.launcher.slct.event_session_id}
lq__event_obj={lq__event_obj} lq__event_obj={lq__event_obj}
@@ -305,10 +342,10 @@ onMount(() => {
{:else} {:else}
<div class="flex flex-row items-center justify-center"> <div class="flex flex-row items-center justify-center">
<span class="fas fa-spinner fa-spin mx-1"></span> <span class="fas fa-spinner fa-spin mx-1"></span>
<span>Loading location list... b</span> <span>Loading location list...</span>
</div> </div>
{/if} {/if}
{/await} <!-- {/await} -->
<!-- Root: slct Location ID: {$events_slct.event_location_id ?? '-- not set --'} --> <!-- Root: slct Location ID: {$events_slct.event_location_id ?? '-- not set --'} -->
</section> </section>
@@ -339,11 +376,8 @@ onMount(() => {
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={lq__event_location_obj}
lq__event_location_obj_li={lq__event_location_obj_li}
lq_get__event_location_obj_li={lq_get__event_location_obj_li}
lq__event_session_obj={lq__event_session_obj} lq__event_session_obj={lq__event_session_obj}
lq__event_session_obj_li={lq__event_session_obj_li}
lq_get__event_session_obj_li={lq_get__event_session_obj_li}
> >
</Event_launcher_session_view> </Event_launcher_session_view>
{/if} {/if}

View File

@@ -19,34 +19,11 @@ import { events_func } from '$lib/ae_events_functions';
import Menu_session_list_menu from './menu_session_list.svelte'; import Menu_session_list_menu from './menu_session_list.svelte';
export let data_url: any; export let data_url: any;
// export let slct_event_id: string;
let slct_event_location_id: string; let slct_event_location_id: string;
export let slct_event_session_id: null|string;
// export let bi_trig__event_location: any;
// export let bi_id_li__event_location: string[] = [];
// export let event_session_id_li: string[] = [];
// export let event_location_obj_li: any[] = [];
// export let dq__event_obj: any
// export let dq__where_type_id_val: string = 'event_id';
// export let dq__where_eq_id_val: string;
// console.log(`bi_id_li__event_location:`, bi_id_li__event_location);
$events_trigger = null; $events_trigger = null;
// let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
// for (let i = 0; i < event_location_obj_li.length; i++) {
// let event_location_obj = event_location_obj_li[i];
// let event_location_id_random = event_location_obj.event_location_id_random;
// tmp_li.push(event_location_id_random);
// }
// bi_id_li__event_location = tmp_li;
// console.log(`bi_id_li__event_location:`, bi_id_li__event_location);
export let lq__event_obj: any; export let lq__event_obj: any;
export let lq__event_location_obj: any; export let lq__event_location_obj: any;
// export let lq__event_location_obj_li: any; // export let lq__event_location_obj_li: any;
@@ -55,36 +32,6 @@ export let lq__event_session_obj: any;
// export let lq__event_session_obj_li: any; // export let lq__event_session_obj_li: any;
export let lq_get__event_session_obj_li: any; export let lq_get__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_kv__event_location_obj_li = liveQuery(
// () => db_events.locations
// .bulkGet(bi_id_li__event_location)
// );
// 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
// .bulkGet(event_session_id_li)
// );
// let lq__event_presenter_obj_li = liveQuery(
// () => db_events.presenters
// .where(dq__where_type_id_val)
// .equals(dq__where_eq_id_val)
// .sortBy('name')
// );
let qry__enabled = 'enabled'; let qry__enabled = 'enabled';
let qry__hidden = 'not_hidden'; let qry__hidden = 'not_hidden';
@@ -101,91 +48,18 @@ if ($ae_loc.administrator_access) {
let ae_promises: key_val = {}; let ae_promises: key_val = {};
let load_obj_li__event_session: any = {};
// $: if (event_location_id) {
// console.log(`event_location_id:`, event_location_id);
// dq__where_type_id_val = 'event_location_id';
// dq__where_eq_id_val = event_location_id;
// // $slct.event_location_id = event_location_id;
// // $slct_trigger = 'event_location_li';
// $events_slct.event_location_id = event_location_id;
// $events_trigger = 'event_location_li';
// load_obj_li__event_session = events_func.handle_load_ae_obj_li__event_session({
// api_cfg: $ae_api,
// for_obj_type: 'event_location',
// for_obj_id: event_location_id,
// params: {qry__enabled: qry__enabled, qry__limit: 550},
// try_cache: false,
// log_lvl: 1,
// })
// .then(function (load_results) {
// console.log(`load_results = `, load_results);
// event_session_id_li = [];
// let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
// for (let i = 0; i < load_results.length; i++) {
// let event_session_obj = load_results[i];
// let event_session_id_random = event_session_obj.event_session_id_random;
// tmp_li.push(event_session_id_random);
// }
// event_session_id_li = tmp_li;
// // console.log(`event_session_id_li:`, event_session_id_li);
// return load_results;
// });
// // console.log(`load_obj_li__event_session = `, load_obj_li__event_session);
// }
// $: if ($slct.event_session_obj_li) {
// event_session_id_li = [];
// let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
// for (let i = 0; i < $slct.event_session_obj_li.length; i++) {
// let event_session_obj = $slct.event_session_obj_li[i];
// let event_session_id_random = event_session_obj.event_session_id_random;
// tmp_li.push(event_session_id_random);
// }
// event_session_id_li = tmp_li;
// }
// $: if ($lq__event_session_obj_li && $lq__event_session_obj_li.length && $events_trigger == 'event_location_id') {
// console.log(`$lq__event_session_obj_li:`, $lq__event_session_obj_li);
// $events_trigger = null;
// event_session_id_li = [];
// let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
// for (let i = 0; i < $lq__event_session_obj_li.length; i++) {
// let event_session_obj = $lq__event_session_obj_li[i];
// let event_session_id_random = event_session_obj.event_session_id_random;
// tmp_li.push(event_session_id_random);
// }
// event_session_id_li = tmp_li;
// console.log(`event_session_id_li:`, event_session_id_li);
// }
</script> </script>
<section> <section>
<h2 class="">{$lq__event_obj?.cfg_json.short_name ?? 'loading...'}</h2> <h2 class="">{$lq__event_obj?.cfg_json.short_name ?? 'loading...'}</h2>
{#if $lq_get__event_location_obj_li && $lq_get__event_location_obj_li.length > 0} {#if $lq_get__event_location_obj_li && $lq_get__event_location_obj_li.length > 0}
<strong class="text-sm"> <strong class="text-xs">
Locations: Locations:
{#if $ae_loc.administrator_access} {#if $ae_loc.administrator_access}
({$lq_get__event_location_obj_li?.length}) ({$lq_get__event_location_obj_li?.length})
{/if} {/if}
<!-- This should fade out once the data is loaded. -->
{#await ae_promises[slct_event_location_id]} {#await ae_promises[slct_event_location_id]}
<span class="fas fa-spinner fa-spin text-blue-500"></span> <span class="fas fa-spinner fa-spin text-blue-500"></span>
{:then result} {:then result}
@@ -198,7 +72,7 @@ let load_obj_li__event_session: any = {};
on:change={async () => { on:change={async () => {
// console.log(`slct_event_location_id:`, slct_event_location_id); // console.log(`slct_event_location_id:`, slct_event_location_id);
console.log('Remove the passcode from the URL.'); console.log('Remove fields from the URL.');
data_url.searchParams.delete('location_id'); data_url.searchParams.delete('location_id');
data_url.searchParams.delete('presentation_id'); data_url.searchParams.delete('presentation_id');
data_url.searchParams.delete('presenter_id'); data_url.searchParams.delete('presenter_id');
@@ -230,7 +104,7 @@ let load_obj_li__event_session: any = {};
// $events_trigger = 'event_location_li'; // $events_trigger = 'event_location_li';
$events_slct.id_li__event_session = []; $events_slct.id_li__event_session = [];
// await tick(); await tick();
ae_promises[slct_event_location_id] = events_func.handle_load_ae_obj_li__event_session({ ae_promises[slct_event_location_id] = events_func.handle_load_ae_obj_li__event_session({
api_cfg: $ae_api, api_cfg: $ae_api,
for_obj_type: 'event_location', for_obj_type: 'event_location',
@@ -254,11 +128,12 @@ let load_obj_li__event_session: any = {};
event_session_id_li = tmp_li; event_session_id_li = tmp_li;
console.log(`event_session_id_li:`, event_session_id_li); console.log(`event_session_id_li:`, event_session_id_li);
$events_slct.id_li__event_session = event_session_id_li; $events_slct.id_li__event_session = event_session_id_li;
$events_slct = {...$events_slct}; // $events_slct = {...$events_slct};
// await tick(); // await tick();
return load_results; return load_results;
}); });
await tick();
} else { } else {
// This will hide the selected session if the location is changed to false. // This will hide the selected session if the location is changed to false.
@@ -295,7 +170,7 @@ let load_obj_li__event_session: any = {};
{#if lq_get__event_session_obj_li} {#if lq_get__event_session_obj_li}
<Menu_session_list_menu <Menu_session_list_menu
data_url={data_url} data_url={data_url}
bind:slct_event_session_id={slct_event_session_id} lq__event_session_obj={lq__event_session_obj}
lq_get__event_session_obj_li={lq_get__event_session_obj_li} lq_get__event_session_obj_li={lq_get__event_session_obj_li}
/> />
{/if} {/if}

View File

@@ -16,10 +16,14 @@ 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_file_obj: any;
// export let lq_get__event_file_obj_li: any;
export let lq__event_location_obj: any; export let lq__event_location_obj: any;
export let lq__event_location_obj_li: any; // export let lq__event_presentation_obj: any;
// export let lq_get__event_presentation_obj_li: any;
// export let lq__event_presenter_obj: any;
// export let lq_get__event_presenter_obj_li: any;
export let lq__event_session_obj: 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,
@@ -42,6 +46,25 @@ export let hide_description: boolean = true;
export let show_designations: boolean = false; export let show_designations: boolean = false;
export let show_email: boolean = false; export let show_email: boolean = false;
// Event Presentation
let lq__event_presentation_obj = liveQuery(
() => db_events.presentations
.get($events_loc.launcher.slct.event_presentation_id)
);
let lq__event_presentation_obj_li = liveQuery(
() => db_events.presentations
.where('event_session_id_random')
.equals($events_loc.launcher.slct.event_session_id)
.sortBy('name')
);
let lq_get__event_presentation_obj_li = liveQuery(
() => db_events.presentations
.bulkGet($events_slct.id_li__event_presentation)
);
let show_modal_upload_files: boolean = false; let show_modal_upload_files: boolean = false;
let link_to_type: null|string = null; let link_to_type: null|string = null;
let link_to_id: null|string = null; let link_to_id: null|string = null;
@@ -49,25 +72,25 @@ let link_to_id: null|string = null;
</script> </script>
{$events_slct.event_session_id} <!-- {$events_slct.event_session_id} -->
<section class="event_launcher_session_view"> <section class="event_launcher_session_view">
<!-- <slot name="event_session_message">event session message</slot> --> <!-- <slot name="event_session_message">event session message</slot> -->
{#if $events_slct.event_session_obj && $events_slct.event_session_obj.event_session_id_random} {#if $lq__event_session_obj && $lq__event_session_obj.event_session_id_random}
<header class="event_session_about"> <header class="event_session_about">
<div class="event_session_datetimes"> <div class="event_session_datetimes">
<strong>{ae_util.iso_datetime_formatter($events_slct.event_session_obj.start_datetime, 'week_long')}</strong> <strong>{ae_util.iso_datetime_formatter($lq__event_session_obj.start_datetime, 'week_long')}</strong>
{ae_util.iso_datetime_formatter($events_slct.event_session_obj.start_datetime, 'date_long_month_day')} {ae_util.iso_datetime_formatter($lq__event_session_obj.start_datetime, 'date_long_month_day')}
<strong>{ae_util.iso_datetime_formatter($events_slct.event_session_obj.start_datetime, 'time_short')}</strong> <strong>{ae_util.iso_datetime_formatter($lq__event_session_obj.start_datetime, 'time_short')}</strong>
&ndash; &ndash;
{ae_util.iso_datetime_formatter($events_slct.event_session_obj.end_datetime, 'time_short')} {ae_util.iso_datetime_formatter($lq__event_session_obj.end_datetime, 'time_short')}
</div> </div>
<h2> <h2>
<!-- {$events_slct.event_session_obj.name} --> <!-- {$lq__event_session_obj.name} -->
<!-- {#if $events_slct.event_session_obj.code} <!-- {#if $lq__event_session_obj.code}
{$events_slct.event_session_obj.code} {$lq__event_session_obj.code}
{/if} --> {/if} -->
{$lq__event_session_obj?.name} {$lq__event_session_obj?.name}
{#if $lq__event_session_obj?.code} {#if $lq__event_session_obj?.code}
@@ -78,10 +101,10 @@ let link_to_id: null|string = null;
</header> </header>
<section class="event_session_description text-xs" class:d_none="{hide_description}"> <section class="event_session_description text-xs" class:d_none="{hide_description}">
{@html $events_slct.event_session_obj.description} {@html $lq__event_session_obj.description}
</section> </section>
{#if $events_slct.event_session_obj?.event_file_list && $events_slct.event_session_obj?.event_file_list.length } {#if $lq__event_session_obj?.event_file_list && $lq__event_session_obj?.event_file_list.length }
<section class="event_session_file_list"> <section class="event_session_file_list">
<div> <div>
<strong>Session Files:</strong> <strong>Session Files:</strong>
@@ -89,7 +112,7 @@ let link_to_id: null|string = null;
<button on:click={async () => { <button on:click={async () => {
show_modal_upload_files = true; show_modal_upload_files = true;
link_to_type = 'event_session'; link_to_type = 'event_session';
link_to_id = $events_slct.event_session_obj.event_session_id_random; link_to_id = $lq__event_session_obj.event_session_id_random;
}} }}
type="button" class="ae_btn btn_outline_warning btn_xs" title="Upload updated or additional files" type="button" class="ae_btn btn_outline_warning btn_xs" title="Upload updated or additional files"
> >
@@ -98,9 +121,9 @@ let link_to_id: null|string = null;
{/if} {/if}
</div> </div>
<ul> <ul>
{#each $events_slct.event_session_obj.event_file_list as event_file_obj, index} {#each $lq__event_session_obj.event_file_list as event_file_obj, index}
<li class:d_none={!$events_loc.launcher.show_hidden_sessions && event_file_obj.hide}> <li class:d_none={!$events_loc.launcher.show_hidden_sessions && event_file_obj.hide}>
<!-- <Event_launcher_file_cont {event_file_obj} hide_created_on={false} show_bak_download={($ae_loc.trusted_access || $events_loc.launcher.trusted_access)} open_file_as={$events_slct.event_session_obj.type_code} poster_title={$events_slct.event_session_obj.title} /> --> <!-- <Event_launcher_file_cont {event_file_obj} hide_created_on={false} show_bak_download={($ae_loc.trusted_access || $events_loc.launcher.trusted_access)} open_file_as={$lq__event_session_obj.type_code} poster_title={$lq__event_session_obj.title} /> -->
</li> </li>
{/each} {/each}
</ul> </ul>
@@ -108,22 +131,27 @@ let link_to_id: null|string = null;
{/if} {/if}
<section class="event_presentation_list"> <section class="event_presentation_list">
<!-- <div><strong>Presentations:</strong></div> --> <div><strong>Presentations:</strong></div>
{#if $events_slct.event_presentation_obj_li && $events_slct.event_presentation_obj_li.length}
{$lq_get__event_presentation_obj_li?.length}
{#if $lq_get__event_presentation_obj_li}
Presentations:
<ul class="event_presentation_list"> <ul class="event_presentation_list">
{#each $events_slct.event_presentation_obj_li as event_presentation_obj, index} {#each $lq_get__event_presentation_obj_li as event_presentation_obj}
<li> <li>
<div class="event_presentation_datetime_name"> <div class="event_presentation_datetime_name">
{#if event_presentation_obj.start_datetime} {#if event_presentation_obj?.start_datetime}
<span class="event_presentation_datetime"><strong>{ae_util.iso_datetime_formatter(event_presentation_obj.start_datetime, 'time_short')}</strong></span> <span class="event_presentation_datetime"><strong>{ae_util.iso_datetime_formatter(event_presentation_obj?.start_datetime, 'time_short')}</strong></span>
{/if} {/if}
<span class="event_presentation_name">{event_presentation_obj.name}</span> <span class="event_presentation_name">{event_presentation_obj?.name}</span>
</div> </div>
{#if event_presentation_obj.event_presenter_list.length} <!-- {#if 1==3 && event_presentation_obj?.event_presenter_list.length}
<ul> <ul>
{#each event_presentation_obj.event_presenter_list as event_presenter_obj, index} {#each event_presentation_obj?.event_presenter_list as event_presenter_obj, index}
<li> <li>
<strong> <strong>
{#if event_presenter_obj.display_name }{event_presenter_obj.display_name}{:else }{event_presenter_obj.full_name}{/if } {#if event_presenter_obj.display_name }{event_presenter_obj.display_name}{:else }{event_presenter_obj.full_name}{/if }
@@ -146,9 +174,9 @@ let link_to_id: null|string = null;
{#if event_presenter_obj.event_file_list.length } {#if event_presenter_obj.event_file_list.length }
<ul class="btn_list"> <ul class="btn_list">
{#each event_presenter_obj.event_file_list as event_file_obj, index} {#each event_presenter_obj.event_file_list as event_file_obj, index}
<li class:d_none={!$events_loc.launcher.show_hidden_sessions && event_file_obj.hide}> <li class:d_none={!$events_loc.launcher.show_hidden_sessions && event_file_obj.hide}> -->
<!-- <Event_launcher_file_cont {event_file_obj} hide_created_on={false} show_bak_download={($ae_loc.trusted_access || $events_loc.launcher.trusted_access)} open_file_as={$events_slct.event_session_obj.type_code} poster_title={`${event_presenter_obj.full_name} - ${event_presentation_obj.name}`} /> --> <!-- <Event_launcher_file_cont {event_file_obj} hide_created_on={false} show_bak_download={($ae_loc.trusted_access || $events_loc.launcher.trusted_access)} open_file_as={$lq__event_session_obj.type_code} poster_title={`${event_presenter_obj.full_name} - ${event_presentation_obj?.name}`} /> -->
</li> <!-- </li>
{/each} {/each}
</ul> </ul>
{:else} {:else}
@@ -160,7 +188,7 @@ let link_to_id: null|string = null;
</ul> </ul>
{:else} {:else}
<span class="event_launcher_no_presententations">No presentations to display</span> <span class="event_launcher_no_presententations">No presentations to display</span>
{/if} {/if} -->
</li> </li>
{/each} {/each}
</ul> </ul>

View File

@@ -1,43 +1,47 @@
<script lang="ts"> <script lang="ts">
import { tick } from 'svelte';
import { goto } from '$app/navigation'; import { goto } from '$app/navigation';
// import { liveQuery } from "dexie"; // import { liveQuery } from "dexie";
import type { key_val } from '$lib/ae_stores';
// 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';
import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores'; import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores';
import { events_func } from '$lib/ae_events_functions'; import { events_func } from '$lib/ae_events_functions';
import { tick } from 'svelte';
export let data_url: any; export let data_url: any;
export let slct_event_session_id: any; export let slct_event_session_id: any;
// export let event_session_id_li: Array<string> = [''];
export let lq__event_session_obj: any;
export let lq_get__event_session_obj_li: any; export let lq_get__event_session_obj_li: any;
// export let lq__event_session_obj_li: any; let ae_promises: key_val = {
slct_event_session_id: null,
// export let dq__where_type_id_val: string = 'event_location_id'; slct_event_presentation_li: null
// export let dq__where_eq_id_val: string; };
// let lq__event_session_obj_li = liveQuery(
// () => db_events.sessions
// .where(dq__where_type_id_val)
// .equals(dq__where_eq_id_val)
// .sortBy('name')
// );
// let lq_kv__event_session_obj_li = liveQuery(
// () => db_events.sessions
// .bulkGet(event_session_id_li)
// );
</script> </script>
<!-- <span
class="text-sm font-bold"
>
{$lq__event_session_obj?.name}
</span> -->
{#if $lq_get__event_session_obj_li && $lq_get__event_session_obj_li.length > 0} {#if $lq_get__event_session_obj_li && $lq_get__event_session_obj_li.length > 0}
<strong class="text-sm"> <strong class="text-xs">
Sessions: Sessions:
{#if $ae_loc.administrator_access} {#if $ae_loc.administrator_access}
({$lq_get__event_session_obj_li?.length}) ({$lq_get__event_session_obj_li?.length})
{/if} {/if}
<!-- This should fade out once the data is loaded. -->
{#await ae_promises.slct_event_session_id}
<span class="fas fa-spinner fa-spin text-blue-500"></span>
{:then result}
<span class="fas fa-check text-green-500"></span>
{/await}
</strong> </strong>
<ul <ul
class="space-y-1" class="space-y-1"
@@ -45,37 +49,63 @@ export let lq_get__event_session_obj_li: any;
{#each $lq_get__event_session_obj_li as event_session_obj} {#each $lq_get__event_session_obj_li as event_session_obj}
<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 rounded-md" class="btn btn-sm variant-ghost-primary hover:variant-filled-primary overflow-hidden text-sm w-full max-w-full text-left transition-all rounded-md"
on:click={async () => { 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.launcher.slct.event_session_id = event_session_obj?.id;
data_url.searchParams.set('session_id', event_session_obj?.id); data_url.searchParams.set('session_id', event_session_obj?.id);
// $events_loc = $events_loc;
// $events_trigger = null;
// slct_event_session_id = null;
// $events_slct.event_session_id = null;
// dq__where_type_id_val = 'event_session_id';
// dq__where_eq_id_val = event_session_obj.id;
// $events_slct = {...$events_slct};
$events_slct.event_session_id = event_session_obj?.id; $events_slct.event_session_id = event_session_obj?.id;
$events_slct.event_session_obj = event_session_obj; $events_slct.event_session_obj = event_session_obj;
// slct_event_session_id = event_session_obj?.id;
// $events_trigger = 'load__event_session_obj';
let load_event_session_obj = events_func.handle_load_ae_obj_id__event_session({ ae_promises.slct_event_session_id = await 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: event_session_obj?.id,
try_cache: true try_cache: true
}); })
.then(async (load_results) => {
console.log(`load_results = `, load_results);
let new_url = data_url.toString() let new_url = data_url.toString();
console.log(new_url); console.log(new_url);
goto(new_url, {replaceState: false}); goto(new_url, {replaceState: false});
}} });
ae_promises.slct_event_presentation_li = await events_func.handle_load_ae_obj_li__event_presentation({
api_cfg: $ae_api,
event_session_id: event_session_obj?.id,
try_cache: true,
log_lvl: 1
})
.then(async (load_results) => {
console.log(`load_results = `, load_results);
let event_presentation_id_li = [];
let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
for (let i = 0; i < load_results.length; i++) {
let event_presentation_obj = load_results[i];
let event_presentation_id_random = event_presentation_obj.event_presentation_id_random;
tmp_li.push(event_presentation_id_random);
}
event_presentation_id_li = tmp_li;
console.log(`event_presentation_id_li:`, event_presentation_id_li);
$events_slct.id_li__event_presentation = event_presentation_id_li;
data_url.searchParams.set('presentation_li', event_presentation_id_li);
// let new_url = data_url.toString();
// console.log(new_url);
// goto(new_url, {replaceState: false});
// return load_results;
});
// await tick();
let new_url = data_url.toString();
console.log(new_url);
goto(new_url, {replaceState: false});
}}
> >
{event_session_obj?.name} {event_session_obj?.name}
</button> </button>
@@ -85,7 +115,5 @@ export let lq_get__event_session_obj_li: any;
{:else} {:else}
<p class="text-sm"> <p class="text-sm">
No sessions found. No sessions found.
<!-- {dq__where_eq_id_val} -->
</p> </p>
{/if} {/if}
<!-- Also location ID: {dq__where_eq_id_val}? -->