diff --git a/src/app.html b/src/app.html index 94364ba4..f7c5ed74 100644 --- a/src/app.html +++ b/src/app.html @@ -5,6 +5,8 @@ + Svelte Skeleton Tailwind - OSIT's Æ Dev + diff --git a/src/lib/ae_stores.ts b/src/lib/ae_stores.ts index 1e4afa7b..7b088b90 100644 --- a/src/lib/ae_stores.ts +++ b/src/lib/ae_stores.ts @@ -3,7 +3,7 @@ import { readable, writable } from 'svelte/store'; import type { get, Writable } from 'svelte/store'; -import { PUBLIC_TESTING, PUBLIC_AE_API_PROTOCOL, PUBLIC_AE_API_SERVER, PUBLIC_AE_API_BAK_SERVER, PUBLIC_AE_API_PORT, PUBLIC_AE_API_PATH, PUBLIC_AE_API_SECRET_KEY, PUBLIC_AE_API_CRUD_SUPER_KEY, PUBLIC_AE_NO_ACCOUNT_ID, PUBLIC_AE_NO_ACCOUNT_ID_TOKEN, PUBLIC_AE_ACCOUNT_ID, PUBLIC_AE_SPONSORSHIP_CFG_ID } from '$env/static/public'; +import { PUBLIC_TESTING, PUBLIC_AE_API_PROTOCOL, PUBLIC_AE_API_SERVER, PUBLIC_AE_API_BAK_SERVER, PUBLIC_AE_API_PORT, PUBLIC_AE_API_PATH, PUBLIC_AE_API_SECRET_KEY, PUBLIC_AE_API_CRUD_SUPER_KEY, PUBLIC_AE_NO_ACCOUNT_ID, PUBLIC_AE_NO_ACCOUNT_ID_TOKEN, PUBLIC_AE_ACCOUNT_ID, PUBLIC_AE_EVENT_ID, PUBLIC_AE_SPONSORSHIP_CFG_ID } from '$env/static/public'; console.log(`Aether Config - TESTING:`, PUBLIC_TESTING); const api_base_url = `${PUBLIC_AE_API_PROTOCOL}://${PUBLIC_AE_API_SERVER}:${PUBLIC_AE_API_PORT}${PUBLIC_AE_API_PATH}`; @@ -16,6 +16,7 @@ const api_crud_super_key = PUBLIC_AE_API_CRUD_SUPER_KEY; let ae_account_id: null|string = null; const ae_no_account_id = PUBLIC_AE_NO_ACCOUNT_ID; const ae_no_account_id_token = PUBLIC_AE_NO_ACCOUNT_ID_TOKEN; +const ae_event_id = PUBLIC_AE_EVENT_ID; const ae_sponsorship_cfg_id = PUBLIC_AE_SPONSORSHIP_CFG_ID; // import { api } from '$lib/api'; diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts index 7b993768..941b23e4 100644 --- a/src/routes/+layout.ts +++ b/src/routes/+layout.ts @@ -1,10 +1,14 @@ /** @type {import('./$types').LayoutLoad} */ - import { api } from '$lib/api'; import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores'; import { get } from 'svelte/store'; +type key_val = { + [key: string]: any; // variable key + // name: string; +}; + function handle_load_ae_obj_id__site_domain({fqdn, try_cache=false}) { console.log(`*** handle_load_ae_obj_id__site_domain() *** fqdn=${fqdn}`); @@ -89,45 +93,7 @@ export function load({ params, url }) { // route // console.log(`Svelte root layout.ts data = route:`, route); console.log(`Svelte root layout.ts data = url:`, url); - let site_domain_results = null; - let access_code_li_json = null; - let ae_core = null; - - if (url.host) { - // ae_loc.url_host = data.url.host; // Use this to look up? sub.example.com:123 - // ae_loc.fqdn = url.host; // Use this to look up? sub.example.com:123 - // ae_loc.url_hostname = data.url.hostname; // sub.example.com - // ae_loc.url_origin = data.url.origin; // Use this to look up? https://sub.example.com:123 - // ae_loc.site_domain = data.url.origin; - // console.log(`ae_loc = `, ae_loc); - - site_domain_results = handle_load_ae_obj_id__site_domain({fqdn: url.host, try_cache: false}); - - if (site_domain_results) { - console.log(`site_domain_results = `, site_domain_results); - - ae_core = { - 'account_id': site_domain_results.account_id_random, - 'site_id': site_domain_results.site_id_random, - 'site_domain_id': site_domain_results.site_domain_id_random, - 'enable': site_domain_results.enable, - 'style_href': site_domain_results.style_href, - 'google_tracking_id': site_domain_results.google_tracking_id, - } - } - - access_code_li_json = handle_get_data_store_obj_w_code({code: 'hub__page__access_code_li_json', data_type: 'json'}); - - if (access_code_li_json) { - console.log(`access_code_li_json = `, access_code_li_json); - - ae_core = { - ...ae_core, - 'access_code_li': access_code_li_json, - } - } - - } + let ae_core: key_val = {} let data_struct = { ae_core: ae_core, @@ -140,6 +106,162 @@ export function load({ params, url }) { // route url: url, }; + + let site_domain_results = null; + let access_code_li_json = null; + + // First do a site_domain look up to check if it is valid and get the account_id. + if (url.host) { + // ae_loc.url_host = data.url.host; // Use this to look up? sub.example.com:123 + // ae_loc.fqdn = url.host; // Use this to look up? sub.example.com:123 + // ae_loc.url_hostname = data.url.hostname; // sub.example.com + // ae_loc.url_origin = data.url.origin; // Use this to look up? https://sub.example.com:123 + // ae_loc.site_domain = data.url.origin; + // console.log(`ae_loc = `, ae_loc); + + site_domain_results = handle_load_ae_obj_id__site_domain({fqdn: url.host, try_cache: false}); + + site_domain_results.then(function (site_domain_results) { + if (site_domain_results) { + console.log(`site_domain_results = `, site_domain_results); + + let ae_api_tmp = get(ae_api); + + ae_api_tmp['account_id'] = site_domain_results.account_id_random; + ae_api_tmp['headers']['x-account-id'] = site_domain_results.account_id_random; + ae_api_tmp['headers']['x-no-account-id'] = null; + + ae_api.set(ae_api_tmp); + console.log(`ae_api = `, get(ae_api)); + + ae_core = { + 'account_id': site_domain_results.account_id_random, + 'site_id': site_domain_results.site_id_random, + 'site_domain_id': site_domain_results.site_domain_id_random, + 'enable': site_domain_results.enable, + 'style_href': site_domain_results.style_href, + 'google_tracking_id': site_domain_results.google_tracking_id, + } + + let ae_loc_tmp = get(ae_loc); + ae_loc_tmp.account_id = site_domain_results.account_id_random; + ae_loc.set(ae_loc_tmp); + console.log(`ae_loc = `, get(ae_loc)); + } + + return site_domain_results; + }) + .then(function (site_domain_results) { + access_code_li_json = handle_get_data_store_obj_w_code({code: 'hub__page__access_code_li_json', data_type: 'json'}); + + access_code_li_json.then(function (access_code_li_json_results) { + if (access_code_li_json_results) { + console.log(`access_code_li_json_results = `, access_code_li_json_results); + + ae_core = { + ...ae_core, + 'access_code_li': access_code_li_json_results, + } + + let ae_loc_tmp = get(ae_loc); + let code = 'hub__page__access_code_li_json'; + + ae_loc_tmp.hub.ds[code] = access_code_li_json_results; + ae_loc.set(ae_loc_tmp); + console.log(`ae_loc = `, get(ae_loc)); + } + } + ); + + return site_domain_results; + }) + .then(function (site_domain_results) { + let ds_hub_site_header = handle_get_data_store_obj_w_code({code: 'hub_site_header'}); + + let ae_loc_tmp = get(ae_loc); + let code = ''; + + ds_hub_site_header.then(function (ds_hub_site_header_results) { + if (ds_hub_site_header_results) { + console.log(`ds_hub_site_header_results = `, ds_hub_site_header_results); + + ae_core = { + ...ae_core, + 'site_header': ds_hub_site_header_results, + } + + code = 'hub_site_header'; + ae_loc_tmp.hub.ds[code] = ds_hub_site_header_results; + + ae_loc.set(ae_loc_tmp); + console.log(`ae_loc = `, get(ae_loc)); + } + }); + + let ds_hub_site_footer = handle_get_data_store_obj_w_code({code: 'hub_site_footer'}); + + ds_hub_site_footer.then(function (ds_hub_site_footer_results) { + if (ds_hub_site_footer_results) { + console.log(`ds_hub_site_footer_results = `, ds_hub_site_footer_results); + + ae_core = { + ...ae_core, + 'site_footer': ds_hub_site_footer_results, + } + + code = 'hub_site_footer'; + ae_loc_tmp.hub.ds[code] = ds_hub_site_footer_results; + + ae_loc.set(ae_loc_tmp); + console.log(`ae_loc = `, get(ae_loc)); + } + }); + + + }) + .finally(function () { + console.log(`root layout.ts finally load...`); + + data_struct['ae_core'] = ae_core; + } + ); + + + // if (site_domain_results) { + // console.log(`site_domain_results = `, site_domain_results); + + // ae_api['account_id'] = site_domain_results.account_id_random; + // // ae_api['headers']['account_id'] = site_domain_results.account_id_random; + // ae_api.set(ae_api); + // console.log(`ae_api = `, ae_api); + + // ae_core = { + // 'account_id': site_domain_results.account_id_random, + // 'site_id': site_domain_results.site_id_random, + // 'site_domain_id': site_domain_results.site_domain_id_random, + // 'enable': site_domain_results.enable, + // 'style_href': site_domain_results.style_href, + // 'google_tracking_id': site_domain_results.google_tracking_id, + // } + + + // access_code_li_json = handle_get_data_store_obj_w_code({code: 'hub__page__access_code_li_json', data_type: 'json'}); + + // if (access_code_li_json) { + // console.log(`access_code_li_json = `, access_code_li_json); + + // ae_core = { + // ...ae_core, + // 'access_code_li': access_code_li_json, + // } + // } + // } + + + + } + + return data_struct; } diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 021874cc..82aea177 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -21,47 +21,47 @@ onMount(() => { }); -let data_store_obj_get_promises: key_val = {}; -let get_ds_hub_site_header_promise = handle_get_data_store_obj_w_code({code: 'hub_site_header'}); -let get_ds_hub_site_footer_promise = handle_get_data_store_obj_w_code({code: 'hub_site_footer'}); +// let data_store_obj_get_promises: key_val = {}; +// let get_ds_hub_site_header_promise = handle_get_data_store_obj_w_code({code: 'hub_site_header'}); +// let get_ds_hub_site_footer_promise = handle_get_data_store_obj_w_code({code: 'hub_site_footer'}); -async function handle_get_data_store_obj_w_code({code}: {code: string}, data_type='text') { - console.log('*** handle_get_data_store_obj_w_code() ***'); +// async function handle_get_data_store_obj_w_code({code}: {code: string}, data_type='text') { +// console.log('*** handle_get_data_store_obj_w_code() ***'); - // let get_item_result = window.localStorage.getItem(code); - // localStorage.getItem(code); +// // let get_item_result = window.localStorage.getItem(code); +// // localStorage.getItem(code); - // if ($ae_loc_test_store) { - // $ae_loc.hub.ds[code] = $ae_loc_test_store; - // } else { - // console.log('Get local storage item miss.'); - // } +// // if ($ae_loc_test_store) { +// // $ae_loc.hub.ds[code] = $ae_loc_test_store; +// // } else { +// // console.log('Get local storage item miss.'); +// // } - data_store_obj_get_promises[code] = api.get_data_store_obj_w_code({ - api_cfg: $ae_api, - data_store_code: code, - data_type: data_type, - log_lvl: 1 - }) - .then(function (get_data_store_result) { - if (get_data_store_result) { +// data_store_obj_get_promises[code] = api.get_data_store_obj_w_code({ +// api_cfg: $ae_api, +// data_store_code: code, +// data_type: data_type, +// log_lvl: 1 +// }) +// .then(function (get_data_store_result) { +// if (get_data_store_result) { - if (data_type == 'text') { - // console.log(get_data_store_result.text); - $ae_loc.hub.ds[code] = get_data_store_result.text; - } else if (data_type == 'json') { - // console.log(get_data_store_result.json); - $ae_loc.hub.ds[code] = get_data_store_result.json; - } +// if (data_type == 'text') { +// // console.log(get_data_store_result.text); +// $ae_loc.hub.ds[code] = get_data_store_result.text; +// } else if (data_type == 'json') { +// // console.log(get_data_store_result.json); +// $ae_loc.hub.ds[code] = get_data_store_result.json; +// } - // console.log(`Code: ${$ae_loc.hub.ds[code]}`); - // console.log(`Code:`, $ae_loc.hub.ds[code]); - } - }) - .catch(function (error) { - console.log('No results returned or failed.', error); - }); -} +// // console.log(`Code: ${$ae_loc.hub.ds[code]}`); +// // console.log(`Code:`, $ae_loc.hub.ds[code]); +// } +// }) +// .catch(function (error) { +// console.log('No results returned or failed.', error); +// }); +// } @@ -74,17 +74,13 @@ async function handle_get_data_store_obj_w_code({code}: {code: string}, data_typ Open Sponsorships Open Speakers diff --git a/src/routes/events_speakers/+layout.svelte b/src/routes/events_speakers/+layout.svelte index 3d4b849a..39faff39 100644 --- a/src/routes/events_speakers/+layout.svelte +++ b/src/routes/events_speakers/+layout.svelte @@ -3,12 +3,4 @@ export let data; - - - - \ No newline at end of file diff --git a/src/routes/events_speakers/+layout.ts b/src/routes/events_speakers/+layout.ts index 0c69f4da..5bf9d1a2 100644 --- a/src/routes/events_speakers/+layout.ts +++ b/src/routes/events_speakers/+layout.ts @@ -1,8 +1,63 @@ /** @type {import('./$types').LayoutLoad} */ + +import { api } from '$lib/api'; +import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores'; +import { get } from 'svelte/store'; + + export function load({ params, url }) { // route // console.log(`Svelte Event Speakers layout.ts data = params:`, params); // console.log(`Svelte Event Speakers layout.ts data = route:`, route); - // console.log(`Svelte Event Speakers layout.ts data = url:`, url); + console.log(`Svelte Event Speakers layout.ts data = url:`, url); + + let event_obj_results = null; + + let event_id = url.searchParams.get('event_id'); + + event_obj_results = handle_load_ae_obj_id__event({event_id: event_id, try_cache: false}); + + event_obj_results.then(function (event_obj_results) { + if (event_obj_results) { + console.log(`event_obj_results = `, event_obj_results); + + // let ae_api_tmp = get(ae_api); + + // ae_api_tmp['account_id'] = event_obj_results.account_id_random; + // ae_api_tmp['headers']['x-account-id'] = event_obj_results.account_id_random; + // ae_api_tmp['headers']['x-no-account-id'] = null; + + // ae_api.set(ae_api_tmp); + // console.log(`ae_api = `, get(ae_api)); + + // ae_core = { + // 'account_id': event_obj_results.account_id_random, + // 'site_id': event_obj_results.site_id_random, + // 'site_domain_id': event_obj_results.site_domain_id_random, + // 'enable': event_obj_results.enable, + // 'style_href': event_obj_results.style_href, + // 'google_tracking_id': event_obj_results.google_tracking_id, + // } + + let ae_loc_tmp = get(ae_loc); + ae_loc_tmp.event_id = event_obj_results.event_id_random; + ae_loc_tmp.mod.events.event_id = event_obj_results.event_id_random; + ae_loc.set(ae_loc_tmp); + console.log(`ae_loc = `, get(ae_loc)); + + let slct_tmp = get(slct); + slct_tmp.event_id = event_obj_results.event_id_random; + slct_tmp.event_obj = event_obj_results; + slct.set(slct_tmp); + console.log(`slct = `, get(slct)); + + let slct_trigger_tmp = get(slct_trigger); + slct_trigger_tmp = 'load__event_obj'; + slct_trigger.set(slct_trigger_tmp); + console.log(`slct_trigger = `, get(slct_trigger)); + } + + return event_obj_results; + }) let data_struct = { params: params, @@ -16,3 +71,40 @@ export function load({ params, url }) { // route }; return data_struct; } + + +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 = {}; + + // ae_loc.hub.event_id_qry_status = 'loading'; + let ae_event_obj_get_promise = api.get_ae_obj_id_crud({ + api_cfg: get(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: 1 + }) + .then(function (event_obj_get_result) { + if (event_obj_get_result) { + // slct.event_obj = event_obj_get_result; + // console.log(`event object:`, get(slct).event_obj); + + // ae_loc.account_id = $slct.event_obj.account_id_random; + // ae_loc.site_id = $slct.event_obj.site_id_random; + // ae_loc.event_id = $slct.event_obj.event_id_random; + 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_event_obj_get_promise; +} \ No newline at end of file diff --git a/src/routes/events_speakers/+page.svelte b/src/routes/events_speakers/+page.svelte index e1f2f308..0584c2a4 100644 --- a/src/routes/events_speakers/+page.svelte +++ b/src/routes/events_speakers/+page.svelte @@ -21,11 +21,17 @@ import { api } from '$lib/api'; import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores'; +import List_event_presenter_obj from './10_list__event_presenter_obj.svelte'; + type key_val = { [key: string]: any; }; - +// console.log($slct, $slct_trigger); +// if ($slct.event_id) { +// // $slct_trigger = 'load__event_obj'; +// console.log(`$slct.event_id = `, $slct.event_id); +// } onMount(() => { @@ -34,17 +40,77 @@ onMount(() => { // console.log(`$ae_loc = `, $ae_loc); let href_url = window.location.href; - console.log(href_url); + // console.log(href_url); $ae_loc.href_url = href_url; - console.log(`$ae_loc.href_url = `, $ae_loc.href_url); + // console.log(`$ae_loc.href_url = `, $ae_loc.href_url); }); -if ($ae_loc.event_id) { - $slct.event_id = $ae_loc.event_id; +$: if ($slct_trigger == 'load__event_obj' && $slct.event_id) { + console.log('Selected Event ID:', $slct.event_id); + + $slct_trigger = null; + + // $slct.event_id = $ae_loc.event_id; // handle_load_ae_obj_id__event({event_id: $slct.event_id, try_cache: false}); - // handle_load_ae_obj_li__events_speakers({event_id: $slct.event_id, try_cache: false}); + handle_load_ae_obj_li__event_presenter({event_id: $slct.event_id, try_cache: false}); +} + + +let ae_event_presenter_obj_li_get_promise: Promise; + +async function handle_load_ae_obj_li__event_presenter({event_id, try_cache=true}) { + console.log('*** handle_load_ae_obj_li__event_presenter() ***'); + // console.log($ae_loc.mod.events); + + let enabled = $ae_loc.mod.events.enabled; + let hidden = $ae_loc.mod.events.hidden; + let limit = $ae_loc.mod.events.limit; + let offset = $ae_loc.mod.events.offset; + + let params = {}; + + let params_json: key_val = {}; + + // console.log('params_json:', params_json); + // console.log(params_json); + + $ae_loc.mod.events.qry_status = 'loading'; + ae_event_presenter_obj_li_get_promise = api.get_ae_obj_li_for_obj_id_crud({ + api_cfg: $ae_api, + obj_type: 'event_presenter', + 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 (event_presenter_obj_li_get_result) { + if (event_presenter_obj_li_get_result) { + $slct.event_presenter_obj_li = event_presenter_obj_li_get_result; + } else { + $slct.event_presenter_obj_li = []; + } + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }) + .finally(function () { + $ae_loc.mod.events.qry_status = 'done'; + console.log('Object list:', $slct.event_presenter_obj_li); + }); + + return ae_event_presenter_obj_li_get_promise; } @@ -74,6 +140,19 @@ if ($ae_loc.event_id) {
+ + + +
diff --git a/src/routes/events_speakers/10_list__event_presenter_obj.svelte b/src/routes/events_speakers/10_list__event_presenter_obj.svelte new file mode 100644 index 00000000..cedda70b --- /dev/null +++ b/src/routes/events_speakers/10_list__event_presenter_obj.svelte @@ -0,0 +1,151 @@ + + + +
+{#if $slct.event_presenter_obj_li} + + + + + + + + + + + + +{#each $slct.event_presenter_obj_li as ae_event_presenter_obj, index} + + + + + + + + + + + + + + +{/each} + + + + + + +
OptionsNameEmailAffiliationsCreatedUpdated
+
+ + + {#if $ae_loc.trusted_access} + + {/if} +
+
{ae_event_presenter_obj.full_name} + {#if ae_event_presenter_obj.email} + {ae_event_presenter_obj.email} + {:else} + -- None -- + {/if} + + {ae_event_presenter_obj.affiliations ?? '-- None --'} + {ae_util.iso_datetime_formatter(ae_event_presenter_obj.created_on, 'datetime_short')}{ae_util.iso_datetime_formatter(ae_event_presenter_obj.updated_on, 'datetime_short')}
+ Total Count: + {$slct.event_presenter_obj_li.length} +
+{:else} +
No event_presenters avalible to show at this time
+{/if} +
+ + + diff --git a/src/routes/sponsorships/+layout.ts b/src/routes/sponsorships/+layout.ts index e3afca21..5e180ded 100644 --- a/src/routes/sponsorships/+layout.ts +++ b/src/routes/sponsorships/+layout.ts @@ -1,8 +1,8 @@ /** @type {import('./$types').LayoutLoad} */ export function load({ params, url }) { // route - console.log(`Svelte Sponsorships layout.ts data = params:`, params); + // 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 = url:`, url); let data_struct = { params: params,