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);
}
$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.
$ae_loc.mod.events.show_edit__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,
params_json: params_json,
params: params,
log_lvl: 0
log_lvl: 2
})
.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;
}
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;
}
if (event_presenter_di.family_name) {
if (typeof event_presenter_di.family_name !== 'undefined') {
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) {
// event_presenter_do['full_name_overide'] = ;
// }
if (event_presenter_di.organization_name) {
event_presenter_do['affiliations'] = event_presenter_di.organization_name;
if (typeof event_presenter_di.affiliations !== 'undefined') {
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;
}
if (event_presenter_di.biography) {
if (typeof event_presenter_di.biography !== 'undefined') {
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;
// }
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['hide'] = !!event_presenter_di.hide;
event_presenter_do['priority'] = !!event_presenter_di.priority;
if (event_presenter_di.sort) {
if (typeof event_presenter_di.hide !== 'undefined') {
event_presenter_do['hide'] = !!event_presenter_di.hide;
}
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
event_presenter_do['sort'] = Number(event_presenter_di.sort);
} else {
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;
} else {
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;
}
// if (tinyMCE.get('notes')) {
// event_presenter_do['notes'] = tinyMCE.get('notes').getContent();
// } else {
if (typeof event_presenter_di.notes !== 'undefined') {
event_presenter_do['notes'] = event_presenter_di.notes;
// }
}
console.log(event_presenter_do);
@@ -220,60 +238,39 @@ async function handle_submit_form_files(event) {
let event_presenter_do: key_val = {};
if ($slct.event_presenter_obj.logo_li_json) {
console.log('The logo_li_json was found.');
event_presenter_do.logo_li_json = $slct.event_presenter_obj.logo_li_json;
} else {
console.log('The logo_li_json was not found or is empty.');
event_presenter_do.logo_li_json = {};
}
// if ($slct.event_presenter_obj.logo_li_json) {
// console.log('The logo_li_json was found.');
// event_presenter_do.logo_li_json = $slct.event_presenter_obj.logo_li_json;
// } else {
// console.log('The logo_li_json was not found or is empty.');
// event_presenter_do.logo_li_json = {};
// }
if ($slct.event_presenter_obj.media_li_json) {
console.log('The media_li_json was found.');
event_presenter_do.media_li_json = $slct.event_presenter_obj.media_li_json;
} else {
console.log('The media_li_json was not found or is empty.');
event_presenter_do.media_li_json = {};
}
// if ($slct.event_presenter_obj.media_li_json) {
// console.log('The media_li_json was found.');
// event_presenter_do.media_li_json = $slct.event_presenter_obj.media_li_json;
// } else {
// console.log('The media_li_json was not found or is empty.');
// event_presenter_do.media_li_json = {};
// }
let hosted_file_results;
// let logo_li_json = {};
// let media_li_json = {};
if (event.target.file_logo_primary.files.length > 0) {
console.log('The primary logo file was found.');
hosted_file_results = await handle_input_upload_files(event.target.file_logo_primary.files);
if (event.target.image_headshot.files.length > 0) {
console.log('The headshot image file was found.');
hosted_file_results = await handle_input_upload_files(event.target.image_headshot.files);
if (hosted_file_results) {
event_presenter_do.logo_li_json.primary = hosted_file_results[0];
console.log(event_presenter_do.logo_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}`;
}
}
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);
event_presenter_do.image_li_json.headshot = hosted_file_results[0];
console.log(event_presenter_do.image_li_json);
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}`;
}
}
console.log(event_presenter_do);
ae_promises.update__event_presenter_obj = await handle_update__event_presenter({
obj_type: 'event_presenter',
obj_id: $slct.event_presenter_id,
@@ -496,6 +493,12 @@ async function handle_update__event_presenter({
{#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
class="modal-form {cForm}"
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">
<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
<div class="input-group grid-cols-[auto_1fr_auto]">
<div class="input-group-shim">
@@ -550,6 +557,10 @@ async function handle_update__event_presenter({
</div>
</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
<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>
@@ -569,7 +580,7 @@ async function handle_update__event_presenter({
id="email"
name="email"
placeholder="Email"
value={($slct.event_presenter_obj.email ? $slct.event_presenter_obj.email : '')}
value={$slct.event_presenter_obj.email ?? ''}
autocomplete="email"
readonly={!$ae_loc.trusted_access && $slct.event_presenter_obj.event_presenter_id_random}
required
@@ -595,14 +606,15 @@ async function handle_update__event_presenter({
<fieldset class="mb-8">
<legend class="legend">Agreements & Accommodations</legend>
<label for="consent" class="label">
<label for="agree" class="label">
<input
type="checkbox"
class="checkbox"
id="consent"
name="consent"
id="agree"
name="agree"
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.
</label>
@@ -757,6 +769,8 @@ async function handle_update__event_presenter({
<fieldset class="event_presenter__more_questions">
<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?
<div class="label">
<input