Still working on reports... Why are they not more responsive?
This commit is contained in:
@@ -3,7 +3,8 @@ interface Props {
|
||||
// Exports
|
||||
container_class_li?: string|Array<string>;
|
||||
// display_mode?: string; // 'default', 'compact', 'minimal', 'launcher'
|
||||
event_presenter_id_random_li?: Array<string>;
|
||||
// event_presenter_id_random_li?: Array<string>;
|
||||
event_presenter_obj_li?: Array<any>;
|
||||
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<string> = $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 () => {
|
||||
</script>
|
||||
|
||||
|
||||
{#if $lq__event_presenter_obj_li && $lq__event_presenter_obj_li?.length}
|
||||
<!-- display_mode={display_mode} -->
|
||||
<Comp_event_presenter_obj_tbl
|
||||
container_class_li={container_class_li}
|
||||
lq__event_presenter_obj_li={lq__event_presenter_obj_li}
|
||||
show_presentation_fields={show_presentation_fields}
|
||||
show_session_fields={show_session_fields}
|
||||
log_lvl={log_lvl}
|
||||
>
|
||||
</Comp_event_presenter_obj_tbl>
|
||||
<!-- {#if $lq__event_presenter_obj_li && $lq__event_presenter_obj_li?.length} -->
|
||||
<!-- {#if event_presenter_id_random_li && event_presenter_id_random_li?.length > 0} -->
|
||||
{#if event_presenter_id_random_li && event_presenter_id_random_li?.length}
|
||||
<Comp_event_presenter_obj_tbl
|
||||
container_class_li={container_class_li}
|
||||
lq__event_presenter_obj_li={lq__event_presenter_obj_li}
|
||||
show_presentation_fields={show_presentation_fields}
|
||||
show_session_fields={show_session_fields}
|
||||
log_lvl={log_lvl}
|
||||
>
|
||||
</Comp_event_presenter_obj_tbl>
|
||||
{:else}
|
||||
<section class="main_content grow px-1 md:px-2 pb-28 flex flex-col gap-1 items-center">
|
||||
<p>No presenters available to show. WRAPPER</p>
|
||||
</section>
|
||||
<section class="main_content grow px-1 md:px-2 pb-28 flex flex-col gap-1 items-center">
|
||||
<p>No presenters available to show. WRAPPER</p>
|
||||
</section>
|
||||
{/if}
|
||||
@@ -48,7 +48,7 @@ let lq__event_obj = $derived(liveQuery(async () => {
|
||||
let event_file_id_random_li: Array<string> = $state();
|
||||
let event_session_id_random_li: Array<string> = $state();
|
||||
// let event_presentation_id_random_li: Array<string>;
|
||||
let event_presenter_id_random_li: Array<string> = $state();
|
||||
// let event_presenter_id_random_li: Array<string> = $state();
|
||||
|
||||
// let load_obj_li_results: Promise<any>|key_val;
|
||||
// let search_submit_results: Promise<any>|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(
|
||||
|
||||
|
||||
<!-- Show presenters that have agreed -->
|
||||
{#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}
|
||||
<!-- <div class="overflow-x-auto"> -->
|
||||
<h3 class="h4 text-center">
|
||||
Presenters {#if $events_loc.pres_mgmt.rpt__presenter_agree}Agreed{:else}Not Agreed{/if}
|
||||
{$events_slct.event_presenter_obj_li.length ?? 0} found
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
@@ -892,12 +896,14 @@ async function handle_qry__event_session(
|
||||
<p class="text-center text-red-500 font-bold">This report is not complete! Some records will be missing from these results. This report is being worked on.</p>
|
||||
{/if} -->
|
||||
|
||||
<!-- bind:event_presenter_id_random_li={event_presenter_id_random_li} -->
|
||||
<!-- {#if event_presenter_id_random_li && event_presenter_id_random_li?.length } -->
|
||||
<Comp_event_presenter_obj_tbl
|
||||
bind:event_presenter_id_random_li={event_presenter_id_random_li}
|
||||
|
||||
bind:event_presenter_obj_li={$events_slct.event_presenter_obj_li}
|
||||
show_presentation_fields={true}
|
||||
show_session_fields={true}
|
||||
log_lvl={log_lvl}
|
||||
log_lvl={2}
|
||||
>
|
||||
</Comp_event_presenter_obj_tbl>
|
||||
<!-- {:else}
|
||||
@@ -906,11 +912,12 @@ async function handle_qry__event_session(
|
||||
{/if}
|
||||
|
||||
<!-- Show presenters with bios -->
|
||||
{#if $events_loc.pres_mgmt.show_report == 'presenters_biography' && event_presenter_id_random_li}
|
||||
{#if $events_loc.pres_mgmt.show_report == 'presenters_biography' && $events_slct.event_presenter_obj_li}
|
||||
<h3 class="h4 text-center">Presenters with Bios</h3>
|
||||
|
||||
<Comp_event_presenter_obj_tbl
|
||||
bind:event_presenter_id_random_li={event_presenter_id_random_li}
|
||||
|
||||
bind:event_presenter_obj_li={$events_slct.event_presenter_obj_li}
|
||||
show_presentation_fields={true}
|
||||
show_session_fields={true}
|
||||
log_lvl={log_lvl}
|
||||
@@ -919,7 +926,7 @@ async function handle_qry__event_session(
|
||||
{/if}
|
||||
|
||||
<!-- Show overview of presenters (status checklist) -->
|
||||
{#if $events_loc.pres_mgmt.show_report == 'presenters_overview' && event_presenter_id_random_li}
|
||||
{#if $events_loc.pres_mgmt.show_report == 'presenters_overview' && $events_slct.event_presenter_obj_li}
|
||||
<h3 class="h4 text-center">
|
||||
Presenters Overview
|
||||
<!-- Sorting options (presenter name, start_datetime, updated_on) -->
|
||||
@@ -1020,7 +1027,8 @@ async function handle_qry__event_session(
|
||||
|
||||
</h3>
|
||||
<Comp_event_presenter_obj_tbl
|
||||
bind:event_presenter_id_random_li={event_presenter_id_random_li}
|
||||
|
||||
bind:event_presenter_obj_li={$events_slct.event_presenter_obj_li}
|
||||
show_presentation_fields={true}
|
||||
show_session_fields={true}
|
||||
log_lvl={log_lvl}
|
||||
|
||||
@@ -299,9 +299,9 @@ if (browser) {
|
||||
lq__journal_entry_obj_li={lq__journal_entry_obj_li}
|
||||
/>
|
||||
{:else}
|
||||
<section class="main_content grow px-1 md:px-2 pb-28 flex flex-col gap-1 items-center">
|
||||
<p>No journal entry available to show.</p>
|
||||
</section>
|
||||
<section class="main_content grow px-1 md:px-2 pb-28 flex flex-col gap-1 items-center">
|
||||
<p>No journal entry available to show.</p>
|
||||
</section>
|
||||
{/if}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user