Now with presenter biography. Used the speakers collection that was done for CHOW as the basis.
This commit is contained in:
@@ -1631,6 +1631,7 @@ function send_sign_in_poc_email(
|
||||
link_to_id={event_presentation_obj.event_presentation_id_random}
|
||||
allow_basic={$events_loc.auth__kv.session[$events_slct.event_session_id] || $events_loc.auth__kv.presenter[$events_slct.event_presenter_id]}
|
||||
allow_moderator={$events_loc.auth__kv.session[$events_slct.event_session_id]}
|
||||
container_class_li={'ae_modal_scrollfix'}
|
||||
/>
|
||||
|
||||
<!-- Show files list for this presentation -->
|
||||
|
||||
@@ -25,6 +25,7 @@ let ae_placeholder_li: key_val = {};
|
||||
let ae_promises: key_val = {}; // Promise<any>;
|
||||
let ae_tmp: key_val = {};
|
||||
ae_tmp.show__file_li = true;
|
||||
|
||||
let ae_triggers: key_val = {};
|
||||
|
||||
// let lq__event_session_obj = liveQuery(
|
||||
@@ -45,6 +46,12 @@ let lq__event_file_obj_li = liveQuery(
|
||||
);
|
||||
|
||||
|
||||
ae_tmp.biography = null;
|
||||
$: if ($lq__event_presenter_obj?.biography && ae_tmp.biography === null) {
|
||||
ae_tmp.biography = JSON.parse(JSON.stringify($lq__event_presenter_obj.biography));
|
||||
}
|
||||
|
||||
// console.log(`ae_tmp.biography:`, $lq__event_presenter_obj?.biography);
|
||||
$slct.person_obj_kv = {}; // This is intended for the POC lookup list when generated.
|
||||
|
||||
// $events_slct.event_presenter_obj = $lq__event_presenter_obj;
|
||||
@@ -64,6 +71,7 @@ onMount(() => {
|
||||
console.log(`$events_slct.event_presenter_id:`, $events_slct.event_presenter_id);
|
||||
|
||||
$slct_trigger = 'load__event_file_obj_li';
|
||||
// ae_tmp.biography = $lq__event_presenter_obj?.biography;
|
||||
});
|
||||
|
||||
|
||||
@@ -778,8 +786,8 @@ async function handle_delete__event_file({event_file_id}) {
|
||||
log_lvl: 1,
|
||||
})
|
||||
.then(function (update_result) {
|
||||
console.log(update_result);
|
||||
return update_result;
|
||||
// console.log(update_result);
|
||||
// return update_result;
|
||||
});
|
||||
|
||||
return person_update_result;
|
||||
@@ -792,6 +800,75 @@ async function handle_delete__event_file({event_file_id}) {
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
</li>
|
||||
|
||||
<!-- The presenters biography. There should be a character counter. -->
|
||||
<li>
|
||||
<div class="label event_presenter__biography required space-y-4">
|
||||
<label for="presenter__biography" class="label">
|
||||
<span class="fas fa-book"></span>
|
||||
Presenter Biography
|
||||
<span class="text-sm text-gray-500">
|
||||
(75 to 100 words or 600 character limit)
|
||||
</span>
|
||||
</label>
|
||||
|
||||
<textarea
|
||||
name="biography"
|
||||
id="presenter__biography"
|
||||
class="textarea ae_value event_presenter__biography font-mono"
|
||||
class:variant-glass-error={(ae_tmp.biography && ae_tmp.biography.length >600 ? true : false)}
|
||||
required
|
||||
rows="8" cols="70"
|
||||
bind:value={ae_tmp.biography}
|
||||
placeholder="Enter brief biography here"></textarea>
|
||||
<!-- {/if} -->
|
||||
|
||||
</div>
|
||||
<p>Biography length: {(ae_tmp.biography ? ae_util.number_w_commas(ae_tmp.biography.length) : 0)} characters; {(ae_tmp.biography ? ae_util.number_w_commas(ae_util.count_words(ae_tmp.biography)) : 0)} estimated words</p>
|
||||
<!-- <p>Biography length: </p> -->
|
||||
<p>The biography should be plain text only and be at most 100 words.</p>
|
||||
<!-- <p>1,250 characters is roughly 250 words</p> -->
|
||||
<!-- <p>1,375 characters is roughly 250 to 300 words</p> -->
|
||||
|
||||
<div class="flex flex-wrap gap-2 p-1">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-md variant-glass-primary hover:variant-filled-primary"
|
||||
disabled={(ae_tmp.biography == $lq__event_presenter_obj.biography)}
|
||||
on:click={() => {
|
||||
console.log('*** Save button clicked ***');
|
||||
|
||||
let event_presenter_data = {
|
||||
'biography': ae_tmp.biography,
|
||||
};
|
||||
|
||||
ae_promises.update__event_presenter_obj = events_func.handle_update_ae_obj__event_presenter({
|
||||
api_cfg: $ae_api,
|
||||
event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random,
|
||||
data_kv: event_presenter_data,
|
||||
log_lvl: 1,
|
||||
})
|
||||
.then(function (update_result) {
|
||||
// console.log(update_result);
|
||||
// return update_result;
|
||||
});
|
||||
|
||||
}}
|
||||
>
|
||||
{#await ae_promises.update__event_presenter_obj}
|
||||
<span class="fas fa-spinner fa-spin mx-1"></span>
|
||||
{:then}
|
||||
{#if (ae_tmp.biography == $lq__event_presenter_obj.biography)}
|
||||
<span class="fas fa-check mx-1"></span>
|
||||
{:else}
|
||||
<span class="fas fa-save mx-1"></span>
|
||||
{/if}
|
||||
{/await}
|
||||
Save Biography
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user