Just saving things... Not making good progress today.

This commit is contained in:
Scott Idem
2024-08-08 15:48:49 -04:00
parent f407565fc7
commit 4141524d83
6 changed files with 316 additions and 174 deletions

View File

@@ -421,11 +421,25 @@ export let events_slct = writable(events_slct_obj_template);
export let events_trigger: any = writable(null); export let events_trigger: any = writable(null);
// console.log(`AE Events Stores - Events Trigger:`, events_trigger); // console.log(`AE Events Stores - Events Trigger:`, events_trigger);
let tmp__events_trig: key_val = {
'event_id': null,
'event_id_li': [],
'event_location_id': null,
'event_location_id_li': [],
'event_session_id': null,
'event_session_id_li': [],
'event_presentation_id': null,
'event_presentation_id_li': [],
'event_presenter_id': null,
'event_presenter_id_li': [],
};
// console.log(`AE Stores - Events Trigger:`, events_trig);
export let events_trig: Writable<key_val> = writable(tmp__events_trig);
/* *** BEGIN *** TESTING Initialize trig_resp */ /* *** BEGIN *** TESTING Initialize trig_resp */
// The idea behind this is for a shared (Svelte app (within Events for now)) trigger and response. In theory this could be used to monitor multiple downloads or have a universal status area. Intended for temporary session storage. // The idea behind this is for a shared (Svelte app (within Events for now)) trigger and response. In theory this could be used to monitor multiple downloads or have a universal status area. Intended for temporary session storage.
// Updated 2024-06-25 // Updated 2024-06-25
let events_trig_kv_tmp: key_val = {}; let tmp__events_trig_kv: key_val = {};
// { // {
// 'example-1': // 'example-1':
// { // {
@@ -440,4 +454,4 @@ let events_trig_kv_tmp: key_val = {};
// 'a-rand-id-6': Promise.resolve('This is a test promise.'), // 'a-rand-id-6': Promise.resolve('This is a test promise.'),
// }, // },
// }; // };
export let events_trig_kv = writable(events_trig_kv_tmp); export let events_trig_kv = writable(tmp__events_trig_kv);

View File

@@ -31,8 +31,10 @@ export async function load({ params, parent }) { // route
}); });
} }
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;
// 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,
@@ -44,26 +46,62 @@ export async function load({ params, parent }) { // route
} }
if (browser) { if (browser) {
let load_event_location_obj_li = events_func.handle_load_ae_obj_li__event_location({ ae_acct.trig.event_location_obj_li = false;
let load_event_location_obj_li = await events_func.handle_load_ae_obj_li__event_location({
api_cfg: ae_acct.api, api_cfg: ae_acct.api,
event_id: event_id, event_id: event_id,
params: {qry__enabled: 'enabled', qry__limit: 550}, params: {qry__enabled: 'enabled', qry__limit: 550},
try_cache: true try_cache: true
})
.finally(() => {
// console.log(`load_event_location_obj_li = `, load_event_location_obj_li);
ae_acct.trig.event_location_obj_li = true;
}); });
console.log(`load_event_location_obj_li = `, load_event_location_obj_li);
ae_acct.slct.event_location_obj_li = load_event_location_obj_li; ae_acct.slct.event_location_obj_li = load_event_location_obj_li;
// console.log(`ae_acct.slct.event_location_obj_li = `, ae_acct.slct.event_location_obj_li);
let load_event_session_obj_li = events_func.handle_load_ae_obj_li__event_session({ let id_li__event_location = [];
let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
for (let i = 0; i < load_event_location_obj_li.length; i++) {
let event_location_obj = load_event_location_obj_li[i];
let event_location_id_random = event_location_obj.event_location_id_random;
tmp_li.push(event_location_id_random);
}
id_li__event_location = tmp_li;
console.log(`id_li__event_location:`, id_li__event_location);
ae_acct.slct.id_li__event_location = id_li__event_location;
}
if (browser) {
ae_acct.trig.event_session_obj_li = false;
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: 'event',
for_obj_id: event_id, for_obj_id: event_id,
params: {qry__enabled: 'enabled', qry__limit: 550}, params: {qry__enabled: 'enabled', qry__limit: 550},
try_cache: true try_cache: true
})
.finally(() => {
// console.log(`load_event_session_obj_li = `, load_event_session_obj_li);
ae_acct.trig.event_session_obj_li = true;
}); });
console.log(`load_event_session_obj_li = `, load_event_session_obj_li);
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);
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;
} }
// WARNING: Precaution against shared data between sites and sessions. // WARNING: Precaution against shared data between sites and sessions.

