From 1e3086560d4ef79a71b6d5b0dba87cccd1fe7230 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Mon, 16 Sep 2024 18:10:55 -0400 Subject: [PATCH] Creating version to of the data store element. Hopefully better now. --- src/lib/ae_events_stores.ts | 14 +- src/lib/ae_stores.ts | 9 +- src/lib/element_access_type.svelte | 14 +- src/lib/element_data_store_v2.svelte | 804 +++++++++++++++++++ src/routes/+layout.svelte | 19 +- src/routes/+layout.ts | 29 +- src/routes/+page.svelte | 2 +- src/routes/admin/+layout.svelte | 40 - src/routes/events_badges/+layout.svelte | 17 - src/routes/events_badges/review/+page.svelte | 2 +- src/routes/events_badges/stats/+page.svelte | 2 +- 11 files changed, 833 insertions(+), 119 deletions(-) create mode 100644 src/lib/element_data_store_v2.svelte diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts index 279ada6b..42116b79 100644 --- a/src/lib/ae_events_stores.ts +++ b/src/lib/ae_events_stores.ts @@ -23,9 +23,7 @@ let events_local_data_struct: key_val = { 'events_cfg_json': {}, - 'default__event_id': null, // OSIT Demo pjrcghqwert - 'default__location_id': null, - 'default__session_id': null, + 'event_id': null, // all, disabled, enabled 'qry__enabled': 'enabled', @@ -96,8 +94,8 @@ let events_local_data_struct: key_val = { }, // Event Files - uploads for sessions, presenters, etc - 'files': { - }, + // 'files': { + // }, // Event Presentation Launcher (and native Electron app) 'launcher': { @@ -247,10 +245,8 @@ let events_local_data_struct: key_val = { }, // Speakers Management (Collection) - 'speakers': { - 'default__session_id': null, // Assign to new presenters by default - status__submit: null, // 'saving', 'created', 'updated' - }, + // 'speakers': { + // }, // other } diff --git a/src/lib/ae_stores.ts b/src/lib/ae_stores.ts index cd14014a..a1f0a999 100644 --- a/src/lib/ae_stores.ts +++ b/src/lib/ae_stores.ts @@ -73,9 +73,8 @@ export let ae_app_local_data_struct: key_val = { header_image_path: null, }, - // The page access codes can be pulled from the data store "hub__page__access_code_li_json" per account. - // Currently configured for OSIT, ASCM, LCI - 'page_access_code_li': { + // The site access codes can be pulled from the site records for an account. + 'site_access_code_kv': { // 'manager': '10240', 'administrator': '11500', 'trusted': '19111', @@ -94,7 +93,7 @@ export let ae_app_local_data_struct: key_val = { 'authenticated_access': false, 'anonymous_access': true, - 'user_email': null, + 'user_email': null, // Currently used with Sponsorships only? 'qry__enabled': 'enabled', // all, disabled, enabled 'qry__hidden': 'not_hidden', // all, hidden, not_hidden @@ -281,7 +280,7 @@ if (ae_no_account_id) { } ae_api_data_struct['headers'] = ae_api_headers; -console.log(`AE Stores - API Data:`, ae_api_data_struct); +// console.log(`AE Stores - API Data:`, ae_api_data_struct); export let ae_api = writable(ae_api_data_struct); // *** BEGIN *** Trigger to update the slct variables and other things. diff --git a/src/lib/element_access_type.svelte b/src/lib/element_access_type.svelte index c81306a8..2ab3da8b 100644 --- a/src/lib/element_access_type.svelte +++ b/src/lib/element_access_type.svelte @@ -44,41 +44,41 @@ $: if (trigger && $ae_loc.access_type) { function handle_check_access_type_passcode() { - console.log(`*** handle_check_access_type_passcode() *** passcode list:`, $ae_loc.page_access_code_li); + console.log(`*** handle_check_access_type_passcode() *** passcode list:`, $ae_loc.site_access_code_kv); if (entered_passcode && entered_passcode.length >= 5) { - if ($ae_loc.page_access_code_li.super == entered_passcode) { + if ($ae_loc.site_access_code_kv.super == entered_passcode) { console.log('Super passcode matched'); window.localStorage.setItem('access_type', 'super'); $ae_loc.access_type = 'super'; - } else if ($ae_loc.page_access_code_li.manager == entered_passcode) { + } else if ($ae_loc.site_access_code_kv.manager == entered_passcode) { console.log('Manager passcode matched'); window.localStorage.setItem('access_type', 'manager'); $ae_loc.access_type = 'manager'; - } else if ($ae_loc.page_access_code_li.administrator == entered_passcode) { + } else if ($ae_loc.site_access_code_kv.administrator == entered_passcode) { console.log('Administrator passcode matched'); window.localStorage.setItem('access_type', 'administrator'); $ae_loc.access_type = 'administrator'; - } else if ($ae_loc.page_access_code_li.trusted == entered_passcode) { + } else if ($ae_loc.site_access_code_kv.trusted == entered_passcode) { console.log('Trusted passcode matched'); window.localStorage.setItem('access_type', 'trusted'); $ae_loc.access_type = 'trusted'; - } else if ($ae_loc.page_access_code_li.public == entered_passcode) { + } else if ($ae_loc.site_access_code_kv.public == entered_passcode) { console.log('Public passcode matched'); window.localStorage.setItem('access_type', 'public'); $ae_loc.access_type = 'public'; - } else if ($ae_loc.page_access_code_li.authenticated == entered_passcode) { + } else if ($ae_loc.site_access_code_kv.authenticated == entered_passcode) { console.log('Authenticated passcode matched'); window.localStorage.setItem('access_type', 'authenticated'); diff --git a/src/lib/element_data_store_v2.svelte b/src/lib/element_data_store_v2.svelte new file mode 100644 index 00000000..25365d1a --- /dev/null +++ b/src/lib/element_data_store_v2.svelte @@ -0,0 +1,804 @@ + + + +
+{#if ae_ds_tmp} + + +{#if debug || $ae_loc.debug == 'debug'} + +
+    id: {ae_ds_tmp.id},
+    code: {ae_ds_tmp.code},
+    type: {ae_ds_tmp.type},
+    for_type: {ae_ds_tmp.for_type},
+    for_id: {ae_ds_tmp.for_id},
+    access_read: {ae_ds_tmp.access_read},
+    access_write: {ae_ds_tmp.access_write},
+    access_delete: {ae_ds_tmp.access_delete},
+    name: {ae_ds_tmp.name},
+    html: {ae_ds_tmp.html},
+    json: {ae_ds_tmp.json},
+    md: {ae_ds_tmp.md},
+    text: {ae_ds_tmp.text},
+    updated_on: {ae_ds_tmp.updated_on},
+    
+ +{/if} + +{#if show_edit} +
+
+ + + + {#if $ae_loc.trusted_access} + + {/if} + {#if $ae_loc.manager_access} + + + + {/if} + {#if $ae_loc.trusted_access} + + {/if} + {#if $ae_loc.manager_access} + + + + + + + {:else} + Code: {ae_ds_tmp.code} + + Type: {ae_ds_tmp.type} + {/if} + + + {#if ae_ds_tmp.type == 'html' || ae_ds_tmp.type == null} + + + {:else if ae_ds_tmp.type == 'sql'} + + + + {:else if ae_ds_tmp.type == 'text'} + + {/if} +
+ + + + + + + + {#await ds_submit_results} + + {:then ds_submit_results} + {#if ds_submit_results} +
+ + + Saved + +
+ {/if} + {/await} + +
+ submit: {$ae_sess.ds.submit_status} + create: {$ae_sess.ds.create_status} + update: {$ae_sess.ds.update_status} +
+ +
+ +
+
+{/if} + + + +{#if !ae_ds_tmp.type && !ae_ds_tmp.html && !ae_ds_tmp.json && !ae_ds_tmp.md && !ae_ds_tmp.text} + {#if $ae_loc.manager_access} + No data found! Is the data store correct or new? + {:else} + + {/if} +{/if} + +{#if ae_ds_tmp.type == 'html' && ae_ds_tmp.html} + {@html ae_ds_tmp.html} +{:else if ae_ds_tmp.type == 'html'} + {#if $ae_loc.manager_access} + No HTML found! Is the data store type correct? + {:else} + + {/if} +{/if} + +{#if ae_ds_tmp.type == 'text' && ae_ds_tmp.text} + {ae_ds_tmp.text} +{:else if ae_ds_tmp.type == 'text'} + {#if $ae_loc.manager_access} + No text found! Is the data store type correct? + {:else} + + {/if} +{/if} + + + + +{:else} + +{/if} + + + + + +{#await ds_get_results} + +{/await} + + + +
+ + + diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index ee489394..63558e76 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -61,7 +61,7 @@ import type { key_val } from '$lib/ae_stores'; import Element_access_type from '$lib/element_access_type.svelte'; import Element_app_cfg from '$lib/element_app_cfg.svelte'; -import Element_data_store from '$lib/element_data_store.svelte'; +import Element_data_store from '$lib/element_data_store_v2.svelte'; // let account_id = localStorage.getItem('ae_account_id'); // console.log(`account_id = `, account_id); @@ -93,33 +93,28 @@ $slct = { } // console.log(`$slct = `, $slct); +// There should almost always be an event_id set. if ($ae_loc?.site_cfg_json.slct__event_id) { $events_slct.event_id = $ae_loc.site_cfg_json.slct__event_id; $events_loc.event_id = $ae_loc.site_cfg_json.slct__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 if ($ae_loc.default__event_id) { - $events_slct.event_id = $ae_loc.default__event_id; - $events_loc.event_id = $ae_loc.default__event_id; } else { - console.log(`No Event ID set.`); + console.log(`No Event ID set!`); } +// This is mainly for Precon CHOW if ($ae_loc.site_cfg_json.slct__sponsorship_cfg_id) { $slct.sponsorship_cfg_id = $ae_loc.site_cfg_json.slct__sponsorship_cfg_id; $ae_loc.mod.sponsorships.cfg_id = $ae_loc.site_cfg_json.slct__sponsorship_cfg_id; -} else if ($ae_loc.default__sponsorship_cfg_id) { - $slct.sponsorship_cfg_id = $ae_loc.default__sponsorship_cfg_id; - $ae_loc.mod.sponsorships.cfg_id = $ae_loc.default__sponsorship_cfg_id; +} else if ($ae_loc.sponsorship_cfg_id) { + $slct.sponsorship_cfg_id = $ae_loc.sponsorship_cfg_id; + $ae_loc.mod.sponsorships.cfg_id = $ae_loc.sponsorship_cfg_id; } else { console.log(`No Sponsorship Config ID set.`); } -if (!$ae_loc.user_email) { - $ae_loc.user_email = 'test@oneskyit.com'; -} - if (browser) { // Waiting until the browser exists. if ($ae_loc && $ae_sess && $ae_loc.ver_idb != $ae_sess.ver_idb) { diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts index de5deb56..51cfc260 100644 --- a/src/routes/+layout.ts +++ b/src/routes/+layout.ts @@ -161,7 +161,6 @@ export async function load({ fetch, params, parent, route, url }) { // params, r ae_loc_init['site_style_href'] = site_domain_results.style_href; ae_loc_init['site_google_tracking_id'] = site_domain_results.google_tracking_id; ae_loc_init['site_access_code_kv'] = site_domain_results.access_code_kv_json; - ae_loc_init['page_access_code_li'] = site_domain_results.access_code_kv_json; // Old style. This is only temporary. Start using site_*_kv version. ae_loc_init['site_cfg_json'] = site_domain_results.cfg_json; console.log(`root layout.ts: Returning account_id = `, site_domain_results.account_id_random); @@ -183,28 +182,6 @@ export async function load({ fetch, params, parent, route, url }) { // params, r } // console.log(ae_loc_init); - // NOTE: We need to wait for the account_id to be returned before we can continue. It is required for the api_cfg. - // let ds_type: null|string = 'json'; - // ds_code = 'hub__page__access_code_li_json'; - // // console.log(`INFO: ae_ account_id = `, account_id); - // // ae_acct['ds'][ds_code] - // ds_code_li[ds_code] = await core_func.handle_load_ae_obj_code__data_store({ - // api_cfg: ae_api_init, - // code: ds_code, - // data_type: ds_type, - // save_idb: false - // }) - // .then(function (ds_results) { - // if (ds_results) { - // console.log(`ae_ ds_results = `, ds_results); - // return ds_results; - // } - - // } - // ); - - // ae_loc_init['page_access_code_li'] = ds_code_li['hub__page__access_code_li_json']; - ae_acct['api'] = ae_api_init; ae_acct['loc'] = ae_loc_init; ae_acct['ds'] = ds_code_li; @@ -214,11 +191,11 @@ export async function load({ fetch, params, parent, route, url }) { // params, r 'site_id': ae_loc_init.site_id, // For events_leads, events_badges, events_speakers - 'event_id': ae_loc_init.site_cfg_json.slct__event_id, - 'event_badge_template': ae_loc_init.site_cfg_json.slct__event_badge_template, + 'event_id': ae_loc_init.site_cfg_json?.slct__event_id, + 'event_badge_template': ae_loc_init.site_cfg_json?.slct__event_badge_template, // For sponsorships - 'sponsorship_cfg_id': ae_loc_init.site_cfg_json.slct__sponsorship_cfg_id, + 'sponsorship_cfg_id': ae_loc_init.site_cfg_json?.slct__sponsorship_cfg_id, } // console.log(`ae_acct = `, ae_acct); diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index d6e95cdb..f618faae 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -8,7 +8,7 @@ import { onMount } from 'svelte'; // import { PUBLIC_TESTING } from '$env/static/public'; // console.log(`AE Config - +page.svelte PUBLIC_TESTING:`, PUBLIC_TESTING); -import Element_data_store from '$lib/element_data_store.svelte'; +import Element_data_store from '$lib/element_data_store_v2.svelte'; // import { api } from '$lib/api'; import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores'; diff --git a/src/routes/admin/+layout.svelte b/src/routes/admin/+layout.svelte index 19a4ca73..3ba3e0ae 100644 --- a/src/routes/admin/+layout.svelte +++ b/src/routes/admin/+layout.svelte @@ -35,49 +35,9 @@ $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 ($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); -// } - onMount(() => { console.log('Admin: +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 diff --git a/src/routes/events_badges/+layout.svelte b/src/routes/events_badges/+layout.svelte index 72902d02..180de1d5 100644 --- a/src/routes/events_badges/+layout.svelte +++ b/src/routes/events_badges/+layout.svelte @@ -31,23 +31,6 @@ $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 ($events_slct.event_id) { -// $events_trigger = 'load__event_obj'; -// } - // Updated 2024-03-06 // $: if ($events_trigger == 'load__event_obj' && $events_slct.event_id) { diff --git a/src/routes/events_badges/review/+page.svelte b/src/routes/events_badges/review/+page.svelte index b2302b2f..3f1d4d63 100644 --- a/src/routes/events_badges/review/+page.svelte +++ b/src/routes/events_badges/review/+page.svelte @@ -333,7 +333,7 @@ function handle_qr_camera(event) { {#if $ae_loc.iframe} - header + header

Review & Print
Your Badge

{:else} diff --git a/src/routes/events_badges/stats/+page.svelte b/src/routes/events_badges/stats/+page.svelte index 0e11dd95..ca7a82da 100644 --- a/src/routes/events_badges/stats/+page.svelte +++ b/src/routes/events_badges/stats/+page.svelte @@ -340,7 +340,7 @@ function handle_qr_camera(event) { {#if $ae_loc.iframe} - header + header

Review & Print
Your Badge

{:else}