Adding the ability to quickly edit most fields. Other general clean up.

This commit is contained in:
Scott Idem
2024-06-25 11:37:03 -04:00
parent 4ad51b8e0b
commit 21ad9d900c
6 changed files with 321 additions and 69 deletions

View File

@@ -521,7 +521,50 @@ function send_sign_in_poc_email(
{/if}
</li>
<li>
<strong class="text-sm">Date time:</strong> {ae_util.iso_datetime_formatter($lq__event_session_obj.start_datetime, 'datetime_long')} - {ae_util.iso_datetime_formatter($lq__event_session_obj.end_datetime, 'datetime_long')}
<strong class="text-sm">Date time:</strong>
<Element_ae_crud
api_cfg={$ae_api}
object_type={'event_session'}
object_id={$lq__event_session_obj?.event_session_id_random}
field_name={'start_datetime'}
field_type={'datetime'}
field_value={$lq__event_session_obj.start_datetime}
allow_null={false}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={true}
class_li={''}
on:ae_crud_updated={e => {
console.log(`ae_crud_updated:`, e.detail);
events_func.handle_load_ae_obj_id__event_session({api_cfg: $ae_api, event_session_id: $lq__event_session_obj?.event_session_id_random, log_lvl: 1});
}}
>
{ae_util.iso_datetime_formatter($lq__event_session_obj.start_datetime, 'datetime_long')}
</Element_ae_crud>
-
<Element_ae_crud
api_cfg={$ae_api}
object_type={'event_session'}
object_id={$lq__event_session_obj?.event_session_id_random}
field_name={'end_datetime'}
field_type={'datetime'}
field_value={$lq__event_session_obj.end_datetime}
allow_null={false}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={true}
class_li={''}
on:ae_crud_updated={e => {
console.log(`ae_crud_updated:`, e.detail);
events_func.handle_load_ae_obj_id__event_session({api_cfg: $ae_api, event_session_id: $lq__event_session_obj?.event_session_id_random, log_lvl: 1});
}}
>
{ae_util.iso_datetime_formatter($lq__event_session_obj.end_datetime, 'datetime_long')}
</Element_ae_crud>
</li>
<li>
<strong class="text-sm">Location/Room:</strong> {$lq__event_session_obj.event_location_name ? $lq__event_session_obj.event_location_name : '-- not set --'}
@@ -709,31 +752,48 @@ function send_sign_in_poc_email(
<li>
<div>
<strong class="text-sm">
Session description:
</strong>
<button
type="button"
on:click={() => {
console.log('Show/Hide Description');
$events_loc.pres_mgmt.show_content__session_description = !$events_loc.pres_mgmt.show_content__session_description;
}}
class="btn btn-sm variant-soft-surface hover:variant-filled-surface text-xs"
<Element_ae_crud
api_cfg={$ae_api}
object_type={'event_session'}
object_id={$lq__event_session_obj?.event_session_id_random}
field_name={'description'}
field_type={'textarea'}
field_value={$lq__event_session_obj.description}
allow_null={false}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={false}
textarea_rows={15}
class_li={''}
>
{#if $events_loc.pres_mgmt.show_content__session_description}
<span class="fas fa-eye-slash mx-1"></span>
<span>Hide Description</span>
{:else}
<span class="fas fa-eye mx-1"></span>
<span>Show</span>
{/if}
</button>
</div>
<strong class="text-sm">
Session description:
</strong>
<pre
class="whitespace-pre-wrap p-2 bg-gray-100 rounded-md"
class:hidden={!$events_loc.pres_mgmt.show_content__session_description}
>{$lq__event_session_obj.description}</pre>
<button
type="button"
on:click={() => {
console.log('Show/Hide Description');
$events_loc.pres_mgmt.show_content__session_description = !$events_loc.pres_mgmt.show_content__session_description;
}}
class="btn btn-sm variant-soft-surface hover:variant-filled-surface text-xs"
>
{#if $events_loc.pres_mgmt.show_content__session_description}
<span class="fas fa-eye-slash mx-1"></span>
<span>Hide Description</span>
{:else}
<span class="fas fa-eye mx-1"></span>
<span>Show</span>
{/if}
</button>
<pre
class="whitespace-pre-wrap p-2 bg-gray-100 rounded-md"
class:hidden={!$events_loc.pres_mgmt.show_content__session_description}
>{$lq__event_session_obj.description}</pre>
</Element_ae_crud>
</div>
</li>
</ul>
@@ -1105,6 +1165,21 @@ function send_sign_in_poc_email(
</h4>
<div>
<Element_ae_crud
api_cfg={$ae_api}
object_type={'event_presentation'}
object_id={event_presentation_obj.event_presentation_id_random}
field_name={'description'}
field_type={'textarea'}
field_value={event_presentation_obj.description}
allow_null={false}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={false}
textarea_rows={15}
class_li={''}
>
{#if event_presentation_obj.description}
<strong class="text-sm">
Description:
@@ -1143,8 +1218,10 @@ function send_sign_in_poc_email(
No description provided.
</div>
{/if}
</Element_ae_crud>
</div>
<!-- Show presenters for this presentation -->
{#await event_presentation_obj.event_presenter_li}
<p>Loading...</p>
@@ -1323,10 +1400,10 @@ function send_sign_in_poc_email(
{/if} -->
<div class="float-right space-2 flex flex-row items-center">
{#if $ae_loc.administrator_access }
{#if $ae_loc.administrator_access && !event_presenter_obj.person_id_random}
<button
type="button"
on:click={() => {
on:click={async () => {
console.log('Add Person');
let person_data = {
@@ -1336,17 +1413,27 @@ function send_sign_in_poc_email(
family_name: 'Presenter',
primary_email: 'test+newpres@oneskyit.com',
code: 'new_presenter',
// Random number between 100000 and 999999
passcode: Math.floor(Math.random() * 900000) + 100000,
enable: true,
}
core_func.handle_create_ae_obj__person({
let new_person_obj = await core_func.handle_create_ae_obj__person({
api_cfg: $ae_api,
// user_id: $ae_loc.user_id,
data_kv: person_data,
log_lvl: 1,
})
console.log('new_person_obj:', new_person_obj);
// We then need to update the event_presenter with the new person_id.
events_func.handle_update_ae_obj__event_presenter({
api_cfg: $ae_api,
event_presenter_id: event_presenter_obj.event_presenter_id_random,
data_kv: {person_id_random: new_person_obj.person_id_random},
log_lvl: 1,
})
}}
class="btn btn-sm variant-soft-warning hover:variant-filled-warning"
>

View File

@@ -339,7 +339,24 @@ async function handle_delete__event_file({event_file_id}) {
</h2>
<section class="p-2">
<h3 class="h4">Title: "{$events_slct.presentation_obj.name}"</h3>
<h3 class="h4">
<Element_ae_crud
api_cfg={$ae_api}
object_type={'event_presentation'}
object_id={$events_slct.presentation_obj.event_presentation_id_random}
field_name={'name'}
field_type={'text'}
field_value={$events_slct.presentation_obj.name}
allow_null={false}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={true}
class_li={''}
>
Title: "{$events_slct.presentation_obj.name}"
</Element_ae_crud>
</h3>
<h3 class="h4">Presenter:</h3>
<ul
@@ -347,29 +364,162 @@ async function handle_delete__event_file({event_file_id}) {
>
<li>
<span class="fas fa-user"></span>
{$events_slct.presenter_obj.full_name}
<!-- {#if !$events_sess.pres_mgmt.show_edit__event_presenter_name}
{$events_slct.presenter_obj.full_name}
{:else} -->
<!-- <div
hidden={!$events_sess.pres_mgmt.show_edit__event_presenter_name}
> -->
<Element_ae_crud
api_cfg={$ae_api}
object_type={'event_presenter'}
object_id={$events_slct.presenter_obj.event_presenter_id_random}
field_name={'given_name'}
field_type={'text'}
field_value={$events_slct.presenter_obj.given_name}
allow_null={false}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={true}
class_li={''}
>
{$events_slct.presenter_obj.given_name}
</Element_ae_crud>
<Element_ae_crud
api_cfg={$ae_api}
object_type={'event_presenter'}
object_id={$events_slct.presenter_obj.event_presenter_id_random}
field_name={'family_name'}
field_type={'text'}
field_value={$events_slct.presenter_obj.family_name}
allow_null={false}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={true}
class_li={''}
>
{$events_slct.presenter_obj.family_name}
</Element_ae_crud>
<!-- </div> -->
<!-- {/if} -->
<!-- <button
on:click={() => {
console.log('*** Edit button clicked ***');
$events_sess.pres_mgmt.show_edit__event_presenter_name = !$events_sess.pres_mgmt.show_edit__event_presenter_name;
}}
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
>
<span class="fas fa-edit mx-1"></span>
Edit
</button> -->
</li>
<li>
<span class="fas fa-envelope"></span>
<a
href="mailto:{$events_slct.presenter_obj.email}"
class="text-blue-500"
>{$events_slct.presenter_obj.email}</a>
</li>
<!-- <li>
<span class="fas fa-phone"></span>
{$events_slct.presenter_obj.phone}
</li> -->
<li>
<span class="fas fa-building"></span>
{$events_slct.presenter_obj.affiliations}
<Element_ae_crud
api_cfg={$ae_api}
object_type={'event_presenter'}
object_id={$events_slct.presenter_obj.event_presenter_id_random}
field_name={'email'}
field_type={'text'}
field_value={$events_slct.presenter_obj.email}
allow_null={false}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={false}
class_li={''}
>
<span class="fas fa-envelope"></span>
<a
href="mailto:{$events_slct.presenter_obj.email}"
class="text-blue-500"
>{$events_slct.presenter_obj.email}</a>
</Element_ae_crud>
{#if $events_slct.presenter_obj.person_primary_email != $events_slct.presenter_obj.email}
<Element_ae_crud
api_cfg={$ae_api}
object_type={'person'}
object_id={$events_slct.presenter_obj.person_id_random}
field_name={'primary_email'}
field_type={'text'}
field_value={$events_slct.presenter_obj.person_primary_email}
allow_null={false}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={false}
class_li={''}
>
<span class="fas fa-envelope"></span>
<a
href="mailto:{$events_slct.presenter_obj.person_primary_email}"
class="text-blue-500"
>{$events_slct.presenter_obj.person_primary_email}</a>
</Element_ae_crud>
{/if}
</li>
<li>
<span class="fas fa-user-tag"></span>
{$events_slct.presenter_obj.professional_title ?? '-- not set --'}
<Element_ae_crud
api_cfg={$ae_api}
object_type={'event_presenter'}
object_id={$events_slct.presenter_obj.event_presenter_id_random}
field_name={'affiliations'}
field_type={'text'}
field_value={$events_slct.presenter_obj.affiliations}
allow_null={false}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={false}
class_li={''}
>
<span class="fas fa-building"></span>
{$events_slct.presenter_obj.affiliations ?? '-- affiliations not set --'}
</Element_ae_crud>
</li>
<li>
<span class="fas fa-user-secret"></span>
<Element_ae_crud
api_cfg={$ae_api}
object_type={'event_presenter'}
object_id={$events_slct.presenter_obj.event_presenter_id_random}
field_name={'professional_title'}
field_type={'text'}
field_value={$events_slct.presenter_obj.professional_title}
allow_null={false}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={false}
class_li={''}
>
<span class="fas fa-user-tag"></span>
{$events_slct.presenter_obj.professional_title && $events_slct.presenter_obj.professional_title.length ? $events_slct.presenter_obj.professional_title : '-- professional title not set --'}
</Element_ae_crud>
</li>
<li>
<Element_ae_crud
api_cfg={$ae_api}
object_type={'person'}
object_id={$events_slct.presenter_obj.person_id_random}
field_name={'passcode'}
field_type={'text'}
field_value={$events_slct.presenter_obj.person_passcode}
allow_null={true}
hide_edit_btn={!$ae_loc.trusted_access}
outline_element={false}
show_crud={false}
display_inline={false}
class_li={''}
>
<span class="fas fa-user-secret"></span>
{$events_slct.presenter_obj.person_passcode ?? '-- passcode not set --'} (your passcode)
</Element_ae_crud>
<!-- <span class="fas fa-user-secret"></span>
{$events_slct.presenter_obj.person_passcode} (your passcode)
<button
@@ -380,7 +530,7 @@ async function handle_delete__event_file({event_file_id}) {
<span class="fas fa-edit">
</span>
Edit
</button>
</button> -->
</li>
</ul>