Improving the reports

This commit is contained in:
Scott Idem
2024-10-15 11:11:33 -04:00
parent 7450edfdcf
commit 79a74db4ae
3 changed files with 208 additions and 47 deletions

View File

@@ -450,7 +450,7 @@ export async function search__event_presenter(
params_json['and_qry'] = {}; params_json['and_qry'] = {};
if (agree) { if (agree === true || agree === false) {
params_json['and_qry']['agree'] = agree; params_json['and_qry']['agree'] = agree;
} }

View File

@@ -409,6 +409,8 @@ export async function qry__event_session(
qry_str, qry_str,
qry_files, qry_files,
qry_start_datetime, // Example greater than: '2024-10-24' qry_start_datetime, // Example greater than: '2024-10-24'
qry_poc_agree = null,
qry_poc_kv_json,
enabled = 'enabled', enabled = 'enabled',
hidden = 'not_hidden', hidden = 'not_hidden',
limit = 50, limit = 50,
@@ -422,6 +424,8 @@ export async function qry__event_session(
qry_str?: string, qry_str?: string,
qry_files?: null|boolean, qry_files?: null|boolean,
qry_start_datetime?: null|string, // Greater than this datetime qry_start_datetime?: null|string, // Greater than this datetime
qry_poc_agree?: null|boolean,
qry_poc_kv_json?: null|boolean, // Key value pairs for the point of contact
enabled?: string, // all, disabled, enabled enabled?: string, // all, disabled, enabled
hidden?: string, // all, hidden, not_hidden hidden?: string, // all, hidden, not_hidden
limit?: number, limit?: number,
@@ -478,6 +482,55 @@ export async function qry__event_session(
params_json['qry'].push(qry_param); params_json['qry'].push(qry_param);
} }
if (qry_poc_agree === true) {
let qry_param =
{
type: "AND",
field: "poc_agree",
operator: "=",
value: true
};
params_json['qry'].push(qry_param);
} else if (qry_poc_agree === false) {
// let qry_param =
// {
// type: "AND",
// field: "poc_agree",
// operator: "IS",
// value: null
// };
// params_json['qry'].push(qry_param);
let qry_param =
{
type: "AND",
field: "poc_agree",
operator: "=",
value: false
};
params_json['qry'].push(qry_param);
}
if (qry_poc_kv_json === true) {
let qry_param =
{
type: "AND",
field: "poc_kv_json",
operator: "IS NOT",
value: null
};
params_json['qry'].push(qry_param);
} else if (qry_poc_kv_json === false) {
let qry_param =
{
type: "AND",
field: "poc_kv_json",
operator: "IS",
value: null
};
params_json['qry'].push(qry_param);
}
let order_by_li = {'priority': 'DESC', 'sort': 'DESC', 'start_datetime': 'ASC', 'name': 'ASC', 'updated_on': 'DESC', 'created_on': 'DESC'}; let order_by_li = {'priority': 'DESC', 'sort': 'DESC', 'start_datetime': 'ASC', 'name': 'ASC', 'updated_on': 'DESC', 'created_on': 'DESC'};
ae_promises.load__event_session_obj_li = await api.get_ae_obj_li_for_obj_id_crud_v2({ ae_promises.load__event_session_obj_li = await api.get_ae_obj_li_for_obj_id_crud_v2({

View File

@@ -226,8 +226,8 @@ async function handle_search__event_presenter(
'qry__hidden': $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden', 'qry__hidden': $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden',
'qry__limit': $events_loc.pres_mgmt.qry_limit__presenters ?? 200, 'qry__limit': $events_loc.pres_mgmt.qry_limit__presenters ?? 200,
}, },
try_cache=true, try_cache = true,
log_lvl=0, log_lvl = 0,
}: { }: {
agree?: null|boolean, agree?: null|boolean,
biography?: null|boolean, biography?: null|boolean,
@@ -302,23 +302,31 @@ async function handle_search__event_presenter(
}); });
} }
// Updated 2024-10-15
async function handle_qry__event_session( async function handle_qry__event_session(
{ {
qry_files = false, qry_files = null,
// file_count = false, // file_count = false,
// file_count_all = null, // file_count_all = null,
// ft_search_str = '', // ft_search_str = '',
// lk_search_str = '', // lk_search_str = '',
qry_poc_agree = null,
qry_poc_kv_json = null,
qry_poc_bios = null,
enabled = $events_loc.pres_mgmt.qry_enabled ?? 'enabled', enabled = $events_loc.pres_mgmt.qry_enabled ?? 'enabled',
hidden = $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden', hidden = $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden',
limit = $events_loc.pres_mgmt.qry_limit__sessions ?? 150, limit = $events_loc.pres_mgmt.qry_limit__sessions ?? 150,
log_lvl=0, log_lvl = 0,
}: { }: {
qry_files?: boolean, qry_files?: null|boolean,
// file_count?: boolean, // file_count?: boolean,
// file_count_all?: null|number, // file_count_all?: null|number,
// ft_search_str?: string, // ft_search_str?: string,
// lk_search_str?: string, // lk_search_str?: string,
qry_poc_agree?: null|boolean,
qry_poc_kv_json?: null|boolean,
qry_poc_bios?: null|boolean,
enabled?: string, enabled?: string,
hidden?: string, hidden?: string,
limit?: number, limit?: number,
@@ -339,6 +347,8 @@ async function handle_qry__event_session(
// external_event_id: $events_loc.pres_mgmt.default__external_registration_id, // external_event_id: $events_loc.pres_mgmt.default__external_registration_id,
qry_files: qry_files, qry_files: qry_files,
qry_start_datetime: null, qry_start_datetime: null,
qry_poc_agree: qry_poc_agree,
qry_poc_kv_json: qry_poc_kv_json,
enabled: enabled, enabled: enabled,
hidden: hidden, hidden: hidden,
limit: limit, limit: limit,
@@ -366,7 +376,17 @@ async function handle_qry__event_session(
let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery. let tmp_li = []; // This is to prevent the array from constantly updating and triggering the liveQuery.
if ($events_slct.event_session_obj_li) { if ($events_slct.event_session_obj_li) {
for (let i = 0; i < $events_slct.event_session_obj_li.length; i++) { for (let i = 0; i < $events_slct.event_session_obj_li.length; i++) {
tmp_li.push($events_slct.event_session_obj_li[i].event_session_id_random); if (qry_poc_bios && $events_slct.event_session_obj_li[i].poc_kv_json) {
if ($events_slct.event_session_obj_li[i].poc_kv_json['champion']?.biography.length > 1) {
console.log(`Biography for session:`, $events_slct.event_session_obj_li[i]);
tmp_li.push($events_slct.event_session_obj_li[i].event_session_id_random);
} else {
console.log(`No biography for session:`, $events_slct.event_session_obj_li[i]);
}
} else {
// console.log(`Pushing session to array (no biography):`, $events_slct.event_session_obj_li[i]);
tmp_li.push($events_slct.event_session_obj_li[i].event_session_id_random);
}
} }
} }
event_session_id_random_li = tmp_li; event_session_id_random_li = tmp_li;
@@ -428,56 +448,132 @@ async function handle_qry__event_session(
<div class="variant-ghost-success my-2 p-2 rounded-md flex flex-row flex-wrap gap-1 items-center justify-center"> <div class="variant-ghost-success my-2 p-2 rounded-md flex flex-row flex-wrap gap-1 items-center justify-center">
<span class="border border-gray-200 rounded-md p-1">
<button
type="button"
disabled={!$ae_loc.trusted_access}
on:click={() => {
// ae_promises.handle_search__event_session = handle_search__event_session({
// poc_agree: true,
// ft_search_str: '',
// lk_search_str: '',
// log_lvl: log_lvl,
// });
ae_promises.handle_qry__event_session = handle_qry__event_session({
qry_poc_agree: $events_loc.pres_mgmt.rpt__session_poc_agree ?? false,
})
$events_sess.pres_mgmt.show_report = 'sessions_poc_agree';
}}
class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1"
class:hidden={!$events_loc.pres_mgmt?.require__session_agree}
title="Show POCs who have agreed to session terms and conditions."
>
{#if $events_sess.pres_mgmt?.show_report == 'sessions_poc_agree' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
<span class="fas fa-spinner fa-spin"></span>
{/if}
<span class="fas fa-check m-1"></span>
Session {$events_loc.pres_mgmt?.label__session_poc_name}s
{#if $events_loc.pres_mgmt.rpt__session_poc_agree}
Agreed
{:else}
Not Agreed
{/if}
</button>
<button
type="button"
on:click={() => {
$events_loc.pres_mgmt.rpt__session_poc_agree = !$events_loc.pres_mgmt.rpt__session_poc_agree;
ae_promises.handle_qry__event_session = handle_qry__event_session({
qry_poc_agree: $events_loc.pres_mgmt.rpt__session_poc_agree ?? false,
})
$events_sess.pres_mgmt.show_report = 'sessions_poc_agree';
}}
class="btn btn-sm variant-glass-warning hover:variant-ghost-warning transition-all m-1"
>
{#if $events_loc.pres_mgmt.rpt__session_poc_agree}
<span class="fas fa-toggle-on m-1"></span>
Agreed
{:else}
<span class="fas fa-toggle-off m-1"></span>
Not Agreed
{/if}
</button>
</span>
<!-- Sessions without POC bios -->
<button <button
type="button" type="button"
disabled={!$ae_loc.trusted_access} disabled={!$ae_loc.trusted_access}
on:click={() => { on:click={() => {
ae_promises.handle_search__event_session = handle_search__event_session({ handle_qry__event_session({
poc_agree: true, qry_poc_kv_json: true,
ft_search_str: '', qry_poc_bios: true,
lk_search_str: '',
log_lvl: log_lvl,
}); });
$events_sess.pres_mgmt.show_report = 'sessions_poc_agree'; $events_sess.pres_mgmt.show_report = 'session_no_bio';
}} }}
class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1" class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1"
class:hidden={!$events_loc.pres_mgmt?.require__session_agree} title="Show sessions without POC bios."
title="Show POCs who have agreed to session terms and conditions."
> >
{#if $events_sess.pres_mgmt?.show_report == 'sessions_poc_agree' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'} {#if $events_sess.pres_mgmt?.show_report == 'session_no_bio' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
<span class="fas fa-spinner fa-spin"></span> <span class="fas fa-spinner fa-spin"></span>
{/if} {/if}
<span class="fas fa-check m-1"></span> <span class="fas fa-book m-1"></span>
Session {$events_loc.pres_mgmt?.label__session_poc_name}s Agreed Session {$events_loc.pres_mgmt?.label__session_poc_name} Bios
</button> </button>
<button <span class="border border-gray-200 rounded-md p-1">
type="button" <button
disabled={!$ae_loc.trusted_access} type="button"
on:click={() => { disabled={!$ae_loc.trusted_access}
ae_promises.handle_search__event_presenter = handle_search__event_presenter({ on:click={() => {
agree: true, ae_promises.handle_search__event_presenter = handle_search__event_presenter({
ft_search_str: '', agree: $events_loc.pres_mgmt.rpt__presenter_agree ?? false,
lk_search_str: '', ft_search_str: '',
log_lvl: log_lvl, lk_search_str: '',
}); 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_agree; $events_sess.pres_mgmt.show_report = 'presenters_agree';
// $events_sess.pres_mgmt.show_report__presenters_biography = false; // $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; // $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 m-1" }}
title="Show presenters who have agreed to present." class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1"
> title="Show presenters who have agreed to present."
<!-- {#await ae_promises.handle_search__event_presenter} >
<span class="fas fa-spinner fa-spin"></span> <!-- {#await ae_promises.handle_search__event_presenter}
{/await} --> <span class="fas fa-spinner fa-spin"></span>
{#if $events_sess.pres_mgmt?.show_report == 'presenters_agree' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'} {/await} -->
<span class="fas fa-spinner fa-spin"></span> {#if $events_sess.pres_mgmt?.show_report == 'presenters_agree' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
{/if} <span class="fas fa-spinner fa-spin"></span>
<span class="fas fa-check m-1"></span> {/if}
Presenters Agreed {#if $events_loc.pres_mgmt.rpt__presenter_agree}
</button> <span class="fas fa-check m-1"></span>
Agreed
{:else}
<span class="fas fa-times m-1"></span>
Not Agreed
{/if}
Presenters
</button>
<button
type="button"
on:click={() => {
$events_loc.pres_mgmt.rpt__presenter_agree = !$events_loc.pres_mgmt.rpt__presenter_agree;
}}
class="btn btn-sm variant-glass-warning hover:variant-ghost-warning transition-all m-1"
>
{#if $events_loc.pres_mgmt.rpt__presenter_agree}
<!-- <span class="fas fa-check m-1"></span> -->
<span class="fas fa-toggle-on m-1"></span>
Agreed
{:else}
<!-- <span class="fas fa-times m-1"></span> -->
<span class="fas fa-toggle-off m-1"></span>
Not Agreed
{/if}
</button>
</span>
<button <button
type="button" type="button"
@@ -571,7 +667,19 @@ async function handle_qry__event_session(
<!-- Show session POC that have agreed --> <!-- Show session POC that have agreed -->
{#if $events_sess.pres_mgmt.show_report == 'sessions_poc_agree' && event_session_id_random_li} {#if $events_sess.pres_mgmt.show_report == 'sessions_poc_agree' && event_session_id_random_li}
<h3 class="h4 text-center">Sessions POC Agreed</h3> <h3 class="h4 text-center">Sessions POC {#if $events_loc.pres_mgmt.rpt__session_poc_agree}Agreed{:else}Not Agreed{/if}</h3>
<Comp_event_session_obj_tbl
link_to_type="event"
link_to_id={$events_slct.event_id}
bind:event_session_id_random_li={event_session_id_random_li}
log_lvl={1}
>
</Comp_event_session_obj_tbl>
{/if}
{#if $events_sess.pres_mgmt.show_report == 'session_no_bio' && event_session_id_random_li}
<h3 class="h4 text-center">Sessions POC Bios</h3>
<Comp_event_session_obj_tbl <Comp_event_session_obj_tbl
link_to_type="event" link_to_type="event"
@@ -585,7 +693,7 @@ async function handle_qry__event_session(
<!-- Show presenters that have agreed --> <!-- Show presenters that have agreed -->
{#if $events_sess.pres_mgmt.show_report == 'presenters_agree' && event_presenter_id_random_li} {#if $events_sess.pres_mgmt.show_report == 'presenters_agree' && event_presenter_id_random_li}
<!-- <div class="overflow-x-auto"> --> <!-- <div class="overflow-x-auto"> -->
<h3 class="h4 text-center">Presenters Agreed</h3> <h3 class="h4 text-center">Presenters {#if $events_loc.pres_mgmt.rpt__presenter_agree}Agreed{:else}Not Agreed{/if}</h3>
<Comp_event_presenter_obj_tbl <Comp_event_presenter_obj_tbl
bind:event_presenter_id_random_li={event_presenter_id_random_li} bind:event_presenter_id_random_li={event_presenter_id_random_li}