diff --git a/src/lib/ae_utils/ae_utils.ts b/src/lib/ae_utils/ae_utils.ts index f711c6eb..445da06e 100644 --- a/src/lib/ae_utils/ae_utils.ts +++ b/src/lib/ae_utils/ae_utils.ts @@ -2,7 +2,7 @@ import { process_permission_checks } from './ae_utils__perm_checks'; import { iso_datetime_formatter } from './ae_utils__datetime_format'; import { is_datetime_recent } from './ae_utils__is_datetime_recent'; -import { format_bytes, guess_file_name, guess_file_extension, get_file_hash } from './ae_utils__files'; +import { clean_filename, format_bytes, guess_file_name, guess_file_extension, get_file_hash } from './ae_utils__files'; type key_str = { [key: string]: string; @@ -710,6 +710,7 @@ export let ae_util = { is_datetime_recent: is_datetime_recent, process_permission_checks: process_permission_checks, iso_datetime_formatter: iso_datetime_formatter, + clean_filename: clean_filename, format_bytes: format_bytes, number_w_commas: number_w_commas, guess_file_name: guess_file_name, diff --git a/src/lib/ae_utils/ae_utils__files.ts b/src/lib/ae_utils/ae_utils__files.ts index 71551fea..65e1a24d 100644 --- a/src/lib/ae_utils/ae_utils__files.ts +++ b/src/lib/ae_utils/ae_utils__files.ts @@ -1,5 +1,19 @@ // These are all file related functions. +// Use a defined list of unacceptable characters to remove from a filename. +// Updated 2024-10-18 +export let clean_filename = function clean_filename(filename: any|string, unacceptable_chars: RegExp = /[ <>:"/\\|?*]/g, replacement_char: string = '_') { + // console.log('*** clean_filename() ***'); + if (!filename) { + return ''; + } + + let cleaned_filename = filename.replace(unacceptable_chars, replacement_char); + // console.log(cleaned_filename); + return cleaned_filename; +} + + export let format_bytes = function format_bytes( bytes: number, decimals: number = 2 diff --git a/src/lib/element_manage_event_file_li.svelte b/src/lib/element_manage_event_file_li.svelte index 3d53474f..dc649548 100644 --- a/src/lib/element_manage_event_file_li.svelte +++ b/src/lib/element_manage_event_file_li.svelte @@ -30,7 +30,7 @@ export let display_mode: string = 'default'; // 'default', 'compact', 'minimal', let ae_promises: key_val = {}; let ae_tmp: key_val = {}; ae_tmp.show__file_li = true; -ae_tmp.show__direct_download = false; +ae_tmp.show__direct_download = $events_loc.pres_mgmt.show__direct_download; // let ae_triggers: key_val = {}; onMount(() => { @@ -196,30 +196,95 @@ onMount(() => { {event_file_obj.file_purpose} - - - - + +
+ + Presentation Name: + + + + + + +
+ + {:else} + + + {#if $events_loc.pres_mgmt.show__direct_download} + + {:else} + + {/if} + {#if $events_loc.pres_mgmt.qry_hidden == 'all'} - - +
+ + Original: + + + + + + +
+ +
- - - - +
+ +
- - - + + Presentation Name: + + + + + + +
+ {ae_util.format_bytes(event_file_obj?.file_size)}