Now with a new recent files report.

This commit is contained in:
Scott Idem
2024-07-12 16:20:23 -04:00
parent 47c742d004
commit 997f470ebe
8 changed files with 522 additions and 23 deletions

View File

@@ -9,6 +9,7 @@ import type { key_val } from '$lib/ae_stores';
import { ae_util } from '$lib/ae_utils';
// import Element_ae_crud from '$lib/element_ae_crud.svelte';
import Element_data_store from '$lib/element_data_store.svelte';
import Comp_event_file_obj_tbl from '../../../ae_comp__event_file_obj_tbl.svelte';
// import Comp_event_presenter_obj_li from '../../../ae_comp__event_presenter_obj_li.svelte';
import Comp_event_presenter_obj_tbl from '../../../ae_comp__event_presenter_obj_tbl.svelte';
@@ -33,9 +34,10 @@ let lq__event_obj = liveQuery(
() => db_events.events.get($events_slct.event_id)
);
let event_file_id_random_li: string[] = []; // ['NPKOzGFKZZU'];
let event_session_id_random_li: string[] = ['VSBH-19-41-50'];
let event_presentation_id_random_li: string[] = ['VSBH-19-41-50'];
let event_presenter_id_random_li: string[] = ['I245hLQ4aek'];
let event_presenter_id_random_li: string[] = [];// ['I245hLQ4aek'];
let load_obj_li_results: Promise<any>|key_val;
let search_submit_results: Promise<any>|key_val;
@@ -54,6 +56,96 @@ onMount(() => {
});
async function handle_search__event_file(
{
api_cfg,
event_id,
created_on = null,
ft_search_str = '',
lk_search_str = '',
params = {
'qry__enabled': 'enabled',
'qry__hidden': 'not_hidden',
'qry__limit': 35,},
try_cache=false,
log_lvl=1,
}: {
api_cfg: any,
event_id: string,
created_on?: null|string,
ft_search_str?: string,
lk_search_str?: string,
params?: key_val,
try_cache?: boolean,
log_lvl?: number,
}
) {
console.log('handle_search__event_file()');
$events_sess.pres_mgmt.status_qry__search = 'loading';
search_submit_results = events_func.handle_search__event_file({
api_cfg: $ae_api,
event_id: $events_slct.event_id,
created_on: created_on,
fulltext_search_qry_str: ft_search_str,
like_search_qry_str: lk_search_str,
// external_event_id: $events_loc.pres_mgmt.default__external_registration_id,
params: params,
try_cache: try_cache,
log_lvl: 0,
})
.then(function (search_results) {
// Processing the results from the search.
$events_sess.pres_mgmt.status_qry__search = 'processing';
$events_slct.event_file_obj_li = search_results;
console.log(search_results);
// $events_sess.pres_mgmt.status_qry__search = 'done';
})
.finally(() => {
if (log_lvl) {
console.log('TEST SEARCH - Search done. Pulling out the event_file_id_randoms.');
}
// console.log(`TEST search: ${$lq_kv__event_file_obj_li}`);
event_file_id_random_li = [];
// We need to loop through the array of objects and get the event_file_id_random from each object a new list of event_file_id_randoms. Then we can use this list to get the full objects from the database.
let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
for (let i = 0; i < $events_slct.event_file_obj_li.length; i++) {
tmp_li.push($events_slct.event_file_obj_li[i].event_file_id_random);
}
event_file_id_random_li = tmp_li;
// event_file_id_random_li = $events_slct.event_file_obj_li.map(file_obj => file_obj.event_file_id_random);
// Finally done with the search.
$events_sess.pres_mgmt.status_qry__search = 'done';
if (log_lvl > 1) {
console.log(`TEST SEARCH - event_file_id_random_li:`, event_file_id_random_li);
// console.log(`TEST SEARCH - search live query: ${$lq_kv__event_file_obj_li}`);
}
});
}
// handle_search__event_file({
// api_cfg: $ae_api,
// event_id: $events_slct.event_id,
// created_on: null,
// ft_search_str: '',
// lk_search_str: '',
// params: {
// 'qry__enabled': 'enabled',
// 'qry__hidden': 'not_hidden',
// 'qry__limit': 35,},
// try_cache: false,
// log_lvl: 2,
// });
async function handle_search__event_presenter(
{
@@ -138,19 +230,19 @@ async function handle_search__event_presenter(
}
handle_search__event_presenter({
api_cfg: $ae_api,
event_id: $events_slct.event_id,
agree: true,
ft_search_str: '',
lk_search_str: '',
params: {
'qry__enabled': 'enabled',
'qry__hidden': 'not_hidden',
'qry__limit': 35,},
try_cache: false,
log_lvl: 0,
});
// handle_search__event_presenter({
// api_cfg: $ae_api,
// event_id: $events_slct.event_id,
// agree: true,
// ft_search_str: '',
// lk_search_str: '',
// params: {
// 'qry__enabled': 'enabled',
// 'qry__hidden': 'not_hidden',
// 'qry__limit': 35,},
// try_cache: false,
// log_lvl: 0,
// });
</script>
@@ -253,7 +345,21 @@ handle_search__event_presenter({
type="button"
disabled={!$ae_loc.trusted_access}
on:click={() => {
$events_loc.pres_mgmt.show_report__presenters_agree = !$events_loc.pres_mgmt.show_report__presenters_agree;
handle_search__event_presenter({
api_cfg: $ae_api,
event_id: $events_slct.event_id,
agree: true,
ft_search_str: '',
lk_search_str: '',
params: {
'qry__enabled': 'enabled',
'qry__hidden': 'not_hidden',
'qry__limit': 35,},
try_cache: false,
log_lvl: 1,
});
$events_sess.pres_mgmt.show_report__presenters_agree = !$events_sess.pres_mgmt.show_report__presenters_agree;
$events_sess.pres_mgmt.show_report__recent_files = false;
}}
class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all mx-1"
title="Show presenters who have agreed to present."
@@ -269,7 +375,21 @@ handle_search__event_presenter({
type="button"
disabled={!$ae_loc.administrator_access}
on:click={() => {
$events_loc.pres_mgmt.show_report__recent_files = !$events_loc.pres_mgmt.show_report__recent_files;
handle_search__event_file({
api_cfg: $ae_api,
event_id: $events_slct.event_id,
created_on: null,
ft_search_str: '',
lk_search_str: '',
params: {
'qry__enabled': 'enabled',
'qry__hidden': 'not_hidden',
'qry__limit': 35,},
try_cache: false,
log_lvl: 1,
});
$events_sess.pres_mgmt.show_report__presenters_agree = false;
$events_sess.pres_mgmt.show_report__recent_files = !$events_sess.pres_mgmt.show_report__recent_files;
}}
class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all mx-1"
title="NOT READY YET: Show recent file uploads."
@@ -302,17 +422,28 @@ handle_search__event_presenter({
{/await} -->
<!-- Show presenters for this presentation -->
{#if $events_loc.pres_mgmt.show_report__presenters_agree && event_presenter_id_random_li?.length > 0}
{#if $events_sess.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
event_presenter_id_random_li={event_presenter_id_random_li}
show_session_fields={true}
bind:event_presenter_id_random_li={event_presenter_id_random_li}
show_presentation_fields={true}
show_session_fields={true}
>
</Comp_event_presenter_obj_tbl>
</div>
{/if}
{#if $events_sess.pres_mgmt.show_report__recent_files && event_file_id_random_li?.length > 0}
<Comp_event_file_obj_tbl
bind:event_file_id_random_li={event_file_id_random_li}
show_location_fields={true}
show_presenter_fields={true}
show_presentation_fields={true}
show_session_fields={true}
>
</Comp_event_file_obj_tbl>
{/if}
<!-- {#if $events_slct.event_presenter_obj_li?.length == event_presenter_id_random_li?.length}