More work on the agreements and separating things into files.

This commit is contained in:
Scott Idem
2024-09-13 15:05:44 -04:00
parent 7e610ead67
commit 896fb76cc6
10 changed files with 235 additions and 264 deletions

View File

@@ -2,6 +2,7 @@
console.log(`ae_events_pres_mgmt session_view.svelte`);
export let log_lvl = 1;
// Imports (external and then internal)
import { clipboard } from '@skeletonlabs/skeleton';
import { liveQuery } from "dexie";
import { Modal } from 'flowbite-svelte';
@@ -23,9 +24,10 @@ import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$
import { events_loc, events_sess, events_slct, events_trigger, events_trig_kv } from '$lib/ae_events_stores';
import { events_func } from '$lib/ae_events_functions';
import Form_agree from './form_agree.svelte';
import Comp_event_presenter_form_agree from './ae_comp__event_presenter_form_agree.svelte';
import Comp_event_presentation_obj_li from './ae_comp__event_presentation_obj_li.svelte';
import Comp_event_session_poc_profile from './ae_comp__event_session_poc_profile.svelte';
import Comp_event_session_poc_form_agree from './ae_comp__event_session_poc_form_agree.svelte';
// Exports
@@ -36,11 +38,11 @@ export let event_session_id: string;
if (!$events_sess.pres_mgmt) {
$events_sess.pres_mgmt = {};
$events_sess.pres_mgmt.show_content__agree_text = null;
$events_sess.pres_mgmt.show_modal__presenter_agree = null;
$events_sess.pres_mgmt.show_content__presenter_start = null;
}
$events_sess.pres_mgmt.show_content__agree_text = false;
$events_sess.pres_mgmt.show_modal__presenter_agree = false;
$events_sess.pres_mgmt.show_content__presenter_start = false;
let poc_type = $events_loc.pres_mgmt.label__session_poc_type;
@@ -64,6 +66,9 @@ export let lq__event_presentation_obj_li: any;
// .sortBy('name')
// );
// Local Variables
let lq__event_presentation_obj = liveQuery(
() => db_events.presentations.get($events_slct.event_presentation_id)
);
@@ -79,7 +84,7 @@ let lq__event_presenter_obj = liveQuery(
$slct.person_obj_kv = {}; // This is intended for the person POC lookup list when generated.
// Functions and Logic
$events_sess.pres_mgmt.session__updated_on = null;
$: if ($lq__event_session_obj) {
if (log_lvl > 1) {
@@ -441,7 +446,7 @@ $: if ($lq__event_session_obj) {
<!-- Modal toggle -->
<button
class="btn btn-sm variant-soft-primary hover:variant-filled-primary"
on:click={() => ($events_loc.pres_mgmt.show__session_poc_profile = true)}>
on:click={() => ($events_sess.pres_mgmt.show__session_poc_profile = true)}>
<span class="fas fa-id-card m-1"></span>
{$events_loc.pres_mgmt?.label__session_poc_name}'s
Profile
@@ -450,32 +455,32 @@ $: if ($lq__event_session_obj) {
<!-- Main modal -->
<Modal
title="{$events_loc.pres_mgmt?.label__session_poc_name}'s Profile"
bind:open={$events_loc.pres_mgmt.show__session_poc_profile}
bind:open={$events_sess.pres_mgmt.show__session_poc_profile}
autoclose={false}
class="bg-white dark:bg-gray-800 text-gray-800 dark:text-gray-200 rounded-lg border-gray-200 dark:border-gray-700 divide-gray-200 dark:divide-gray-700 shadow-md relative flex flex-col mx-auto w-full divide-y"
>
<Comp_event_session_poc_profile
class_li={$events_loc.pres_mgmt.show__session_poc_profile ? '' : ''}
person_id={$lq__event_session_obj.poc_person_id_random}
lq__event_session_obj={lq__event_session_obj}
/>
<Comp_event_session_poc_profile
class_li={$events_sess.pres_mgmt.show__session_poc_profile ? '' : ''}
person_id={$lq__event_session_obj.poc_person_id_random}
lq__event_session_obj={lq__event_session_obj}
/>
<svelte:fragment slot="footer">
<div class="text-center w-full">
<button
type="button"
on:click={() => {
console.log('Close modal session poc profile.');
$events_loc.pres_mgmt.show__session_poc_profile = !$events_loc.pres_mgmt.show__session_poc_profile;
}}
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
>
<span class="fas fa-times mx-1"></span>
Close
</button>
</div>
</svelte:fragment>
<svelte:fragment slot="footer">
<div class="text-center w-full">
<button
type="button"
on:click={() => {
console.log('Close modal session poc profile.');
$events_sess.pres_mgmt.show__session_poc_profile = !$events_sess.pres_mgmt.show__session_poc_profile;
}}
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
>
<span class="fas fa-times mx-1"></span>
Close
</button>
</div>
</svelte:fragment>
</Modal>
@@ -488,7 +493,7 @@ $: if ($lq__event_session_obj) {
class="btn btn-sm hover:variant-filled-success"
class:variant-soft-success={$lq__event_session_obj?.poc_agree}
class:variant-ghost-warning={!$lq__event_session_obj?.poc_agree}
on:click={() => ($events_loc.pres_mgmt.show__session_poc_agree = true)}>
on:click={() => ($events_sess.pres_mgmt.show_modal__session_poc_agree = true)}>
{#if !$lq__event_session_obj?.poc_agree}
<span class="fas fa-times bg-red-500 text-white px-1 mx-1" title="Not agreed to terms and conditions"></span>
Not yet agreed
@@ -501,109 +506,20 @@ $: if ($lq__event_session_obj) {
<!-- Main modal -->
<Modal
title="{$events_loc.pres_mgmt?.label__session_poc_name}'s Consent and Release and Terms and Conditions"
bind:open={$events_loc.pres_mgmt.show__session_poc_agree}
bind:open={$events_sess.pres_mgmt.show_modal__session_poc_agree}
autoclose={false}
>
{#if !$lq__event_session_obj?.poc_agree}
<div
class="text-center text-red-500"
>
<div
class="text-red-500"
>
<span class="fas fa-times text-red-500 m-1"></span>
Not Yet Agreed
</div>
<div
class="bg-red-100 p-4 border border-red-200 rounded-md"
>
Waiting for agreement to the {$events_loc.pres_mgmt?.label__session_poc_name} Consent and Release and Terms and Conditions before you can move on. Please review and mark as agreed below.
</div>
</div>
{/if}
<div class="bg-gray-100 p-4 border border-gray-200 rounded-md space-y-4">
<Element_data_store
ds_code="event_session_poc_agree_text"
ds_type="html"
class_li="p-2"
/>
</div>
<div class="text-center w-full">
{#if !$lq__event_session_obj?.poc_agree}
<button
disabled={!$ae_loc.administrator_access &&
!$events_loc.auth__kv.session[$lq__event_session_obj?.event_session_id_random] === true}
on:click={() => {
console.log('Agree to the terms and conditions.');
let event_session_data = {
poc_agree: true,
}
// Use this in the future if we need to store the agreements in a more complex way?
// let event_session_data = {poc_kv_json: $lq__event_session_obj?.poc_kv_json};
// console.log('event_session_data:', event_session_data);
// event_session_data.poc_kv_json[poc_type]['agree'] = true;
ae_promises.update__event_session_obj = events_func.update_ae_obj__event_session({
api_cfg: $ae_api,
event_session_id: $lq__event_session_obj?.event_session_id_random,
data_kv: event_session_data,
log_lvl: log_lvl,
})
.then(function (update_result) {
// console.log(update_result);
// return update_result;
});
}}
class="btn btn-lg variant-ghost-warning hover:variant-filled-success m-2"
>
<span class="fa fa-check m-1 text-green-500"></span>
Mark as agreed?
</button>
{:else}
<button
on:click={() => {
console.log('Change to not agreed.');
let event_session_data = {
poc_agree: false,
}
// Use this in the future if we need to store the agreements in a more complex way?
// let event_session_data = {poc_kv_json: $lq__event_session_obj?.poc_kv_json};
// console.log('event_session_data:', event_session_data);
// event_session_data.poc_kv_json[poc_type]['agree'] = false;
ae_promises.update__event_session_obj = events_func.update_ae_obj__event_session({
api_cfg: $ae_api,
event_session_id: $lq__event_session_obj?.event_session_id_random,
data_kv: event_session_data,
log_lvl: log_lvl,
})
.then(function (update_result) {
// console.log(update_result);
// return update_result;
});
}}
class="btn btn-lg variant-ghost-success hover:variant-filled-warning m-2"
>
<span class="fas fa-times text-red-500 m-1"></span>
Change to not agreed?
</button>
{/if}
</div>
<Comp_event_session_poc_form_agree
lq__event_session_obj={lq__event_session_obj}
/>
<svelte:fragment slot="footer">
<div class="text-center w-full">
<button
on:click={() => {
$events_loc.pres_mgmt.show__session_poc_agree = false;
$events_sess.pres_mgmt.show_modal__session_poc_agree = false;
}}
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
>
@@ -1026,55 +942,40 @@ $: if ($lq__event_session_obj) {
{#if $events_sess.pres_mgmt?.show_content__agree_text}
<div class="ae_quick_modal_container">
<section class="ae_quick_popover">
<div class="flex flex-col items-center">
<!-- Main modal -->
<Modal
title="Presenter's Profile"
bind:open={$events_sess.pres_mgmt.show_modal__presenter_agree}
autoclose={false}
class="bg-white dark:bg-gray-800 text-gray-800 dark:text-gray-200 rounded-lg border-gray-200 dark:border-gray-700 divide-gray-200 dark:divide-gray-700 shadow-md relative flex flex-col mx-auto w-full divide-y"
>
<Comp_event_presenter_form_agree
lq__event_presenter_obj={lq__event_presenter_obj}
lq__event_presentation_obj={$lq__event_presentation_obj}
/>
<!-- <div class="h-4 p-10"> -->
<svelte:fragment slot="footer">
<div class="text-center w-full">
<!-- </div> -->
<section class="ae_modal_scrollfix">
<button
on:click={
() => {
$events_sess.pres_mgmt.show_content__agree_text = null;
}
}
class="btn btn-md variant-soft-secondary hover:variant-filled-secondary float-right"
on:click={() => {
$events_sess.pres_mgmt.show_modal__presenter_agree = false;
}}
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
>
<span class="fas fa-times mx-1"></span>
<span class="fas fa-times m-1"></span>
Close
</button>
</div>
</svelte:fragment>
</Modal>
<Form_agree
lq__event_presenter_obj={lq__event_presenter_obj}
lq__event_presentation_obj={$lq__event_presentation_obj}
/>
</section>
<!-- <div class="h-12"> -->
<button
on:click={
() => {
$events_sess.pres_mgmt.show_content__agree_text = null;
}
}
class="btn btn-md variant-soft-secondary hover:variant-filled-secondary"
>
<span class="fas fa-times mx-1"></span>
Close
</button>
<!-- </div> -->
</div>
</section>
</div>
{/if}
<style lang="postcss">