More work on the WebSockets. Improved status and WS triggers. Better online/offline status.
This commit is contained in:
@@ -81,7 +81,7 @@ import { events_loc, events_sess, events_slct, events_trigger, events_trig } fro
|
||||
<div class="flex flex-row gap-1 p-0.5">
|
||||
<select
|
||||
bind:value={$events_loc.launcher.controller}
|
||||
class="input select"
|
||||
class="input select text-sm preset-tonal-surface"
|
||||
>
|
||||
<option value="local">Local Only</option>
|
||||
<option value="remote">Remotely WS Controlled</option>
|
||||
@@ -92,18 +92,34 @@ import { events_loc, events_sess, events_slct, events_trigger, events_trig } fro
|
||||
<input
|
||||
bind:value={$events_loc.launcher.controller_group_code}
|
||||
placeholder="Controller group code"
|
||||
class="input"
|
||||
class="input preset-tonal-surface text-sm"
|
||||
ondblclick={() => {
|
||||
$events_sess.launcher.controller_unlock_group_code = !$events_sess.launcher.controller_unlock_group_code;
|
||||
|
||||
$events_loc.launcher.ws_connect = false;
|
||||
if ($events_loc.launcher.ws_connect) {
|
||||
$events_sess.launcher.trigger__ws_disconnect = true;
|
||||
} else {
|
||||
// $events_sess.launcher.trigger__ws_connect = true;
|
||||
}
|
||||
// $events_loc.launcher.ws_connect = false;
|
||||
}}
|
||||
readonly={!$events_sess.launcher.controller_unlock_group_code}
|
||||
>
|
||||
|
||||
<button
|
||||
onclick={() => {
|
||||
$events_loc.launcher.ws_connect = !$events_loc.launcher.ws_connect;
|
||||
if ($events_loc.launcher.ws_connect) {
|
||||
// console.log('HERE!!! Triggering WS disconnect');
|
||||
// NOTE: When the ws_disconnect is finished, it should set ws_connect to false.
|
||||
// $events_loc.launcher.ws_connect = false;
|
||||
$events_sess.launcher.trigger__ws_disconnect = true;
|
||||
} else {
|
||||
// console.log('HERE!!! Triggering WS connect');
|
||||
// NOTE: We need to set ws_connect to true so that it will show the WS element.
|
||||
$events_loc.launcher.ws_connect = true;
|
||||
$events_sess.launcher.trigger__ws_connect = true;
|
||||
}
|
||||
|
||||
$events_sess.launcher.controller_unlock_group_code = false;
|
||||
$events_sess.launcher.controller_cmd = null,
|
||||
$events_sess.launcher.controller_trigger_send = null;
|
||||
@@ -174,40 +190,40 @@ import { events_loc, events_sess, events_slct, events_trigger, events_trig } fro
|
||||
>
|
||||
<!-- Run screen saver after idle time exceeded $events_loc.launcher.idle_timer = 4 * 60 * 1000 -->
|
||||
<label
|
||||
class="flex flex-row gap-1 items-center justify-start"
|
||||
class="flex flex-row gap-1 items-center justify-start text-sm"
|
||||
>
|
||||
<span class="w-36">Idle Time (ms):</span>
|
||||
<input
|
||||
type="number"
|
||||
min={3000}
|
||||
bind:value={$events_loc.launcher.idle_timer}
|
||||
class="input input-sm w-28 text-right"
|
||||
class="input input-sm w-28 text-right preset-tonal-surface"
|
||||
>
|
||||
</label>
|
||||
|
||||
<!-- How often is idle checked? $events_loc.launcher.idle_cycle = 5 * 1000 -->
|
||||
<label
|
||||
class="flex flex-row gap-1 items-center justify-start"
|
||||
class="flex flex-row gap-1 items-center justify-start text-sm"
|
||||
>
|
||||
<span class="w-36">Cycle Check (ms):</span>
|
||||
<input
|
||||
type="number"
|
||||
min={500}
|
||||
bind:value={$events_loc.launcher.idle_cycle}
|
||||
class="input input-sm w-28 text-right"
|
||||
class="input input-sm w-28 text-right preset-tonal-surface"
|
||||
>
|
||||
</label>
|
||||
|
||||
<!-- How often the image changes? $events_loc.launcher.idle_loop_period = 1 * 60 * 1000 -->
|
||||
<label
|
||||
class="flex flex-row gap-1 items-center justify-start"
|
||||
class="flex flex-row gap-1 items-center justify-start text-sm"
|
||||
>
|
||||
<span class="w-36">Image Change Period (ms):</span>
|
||||
<input
|
||||
type="number"
|
||||
min={750}
|
||||
bind:value={$events_loc.launcher.idle_loop_period}
|
||||
class="input input-sm w-28 text-right"
|
||||
class="input input-sm w-28 text-right preset-tonal-surface"
|
||||
>
|
||||
</label>
|
||||
|
||||
@@ -530,7 +546,7 @@ import { events_loc, events_sess, events_slct, events_trigger, events_trig } fro
|
||||
>
|
||||
<div class="flex flex-col gap-1 items-center justify-start w-full">
|
||||
<select
|
||||
class="input w-full"
|
||||
class="input w-full preset-tonal-surface text-sm"
|
||||
onchange={event => {
|
||||
const val = (event.target as HTMLSelectElement).value;
|
||||
if (val && val != '') {
|
||||
@@ -641,6 +657,8 @@ import { events_loc, events_sess, events_slct, events_trigger, events_trig } fro
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="text-xs text-gray-500 dark:text-gray-400">API: {$ae_api.base_url}</div>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user