From b020ded01cf1387e62e61e403fe4a0238800246b Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Wed, 6 Mar 2024 20:39:38 -0500 Subject: [PATCH] Changes. Work on new review page searching. --- src/lib/ae_events_stores.ts | 154 +++++++ src/lib/ae_stores.ts | 4 +- src/lib/element_data_store.svelte | 3 +- src/routes/+layout.ts | 6 +- src/routes/events_badges/+layout.svelte | 76 ++++ src/routes/events_badges/+layout.ts | 33 +- src/routes/events_badges/+page.svelte | 25 +- src/routes/events_badges/review/+layout.ts | 142 ++++++ src/routes/events_badges/review/+page.svelte | 425 ++++++++++++++++++ src/routes/sponsorships/+layout.ts | 8 +- ...hold 10_edit_modal__sponsorship_obj.svelte | 154 ------- 11 files changed, 848 insertions(+), 182 deletions(-) create mode 100644 src/lib/ae_events_stores.ts create mode 100644 src/routes/events_badges/review/+layout.ts create mode 100644 src/routes/events_badges/review/+page.svelte delete mode 100644 src/routes/sponsorships/hold 10_edit_modal__sponsorship_obj.svelte diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts new file mode 100644 index 00000000..3e6f3fcc --- /dev/null +++ b/src/lib/ae_events_stores.ts @@ -0,0 +1,154 @@ +import { localStorageStore } from '@skeletonlabs/skeleton'; +import { writable } from 'svelte/store'; +import type { Writable } from 'svelte/store'; + +import type { key_val } from '$lib/ae_stores'; + +/* *** BEGIN *** Initialize events_local_data_struct */ +// Longer-term app data. This should be stored to *local* storage. +// Updated 2024-03-06 +let events_local_data_struct: key_val = { + 'ver': '2024-03-06_17', + // Shared + 'name': 'Aether - Events (SvelteKit 2.x Svelte 4.x)', + 'title': `OSIT's Æ Events - Dev SvelteKit`, // Æ + + 'ds': {}, + + 'events_cfg_json': {}, + + 'default__event_id': null, // OSIT Demo pjrcghqwert + 'default__location_id': null, + 'default__session_id': null, + + // all, disabled, enabled + 'qry__enabled': 'enabled', + // all, hidden, not_hidden + 'qry__hidden': 'not_hidden', + 'qry__limit': 20, + 'qry__offset': 0, + + // Badge Printing + 'badges': { + 'show_element__cfg': true, + 'show_element__cfg_detail': false, + 'show_element__access_type': true, + 'theme_mode': 'dark', + 'theme_name': 'wintry', + + 'classes__form': 'border border-surface-200 p-4 space-y-4 rounded-container-token', + }, + + // Lead Retrievals (Exhibit) + + // Presentation Management (Distributing) + + // Speakers Management (Collection) + 'speakers': { + 'default__session_id': null, // Assign to new presenters by default + status__submit: null, // 'saving', 'created', 'updated' + }, + + // other +} +console.log(`AE Stores - App Events Local Storage Data:`, events_local_data_struct); + +// This works, but does not uses local storage: +// export let ae_loc = writable(events_local_data_struct); + +// This works and uses *local* storage: +export let events_loc: Writable = localStorageStore('ae_ events_loc', events_local_data_struct); +// console.log(`AE Stores - App Local Storage Data:`, get(ae_loc)); + + +/* *** BEGIN *** Initialize events_session_data_struct */ +// Temporary app data. This should be stored to session storage. +// Updated 2024-03-06 +let events_session_data_struct: key_val = { + 'ver': '2024-03-06_17', + // Shared + 'ds': { + 'submit_status': null, + }, + 'ds_loaded': { + }, + + // Badge Printing + 'badges': { + 'status_qry__search': null, + }, + + // Lead Retrievals (Exhibit) + + // Presentation Management (Distributing) + + // Speakers Management (Collection) + + // other +}; +console.log(`AE Stores - App Events Session Storage Data:`, events_session_data_struct); +export let events_sess = writable(events_session_data_struct); + + +/* *** BEGIN *** Initialize ae_events_slct */ +// Updated 2024-03-06 +let events_slct_obj_template: key_val = { + // Top level + 'event_id': null, + 'event_obj': {}, + 'event_obj_li': [], + + // Sub-level event_ + 'abstract_id': null, + 'abstract_obj': {}, + 'abstract_obj_li': [], + 'badge_id': null, + 'badge_obj': {}, + 'badge_obj_li': [], + 'badge_template_id': null, + 'badge_template_obj': {}, + 'badge_template_obj_li': [], + 'device_id': null, + 'device_obj': {}, + 'device_obj_li': [], + 'exhibit_id': null, + 'exhibit_obj': {}, + 'exhibit_obj_li': [], + + // Rename these to badge_tracking_*? + 'exhibit_tracking_id': null, + 'exhibit_tracking_obj': {}, + 'exhibit_tracking_obj_li': [], + + 'file_id': null, + 'file_obj': {}, + 'file_obj_li': [], + 'location_id': null, + 'location_obj': {}, + 'location_obj_li': [], + 'person_id': null, + 'person_obj': {}, + 'person_obj_li': [], + 'presentation_id': null, + 'presentation_obj': {}, + 'presentation_obj_li': [], + 'presenter_id': null, + 'presenter_obj': {}, + 'presenter_obj_li': [], + 'session_id': null, + 'session_obj': {}, + 'session_obj_li': [], +}; +// console.log(`AE Stores - Selected Events Objects:`, events_slct_obj_template); + +// This works, but does not uses local storage: +// export let slct = writable(events_slct_obj_template); + +// This works and uses *local* storage: +export let events_slct: Writable = localStorageStore('ae_events_slct', events_slct_obj_template); + + +/* *** BEGIN *** Initialize ae_events_trigger */ +// Updated 2024-03-06 +export let events_trigger: any = writable(null); +// console.log(`AE Stores - Selected Trigger:`, ae_events_trigger); diff --git a/src/lib/ae_stores.ts b/src/lib/ae_stores.ts index 63449e9a..a90d8e08 100644 --- a/src/lib/ae_stores.ts +++ b/src/lib/ae_stores.ts @@ -36,8 +36,8 @@ export type key_val = { // *** BEGIN *** Longer-term app data. This should be stored to local storage. export let ae_app_local_data_struct: key_val = { - 'ver': '2024-03-04_10', - 'name': 'Aether App SvelteKit Template', + 'ver': '2024-03-06_18', + 'name': 'Aether - App Hub (SvelteKit 2.x Svelte 4.x)', 'theme': 'light', 'iframe': false, 'title': `OSIT's Æ - Dev SvelteKit`, // Æ diff --git a/src/lib/element_data_store.svelte b/src/lib/element_data_store.svelte index c1076ea3..56084c17 100644 --- a/src/lib/element_data_store.svelte +++ b/src/lib/element_data_store.svelte @@ -9,10 +9,11 @@ import { ae_util } from '$lib/ae_utils'; import type { key_val } from '$lib/ae_stores'; export let ds_code: string; -export let ds_name: string; +export let ds_name: null|string = null; export let ds_type: string = 'text'; export let for_type: null|string; export let for_id: null|string; +console.log(`ae_e_data_store ${ds_code} for_type=${for_type} for_id=${for_id}`); export let store: string = 'local'; export let display: string = 'block'; diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts index cac2864c..265c78e7 100644 --- a/src/routes/+layout.ts +++ b/src/routes/+layout.ts @@ -244,7 +244,7 @@ export async function load({ params, url }) { // params, route, url data_struct['ae_ds'] = ds_code_li; - console.log(`root layout.ts finally load...`); + console.log(`ae_root +layout.ts loaded inital DS`); return true; }); @@ -294,10 +294,12 @@ export async function load({ params, url }) { // params, route, url // } // data_struct['ae_loc'] = loading_results; + console.log(`ae_root +layout.ts load after DS loading?`); return data_struct; } - console.log(`ae_root layout.ts load is finally finished`); + // Currently we should never make it to this point! 2024-03-06 + console.log(`ae_root +layout.ts load function end`); return data_struct; } diff --git a/src/routes/events_badges/+layout.svelte b/src/routes/events_badges/+layout.svelte index a50c1078..5841c2df 100644 --- a/src/routes/events_badges/+layout.svelte +++ b/src/routes/events_badges/+layout.svelte @@ -2,6 +2,82 @@ /** @type {import('./$types').LayoutData} */ export let data; import { goto } from '$app/navigation'; +import type { Writable } from 'svelte/store'; +import { localStorageStore } from '@skeletonlabs/skeleton'; + +import type { key_val } from '$lib/ae_stores'; +// import { ae_util } from '$lib/ae_utils'; +import { api } from '$lib/api'; +import { ae_loc, ae_sess, ae_api, slct } from '$lib/ae_stores'; +import { events_loc, events_slct, events_trigger } from '$lib/ae_events_stores'; + +// import Element_data_store from '$lib/element_data_store.svelte'; + + +// let ae_slct_loc: Writable = localStorageStore(`ae_slct__event_id`, ds_code_obj); +// console.log(`ae_ Data Store ${ds_code} = `, $ae_slct_loc); + +let ae_promises: key_val = {}; + + +if (data.url.searchParams.get('event_id')) { + $events_slct.event_id = data.url.searchParams.get('event_id'); +} + +if ($events_slct.event_id) { + $events_trigger = 'load__event_obj'; +} + + +// Updated 2024-03-06 +$: if ($events_trigger == 'load__event_obj' && $events_slct.event_id) { + console.log(`$events_slct.event_id=${$events_slct.event_id}`); + $events_trigger = null; + + let load_obj_results = handle_load_ae_obj_id__event({event_id: $events_slct.event_id, try_cache: false}) + .then(function (load_obj_results) { + if (load_obj_results) { + console.log(`load_obj_results=`, load_obj_results); + } else { + console.log('No results returned.'); + } + }); + $events_slct.event_obj = load_obj_results; + console.log(`load_obj_results=`, load_obj_results); +} + + +// Updated 2024-03-06 +async function handle_load_ae_obj_id__event({event_id, try_cache=false}) { + console.log(`*** handle_load_ae_obj_id__event() *** event_id=${event_id}`); + + let params = {}; + + // $events_sess.badges.status_load__event_obj = 'loading'; + ae_promises.load__event_obj = await api.get_ae_obj_id_crud({ + api_cfg: $ae_api, + obj_type: 'event', + obj_id: event_id, // NOTE: This is the FQDN, not normally the ID. + use_alt_table: false, // 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 in the API config. + params: params, + log_lvl: 0 + }) + .then(function (event_obj_get_result) { + if (event_obj_get_result) { + return event_obj_get_result; + } else { + console.log('No results returned.'); + return null; + } + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }); + + return ae_promises.load__event_obj; +} + diff --git a/src/routes/events_badges/+layout.ts b/src/routes/events_badges/+layout.ts index 38bdbffc..7a6c8045 100644 --- a/src/routes/events_badges/+layout.ts +++ b/src/routes/events_badges/+layout.ts @@ -1,31 +1,40 @@ /** @type {import('./$types').LayoutLoad} */ -import { get } from 'svelte/store'; +// import { get } from 'svelte/store'; -import { api } from '$lib/api'; -import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores'; -import type { key_val } from '$lib/ae_stores'; +// import { api } from '$lib/api'; +// import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores'; +// import { ae_events_loc, ae_events_sess, ae_events_triggers, ae_events_badges_loc, ae_events_badges_sess, ae_events_badges_triggers } from '$lib/ae_events_stores'; +// import { ae_events_loc, ae_events_slct, ae_events_trigger } from '$lib/ae_events_stores'; +// import type { key_val } from '$lib/ae_stores'; export async function load({ params, parent, url }) { // route - // console.log(`Svelte Events Badges layout.ts data = params:`, params); - // console.log(`Svelte Events Badges layout.ts data = route:`, route); - // console.log(`Svelte Events Badges layout.ts data = url:`, url); + // console.log(`ae_events_badges +layout.ts data.params:`, params); + // console.log(`ae_events_badges +layout.ts data.route:`, route); + // console.log(`ae_events_badges +layout.ts data.url:`, url); // const { ae_init, root_layout_ts } = await parent(); let data = await parent(); - console.log(`Svelte Events Badges layout.ts data = data:`, data); + // console.log(`ae_events_badges +layout.ts data:`, data); + + if (data.ae_loc.account_id) { + console.log(`ae_events_badges +layout.ts data = data.ae_loc:`, data.ae_loc); + } else { + console.log(`ae_events_badges +layout.ts data = data.ae_loc:`, data.ae_loc); + } + data.ae_events_badges_layout_ts = true; let submenu = { main: {name: 'Main', href: '/events_badges', access: false}, - manage: {name: 'Manage', href: '/events_badges/manage', access: 'administrator', disable: true}, - review: {name: 'Review', href: '/events_badges/review', access: false}, - print: {name: 'Print', href: '/events_badges/print', access: 'trusted', disable: true}, + manage: {name: 'Manage', href: '/events_badges/manage', access: 'administrator', disable: true, hide: true}, + review: {name: 'Review', href: '/events_badges/review', access: false, disable: false, hide: false}, + print: {name: 'Print', href: '/events_badges/print', access: 'trusted', disable: false, hide: false}, view: {name: 'View', href: '/events_badges/view', access: 'trusted', hide: true}, // event_badge_id // new: {name: 'New', href: '/events_badges/new'}, - test: {name: 'Test', href: '/sponsorships'}, + // sponsorships: {name: 'Sponsorships', href: '/sponsorships', disable: true, hide: true}, }; data.submenu = submenu diff --git a/src/routes/events_badges/+page.svelte b/src/routes/events_badges/+page.svelte index 499cb168..d32d7dca 100644 --- a/src/routes/events_badges/+page.svelte +++ b/src/routes/events_badges/+page.svelte @@ -1,18 +1,28 @@ @@ -38,17 +48,18 @@ onMount(() => { ds_code="events__badges__overview" ds_type="html" for_type="event" - for_id={$slct.event_id} + for_id={$events_slct.event_id} display="block" class_li="variant-ghost-surface p-2" /> +Event ID {$events_slct.event_id} +export let data; +console.log(`ae_events_badges [slug] +page data:`, data); + +import { onMount } from 'svelte'; + + +// https://github.com/skeletonlabs/skeleton/blob/master/packages/skeleton/src/lib/utilities/Modal/types.ts +// To retrieve the store, getModalStore must be invoked at the top level of your component! +// import { getDrawerStore, getModalStore } from '@skeletonlabs/skeleton'; +// import type { +// DrawerSettings, +// ModalSettings, +// ModalComponent, +// ModalStore +// } from '@skeletonlabs/skeleton'; +// const modalStore = getModalStore(); + +import type { key_val } from '$lib/ae_stores'; +import { ae_util } from '$lib/ae_utils'; +import { api } from '$lib/api'; +import { ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores'; +import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores'; + +// import Edit_modal_event_badge from '../10_edit_modal__event_badge_obj.svelte'; + +let ae_promises: key_val = {}; +let load_obj_li_results: Promise|key_val; + +// Editing +// const modalComponentEditEventPresenterObj: ModalComponent = { ref: Edit_modal_event_badge, props: {container_class_li: 'w-full p-4 space-y-4 card'} }; + +// const modal_edit__event_badge: ModalSettings = { +// type: 'component', +// component: modalComponentEditEventPresenterObj, +// title: 'Edit Badge Submission', +// position: '', // default is "items-center" + +// response: (r: boolean | undefined) => handle_modal_close(r) +// }; + +// This function waits for the response from one of the modals. Do stuff when the modal is closed. +function handle_modal_close(response: boolean | undefined) { + console.log('Modal closed. Response:', response); + + ae_util.handle_url_and_message('event_badge_id', null); + + // We want to keep these values in case they want to re-open the modal. Do NOT clear. + // $events_slct.event_badge_id = null; + // $events_slct.event_badge_obj = null; +} + +if ($events_trigger == 'msg_parent' && $events_slct.event_id) { + console.log(`Message parent with event_id ${$events_slct.event_id}`); + $events_trigger = null + + let message = {'event_id': $events_slct.event_id}; + window.parent.postMessage(message, "*"); + // console.log('Message sent to parent (iframe):', message); +} + + +$ae_loc.hostname = data.url.hostname; +$ae_loc.site_domain = data.url.origin; + +// We don't want the edit or view to show up by default. Maybe if we see an object ID param in the URL, we can show a modal. +$events_loc.show_edit__event_badge_obj = false; +$events_loc.show_view__event_badge_obj = false; + +let ae_event_badge_get_promise: Promise; +let ae_event_obj_get_promise; + +// Load the AE Obj with ID based on the URL param. +if (data.url.searchParams.get('event_id')) { + console.log(`Got an event_id: ${data.url.searchParams.get('event_id')}`); + $events_slct.event_id = data.url.searchParams.get('event_id'); +} + +if ($events_slct.event_id) { + console.log('Selected Event ID:', $events_slct.event_id); + $events_trigger = 'load__event_badge_obj_li'; + // $events_trigger = 'load__event_obj'; +} + + +onMount(() => { + console.log('Events Badges [New/Edit]: +page.svelte'); + + // console.log(`$ae_loc = `, $ae_loc); + + let url = window.location.href; + // console.log(url); + + $ae_loc.href_url = url; + // console.log(`$ae_loc.href_url = `, $ae_loc.href_url); + + // ae_util.handle_url_and_message('event_badge_id', $events_slct.event_badge_id); + // if ($events_slct.event_badge_id) { + // console.log(`Got an ID. Let's show the modal!`); + // modalStore.trigger(modal_edit__event_badge); + // } else { + // console.log(`No ID. Nothing to show.`); + // } +}); +// console.log(`$ae_loc = `, $ae_loc); +// $ae_loc.href_url = url; +// console.log(`$ae_loc.href_url = `, $ae_loc.href_url); + + + + + + +$: if ($events_trigger == 'load__event_obj' && $events_slct.event_id) { + console.log('Selected Event ID:', $events_slct.event_id); + + $events_trigger = null; + + handle_load_ae_obj_id__event({event_id: $events_slct.event_id, try_cache: false}); +} + +async function handle_load_ae_obj_id__event({event_id, try_cache=false}) { + console.log(`*** handle_load_ae_obj_id__event() *** event_id=${event_id}`); + + let params = {}; + + // $events_sess.status_load__event_id = 'loading'; + ae_event_obj_get_promise = api.get_ae_obj_id_crud({ + api_cfg: $ae_api, + obj_type: 'event', + obj_id: event_id, + use_alt_table: false, // 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 in the API config. + params: params, + log_lvl: 0 + }) + .then(function (event_obj_get_result) { + if (event_obj_get_result) { + $events_slct.event_obj = event_obj_get_result; + console.log(`event object:`, $events_slct.event_obj); + } + + // Auto show the selected event_badge ID + // Is this pushState needed here? + // Set the URL param "event_id" to the current event_badge ID. + // const url = new URL(location); + // url.searchParams.set('event_id', $events_slct.event_id); + // history.pushState({}, '', url); + + // Is this postMessage needed here? + // let message = {'event_id': $events_slct.event_id}; + // window.parent.postMessage(message, "*"); + + // modalStore.trigger(modal_view__event_obj); + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }); + + return ae_event_obj_get_promise; +} + + +// Load the Event Presenter Obj with ID based on the URL param. +// $events_slct.event_badge_id = data.url.searchParams.get('ae_id'); +$events_slct.event_badge_id = data.url.searchParams.get('event_badge_id'); +if ($events_slct.event_badge_id) { + console.log('Selected Event Presenter ID:', $events_slct.event_badge_id); + $events_trigger = 'load__event_badge'; + + // $events_loc.show_edit__event_badge_obj = true; + // $events_trigger = 'show_edit__event_badge'; +} + + +$: if ($events_trigger == 'load__event_badge' && $events_slct.event_badge_id) { + console.log('Selected Event Presenter ID:', $events_slct.event_badge_id); + + $events_trigger = null; + + handle_load_ae_obj_id__event_badge({event_badge_id: $events_slct.event_badge_id, try_cache: false}); + + // modalStore.trigger(modal_edit__event_badge); + // $events_trigger = 'show_edit__event_badge'; +} + +async function handle_load_ae_obj_id__event_badge({event_badge_id, try_cache=false}) { + console.log(`*** handle_load_ae_obj_id__event_badge() *** event_badge_id=${event_badge_id}`); + + let params = {}; + + // $ae_loc.hub.event_badge_id_status_qry__search = 'loading'; + ae_event_badge_get_promise = api.get_ae_obj_id_crud({ + api_cfg: $ae_api, + obj_type: 'event_badge', + obj_id: event_badge_id, + use_alt_table: false, // 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 in the API config. + params: params, + log_lvl: 0 + }) + .then(function (event_badge_get_result) { + if (event_badge_get_result) { + $events_slct.event_badge_obj = event_badge_get_result; + console.log(`event_badge object:`, $events_slct.event_badge); + } + + // Auto show the selected event_badge ID + // Is this pushState needed here? + // Set the URL param "event_badge_id" to the current event_badge ID. + // const url = new URL(location); + // url.searchParams.set('event_badge_id', $events_slct.event_badge_id); + // history.pushState({}, '', url); + + // Is this postMessage needed here? + // let message = {'event_badge_id': $events_slct.event_badge_id}; + // window.parent.postMessage(message, "*"); + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }); + + return ae_event_badge_get_promise; +} + + +// Updated 2024-03-06 late +$: if ($events_trigger == 'load__event_badge_obj_li' && $events_slct.event_id) { + console.log(`$events_slct.event_id=${$events_slct.event_id}`); + $events_trigger = null; + + load_obj_li_results = handle_load_ae_obj_li__badge({event_id: $events_slct.event_id, try_cache: false}) + .then(function (load_obj_li_results) { + if (load_obj_li_results) { + console.log(`load_obj_li_results=`, load_obj_li_results); + } else { + console.log('No results returned.'); + } + // return load_obj_li_results; + console.log(`load_obj_li_results=`, load_obj_li_results); + $events_slct.badge_obj_li = load_obj_li_results; + }); +} + +// Updated 2024-03-06 +async function handle_load_ae_obj_li__badge({event_id, try_cache=true}) { + console.log(`*** handle_load_ae_obj_li__badge() *** event_id=${event_id}`); + + let enabled = $events_loc.qry_enabled; + let hidden = $events_loc.qry__hidden; + let limit = $events_loc.qry__limit; + let offset = $events_loc.qry__offset; + + if ($ae_loc.trusted_access) { + // enabled = 'all'; + hidden = 'all'; + limit = 30; + } + + let params = {}; + + let params_json: key_val = {}; + + // console.log('params_json:', params_json); + // console.log(params_json); + + $events_sess.badges.status_qry__search = 'loading'; + ae_promises.load__event_badge_obj_li = await api.get_ae_obj_li_for_obj_id_crud({ + api_cfg: $ae_api, + obj_type: 'event_badge', + for_obj_type: 'event', + for_obj_id: event_id, + use_alt_table: false, // 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 in the API config. + enabled: enabled, + hidden: hidden, + order_by_li: {'priority': 'DESC', 'sort': 'DESC', 'updated_on': 'DESC', 'created_on': 'DESC'}, + // order_by_li: {'priority': 'DESC', 'sort': 'DESC', 'created_on': 'DESC', 'updated_on': 'DESC'}, + limit: limit, + offset: offset, + params_json: params_json, + params: params, + log_lvl: 0 + }) + + .then(function (badge_obj_li_get_result) { + if (badge_obj_li_get_result) { + // $slct.badge_obj_li = badge_obj_li_get_result; + return badge_obj_li_get_result; + } else { + // $slct.badge_obj_li = []; + return []; + } + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }); + // .finally(function () { + // $events_sess.badges.status_qry__search = 'done'; + // // console.log('Sponsorship list:', $slct.badge_obj_li); + // }); + + return ae_promises.load__event_badge_obj_li; +} + + + + +
+ +{#if $ae_loc.ds.hub__page__events_badges__create_info_header} +{@html $ae_loc.ds.hub__page__events_badges__create_info_header} +{:else} +
+

Badge Review - Search

+
+{/if} + + + + + +{#await load_obj_li_results} + +{:then load_obj_li_results} + {#if load_obj_li_results} + + + Loaded + + {/if} +{/await} + + +{#if $events_slct.badge_obj_li && $events_slct.badge_obj_li.length} +

Results:

+ + + + + + + + + + +{#each $events_slct.badge_obj_li as badge_obj} + + + + + +{/each} + +
BadgeEmailAffiliations
+ + + + + + {badge_obj.email ? badge_obj.email.replace(/^(.{3}).*@/, '$1...@') : ''} + + + {badge_obj.affiliations} +
+ +{:else} +
+ No badges found. +
+{/if} + + + +{#if $ae_loc.ds.hub__page__events_badges__create_info} +{@html $ae_loc.ds.hub__page__events_badges__create_info} +{:else} +
+
+ More information goes here. +
+
+{/if} + + +
diff --git a/src/routes/sponsorships/+layout.ts b/src/routes/sponsorships/+layout.ts index 380a1ca9..1efff32a 100644 --- a/src/routes/sponsorships/+layout.ts +++ b/src/routes/sponsorships/+layout.ts @@ -8,13 +8,13 @@ import type { key_val } from '$lib/ae_stores'; export async function load({ params, parent, url }) { // route - // console.log(`Svelte Sponsorships layout.ts data = params:`, params); - // console.log(`Svelte Sponsorships layout.ts data = route:`, route); - // console.log(`Svelte Sponsorships layout.ts data = url:`, url); + // console.log(`Svelte Sponsorships +layout.ts data.params:`, params); + // console.log(`Svelte Sponsorships +layout.ts data.route:`, route); + // console.log(`Svelte Sponsorships +layout.ts data.url:`, url); // const { ae_init, root_layout_ts } = await parent(); let data = await parent(); - console.log(`Svelte Sponsorships layout.ts data = data:`, data); + // console.log(`ae_events_badges +layout.ts data:`, data); data.ae_sponsorships_layout_ts = true; diff --git a/src/routes/sponsorships/hold 10_edit_modal__sponsorship_obj.svelte b/src/routes/sponsorships/hold 10_edit_modal__sponsorship_obj.svelte deleted file mode 100644 index 765e069f..00000000 --- a/src/routes/sponsorships/hold 10_edit_modal__sponsorship_obj.svelte +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - -