Work on the new session POC functions and permissions. General code clean up and bug fixes.
This commit is contained in:
@@ -58,54 +58,6 @@ $: if ($lq__event_obj?.mod_pres_mgmt_json) {
|
||||
pres_mgmt_cfg_local: $events_loc.pres_mgmt,
|
||||
log_lvl: log_lvl,
|
||||
});
|
||||
// if (log_lvl) {
|
||||
// console.log(`*** Event Pres Mgmt JSON *** pres_mgmt_cfg_local`, $events_loc.pres_mgmt);
|
||||
// }
|
||||
|
||||
// // Locking the config is targeted at the trusted staff level and below. It is more or less ignored at the global manager and super levels. It may be enforced at the staff admin level?
|
||||
// $events_loc.pres_mgmt.lock_config = $lq__event_obj?.mod_pres_mgmt_json?.lock_config ?? true; // This disables the sync local config button and options.
|
||||
// if ($events_loc.pres_mgmt.lock_config) {
|
||||
// // This is to forcibly sync the local config with the remote config.
|
||||
// $events_loc.pres_mgmt.sync_local_config = $lq__event_obj?.mod_pres_mgmt_json?.sync_local_config ?? true;
|
||||
// } else {
|
||||
// // Do not override the preference for syncing the local config with the remote config.
|
||||
// }
|
||||
|
||||
// // Labels:
|
||||
// $events_loc.pres_mgmt.label__presenter_external_id = $lq__event_obj?.mod_pres_mgmt_json?.label__presenter_external_id ?? 'External ID';
|
||||
|
||||
// $events_loc.pres_mgmt.label__session_poc_type = $lq__event_obj?.mod_pres_mgmt_json?.label__session_poc_type ?? 'poc';
|
||||
// $events_loc.pres_mgmt.label__session_poc_name = $lq__event_obj?.mod_pres_mgmt_json?.label__session_poc_name ?? 'Point of Contact';
|
||||
|
||||
// // Hide content:
|
||||
// $events_loc.pres_mgmt.hide__presentation_code = $lq__event_obj?.mod_pres_mgmt_json?.hide__presentation_code ?? false;
|
||||
|
||||
// $events_loc.pres_mgmt.hide__presenter_code = $lq__event_obj?.mod_pres_mgmt_json?.hide__presenter_code ?? false;
|
||||
// $events_loc.pres_mgmt.hide__presenter_biography = $lq__event_obj?.mod_pres_mgmt_json?.hide__presenter_biography ?? false;
|
||||
|
||||
// $events_loc.pres_mgmt.hide__session_code = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_code ?? false;
|
||||
// $events_loc.pres_mgmt.hide__session_description = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_description ?? false;
|
||||
// $events_loc.pres_mgmt.hide__session_location = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_location ?? false;
|
||||
|
||||
// $events_loc.pres_mgmt.hide__session_poc = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_poc ?? false;
|
||||
// $events_loc.pres_mgmt.hide__session_poc_profile = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_poc_profile ?? false; // This should still allow the POC name to be shown.
|
||||
// $events_loc.pres_mgmt.hide__session_poc_biography = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_poc_biography ?? false; // New and in progress
|
||||
// $events_loc.pres_mgmt.hide__session_poc_profile_pic = $lq__event_obj?.mod_pres_mgmt_json?.hide__session_poc_profile_pic ?? false; // New and in progress
|
||||
|
||||
// // $events_loc.pres_mgmt.hide__report_kv = $lq__event_obj?.mod_pres_mgmt_json?.hide__report_kv ?? null;
|
||||
|
||||
// // $events_loc.pres_mgmt.limit__navigation = $lq__event_obj?.mod_pres_mgmt_json?.limit__navigation ?? false;
|
||||
// // $events_loc.pres_mgmt.limit__options = $lq__event_obj?.mod_pres_mgmt_json?.limit__options ?? false;
|
||||
|
||||
// // Required fields or options (agreements):
|
||||
// $events_loc.pres_mgmt.require__presenter_agree = $lq__event_obj?.mod_pres_mgmt_json?.require__presenter_agree ?? false; // In use
|
||||
// $events_loc.pres_mgmt.session__require_agree = $lq__event_obj?.mod_pres_mgmt_json?.session__require_agree ?? false; // New and in progress
|
||||
|
||||
// // Show content:
|
||||
// $events_loc.pres_mgmt.show__email_access_link = $lq__event_obj?.mod_pres_mgmt_json?.show__email_access_link ?? false;
|
||||
// $events_loc.pres_mgmt.show__launcher_link = $lq__event_obj?.mod_pres_mgmt_json?.show__launcher_link ?? false;
|
||||
// $events_loc.pres_mgmt.show__launcher_link_legacy = $lq__event_obj?.mod_pres_mgmt_json?.show__launcher_link_legacy ?? false;
|
||||
// // $events_loc.pres_mgmt.show__navigation = $lq__event_obj?.mod_pres_mgmt_json?.show__navigation ?? false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -137,6 +137,86 @@ async function handle_search__event_file(
|
||||
|
||||
}
|
||||
|
||||
async function handle_search__event_session(
|
||||
{
|
||||
poc_agree = null,
|
||||
ft_search_str = '',
|
||||
lk_search_str = '',
|
||||
params = {
|
||||
'qry__enabled': $events_loc.pres_mgmt.qry_enabled ?? 'enabled',
|
||||
'qry__hidden': $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden',
|
||||
'qry__limit': $events_loc.pres_mgmt.qry_limit__session ?? 150,
|
||||
},
|
||||
try_cache=true,
|
||||
log_lvl=0,
|
||||
}: {
|
||||
poc_agree?: null|boolean,
|
||||
ft_search_str?: string,
|
||||
lk_search_str?: string,
|
||||
params?: key_val,
|
||||
try_cache?: boolean,
|
||||
log_lvl?: number,
|
||||
}
|
||||
) {
|
||||
if (log_lvl) {
|
||||
console.log('handle_search__event_session()');
|
||||
}
|
||||
|
||||
$events_sess.pres_mgmt.status_qry__search = 'loading';
|
||||
$events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt.show_report] = 'loading';
|
||||
|
||||
ae_promises.handle_search__event_session = events_func.search__event_session({
|
||||
api_cfg: $ae_api,
|
||||
event_id: $events_slct.event_id,
|
||||
poc_agree: poc_agree,
|
||||
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: log_lvl,
|
||||
})
|
||||
.then(function (search_results) {
|
||||
// Processing the results from the search.
|
||||
$events_sess.pres_mgmt.status_qry__search = 'processing';
|
||||
$events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt.show_report] = 'processing';
|
||||
$events_slct.event_session_obj_li = search_results;
|
||||
console.log(search_results);
|
||||
// $events_sess.pres_mgmt.status_qry__search = 'done';
|
||||
})
|
||||
.finally(() => {
|
||||
if (log_lvl) {
|
||||
console.log('API query done. Pulling out the event_session_id_random values.');
|
||||
}
|
||||
// console.log(`TEST search: ${$lq_kv__event_session_obj_li}`);
|
||||
|
||||
event_session_id_random_li = [];
|
||||
|
||||
// We need to loop through the array of objects and get the event_session_id_random from each object a new list of event_session_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.
|
||||
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);
|
||||
}
|
||||
}
|
||||
event_session_id_random_li = tmp_li;
|
||||
|
||||
// event_session_id_random_li = $events_slct.event_session_obj_li.map(session_obj => session_obj.event_session_id_random);
|
||||
|
||||
// Finally done with the search.
|
||||
$events_sess.pres_mgmt.status_qry__search = 'done';
|
||||
$events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt.show_report] = 'done';
|
||||
|
||||
if (log_lvl > 1) {
|
||||
console.log(`TEST SEARCH - event_session_id_random_li:`, event_session_id_random_li);
|
||||
// console.log(`TEST SEARCH - search live query: ${$lq_kv__event_session_obj_li}`);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
async function handle_search__event_presenter(
|
||||
{
|
||||
agree = null,
|
||||
@@ -162,7 +242,9 @@ async function handle_search__event_presenter(
|
||||
log_lvl?: number,
|
||||
}
|
||||
) {
|
||||
console.log('handle_search__event_presenter()');
|
||||
if (log_lvl) {
|
||||
console.log('handle_search__event_presenter()');
|
||||
}
|
||||
|
||||
$events_sess.pres_mgmt.status_qry__search = 'loading';
|
||||
$events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt.show_report] = 'loading';
|
||||
@@ -348,6 +430,29 @@ 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">
|
||||
|
||||
<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,
|
||||
});
|
||||
$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 Agreed
|
||||
</button>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
disabled={!$ae_loc.trusted_access}
|
||||
@@ -466,6 +571,16 @@ async function handle_qry__event_session(
|
||||
{/if}
|
||||
{/await} -->
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<Comp_event_session_obj_tbl
|
||||
bind:event_session_id_random_li={event_session_id_random_li}
|
||||
>
|
||||
</Comp_event_session_obj_tbl>
|
||||
{/if}
|
||||
|
||||
<!-- Show presenters that have agreed -->
|
||||
{#if $events_sess.pres_mgmt.show_report == 'presenters_agree' && event_presenter_id_random_li}
|
||||
<!-- <div class="overflow-x-auto"> -->
|
||||
|
||||
Reference in New Issue
Block a user