diff --git a/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl.svelte b/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl.svelte
index c79ed68c..62eb710d 100644
--- a/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl.svelte
+++ b/src/routes/events/[event_id]/presenter/ae_comp__event_presenter_obj_tbl.svelte
@@ -22,6 +22,7 @@ let {
// Imports
import { ae_util } from '$lib/ae_utils/ae_utils';
+import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
// export let display_mode: string = 'default'; // 'default', 'compact', 'minimal', 'launcher'
// export let link_to_type: string;
@@ -49,6 +50,61 @@ if (log_lvl) {
// () => db_events.presenters
// .bulkGet(event_presenter_id_random_li)
// );
+
+
+
+function generate_presenter_export_csv(ae_obj_li) {
+ console.log(`*** generate_presenter_export_csv() ***`, ae_obj_li);
+
+ // We need to create a list with the column names and then a list of lists with the data.
+ let csv_data = [];
+ let csv_columns = ['Presenter ID', 'Name', 'Email', 'Agree', 'Files', 'Code', 'Session', 'Start datetime', 'Presentation', 'Presentation time', 'Updated On'];
+ csv_data.push(csv_columns);
+
+ for (let i = 0; i < ae_obj_li.length; i++) {
+ let csv_row = [];
+ csv_row.push(ae_obj_li[i].event_presenter_id);
+ csv_row.push(ae_obj_li[i].full_name ?? ae_obj_li[i].given_name);
+ csv_row.push(ae_obj_li[i].email ?? '');
+ csv_row.push(ae_obj_li[i].agree ? 'Yes' : 'No');
+ csv_row.push(ae_obj_li[i].file_count ?? '0');
+ csv_row.push(ae_obj_li[i].event_session_code ?? '');
+ csv_row.push(ae_obj_li[i].event_session_name ?? '');
+ csv_row.push(ae_obj_li[i].event_session_start_datetime ? ae_util.iso_datetime_formatter(ae_obj_li[i].event_session_start_datetime, 'datetime_iso_12_no_seconds') : '');
+ csv_row.push(ae_obj_li[i].event_presentation_name ?? '');
+ csv_row.push(ae_obj_li[i].event_presentation_start_datetime ? ae_util.iso_datetime_formatter(ae_obj_li[i].event_presentation_start_datetime, 'time_12_short') : '');
+ csv_row.push(ae_obj_li[i].updated_on ? ae_util.iso_datetime_formatter(ae_obj_li[i].updated_on, 'datetime_iso_12_no_seconds') : '');
+
+ csv_data.push(csv_row);
+ }
+
+ console.log('CSV Data:', csv_data);
+
+ let csv_content_str = '';
+ csv_data.forEach(function(row) {
+ csv_content_str += row.join(';');
+ csv_content_str += '\n';
+ });
+
+ const blob = new Blob([csv_content_str], { type: 'text/csv;charset=utf-8;' });
+ const obj_url = URL.createObjectURL(blob);
+
+ const download_link = document.createElement('a');
+ download_link.setAttribute('href', obj_url);
+ download_link.setAttribute('download', `presenter_list_${ae_util.iso_datetime_formatter()}.csv`);
+ download_link.setAttribute('style', 'display: none;')
+ download_link.textContent = 'Download CSV';
+
+ // document.querySelector('body').appendChild(download_link);
+ document.getElementById('download_csv_container').appendChild(download_link);
+
+ // Automatically download the file
+ download_link.click();
+
+ return csv_data;
+}
+
+
@@ -57,23 +113,129 @@ if (log_lvl) {
{#if $lq__event_presenter_obj_li && $lq__event_presenter_obj_li?.length}
-
-
- Results:
-
+
+
+
+ Results:
+
- {#if $lq__event_presenter_obj_li.length}
-
+
+ {$lq__event_presenter_obj_li.length ?? 'None'}×
+
+ {/if}
+
+
+
+
+
+
+
+ {#if show_session_fields}
+
+ {:else}
+
{/if}
-
+
+
+ {#if !hide_session_code}
+
+ {:else}
+
+ {/if}
+
+ {#if show_presentation_fields}
+
+ {:else}
+
+ {/if}
+
+
+
diff --git a/src/routes/events/[event_id]/reports/+page.svelte b/src/routes/events/[event_id]/reports/+page.svelte
index a27ec5c4..3f2c32cd 100644
--- a/src/routes/events/[event_id]/reports/+page.svelte
+++ b/src/routes/events/[event_id]/reports/+page.svelte
@@ -16,7 +16,7 @@ import { ae_util } from '$lib/ae_utils/ae_utils';
// import Element_data_store from '$lib/element_data_store_v2.svelte';
import Comp_event_file_obj_tbl from '../../ae_comp__event_file_obj_tbl.svelte';
import Comp_event_session_obj_tbl from './../../ae_comp__event_session_obj_tbl_wrapper.svelte';
-import Comp_event_presenter_obj_tbl from './../presenter/ae_comp__event_presenter_obj_tbl_wrapper.svelte';
+// import Comp_event_presenter_obj_tbl from './../presenter/ae_comp__event_presenter_obj_tbl_wrapper.svelte';
import { liveQuery } from "dexie";
// import { core_func } from '$lib/ae_core_functions';
@@ -867,6 +867,8 @@ async function handle_qry__event_session(
{/if}
+
+
+
-{#if 1==3 && $events_loc.pres_mgmt.show_report == 'presenters_agree' && $events_sess.event_presenter_obj_li}
-
+
Agreed
{:else}
-
Not Agreed
{/if}
-
-
-
-
-
-
-{/if}
+
+
+{/if} -->
-{#if 1==3 && $events_loc.pres_mgmt.show_report == 'presenters_biography' && $events_sess.event_presenter_obj_li}
+
-{#if 1==3 && $events_loc.pres_mgmt.show_report == 'presenters_overview' && $events_sess.event_presenter_obj_li}
+
@@ -1069,7 +1057,7 @@ async function handle_qry__event_session(
log_lvl={log_lvl}
>
-{/if}
+{/if} -->
{#if $events_loc.pres_mgmt.show_report == 'recent_files' && event_file_id_random_li}
diff --git a/src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_qry.svelte b/src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_qry.svelte
index 02a521bb..2ab0cec2 100644
--- a/src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_qry.svelte
+++ b/src/routes/idaa/(idaa)/recovery_meetings/ae_idaa_comp__event_obj_qry.svelte
@@ -691,7 +691,7 @@ function preventDefault(fn) {
preset-tonal-warning preset-outlined-warning-200-800 hover:preset-filled-warning-200-800
transition
"
- title={`Download sponsorship data for ${$ae_loc.account_name}`}
+ title={`Download meeting data for ${$ae_loc.account_name}`}
>
{#await ae_promises.download__events_export}