Work on auto reload and related single property updates. Also bug fix for saving searched sessions.

This commit is contained in:
Scott Idem
2025-09-30 12:05:55 -04:00
parent 53a03f971f
commit 99fe486842
6 changed files with 186 additions and 13 deletions

View File

@@ -298,7 +298,7 @@ async function handle_search__event_session(
search_delay += 50+random_delay;
}
// log_lvl = 1;
log_lvl = 1;
let count = 0;
let request_loop = setInterval(() => {

View File

@@ -9,6 +9,7 @@ interface Props {
lq__event_session_obj_li: any;
hide__session_location?: boolean;
hide__session_poc?: boolean;
hide__admin?: boolean;
show__launcher_link?: boolean;
show__launcher_link_legacy?: boolean;
show__location_link?: boolean;
@@ -24,6 +25,7 @@ let {
lq__event_session_obj_li,
hide__session_location = false,
hide__session_poc = false,
hide__admin = false,
show__launcher_link = false,
show__launcher_link_legacy = false,
show__location_link = false,
@@ -57,7 +59,7 @@ import { events_func } from '$lib/ae_events_functions';
// }
// Variables
// let ae_promises: key_val = {};
let ae_promises: key_val = {};
let ae_tmp: key_val = $state({});
let ae_triggers: key_val = $state({});
let trigger_reload_session_id: string = $state('');
@@ -148,10 +150,19 @@ let trigger_reload_session_id: string = $state('');
</th>
<th
class:hidden={hide__session_location}
>Location</th>
>
Location
</th>
<th
class:hidden={hide__session_poc}
>POC</th>
>
POC
</th>
<th
class:hidden={ !$ae_loc.edit_mode || !$ae_loc.adv_mode || hide__admin }
>
Admin
</th>
</tr>
</thead>
<tbody>
@@ -306,7 +317,6 @@ let trigger_reload_session_id: string = $state('');
trigger_patch={ae_triggers.update_location}
object_type={'event_session'}
object_id={session_obj?.event_session_id_random}
object_reload={true}
@@ -326,6 +336,7 @@ let trigger_reload_session_id: string = $state('');
outline_element={false}
display_block={false}
display_absolute_edit={true}
class_li={'m-1'}
>
@@ -580,6 +591,139 @@ let trigger_reload_session_id: string = $state('');
</span> <!-- flex flex-col items-center md:flex-row md:items-start -->
</td>
<td
class:hidden={ !$ae_loc.edit_mode || !$ae_loc.adv_mode || hide__admin }
>
<!-- Hide session from all lists: session_obj.hide -->
<!-- <Element_ae_crud_v2
api_cfg={$ae_api}
trigger_patch={ae_triggers.update_session_hide}
object_type={'event_session'}
object_id={session_obj?.event_session_id_random}
object_reload={true}
field_name={'hide'}
field_type={'select'}
current_field_value={session_obj?.hide}
allow_null={true}
select_option_kv={{null:'NULL', false:'Show', true:'Hide'}}
hide_element={!$ae_loc.edit_mode}
hide_edit_btn={false}
outline_element={false}
display_block={false}
display_absolute_edit={true}
class_li={'m-1'}
>
{#if session_obj?.hide}
<span class="" title="This session is hidden from all lists.">
<span class="fas fa-eye-slash mx-1"></span>
Hidden
</span>
{:else}
<span class="" title="This session is visible in all lists.">
<span class="fas fa-eye mx-1"></span>
Visible
</span>
{/if}
</Element_ae_crud_v2> -->
<button
type="button"
onclick={() => {
console.log('Toggle hide from all lists for the session.');
let new_hide_value = !session_obj?.hide;
console.log('New hide value:', new_hide_value);
ae_promises.api_update__ae_obj = core_func.update_ae_obj_id_crud_v2({
api_cfg: $ae_api,
object_type: 'event_session',
object_id: session_obj?.event_session_id_random,
object_reload: true,
field_name: 'hide',
new_field_value: new_hide_value,
log_lvl: 1
})
.then(function (results) {
})
.finally(function () {
});
}}
class="
btn btn-icon
text-xs
m-0 px-0.5
preset-tonal-secondary hover:preset-filled-secondary-500
preset-outlined-secondary-100-900 hover:preset-outlined-secondary-600-400
opacity-50 hover:opacity-100
transition-all
"
title={session_obj?.hide ? 'Show in all lists' : 'Hide from all lists'}
>
{#if session_obj?.hide}
<span class="fas fa-eye-slash m-0.75"></span>
{:else}
<span class="fas fa-eye m-0.75"></span>
{/if}
<span class="hidden">Toggle Hide</span>
</button>
<!-- group-hover:inline -->
<!-- Hide from Event Launcher: session_obj.hide_event_launcher -->
<button
type="button"
onclick={() => {
console.log('Toggle hide from event launcher for the session.');
let new_hide_event_launcher_value = !session_obj?.hide_event_launcher;
console.log('New hide_event_launcher value:', new_hide_event_launcher_value);
ae_promises.api_update__ae_obj = core_func.update_ae_obj_id_crud_v2({
api_cfg: $ae_api,
object_type: 'event_session',
object_id: session_obj?.event_session_id_random,
object_reload: true,
field_name: 'hide_event_launcher',
new_field_value: new_hide_event_launcher_value,
log_lvl: 1
})
.then(function (results) {
})
.finally(function () {
});
}}
class="
btn btn-icon
text-xs
m-0 px-0.5
preset-tonal-secondary hover:preset-filled-secondary-500
preset-outlined-secondary-100-900 hover:preset-outlined-secondary-600-400
opacity-50 hover:opacity-100
transition-all
"
title={session_obj?.hide_event_launcher ? 'Show in event launcher' : 'Hide from event launcher'}
>
<!-- <Rocket /> -->
{#if session_obj?.hide_event_launcher}
<span class="fas fa-ban m-0.75"></span>
{:else}
<span class="fas fa-paper-plane m-0.75"></span>
<!-- <span class="fas fa-rocket m-0.75"></span> -->
{/if}
</button>
</td>
</tr>
{/each}
</tbody>

View File

@@ -478,9 +478,9 @@ export let hide: boolean = true;
{/if}
<div class="flex flex-row gap-1 items-center justify-evenly">
{#if $ae_loc.trusted_access}
{#if $ae_loc.edit_mode}
<div class="flex flex-row flex-wrap gap-1 items-center justify-evenly">
{#if $ae_loc?.trusted_access}
{#if $ae_loc?.edit_mode}
<button
type="button"
on:click={() => {
@@ -505,6 +505,32 @@ export let hide: boolean = true;
Edit Mode?
</button>
{/if}
{#if $ae_loc?.adv_mode}
<button
type="button"
on:click={() => {
$ae_loc.adv_mode = false;
}}
class="btn btn-sm w-full ae_btn_warning"
>
<!-- <span class="fas fa-toggle-on m-1"></span> -->
<span class="fas fa-magic m-1"></span>
Advanced Mode On
</button>
{:else}
<button
type="button"
on:click={() => {
$ae_loc.adv_mode = true;
}}
class="btn btn-sm w-full ae_btn_warning_outlined"
>
<span class="fas fa-toggle-off m-1"></span>
<!-- <span class="fas fa-edit m-1"></span> -->
Advanced Mode?
</button>
{/if}
{/if}
</div>