Things are finally working better again with the liveQuery. I hope.
This commit is contained in:
@@ -127,24 +127,26 @@ 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;
|
||||
// $: if ($events_slct.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 = [];
|
||||
// bi_id_li__event_location = [];
|
||||
|
||||
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 < $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;
|
||||
}
|
||||
// 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;
|
||||
|
||||
// $events_slct.event_location_obj_li = ae_acct.slct.event_location_obj_li;
|
||||
// }
|
||||
|
||||
let bi_trig__event_session: any = null;
|
||||
let bi_id_li__event_session: string[] = [];
|
||||
@@ -215,7 +217,7 @@ let lq__event_session_obj_li = liveQuery(
|
||||
|
||||
let lq_get__event_session_obj_li = liveQuery(
|
||||
() => db_events.sessions
|
||||
.bulkGet($events_slct.id_li__event_session ?? [''])
|
||||
.bulkGet($events_slct.id_li__event_session)
|
||||
);
|
||||
|
||||
|
||||
@@ -286,25 +288,17 @@ onMount(() => {
|
||||
Loading location list... a
|
||||
{: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 && bi_id_li__event_location && bi_id_li__event_location.length > 0}
|
||||
{#if $lq__event_obj && $events_slct.event_location_obj_li}
|
||||
<Event_launcher_menu
|
||||
slct_event_location_id={$events_loc.launcher.slct.event_location_id}
|
||||
data_url={data.url}
|
||||
slct_event_session_id={$events_loc.launcher.slct.event_session_id}
|
||||
|
||||
bind:bi_trig__event_location={bi_trig__event_location}
|
||||
bind:bi_id_li__event_location={bi_id_li__event_location}
|
||||
|
||||
event_location_obj_li={event_location_obj_li}
|
||||
|
||||
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_obj={lq__event_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_li={lq__event_session_obj_li}
|
||||
lq_get__event_session_obj_li={lq_get__event_session_obj_li}
|
||||
>
|
||||
</Event_launcher_menu>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { tick } from 'svelte';
|
||||
import { goto } from '$app/navigation';
|
||||
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
import { ae_util } from '$lib/ae_utils';
|
||||
@@ -17,21 +18,22 @@ import { events_func } from '$lib/ae_events_functions';
|
||||
|
||||
import Menu_session_list_menu from './menu_session_list.svelte';
|
||||
|
||||
export let data_url: any;
|
||||
// export let slct_event_id: string;
|
||||
export 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 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 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;
|
||||
// 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);
|
||||
// console.log(`bi_id_li__event_location:`, bi_id_li__event_location);
|
||||
|
||||
$events_trigger = null;
|
||||
|
||||
@@ -45,11 +47,12 @@ $events_trigger = null;
|
||||
// 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_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_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(
|
||||
@@ -96,6 +99,8 @@ if ($ae_loc.administrator_access) {
|
||||
qry__hidden = 'not_hidden';
|
||||
}
|
||||
|
||||
let ae_promises: key_val = {};
|
||||
|
||||
let load_obj_li__event_session: any = {};
|
||||
// $: if (event_location_id) {
|
||||
// console.log(`event_location_id:`, event_location_id);
|
||||
@@ -173,24 +178,40 @@ let load_obj_li__event_session: any = {};
|
||||
</script>
|
||||
|
||||
|
||||
<h2 class="">{dq__event_obj?.cfg_json.short_name ?? 'loading...'}</h2>
|
||||
|
||||
<section>
|
||||
<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}
|
||||
<strong class="text-sm">
|
||||
Locations:
|
||||
{#if $ae_loc.administrator_access}
|
||||
({$lq_get__event_location_obj_li?.length})
|
||||
{/if}
|
||||
{#await ae_promises[slct_event_location_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>
|
||||
<select
|
||||
class="select text-sm"
|
||||
class="select text-xs p-1"
|
||||
bind:value={slct_event_location_id}
|
||||
on:change={async () => {
|
||||
// console.log(`slct_event_location_id:`, slct_event_location_id);
|
||||
|
||||
console.log('Remove the passcode from the URL.');
|
||||
data_url.searchParams.delete('location_id');
|
||||
data_url.searchParams.delete('presentation_id');
|
||||
data_url.searchParams.delete('presenter_id');
|
||||
data_url.searchParams.delete('session_id');
|
||||
|
||||
// let url_location_id = slct_event_location_id;
|
||||
// data_url.searchParams.set('location_id', url_location_id);
|
||||
|
||||
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);
|
||||
data_url.searchParams.set('location_id', slct_event_location_id);
|
||||
// await tick();
|
||||
|
||||
// $events_slct.event_location_id = slct_event_location_id;
|
||||
|
||||
@@ -209,8 +230,8 @@ let load_obj_li__event_session: any = {};
|
||||
// $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({
|
||||
// await tick();
|
||||
ae_promises[slct_event_location_id] = events_func.handle_load_ae_obj_li__event_session({
|
||||
api_cfg: $ae_api,
|
||||
for_obj_type: 'event_location',
|
||||
for_obj_id: $events_loc.launcher.slct.event_location_id,
|
||||
@@ -221,7 +242,7 @@ let load_obj_li__event_session: any = {};
|
||||
.then(async function (load_results) {
|
||||
console.log(`load_results = `, load_results);
|
||||
|
||||
event_session_id_li = [];
|
||||
let event_session_id_li = [];
|
||||
|
||||
let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
|
||||
|
||||
@@ -233,7 +254,8 @@ let load_obj_li__event_session: any = {};
|
||||
event_session_id_li = tmp_li;
|
||||
console.log(`event_session_id_li:`, event_session_id_li);
|
||||
$events_slct.id_li__event_session = event_session_id_li;
|
||||
await tick();
|
||||
$events_slct = {...$events_slct};
|
||||
// await tick();
|
||||
|
||||
return load_results;
|
||||
});
|
||||
@@ -241,10 +263,14 @@ let load_obj_li__event_session: any = {};
|
||||
} 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;
|
||||
// slct_event_session_id = null;
|
||||
$events_loc.launcher.slct.event_session_id = null;
|
||||
// WARNING: This may need to be commented out later.
|
||||
}
|
||||
|
||||
let new_url = data_url.toString()
|
||||
console.log(new_url);
|
||||
goto(new_url, {replaceState: false});
|
||||
}}
|
||||
>
|
||||
<option value="">Select a location</option>
|
||||
@@ -259,24 +285,20 @@ let load_obj_li__event_session: any = {};
|
||||
{:else}
|
||||
<p class="text-sm">
|
||||
No locations found.
|
||||
Event ID: {dq__event_obj.id}
|
||||
Event ID: {$lq__event_obj?.id}
|
||||
</p>
|
||||
{/if}
|
||||
<!-- {slct_event_location_id} -->
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<!-- {#await lq_get__event_session_obj_li}
|
||||
<p>Loading sessions...</p>
|
||||
{:then lq_get__event_session_obj_li} -->
|
||||
Sessions:
|
||||
<section>
|
||||
{#if lq_get__event_session_obj_li}
|
||||
<Menu_session_list_menu
|
||||
data_url={data_url}
|
||||
bind:slct_event_session_id={slct_event_session_id}
|
||||
lq_get__event_session_obj_li={lq_get__event_session_obj_li}
|
||||
/>
|
||||
{/if}
|
||||
</section>
|
||||
|
||||
<!-- {/await} -->
|
||||
|
||||
<!-- {$events_slct.event_session_id} -->
|
||||
@@ -1,13 +1,15 @@
|
||||
<script lang="ts">
|
||||
import { tick } from 'svelte';
|
||||
import { liveQuery } from "dexie";
|
||||
import { db_events } from "$lib/db_events";
|
||||
import { goto } from '$app/navigation';
|
||||
// import { liveQuery } from "dexie";
|
||||
// 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 { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
|
||||
export let data_url: 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;
|
||||
|
||||
@@ -38,36 +40,42 @@ export let lq_get__event_session_obj_li: any;
|
||||
{/if}
|
||||
</strong>
|
||||
<ul
|
||||
class="space-y-1 px-0"
|
||||
class="space-y-1"
|
||||
>
|
||||
{#each $lq_get__event_session_obj_li as event_session_obj}
|
||||
<li>
|
||||
<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 rounded-md"
|
||||
on:click={async () => {
|
||||
|
||||
$events_loc.launcher.slct.event_session_id = null;
|
||||
await tick();
|
||||
|
||||
// $events_loc.launcher.slct.event_session_id = null;
|
||||
// await tick();
|
||||
$events_loc.launcher.slct.event_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;
|
||||
// $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_obj = event_session_obj;
|
||||
slct_event_session_id = event_session_obj?.id;
|
||||
$events_trigger = 'load__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({
|
||||
api_cfg: $ae_api,
|
||||
event_session_id: slct_event_session_id,
|
||||
try_cache: true
|
||||
});
|
||||
}}
|
||||
|
||||
let new_url = data_url.toString()
|
||||
console.log(new_url);
|
||||
goto(new_url, {replaceState: false});
|
||||
}}
|
||||
>
|
||||
{event_session_obj?.name}
|
||||
</button>
|
||||
|
||||
Reference in New Issue
Block a user