Work on auto reload and related single property updates. Also bug fix for saving searched sessions.
This commit is contained in:
@@ -914,7 +914,7 @@ export async function search__event_session(
|
||||
}
|
||||
await db_save_ae_obj_li__ae_obj({
|
||||
db_instance: db_events,
|
||||
table_name: 'presenters',
|
||||
table_name: 'sessions',
|
||||
obj_li: processed_obj_li,
|
||||
properties_to_save: properties_to_save,
|
||||
log_lvl: log_lvl,
|
||||
|
||||
@@ -79,6 +79,7 @@ const ae_app_local_data_defaults: key_val = {
|
||||
// debug_menu: false, // Flag show debug menu.
|
||||
debug_mode: false, // Flag to know if we should be in debug mode and show show debug options.
|
||||
edit_mode: false, // Flag to know if we should be in edit mode and show edit options.
|
||||
adv_mode: false, // Flag to know if we should be in advanced mode and show advanced options.
|
||||
// sys_menu: true, // Flag show system menu.
|
||||
sync_local_config: true, // Flag to know if we should sync local config with the remote API server.
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@ async function handle_obj_field_patch(new_field_value: any) {
|
||||
object_reload: object_reload,
|
||||
field_name: field_name,
|
||||
new_field_value: new_field_value,
|
||||
log_lvl: 1
|
||||
log_lvl: log_lvl
|
||||
})
|
||||
.then(function (results) {
|
||||
// console.log('Field PATCH Promise', results);
|
||||
@@ -235,8 +235,6 @@ async function handle_obj_field_patch(new_field_value: any) {
|
||||
font-normal
|
||||
transition-all duration-300 ease-in-out
|
||||
relative
|
||||
z-20
|
||||
|
||||
"
|
||||
class:hidden={hide_element}
|
||||
class:block={display_block}
|
||||
@@ -321,6 +319,10 @@ async function handle_obj_field_patch(new_field_value: any) {
|
||||
</button>
|
||||
</span>
|
||||
|
||||
<span>
|
||||
New value: {new_field_value}
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="field_value
|
||||
grow
|
||||
@@ -348,7 +350,7 @@ async function handle_obj_field_patch(new_field_value: any) {
|
||||
<option value="">-- not set --</option>
|
||||
{:else if select_option_kv && Object.keys(select_option_kv).length > 0}
|
||||
{#each Object.keys(select_option_kv) as option}
|
||||
<option value={option}>{select_option_kv[option]}</option>
|
||||
<option value={option}>{select_option_kv[option]} {option}</option>
|
||||
{/each}
|
||||
{:else}
|
||||
<option value="">-- no list --</option>
|
||||
|
||||
@@ -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(() => {
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user