From 5a147a98bb1a38b1ba0f9bad0e6aceebbb7aea47 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 8 Mar 2024 00:09:17 -0500 Subject: [PATCH] I am done for the night... --- package-lock.json | 6 + package.json | 1 + src/lib/ae_events_stores.ts | 1 + src/lib/db_events.ts | 35 ++++ src/lib/element_data_store.svelte | 66 ++++--- src/routes/+layout.svelte | 9 +- src/routes/events_badges/review/+page.svelte | 146 +++++++++++++--- src/routes/events_speakers/+layout.svelte | 2 +- src/routes/events_speakers/+page.svelte | 72 ++++---- .../10_edit_modal__event_presenter_obj.svelte | 4 +- .../10_list__event_presenter_obj.svelte | 4 +- .../events_speakers/[slug]/+page.svelte | 14 +- src/routes/sponsorships/+layout.svelte | 2 +- src/routes/sponsorships/+page.svelte | 124 +++++++------- .../10_edit_modal__sponsorship_obj.svelte | 161 +++++++++--------- .../10_list__sponsorship_obj.svelte | 4 +- tests/.directory | 7 + tests/test.ts | 6 - 18 files changed, 414 insertions(+), 250 deletions(-) create mode 100644 src/lib/db_events.ts create mode 100644 tests/.directory delete mode 100644 tests/test.ts diff --git a/package-lock.json b/package-lock.json index 9b15c034..97bd6098 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@floating-ui/dom": "1.6.3", "axios": "^1.6.7", "dayjs": "^1.11.10", + "dexie": "^4.0.1-beta.14", "highlight.js": "11.9.0" }, "devDependencies": { @@ -2166,6 +2167,11 @@ "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", "dev": true }, + "node_modules/dexie": { + "version": "4.0.1-beta.14", + "resolved": "https://registry.npmjs.org/dexie/-/dexie-4.0.1-beta.14.tgz", + "integrity": "sha512-1Glgs4nyHUriknstBku1T0Qz9qxJbHQy49JFeDEacHQK+XljN/sn1zyIH/HwouQ7a+WAdWHInm51i0GqWOAyHg==" + }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", diff --git a/package.json b/package.json index 06db4723..bf328555 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "@floating-ui/dom": "1.6.3", "axios": "^1.6.7", "dayjs": "^1.11.10", + "dexie": "^4.0.1-beta.14", "highlight.js": "11.9.0" } } diff --git a/src/lib/ae_events_stores.ts b/src/lib/ae_events_stores.ts index 3e6f3fcc..4b9c69a9 100644 --- a/src/lib/ae_events_stores.ts +++ b/src/lib/ae_events_stores.ts @@ -75,6 +75,7 @@ let events_session_data_struct: key_val = { // Badge Printing 'badges': { + 'fulltext_search_qry_str': null, 'status_qry__search': null, }, diff --git a/src/lib/db_events.ts b/src/lib/db_events.ts new file mode 100644 index 00000000..8e5ff277 --- /dev/null +++ b/src/lib/db_events.ts @@ -0,0 +1,35 @@ +import Dexie, { type Table } from 'dexie'; + +export interface Badge { + // id?: number; + id_random: string; + full_name: string; + full_name_override: null|string; + email: string; + email_override: null|string; + affiliations: string; + affiliations_override: null|string; + badge_type: string; + badge_type_code: string; + badge_type_code_override: null|string; + badge_type_override: null|string; + external_event_id: string; + external_id: string; + external_person_id: string; +} + +export class MySubClassedDexie extends Dexie { + // 'badges' is added by dexie when declaring the stores() + // We just tell the typing system this is the case + badges!: Table; + + constructor() { + super('ae_events_db'); + this.version(1).stores({ + // badges: '++id, full_name, email' // Primary key and indexed props + badges: 'id_random, full_name, full_name_override, email, email_override, affiliations, affiliations_override, badge_type, badge_type_code, badge_type_code_override, badge_type_override, external_event_id, external_id, external_person_id' // Primary key and indexed props + }); + } +} + +export const db_events = new MySubClassedDexie(); \ No newline at end of file diff --git a/src/lib/element_data_store.svelte b/src/lib/element_data_store.svelte index 56084c17..1b48ce04 100644 --- a/src/lib/element_data_store.svelte +++ b/src/lib/element_data_store.svelte @@ -86,6 +86,8 @@ onMount(() => { // console.log(`ae_ ds_code_li = `, ds_code_li); $: if (trigger == 'load__ds__code' && ds_code && ds_type) { + console.log(`ae_ load__ds__code: ${ds_code} ${ds_type} ${for_type} ${for_id} ${try_cache}`); + trigger = null; load_data_store({ @@ -294,6 +296,8 @@ async function handle_submit_form(event) { return ds_results; }) .finally(function (ds_val_result) { + console.log(`ae_ ds_val_result = `, ds_val_result); + trigger = 'load__ds__code'; $ae_sess.ds.submit_status = 'created'; }); } else { @@ -323,7 +327,10 @@ async function handle_submit_form(event) { // .finally(function (ds_val_result) { // // console.log(`ae_ ds_code_val = `, ds_val_result); }) - .finally(function (ds_val_result) { + .finally(function () { + // console.log(`ae_ ds_val_result = `, ds_val_result); + console.log(`ae_ load__ds__code: ${ds_code} ${ds_type} ${for_type} ${for_id} ${try_cache}`); + trigger = 'load__ds__code'; $ae_sess.ds.submit_status = 'updated'; }); } @@ -376,31 +383,31 @@ async function handle_update__data_store({ $ae_sess.ds.update_status = 'starting'; ae_promises.update__data_store_obj = api.update_ae_obj_id_crud({ - api_cfg: $ae_api, - obj_type: obj_type, - obj_id: obj_id, - fields: data, - key: $ae_api.api_crud_super_key, - log_lvl: 2 - }) - .then(async function (update__obj_result) { - if (!update__obj_result) { - console.log('The result was null or false.'); - return false; - } - return update__obj_result; + api_cfg: $ae_api, + obj_type: obj_type, + obj_id: obj_id, + fields: data, + key: $ae_api.api_crud_super_key, + log_lvl: 2 }) - .catch(function (error) { - console.log('Something went wrong.'); - console.log(error); + .then(async function (update__obj_result) { + if (!update__obj_result) { + console.log('The result was null or false.'); return false; - }) - .finally(function (update__obj_result) { - $ae_sess.ds.update_status = 'finished'; - return update__obj_result; - }) + } + return update__obj_result; + }) + .catch(function (error) { + console.log('Something went wrong.'); + console.log(error); + return false; + }) + .finally(function (update__obj_result) { + $ae_sess.ds.update_status = 'finished'; + return update__obj_result; + }) - return ae_promises.update__data_store_obj; + return ae_promises.update__data_store_obj; } @@ -581,7 +588,7 @@ async function handle_update__data_store({ - +
+ +
- {#if $slct.event_presenter_obj_li && $ae_loc.mod.events.show_list__event_presenter_obj_li} - - {/if} - - - +
+ {#await ae_event_presenter_obj_li_get_promise} + + + Loading... + + {/await} + + {#if $slct.event_presenter_obj_li && $ae_loc.mod.events.show_list__event_presenter_obj_li} + + {/if} +
+ +