General clean up. Presenter form submission now works better. Need to do the same for the sponsorships submission form.

This commit is contained in:
Scott Idem
2024-02-29 16:14:31 -05:00
parent e713313aca
commit 873e6d9f9a
2 changed files with 79 additions and 63 deletions

View File

@@ -83,6 +83,8 @@ if ($slct_trigger == 'msg_parent' && $slct.event_id) {
// console.log('Message sent to parent (iframe):', message); // console.log('Message sent to parent (iframe):', message);
} }
$slct_trigger = 'load__event_presenter_obj_li';
// We don't want the edit or view to show up by default. Maybe if we see an object ID param in the URL, we can show the view modal. // We don't want the edit or view to show up by default. Maybe if we see an object ID param in the URL, we can show the view modal.
$ae_loc.mod.events.show_edit__event_presenter_obj = false; $ae_loc.mod.events.show_edit__event_presenter_obj = false;
$ae_loc.mod.sponsorships.show_view__event_presenter_obj = false; $ae_loc.mod.sponsorships.show_view__event_presenter_obj = false;
@@ -189,7 +191,7 @@ async function handle_load_ae_obj_li__event_presenter({event_id, try_cache=true}
offset: offset, offset: offset,
params_json: params_json, params_json: params_json,
params: params, params: params,
log_lvl: 0 log_lvl: 2
}) })
.then(function (event_presenter_obj_li_get_result) { .then(function (event_presenter_obj_li_get_result) {

View File

@@ -133,26 +133,38 @@ async function handle_submit_form(event) {
event_presenter_do['event_session_id_random'] = $ae_loc.mod.events.default_session_id; event_presenter_do['event_session_id_random'] = $ae_loc.mod.events.default_session_id;
} }
if (event_presenter_di.given_name) { // Check if the title_names form field exists (is defined) and if so, assign it to the new object
console.log(event_presenter_di.title_names);
console.log(event_presenter_di.comments);
if (typeof event_presenter_di.title_names !== 'undefined') {
event_presenter_do['title_names'] = event_presenter_di.title_names;
}
if (typeof event_presenter_di.given_name !== 'undefined') {
event_presenter_do['given_name'] = event_presenter_di.given_name; event_presenter_do['given_name'] = event_presenter_di.given_name;
} }
if (event_presenter_di.family_name) { if (typeof event_presenter_di.family_name !== 'undefined') {
event_presenter_do['family_name'] = event_presenter_di.family_name; event_presenter_do['family_name'] = event_presenter_di.family_name;
} }
if (typeof event_presenter_di.professional_title !== 'undefined') {
event_presenter_do['professional_title'] = event_presenter_di.professional_title;
}
// if (event_presenter_di.given_name && event_presenter_di.family_name) { // if (event_presenter_di.given_name && event_presenter_di.family_name) {
// event_presenter_do['full_name_overide'] = ; // event_presenter_do['full_name_overide'] = ;
// } // }
if (event_presenter_di.organization_name) { if (typeof event_presenter_di.affiliations !== 'undefined') {
event_presenter_do['affiliations'] = event_presenter_di.organization_name; event_presenter_do['affiliations'] = event_presenter_di.affiliations;
} }
if (event_presenter_di.email) { if (typeof event_presenter_di.email !== 'undefined') {
event_presenter_do['email'] = event_presenter_di.email; event_presenter_do['email'] = event_presenter_di.email;
} }
if (event_presenter_di.biography) { if (typeof event_presenter_di.biography !== 'undefined') {
event_presenter_do['biography'] = event_presenter_di.biography; event_presenter_do['biography'] = event_presenter_di.biography;
} }
@@ -169,32 +181,38 @@ async function handle_submit_form(event) {
// event_presenter_do['picture_path'] = event_presenter_di.image_headshot; // event_presenter_do['picture_path'] = event_presenter_di.image_headshot;
// } // }
if (event_presenter_di.comments) { if (typeof event_presenter_di.agree !== 'undefined') {
event_presenter_do['agree'] = !!event_presenter_di.agree;
}
if (typeof event_presenter_di.comments !== 'undefined') {
event_presenter_do['comments'] = event_presenter_di.comments; event_presenter_do['comments'] = event_presenter_di.comments;
} }
event_presenter_do['hide'] = !!event_presenter_di.hide; if (typeof event_presenter_di.hide !== 'undefined') {
event_presenter_do['priority'] = !!event_presenter_di.priority; event_presenter_do['hide'] = !!event_presenter_di.hide;
if (event_presenter_di.sort) { }
if (typeof event_presenter_di.priority !== 'undefined') {
event_presenter_do['priority'] = !!event_presenter_di.priority;
}
if (typeof event_presenter_di.sort !== 'undefined') {
// Change this to a number type // Change this to a number type
event_presenter_do['sort'] = Number(event_presenter_di.sort); event_presenter_do['sort'] = Number(event_presenter_di.sort);
} else { } else {
event_presenter_do['sort'] = null; event_presenter_do['sort'] = null;
} }
if (event_presenter_di.group) { if (typeof event_presenter_di.group !== 'undefined') {
event_presenter_do['group'] = event_presenter_di.group; event_presenter_do['group'] = event_presenter_di.group;
} else { } else {
event_presenter_do['group'] = null; event_presenter_do['group'] = null;
} }
if (event_presenter_do['enable']) { if (typeof event_presenter_di.enable !== 'undefined') {
event_presenter_do['enable'] = !!event_presenter_di.enable; event_presenter_do['enable'] = !!event_presenter_di.enable;
} }
// if (tinyMCE.get('notes')) { if (typeof event_presenter_di.notes !== 'undefined') {
// event_presenter_do['notes'] = tinyMCE.get('notes').getContent();
// } else {
event_presenter_do['notes'] = event_presenter_di.notes; event_presenter_do['notes'] = event_presenter_di.notes;
// } }
console.log(event_presenter_do); console.log(event_presenter_do);
@@ -220,60 +238,39 @@ async function handle_submit_form_files(event) {
let event_presenter_do: key_val = {}; let event_presenter_do: key_val = {};
if ($slct.event_presenter_obj.logo_li_json) { // if ($slct.event_presenter_obj.logo_li_json) {
console.log('The logo_li_json was found.'); // console.log('The logo_li_json was found.');
event_presenter_do.logo_li_json = $slct.event_presenter_obj.logo_li_json; // event_presenter_do.logo_li_json = $slct.event_presenter_obj.logo_li_json;
} else { // } else {
console.log('The logo_li_json was not found or is empty.'); // console.log('The logo_li_json was not found or is empty.');
event_presenter_do.logo_li_json = {}; // event_presenter_do.logo_li_json = {};
} // }
if ($slct.event_presenter_obj.media_li_json) { // if ($slct.event_presenter_obj.media_li_json) {
console.log('The media_li_json was found.'); // console.log('The media_li_json was found.');
event_presenter_do.media_li_json = $slct.event_presenter_obj.media_li_json; // event_presenter_do.media_li_json = $slct.event_presenter_obj.media_li_json;
} else { // } else {
console.log('The media_li_json was not found or is empty.'); // console.log('The media_li_json was not found or is empty.');
event_presenter_do.media_li_json = {}; // event_presenter_do.media_li_json = {};
} // }
let hosted_file_results; let hosted_file_results;
// let logo_li_json = {}; // let logo_li_json = {};
// let media_li_json = {}; // let media_li_json = {};
if (event.target.file_logo_primary.files.length > 0) { if (event.target.image_headshot.files.length > 0) {
console.log('The primary logo file was found.'); console.log('The headshot image file was found.');
hosted_file_results = await handle_input_upload_files(event.target.file_logo_primary.files); hosted_file_results = await handle_input_upload_files(event.target.image_headshot.files);
if (hosted_file_results) { if (hosted_file_results) {
event_presenter_do.logo_li_json.primary = hosted_file_results[0]; event_presenter_do.image_li_json.headshot = hosted_file_results[0];
console.log(event_presenter_do.logo_li_json); console.log(event_presenter_do.image_li_json);
placeholder_li.file_logo_primary = `<img src="/hosted_file/download/${event_presenter_do.logo_li_json.primary.hosted_file_id_random}">${event_presenter_do.logo_li_json.primary.filename}`; placeholder_li.image_headshot = `<img src="/hosted_file/download/${event_presenter_do.image_li_json.headshot.hosted_file_id_random}">${event_presenter_do.image_li_json.headshot.filename}`;
}
}
if (event.target.file_logo_secondary.files.length > 0) {
console.log('The secondary logo file was found.');
hosted_file_results = await handle_input_upload_files(event.target.file_logo_secondary.files);
if (hosted_file_results) {
event_presenter_do.logo_li_json.secondary = hosted_file_results[0];
console.log(event_presenter_do.logo_li_json);
}
}
if (event.target.file_media_promo_video.files.length > 0) {
console.log('The promo video file was found.');
hosted_file_results = await handle_input_upload_files(event.target.file_media_promo_video.files);
if (hosted_file_results) {
event_presenter_do.media_li_json.promo_video = hosted_file_results[0];
console.log(event_presenter_do.media_li_json);
} }
} }
console.log(event_presenter_do); console.log(event_presenter_do);
ae_promises.update__event_presenter_obj = await handle_update__event_presenter({ ae_promises.update__event_presenter_obj = await handle_update__event_presenter({
obj_type: 'event_presenter', obj_type: 'event_presenter',
obj_id: $slct.event_presenter_id, obj_id: $slct.event_presenter_id,
@@ -496,6 +493,12 @@ async function handle_update__event_presenter({
{#if $store_current_tab === 'start'} {#if $store_current_tab === 'start'}
<h3>CHOW Speaker Listing Information</h3>
<p>Please enter your personal and professional information below.</p>
<p>The details provided will be used to list you as a speaker in our CHOW promotional materials and during CHOW in the event mobile app, speaker introductions, etc.</p>
<form <form
class="modal-form {cForm}" class="modal-form {cForm}"
on:submit|preventDefault={handle_submit_form} on:submit|preventDefault={handle_submit_form}
@@ -507,6 +510,10 @@ async function handle_update__event_presenter({
<fieldset class="mb-8 flex flex-wrap gap-4"> <fieldset class="mb-8 flex flex-wrap gap-4">
<legend class="legend">Speaker</legend> <legend class="legend">Speaker</legend>
<label for="title_names" class="label">Name prefix
<input type="text" id="title_names" name="title_names" max="200" value={$slct.event_presenter_obj.title_names ?? ''} placeholder="Prefix" autocomplete="off" class="input" />
</label>
<label for="given_name">Given name <label for="given_name">Given name
<div class="input-group grid-cols-[auto_1fr_auto]"> <div class="input-group grid-cols-[auto_1fr_auto]">
<div class="input-group-shim"> <div class="input-group-shim">
@@ -550,6 +557,10 @@ async function handle_update__event_presenter({
</div> </div>
</label> </label>
<label for="professional_title" class="label">Professional title
<input type="text" id="professional_title" name="professional_title" required max="200" value={$slct.event_presenter_obj.professional_title ?? ''} placeholder="Professional title" autocomplete="off" class="input" />
</label>
<label for="affiliations" class="label">Affiliations/Organization <label for="affiliations" class="label">Affiliations/Organization
<input type="text" id="affiliations" name="affiliations" required max="200" value={$slct.event_presenter_obj.affiliations ?? ''} placeholder="Affiliations or organization" autocomplete="off" class="input" /> <input type="text" id="affiliations" name="affiliations" required max="200" value={$slct.event_presenter_obj.affiliations ?? ''} placeholder="Affiliations or organization" autocomplete="off" class="input" />
</label> </label>
@@ -569,7 +580,7 @@ async function handle_update__event_presenter({
id="email" id="email"
name="email" name="email"
placeholder="Email" placeholder="Email"
value={($slct.event_presenter_obj.email ? $slct.event_presenter_obj.email : '')} value={$slct.event_presenter_obj.email ?? ''}
autocomplete="email" autocomplete="email"
readonly={!$ae_loc.trusted_access && $slct.event_presenter_obj.event_presenter_id_random} readonly={!$ae_loc.trusted_access && $slct.event_presenter_obj.event_presenter_id_random}
required required
@@ -595,14 +606,15 @@ async function handle_update__event_presenter({
<fieldset class="mb-8"> <fieldset class="mb-8">
<legend class="legend">Agreements & Accommodations</legend> <legend class="legend">Agreements & Accommodations</legend>
<label for="consent" class="label"> <label for="agree" class="label">
<input <input
type="checkbox" type="checkbox"
class="checkbox" class="checkbox"
id="consent" id="agree"
name="consent" name="agree"
value="1" value="1"
checked={$slct.event_presenter_obj.consent} checked={$slct.event_presenter_obj.agree}
required
> >
Yes, I grant the Foundation permission to use my biography, photo, and presentation, materials and verbal remarks on the Foundation website and promotional materials. I understand that summarized remarks will be sent to me for review prior to inclusion. Yes, I grant the Foundation permission to use my biography, photo, and presentation, materials and verbal remarks on the Foundation website and promotional materials. I understand that summarized remarks will be sent to me for review prior to inclusion.
</label> </label>
@@ -757,6 +769,8 @@ async function handle_update__event_presenter({
<fieldset class="event_presenter__more_questions"> <fieldset class="event_presenter__more_questions">
<legend class="legend">Questions and Comments</legend> <legend class="legend">Questions and Comments</legend>
<p>Please let us know if you have any questions or comments pertaining to your participation as a speaker at CHOW 2023. A member of the CHOW Team will follow up to assist.</p>
<!-- <label for="question" class="label">This is another question? <!-- <label for="question" class="label">This is another question?
<div class="label"> <div class="label">
<input <input