Almost everything works!! Need to clean up export file. Missing custom questions and similar.

This commit is contained in:
Scott Idem
2024-04-03 18:10:47 -04:00
parent 9c85914b9f
commit 8d2f4e30f4
7 changed files with 117 additions and 38 deletions

View File

@@ -14,6 +14,8 @@ import Element_ae_crud from '$lib/element_ae_crud.svelte';
// These will likely be used for patch/update triggers. Maybe delete?
let ae_triggers: key_val = {};
let ae_promises: key_val = {}; // Promise<any>;
$: event_exhibit_obj = liveQuery(
() => db_events.exhibits.get($events_slct.exhibit_id)
);
@@ -29,19 +31,20 @@ $: if ($events_slct.exhibit_id) {
// Updated 2022-04-22
export let get_event_exhibit_tracking_export = async function get_event_exhibit_tracking_export({event_exhibit_id, file_type='CSV', return_file=true, filename=null, auto_download=false, params={}, log_lvl=0}) {
console.log('*** stores_event_api.js: get_event_exhibit_tracking_export() ***');
// export let get_event_exhibit_tracking_export = async function get_event_exhibit_tracking_export({event_exhibit_id, file_type='CSV', return_file=true, filename=null, auto_download=false, params={}, log_lvl=0}) {
// console.log('*** stores_event_api.js: get_event_exhibit_tracking_export() ***');
const endpoint = `/event/exhibit/${event_exhibit_id}/tracking/export`;
if (file_type == 'CSV' || file_type == 'Excel') {
params['file_type'] = file_type;
}
params['return_file'] = true;
// const endpoint = `/event/exhibit/${event_exhibit_id}/tracking/export`;
// if (file_type == 'CSV' || file_type == 'Excel') {
// params['file_type'] = file_type;
// }
// params['return_file'] = true;
// let event_exhibit_tracking_export_file_get_promise = await api.get_object({api_cfg: ae_api, endpoint: endpoint, params: params, return_blob: true, filename: filename, auto_download: auto_download, log_lvl: log_lvl});
// // console.log(event_exhibit_tracking_export_file_get_promise);
// return event_exhibit_tracking_export_file_get_promise;
// }
let event_exhibit_tracking_export_file_get_promise = await api.get_object({api_cfg: ae_api, endpoint: endpoint, params: params, return_blob: true, filename: filename, auto_download: auto_download, log_lvl: log_lvl});
// console.log(event_exhibit_tracking_export_file_get_promise);
return event_exhibit_tracking_export_file_get_promise;
}
</script>
@@ -404,14 +407,32 @@ export let get_event_exhibit_tracking_export = async function get_event_exhibit_
if (!confirm('Download exported data Excel file?')) {
return false;
}
get_event_exhibit_tracking_export({ 'event_exhibit_id': $events_slct.exhibit_id, file_type: 'Excel', 'return_file': true, filename: `lead_retrieval_export_${$events_slct.exhibit_obj.name.replaceAll(' ', '_')}.xlsx`, auto_download: true, log_lvl: 2 });
ae_promises.download__exhibit_tracking_export = events_func.handle_download_export__event_exhibit_tracking({
api_cfg: $ae_api,
exhibit_id: $events_slct.exhibit_id,
file_type: 'Excel',
return_file: true,
filename: `lead_retrieval_export_${$events_slct.exhibit_obj.name.replaceAll(' ', '_')}.xlsx`,
auto_download: true,
log_lvl: 2
});
// get_event_exhibit_tracking_export({ 'event_exhibit_id': $events_slct.exhibit_id, file_type: 'Excel', 'return_file': true, filename: `lead_retrieval_export_${$events_slct.exhibit_obj.name.replaceAll(' ', '_')}.xlsx`, auto_download: true, log_lvl: 2 });
// .replace(' ', '_')
}}
disabled={true}
disabled={!$events_slct.exhibit_obj.priority}
class="btn btn-sm variant-ghost-primary w-48 mb-1 export_data_btn"
title={`TEMPORARILY DISABLED: Download leads data for ${$events_slct.exhibit_obj.name}`}
>
{#await ae_promises.download__exhibit_tracking_export}
<span class="fas fa-spinner fa-spin"></span>
<!-- <span class="loading-text">
Downloading...
</span> -->
{:then}
<!-- Done? -->
{/await}
<span class="fas fa-download mx-1"></span> Export Data
</button>
@@ -424,6 +445,34 @@ export let get_event_exhibit_tracking_export = async function get_event_exhibit_
Additional Settings
</h2>
<div>
List refresh interval in seconds:
<select
bind:value={$events_loc.leads.refresh_interval__tracking_li}
on:change={() => {
console.log('List refresh interval in seconds:', $events_loc.leads.refresh_interval__tracking_li);
// clearInterval($events_loc.leads.refresh_interval_id);
// $events_loc.leads.refresh_interval_id = setInterval(() => {
// console.log('Refreshing list...');
// events_func.handle_load_ae_obj_id__exhibit({api_cfg: $ae_api, exhibit_id: $events_slct.exhibit_id});
// }, $events_loc.leads.refresh_interval);
}}
class="input w-36 m-1"
>
{#if $ae_loc.trusted_access}
<option value={1000}>1 seconds</option>
<option value={3000}>3 seconds</option>
<option value={5000}>5 seconds</option>
<option value={7000}>7 seconds</option>
{/if}
<option value={10000}>10 seconds</option>
<option value={15000}>15 seconds</option>
<option value={25000}>25 seconds</option>
<option value={30000}>30 seconds</option>
<option value={45000}>45 seconds</option>
</select>
</div>
<div class="text-center">
<button
class="btn btn-sm variant-ghost-warning m-1"