Making things work smoothly
This commit is contained in:
BIN
..env.production.kate-swp
Normal file
BIN
..env.production.kate-swp
Normal file
Binary file not shown.
@@ -224,6 +224,14 @@ div.btn-group button:last-child {
|
||||
border-bottom-right-radius: .25rem;
|
||||
} */
|
||||
|
||||
.ae_obj_prop .label {
|
||||
|
||||
}
|
||||
|
||||
.ae_obj_prop .value {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
.ae_md_hide {
|
||||
/* outline: medium dashed green; */
|
||||
|
||||
@@ -464,7 +464,7 @@ async function handle_load_ae_obj_li__exhibit_tracking({api_cfg, exhibit_id, par
|
||||
|
||||
|
||||
// Updated 2024-03-22
|
||||
async function handle_create_ae_obj__exhibit_tracking({api_cfg, exhibit_id, event_badge_id, external_person_id, params={}, try_cache=false}) {
|
||||
async function handle_create_ae_obj__exhibit_tracking({api_cfg, exhibit_id, event_badge_id, external_person_id, params={}}) {
|
||||
console.log(`*** handle_create_ae_obj__exhibit_tracking() *** exhibit_id=${exhibit_id}, event_badge_id=${event_badge_id}`);
|
||||
|
||||
let params_json: key_val = {};
|
||||
@@ -508,6 +508,37 @@ async function handle_create_ae_obj__exhibit_tracking({api_cfg, exhibit_id, even
|
||||
}
|
||||
|
||||
|
||||
// Updated 2024-03-28
|
||||
async function handle_update_ae_obj__exhibit_tracking({api_cfg, exhibit_tracking_id, data, params={}}) {
|
||||
console.log(`*** handle_update_ae_obj__exhibit_tracking() *** exhibit_tracking_id=${exhibit_tracking_id}`);
|
||||
|
||||
ae_promises.update__event_exhibit_tracking = await api.update_ae_obj_id_crud({
|
||||
api_cfg: api_cfg,
|
||||
obj_type: 'event_exhibit_tracking',
|
||||
obj_id: exhibit_tracking_id,
|
||||
fields: data,
|
||||
key: api_cfg.api_crud_super_key,
|
||||
params: params,
|
||||
return_obj: true,
|
||||
log_lvl: 1
|
||||
})
|
||||
.then(function (exhibit_tracking_obj_update_result) {
|
||||
if (exhibit_tracking_obj_update_result) {
|
||||
handle_db_save_ae_obj_li__exhibitor_tracking({obj_type: 'event_exhibit_tracking', obj_li: [exhibit_tracking_obj_update_result]});
|
||||
return exhibit_tracking_obj_update_result;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.log('No results returned or failed.', error);
|
||||
})
|
||||
.finally(function () {
|
||||
});
|
||||
|
||||
console.log('ae_promises.update__event_exhibit_tracking:', ae_promises.update__event_exhibit_tracking);
|
||||
return ae_promises.update__event_exhibit_tracking;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -727,5 +758,6 @@ let export_obj = {
|
||||
handle_load_ae_obj_id__exhibit_tracking: handle_load_ae_obj_id__exhibit_tracking,
|
||||
handle_load_ae_obj_li__exhibit_tracking: handle_load_ae_obj_li__exhibit_tracking,
|
||||
handle_create_ae_obj__exhibit_tracking: handle_create_ae_obj__exhibit_tracking,
|
||||
handle_update_ae_obj__exhibit_tracking: handle_update_ae_obj__exhibit_tracking,
|
||||
};
|
||||
export let events_func = export_obj;
|
||||
|
||||
@@ -151,6 +151,8 @@ let events_session_data_struct: key_val = {
|
||||
|
||||
entered_search_str: null,
|
||||
|
||||
lead_data_changed: false,
|
||||
|
||||
qr_scan_start: true,
|
||||
qr_scan_result: null,
|
||||
},
|
||||
|
||||
@@ -185,7 +185,7 @@ export let ae_app_session_data_struct: key_val = {
|
||||
'testing': {},
|
||||
},
|
||||
};
|
||||
console.log(`AE Stores - App Session Storage Data:`, ae_app_session_data_struct);
|
||||
// console.log(`AE Stores - App Session Storage Data:`, ae_app_session_data_struct);
|
||||
export let ae_sess = writable(ae_app_session_data_struct);
|
||||
|
||||
|
||||
|
||||
@@ -158,6 +158,7 @@ export async function load({ fetch, params, parent, route, url }) { // params, r
|
||||
|
||||
return site_domain_results.account_id_random;
|
||||
}
|
||||
console.log(`root layout.ts: Site domain results not found!!!`)
|
||||
|
||||
return null;
|
||||
});
|
||||
@@ -168,6 +169,11 @@ export async function load({ fetch, params, parent, route, url }) { // params, r
|
||||
// return true;
|
||||
// });
|
||||
|
||||
if (!account_id) {
|
||||
console.log(`root layout.ts: The account_id was not found in API response!!!`);
|
||||
return false;
|
||||
}
|
||||
|
||||
// console.log(ae_loc_init);
|
||||
|
||||
// if (browser) {
|
||||
|
||||
@@ -530,8 +530,16 @@ function send_init_confirm_email({to_email}) {
|
||||
bind:group={$events_loc.leads.tab[$events_slct.exhibit_id]}
|
||||
name="tab_manage"
|
||||
value={'manage'}
|
||||
disabled={!$ae_loc.administrator_access || !$events_slct.exhibit_obj && (!$events_loc?.leads.auth_exhibit_kv || !$events_loc.leads.auth_exhibit_kv[$events_slct.exhibit_id])}
|
||||
regionTab={!$events_slct.exhibit_obj || !$events_loc?.leads.auth_exhibit_kv || !$events_loc.leads.auth_exhibit_kv[$events_slct.exhibit_id] ? 'text-slate-400' : ''}
|
||||
disabled={
|
||||
!($ae_loc.administrator_access && $events_slct.exhibit_obj)
|
||||
&&
|
||||
!($events_loc?.leads.auth_exhibit_kv && $events_loc.leads.auth_exhibit_kv[$events_slct.exhibit_id])
|
||||
}
|
||||
regionTab={
|
||||
!($ae_loc.administrator_access && $events_slct.exhibit_obj)
|
||||
&&
|
||||
!($events_loc?.leads.auth_exhibit_kv && $events_loc.leads.auth_exhibit_kv[$events_slct.exhibit_id]) ? 'text-slate-400' : ''
|
||||
}
|
||||
title="Manage the exhibit settings, licenses, and other."
|
||||
>
|
||||
<svelte:fragment slot="lead">
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<script lang="ts">
|
||||
console.log(`ae_events_leads exhibit [slug] leads_view.svelte`);
|
||||
|
||||
import { fade } from 'svelte/transition';
|
||||
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
import { ae_util } from '$lib/ae_utils';
|
||||
import { liveQuery } from "dexie";
|
||||
@@ -11,6 +13,8 @@ import { events_func } from '$lib/ae_events_functions';
|
||||
|
||||
import Element_ae_crud from '$lib/element_ae_crud.svelte';
|
||||
|
||||
let ae_promises: key_val = {}; // Promise<any>;
|
||||
|
||||
// These will likely be used for patch/update triggers. Maybe delete?
|
||||
let ae_triggers: key_val = {};
|
||||
|
||||
@@ -29,8 +33,92 @@ $: if ($events_slct.exhibit_tracking_id) {
|
||||
}
|
||||
|
||||
|
||||
function handle_submit_form_lead_update() {
|
||||
async function handle_submit_form_lead_update(event) {
|
||||
console.log('*** handle_submit_form_lead_update() ***');
|
||||
|
||||
// Data in
|
||||
let form_data = new FormData(event.target);
|
||||
console.log(form_data);
|
||||
|
||||
let exhibit_lead_di: key_val = ae_util.extract_prefixed_form_data({prefix: null, form_data: form_data, trim_values: true, bool_tf_str: true, log_lvl: 0});
|
||||
console.log(`exhibit_lead_di:`, exhibit_lead_di);
|
||||
|
||||
// Data out
|
||||
let exhibit_lead_do: key_val = {};
|
||||
|
||||
if (!$events_slct.exhibit_tracking_id) {
|
||||
console.error(`No exhibit_tracking_id set`);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (typeof exhibit_lead_di.exhibitor_notes !== 'undefined') {
|
||||
exhibit_lead_do.exhibitor_notes = exhibit_lead_di.exhibitor_notes;
|
||||
}
|
||||
|
||||
if (typeof exhibit_lead_di.external_person_id !== 'undefined') {
|
||||
exhibit_lead_do.external_person_id = exhibit_lead_di.external_person_id;
|
||||
}
|
||||
|
||||
let temp_questions = $events_slct.exhibit_tracking_obj.responses_json;
|
||||
|
||||
for (const [key, value] of Object.entries(exhibit_lead_di)) {
|
||||
console.log(`${key}: ${value}`);
|
||||
if (key.startsWith('event_lead__leads_custom_question_')) {
|
||||
let code = key.replace('event_lead__leads_custom_question_', '');
|
||||
console.log(`Custom Question: ${code} = ${value}`);
|
||||
temp_questions[code] = {response: value};
|
||||
} else {
|
||||
// exhibit_lead_do[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
console.log(temp_questions);
|
||||
|
||||
if (temp_questions) {
|
||||
exhibit_lead_do.responses_json = temp_questions
|
||||
// exhibit_lead_do.responses_json = JSON.stringify(temp_questions);
|
||||
}
|
||||
|
||||
ae_promises.update__exhibit_tracking_obj = events_func.handle_update_ae_obj__exhibit_tracking({
|
||||
api_cfg: $ae_api,
|
||||
exhibit_tracking_id: $events_slct.exhibit_tracking_id,
|
||||
data: exhibit_lead_do
|
||||
})
|
||||
.then(function (update__exhibit_tracking_obj) {
|
||||
console.log(`update__exhibit_tracking_obj=`, update__exhibit_tracking_obj);
|
||||
|
||||
if (update__exhibit_tracking_obj) {
|
||||
$events_slct.exhibit_tracking_obj = update__exhibit_tracking_obj;
|
||||
|
||||
// $slct_trigger = 'load__exhibit_tracking_obj';
|
||||
$events_sess.leads.submit_status = 'updated';
|
||||
} else {
|
||||
console.log('No results returned.');
|
||||
$events_sess.leads.submit_status = 'updated_unknown';
|
||||
|
||||
console.log('Trigger a reload of the object.');
|
||||
// $slct_trigger = 'load__exhibit_tracking_obj';
|
||||
}
|
||||
|
||||
$events_sess.leads.disable_submit__exhibit_tracking_obj = false;
|
||||
$events_sess.leads.lead_data_changed = false;
|
||||
});
|
||||
console.log(ae_promises.update__exhibit_tracking_obj);
|
||||
// if (ae_promises.update__exhibit_tracking_obj.event_exhibit_tracking_id_random) {
|
||||
// console.log('Event exhibit_tracking_id_random found was found. It was updated.');
|
||||
// $events_slct.exhibit_tracking_obj = ae_promises.update__exhibit_tracking_obj;
|
||||
|
||||
// // $slct_trigger = 'load__exhibit_tracking_obj';
|
||||
// $events_sess.leads.submit_status = 'updated';
|
||||
// } else {
|
||||
// console.log('No event_exhibit_tracking_id_random found was found. Something may have gone wrong.');
|
||||
// $events_sess.leads.submit_status = 'updated_unknown';
|
||||
|
||||
// console.log('Trigger a reload of the object.');
|
||||
// // $slct_trigger = 'load__exhibit_tracking_obj';
|
||||
// }
|
||||
// $events_sess.leads.disable_submit__exhibit_tracking_obj = false;
|
||||
// $events_sess.leads.lead_data_changed = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -66,6 +154,42 @@ function handle_submit_form_lead_update() {
|
||||
</span>
|
||||
</h2>
|
||||
|
||||
{#if $events_sess.leads.lead_data_changed}
|
||||
<button
|
||||
type="submit"
|
||||
form="form__lead_update"
|
||||
class="btn variant-ghost-error"
|
||||
on:click={() => {
|
||||
$events_sess.leads.lead_data_changed = false;
|
||||
}}
|
||||
>
|
||||
<span class="fas fa-exclamation-triangle mx-1"></span>
|
||||
Save Changes?
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
{#await ae_promises.update__exhibit_tracking_obj}
|
||||
<div class="modal-loading" out:fade={{ duration: 500 }}>
|
||||
<span class="fas fa-spinner fa-spin"></span>
|
||||
<span class="loading-text">
|
||||
<!-- <ProgressRadial value={undefined} /> -->
|
||||
Saving...
|
||||
</span>
|
||||
</div>
|
||||
{:then update__exhibit_tracking_obj}
|
||||
<!-- {#if update__exhibit_tracking_obj} -->
|
||||
<div class="modal-loading">
|
||||
<span class="fas fa-check-circle"></span>
|
||||
<span class="loading-text">Successfully saved!</span>
|
||||
</div>
|
||||
<!-- {/if} -->
|
||||
{:catch error}
|
||||
<div class="modal-loading">
|
||||
<span class="fas fa-exclamation-triangle"></span>
|
||||
<span class="loading-text">Error: {error.message}</span>
|
||||
</div>
|
||||
{/await}
|
||||
|
||||
<div class="popover__actions">
|
||||
<button
|
||||
type="button"
|
||||
@@ -84,16 +208,24 @@ function handle_submit_form_lead_update() {
|
||||
<section class="popover__content grow flex flex-col gap-4 items-center ae_modal_scrollfix">
|
||||
|
||||
<div class="readonly_values">
|
||||
<div class="email">
|
||||
<div class="email ae_obj_prop">
|
||||
<span class="label">Email:</span>
|
||||
<span class="value">
|
||||
<a href="mailto:{$event_exhibit_tracking_obj?.event_badge_email}">{$event_exhibit_tracking_obj?.event_badge_given_name} {$event_exhibit_tracking_obj?.event_badge_family_name} <{$event_exhibit_tracking_obj?.event_badge_email}> </a>
|
||||
<a
|
||||
href="mailto:{$event_exhibit_tracking_obj?.event_badge_email}"
|
||||
class="font-medium text-blue-600 dark:text-blue-500 hover:underline"
|
||||
>
|
||||
<!-- {$event_exhibit_tracking_obj?.event_badge_given_name} {$event_exhibit_tracking_obj?.event_badge_family_name} -->
|
||||
<!-- < -->
|
||||
{$event_exhibit_tracking_obj?.event_badge_email}
|
||||
<!-- > -->
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{#if $event_exhibit_tracking_obj?.event_badge_professional_title || $event_exhibit_tracking_obj?.event_badge_professional_title_override}
|
||||
<div class="professional_title">
|
||||
<span class="label" title="Professional Title/Degrees/Credentials">Title/Degrees/Credentials:</span>
|
||||
<div class="professional_title ae_obj_prop">
|
||||
<span class="label" title="Professional Title/Degrees/Credentials">Titles <span class="text-sm">(degrees, credentials)</span>:</span>
|
||||
<span class="value">
|
||||
{#if $event_exhibit_tracking_obj?.event_badge_professional_title_override}
|
||||
{@html $event_exhibit_tracking_obj?.event_badge_professional_title_override}
|
||||
@@ -105,7 +237,7 @@ function handle_submit_form_lead_update() {
|
||||
{/if}
|
||||
|
||||
{#if $event_exhibit_tracking_obj?.event_badge_affiliations || $event_exhibit_tracking_obj?.event_badge_affiliations_override}
|
||||
<div class="affiliations">
|
||||
<div class="affiliations ae_obj_prop">
|
||||
<span class="label">Affiliations:</span>
|
||||
<span class="value">
|
||||
{#if $event_exhibit_tracking_obj?.event_badge_affiliations_override}
|
||||
@@ -118,7 +250,7 @@ function handle_submit_form_lead_update() {
|
||||
{/if}
|
||||
|
||||
{#if $event_exhibit_tracking_obj?.event_badge_country}
|
||||
<div class="location">
|
||||
<div class="location ae_obj_prop">
|
||||
<span class="label">Location:</span>
|
||||
<span class="value">
|
||||
<!-- <span class="city">{$event_exhibit_tracking_obj?.event_badge_city}</span> -->
|
||||
@@ -283,6 +415,9 @@ function handle_submit_form_lead_update() {
|
||||
rows="10"
|
||||
placeholder="Staff notes"
|
||||
class="textarea my-1"
|
||||
on:change={() => {
|
||||
$events_sess.leads.lead_data_changed = true;
|
||||
}}
|
||||
>{$event_exhibit_tracking_obj?.exhibitor_notes}</textarea>
|
||||
</label>
|
||||
</div>
|
||||
@@ -302,9 +437,24 @@ function handle_submit_form_lead_update() {
|
||||
<div>
|
||||
<span class="leads_custom_question">{leads_custom_question.question}</span>
|
||||
{#if (leads_custom_question.type == 'text')}
|
||||
<input name="event_lead__leads_custom_question_{leads_custom_question.code}" value={($event_exhibit_tracking_obj?.responses_json && $event_exhibit_tracking_obj?.responses_json[leads_custom_question.code]) ? $event_exhibit_tracking_obj?.responses_json[leads_custom_question.code].response : null} placeholder="Response" class="leads_custom_question_response input" />
|
||||
<input
|
||||
name="event_lead__leads_custom_question_{leads_custom_question.code}"
|
||||
value={($event_exhibit_tracking_obj?.responses_json && $event_exhibit_tracking_obj?.responses_json[leads_custom_question.code]) ? $event_exhibit_tracking_obj?.responses_json[leads_custom_question.code].response : null}
|
||||
placeholder="Response"
|
||||
class="leads_custom_question_response input"
|
||||
on:change={() => {
|
||||
$events_sess.leads.lead_data_changed = true;
|
||||
}}
|
||||
/>
|
||||
{:else if (leads_custom_question.type == 'option' && leads_custom_question.option_li)}
|
||||
<select name="event_lead__leads_custom_question_{leads_custom_question.code}" class="leads_custom_question_response select" value={($event_exhibit_tracking_obj?.responses_json && $event_exhibit_tracking_obj?.responses_json[leads_custom_question.code]) ? $event_exhibit_tracking_obj?.responses_json[leads_custom_question.code].response : null}>
|
||||
<select
|
||||
name="event_lead__leads_custom_question_{leads_custom_question.code}"
|
||||
class="leads_custom_question_response select"
|
||||
value={($event_exhibit_tracking_obj?.responses_json && $event_exhibit_tracking_obj?.responses_json[leads_custom_question.code]) ? $event_exhibit_tracking_obj?.responses_json[leads_custom_question.code].response : null}
|
||||
on:change={() => {
|
||||
$events_sess.leads.lead_data_changed = true;
|
||||
}}
|
||||
>
|
||||
{#each leads_custom_question.option_li as option }
|
||||
<option value="{option}">{option}</option>
|
||||
{/each}
|
||||
@@ -332,7 +482,7 @@ function handle_submit_form_lead_update() {
|
||||
type="text"
|
||||
name="external_person_id"
|
||||
placeholder="Linked to email"
|
||||
value={$event_exhibit_tracking_obj?.external_person_id}
|
||||
value={$event_exhibit_tracking_obj?.external_person_id ?? $events_loc.leads.auth_exhibit_kv[$events_slct.exhibit_id].key}
|
||||
required
|
||||
class="input max-w-64 m-1"
|
||||
/>
|
||||
@@ -353,17 +503,42 @@ function handle_submit_form_lead_update() {
|
||||
<footer class="popover__footer flex gap-1 justify-between items-center p-1 border-t">
|
||||
<div class="popover__content__actions">
|
||||
<button
|
||||
type="submit"
|
||||
form="form__update_lead"
|
||||
class="btn variant-ghost-primary"
|
||||
|
||||
on:click={() => {
|
||||
// trigger = 'save__ds__code';
|
||||
// $slct_trigger = 'save__ds__code';
|
||||
}}
|
||||
>
|
||||
<span class="fas fa-save mx-1"></span>
|
||||
Save
|
||||
type="submit"
|
||||
form="form__lead_update"
|
||||
disabled={($events_sess.leads.disable_submit__exhibit_tracking_obj)}
|
||||
on:click={() => {
|
||||
// trigger = 'save__ds__code';
|
||||
// $slct_trigger = 'save__ds__code';
|
||||
}}
|
||||
class="btn variant-ghost-primary"
|
||||
class:variant-ghost-error={$events_sess.leads.lead_data_changed}
|
||||
>
|
||||
<span class="fas fa-save mx-1"></span>
|
||||
Save
|
||||
{#if $events_sess.leads.lead_data_changed}
|
||||
Changes?
|
||||
{/if}
|
||||
{#await ae_promises.update__exhibit_tracking_obj}
|
||||
<div class="modal-loading" out:fade={{ duration: 500 }}>
|
||||
<span class="fas fa-spinner fa-spin"></span>
|
||||
<span class="loading-text">
|
||||
<!-- <ProgressRadial value={undefined} /> -->
|
||||
Saving...
|
||||
</span>
|
||||
</div>
|
||||
{:then update__exhibit_tracking_obj}
|
||||
{#if update__exhibit_tracking_obj}
|
||||
<div class="modal-loading" out:fade={{ duration: 1500 }}>
|
||||
<span class="fas fa-check-circle"></span>
|
||||
<!-- <span class="loading-text">Successfully saved!</span> -->
|
||||
</div>
|
||||
{/if}
|
||||
{:catch error}
|
||||
<div class="modal-loading">
|
||||
<span class="fas fa-exclamation-triangle"></span>
|
||||
<span class="loading-text">Error: {error.message}</span>
|
||||
</div>
|
||||
{/await}
|
||||
</button>
|
||||
|
||||
<Element_ae_crud
|
||||
|
||||
@@ -260,7 +260,7 @@ async function handle_submit_form(event) {
|
||||
console.log(form_data);
|
||||
|
||||
let sponsorship_di: key_val = ae_util.extract_prefixed_form_data({prefix: null, form_data: form_data, trim_values: true, bool_tf_str: true, log_lvl: 0});
|
||||
console.log(sponsorship_di);
|
||||
console.log(`sponsorship_di:`, sponsorship_di);
|
||||
|
||||
// Data out
|
||||
let sponsorship_do: key_val = {};
|
||||
|
||||
Reference in New Issue
Block a user