diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts index 16eb186d..a4ed4b5c 100644 --- a/src/lib/ae_events_stores.ts +++ b/src/lib/ae_events_stores.ts @@ -485,6 +485,12 @@ let events_session_data_struct: key_val = { presenters_biography: null, }, + rpt__session_no_files: true, + rpt__session_poc_agree: false, // Default to false for new events. + rpt__session_no_bio: true, + + rpt__presenter_agree: true, + tmp_val__filename_no_ext: null, // For file rename }, diff --git a/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl.svelte b/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl.svelte index 752d9882..14cec006 100644 --- a/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl.svelte +++ b/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl.svelte @@ -20,6 +20,7 @@ let { hide_session_code = false, }: Props = $props(); + // Imports import { ae_util } from '$lib/ae_utils/ae_utils'; import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores'; @@ -104,15 +105,38 @@ function generate_presenter_export_csv(ae_obj_li) { return csv_data; } +let horiz_scroll_warning: boolean = $state(false); +let horiz_check_element: HTMLElement|null = $state(null); + +// Check if element is scrolling horizontally +$effect(() => { + if (horiz_check_element && horiz_check_element.scrollWidth > horiz_check_element.offsetWidth) { + horiz_scroll_warning = true; + // console.log('Element is too wide for the container. Horizontal scrolling detected.'); + } else { + horiz_scroll_warning = false; + // console.log('Element fits within the container. No horizontal scrolling.', horiz_check_element); + } +}); -
+
{#if $lq__event_presenter_obj_li && $lq__event_presenter_obj_li?.length} -
+
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 e917a233..bff7c1c7 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 @@ -27,6 +27,7 @@ let { hide_session_code = false, }: Props = $props(); + // Imports import Comp_event_presenter_obj_tbl from './ae_comp__event_presenter_obj_tbl.svelte'; @@ -38,6 +39,7 @@ if (log_lvl) { console.log(`link_to_type: ${link_to_type}; link_to_id: ${link_to_id}`); } + // Variables // let ae_promises: key_val = {}; // let ae_tmp: key_val = {}; @@ -49,7 +51,6 @@ let dq__where_type_id_val: string = `${link_to_type}_id_random`; let dq__where_eq_id_val: string = link_to_id; - // *** Functions and Logic let lq__event_presenter_obj_li = $derived(liveQuery(async () => { let results: any; @@ -122,7 +123,7 @@ let lq__event_presenter_obj_li = $derived(liveQuery(async () => { > {:else} -
+

No presenters available to show in table.

{/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 ec725eb2..38dcf6a2 100644 --- a/src/routes/events/[event_id]/reports/+page.svelte +++ b/src/routes/events/[event_id]/reports/+page.svelte @@ -26,6 +26,7 @@ import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_ev import { events_func } from '$lib/ae_events_functions'; import Event_reports_page_menu from './event_reports_page_menu.svelte'; +import Reports_sessions from './reports_sessions.svelte'; import Reports_presenters from './reports_presenters.svelte'; @@ -58,19 +59,19 @@ let ae_promises: key_val = $state({}); let ae_tmp: key_val = {}; let ae_triggers: key_val = {}; -if ($events_loc.pres_mgmt.show_report == 'sessions_poc_agree') { - handle_qry__event_session({ - qry_poc_agree: $events_loc.pres_mgmt.rpt__session_poc_agree ?? false, - }); -} else if ($events_loc.pres_mgmt.show_report == 'session_no_bio') { - handle_qry__event_session({ - qry_poc_kv_json: true, - qry_poc_bios: true, - }); -} else if ($events_loc.pres_mgmt.show_report == 'session_no_files') { - handle_qry__event_session({ - qry_files: false, - }); +// if ($events_loc.pres_mgmt.show_report == 'sessions_poc_agree') { +// handle_qry__event_session({ +// qry_poc_agree: $events_loc.pres_mgmt.rpt__session_poc_agree ?? false, +// }); +// } else if ($events_loc.pres_mgmt.show_report == 'session_no_bio') { +// handle_qry__event_session({ +// qry_poc_kv_json: true, +// qry_poc_bios: true, +// }); +// } else if ($events_loc.pres_mgmt.show_report == 'session_no_files') { +// handle_qry__event_session({ +// qry_files: false, +// }); // } else if ($events_loc.pres_mgmt.show_report == 'presenters_agree') { // handle_search__event_presenter({ // agree: $events_loc.pres_mgmt.rpt__presenter_agree ?? false, @@ -92,7 +93,7 @@ if ($events_loc.pres_mgmt.show_report == 'sessions_poc_agree') { // lk_search_str: '', // log_lvl: log_lvl, // }); -} else if ($events_loc.pres_mgmt.show_report == 'recent_files') { +if ($events_loc.pres_mgmt.show_report == 'recent_files') { handle_qry__event_file({ created_on_offset: $events_loc.pres_mgmt.qry__files_offset_seconds ?? 0, file_purpose: $events_loc.pres_mgmt.qry__files_purpose ?? null, @@ -597,6 +598,36 @@ async function handle_qry__event_session( + + + - - - @@ -812,10 +825,37 @@ async function handle_qry__event_session(
+ + +{#if $events_loc.pres_mgmt.show_report == 'session_no_files' || $events_loc.pres_mgmt.show_report == 'session_no_bio' || $events_loc.pres_mgmt.show_report == 'sessions_poc_agree'} + +{/if} + + -{#if $events_loc.pres_mgmt.show_report == 'sessions_poc_agree' && event_session_id_random_li} + -{/if} +{/if} --> -{#if $events_loc.pres_mgmt.show_report == 'session_no_bio' && event_session_id_random_li} + -{#if $events_loc.pres_mgmt.show_report == 'session_no_files' && event_session_id_random_li} -

Sessions without Files

+ @@ -1198,6 +1266,7 @@ async function handle_qry__event_session( show_presenter_fields={true} show_presentation_fields={true} show_session_fields={true} + hide_session_code={$events_loc.pres_mgmt?.hide__session_code} > {/if} @@ -1283,6 +1352,7 @@ async function handle_qry__event_session( show_presenter_fields={true} show_presentation_fields={true} show_session_fields={true} + hide_session_code={$events_loc.pres_mgmt?.hide__session_code} > {/if} diff --git a/src/routes/events/[event_id]/reports/reports_presenters.svelte b/src/routes/events/[event_id]/reports/reports_presenters.svelte index 3f834663..50d3672e 100644 --- a/src/routes/events/[event_id]/reports/reports_presenters.svelte +++ b/src/routes/events/[event_id]/reports/reports_presenters.svelte @@ -234,7 +234,9 @@ async function handle_search__event_presenter( $events_sess.event_presenter_obj_li = search_results; // $events_slct.event_presenter_obj_li = search_results; event_presenter_obj_li = search_results; - console.log(event_presenter_obj_li); + if (log_lvl) { + console.log(event_presenter_obj_li); + } // $events_sess.pres_mgmt.status_qry__search = 'done'; }) .finally(() => { @@ -289,7 +291,6 @@ async function handle_search__event_presenter( -
+
+ + +{/if} + + +{#if rpt__name == 'sessions_no_bio'} +
+

+ {#if qry__status == 'loading'} + + + {:else} + + {/if} + Sessions + {#if $events_loc.pres_mgmt?.rpt__session_no_bio} + With + {:else} + Without + {/if} + POC Biography +

+ +
+ +
+
+{/if} + + +{#if rpt__name == 'sessions_poc_agree'} +
+

+ {#if qry__status == 'loading'} + + + {:else} + + {/if} + Sessions POC + {#if $events_loc.pres_mgmt?.rpt__session_poc_agree} + Agreed + {:else} + Not Agreed + {/if} + to Terms +

+ +
+ +
+
+{/if} + + +{#if event_session_obj_li} + + +{/if} \ No newline at end of file diff --git a/src/routes/events/ae_comp__event_file_obj_tbl.svelte b/src/routes/events/ae_comp__event_file_obj_tbl.svelte index 40f86118..5b6054f3 100644 --- a/src/routes/events/ae_comp__event_file_obj_tbl.svelte +++ b/src/routes/events/ae_comp__event_file_obj_tbl.svelte @@ -1,4 +1,31 @@ @@ -49,7 +82,14 @@ let lq_kv__event_file_obj_li = liveQuery( {#if event_file_id_random_li && $lq_kv__event_file_obj_li && $lq_kv__event_file_obj_li?.length > 0 && $lq_kv__event_file_obj_li?.length == event_file_id_random_li?.length} -
+

Results: @@ -67,6 +107,7 @@ let lq_kv__event_file_obj_li = liveQuery(

Location {/if} {#if show_session_fields} + @@ -115,7 +159,7 @@ let lq_kv__event_file_obj_li = liveQuery(
+ Code + Session
; // export let display_mode: string = 'default'; // 'default', 'compact', 'minimal', 'launcher' - event_session_id_random_li: Array; + // event_session_id_random_li: Array; + event_session_obj_li?: Array; link_to_type: string; link_to_id: string; // export let lq__event_presentation_obj log_lvl?: number; show_location_fields?: boolean; + hide_session_code?: boolean; } let { container_class_li = [], - event_session_id_random_li, + // event_session_id_random_li, + event_session_obj_li = $bindable(), link_to_type, link_to_id, log_lvl = $bindable(0), - show_location_fields = true + show_location_fields = true, + hide_session_code = false, }: Props = $props(); @@ -25,46 +29,103 @@ let { import Comp_event_session_obj_tbl from './ae_comp__event_session_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) { console.log(`link_to_type: ${link_to_type}; link_to_id: ${link_to_id}`); } + // Variables // let ae_promises: key_val = {}; // let ae_tmp: key_val = {}; // let ae_triggers: key_val = {}; +let event_session_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; + // *** Functions and Logic let lq__event_session_obj_li = $derived(liveQuery(async () => { - if (event_session_id_random_li.length) { - let results = await db_events.sessions - .bulkGet(event_session_id_random_li); + let results: any; - return results; + if (event_session_obj_li?.length) { + if (log_lvl) { + console.log(`LQ - Using event_session_obj_li to get event sessions.`); + } + + event_session_id_random_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery. + + for (let i = 0; i < event_session_obj_li.length; i++) { + let event_session_obj = event_session_obj_li[i]; + let event_session_id_random = event_session_obj.event_session_id_random; + event_session_id_random_li.push(event_session_id_random); + } + + // if (event_session_id_random_li.length) { + results = await db_events.sessions + .bulkGet(event_session_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}`); - let results = await db_events.sessions + event_session_id_random_li = []; + results = await db_events.sessions .where(dq__where_type_id_val) .equals(dq__where_eq_id_val) - .sortBy('name') - - return results; + .sortBy('name'); } else { - return null; + event_session_id_random_li = []; + results = []; } + + // Check if results are different than the current session version stored under $events_slct + if ($events_slct.event_session_obj_li && JSON.stringify($events_slct.event_session_obj_li) !== JSON.stringify(results)) { + $events_slct.event_session_obj_li = [...results]; + if (log_lvl) { + console.log(`Session slct li stored version has changed for ID = ${$events_slct.journal_id}`, $events_slct.event_session_obj_li); + } + } else { + if (log_lvl > 1) { + console.log(`Session slct li stored version has not changed for ID = ${$events_slct.journal_id}`); + } + } + + return results; + + // if (event_session_id_random_li.length) { + // let results = await db_events.sessions + // .bulkGet(event_session_id_random_li); + + // return results; + // } else if (link_to_type && link_to_id) { + // console.log(`Trying where: ${dq__where_type_id_val}; equals: ${dq__where_eq_id_val}`); + // let results = await db_events.sessions + // .where(dq__where_type_id_val) + // .equals(dq__where_eq_id_val) + // .sortBy('name') + + // return results; + // } else { + // return null; + // } })); - - +{#if event_session_obj_li && event_session_obj_li?.length} + + +{:else} +
+

No sessions available to show in table.

+
+{/if} \ No newline at end of file