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[] = [];
|
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 ($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 (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) {
|
// $: if ($events_slct.event_location_obj_li) {
|
||||||
console.log(`$events_slct.event_location_obj_li:`, $events_slct.event_location_obj_li);
|
// console.log(`$events_slct.event_location_obj_li:`, $events_slct.event_location_obj_li);
|
||||||
// $events_trigger = null;
|
// // $events_trigger = null;
|
||||||
bi_trig__event_location = 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++) {
|
// 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_obj = $events_slct.event_location_obj_li[i];
|
||||||
let event_location_id_random = event_location_obj.event_location_id_random;
|
// let event_location_id_random = event_location_obj.event_location_id_random;
|
||||||
tmp_li.push(event_location_id_random);
|
// tmp_li.push(event_location_id_random);
|
||||||
}
|
// }
|
||||||
bi_id_li__event_location = tmp_li;
|
// bi_id_li__event_location = tmp_li;
|
||||||
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_slct.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_trig__event_session: any = null;
|
||||||
let bi_id_li__event_session: string[] = [];
|
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(
|
let lq_get__event_session_obj_li = liveQuery(
|
||||||
() => db_events.sessions
|
() => 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
|
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 && 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
|
<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}
|
slct_event_session_id={$events_loc.launcher.slct.event_session_id}
|
||||||
|
|
||||||
bind:bi_trig__event_location={bi_trig__event_location}
|
lq__event_obj={lq__event_obj}
|
||||||
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_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_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}
|
lq_get__event_session_obj_li={lq_get__event_session_obj_li}
|
||||||
>
|
>
|
||||||
</Event_launcher_menu>
|
</Event_launcher_menu>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { tick } from 'svelte';
|
import { tick } from 'svelte';
|
||||||
|
import { goto } from '$app/navigation';
|
||||||
|
|
||||||
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';
|
||||||
@@ -17,21 +18,22 @@ 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 slct_event_id: string;
|
// 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 slct_event_session_id: null|string;
|
||||||
|
|
||||||
export let bi_trig__event_location: any;
|
// export let bi_trig__event_location: any;
|
||||||
export let bi_id_li__event_location: string[] = [];
|
// export let bi_id_li__event_location: string[] = [];
|
||||||
export let event_session_id_li: 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__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(`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;
|
$events_trigger = null;
|
||||||
|
|
||||||
@@ -45,11 +47,12 @@ $events_trigger = null;
|
|||||||
// bi_id_li__event_location = tmp_li;
|
// bi_id_li__event_location = tmp_li;
|
||||||
// console.log(`bi_id_li__event_location:`, bi_id_li__event_location);
|
// 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: 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_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;
|
export let lq_get__event_session_obj_li: any;
|
||||||
|
|
||||||
// let lq__event_location_obj_li = liveQuery(
|
// let lq__event_location_obj_li = liveQuery(
|
||||||
@@ -96,6 +99,8 @@ if ($ae_loc.administrator_access) {
|
|||||||
qry__hidden = 'not_hidden';
|
qry__hidden = 'not_hidden';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let ae_promises: key_val = {};
|
||||||
|
|
||||||
let load_obj_li__event_session: any = {};
|
let load_obj_li__event_session: any = {};
|
||||||
// $: if (event_location_id) {
|
// $: if (event_location_id) {
|
||||||
// console.log(`event_location_id:`, event_location_id);
|
// console.log(`event_location_id:`, event_location_id);
|
||||||
@@ -173,24 +178,40 @@ let load_obj_li__event_session: any = {};
|
|||||||
</script>
|
</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}
|
{#if $lq_get__event_location_obj_li && $lq_get__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_get__event_location_obj_li?.length})
|
({$lq_get__event_location_obj_li?.length})
|
||||||
{/if}
|
{/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>
|
</strong>
|
||||||
<select
|
<select
|
||||||
class="select text-sm"
|
class="select text-xs p-1"
|
||||||
bind:value={slct_event_location_id}
|
bind:value={slct_event_location_id}
|
||||||
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.');
|
||||||
|
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) {
|
if (slct_event_location_id) {
|
||||||
$events_loc.launcher.slct.event_location_id = 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);
|
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;
|
// $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_trigger = 'event_location_li';
|
||||||
|
|
||||||
$events_slct.id_li__event_session = [];
|
$events_slct.id_li__event_session = [];
|
||||||
await tick();
|
// await tick();
|
||||||
load_obj_li__event_session = 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',
|
||||||
for_obj_id: $events_loc.launcher.slct.event_location_id,
|
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) {
|
.then(async function (load_results) {
|
||||||
console.log(`load_results = `, 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.
|
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;
|
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;
|
||||||
await tick();
|
$events_slct = {...$events_slct};
|
||||||
|
// await tick();
|
||||||
|
|
||||||
return load_results;
|
return load_results;
|
||||||
});
|
});
|
||||||
@@ -241,10 +263,14 @@ let load_obj_li__event_session: any = {};
|
|||||||
} 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.
|
||||||
// WARNING: This may need to be commented out later.
|
// 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;
|
$events_loc.launcher.slct.event_session_id = null;
|
||||||
// WARNING: This may need to be commented out later.
|
// 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>
|
<option value="">Select a location</option>
|
||||||
@@ -259,24 +285,20 @@ let load_obj_li__event_session: any = {};
|
|||||||
{:else}
|
{:else}
|
||||||
<p class="text-sm">
|
<p class="text-sm">
|
||||||
No locations found.
|
No locations found.
|
||||||
Event ID: {dq__event_obj.id}
|
Event ID: {$lq__event_obj?.id}
|
||||||
</p>
|
</p>
|
||||||
{/if}
|
{/if}
|
||||||
<!-- {slct_event_location_id} -->
|
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
<!-- {#await lq_get__event_session_obj_li}
|
|
||||||
<p>Loading sessions...</p>
|
|
||||||
{:then lq_get__event_session_obj_li} -->
|
|
||||||
Sessions:
|
|
||||||
{#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}
|
||||||
bind:slct_event_session_id={slct_event_session_id}
|
bind:slct_event_session_id={slct_event_session_id}
|
||||||
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}
|
||||||
|
</section>
|
||||||
|
|
||||||
<!-- {/await} -->
|
<!-- {/await} -->
|
||||||
|
|
||||||
<!-- {$events_slct.event_session_id} -->
|
|
||||||
@@ -1,13 +1,15 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { tick } from 'svelte';
|
import { tick } from 'svelte';
|
||||||
import { liveQuery } from "dexie";
|
import { goto } from '$app/navigation';
|
||||||
import { db_events } from "$lib/db_events";
|
// 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 { 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';
|
||||||
|
|
||||||
|
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 event_session_id_li: Array<string> = [''];
|
||||||
|
|
||||||
export let lq_get__event_session_obj_li: any;
|
export let lq_get__event_session_obj_li: any;
|
||||||
|
|
||||||
@@ -38,36 +40,42 @@ export let lq_get__event_session_obj_li: any;
|
|||||||
{/if}
|
{/if}
|
||||||
</strong>
|
</strong>
|
||||||
<ul
|
<ul
|
||||||
class="space-y-1 px-0"
|
class="space-y-1"
|
||||||
>
|
>
|
||||||
{#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"
|
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 () => {
|
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;
|
$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_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;
|
||||||
// dq__where_type_id_val = 'event_session_id';
|
// dq__where_type_id_val = 'event_session_id';
|
||||||
// dq__where_eq_id_val = event_session_obj.id;
|
// dq__where_eq_id_val = event_session_obj.id;
|
||||||
// $events_slct = {...$events_slct};
|
// $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;
|
// slct_event_session_id = event_session_obj?.id;
|
||||||
$events_trigger = 'load__event_session_obj';
|
// $events_trigger = 'load__event_session_obj';
|
||||||
|
|
||||||
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,
|
||||||
try_cache: true
|
try_cache: true
|
||||||
});
|
});
|
||||||
}}
|
|
||||||
|
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>
|
||||||
|
|||||||
Reference in New Issue
Block a user