Reports can set max count. Bug fixes. Clean up.

This commit is contained in:
Scott Idem
2024-07-17 17:08:09 -04:00
parent 625169a321
commit 064bba3d62
7 changed files with 189 additions and 37 deletions

View File

@@ -14,6 +14,7 @@ export let container_class_li: string|Array<string> = [];
export let event_file_id_random_li: Array<string> = [''];
export let allow_basic: boolean = false;
export let allow_moderator: boolean = false;
// export let max_records: number = 100;
export let show_location_fields: boolean = false;
export let show_presentation_fields: boolean = false;
export let show_presenter_fields: boolean = false;

View File

@@ -420,7 +420,10 @@ async function handle_search__event_session(
<span class="fas fa-home mx-1"></span>
X
</a> -->
<a href="/events_pres_mgmt/event/{$lq__event_obj?.event_id_random}/reports" class="{ae_snip.classes__events_pres_mgmt_menu__button}">
<a
href="/events_pres_mgmt/event/{$lq__event_obj?.event_id_random}/reports" class="{ae_snip.classes__events_pres_mgmt_menu__button}"
class:hidden={!$ae_loc.trusted_access}
>
<span class="fas fa-chart-line mx-1"></span>
Pres Mgmt Reports
</a>

View File

@@ -1,6 +1,7 @@
<script lang="ts">
/** @type {import('./$types').PageData} */
export let data: any;
let log_lvl = 0;
// console.log(`ae_events_pres_mgmt event [slug] +page.svelte data:`, data);
import { onMount } from 'svelte';
@@ -66,9 +67,9 @@ async function handle_search__event_file(
params = {
'qry__enabled': 'enabled',
'qry__hidden': 'not_hidden',
'qry__limit': 75,},
'qry__limit': 35,},
try_cache=false,
log_lvl=1,
log_lvl=0,
}: {
api_cfg: any,
event_id: string,
@@ -93,7 +94,7 @@ async function handle_search__event_file(
// external_event_id: $events_loc.pres_mgmt.default__external_registration_id,
params: params,
try_cache: try_cache,
log_lvl: 0,
log_lvl: log_lvl,
})
.then(function (search_results) {
// Processing the results from the search.
@@ -152,6 +153,7 @@ async function handle_search__event_presenter(
api_cfg,
event_id,
agree = null,
biography = null,
ft_search_str = '',
lk_search_str = '',
search_delay = 0,
@@ -161,11 +163,12 @@ async function handle_search__event_presenter(
'qry__hidden': 'not_hidden',
'qry__limit': 200,},
try_cache=false,
log_lvl=1,
log_lvl=0,
}: {
api_cfg: any,
event_id: string,
agree?: null|boolean,
biography?: null|boolean,
ft_search_str?: string,
lk_search_str?: string,
search_delay?: number, // In milliseconds
@@ -183,6 +186,7 @@ async function handle_search__event_presenter(
api_cfg: $ae_api,
event_id: $events_slct.event_id,
agree: agree,
biography: biography,
fulltext_search_qry_str: ft_search_str,
ft_presenter_search_qry_str: null,
like_search_qry_str: lk_search_str,
@@ -191,7 +195,7 @@ async function handle_search__event_presenter(
// external_event_id: $events_loc.pres_mgmt.default__external_registration_id,
params: params,
try_cache: try_cache,
log_lvl: 0,
log_lvl: log_lvl,
})
.then(function (search_results) {
// Processing the results from the search.
@@ -354,11 +358,12 @@ async function handle_search__event_presenter(
params: {
'qry__enabled': 'enabled',
'qry__hidden': 'not_hidden',
'qry__limit': 35,},
'qry__limit': $events_sess.pres_mgmt.qry_max__presenters,},
try_cache: false,
log_lvl: 1,
log_lvl: log_lvl,
});
$events_sess.pres_mgmt.show_report__presenters_agree = !$events_sess.pres_mgmt.show_report__presenters_agree;
$events_sess.pres_mgmt.show_report__presenters_biography = false;
$events_sess.pres_mgmt.show_report__recent_files = false;
}}
class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all mx-1"
@@ -373,7 +378,38 @@ async function handle_search__event_presenter(
<button
type="button"
disabled={!$ae_loc.administrator_access}
disabled={!$ae_loc.trusted_access}
on:click={() => {
handle_search__event_presenter({
api_cfg: $ae_api,
event_id: $events_slct.event_id,
biography: true,
ft_search_str: '',
lk_search_str: '',
params: {
'qry__enabled': 'enabled',
'qry__hidden': 'not_hidden',
'qry__limit': $events_sess.pres_mgmt.qry_max__presenters,},
try_cache: false,
log_lvl: log_lvl,
});
$events_sess.pres_mgmt.show_report__presenters_biography = !$events_sess.pres_mgmt.show_report__presenters_biography;
$events_sess.pres_mgmt.show_report__presenters_agree = false;
$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="NOT READY YET: Show presenters with bios."
>
{#if $events_sess.pres_mgmt.status_rpt__presenters_biography == 'loading'}
<span class="fas fa-spinner fa-spin"></span>
{/if}
<span class="fas fa-book mx-1"></span>
Presenter Bios
</button>
<button
type="button"
disabled={!$ae_loc.trusted_access}
on:click={() => {
handle_search__event_file({
api_cfg: $ae_api,
@@ -384,15 +420,16 @@ async function handle_search__event_presenter(
params: {
'qry__enabled': 'enabled',
'qry__hidden': 'not_hidden',
'qry__limit': 35,},
'qry__limit': $events_sess.pres_mgmt.qry_max__files,},
try_cache: false,
log_lvl: 1,
log_lvl: log_lvl,
});
$events_sess.pres_mgmt.show_report__presenters_agree = false;
$events_sess.pres_mgmt.show_report__presenters_biography = 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."
title="Show recent file uploads."
>
{#if $events_sess.pres_mgmt.status_rpt__presenters_agree == 'loading'}
<span class="fas fa-spinner fa-spin"></span>
@@ -401,7 +438,6 @@ async function handle_search__event_presenter(
Recent File Uploads
</button>
</div>
@@ -421,21 +457,111 @@ async function handle_search__event_presenter(
{/if}
{/await} -->
<!-- Show presenters for this presentation -->
<!-- Show presenters that have agreed -->
{#if $events_sess.pres_mgmt.show_report__presenters_agree && event_presenter_id_random_li?.length > 0}
<!-- <div class="overflow-x-auto"> -->
<div class="">
<h3 class="h4 text-center">Presenters Agreed</h3>
<label
class="text-sm"
for="qry_max__presenters">Max results:
<input
type="number"
id="qry_max__presenters"
bind:value={$events_sess.pres_mgmt.qry_max__presenters}
on:change={() => {
handle_search__event_presenter({
api_cfg: $ae_api,
event_id: $events_slct.event_id,
agree: true,
biography: null,
ft_search_str: '',
lk_search_str: '',
params: {
'qry__enabled': 'enabled',
'qry__hidden': 'not_hidden',
'qry__limit': $events_sess.pres_mgmt.qry_max__presenters,},
try_cache: false,
log_lvl: log_lvl,
});
}}
class="input max-w-16 text-sm"
placeholder="Max number of presenters to show"
>
</label>
<Comp_event_presenter_obj_tbl
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}
<!-- Show presenters with bios -->
{#if $events_sess.pres_mgmt.show_report__presenters_biography && event_presenter_id_random_li?.length > 0}
<h3 class="h4 text-center">Presenters with Bios</h3>
<label
class="text-sm"
for="qry_max__presenters">Max results:
<input
type="number"
bind:value={$events_sess.pres_mgmt.qry_max__presenters}
on:change={() => {
handle_search__event_presenter({
api_cfg: $ae_api,
event_id: $events_slct.event_id,
agree: null,
biography: true,
ft_search_str: '',
lk_search_str: '',
params: {
'qry__enabled': 'enabled',
'qry__hidden': 'not_hidden',
'qry__limit': $events_sess.pres_mgmt.qry_max__presenters,},
try_cache: false,
log_lvl: log_lvl,
});
}}
class="input max-w-16 text-sm"
placeholder="Max number of presenters to show"
>
</label>
<Comp_event_presenter_obj_tbl
bind:event_presenter_id_random_li={event_presenter_id_random_li}
show_presentation_fields={true}
show_session_fields={true}
>
</Comp_event_presenter_obj_tbl>
{/if}
<!-- Show recently uploaded files -->
{#if $events_sess.pres_mgmt.show_report__recent_files && event_file_id_random_li?.length > 0}
<h3 class="h4 text-center">Recent File Uploads</h3>
<label
class="text-sm"
for="qry_max__files">Max results:
<input
type="number"
id="qry_max__files"
bind:value={$events_sess.pres_mgmt.qry_max__files}
on:change={() => {
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': $events_sess.pres_mgmt.qry_max__files,},
try_cache: false,
log_lvl: log_lvl,
});
}}
class="input max-w-16 text-sm"
placeholder="Max number of files to show"
>
</label>
<Comp_event_file_obj_tbl
bind:event_file_id_random_li={event_file_id_random_li}
show_location_fields={true}

View File

@@ -24,7 +24,12 @@ export async function load({ parent }) { // route
ae_acct.slct.event_presenter_id = event_presenter_id;
let load_event_presenter_obj = events_func.handle_load_ae_obj_id__event_presenter({api_cfg: ae_acct.api, event_presenter_id: event_presenter_id, try_cache: false});
let load_event_presenter_obj = events_func.handle_load_ae_obj_id__event_presenter({
api_cfg: ae_acct.api,
event_presenter_id: event_presenter_id,
try_cache: false,
log_lvl: log_lvl
});
ae_acct.slct.event_presenter_obj = await load_event_presenter_obj;

View File

@@ -147,7 +147,7 @@ async function handle_input_upload_files(input_upload_files) {
params: params,
form_data: form_data,
task_id: link_to_id,
log_lvl: 1
log_lvl: 0
})
.then(async function (result) {
// NOTE: The /hosted_file/upload_files endpoint will always return a list of successful files uploaded. In this case we are only uploading one file and expecting a list of one item.
@@ -364,7 +364,7 @@ async function handle_delete__event_file({event_file_id}) {
class_li={''}
on:ae_crud_updated={e => {
console.log(`ae_crud_updated:`, e.detail);
events_func.handle_load_ae_obj_id__event_presentation({api_cfg: $ae_api, event_presentation_id: $lq__event_presentation_obj?.event_presentation_id_random, log_lvl: 1});
events_func.handle_load_ae_obj_id__event_presentation({api_cfg: $ae_api, event_presentation_id: $lq__event_presentation_obj?.event_presentation_id_random, log_lvl: 0});
}}
>
<span class="text-md font-normal">
@@ -391,7 +391,7 @@ async function handle_delete__event_file({event_file_id}) {
<li
class:hidden={!$ae_loc.trusted_access && !$ae_loc.edit_mode}
>
<Element_ae_crud
<Element_ae_crud
api_cfg={$ae_api}
object_type={'event_presenter'}
object_id={$lq__event_presenter_obj.event_presenter_id_random}
@@ -408,7 +408,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -449,7 +449,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -476,7 +476,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -507,7 +507,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -542,7 +542,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -578,7 +578,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -621,7 +621,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -652,7 +652,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -683,7 +683,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -726,7 +726,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -758,7 +758,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -809,7 +809,7 @@ async function handle_delete__event_file({event_file_id}) {
on:ae_crud_updated={e => {
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})
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: 0})
.then(function (load_results) {
// Maybe reload page?
// window.location.reload();
@@ -918,7 +918,7 @@ async function handle_delete__event_file({event_file_id}) {
api_cfg: $ae_api,
event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random,
data_kv: event_presenter_data,
log_lvl: 1,
log_lvl: 0,
})
.then(function (update_result) {
// console.log(update_result);
@@ -961,7 +961,7 @@ async function handle_delete__event_file({event_file_id}) {
api_cfg: $ae_api,
// user_id: $ae_loc.user_id,
data_kv: person_data,
log_lvl: 1,
log_lvl: 0,
})
console.log('new_person_obj:', new_person_obj);
@@ -971,7 +971,7 @@ async function handle_delete__event_file({event_file_id}) {
api_cfg: $ae_api,
event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random,
data_kv: {person_id_random: new_person_obj.person_id_random},
log_lvl: 1,
log_lvl: 0,
})
}}
class:hidden={!$ae_loc.edit_mode}
@@ -1030,7 +1030,7 @@ async function handle_delete__event_file({event_file_id}) {
api_cfg: $ae_api,
event_presenter_id: $lq__event_presenter_obj.event_presenter_id_random,
data_kv: event_presenter_data,
log_lvl: 1,
log_lvl: 0,
})
.then(function (update_result) {
// console.log(update_result);