View File

@@ -17,7 +17,7 @@ import { liveQuery } from "dexie";
// import { db_core } from "$lib/db_core"; // import { db_core } from "$lib/db_core";
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, events_trig } from '$lib/ae_events_stores';
import { events_func } from '$lib/ae_events_functions'; import { events_func } from '$lib/ae_events_functions';
@@ -52,10 +52,19 @@ let ae_acct = data[$slct.account_id];
console.log(`ae_acct.slct.event_id:`, ae_acct.slct.event_id); 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.id_li__event_location = ae_acct.slct.id_li__event_location ?? [''];
console.log(`$events_slct.event_location_obj_li:`, $events_slct.event_location_obj_li);
$events_slct.event_session_obj_li = ae_acct.slct.event_session_obj_li ?? [''];
$events_slct.id_li__event_session = ae_acct.slct.id_li__event_session ?? [''];
$events_trig = ae_acct.trig;
$events_trig.event_location_li = true;
$events_trig.event_session_li = true;
// $events_trigger = 'event_location_li'; // $events_trigger = 'event_location_li';
// Set the local storage values
if (!$events_loc.launcher) { if (!$events_loc.launcher) {
$events_loc.launcher = {}; $events_loc.launcher = {};
$events_loc.launcher.slct = { $events_loc.launcher.slct = {
@@ -70,19 +79,110 @@ if (!$events_loc.launcher.slct) {
event_id: null, event_id: null,
event_location_id: null, event_location_id: null,
event_session_id: null, event_session_id: null,
event_presentation_id: null,
event_presenter_id: null,
}; };
} }
$events_loc.launcher.slct.event_id = ae_acct.slct.event_id;
if (ae_acct.slct.event_id) {
$events_loc.launcher.slct.event_id = ae_acct.slct.event_id;
}
if (ae_acct.slct.event_location_id) {
$events_loc.launcher.slct.event_location_id = ae_acct.slct.event_location_id;
}
if (ae_acct.slct.event_session_id) {
$events_loc.launcher.slct.event_session_id = ae_acct.slct.event_session_id;
}
if (ae_acct.slct.event_presentation_id) {
$events_loc.launcher.slct.event_presentation_id = ae_acct.slct.event_presentation_id;
}
if (ae_acct.slct.event_presenter_id) {
$events_loc.launcher.slct.event_presenter_id = ae_acct.slct.event_presenter_id;
}
// Set the session storage values
if (!$events_sess.launcher) { if (!$events_sess.launcher) {
$events_sess.launcher = {}; $events_sess.launcher = {};
} }
$events_sess.launcher.show_content__session_code = true;
$events_sess.launcher.show_content__presentation_code = true;
$events_sess.launcher.show_content__presenter_code = true;
// Process the location list to pull out just the IDs.
// let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
// let bi_id_li__event_location: string[] = [];
// for (let i = 0; i < $events_slct.event_location_obj_li.length; i++) {
// let event_location_obj = $events_slct.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);
// Variables that will be used with Svelte bind are prefixed with 'bi_'.
let bi_trig__event_location: any = null;
let bi_id_li__event_location: string[] = [];
// $: if ($events_trigger == 'event_location_li' && $events_slct.event_location_obj_li && $events_slct.event_location_obj_li.length > 0) {
// $: if (bi_trig__event_location == 'event_location_li' && $events_slct.event_location_obj_li && $events_slct.event_location_obj_li.length > 0) {
$: if (ae_acct.trig.event_location_obj_li) {
console.log(`$events_slct.event_location_obj_li:`, $events_slct.event_location_obj_li);
// $events_trigger = null;
bi_trig__event_location = null;
bi_id_li__event_location = [];
let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
for (let i = 0; i < $events_slct.event_location_obj_li.length; i++) {
let event_location_obj = $events_slct.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);
$events_slct.id_li__event_location = bi_id_li__event_location;
}
let bi_trig__event_session: any = null;
let bi_id_li__event_session: string[] = [];
// $: if ($events_trigger == 'event_session_li' && $events_slct.event_session_obj_li && $events_slct.event_session_obj_li.length) {
// $: if (bi_trig__event_session == 'event_session_li' && $events_slct.event_session_obj_li && $events_slct.event_session_obj_li.length) {
// $: if ($events_slct.id_li__event_session) {
// console.log(`$events_slct.event_session_obj_li:`, $events_slct.event_session_obj_li);
// // $events_trigger = null;
// bi_trig__event_session = null;
// bi_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 < $events_slct.event_session_obj_li.length; i++) {
// let event_session_obj = $events_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);
// }
// bi_id_li__event_session = tmp_li;
// console.log(`bi_id_li__event_session:`, bi_id_li__event_session);
// $events_slct.id_li__event_session = bi_id_li__event_session;
// }
// let lq__event_session_obj = liveQuery(
// () => db_events.sessions.get($events_slct.event_session_id)
// );
// Event
let lq__event_obj = liveQuery( let lq__event_obj = liveQuery(
() => db_events.events.get($events_loc.launcher.slct.event_id) () => db_events.events
.get($events_loc.launcher.slct.event_id)
); );
// Event Location
let lq__event_location_obj = liveQuery( let lq__event_location_obj = liveQuery(
() => db_events.locations () => db_events.locations
.get($events_loc.launcher.slct.event_location_id) .get($events_loc.launcher.slct.event_location_id)
@@ -95,6 +195,12 @@ let lq__event_location_obj_li = liveQuery(
.sortBy('name') .sortBy('name')
); );
let lq_get__event_location_obj_li = liveQuery(
() => db_events.locations
.bulkGet($events_slct.id_li__event_location ?? [''])
);
// Event Session
let lq__event_session_obj = liveQuery( let lq__event_session_obj = liveQuery(
() => db_events.sessions () => db_events.sessions
.get($events_loc.launcher.slct.event_session_id) .get($events_loc.launcher.slct.event_session_id)
@@ -107,76 +213,34 @@ let lq__event_session_obj_li = liveQuery(
.sortBy('name') .sortBy('name')
); );
let lq_get__event_session_obj_li = liveQuery(
let event_location_id_li: string[] = []; () => db_events.sessions
$: if ($events_trigger == 'event_location_li' && $events_slct.event_location_obj_li && $events_slct.event_location_obj_li.length > 0) { .bulkGet($events_slct.id_li__event_session ?? [''])
console.log(`$events_slct.event_location_obj_li:`, $events_slct.event_location_obj_li); );
$events_trigger = null;
event_location_id_li = [];
let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
for (let i = 0; i < $events_slct.event_location_obj_li.length; i++) {
let event_location_obj = $events_slct.event_location_obj_li[i];
let event_location_id_random = event_location_obj.event_location_id_random;
tmp_li.push(event_location_id_random);
}
event_location_id_li = tmp_li;
console.log(`event_location_id_li:`, event_location_id_li);
}
let event_session_id_li: string[] = [];
$: if ($events_slct.event_session_obj_li && $events_slct.event_session_obj_li.length && $events_trigger == 'event_session_li') {
console.log(`$events_slct.event_session_obj_li:`, $events_slct.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 < $events_slct.event_session_obj_li.length; i++) {
let event_session_obj = $events_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;
console.log(`event_session_id_li:`, event_session_id_li);
}
// let lq__event_session_obj = liveQuery(
// () => db_events.sessions.get($events_slct.event_session_id)
// );
if (!$events_loc.launcher) {
$events_loc.launcher = {};
}
if (!$events_sess.launcher) {
$events_sess.launcher = {};
}
$events_sess.launcher.show_content__session_code = true;
$events_sess.launcher.show_content__presentation_code = true;
$events_sess.launcher.show_content__presenter_code = true;
// Functions and Logic // Functions and Logic
if (browser) {
console.log(`Browser: ${browser}`);
// $events_trigger = 'event_location_li';
bi_trig__event_location = 'event_location_li';
bi_trig__event_session = 'event_session_li';
}
onMount(() => { onMount(() => {
console.log('Pres Mgmt Launcher [slug]: +page.svelte'); console.log('Pres Mgmt Launcher [slug]: +page@(launcher).svelte');
$events_trigger = 'event_location_li'; // $events_trigger = 'event_location_li';
}); });
</script> </script>
<svelte:head> <svelte:head>
<title> <title>
Launcher: {ae_util.shorten_string({ string: $lq__event_obj?.name ?? '', max_length: 20, begin_length: 10, end_length: 4 })} Launcher:
{ae_util.shorten_string({ string: $lq__event_obj?.name ?? '', max_length: 20, begin_length: 10, end_length: 4 })}
({$lq__event_obj?.event_id ?? 'loading...'}) - Pres Mgmt - {$ae_loc?.title} ({$lq__event_obj?.event_id ?? 'loading...'}) - Pres Mgmt - {$ae_loc?.title}
</title> </title>
</svelte:head> </svelte:head>
@@ -190,6 +254,9 @@ onMount(() => {
<header id="Main-Header" class="flex flex-row items-center justify-evenly"> <header id="Main-Header" class="flex flex-row items-center justify-evenly">
<h3 class="h4 text-center italic">&AElig; Presentation Launcher</h3> <h3 class="h4 text-center italic">&AElig; Presentation Launcher</h3>
<h2 class="h3 text-center">{$lq__event_obj?.name}</h2> <h2 class="h3 text-center">{$lq__event_obj?.name}</h2>
<h3 class="h4 text-center italic">{$lq__event_location_obj?.name}
{$events_loc.launcher.slct.event_location_id}
</h3>
</header> </header>
{/if} {/if}
@@ -215,17 +282,17 @@ onMount(() => {
border-r border-gray-200 border-r border-gray-200
" "
> >
{#await $events_slct.event_location_obj_li} {#await $events_slct.id_li__event_location}
Loading location list... Loading location list... a
{:then event_location_obj_li} {:then event_location_obj_li}
{#if $lq__event_obj && 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 && bi_id_li__event_location && bi_id_li__event_location.length > 0}
<Event_launcher_menu <Event_launcher_menu
bind:event_id={$events_slct.event_id} slct_event_location_id={$events_loc.launcher.slct.event_location_id}
bind:event_location_id={$events_slct.event_location_id} slct_event_session_id={$events_loc.launcher.slct.event_session_id}
bind:slct_event_session_id={$events_slct.event_session_id}
bind:bi_trig__event_location={bi_trig__event_location}
bind:event_location_id_li={event_location_id_li} bind:bi_id_li__event_location={bi_id_li__event_location}
event_location_obj_li={event_location_obj_li} event_location_obj_li={event_location_obj_li}
@@ -235,10 +302,17 @@ onMount(() => {
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__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__event_session_obj_li={lq__event_session_obj_li}
lq_get__event_session_obj_li={lq_get__event_session_obj_li}
> >
</Event_launcher_menu> </Event_launcher_menu>
{:else}
<div class="flex flex-row items-center justify-center">
<span class="fas fa-spinner fa-spin mx-1"></span>
<span>Loading location list... b</span>
</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 --'} -->
@@ -272,8 +346,10 @@ onMount(() => {
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__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__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

@@ -1,4 +1,6 @@
<script lang="ts"> <script lang="ts">
import { tick } from 'svelte';
import type { key_val } from '$lib/ae_stores'; import type { key_val } from '$lib/ae_stores';
import { ae_util } from '$lib/ae_utils'; import { ae_util } from '$lib/ae_utils';
import { api } from '$lib/api'; import { api } from '$lib/api';
@@ -15,12 +17,13 @@ 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 event_id: string; // export let slct_event_id: string;
export let event_location_id: string; export let slct_event_location_id: string;
export let slct_event_session_id: null|string; export let slct_event_session_id: null|string;
export let event_location_id_li: string[] = []; export let bi_trig__event_location: any;
// export let event_session_id_li: string[] = []; export let bi_id_li__event_location: string[] = [];
export let event_session_id_li: string[] = [];
export let event_location_obj_li: any[] = []; export let event_location_obj_li: any[] = [];
@@ -28,28 +31,26 @@ export let dq__event_obj: any
export let dq__where_type_id_val: string = 'event_id'; export let dq__where_type_id_val: string = 'event_id';
export let dq__where_eq_id_val: string; export let dq__where_eq_id_val: string;
console.log(`event_location_id_li:`, event_location_id_li); console.log(`bi_id_li__event_location:`, bi_id_li__event_location);
console.log(`event_location_obj_li:`, event_location_obj_li);
$events_trigger = null; $events_trigger = null;
event_location_id_li = []; // let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
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];
for (let i = 0; i < event_location_obj_li.length; i++) { // let event_location_id_random = event_location_obj.event_location_id_random;
let event_location_obj = event_location_obj_li[i]; // tmp_li.push(event_location_id_random);
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);
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: any;
export let lq__event_location_obj_li: any; export let lq__event_location_obj_li: any;
export let lq_get__event_location_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; export let lq__event_session_obj_li: any;
export let lq_get__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
@@ -58,10 +59,10 @@ export let lq__event_session_obj_li: any;
// .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(bi_id_li__event_location)
); // );
// let lq__event_session_obj_li = liveQuery( // let lq__event_session_obj_li = liveQuery(
// () => db_events.sessions // () => db_events.sessions
@@ -70,10 +71,10 @@ let lq_kv__event_location_obj_li = liveQuery(
// .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
.bulkGet(event_session_id_li) // .bulkGet(event_session_id_li)
); // );
// let lq__event_presenter_obj_li = liveQuery( // let lq__event_presenter_obj_li = liveQuery(
// () => db_events.presenters // () => db_events.presenters
@@ -95,47 +96,46 @@ if ($ae_loc.administrator_access) {
qry__hidden = 'not_hidden'; qry__hidden = 'not_hidden';
} }
let load_event_session_obj_li: any = {}; let load_obj_li__event_session: any = {};
let event_session_id_li: string[] = []; // $: if (event_location_id) {
$: if (event_location_id) { // console.log(`event_location_id:`, event_location_id);
console.log(`event_location_id:`, 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;
// $slct.event_location_id = event_location_id; // // $slct.event_location_id = event_location_id;
// $slct_trigger = 'event_location_li'; // // $slct_trigger = 'event_location_li';
$events_slct.event_location_id = event_location_id; // $events_slct.event_location_id = event_location_id;
$events_trigger = 'event_location_li'; // $events_trigger = 'event_location_li';
load_event_session_obj_li = events_func.handle_load_ae_obj_li__event_session({ // load_obj_li__event_session = 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',
for_obj_id: event_location_id, // for_obj_id: event_location_id,
params: {qry__enabled: qry__enabled, qry__limit: 550}, // params: {qry__enabled: qry__enabled, qry__limit: 550},
try_cache: false, // try_cache: false,
log_lvl: 1, // log_lvl: 1,
}) // })
.then(function (load_results) { // .then(function (load_results) {
console.log(`load_results = `, load_results); // console.log(`load_results = `, load_results);
event_session_id_li = []; // event_session_id_li = [];
let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery. // 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++) { // for (let i = 0; i < load_results.length; i++) {
let event_session_obj = load_results[i]; // let event_session_obj = load_results[i];
let event_session_id_random = event_session_obj.event_session_id_random; // let event_session_id_random = event_session_obj.event_session_id_random;
tmp_li.push(event_session_id_random); // tmp_li.push(event_session_id_random);
} // }
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);
return load_results; // return load_results;
}); // });
// console.log(`load_event_session_obj_li = `, load_event_session_obj_li); // // console.log(`load_obj_li__event_session = `, load_obj_li__event_session);
} // }
@@ -175,45 +175,50 @@ $: if (event_location_id) {
<h2 class="">{dq__event_obj?.cfg_json.short_name ?? 'loading...'}</h2> <h2 class="">{dq__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_kv__event_location_obj_li && $lq_kv__event_location_obj_li.length > 0}
<strong class="text-sm"> <strong class="text-sm">
Locations: Locations:
{#if $ae_loc.administrator_access} {#if $ae_loc.administrator_access}
({$lq_kv__event_location_obj_li?.length}) ({$lq_get__event_location_obj_li?.length})
{/if} {/if}
</strong> </strong>
<select <select
class="select text-sm" class="select text-sm"
bind:value={event_location_id} bind:value={slct_event_location_id}
on:change={() => { on:change={async () => {
console.log(`event_location_id:`, event_location_id); // console.log(`slct_event_location_id:`, slct_event_location_id);
slct_event_session_id = null; if (slct_event_location_id) {
$events_loc.launcher.slct.event_location_id = slct_event_location_id;
console.log(`$events_loc.launcher.slct.event_location_id:`, $events_loc.launcher.slct.event_location_id);
if (event_location_id) { // $events_slct.event_location_id = slct_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 = slct_event_location_id;
$events_loc.launcher.slct.event_location_id = event_location_id; // $events_loc.launcher.slct.event_location_id = null;
$events_loc.launcher.slct.event_session_id = null; // await tick();
// $events_loc.launcher.slct.event_location_id = slct_event_location_id;
// await tick();
// $slct.event_location_id = event_location_id; // $slct.event_location_id = slct_event_location_id;
// $slct_trigger = 'event_location_li'; // $slct_trigger = 'event_location_li';
$events_slct.event_location_id = event_location_id;
$events_trigger = 'event_location_li';
load_event_session_obj_li = events_func.handle_load_ae_obj_li__event_session({ // $events_trigger = 'event_location_li';
$events_slct.id_li__event_session = [];
await tick();
load_obj_li__event_session = 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',
for_obj_id: event_location_id, for_obj_id: $events_loc.launcher.slct.event_location_id,
params: {qry__enabled: 'enabled', qry__limit: 550}, params: {qry__enabled: 'enabled', qry__limit: 550},
try_cache: false, try_cache: false,
log_lvl: 1, log_lvl: 1,
}) })
.then(function (load_results) { .then(async function (load_results) {
console.log(`load_results = `, load_results); console.log(`load_results = `, load_results);
event_session_id_li = []; event_session_id_li = [];
@@ -226,17 +231,24 @@ $: if (event_location_id) {
tmp_li.push(event_session_id_random); tmp_li.push(event_session_id_random);
} }
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;
await tick();
return load_results; return load_results;
}); });
} else {
// This will hide the selected session if the location is changed to false.
// WARNING: This may need to be commented out later.
slct_event_session_id = null;
$events_loc.launcher.slct.event_session_id = null;
// WARNING: This may need to be commented out later.
} }
}} }}
> >
<option value="">Select a location</option> <option value="">Select a location</option>
{#each $lq_kv__event_location_obj_li as event_location_obj} {#each $lq_get__event_location_obj_li as event_location_obj}
<option <option
value={event_location_obj?.id} value={event_location_obj?.id}
> >
@@ -250,21 +262,21 @@ $: if (event_location_id) {
Event ID: {dq__event_obj.id} Event ID: {dq__event_obj.id}
</p> </p>
{/if} {/if}
<!-- {event_location_id} --> <!-- {slct_event_location_id} -->
{#await load_event_session_obj_li} <!-- {#await lq_get__event_session_obj_li}
<p>Loading...</p> <p>Loading sessions...</p>
{:then event_session_obj_li} {:then lq_get__event_session_obj_li} -->
Sessions:
{#if event_session_id_li && event_session_id_li.length > 0} {#if lq_get__event_session_obj_li}
<Menu_session_list_menu <Menu_session_list_menu
bind:slct_event_session_id={slct_event_session_id} bind:slct_event_session_id={slct_event_session_id}
event_session_id_li={event_session_id_li} lq_get__event_session_obj_li={lq_get__event_session_obj_li}
/> />
{/if} {/if}
{/await} <!-- {/await} -->
<!-- {$events_slct.event_session_id} --> <!-- {$events_slct.event_session_id} -->

View File

@@ -9,6 +9,8 @@ import { events_func } from '$lib/ae_events_functions';
export let slct_event_session_id: any; export let slct_event_session_id: any;
export let event_session_id_li: Array<string> = ['']; export let event_session_id_li: Array<string> = [''];
export let lq_get__event_session_obj_li: any;
// export let lq__event_session_obj_li: any; // export let lq__event_session_obj_li: any;
// export let dq__where_type_id_val: string = 'event_location_id'; // export let dq__where_type_id_val: string = 'event_location_id';
@@ -21,24 +23,24 @@ export let event_session_id_li: Array<string> = [''];
// .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
.bulkGet(event_session_id_li) // .bulkGet(event_session_id_li)
); // );
</script> </script>
{#if $lq_kv__event_session_obj_li && $lq_kv__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-sm">
Sessions: Sessions:
{#if $ae_loc.administrator_access} {#if $ae_loc.administrator_access}
({$lq_kv__event_session_obj_li?.length}) ({$lq_get__event_session_obj_li?.length})
{/if} {/if}
</strong> </strong>
<ul <ul
class="space-y-1 px-0" class="space-y-1 px-0"
> >
{#each $lq_kv__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" class="btn btn-sm variant-ghost-primary hover:variant-filled-primary overflow-hidden text-xs w-full max-w-full text-left transition-all"

View File

@@ -99,7 +99,7 @@ let event_session_id_random_li: string[] = ['VSBH-19-41-50'];
// ); // );
let load_obj_li_results: Promise<any>|key_val; // let load_obj_li_results: Promise<any>|key_val;
let search_submit_results: Promise<any>|key_val; let search_submit_results: Promise<any>|key_val;
let ae_tmp: key_val = {}; let ae_tmp: key_val = {};
@@ -476,7 +476,7 @@ async function handle_search__event_session(
</div> </div>
{#await load_obj_li_results} <!-- {#await load_obj_li_results}
<span class="modal-loading"> <span class="modal-loading">
<span class="fas fa-spinner fa-spin"></span> <span class="fas fa-spinner fa-spin"></span>
<span class="loading-text"> <span class="loading-text">
@@ -490,7 +490,7 @@ async function handle_search__event_session(
Loaded Loaded
</span> </span>
{/if} {/if}
{/await} {/await} -->
{#if $events_slct.event_session_obj_li?.length == event_session_id_random_li?.length} {#if $events_slct.event_session_obj_li?.length == event_session_id_random_li?.length}
<!-- <div class="sm:bg-red-200 md:bg-yellow-200 lg:bg-green-200 md:max-w-screen-md lg:max-w-screen-lg xl:max-w-screen-xl overflow-x-scroll outline"> --> <!-- <div class="sm:bg-red-200 md:bg-yellow-200 lg:bg-green-200 md:max-w-screen-md lg:max-w-screen-lg xl:max-w-screen-xl overflow-x-scroll outline"> -->