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

@@ -28,7 +28,7 @@ export async function handle_load_ae_obj_id__event_presenter(
api_cfg: api_cfg,
obj_type: 'event_presenter',
obj_id: event_presenter_id, // NOTE: This is the FQDN, not normally the ID.
use_alt_table: false, // NOTE: This will use the table_name_alt value instead of the table_name value in the API config.
use_alt_table: true, // NOTE: This will use the table_name_alt value instead of the table_name value in the API config.
use_alt_base: false, // NOTE: This will use the base_name_alt value instead of the base_name value
params: params,
log_lvl: log_lvl
@@ -227,6 +227,7 @@ export async function handle_search__event_presenter(
api_cfg,
event_id,
agree = null,
biography = null,
fulltext_search_qry_str,
ft_presenter_search_qry_str,
like_search_qry_str = null,
@@ -239,6 +240,7 @@ export async function handle_search__event_presenter(
api_cfg: any,
event_id: any,
agree?: null|boolean,
biography?: null|boolean,
fulltext_search_qry_str?: null|string,
ft_presenter_search_qry_str?: null|string,
like_search_qry_str?: null|string,
@@ -305,6 +307,10 @@ export async function handle_search__event_presenter(
params_json['and_qry']['agree'] = agree;
}
if (biography) {
params_json['and_qry']['biography_check'] = biography;
}
let order_by_li = {'priority': 'DESC', 'sort': 'DESC', 'given_name': 'ASC', 'family_name': 'ASC', 'email': 'ASC', 'updated_on': 'DESC', 'created_on': 'DESC'};
ae_promises.load__event_presenter_obj_li = await api.get_ae_obj_li_for_obj_id_crud({

View File

@@ -286,6 +286,13 @@ let events_session_data_struct: key_val = {
new_upload_list: null,
files_uploading_count: null,
qry_max__sessions: 25,
qry_max__presentations: 25,
qry_max__presenters: 25,
qry_max__files: 25,
show_fields__presentation: true,
show_fields__session: true,
},
// Speakers Management (Collection)
@@ -336,6 +343,7 @@ let events_slct_obj_template: key_val = {
'file_id': null,
'file_obj': {},
'file_obj_li': [],
'event_file_obj': {},
'event_file_obj_li': [],
@@ -350,14 +358,17 @@ let events_slct_obj_template: key_val = {
'presentation_id': null,
'presentation_obj': {},
'presentation_obj_li': [],
'event_presentation_obj': {},
'presenter_id': null,
'presenter_obj': {},
'presenter_obj_li': [],
'event_presenter_obj': {},
'session_id': null,
'session_obj': {},
'session_obj_li': [],
'event_session_obj': {},
'lq__presenter_obj': {}, // Testing passing a LiveQuery object around...
};

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);