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({
|
await db_save_ae_obj_li__ae_obj({
|
||||||
db_instance: db_events,
|
db_instance: db_events,
|
||||||
table_name: 'presenters',
|
table_name: 'sessions',
|
||||||
obj_li: processed_obj_li,
|
obj_li: processed_obj_li,
|
||||||
properties_to_save: properties_to_save,
|
properties_to_save: properties_to_save,
|
||||||
log_lvl: log_lvl,
|
log_lvl: log_lvl,
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ const ae_app_local_data_defaults: key_val = {
|
|||||||
// debug_menu: false, // Flag show debug menu.
|
// 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.
|
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.
|
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.
|
// 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.
|
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,
|
object_reload: object_reload,
|
||||||
field_name: field_name,
|
field_name: field_name,
|
||||||
new_field_value: new_field_value,
|
new_field_value: new_field_value,
|
||||||
log_lvl: 1
|
log_lvl: log_lvl
|
||||||
})
|
})
|
||||||
.then(function (results) {
|
.then(function (results) {
|
||||||
// console.log('Field PATCH Promise', results);
|
// console.log('Field PATCH Promise', results);
|
||||||
@@ -235,8 +235,6 @@ async function handle_obj_field_patch(new_field_value: any) {
|
|||||||
font-normal
|
font-normal
|
||||||
transition-all duration-300 ease-in-out
|
transition-all duration-300 ease-in-out
|
||||||
relative
|
relative
|
||||||
z-20
|
|
||||||
|
|
||||||
"
|
"
|
||||||
class:hidden={hide_element}
|
class:hidden={hide_element}
|
||||||
class:block={display_block}
|
class:block={display_block}
|
||||||
@@ -321,6 +319,10 @@ async function handle_obj_field_patch(new_field_value: any) {
|
|||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
<span>
|
||||||
|
New value: {new_field_value}
|
||||||
|
</span>
|
||||||
|
|
||||||
<span
|
<span
|
||||||
class="field_value
|
class="field_value
|
||||||
grow
|
grow
|
||||||
@@ -348,7 +350,7 @@ async function handle_obj_field_patch(new_field_value: any) {
|
|||||||
<option value="">-- not set --</option>
|
<option value="">-- not set --</option>
|
||||||
{:else if select_option_kv && Object.keys(select_option_kv).length > 0}
|
{:else if select_option_kv && Object.keys(select_option_kv).length > 0}
|
||||||
{#each Object.keys(select_option_kv) as option}
|
{#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}
|
{/each}
|
||||||
{:else}
|
{:else}
|
||||||
<option value="">-- no list --</option>
|
<option value="">-- no list --</option>
|
||||||
|
|||||||
@@ -298,7 +298,7 @@ async function handle_search__event_session(
|
|||||||
search_delay += 50+random_delay;
|
search_delay += 50+random_delay;
|
||||||
}
|
}
|
||||||
|
|
||||||
// log_lvl = 1;
|
log_lvl = 1;
|
||||||
|
|
||||||
let count = 0;
|
let count = 0;
|
||||||
let request_loop = setInterval(() => {
|
let request_loop = setInterval(() => {
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ interface Props {
|
|||||||
lq__event_session_obj_li: any;
|
lq__event_session_obj_li: any;
|
||||||
hide__session_location?: boolean;
|
hide__session_location?: boolean;
|
||||||
hide__session_poc?: boolean;
|
hide__session_poc?: boolean;
|
||||||
|
hide__admin?: boolean;
|
||||||
show__launcher_link?: boolean;
|
show__launcher_link?: boolean;
|
||||||
show__launcher_link_legacy?: boolean;
|
show__launcher_link_legacy?: boolean;
|
||||||
show__location_link?: boolean;
|
show__location_link?: boolean;
|
||||||
@@ -24,6 +25,7 @@ let {
|
|||||||
lq__event_session_obj_li,
|
lq__event_session_obj_li,
|
||||||
hide__session_location = false,
|
hide__session_location = false,
|
||||||
hide__session_poc = false,
|
hide__session_poc = false,
|
||||||
|
hide__admin = false,
|
||||||
show__launcher_link = false,
|
show__launcher_link = false,
|
||||||
show__launcher_link_legacy = false,
|
show__launcher_link_legacy = false,
|
||||||
show__location_link = false,
|
show__location_link = false,
|
||||||
@@ -57,7 +59,7 @@ import { events_func } from '$lib/ae_events_functions';
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
// let ae_promises: key_val = {};
|
let ae_promises: key_val = {};
|
||||||
let ae_tmp: key_val = $state({});
|
let ae_tmp: key_val = $state({});
|
||||||
let ae_triggers: key_val = $state({});
|
let ae_triggers: key_val = $state({});
|
||||||
let trigger_reload_session_id: string = $state('');
|
let trigger_reload_session_id: string = $state('');
|
||||||
@@ -148,10 +150,19 @@ let trigger_reload_session_id: string = $state('');
|
|||||||
</th>
|
</th>
|
||||||
<th
|
<th
|
||||||
class:hidden={hide__session_location}
|
class:hidden={hide__session_location}
|
||||||
>Location</th>
|
>
|
||||||
|
Location
|
||||||
|
</th>
|
||||||
<th
|
<th
|
||||||
class:hidden={hide__session_poc}
|
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>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@@ -306,7 +317,6 @@ let trigger_reload_session_id: string = $state('');
|
|||||||
|
|
||||||
trigger_patch={ae_triggers.update_location}
|
trigger_patch={ae_triggers.update_location}
|
||||||
|
|
||||||
|
|
||||||
object_type={'event_session'}
|
object_type={'event_session'}
|
||||||
object_id={session_obj?.event_session_id_random}
|
object_id={session_obj?.event_session_id_random}
|
||||||
object_reload={true}
|
object_reload={true}
|
||||||
@@ -326,6 +336,7 @@ let trigger_reload_session_id: string = $state('');
|
|||||||
outline_element={false}
|
outline_element={false}
|
||||||
display_block={false}
|
display_block={false}
|
||||||
display_absolute_edit={true}
|
display_absolute_edit={true}
|
||||||
|
|
||||||
class_li={'m-1'}
|
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 -->
|
</span> <!-- flex flex-col items-center md:flex-row md:items-start -->
|
||||||
</td>
|
</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>
|
</tr>
|
||||||
{/each}
|
{/each}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
@@ -478,9 +478,9 @@ export let hide: boolean = true;
|
|||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
|
||||||
<div class="flex flex-row gap-1 items-center justify-evenly">
|
<div class="flex flex-row flex-wrap gap-1 items-center justify-evenly">
|
||||||
{#if $ae_loc.trusted_access}
|
{#if $ae_loc?.trusted_access}
|
||||||
{#if $ae_loc.edit_mode}
|
{#if $ae_loc?.edit_mode}
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
@@ -505,6 +505,32 @@ export let hide: boolean = true;
|
|||||||
Edit Mode?
|
Edit Mode?
|
||||||
</button>
|
</button>
|
||||||
{/if}
|
{/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}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user