refactor(launcher): standardize helper names and apply batch formatting
- Renamed internal 'preventDefault' to 'prevent_default' in launcher files. - Fixed native 'event.preventDefault()' call in launcher_file_cont.svelte. - Applied batch formatting (printWidth: 80) across the (launcher) module.
This commit is contained in:
@@ -58,9 +58,7 @@
|
||||
// *** Set initial variables
|
||||
let ae_acct = data[$slct.account_id];
|
||||
|
||||
import {
|
||||
online
|
||||
} from 'svelte/reactivity/window';
|
||||
import { online } from 'svelte/reactivity/window';
|
||||
|
||||
$ae_sess.disable_sys_nav = true;
|
||||
$ae_sess.disable_sys_header = true;
|
||||
@@ -80,7 +78,9 @@
|
||||
if (log_lvl) {
|
||||
console.log(`event_id: ${data.params.event_id}`);
|
||||
console.log(`event_location_id: ${data.params.event_location_id}`);
|
||||
console.log(`event_session_id: ${data.url.searchParams.get('session_id')}`);
|
||||
console.log(
|
||||
`event_session_id: ${data.url.searchParams.get('session_id')}`
|
||||
);
|
||||
}
|
||||
$events_slct.event_id = data.params.event_id;
|
||||
$events_slct.event_location_id = data.params.event_location_id;
|
||||
@@ -89,11 +89,19 @@
|
||||
// String-Only ID Vision: Sync the device ID from the native environment
|
||||
const native_dev = $ae_loc.native_device;
|
||||
if (native_dev) {
|
||||
$events_slct.event_device_id = native_dev.event_device_id || native_dev.id || native_dev.event_device_id_random || native_dev.id_random;
|
||||
$events_slct.event_device_id =
|
||||
native_dev.event_device_id ||
|
||||
native_dev.id ||
|
||||
native_dev.event_device_id_random ||
|
||||
native_dev.id_random;
|
||||
}
|
||||
|
||||
$events_slct.event_location_obj_li = ae_acct.slct.event_location_obj_li ?? [''];
|
||||
$events_slct.id_li__event_location = ae_acct.slct.id_li__event_location ?? [''];
|
||||
$events_slct.event_location_obj_li = ae_acct.slct.event_location_obj_li ?? [
|
||||
''
|
||||
];
|
||||
$events_slct.id_li__event_location = ae_acct.slct.id_li__event_location ?? [
|
||||
''
|
||||
];
|
||||
|
||||
// *** Functions and Logic
|
||||
|
||||
@@ -103,9 +111,12 @@
|
||||
if (!id) return null;
|
||||
if (log_lvl > 1) console.log(`lq__event_obj: event_id = ${id}`);
|
||||
let results = await db_events.event.get(id);
|
||||
|
||||
|
||||
if ($events_slct.event_obj && results) {
|
||||
if (JSON.stringify($events_slct.event_obj) !== JSON.stringify(results)) {
|
||||
if (
|
||||
JSON.stringify($events_slct.event_obj) !==
|
||||
JSON.stringify(results)
|
||||
) {
|
||||
$events_slct.event_obj = { ...results };
|
||||
}
|
||||
}
|
||||
@@ -118,7 +129,10 @@
|
||||
if (!id) return null;
|
||||
let results = await db_events.device.get(id);
|
||||
if ($events_slct.event_device_obj && results) {
|
||||
if (JSON.stringify($events_slct.event_device_obj) !== JSON.stringify(results)) {
|
||||
if (
|
||||
JSON.stringify($events_slct.event_device_obj) !==
|
||||
JSON.stringify(results)
|
||||
) {
|
||||
$events_slct.event_device_obj = { ...results };
|
||||
}
|
||||
}
|
||||
@@ -129,14 +143,20 @@
|
||||
let lq__event_event_file_obj_li = liveQuery(async () => {
|
||||
const id = $events_slct.event_id;
|
||||
if (!id) return [];
|
||||
return await db_events.file.where('for_id').equals(id).sortBy('filename');
|
||||
return await db_events.file
|
||||
.where('for_id')
|
||||
.equals(id)
|
||||
.sortBy('filename');
|
||||
});
|
||||
|
||||
// Event File - For Location
|
||||
let lq__location_event_file_obj_li = liveQuery(async () => {
|
||||
const id = $events_slct.event_location_id;
|
||||
if (!id) return [];
|
||||
return await db_events.file.where('for_id').equals(id).sortBy('filename');
|
||||
return await db_events.file
|
||||
.where('for_id')
|
||||
.equals(id)
|
||||
.sortBy('filename');
|
||||
});
|
||||
|
||||
// Event Location
|
||||
@@ -149,7 +169,10 @@
|
||||
let lq__event_location_obj_li = liveQuery(async () => {
|
||||
const id = $events_slct.event_id;
|
||||
if (!id) return [];
|
||||
return await db_events.location.where('event_id').equals(id).sortBy('name');
|
||||
return await db_events.location
|
||||
.where('event_id')
|
||||
.equals(id)
|
||||
.sortBy('name');
|
||||
});
|
||||
|
||||
// Event Session (Main View Trigger)
|
||||
@@ -157,24 +180,37 @@
|
||||
let lq__event_session_obj = liveQuery(async () => {
|
||||
const id = $events_slct.event_session_id;
|
||||
if (!id) return null;
|
||||
if (log_lvl) console.log(`🔍 [Trace] Launcher Layout LQ: Fetching session_id=${id}`);
|
||||
if (log_lvl)
|
||||
console.log(
|
||||
`🔍 [Trace] Launcher Layout LQ: Fetching session_id=${id}`
|
||||
);
|
||||
const start = performance.now();
|
||||
let results = await db_events.session.get(id);
|
||||
if (log_lvl) console.log(`📦 [Trace] Launcher Layout LQ: Result obtained in ${(performance.now() - start).toFixed(2)}ms (Result=${results?.name || 'NOT FOUND'})`);
|
||||
if (log_lvl)
|
||||
console.log(
|
||||
`📦 [Trace] Launcher Layout LQ: Result obtained in ${(performance.now() - start).toFixed(2)}ms (Result=${results?.name || 'NOT FOUND'})`
|
||||
);
|
||||
return results;
|
||||
});
|
||||
|
||||
let lq__event_session_obj_li = liveQuery(async () => {
|
||||
const id = $events_slct.event_location_id;
|
||||
if (!id) return [];
|
||||
if (log_lvl > 1) console.log(`LQ - Using default sort for Event Session list location_id: ${id}`);
|
||||
if (log_lvl > 1)
|
||||
console.log(
|
||||
`LQ - Using default sort for Event Session list location_id: ${id}`
|
||||
);
|
||||
let results = await db_events.session
|
||||
.where('event_location_id')
|
||||
.equals(id)
|
||||
.reverse()
|
||||
.sortBy('name');
|
||||
|
||||
if ($events_slct.event_session_obj_li && JSON.stringify($events_slct.event_session_obj_li) !== JSON.stringify(results)) {
|
||||
if (
|
||||
$events_slct.event_session_obj_li &&
|
||||
JSON.stringify($events_slct.event_session_obj_li) !==
|
||||
JSON.stringify(results)
|
||||
) {
|
||||
$events_slct.event_session_obj_li = [...(results || [])];
|
||||
}
|
||||
return results;
|
||||
@@ -210,7 +246,10 @@
|
||||
$events_slct.event_session_id = obj_id;
|
||||
let new_url = new URL(data.url);
|
||||
new_url.pathname = `/events/${$lq__event_session_obj?.event_id}/launcher/${$lq__event_session_obj?.event_location_id}`;
|
||||
new_url.searchParams.set('session_id', $events_slct.event_session_id);
|
||||
new_url.searchParams.set(
|
||||
'session_id',
|
||||
$events_slct.event_session_id
|
||||
);
|
||||
goto(new_url.toString(), { replaceState: false });
|
||||
}
|
||||
} else if (cmd.startsWith('ae_download:')) {
|
||||
@@ -283,9 +322,12 @@
|
||||
}
|
||||
});
|
||||
|
||||
if (!$events_loc.launcher.idle_timer) $events_loc.launcher.idle_timer = 5 * 60 * 1000;
|
||||
if (!$events_loc.launcher.idle_cycle) $events_loc.launcher.idle_cycle = 5 * 1000;
|
||||
if (!$events_loc.launcher.idle_loop_period) $events_loc.launcher.idle_loop_period = 3 * 60 * 1000;
|
||||
if (!$events_loc.launcher.idle_timer)
|
||||
$events_loc.launcher.idle_timer = 5 * 60 * 1000;
|
||||
if (!$events_loc.launcher.idle_cycle)
|
||||
$events_loc.launcher.idle_cycle = 5 * 1000;
|
||||
if (!$events_loc.launcher.idle_loop_period)
|
||||
$events_loc.launcher.idle_loop_period = 3 * 60 * 1000;
|
||||
|
||||
listen({
|
||||
timer: $events_loc.launcher.idle_timer,
|
||||
@@ -296,26 +338,43 @@
|
||||
let saver_looping: boolean = $state(false);
|
||||
|
||||
function handle_idle_client() {
|
||||
if ($lq__event_session_obj && $lq__event_session_obj?.type_code == 'poster') {
|
||||
if (
|
||||
$lq__event_session_obj &&
|
||||
$lq__event_session_obj?.type_code == 'poster'
|
||||
) {
|
||||
if (saver_looping) return false;
|
||||
saver_looping = true;
|
||||
|
||||
idle_timer_interval = setInterval(() => {
|
||||
if ($events_loc.launcher.screen_saver_img_kv) {
|
||||
const keys = Object.keys($events_loc.launcher.screen_saver_img_kv);
|
||||
const rand_index = Math.floor(Math.random() * keys.length);
|
||||
let event_file_obj = $events_loc.launcher.screen_saver_img_kv[keys[rand_index]];
|
||||
idle_timer_interval = setInterval(
|
||||
() => {
|
||||
if ($events_loc.launcher.screen_saver_img_kv) {
|
||||
const keys = Object.keys(
|
||||
$events_loc.launcher.screen_saver_img_kv
|
||||
);
|
||||
const rand_index = Math.floor(
|
||||
Math.random() * keys.length
|
||||
);
|
||||
let event_file_obj =
|
||||
$events_loc.launcher.screen_saver_img_kv[
|
||||
keys[rand_index]
|
||||
];
|
||||
|
||||
$events_slct.event_file_id = event_file_obj.event_file_id;
|
||||
$events_slct.event_file_obj = event_file_obj;
|
||||
$events_sess.launcher.modal__open_event_file_id = null;
|
||||
$events_sess.launcher.modal__title = event_file_obj.filename ?? '*';
|
||||
$events_sess.launcher.modal__open_event_file_id = $events_slct.event_file_id;
|
||||
$events_sess.launcher.modal__event_file_obj = event_file_obj;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}, $events_loc.launcher.idle_loop_period ?? 2 * 60 * 1000);
|
||||
$events_slct.event_file_id =
|
||||
event_file_obj.event_file_id;
|
||||
$events_slct.event_file_obj = event_file_obj;
|
||||
$events_sess.launcher.modal__open_event_file_id = null;
|
||||
$events_sess.launcher.modal__title =
|
||||
event_file_obj.filename ?? '*';
|
||||
$events_sess.launcher.modal__open_event_file_id =
|
||||
$events_slct.event_file_id;
|
||||
$events_sess.launcher.modal__event_file_obj =
|
||||
event_file_obj;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
$events_loc.launcher.idle_loop_period ?? 2 * 60 * 1000
|
||||
);
|
||||
} else {
|
||||
saver_looping = false;
|
||||
return false;
|
||||
@@ -376,7 +435,8 @@
|
||||
"
|
||||
>
|
||||
<h3 class="h4 text-center italic text-surface-600-400">
|
||||
<button type="button"
|
||||
<button
|
||||
type="button"
|
||||
class=""
|
||||
onclick={() => {
|
||||
$events_loc.launcher.hide__launcher_menu =
|
||||
@@ -387,20 +447,26 @@
|
||||
<Satellite class="text-base mx-1 inline-block text-gray-500" />
|
||||
<abbr title="Aether - Events Module Launcher">
|
||||
Æ Launcher
|
||||
<span class="text-xs align-super font-normal" title="Version 3">v3</span>
|
||||
<span
|
||||
class="text-xs align-super font-normal"
|
||||
title="Version 3">v3</span
|
||||
>
|
||||
</abbr>
|
||||
</button>
|
||||
</h3>
|
||||
|
||||
{#if $lq__event_obj}
|
||||
<h2 class="hidden md:inline-block h3 text-center text-surface-600-400">
|
||||
<h2
|
||||
class="hidden md:inline-block h3 text-center text-surface-600-400"
|
||||
>
|
||||
{$lq__event_obj.cfg_json?.short_name}
|
||||
</h2>
|
||||
<h3
|
||||
class="h4 text-center italic text-surface-600-400"
|
||||
title="Location ID: {$lq__event_location_obj?.event_location_id} Name: {$lq__event_location_obj?.name}"
|
||||
>
|
||||
<button type="button"
|
||||
<button
|
||||
type="button"
|
||||
class="text-base"
|
||||
onclick={() => {
|
||||
$ae_loc.edit_mode = !$ae_loc.edit_mode;
|
||||
@@ -455,9 +521,13 @@
|
||||
{lq__event_location_obj_li}
|
||||
{lq__event_location_obj}
|
||||
slct__event_location_id={$events_slct.event_location_id}
|
||||
bind:loading__session_li_status={$events_sess.launcher.loading__session_li_status}
|
||||
bind:loading__session_li_status={
|
||||
$events_sess.launcher.loading__session_li_status
|
||||
}
|
||||
{lq__event_session_obj_li}
|
||||
bind:loading__session_id_status={$events_sess.launcher.loading__session_id_status}
|
||||
bind:loading__session_id_status={
|
||||
$events_sess.launcher.loading__session_id_status
|
||||
}
|
||||
{lq__event_session_obj}
|
||||
bind:slct__event_session_id={$events_slct.event_session_id}
|
||||
bind:trigger_reload__event_session_obj_id={
|
||||
@@ -487,7 +557,9 @@
|
||||
"
|
||||
>
|
||||
{#if !$events_slct.event_location_id}
|
||||
<div class="flex flex-row items-center justify-center p-8 opacity-50">
|
||||
<div
|
||||
class="flex flex-row items-center justify-center p-8 opacity-50"
|
||||
>
|
||||
<span class="fas fa-map-marker-alt mx-2 text-2xl"></span>
|
||||
<span>Please select a location from the menu</span>
|
||||
</div>
|
||||
@@ -500,7 +572,9 @@
|
||||
bind:type_code={$lq__event_session_obj.type_code}
|
||||
></Launcher_session_view>
|
||||
{:else if $events_slct.event_session_id}
|
||||
<div class="flex flex-col items-center justify-center p-8 opacity-50">
|
||||
<div
|
||||
class="flex flex-col items-center justify-center p-8 opacity-50"
|
||||
>
|
||||
<LoaderCircle class="animate-spin mb-2" />
|
||||
<span>Loading session details...</span>
|
||||
</div>
|
||||
@@ -537,7 +611,8 @@
|
||||
class="slct_location_name transition-all duration-1000"
|
||||
title="Location ID: {$lq__event_location_obj?.event_location_id} Name: {$lq__event_location_obj?.name} | Device ID: {$lq__event_device_obj?.event_device_id} Name: {$lq__event_device_obj?.name}"
|
||||
>
|
||||
<button type="button"
|
||||
<button
|
||||
type="button"
|
||||
class=""
|
||||
onclick={() => {
|
||||
$ae_loc.edit_mode = !$ae_loc.edit_mode;
|
||||
@@ -579,10 +654,13 @@
|
||||
|
||||
<span
|
||||
class:hidden={!$events_loc.launcher.ws_connect}
|
||||
class:preset-tonal-warning={$events_sess.launcher.ws_connect_status != 'connected'}
|
||||
class:preset-tonal-success={$events_sess.launcher.ws_connect_status == 'connected'}
|
||||
class:preset-tonal-warning={$events_sess.launcher.ws_connect_status !=
|
||||
'connected'}
|
||||
class:preset-tonal-success={$events_sess.launcher.ws_connect_status ==
|
||||
'connected'}
|
||||
class="group px-1 rounded-md transition-all duration-1000"
|
||||
title="WebSocket is {$events_sess.launcher.ws_connect_status == 'connected'
|
||||
title="WebSocket is {$events_sess.launcher.ws_connect_status ==
|
||||
'connected'
|
||||
? 'connected'
|
||||
: 'disconnected'} API: {$ae_api?.base_url}"
|
||||
>
|
||||
@@ -595,7 +673,9 @@
|
||||
{/if}
|
||||
</span>
|
||||
|
||||
<div class="current_datetime font-mono px-2 hover:font-bold hover:bg-white transition-all">
|
||||
<div
|
||||
class="current_datetime font-mono px-2 hover:font-bold hover:bg-white transition-all"
|
||||
>
|
||||
<span class="hidden md:inline">
|
||||
<span class="fas fa-calendar-alt"></span>
|
||||
{ae_util.iso_datetime_formatter($time, 'date_full_no_year')}
|
||||
@@ -612,7 +692,8 @@
|
||||
</footer>
|
||||
|
||||
<div class="absolute top-0 left-0 z-20 text-center">
|
||||
<button type="button"
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => ($events_loc.launcher.hide_drawer__cfg = false)}
|
||||
class="btn btn-sm p-2.5 preset-tonal-error hover:preset-filled-error-500 transition-all duration-1000"
|
||||
class:opacity-25={!$ae_loc.trusted_access}
|
||||
@@ -639,7 +720,9 @@
|
||||
|
||||
<hr class="my-2 border-gray-300 dark:border-gray-600" />
|
||||
|
||||
<div class="flex flex-row flex-wrap gap-0.5 items-center justify-center max-w-md">
|
||||
<div
|
||||
class="flex flex-row flex-wrap gap-0.5 items-center justify-center max-w-md"
|
||||
>
|
||||
<a
|
||||
href="/events/{$events_slct.event_id}"
|
||||
class="btn btn-sm preset-tonal-primary hover:preset-filled-primary-500"
|
||||
@@ -682,10 +765,13 @@
|
||||
id="sidebar2"
|
||||
>
|
||||
<div class="flex flex-row items-center justify-between">
|
||||
<h2 class="text-center mb-4 text-base font-semibold text-gray-500 dark:text-gray-400">
|
||||
<h2
|
||||
class="text-center mb-4 text-base font-semibold text-gray-500 dark:text-gray-400"
|
||||
>
|
||||
Debug
|
||||
</h2>
|
||||
<button type="button"
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => ($events_loc.launcher.hide_drawer__debug = true)}
|
||||
class="mb-4 dark:text-white"
|
||||
>
|
||||
@@ -729,7 +815,8 @@
|
||||
>
|
||||
{$events_sess.launcher?.modal__title ?? 'Digital Poster Display'}
|
||||
</h3>
|
||||
<button type="button"
|
||||
<button
|
||||
type="button"
|
||||
class="btn flex-row-reverse group transition-all justify-self-end"
|
||||
onclick={() => {
|
||||
$events_sess.launcher.modal__open_event_file_id = null;
|
||||
@@ -741,7 +828,8 @@
|
||||
</button>
|
||||
{/snippet}
|
||||
|
||||
<button type="button"
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
$events_sess.launcher.controller_cmd = `ae_close:event_file_modal`;
|
||||
$events_sess.launcher.controller_trigger_send = true;
|
||||
@@ -766,8 +854,8 @@
|
||||
{#if $events_sess.launcher.modal__open_event_file_id}
|
||||
<img
|
||||
src="{$ae_api.base_url}/v3/action/event_file/{$events_sess.launcher
|
||||
.modal__open_event_file_id}/download?filename={$events_slct.event_file_obj
|
||||
.filename}&key={$ae_api.account_id}"
|
||||
.modal__open_event_file_id}/download?filename={$events_slct
|
||||
.event_file_obj.filename}&key={$ae_api.account_id}"
|
||||
alt="Poster"
|
||||
class="min-h-28 min-w-md max-h-full max-w-full"
|
||||
/>
|
||||
@@ -778,7 +866,8 @@
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<button type="button"
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
$events_sess.launcher.controller_cmd = `ae_close:event_file_modal`;
|
||||
$events_sess.launcher.controller_trigger_send = true;
|
||||
@@ -800,7 +889,8 @@
|
||||
Close Remote Poster Display Only
|
||||
</button>
|
||||
|
||||
<button type="button"
|
||||
<button
|
||||
type="button"
|
||||
onclick={() => {
|
||||
$events_sess.launcher.modal__title = '';
|
||||
$events_sess.launcher.modal__open_event_file_id = null;
|
||||
@@ -846,4 +936,4 @@
|
||||
bind:ws_recv_status={trigger_handle_ws_recv}
|
||||
bind:ws_sent_status={trigger_handle_ws_sent}
|
||||
/>
|
||||
{/if}
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user