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'] = {};
if (agree) {
if (agree === true || agree === false) {
params_json['and_qry']['agree'] = agree;
}

View File

@@ -409,6 +409,8 @@ export async function qry__event_session(
qry_str,
qry_files,
qry_start_datetime, // Example greater than: '2024-10-24'
qry_poc_agree = null,
qry_poc_kv_json,
enabled = 'enabled',
hidden = 'not_hidden',
limit = 50,
@@ -422,6 +424,8 @@ export async function qry__event_session(
qry_str?: string,
qry_files?: null|boolean,
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
hidden?: string, // all, hidden, not_hidden
limit?: number,
@@ -478,6 +482,55 @@ export async function qry__event_session(
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'};
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__limit': $events_loc.pres_mgmt.qry_limit__presenters ?? 200,
},
try_cache=true,
log_lvl=0,
try_cache = true,
log_lvl = 0,
}: {
agree?: 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(
{
qry_files = false,
qry_files = null,
// file_count = false,
// file_count_all = null,
// ft_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',
hidden = $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden',
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_all?: null|number,
// ft_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,
hidden?: string,
limit?: number,
@@ -339,6 +347,8 @@ async function handle_qry__event_session(
// external_event_id: $events_loc.pres_mgmt.default__external_registration_id,
qry_files: qry_files,
qry_start_datetime: null,
qry_poc_agree: qry_poc_agree,
qry_poc_kv_json: qry_poc_kv_json,
enabled: enabled,
hidden: hidden,
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.
if ($events_slct.event_session_obj_li) {
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;
@@ -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">
<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
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,
handle_qry__event_session({
qry_poc_kv_json: true,
qry_poc_bios: true,
});
$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:hidden={!$events_loc.pres_mgmt?.require__session_agree}
title="Show POCs who have agreed to session terms and conditions."
title="Show sessions without POC bios."
>
{#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>
{/if}
<span class="fas fa-check m-1"></span>
Session {$events_loc.pres_mgmt?.label__session_poc_name}s Agreed
<span class="fas fa-book m-1"></span>
Session {$events_loc.pres_mgmt?.label__session_poc_name} Bios
</button>
<button
type="button"
disabled={!$ae_loc.trusted_access}
on:click={() => {
ae_promises.handle_search__event_presenter = handle_search__event_presenter({
agree: true,
ft_search_str: '',
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_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."
>
<!-- {#await ae_promises.handle_search__event_presenter}
<span class="fas fa-spinner fa-spin"></span>
{/await} -->
{#if $events_sess.pres_mgmt?.show_report == 'presenters_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>
Presenters Agreed
</button>
<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_presenter = handle_search__event_presenter({
agree: $events_loc.pres_mgmt.rpt__presenter_agree ?? false,
ft_search_str: '',
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_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."
>
<!-- {#await ae_promises.handle_search__event_presenter}
<span class="fas fa-spinner fa-spin"></span>
{/await} -->
{#if $events_sess.pres_mgmt?.show_report == 'presenters_agree' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
<span class="fas fa-spinner fa-spin"></span>
{/if}
{#if $events_loc.pres_mgmt.rpt__presenter_agree}
<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
type="button"
@@ -571,7 +667,19 @@ async function handle_qry__event_session(
<!-- Show session POC that have agreed -->
{#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
link_to_type="event"
@@ -585,7 +693,7 @@ async function handle_qry__event_session(
<!-- Show presenters that have agreed -->
{#if $events_sess.pres_mgmt.show_report == 'presenters_agree' && event_presenter_id_random_li}
<!-- <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
bind:event_presenter_id_random_li={event_presenter_id_random_li}