diff --git a/src/lib/ae_events_functions.ts b/src/lib/ae_events_functions.ts
index f3f4ce85..31e770b0 100644
--- a/src/lib/ae_events_functions.ts
+++ b/src/lib/ae_events_functions.ts
@@ -75,7 +75,20 @@ async function handle_load_ae_obj_id__badge({api_cfg, badge_id, try_cache=false}
// Updated 2024-03-06
-async function handle_load_ae_obj_li__badge({api_cfg, event_id, params={}, try_cache=true}: {api_cfg: any, event_id: any, params: any, try_cache?: boolean}) {
+async function handle_load_ae_obj_li__badge(
+ {
+ api_cfg,
+ event_id,
+ params={},
+ try_cache=true,
+ log_lvl=0
+ }: {
+ api_cfg: any,
+ event_id: any,
+ params: any,
+ try_cache?: boolean,
+ log_lvl: number
+ }) {
console.log(`*** handle_load_ae_obj_li__badge() *** event_id=${event_id}`);
let fulltext_search_qry_str = ''; // $events_sess.badges.fulltext_search_qry_str;
@@ -125,7 +138,7 @@ async function handle_load_ae_obj_li__badge({api_cfg, event_id, params={}, try_c
offset: offset,
params_json: params_json,
params: params,
- log_lvl: 1
+ log_lvl: log_lvl
})
.then(function (badge_obj_li_get_result) {
@@ -149,7 +162,9 @@ async function handle_load_ae_obj_li__badge({api_cfg, event_id, params={}, try_c
// return badge_obj_li_get_result;
});
- console.log('ae_promises.load__event_badge_obj_li:', ae_promises.load__event_badge_obj_li);
+ if (log_lvl) {
+ console.log('ae_promises.load__event_badge_obj_li:', ae_promises.load__event_badge_obj_li);
+ }
return ae_promises.load__event_badge_obj_li;
}
diff --git a/src/routes/events_badges/+layout.svelte b/src/routes/events_badges/+layout.svelte
index d6dc1b82..e267d86a 100644
--- a/src/routes/events_badges/+layout.svelte
+++ b/src/routes/events_badges/+layout.svelte
@@ -3,6 +3,7 @@
export let data: any;
import { goto } from '$app/navigation';
+import { onMount } from 'svelte';
import type { Writable } from 'svelte/store';
import { localStorageStore } from '@skeletonlabs/skeleton';
@@ -11,7 +12,6 @@ import type { key_val } from '$lib/ae_stores';
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 { onMount } from 'svelte';
// import Element_data_store from '$lib/element_data_store.svelte';
@@ -26,84 +26,86 @@ console.log(`$slct.account_id = `, $slct.account_id);
let ae_acct = data[$slct.account_id];
console.log(`ae_acct = `, ae_acct);
-$events_slct.event_id = ae_acct.slct.event_id
-$events_slct.event_obj = ae_acct.slct.event_obj
+$events_slct.event_id = ae_acct.slct.event_id;
+$events_slct.event_obj = ae_acct.slct.event_obj;
let ae_promises: key_val = {};
-if (ae_acct.loc.site_cfg_json.slct__event_id) {
- $events_slct.event_id = ae_acct.loc.site_cfg_json.slct__event_id;
- $events_loc.event_id = ae_acct.loc.site_cfg_json.slct__event_id;
-} else if ($events_loc.default__event_id) {
- $events_slct.event_id = $events_loc.default__event_id;
- $events_loc.event_id = $events_loc.default__event_id;
-} else if ($events_slct.event_id) {
- console.log(`Event ID already set:`, $events_slct.event_id);
- $events_loc.event_id = $events_slct.event_id;
-} else {
- console.log(`No Event ID set.`);
-}
+// if (ae_acct.loc.site_cfg_json.slct__event_id) {
+// $events_slct.event_id = ae_acct.loc.site_cfg_json.slct__event_id;
+// $events_loc.event_id = ae_acct.loc.site_cfg_json.slct__event_id;
+// } else if ($events_loc.default__event_id) {
+// $events_slct.event_id = $events_loc.default__event_id;
+// $events_loc.event_id = $events_loc.default__event_id;
+// } else if ($events_slct.event_id) {
+// console.log(`Event ID already set:`, $events_slct.event_id);
+// $events_loc.event_id = $events_slct.event_id;
+// } else {
+// console.log(`No Event ID set.`);
+// }
-if ($events_slct.event_id) {
- $events_trigger = 'load__event_obj';
-}
+// 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;
+// $: 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);
-}
+// 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);
+// }
onMount(() => {
- if (data.url.searchParams.get('event_id')) {
- $events_slct.event_id = data.url.searchParams.get('event_id');
- $events_loc.event_id = data.url.searchParams.get('event_id');
- }
+ console.log('Events Badges: +layout.svelte');
+
+ // if (data.url.searchParams.get('event_id')) {
+ // $events_slct.event_id = data.url.searchParams.get('event_id');
+ // $events_loc.event_id = data.url.searchParams.get('event_id');
+ // }
});
// 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} api_cfg=`, $ae_api);
+// 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} api_cfg=`, $ae_api);
- let params = {};
+// 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);
- });
+// // $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;
-}
+// return ae_promises.load__event_obj;
+// }
@@ -112,9 +114,11 @@ async function handle_load_ae_obj_id__event({event_id, try_cache=false}) {
Events Badges - {$events_loc.title ?? 'Æ loading...'}
-
-
+
+
+
diff --git a/src/routes/events_badges/+layout.ts b/src/routes/events_badges/+layout.ts
index 3a1716f4..99cdedf1 100644
--- a/src/routes/events_badges/+layout.ts
+++ b/src/routes/events_badges/+layout.ts
@@ -1,22 +1,14 @@
/** @type {import('./$types').LayoutLoad} */
+console.log(`ae_events_badges +layout.ts start`);
-// 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 { 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';
+import { events_func } from '$lib/ae_events_functions';
-export async function load({ parent }) { // route
+export async function load({ parent }) {
let data = await parent();
+ // console.log(`ae_events_badges +layout.ts data:`, data);
- console.log(`ae_events_badges +layout.ts data:`, data);
- // 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);
let account_id = data.account_id;
let ae_acct = data[account_id];
@@ -33,13 +25,15 @@ export async function load({ parent }) { // route
return false;
}
- data.ae_events_badges_layout_ts = true;
+ let load_event_obj = events_func.handle_load_ae_obj_id__event({api_cfg: ae_acct.api, event_id: event_id, try_cache: false});
+
+ ae_acct.slct.event_obj = load_event_obj;
let submenu = {
main: {name: 'Main', href: '/events_badges', access: false},
- manage: {name: 'Manage', href: '/events_badges/manage', access: 'administrator', disable: true, hide: true},
- review: {name: 'Review', href: '/events_badges/review', access: false, disable: true, hide: false},
- print: {name: 'Print', href: '/events_badges/print', access: 'trusted', disable: true, hide: false},
+ // 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: true, hide: false},
// view: {name: 'View', href: '/events_badges/view', access: 'trusted', hide: true}, // event_badge_id
// new: {name: 'New', href: '/events_badges/new'},
// sponsorships: {name: 'Sponsorships', href: '/sponsorships', disable: true, hide: true},
diff --git a/src/routes/events_badges/review/+page.svelte b/src/routes/events_badges/review/+page.svelte
index 6ea9a7a9..2c8fb101 100644
--- a/src/routes/events_badges/review/+page.svelte
+++ b/src/routes/events_badges/review/+page.svelte
@@ -5,17 +5,6 @@ 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';
@@ -25,7 +14,8 @@ import { db_events } from "$lib/db_events";
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';
-let event_badge_li = liveQuery(
+// The lq__ prefix is used to indicate that this is a liveQuery object and it should use the $ prefix when referencing the object.
+let lq__event_badge_li = liveQuery(
() => db_events.badges.toArray()
);
@@ -33,38 +23,7 @@ let event_badge_li = liveQuery(
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);
-}
+let search_submit_results: Promise|key_val;
$ae_loc.hostname = data.url.hostname;
@@ -103,56 +62,6 @@ onMount(() => {
});
-$: 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;
-}
-
-
if ($events_slct.event_badge_id) {
console.log('Selected Event Presenter ID:', $events_slct.event_badge_id);
$events_trigger = 'load__event_badge';
@@ -217,6 +126,10 @@ async function handle_load_ae_obj_id__event_badge({event_badge_id, try_cache=fal
$: if ($events_trigger == 'load__event_badge_obj_li' && $events_slct.event_id) {
console.log(`handle_load_ae_obj_id__event() $events_slct.event_id=${$events_slct.event_id} api_cfg=`, $ae_api);
+ if (!$events_sess.badges.fulltext_search_qry_str) {
+ $events_sess.badges.fulltext_search_qry_str = '';
+ }
+
if ($events_sess.status_qry__search == 'loading') {
console.log('*** $events_sess.status_qry__search == loading ***');
@@ -224,153 +137,35 @@ $: if ($events_trigger == 'load__event_badge_obj_li' && $events_slct.event_id) {
console.log("Delayed for X second.");
$events_trigger = null;
- load_obj_li_results = events_func.handle_load_ae_obj_li__badge({api_cfg: $ae_api, event_id: $events_slct.event_id, try_cache: false})
- .then(function (load_results) {
- if (load_results) {
- console.log(`load_results=`, load_results);
- } else {
- console.log('No results returned.');
- }
- // return load_results;
- console.log(`load_results=`, load_results);
- // $events_slct.badge_obj_li = load_results;
- return load_results;
+ let search_str = $events_sess.badges.fulltext_search_qry_str.trim();
+ console.log(search_str);
+
+ search_submit_results = events_func.handle_search__event_badge({api_cfg: $ae_api, event_id: $events_slct.event_id, fulltext_search_qry_str: search_str, external_event_id: $events_loc.badges.default__external_registration_id})
+ .then(function (search_results) {
+ $events_slct.badge_obj_li = search_results;
+ console.log(search_results);
+ $events_sess.status_qry__search = 'done';
});
}, 250);
} else {
console.log('*** $events_sess.status_qry__search != loading ***');
$events_trigger = null;
- load_obj_li_results = events_func.handle_load_ae_obj_li__badge({api_cfg: $ae_api, event_id: $events_slct.event_id, try_cache: false})
- .then(function (load_results) {
- if (load_results) {
- console.log(`load_results=`, load_results);
- } else {
- console.log('No results returned.');
- }
- // return load_results;
- console.log(`load_results=`, load_results);
- // $events_slct.badge_obj_li = load_results;
- return load_results;
+ $events_sess.status_qry__search = 'loading';
+
+ let search_str = $events_sess.badges.fulltext_search_qry_str.trim();
+ console.log(search_str);
+
+ search_submit_results = events_func.handle_search__event_badge({api_cfg: $ae_api, event_id: $events_slct.event_id, fulltext_search_qry_str: search_str, external_event_id: $events_loc.badges.default__external_registration_id})
+ .then(function (search_results) {
+ $events_slct.badge_obj_li = search_results;
+ console.log(search_results);
+ $events_sess.status_qry__search = 'done';
});
}
}
-// Updated 2024-03-06
-async function handle_load_ae_obj_li__badge({api_cfg: ae_api, event_id, try_cache=true}) {
- console.log(`*** handle_load_ae_obj_li__badge() *** event_id=${event_id}`);
- let fulltext_search_qry_str = $events_sess.badges.fulltext_search_qry_str;
-
- 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.administrator_access) {
- enabled = 'all';
- hidden = 'all';
- limit = 500;
- } else if ($ae_loc.trusted_access) {
- // enabled = 'all';
- hidden = 'all';
- limit = 50;
- }
-
- let params = {};
-
- let params_json: key_val = {};
- if (fulltext_search_qry_str && fulltext_search_qry_str.length > 2) {
- params_json['ft_qry'] = {
- 'default_qry_str': fulltext_search_qry_str,
- // 'location_address_json_ext': fulltext_search_qry_str, // JSON extracted text DB field
- // 'contact_li_json_ext': fulltext_search_qry_str, // JSON extracted text DB field
- };
- }
-
- // 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) {
- // console.log('Badge list:', badge_obj_li_get_result);
- if (badge_obj_li_get_result) {
- // $slct.badge_obj_li = badge_obj_li_get_result;
- handle_db_save_ae_obj_li({obj_type: 'event_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('Badge list:', badge_obj_li_get_result);
- // return badge_obj_li_get_result;
- });
-
- console.log('ae_promises.load__event_badge_obj_li:', ae_promises.load__event_badge_obj_li);
- return ae_promises.load__event_badge_obj_li;
-}
-
-// This function will loop through the badge_obj_li and save each one to the DB.
-function handle_db_save_ae_obj_li({obj_type, obj_li}) {
- console.log(`*** handle_db_save_ae_obj_li() ***`);
-
- if (obj_li && obj_li.length) {
- obj_li.forEach(async function (obj) {
- // console.log(`ae_obj ${obj_type}:`, obj);
-
- try {
- const id_random = await db_events.badges.put({
- id_random: obj.event_badge_id_random,
- full_name: obj.full_name,
- full_name_override: obj.full_name_override,
- email: obj.email,
- email_override: obj.email_override,
- affiliations: obj.affiliations,
- affiliations_override: obj.affiliations_override,
- badge_type: obj.badge_type,
- badge_type_override: obj.badge_type_override,
- badge_type_code: obj.badge_type_code,
- badge_type_code_override: obj.badge_type_code_override,
- external_event_id: obj.external_event_id,
- external_id: obj.external_id,
- external_person_id: obj.external_person_id,
- });
- // console.log(`Put obj with ID: ${obj.event_badge_id_random} or ${id_random}`);
- } catch (error) {
- let status = `Failed to put ${obj.event_badge_id_random}: ${error}`;
- console.log(status);
- }
-
- // const id_random = await db_events.badges.put(obj);
- // console.log(`Put obj with ID: ${obj.event_badge_id_random}`);
- });
- }
-}
@@ -387,6 +182,12 @@ function handle_db_save_ae_obj_li({obj_type, obj_li}) {
{/if}
+
{#await load_obj_li_results}
@@ -436,8 +239,8 @@ function handle_db_save_ae_obj_li({obj_type, obj_li}) {
{/await}
-
-{#if $event_badge_li}
+{#if $events_slct?.badge_obj_li.length}
+