From bd964cac802fae74d3bab18f274f066207a8f6c3 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Thu, 4 Sep 2025 18:50:50 -0400 Subject: [PATCH] Still working on reports... Why are they not more responsive? --- ...mp__event_presenter_obj_tbl_wrapper.svelte | 70 +++++++++++++------ .../events/[event_id]/reports/+page.svelte | 44 +++++++----- src/routes/journals/[journal_id]/+page.svelte | 6 +- 3 files changed, 79 insertions(+), 41 deletions(-) diff --git a/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl_wrapper.svelte b/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl_wrapper.svelte index 93306f38..ea1af96f 100644 --- a/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl_wrapper.svelte +++ b/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl_wrapper.svelte @@ -3,7 +3,8 @@ interface Props { // Exports container_class_li?: string|Array; // display_mode?: string; // 'default', 'compact', 'minimal', 'launcher' - event_presenter_id_random_li?: Array; + // event_presenter_id_random_li?: Array; + event_presenter_obj_li?: Array; link_to_type?: string; link_to_id?: string; // export let lq__event_presentation_obj @@ -15,10 +16,11 @@ interface Props { let { container_class_li = [], // display_mode = 'default', - event_presenter_id_random_li = $bindable([]), + // event_presenter_id_random_li = $bindable(), + event_presenter_obj_li = $bindable(), link_to_type, link_to_id, - log_lvl = 0, + log_lvl = $bindable(0), show_presentation_fields = false, show_session_fields = false }: Props = $props(); @@ -27,6 +29,7 @@ let { import Comp_event_presenter_obj_tbl from './ae_comp__event_presenter_obj_tbl.svelte'; import { liveQuery } from "dexie"; +import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores'; import { db_events } from "$lib/ae_events/db_events"; if (log_lvl) { @@ -38,6 +41,8 @@ if (log_lvl) { // let ae_tmp: key_val = {}; // let ae_triggers: key_val = {}; +let event_presenter_id_random_li: Array = $state([]); + let dq__where_type_id_val: string = `${link_to_type}_id_random`; let dq__where_eq_id_val: string = link_to_id; @@ -45,18 +50,42 @@ let dq__where_eq_id_val: string = link_to_id; // *** Functions and Logic let lq__event_presenter_obj_li = $derived(liveQuery(async () => { - let results; + let results: any; - if (event_presenter_id_random_li.length) { - results = await db_events.presenters - .bulkGet(event_presenter_id_random_li); + // let event_presenter_id_random_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery. + + + // for (let i = 0; i < $events_sess?.event_presenter_obj_li.length; i++) { + // let event_presenter_obj = $events_sess?.event_presenter_obj_li[i]; + // let event_presenter_id_random = event_presenter_obj.event_presenter_id_random; + // event_presenter_id_random_li.push(event_presenter_id_random); + // } + if (event_presenter_obj_li?.length) { + if (log_lvl) { + console.log(`LQ - Using event_presenter_obj_li to get event presenters.`); + } + + event_presenter_id_random_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery. + + for (let i = 0; i < event_presenter_obj_li.length; i++) { + let event_presenter_obj = event_presenter_obj_li[i]; + let event_presenter_id_random = event_presenter_obj.event_presenter_id_random; + event_presenter_id_random_li.push(event_presenter_id_random); + } + + // if (event_presenter_id_random_li.length) { + results = await db_events.presenters + .bulkGet(event_presenter_id_random_li); + // } } else if (link_to_type && link_to_id) { console.log(`Trying where: ${dq__where_type_id_val}; equals: ${dq__where_eq_id_val}`); + event_presenter_id_random_li = []; results = await db_events.presenters .where(dq__where_type_id_val) .equals(dq__where_eq_id_val) .sortBy('name'); } else { + event_presenter_id_random_li = []; results = []; } @@ -65,18 +94,19 @@ let lq__event_presenter_obj_li = $derived(liveQuery(async () => { -{#if $lq__event_presenter_obj_li && $lq__event_presenter_obj_li?.length} - - - + + +{#if event_presenter_id_random_li && event_presenter_id_random_li?.length} + + {:else} -
-

No presenters available to show. WRAPPER

-
+
+

No presenters available to show. WRAPPER

+
{/if} \ No newline at end of file diff --git a/src/routes/events/[event_id]/reports/+page.svelte b/src/routes/events/[event_id]/reports/+page.svelte index 2505407f..1947cf52 100644 --- a/src/routes/events/[event_id]/reports/+page.svelte +++ b/src/routes/events/[event_id]/reports/+page.svelte @@ -48,7 +48,7 @@ let lq__event_obj = $derived(liveQuery(async () => { let event_file_id_random_li: Array = $state(); let event_session_id_random_li: Array = $state(); // let event_presentation_id_random_li: Array; -let event_presenter_id_random_li: Array = $state(); +// let event_presenter_id_random_li: Array = $state(); // let load_obj_li_results: Promise|key_val; // let search_submit_results: Promise|key_val; @@ -354,6 +354,8 @@ async function handle_search__event_presenter( $events_sess.pres_mgmt.status_qry__search = 'loading'; $events_sess.pres_mgmt.status_rpt[$events_loc.pres_mgmt.show_report] = 'loading'; + $events_slct.event_presenter_obj_li = []; // Clear out any previous results. + // let order_by_li = {'updated_on': 'DESC', 'priority': 'DESC', 'sort': 'DESC', 'given_name': 'ASC', 'family_name': 'ASC', 'email': 'ASC', 'created_on': 'DESC'}; ae_promises.search__event_presenter = events_func.search__event_presenter({ @@ -378,6 +380,7 @@ async function handle_search__event_presenter( // Processing the results from the search. $events_sess.pres_mgmt.status_qry__search = 'processing'; $events_sess.pres_mgmt.status_rpt[$events_loc.pres_mgmt.show_report] = 'processing'; + // $events_sess.event_presenter_obj_li = search_results; $events_slct.event_presenter_obj_li = search_results; console.log(search_results); // $events_sess.pres_mgmt.status_qry__search = 'done'; @@ -388,14 +391,14 @@ async function handle_search__event_presenter( } // console.log(`TEST search: ${$lq_kv__event_presenter_obj_li}`); - event_presenter_id_random_li = []; + // event_presenter_id_random_li = []; // We need to loop through the array of objects and get the event_presenter_id_random from each object a new list of event_presenter_id_randoms. Then we can use this list to get the full objects from the database. - let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery. - for (let i = 0; i < $events_slct.event_presenter_obj_li.length; i++) { - tmp_li.push($events_slct.event_presenter_obj_li[i].event_presenter_id_random); - } - event_presenter_id_random_li = tmp_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_presenter_obj_li.length; i++) { + // tmp_li.push($events_slct.event_presenter_obj_li[i].event_presenter_id_random); + // } + // event_presenter_id_random_li = tmp_li; // event_presenter_id_random_li = $events_slct.event_presenter_obj_li.map(presenter_obj => presenter_obj.event_presenter_id_random); @@ -403,10 +406,10 @@ async function handle_search__event_presenter( $events_sess.pres_mgmt.status_qry__search = 'done'; $events_sess.pres_mgmt.status_rpt[$events_loc.pres_mgmt.show_report] = 'done'; - if (log_lvl > 1) { - console.log(`TEST SEARCH - event_presenter_id_random_li:`, event_presenter_id_random_li); - // console.log(`TEST SEARCH - search live query: ${$lq_kv__event_presenter_obj_li}`); - } + // if (log_lvl > 1) { + // console.log(`TEST SEARCH - event_presenter_id_random_li:`, event_presenter_id_random_li); + // // console.log(`TEST SEARCH - search live query: ${$lq_kv__event_presenter_obj_li}`); + // } }); } @@ -857,10 +860,11 @@ async function handle_qry__event_session( -{#if $events_loc.pres_mgmt.show_report == 'presenters_agree' && event_presenter_id_random_li} +{#if $events_loc.pres_mgmt.show_report == 'presenters_agree' && $events_slct.event_presenter_obj_li}

Presenters {#if $events_loc.pres_mgmt.rpt__presenter_agree}Agreed{:else}Not Agreed{/if} + {$events_slct.event_presenter_obj_li.length ?? 0} found