diff --git a/src/lib/ae_events__event_file.ts b/src/lib/ae_events__event_file.ts
index a269678e..ad10cd90 100644
--- a/src/lib/ae_events__event_file.ts
+++ b/src/lib/ae_events__event_file.ts
@@ -269,6 +269,7 @@ export function handle_db_save_ae_obj_li__event_file(
filename_no_ext: obj.filename_no_ext,
filename_w_ext: obj.filename_w_ext,
hosted_file_content_type: obj.hosted_file_content_type,
+ file_size: obj.file_size,
hosted_file_size: obj.hosted_file_size,
});
// console.log(`Put obj with ID: ${obj.event_file_id_random} or ${id_random}`);
diff --git a/src/lib/ae_utils.ts b/src/lib/ae_utils.ts
index 9d95c595..5bc2def3 100644
--- a/src/lib/ae_utils.ts
+++ b/src/lib/ae_utils.ts
@@ -137,6 +137,22 @@ export let iso_datetime_formatter = function iso_datetime_formatter(
}
+function format_bytes(
+ bytes: number,
+ decimals: number = 2
+ ) {
+ if (bytes === 0) return '0 Bytes';
+
+ const k = 1024;
+ const dm = decimals < 0 ? 0 : decimals;
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
+
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
+
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
+}
+
+
/* This utility function will add commas to a number. */
function number_w_commas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
@@ -993,6 +1009,7 @@ function return_obj_type_path({obj_type=null, obj_type_prop_name=null}) {
export let ae_util = {
iso_datetime_formatter: iso_datetime_formatter,
+ format_bytes: format_bytes,
number_w_commas: number_w_commas,
extract_prefixed_form_data: extract_prefixed_form_data,
process_data_string: process_data_string,
diff --git a/src/lib/db_events.ts b/src/lib/db_events.ts
index ab11453f..bf84d8af 100644
--- a/src/lib/db_events.ts
+++ b/src/lib/db_events.ts
@@ -204,39 +204,40 @@ export interface File {
hosted_file_id_random: string;
hash_sha256: string;
- for_type: string;
- for_id: string;
- for_id_random: string;
+ for_type?: string;
+ for_id?: string;
+ for_id_random?: string;
event_id_random: string;
- event_session_id_random: string;
- event_presentation_id_random: string;
- event_presenter_id_random: string;
- event_location_id_random: string;
+ event_session_id_random?: string;
+ event_presentation_id_random?: string;
+ event_presenter_id_random?: string;
+ event_location_id_random?: string;
filename: string;
extension: string;
- open_in_os: null|string; // null, empty, 'mac', or 'win'
+ open_in_os?: null|string; // null, empty, 'mac', or 'win'
lu_file_purpose_id: string;
lu_event_file_purpose_name: string;
file_purpose: string;
enable: null|boolean;
- hide: null|boolean;
- priority: null|boolean
- sort: null|number;
- group: null|string;
- notes: null|string;
+ hide?: null|boolean;
+ priority?: null|boolean
+ sort?: null|number;
+ group?: null|string;
+ notes?: null|string;
created_on: Date;
- updated_on: null|Date;
+ updated_on?: null|Date;
// Additional fields for convenience (database views)
filename_no_ext: string;
filename_w_ext: string;
hosted_file_content_type: string;
- hosted_file_size: number; // In bytes
+ file_size: number; // In bytes
+ hosted_file_size?: number; // In bytes
}
diff --git a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte
index 12c79b19..e7848c11 100644
--- a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte
+++ b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte
@@ -446,7 +446,7 @@ function send_sign_in_poc_email(
{:else}
Show
{/if}
- Help
+ Help?
@@ -1675,6 +1675,14 @@ function send_sign_in_poc_email(
{ae_util.shorten_filename({filename: event_file_obj.filename, max_length: 25})}
+
+
+ {event_file_obj.file_purpose}
+
+
{/if}
diff --git a/src/routes/events_pres_mgmt/session/[slug]/presenter_view.svelte b/src/routes/events_pres_mgmt/session/[slug]/presenter_view.svelte
index 06e73657..8782fadb 100644
--- a/src/routes/events_pres_mgmt/session/[slug]/presenter_view.svelte
+++ b/src/routes/events_pres_mgmt/session/[slug]/presenter_view.svelte
@@ -318,10 +318,10 @@ async function handle_delete__event_file({event_file_id}) {
Presenter Details for:
- {$events_slct.presenter_obj.full_name}
+ {$lq__event_presenter_obj.full_name}
- ({$events_slct.presenter_obj.email})
+ ({$lq__event_presenter_obj.email})
{#if $ae_loc.trusted_access}
@@ -331,7 +331,7 @@ async function handle_delete__event_file({event_file_id}) {
type="button"
- use:clipboard={encodeURI(`${$ae_loc.url_origin}/events_pres_mgmt/session/${$events_slct.event_session_id}?person_id=${$events_slct.presenter_obj.person_id_random}&person_pass=${$events_slct.presenter_obj.person_passcode}&presentation_id=${$events_slct.presentation_obj.event_presentation_id_random}&presenter_id=${$events_slct.presenter_obj.event_presenter_id_random}`)}
+ use:clipboard={encodeURI(`${$ae_loc.url_origin}/events_pres_mgmt/session/${$events_slct.event_session_id}?person_id=${$lq__event_presenter_obj.person_id_random}&person_pass=${$lq__event_presenter_obj.person_passcode}&presentation_id=${$events_slct.presentation_obj.event_presentation_id_random}&presenter_id=${$lq__event_presenter_obj.event_presenter_id_random}`)}
class="btn btn-sm variant-ghost-warning float-right m-1"
title="Copy the presenter access link to the clipboard."
>
@@ -376,10 +376,10 @@ async function handle_delete__event_file({event_file_id}) {
{
+ console.log(`ae_crud_updated:`, 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})
+ .then(function (load_results) {
+ // Maybe reload page?
+ // window.location.reload();
+ });
+ }}
>
- {$events_slct.presenter_obj.given_name}
+ {$lq__event_presenter_obj.given_name}
{
+ console.log(`ae_crud_updated:`, 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})
+ .then(function (load_results) {
+ // Maybe reload page?
+ // window.location.reload();
+ });
+ }}
>
- {$events_slct.presenter_obj.family_name}
+ {$lq__event_presenter_obj.family_name}
@@ -424,48 +442,66 @@ async function handle_delete__event_file({event_file_id}) {
{
+ console.log(`ae_crud_updated:`, 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})
+ .then(function (load_results) {
+ // Maybe reload page?
+ // window.location.reload();
+ });
+ }}
>
{$events_slct.presenter_obj.email}
+ >{$lq__event_presenter_obj.email}
- {#if $events_slct.presenter_obj.person_primary_email != $events_slct.presenter_obj.email}
+ {#if $lq__event_presenter_obj.person_primary_email != $lq__event_presenter_obj.email}
{
+ console.log(`ae_crud_updated:`, 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})
+ .then(function (load_results) {
+ // Maybe reload page?
+ // window.location.reload();
+ });
+ }}
>
{$events_slct.presenter_obj.person_primary_email}
+ >{$lq__event_presenter_obj.person_primary_email}
@@ -473,10 +509,10 @@ async function handle_delete__event_file({event_file_id}) {
trigger_patch={ae_triggers.update_person_primary_email}
api_cfg={$ae_api}
object_type={'person'}
- object_id={$events_slct.presenter_obj.person_id_random}
+ object_id={$lq__event_presenter_obj.person_id_random}
field_name={'primary_email'}
field_type={'text'}
- field_value={$events_slct.presenter_obj.email}
+ field_value={$lq__event_presenter_obj.email}
allow_null={false}
hide_edit_btn={true}
outline_element={false}
@@ -516,62 +552,89 @@ async function handle_delete__event_file({event_file_id}) {
{
+ console.log(`ae_crud_updated:`, 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})
+ .then(function (load_results) {
+ // Maybe reload page?
+ // window.location.reload();
+ });
+ }}
>
- {$events_slct.presenter_obj.affiliations ?? '-- affiliations not set --'}
+ {$lq__event_presenter_obj.affiliations ?? '-- affiliations not set --'}
{
+ console.log(`ae_crud_updated:`, 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})
+ .then(function (load_results) {
+ // Maybe reload page?
+ // window.location.reload();
+ });
+ }}
>
- {$events_slct.presenter_obj.professional_title && $events_slct.presenter_obj.professional_title.length ? $events_slct.presenter_obj.professional_title : '-- professional title not set --'}
+ {$lq__event_presenter_obj.professional_title && $lq__event_presenter_obj.professional_title.length ? $lq__event_presenter_obj.professional_title : '-- professional title not set --'}
{
+ console.log(`ae_crud_updated:`, 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})
+ .then(function (load_results) {
+ // Maybe reload page?
+ // window.location.reload();
+ });
+ }}
>
Passcode:
- {$events_slct.presenter_obj.person_passcode ?? '-- passcode not set --'}
+ {$lq__event_presenter_obj.person_passcode ?? '-- passcode not set --'}
Person link
- {#if $events_slct.presenter_obj.person_id_random}
+ {#if $lq__event_presenter_obj.person_id_random}
- {$events_slct.presenter_obj.person_id_random}
+ {$lq__event_presenter_obj.person_id_random}
{:else}
-- person not set --
@@ -680,7 +743,7 @@ async function handle_delete__event_file({event_file_id}) {
return load_results;
});
- ae_tmp.person_id = $events_slct.presenter_obj?.person_id_random;
+ ae_tmp.person_id = $lq__event_presenter_obj?.person_id_random;
ae_tmp.show__edit_person = true;
}}
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
@@ -697,7 +760,7 @@ async function handle_delete__event_file({event_file_id}) {
- Files: {$events_slct.presenter_obj.file_count ? `${$events_slct.presenter_obj.file_count}x` : '-- none --'}
+ Files: {$lq__event_presenter_obj.file_count ? `${$lq__event_presenter_obj.file_count}x` : '-- none --'}