diff --git a/src/routes/events_leads/exhibit/[slug]/+page.svelte b/src/routes/events_leads/exhibit/[slug]/+page.svelte index f585386a..b4174d0c 100644 --- a/src/routes/events_leads/exhibit/[slug]/+page.svelte +++ b/src/routes/events_leads/exhibit/[slug]/+page.svelte @@ -181,19 +181,63 @@ async function handle_load_ae_obj_id__event_exhibit({event_exhibit_id, try_cache return ae_event_exhibit_get_promise; } -async function handle_submit_form_other(event) { +async function handle_submit_form_license_update(event) { + console.log('*** handle_submit_form_license_update() ***'); + + // Data in let tmp_obj = $event_exhibit_obj; - tmp_obj.license_li_json.push($events_sess.leads.tmp_license); - console.log('Add License:', tmp_obj); + if ($events_sess.leads.tmp_license.index >= 0 && $events_sess.leads.tmp_license.email && $events_sess.leads.tmp_license.full_name) { + tmp_obj.license_li_json[$events_sess.leads.tmp_license.index] = $events_sess.leads.tmp_license; + console.log('Update license:', tmp_obj); + } else if ($events_sess.leads.tmp_license.index >= 0 && !$events_sess.leads.tmp_license.email && !$events_sess.leads.tmp_license.full_name) { + console.log('No license email and full_name to update and there is an index number. Remove the license.'); + console.log('Remove License'); + let tmp_obj = $event_exhibit_obj; + tmp_obj.license_li_json.splice($events_sess.leads.tmp_license.index, 1); + + console.log('Removed license:', tmp_obj); + } else if ($events_sess.leads.tmp_license.email && $events_sess.leads.tmp_license.full_name) { + tmp_obj.license_li_json.push($events_sess.leads.tmp_license); + console.log('Add license:', tmp_obj); + } else if ($events_sess.leads.tmp_license.index === -1) { + // console.log('No license email and full_name to add or update and index is -1. This was already deleted based on the old index number! Just submit what is already there?', tmp_obj); + } else { + return false; + } + + // tmp_obj.license_li_json.push($events_sess.leads.tmp_license); + + // Save to local IDB await db_events.exhibits.put(tmp_obj); + // Save to the database + // Data out + let exhibit_do: key_val = {}; + exhibit_do['license_li_json'] = $event_exhibit_obj?.license_li_json; + + console.log('exhibit_do:', exhibit_do); + + console.log(`ae_ Exhibit Update:`, exhibit_do); + exhibit_submit_results = handle_update__exhibit({ + obj_type: 'event_exhibit', + obj_id: $events_slct.exhibit_id, + data: exhibit_do + }) + .then( function (exhibit_results) { + console.log(`ae_ Exhibit Update Results:`, exhibit_results); + if (exhibit_results) { + } + return exhibit_results; + }) + .finally(function () { + $events_trigger == 'load__event_exhibit_obj' + // $ae_sess.ds.submit_status = 'updated'; + }); $events_sess.leads.show_form__license = false; $events_loc.leads.edit_license_li = false; - - // This still needs to be saved to the database. } @@ -497,12 +541,13 @@ function send_init_confirm_email({to_email}) {

License List (max {$event_exhibit_obj?.license_max})

-{#if $event_exhibit_obj?.license_li_json.length < $event_exhibit_obj?.license_max} +{#if $event_exhibit_obj?.license_li_json && $event_exhibit_obj?.license_li_json.length < $event_exhibit_obj?.license_max} {:else} - + --> {/if}
Use one of the options below to log in using one of the licenses.
@@ -628,6 +673,7 @@ function send_init_confirm_email({to_email}) { type="button" use:clipboard={$events_slct.exhibit_obj.url} class="btn btn-sm text-sm variant-soft-tertiary" + class:hidden={!$ae_loc.trusted_access || !$events_loc.show_details} title={`Copy link to this exhibit (ID: ${$events_slct.exhibit_id})`} > @@ -699,7 +745,7 @@ function send_init_confirm_email({to_email}) { - {#if $events_loc.leads.edit_license_li} + +
- {/if} - + +
{#if $events_loc.show_details} @@ -764,6 +832,17 @@ function send_init_confirm_email({to_email}) { {#if $events_loc?.leads.auth_exhibit_li && $events_loc.leads.auth_exhibit_li[$events_slct.exhibit_id]}
Manage: Logged in. Nothing here yet
+ + {#if $events_loc?.leads.auth_exhibit_li && $events_loc.leads.auth_exhibit_li[$events_slct.exhibit_id]}