diff --git a/src/lib/ae_events_functions.ts b/src/lib/ae_events_functions.ts index 1f0afdce..9ca85624 100644 --- a/src/lib/ae_events_functions.ts +++ b/src/lib/ae_events_functions.ts @@ -356,6 +356,51 @@ async function handle_load_ae_obj_li__event_presentation( } +// Updated 2024-06-13 +async function handle_load_ae_obj_id__event_presenter( + { + api_cfg, + event_presenter_id, + try_cache=false, + log_lvl=0 + } : { + api_cfg: any, + event_presenter_id: string, + try_cache?: boolean, + log_lvl?: number + } + ) { + console.log(`*** handle_load_ae_obj_id__event_presenter() *** event_presenter_id=${event_presenter_id}`); + + let params = {}; + + ae_promises.load__event_presenter_obj = await api.get_ae_obj_id_crud({ + api_cfg: api_cfg, + obj_type: 'event_presenter', + obj_id: event_presenter_id, // NOTE: This is the FQDN, not normally the ID. + use_alt_table: false, // NOTE: This will use the table_name_alt value instead of the table_name value in the API config. + use_alt_base: false, // NOTE: This will use the base_name_alt value instead of the base_name value + params: params, + log_lvl: log_lvl + }) + .then(function (event_presenter_obj_get_result) { + if (event_presenter_obj_get_result) { + // This is expecting a list + handle_db_save_ae_obj_li__event_presenter({obj_type: 'event_presenter', obj_li: [event_presenter_obj_get_result]}); + return event_presenter_obj_get_result; + } else { + console.log('No results returned.'); + return null; + } + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }); + + return ae_promises.load__event_presenter_obj; +} + + // Updated 2024-06-10 async function handle_load_ae_obj_li__event_presenter( { @@ -1491,6 +1536,7 @@ let export_obj = { handle_load_ae_obj_li__event_presentation: handle_load_ae_obj_li__event_presentation, + handle_load_ae_obj_id__event_presenter: handle_load_ae_obj_id__event_presenter, handle_load_ae_obj_li__event_presenter: handle_load_ae_obj_li__event_presenter, handle_load_ae_obj_id__badge: handle_load_ae_obj_id__badge, diff --git a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte index a37724e2..ed3b9026 100644 --- a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte +++ b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte @@ -25,6 +25,9 @@ import { ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_st import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores'; import { events_func } from '$lib/ae_events_functions'; +import Form_agree from './form_agree.svelte'; + import FormAgree from './form_agree.svelte'; + // Quickly save the data passed from the parent(s) to the Svelte stores, localStorage, and other. $slct.account_id = data.account_id; console.log(`$slct.account_id = `, $slct.account_id); @@ -62,6 +65,8 @@ if (!$events_loc.pres_mgmt) { $events_loc.pres_mgmt.show_content__agree_text = null; } +$events_loc.pres_mgmt.show_content__agree_text = false; + // import Leads_add_scan from './leads_add_scan.svelte'; // import Sessions_list from './sessions_list.svelte'; // import Leads_manage from './leads_manage.svelte'; @@ -100,6 +105,8 @@ let lq__event_presenter_obj = liveQuery( () => db_events.presenters.get($events_slct.event_presenter_id) ); +$events_slct.event_presenter_obj = $lq__event_presenter_obj; + // Load the Event Obj with ID based on the slug param. // $events_slct.event_id = param_slug_event_id; // console.log('Selected Event ID:', $events_slct.event_id); @@ -254,7 +261,7 @@ onMount(() => { 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" + class="btn btn-sm variant-soft-surface hover:variant-filled-surface" > {#if $events_loc.pres_mgmt.show_content__session_description} @@ -318,7 +325,7 @@ onMount(() => { {#if $events_loc.auth__person?.id} { $events_loc.auth__person = { id: null, @@ -462,8 +469,12 @@ onMount(() => { {#if $ae_loc.trusted_access || $events_loc.auth__kv.presentation[event_presentation_obj.event_presentation_id_random]} - - + + Edit Presentation @@ -495,7 +506,7 @@ onMount(() => { $events_loc.pres_mgmt.show_content__presentation_description = event_presentation_obj.event_presentation_id_random; } }} - class="btn btn-sm variant-soft-surface" + class="btn btn-sm variant-soft-surface hover:variant-filled-surface" > {#if $events_loc.pres_mgmt.show_content__presentation_description == event_presentation_obj.event_presentation_id_random} @@ -539,7 +550,7 @@ onMount(() => { $events_loc.pres_mgmt.show_content__presenter_start = event_presenter_obj.event_presenter_id_random; } } - class="btn btn-lg variant-ghost-primary text-lg font-bold min-w-56" + class="btn btn-lg variant-ghost-primary text-lg font-bold min-w-56 hover:variant-filled-primary" title="Person ID: {event_presenter_obj.person_id_random}; Email: {event_presenter_obj.email}" > @@ -584,7 +595,7 @@ onMount(() => { $events_loc.pres_mgmt.show_content__agree_text = event_presenter_obj.event_presenter_id_random; } } - class="btn btn-md variant-ghost-success" + class="btn btn-md variant-ghost-success hover:variant-filled-success" title="Agreed to terms and conditions" > @@ -606,7 +617,7 @@ onMount(() => { $events_loc.pres_mgmt.show_content__agree_text = event_presenter_obj.event_presenter_id_random; } } - class="btn btn-md variant-ghost-warning" + class="btn btn-md variant-ghost-warning hover:variant-filled-warning" title="View terms and conditions" > @@ -721,6 +732,7 @@ onMount(() => { + {#if $events_loc.pres_mgmt?.show_content__agree_text} @@ -739,109 +751,7 @@ onMount(() => { - - - Presenter Agreement for: - {$events_slct.presenter_obj.full_name} ({$events_slct.presenter_obj.email}) - - - - - - - - {$events_slct.presenter_obj.full_name} ({$events_slct.presenter_obj.email}) agrees to the following terms and conditions for the presentation: - - Title: "{$events_slct.presentation_obj.name}" - Opt-Out? - Speaker does not permit the use of presentation materials as described in section(s), above for: (please check for all that apply) - - - - Audio Reproduction of Presentation - - - - - Video Reproduction of Presentation - - - - - Transcription and Publication of Presentation on LCI Website - - - - - Publication of Presentation on LCI Congress App - - - - Agree? - - { - console.log(`ae_crud_updated event:`, e.detail); - events_func.handle_load_ae_obj_id__presenter({api_cfg: $ae_api, presenter_id: $events_slct.presenter_id}); - }} - > - {#if !$events_slct.presenter_obj?.agree} - Not Agreed: - - - Waiting for agreement - {:else} - Agreed: - - - Marked as agreed - {/if} - - {#if $ae_loc.trusted_access || $events_loc.auth__kv.session[$events_slct.event_session_id]} - { - $events_slct.presenter_obj.agree = !$events_slct.presenter_obj?.agree; - ae_triggers.agree = true; - }} - class="btn btn-sm variant-soft-warning" - > - {@html ($events_slct.presenter_obj?.agree ? ' Not agreed?' : ' Mark as agreed?')} - - {/if} - - - + diff --git a/src/routes/events_pres_mgmt/session/[slug]/form_agree.svelte b/src/routes/events_pres_mgmt/session/[slug]/form_agree.svelte new file mode 100644 index 00000000..c90286f3 --- /dev/null +++ b/src/routes/events_pres_mgmt/session/[slug]/form_agree.svelte @@ -0,0 +1,170 @@ + + +{#await $lq__event_presenter_obj} + Loading... +{:then result} + +{#if $lq__event_presenter_obj} + + Presenter Agreement for: + {$lq__event_presenter_obj.full_name} ({$lq__event_presenter_obj.email}) + + + + + + + + {$lq__event_presenter_obj.full_name} ({$lq__event_presenter_obj.email}) agrees to the following terms and conditions for the presentation: + + Title: "{$events_slct.presentation_obj.name}" + Opt-Out? + Speaker does not permit the use of presentation materials as described in section(s), above for: (please check for all that apply) + + + + Audio Reproduction of Presentation + + + + + Video Reproduction of Presentation + + + + + Transcription and Publication of Presentation on LCI Website + + + + + Publication of Presentation on LCI Congress App + + + + Agree? + + { + console.log(`ae_crud_updated event:`, e.detail); + events_func.handle_load_ae_obj_id__event_presenter({api_cfg: $ae_api, event_presenter_id: $lq__event_presenter_obj?.event_presenter_id_random, log_lvl: 1}); + }} + > + {#if !$lq__event_presenter_obj?.agree} + + Not Agreed: + + + + + Waiting for agreement to the Guest Speaker Consent and Release and Terms and Conditions before you can move on. + + {:else} + Agreed: + + Marked as agreed + {/if} + + + {#if $ae_loc.trusted_access || $events_loc.auth__kv.session[$events_slct.event_session_id]} + { + tmp_agree = !$lq__event_presenter_obj?.agree; + ae_triggers.agree = true; + }} + class="btn btn-lg variant-ghost-success hover:variant-filled-primary m-2" + class:variant-ghost-warning={$lq__event_presenter_obj?.agree} + > + {#if $lq__event_presenter_obj?.agree} + + + Not agreed? + {:else} + + Mark as agreed? + {/if} + + + + {/if} + + + + + +{/if} + +{/await}
- {$events_slct.presenter_obj.full_name} ({$events_slct.presenter_obj.email}) agrees to the following terms and conditions for the presentation: -
Speaker does not permit the use of presentation materials as described in section(s), above for: (please check for all that apply)
+ {$lq__event_presenter_obj.full_name} ({$lq__event_presenter_obj.email}) agrees to the following terms and conditions for the presentation: +