diff --git a/src/lib/ae_events__event_location.ts b/src/lib/ae_events__event_location.ts index 27ce1f3e..2f3d56b2 100644 --- a/src/lib/ae_events__event_location.ts +++ b/src/lib/ae_events__event_location.ts @@ -3,6 +3,9 @@ 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_session } from './ae_events__event_session'; + let ae_promises: key_val = {}; @@ -11,11 +14,15 @@ export async function handle_load_ae_obj_id__event_location( { api_cfg, event_location_id, + inc_file_li = false, + inc_session_li = false, try_cache=true, log_lvl=0 }: { api_cfg: any, event_location_id: string, + inc_file_li?: boolean, + inc_session_li?: boolean, try_cache?: boolean, log_lvl?: number } @@ -53,6 +60,71 @@ export async function handle_load_ae_obj_id__event_location( console.log('No results returned or failed.', error); }); + if (log_lvl) { + console.log('ae_promises.load__event_location_obj:', ae_promises.load__event_location_obj); + } + + if (inc_file_li) { + // Load the files for the location + if (log_lvl) { + console.log(`Need to load the file list for the location now`); + } + let load_event_file_obj_li = handle_load_ae_obj_li__event_file({ + api_cfg: api_cfg, + for_obj_type: 'event_location', + for_obj_id: event_location_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_location_obj.event_file_li = load_event_file_obj_li; + } + + if (inc_session_li) { + // Load the sessions for the location + if (log_lvl) { + console.log(`Need to load the session list for the location now`); + } + let load_event_session_obj_li = handle_load_ae_obj_li__event_session({ + api_cfg: api_cfg, + for_obj_type: 'event_location', + for_obj_id: event_location_id, + params: {qry__enabled: 'all', qry__limit: 15}, + try_cache: try_cache, + log_lvl: log_lvl + }) + .then((event_session_obj_li) => { + if (log_lvl) { + console.log(`event_session_obj_li = `, event_session_obj_li); + } + // if (try_cache) { + // console.log(`ae_promises.load__event_session_obj = `, ae_promises.load__event_session_obj); + // ae_promises.load__event_session_obj.event_session_li = event_session_obj_li; + // // Re-save the session object with the new session list + // handle_db_save_ae_obj_li__event_session({ + // obj_type: 'event_session', + // obj_li: [ae_promises.load__event_session_obj] + // }); + // } + return event_session_obj_li; + }); + + if (log_lvl) { + console.log(`load_event_session_obj_li = `, load_event_session_obj_li); + } + ae_promises.load__event_location_obj.event_session_li = load_event_session_obj_li; + } + return ae_promises.load__event_location_obj; } @@ -62,21 +134,25 @@ export async function handle_load_ae_obj_li__event_location( { api_cfg, event_id, + inc_file_li = false, + inc_session_li = false, params={}, try_cache=true, log_lvl=0 }: { api_cfg: any, event_id: string, + inc_file_li?: boolean, + inc_session_li?: boolean, params?: key_val, try_cache?: boolean, log_lvl?: number } ) { - console.log(`*** handle_load_ae_obj_li__event_location() ***`); + console.log(`*** handle_load_ae_obj_li__event_location() *** event_id=${event_id}`); 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 @@ -120,6 +196,67 @@ export async function handle_load_ae_obj_li__event_location( if (log_lvl) { console.log('ae_promises.load__event_location_obj_li:', ae_promises.load__event_location_obj_li); } + + if (inc_file_li) { + // Load the files for the locations + if (log_lvl) { + console.log(`Need to load the file list for each location now`); + } + for (let i = 0; i < ae_promises.load__event_location_obj_li.length; i++) { + let event_location_obj = ae_promises.load__event_location_obj_li[i]; + let event_location_id = event_location_obj.event_location_id_random; + + let load_event_file_obj_li = handle_load_ae_obj_li__event_file({ + api_cfg: api_cfg, + for_obj_type: 'event_location', + for_obj_id: event_location_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_session_li) { + // Load the sessions for the locations + if (log_lvl) { + console.log(`Need to load the session list for each location now`); + } + for (let i = 0; i < ae_promises.load__event_location_obj_li.length; i++) { + let event_location_obj = ae_promises.load__event_location_obj_li[i]; + let event_location_id = event_location_obj.event_location_id_random; + + let load_event_session_obj_li = handle_load_ae_obj_li__event_session({ + api_cfg: api_cfg, + for_obj_type: 'event_location', + for_obj_id: event_location_id, + params: {qry__enabled: 'all', qry__limit: 100}, + try_cache: try_cache, + log_lvl: log_lvl + }) + .then((event_session_obj_li) => { + if (log_lvl) { + console.log(`event_session_obj_li = `, event_session_obj_li); + } + return event_session_obj_li; + }); + + if (log_lvl) { + console.log(`load_event_session_obj_li = `, load_event_session_obj_li); + } + } + } + return ae_promises.load__event_location_obj_li; } diff --git a/src/lib/ae_events__event_session.ts b/src/lib/ae_events__event_session.ts index 0845f6c2..a136040a 100644 --- a/src/lib/ae_events__event_session.ts +++ b/src/lib/ae_events__event_session.ts @@ -248,15 +248,15 @@ export async function handle_load_ae_obj_li__event_session( 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({ - obj_type: 'event_session', - obj_li: event_session_obj - }); - } + // 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({ + // obj_type: 'event_session', + // obj_li: event_session_obj + // }); + // } return event_presentation_obj_li; }); diff --git a/src/lib/db_events.ts b/src/lib/db_events.ts index ac22eaed..7f103603 100644 --- a/src/lib/db_events.ts +++ b/src/lib/db_events.ts @@ -265,6 +265,8 @@ export interface Location { external_id?: null|string; code?: null|string; + type_code?: string; + event_id: string; event_id_random: string; @@ -317,7 +319,7 @@ export interface Session { for_id: string; for_id_random: string; - type_code: string; + type_code?: string; event_id: string; event_id_random: string; 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 2b3321fd..e48f7af0 100644 --- a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/+page.ts @@ -51,6 +51,7 @@ export async function load({ params, parent, url }) { // route let load_event_location_obj_li = await events_func.handle_load_ae_obj_li__event_location({ api_cfg: ae_acct.api, event_id: event_id, + inc_file_li: true, params: {qry__enabled: 'enabled', qry__limit: 550}, try_cache: true }) @@ -94,8 +95,9 @@ 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, + // inc_file_li: false, // inc_presentation_li: false, - params: {qry__enabled: 'enabled', qry__limit: 500}, + params: {qry__enabled: 'enabled', qry__hidden: 'all', qry__limit: 150}, 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 d76ab374..a52af42f 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 @@ -86,40 +86,6 @@ if (!$events_loc.launcher.slct) { if (browser) { console.log(`data.url.searchParams.get('location_id') = `, data.url.searchParams.get('location_id')); - // let for_obj_type = 'event_location'; - // let for_obj_id = data.url.searchParams.get('location_id'); - - // ae_acct.slct.event_location_id = for_obj_id; - - // ae_acct.trig.event_session_obj_li = false; - // let load_event_session_obj_li = events_func.handle_load_ae_obj_li__event_session({ - // api_cfg: ae_acct.api, - // for_obj_type: for_obj_type, - // for_obj_id: for_obj_id, - // params: {qry__enabled: 'enabled', qry__limit: 550}, - // try_cache: true - // }) - // .finally(() => { - // // console.log(`load_event_session_obj_li = `, load_event_session_obj_li); - // // ae_acct.trig.event_session_obj_li = false; - // }); - // ae_acct.slct.event_session_obj_li = load_event_session_obj_li; - // // console.log(`ae_acct.slct.event_session_obj_li = `, ae_acct.slct.event_session_obj_li); - // $events_slct.event_session_obj_li = ae_acct.slct.event_session_obj_li ?? ['']; - - // let id_li__event_session = []; - - // let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery. - - // for (let i = 0; i < load_event_session_obj_li.length; i++) { - // let event_session_obj = load_event_session_obj_li[i]; - // let event_session_id_random = event_session_obj.event_session_id_random; - // tmp_li.push(event_session_id_random); - // } - // id_li__event_session = tmp_li; - // console.log(`id_li__event_session:`, id_li__event_session); - // ae_acct.slct.id_li__event_session = id_li__event_session; - // $events_slct.id_li__event_session = ae_acct.slct.id_li__event_session ?? ['']; } if (ae_acct.slct.event_id) { @@ -222,6 +188,15 @@ let lq__event_obj = liveQuery( .get($events_loc.launcher.slct.event_id) ); +// Event File - For Location +let lq__location_event_file_obj_li = liveQuery( + () => db_events.files + // .where('event_session_id_random') + .where('for_id_random') + .equals($events_loc.launcher.slct.event_location_id ?? '') + .sortBy('name') +); + // Event Location let lq__event_location_obj = liveQuery( () => db_events.locations @@ -332,6 +307,8 @@ onMount(() => { lq__event_obj={lq__event_obj} + lq__location_event_file_obj_li={lq__location_event_file_obj_li} + lq__event_location_obj={lq__event_location_obj} lq_get__event_location_obj_li={lq_get__event_location_obj_li} diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_menu.svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_menu.svelte index 7da17a33..8dcd1efa 100644 --- a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_menu.svelte +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_menu.svelte @@ -25,6 +25,7 @@ let slct_event_location_id: string; $events_trigger = null; export let lq__event_obj: any; +export let lq__location_event_file_obj_li: any; export let lq__event_location_obj: any; // export let lq__event_location_obj_li: any; export let lq_get__event_location_obj_li: any; @@ -46,7 +47,9 @@ if ($ae_loc.administrator_access) { qry__hidden = 'not_hidden'; } -let ae_promises: key_val = {}; +let ae_promises: key_val = { + get_li__event_file: null, +}; @@ -66,7 +69,7 @@ let ae_promises: key_val = {}; Hide Files {:else} - Show Hidden Files + Hidden Files? {/if} @@ -81,7 +84,7 @@ let ae_promises: key_val = {}; Hide Sessions {:else} - Show Hidden Sessions + Hidden Sessions? {/if} @@ -141,8 +144,9 @@ let ae_promises: key_val = {}; api_cfg: $ae_api, for_obj_type: 'event_location', for_obj_id: $events_loc.launcher.slct.event_location_id, + inc_file_li: false, inc_presentation_li: false, - params: {qry__enabled: 'enabled', qry__limit: 550}, + params: {qry__enabled: 'enabled', qry__hidden: 'all', qry__limit: 100}, try_cache: true, log_lvl: 1, }) @@ -197,6 +201,29 @@ let ae_promises: key_val = {};
{/if} +{#if $lq__location_event_file_obj_li && $lq__location_event_file_obj_li.length > 0} +{#each $lq__location_event_file_obj_li as event_file_obj, index} + +{/each} +{/if} + diff --git a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_presenter_view.svelte b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_presenter_view.svelte index 45b3ccfc..05c189ba 100644 --- a/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_presenter_view.svelte +++ b/src/routes/events_pres_mgmt/(launcher)/launcher/[slug]/launcher_presenter_view.svelte @@ -55,11 +55,11 @@ let lq__event_file_obj_li = liveQuery( {/if} -