From 9a1995dd9f3bb70f4db179f5e5120c9baea755fb Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 9 Aug 2024 17:50:54 -0400 Subject: [PATCH] Lots of changes. Things are working better. Files are now showing for the session and presenter. Next is location and event. --- src/lib/ae_events__event_file.ts | 6 +- src/lib/ae_events__event_presenter.ts | 30 +- src/lib/ae_events__event_session.ts | 113 +++++-- src/lib/ae_events_stores.ts | 8 + src/lib/ae_utils__datetime_format.ts | 5 +- src/lib/db_events.ts | 1 + src/lib/element_manage_event_file_li.svelte | 8 +- .../(launcher)/launcher/[slug]/+page.ts | 4 +- .../launcher/[slug]/+page@(launcher).svelte | 4 +- .../launcher/[slug]/launcher_file_cont.svelte | 6 +- .../launcher/[slug]/launcher_menu.svelte | 46 ++- .../[slug]/launcher_presenter_view.svelte | 114 +++++++ .../[slug]/launcher_session_view.svelte | 314 +++++++++++++----- .../launcher/[slug]/menu_session_list.svelte | 29 +- .../ae_comp__event_presenter_obj_li.svelte | 3 +- .../ae_comp__event_session_obj_li.svelte | 16 +- src/routes/events_pres_mgmt/form_agree.svelte | 6 +- .../presenter/[slug]/+page.ts | 2 +- .../presenter_page_menu.svelte | 18 +- .../events_pres_mgmt/presenter_view.svelte | 68 +++- .../events_pres_mgmt/session/[slug]/+page.ts | 7 +- .../events_pres_mgmt/session_page_menu.svelte | 19 +- .../events_pres_mgmt/session_view.svelte | 15 +- src/routes/events_speakers/+page.svelte | 13 +- .../events_speakers/[slug]/+page.svelte | 4 +- 25 files changed, 683 insertions(+), 176 deletions(-) create mode 100644 src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_presenter_view.svelte diff --git a/src/lib/ae_events__event_file.ts b/src/lib/ae_events__event_file.ts index f132d899..de0fddc5 100644 --- a/src/lib/ae_events__event_file.ts +++ b/src/lib/ae_events__event_file.ts @@ -79,7 +79,7 @@ export async function handle_load_ae_obj_li__event_file( } let enabled: string = (params.qry__enabled ?? 'enabled'); // all, disabled, enabled - let hidden: string = (params.qry__hidden ?? 'not_hidden'); // all, hidden, not_hidden + let hidden: string = (params.qry__hidden ?? 'all'); // all, hidden, not_hidden let limit: number = (params.qry__limit ?? 99); // 99 let offset: number = (params.qry__offset ?? 0); // 0 @@ -105,7 +105,9 @@ export async function handle_load_ae_obj_li__event_file( }) .then(function (event_file_obj_li_get_result) { if (event_file_obj_li_get_result) { - handle_db_save_ae_obj_li__event_file({obj_type: 'event_file', obj_li: event_file_obj_li_get_result}); + if (try_cache) { + handle_db_save_ae_obj_li__event_file({obj_type: 'event_file', obj_li: event_file_obj_li_get_result}); + } return event_file_obj_li_get_result; } else { console.log('No results returned.'); diff --git a/src/lib/ae_events__event_presenter.ts b/src/lib/ae_events__event_presenter.ts index 2c09d72f..3a2f479a 100644 --- a/src/lib/ae_events__event_presenter.ts +++ b/src/lib/ae_events__event_presenter.ts @@ -11,7 +11,7 @@ export async function handle_load_ae_obj_id__event_presenter( { api_cfg, event_presenter_id, - try_cache=false, + try_cache = true, log_lvl=0 }: { api_cfg: any, @@ -35,8 +35,13 @@ export async function handle_load_ae_obj_id__event_presenter( }) .then(function (event_presenter_obj_get_result) { if (event_presenter_obj_get_result) { - // This is expecting a list - handle_db_save_ae_obj_li__event_presenter({obj_type: 'event_presenter', obj_li: [event_presenter_obj_get_result]}); + if (try_cache) { + // This is expecting a list + handle_db_save_ae_obj_li__event_presenter({ + obj_type: 'event_presenter', + obj_li: [event_presenter_obj_get_result] + }); + } return event_presenter_obj_get_result; } else { console.log('No results returned.'); @@ -55,20 +60,22 @@ export async function handle_load_ae_obj_id__event_presenter( export async function handle_load_ae_obj_li__event_presenter( { api_cfg, - event_presentation_id, + for_obj_type, + for_obj_id, params={}, try_cache=true, log_lvl=0 }: { api_cfg: any, - event_presentation_id: string, + for_obj_type: string, + for_obj_id: string, params?: key_val, try_cache?: boolean, log_lvl?: number } ) { if (log_lvl) { - console.log(`*** handle_load_ae_obj_li__event_presenter() *** event_presentation_id=${event_presentation_id}`); + console.log(`*** handle_load_ae_obj_li__event_presenter() *** for_obj_type=${for_obj_type} for_obj_id=${for_obj_id}`); } let enabled: string = (params.qry__enabled ?? 'enabled'); // all, disabled, enabled @@ -83,8 +90,8 @@ export async function handle_load_ae_obj_li__event_presenter( ae_promises.load__event_presenter_obj_li = await api.get_ae_obj_li_for_obj_id_crud({ api_cfg: api_cfg, obj_type: 'event_presenter', - for_obj_type: 'event_presentation', - for_obj_id: event_presentation_id, + for_obj_type: for_obj_type, + for_obj_id: for_obj_id, use_alt_table: true, // NOTE: This will use the table_name_alt value instead of the table_name value in the API config. use_alt_base: false, // NOTE: This will use the base_name_alt value instead of the base_name value enabled: enabled, @@ -98,7 +105,12 @@ export async function handle_load_ae_obj_li__event_presenter( }) .then(function (event_presenter_obj_li_get_result) { if (event_presenter_obj_li_get_result) { - handle_db_save_ae_obj_li__event_presenter({obj_type: 'event_presenter', obj_li: event_presenter_obj_li_get_result}); + if (try_cache) { + handle_db_save_ae_obj_li__event_presenter({ + obj_type: 'event_presenter', + obj_li: event_presenter_obj_li_get_result + }); + } return event_presenter_obj_li_get_result; } else { return []; diff --git a/src/lib/ae_events__event_session.ts b/src/lib/ae_events__event_session.ts index 39f72a9d..0845f6c2 100644 --- a/src/lib/ae_events__event_session.ts +++ b/src/lib/ae_events__event_session.ts @@ -3,25 +3,26 @@ import { api } from '$lib/api'; import { db_events } from "$lib/db_events"; +import { handle_load_ae_obj_li__event_file } from "$lib/ae_events__event_file"; import { handle_load_ae_obj_li__event_presentation } from "$lib/ae_events__event_presentation"; let ae_promises: key_val = {}; -// Updated 2024-06-10 +// Updated 2024-08-09 export async function handle_load_ae_obj_id__event_session( { api_cfg, event_session_id, inc_file_li = false, - inc_presenter_li = false, // Actually presentations and presenters + inc_presentation_li = false, try_cache = true, log_lvl = 0 }: { api_cfg: any, event_session_id: string, inc_file_li?: boolean, - inc_presenter_li?: boolean, + inc_presentation_li?: boolean, try_cache?: boolean, log_lvl?: number } @@ -59,16 +60,45 @@ export async function handle_load_ae_obj_id__event_session( console.log('No results returned or failed.', error); }); + if (log_lvl) { + console.log('ae_promises.load__event_session_obj:', ae_promises.load__event_session_obj); + } - if (inc_presenter_li) { + if (inc_file_li) { + // Load the files for the session + if (log_lvl) { + console.log(`Need to load the file list for the session now`); + } + let load_event_file_obj_li = handle_load_ae_obj_li__event_file({ + api_cfg: api_cfg, + for_obj_type: 'event_session', + for_obj_id: event_session_id, + params: {qry__enabled: 'all', qry__limit: 15}, + try_cache: try_cache, + log_lvl: log_lvl + }) + .then((event_file_obj_li) => { + if (log_lvl) { + console.log(`event_file_obj_li = `, event_file_obj_li); + } + return event_file_obj_li; + }); + + if (log_lvl) { + console.log(`load_event_file_obj_li = `, load_event_file_obj_li); + } + ae_promises.load__event_session_obj.event_file_li = load_event_file_obj_li; + } + + if (inc_presentation_li) { // Load the presentations for the session if (log_lvl) { - console.log(`Need to load the presentation list now`); + console.log(`Need to load the presentation list for the session now`); } let load_event_presentation_obj_li = handle_load_ae_obj_li__event_presentation({ api_cfg: api_cfg, event_session_id: event_session_id, - params: {enabled: 'all', qry__limit: 15}, + params: {qry__enabled: 'all', qry__limit: 15}, try_cache: try_cache, log_lvl: log_lvl }) @@ -76,15 +106,15 @@ export async function handle_load_ae_obj_id__event_session( if (log_lvl) { console.log(`event_presentation_obj_li = `, event_presentation_obj_li); } - if (try_cache) { - ae_promises.load__event_session_obj.event_presentation_li = event_presentation_obj_li; - // Re-save the session object with the new presentation list - handle_db_save_ae_obj_li__event_session({ - obj_type: 'event_session', - obj_li: ae_promises.load__event_session_obj - }); - } - + // if (try_cache) { + // console.log(`ae_promises.load__event_session_obj = `, ae_promises.load__event_session_obj); + // ae_promises.load__event_session_obj.event_presentation_li = event_presentation_obj_li; + // // Re-save the session object with the new presentation list + // handle_db_save_ae_obj_li__event_session({ + // obj_type: 'event_session', + // obj_li: [ae_promises.load__event_session_obj] + // }); + // } return event_presentation_obj_li; }); @@ -98,14 +128,14 @@ export async function handle_load_ae_obj_id__event_session( } -// Updated 2024-05-24 +// Updated 2024-08-09 export async function handle_load_ae_obj_li__event_session( { api_cfg, for_obj_type, for_obj_id, inc_file_li = false, - inc_presenter_li = false, // Actually presentations and presenters + inc_presentation_li = false, params={}, try_cache=true, log_lvl=0 @@ -114,13 +144,13 @@ export async function handle_load_ae_obj_li__event_session( for_obj_type: string, for_obj_id: string, inc_file_li?: boolean, - inc_presenter_li?: boolean, + inc_presentation_li?: boolean, params?: key_val, try_cache?: boolean, log_lvl?: number } ) { - console.log(`*** handle_load_ae_obj_li__event_session() ***`); + console.log(`*** handle_load_ae_obj_li__event_session() *** for_obj_type=${for_obj_type} for_obj_id=${for_obj_id}`); let enabled: string = (params.qry__enabled ?? 'enabled'); // all, disabled, enabled let hidden: string = (params.qry__hidden ?? 'not_hidden'); // all, hidden, not_hidden @@ -168,8 +198,41 @@ export async function handle_load_ae_obj_li__event_session( console.log('ae_promises.load__event_session_obj_li:', ae_promises.load__event_session_obj_li); } - if (inc_presenter_li) { + if (inc_file_li) { + // Load the files for the sessions + if (log_lvl) { + console.log(`Need to load the file list for each session now`); + } + for (let i = 0; i < ae_promises.load__event_session_obj_li.length; i++) { + let event_session_obj = ae_promises.load__event_session_obj_li[i]; + let event_session_id = event_session_obj.event_session_id_random; + + let load_event_file_obj_li = handle_load_ae_obj_li__event_file({ + api_cfg: api_cfg, + for_obj_type: 'event_session', + for_obj_id: event_session_id, + params: {qry__enabled: 'all', qry__limit: 15}, + try_cache: try_cache, + log_lvl: log_lvl + }) + .then((event_file_obj_li) => { + if (log_lvl) { + console.log(`event_file_obj_li = `, event_file_obj_li); + } + return event_file_obj_li; + }); + + if (log_lvl) { + console.log(`load_event_file_obj_li = `, load_event_file_obj_li); + } + } + } + + if (inc_presentation_li) { // Load the presentations for the sessions + if (log_lvl) { + console.log(`Need to load the presentation list for each session now`); + } for (let i = 0; i < ae_promises.load__event_session_obj_li.length; i++) { let event_session_obj = ae_promises.load__event_session_obj_li[i]; let event_session_id = event_session_obj.event_session_id_random; @@ -182,7 +245,11 @@ export async function handle_load_ae_obj_li__event_session( log_lvl: log_lvl }) .then((event_presentation_obj_li) => { + if (log_lvl) { + console.log(`event_presentation_obj_li = `, event_presentation_obj_li); + } if (try_cache) { + console.log(`event_session_obj = `, event_session_obj); event_session_obj.event_presentation_li = event_presentation_obj_li; // Re-save the session object with the new presentation list handle_db_save_ae_obj_li__event_session({ @@ -190,17 +257,16 @@ export async function handle_load_ae_obj_li__event_session( obj_li: event_session_obj }); } + + return event_presentation_obj_li; }); if (log_lvl) { console.log(`load_event_presentation_obj_li = `, load_event_presentation_obj_li); } - // event_session_obj.event_presentation_li = load_event_presentation_obj_li; - } } - return ae_promises.load__event_session_obj_li; } @@ -392,6 +458,7 @@ export function handle_db_save_ae_obj_li__event_session( file_count: obj.file_count, file_count_all: obj.file_count_all, internal_use_count: obj.internal_use_count, + event_file_id_li_json: obj.event_file_id_li_json, poc_person_given_name: obj.poc_person_given_name, poc_person_family_name: obj.poc_person_family_name, diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts index 1a05ec6c..73d9abf9 100644 --- a/src/lib/ae_events_stores.ts +++ b/src/lib/ae_events_stores.ts @@ -96,9 +96,17 @@ let events_local_data_struct: key_val = { qry_max__presenters: 75, qry_max__files: 75, + show_content__hidden_files: false, + show_content__hidden_presentations: false, + show_content__hidden_presenters: false, + show_content__hidden_sessions: false, + show_content__session_code: true, show_content__presentation_code: true, show_content__presenter_code: true, + + time_format: 'time_us_short', // 'time_short', 'time_us_short' + slct: { event_id: null, event_location_id: null, diff --git a/src/lib/ae_utils__datetime_format.ts b/src/lib/ae_utils__datetime_format.ts index f29408b6..d08e32b0 100644 --- a/src/lib/ae_utils__datetime_format.ts +++ b/src/lib/ae_utils__datetime_format.ts @@ -114,11 +114,14 @@ export let iso_datetime_formatter = function iso_datetime_formatter( datetime_string = dayjs(raw_datetime).format('HH:mm'); break; case 'time_short_no_leading': - datetime_string = dayjs(raw_datetime).format('h:mm A'); + datetime_string = dayjs(raw_datetime).format('H:mm'); break; case 'time_us_short': datetime_string = dayjs(raw_datetime).format('hh:mm A'); break; + case 'time_us_short_no_leading': + datetime_string = dayjs(raw_datetime).format('h:mm A'); + break; case 'week_long': datetime_string = dayjs(raw_datetime).format('dddd'); break; diff --git a/src/lib/db_events.ts b/src/lib/db_events.ts index e90dab4b..ac22eaed 100644 --- a/src/lib/db_events.ts +++ b/src/lib/db_events.ts @@ -355,6 +355,7 @@ export interface Session { file_count?: null|number; // Only files directly under a session file_count_all?: null|number; // All files under a session internal_use_count?: null|number; // Files marked for internal use + event_file_id_li_json?: null|string; poc_person_given_name?: null|string; poc_person_family_name?: null|string; diff --git a/src/lib/element_manage_event_file_li.svelte b/src/lib/element_manage_event_file_li.svelte index 8f590084..ee0815cd 100644 --- a/src/lib/element_manage_event_file_li.svelte +++ b/src/lib/element_manage_event_file_li.svelte @@ -78,7 +78,7 @@ onMount(() => { for_obj_type: link_to_type, for_obj_id: link_to_id, params: params, - try_cache: false + try_cache: true }); // ae_tmp.show__file_li = false; @@ -348,7 +348,7 @@ onMount(() => { for_obj_type: link_to_type, for_obj_id: link_to_id, params: params, - try_cache: false + try_cache: true }); }); }} @@ -545,14 +545,14 @@ onMount(() => { {ae_util.iso_datetime_formatter(event_file_obj.created_on, 'date_iso')} at - {ae_util.iso_datetime_formatter(event_file_obj.created_on, 'time_short_no_leading')} + {ae_util.iso_datetime_formatter(event_file_obj.created_on, 'time_us_short_no_leading')} {:else} {ae_util.iso_datetime_formatter(event_file_obj.created_on, 'date_short')} - {ae_util.iso_datetime_formatter(event_file_obj.created_on, 'time_short_no_leading')} + {ae_util.iso_datetime_formatter(event_file_obj.created_on, 'time_us_short_no_leading')} {/if} diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts index ced51214..2b3321fd 100644 --- a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts @@ -82,6 +82,7 @@ export async function load({ params, parent, url }) { // route if (browser) { + console.log('HERE!!!'); // if (url.searchParams.get('location_id')) { // console.log(`url.searchParams.get('location_id') = `, url.searchParams.get('location_id')); // for_obj_type = 'event_location'; @@ -93,7 +94,8 @@ export async function load({ params, parent, url }) { // route api_cfg: ae_acct.api, for_obj_type: for_obj_type, for_obj_id: for_obj_id, - params: {qry__enabled: 'enabled', qry__limit: 550}, + // inc_presentation_li: false, + params: {qry__enabled: 'enabled', qry__limit: 500}, try_cache: true }) .finally(() => { diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page@(launcher).svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page@(launcher).svelte index 7a621bc8..d76ab374 100644 --- a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page@(launcher).svelte +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page@(launcher).svelte @@ -315,7 +315,7 @@ onMount(() => {