Wrapping up for the day. The first report looks pretty good.

This commit is contained in:
Scott Idem
2024-07-11 17:44:43 -04:00
parent 945c943c61
commit 47c742d004
5 changed files with 52 additions and 25 deletions

View File

@@ -17,29 +17,31 @@ export let iso_datetime_formatter = function iso_datetime_formatter(
// ISO 8601 UTC: 2021-03-04T19:04:44Z // ISO 8601 UTC: 2021-03-04T19:04:44Z
// ISO 8601 UTC: 20210304T190444Z // ISO 8601 UTC: 20210304T190444Z
//datetime_iso 'YYYY-MM-DD HH:mm:ss' // datetime_iso 'YYYY-MM-DD HH:mm:ss'
//datetime_iso_12 'YYYY-MM-DD hh:mm:ss A' // datetime_iso_12 'YYYY-MM-DD hh:mm:ss A'
//datetime_iso_12_short 'YY-MM-DD hh:mm A' // datetime_iso_12_short 'YY-MM-DD hh:mm A'
//datetime_iso_tz 'YYYY-MM-DD HH:mm:ss' // datetime_iso_tz 'YYYY-MM-DD HH:mm:ss'
//datetime_long 'dddd, MMMM D, YYYY hh:mm:ss A' // datetime_us_no_seconds 'YYYY-MM-DD hh:mm A'
//datetime_medium 'ddd, MMM D, YYYY hh:mm:ss A'
//datetime_short 'MMM D, YY hh:mm A'
//date_iso 'YYYY-MM-DD' // datetime_long 'dddd, MMMM D, YYYY hh:mm:ss A'
// datetime_medium 'ddd, MMM D, YYYY hh:mm:ss A'
// datetime_short 'MMM D, YY hh:mm A'
//date_long 'dddd, MMMM D, YYYY' // date_iso 'YYYY-MM-DD'
//date_medium 'ddd, MMM D, YYYY'
//date_short 'MMM D, YY'
//time_iso 'HH:mm:ss' // date_long 'dddd, MMMM D, YYYY'
//time_iso_12 'hh:mm:ss A' // date_medium 'ddd, MMM D, YYYY'
// date_short 'MMM D, YY'
//time_long 'hh:mm:ss A' // time_iso 'HH:mm:ss'
//time_medium 'h:m:s A' // time_iso_12 'hh:mm:ss A'
//time_short 'hh:mm A'
//dayjs(raw_datetime).format('dddd, MMMM D, YYYY hh:mm:ss A'); // time_long 'hh:mm:ss A'
// time_medium 'h:m:s A'
// time_short 'hh:mm A'
// dayjs(raw_datetime).format('dddd, MMMM D, YYYY hh:mm:ss A');
if (!raw_datetime) { if (!raw_datetime) {
raw_datetime = new Date(); // Get the current datetime if one was not passed. raw_datetime = new Date(); // Get the current datetime if one was not passed.
@@ -60,6 +62,9 @@ export let iso_datetime_formatter = function iso_datetime_formatter(
case 'datetime_iso_12_short_month': case 'datetime_iso_12_short_month':
datetime_string = dayjs(raw_datetime).format('MM-DD hh:mm A'); datetime_string = dayjs(raw_datetime).format('MM-DD hh:mm A');
break; break;
case 'datetime_us_no_seconds':
datetime_string = dayjs(raw_datetime).format('YYYY-MM-DD hh:mm A');
break;
case 'datetime_short': case 'datetime_short':
datetime_string = dayjs(raw_datetime).format('MMM D, YY hh:mm A'); datetime_string = dayjs(raw_datetime).format('MMM D, YY hh:mm A');
break; break;
@@ -106,11 +111,14 @@ export let iso_datetime_formatter = function iso_datetime_formatter(
datetime_string = dayjs(raw_datetime).format('hh:mm:ss A'); datetime_string = dayjs(raw_datetime).format('hh:mm:ss A');
break; break;
case 'time_short': case 'time_short':
datetime_string = dayjs(raw_datetime).format('hh:mm A'); datetime_string = dayjs(raw_datetime).format('HH:mm');
break; break;
case 'time_short_no_leading': case 'time_short_no_leading':
datetime_string = dayjs(raw_datetime).format('h:mm A'); datetime_string = dayjs(raw_datetime).format('h:mm A');
break; break;
case 'time_us_short':
datetime_string = dayjs(raw_datetime).format('hh:mm A');
break;
case 'week_long': case 'week_long':
datetime_string = dayjs(raw_datetime).format('dddd'); datetime_string = dayjs(raw_datetime).format('dddd');
break; break;

View File

@@ -1,6 +1,7 @@
<script lang="ts"> <script lang="ts">
// Imports // Imports
// import type { key_val } from '$lib/ae_stores'; // import type { key_val } from '$lib/ae_stores';
import { ae_util } from '$lib/ae_utils';
import { liveQuery } from "dexie"; import { liveQuery } from "dexie";
import { db_events } from "$lib/db_events"; import { db_events } from "$lib/db_events";
@@ -32,10 +33,11 @@ let lq_kv__event_presenter_obj_li = liveQuery(
</script> </script>
<section class="ae_comp event_presenter_obj_tbl {container_class_li}"> <section class="ae_comp event_presenter_obj_tbl container {container_class_li}">
{#if event_presenter_id_random_li && $lq_kv__event_presenter_obj_li && $lq_kv__event_presenter_obj_li?.length > 0} {#if event_presenter_id_random_li && $lq_kv__event_presenter_obj_li && $lq_kv__event_presenter_obj_li?.length > 0}
<div class="overflow-scroll">
<table <table
class="table-auto w-full table-striped table-hover" class="table-auto w-full table-striped table-hover"
> >
@@ -47,6 +49,7 @@ let lq_kv__event_presenter_obj_li = liveQuery(
{/if} {/if}
{#if show_presentation_fields} {#if show_presentation_fields}
<th class="px-4 py-2">Presentation</th> <th class="px-4 py-2">Presentation</th>
<th class="px-4 py-2">Start time</th>
{/if} {/if}
<th class="px-4 py-2">Name</th> <th class="px-4 py-2">Name</th>
<th class="px-4 py-2">Email</th> <th class="px-4 py-2">Email</th>
@@ -60,6 +63,7 @@ let lq_kv__event_presenter_obj_li = liveQuery(
class:dim={event_presenter_obj?.hide}> class:dim={event_presenter_obj?.hide}>
{#if show_session_fields} {#if show_session_fields}
<td class="px-4 py-2"> <td class="px-4 py-2">
<span class="fas fa-chalkboard-teacher"></span>
<a <a
href="/events_pres_mgmt/session/{event_presenter_obj?.event_session_id_random}" href="/events_pres_mgmt/session/{event_presenter_obj?.event_session_id_random}"
class="text-blue-500 underline hover:text-blue-800" class="text-blue-500 underline hover:text-blue-800"
@@ -67,12 +71,14 @@ let lq_kv__event_presenter_obj_li = liveQuery(
{event_presenter_obj?.event_session_name} {event_presenter_obj?.event_session_name}
</a> </a>
</td> </td>
<td class="px-4 py-2">{event_presenter_obj?.event_session_start_datetime}</td> <td class="px-4 py-2">{ae_util.iso_datetime_formatter(event_presenter_obj?.event_session_start_datetime, 'datetime_us_no_seconds')}</td>
{/if} {/if}
{#if show_presentation_fields} {#if show_presentation_fields}
<td class="px-4 py-2">{event_presenter_obj?.event_presentation_name}</td> <td class="px-4 py-2">{event_presenter_obj?.event_presentation_name}</td>
<td class="px-4 py-2">{ae_util.iso_datetime_formatter(event_presenter_obj?.event_presentation_start_time, 'time_us_short')}</td>
{/if} {/if}
<td class="px-4 py-2"> <td class="px-4 py-2">
<span class="fas fa-user"></span>
<a <a
href="/events_pres_mgmt/presenter/{event_presenter_obj?.event_presenter_id_random}" href="/events_pres_mgmt/presenter/{event_presenter_obj?.event_presenter_id_random}"
class="text-blue-500 underline hover:text-blue-800" class="text-blue-500 underline hover:text-blue-800"
@@ -80,13 +86,22 @@ let lq_kv__event_presenter_obj_li = liveQuery(
{event_presenter_obj?.full_name} {event_presenter_obj?.full_name}
</a> </a>
</td> </td>
<td class="px-4 py-2">{event_presenter_obj?.email}</td> <td class="px-4 py-2">
<span class="fas fa-envelope"></span>
<a
href="mailto:{event_presenter_obj?.email}"
class="text-blue-500 underline hover:text-blue-800"
>
{event_presenter_obj?.email}
</a>
</td>
<td class="px-4 py-2">{event_presenter_obj?.agree ? 'Yes' : 'No'}</td> <td class="px-4 py-2">{event_presenter_obj?.agree ? 'Yes' : 'No'}</td>
<td class="px-4 py-2">{event_presenter_obj?.file_count ?? '0'}</td> <td class="px-4 py-2">{event_presenter_obj?.file_count ?? '0'}</td>
</tr> </tr>
{/each} {/each}
</tbody> </tbody>
</table> </table>
</div>
{/if} {/if}
</section> </section>

View File

@@ -190,13 +190,13 @@ let lq_kv__event_session_obj_li = liveQuery(
<span class="flex flex-col items-center md:flex-row md:items-start"> <span class="flex flex-col items-center md:flex-row md:items-start">
{#if session_obj?.start_datetime} {#if session_obj?.start_datetime}
<span style="break-inside: avoid;"> <span style="break-inside: avoid;">
{ae_util.iso_datetime_formatter(session_obj?.start_datetime,'time_short')} {ae_util.iso_datetime_formatter(session_obj?.start_datetime,'time_us_short')}
</span> </span>
<span class="grow"> <span class="grow">
&ndash; &ndash;
</span> </span>
<span style="break-inside: avoid;"> <span style="break-inside: avoid;">
{ae_util.iso_datetime_formatter(session_obj?.end_datetime,'time_short')} {ae_util.iso_datetime_formatter(session_obj?.end_datetime,'time_us_short')}
</span> </span>
{:else} {:else}
{@html ae_snip.html__not_set} {@html ae_snip.html__not_set}

View File

@@ -156,7 +156,7 @@ handle_search__event_presenter({
<svelte:head> <svelte:head>
<title> <title>
Event: {ae_util.shorten_string({string: $lq__event_obj?.name, max_length: 12})} Reports: {ae_util.shorten_string({string: $lq__event_obj?.name, max_length: 12})}
({$lq__event_obj?.event_id}) - Pres Mgmt - {$events_loc?.title} ({$lq__event_obj?.event_id}) - Pres Mgmt - {$events_loc?.title}
</title> </title>
</svelte:head> </svelte:head>
@@ -303,12 +303,16 @@ handle_search__event_presenter({
<!-- Show presenters for this presentation --> <!-- Show presenters for this presentation -->
{#if $events_loc.pres_mgmt.show_report__presenters_agree && event_presenter_id_random_li?.length > 0} {#if $events_loc.pres_mgmt.show_report__presenters_agree && event_presenter_id_random_li?.length > 0}
<!-- <div class="overflow-x-auto"> -->
<div class="">
<Comp_event_presenter_obj_tbl <Comp_event_presenter_obj_tbl
event_presenter_id_random_li={event_presenter_id_random_li} event_presenter_id_random_li={event_presenter_id_random_li}
show_session_fields={true} show_session_fields={true}
show_presentation_fields={true} show_presentation_fields={true}
> >
</Comp_event_presenter_obj_tbl> </Comp_event_presenter_obj_tbl>
</div>
{/if} {/if}
<!-- {#if $events_slct.event_presenter_obj_li?.length == event_presenter_id_random_li?.length} <!-- {#if $events_slct.event_presenter_obj_li?.length == event_presenter_id_random_li?.length}

View File

@@ -650,7 +650,7 @@ $: if ($slct_trigger == 'load__event_presenter_obj_li') {
// $events_trig_kv['event_session_id'] = $lq__event_session_obj?.event_session_id_random; // $events_trig_kv['event_session_id'] = $lq__event_session_obj?.event_session_id_random;
}} }}
> >
{ae_util.iso_datetime_formatter($lq__event_session_obj.end_datetime, 'time_short')} {ae_util.iso_datetime_formatter($lq__event_session_obj.end_datetime, 'time_us_short')}
</Element_ae_crud> </Element_ae_crud>
</li> </li>
<li> <li>