Working on handling received messages. Open a session.
This commit is contained in:
@@ -63,7 +63,12 @@ export async function load_ae_obj_id__event_session(
|
||||
});
|
||||
|
||||
if (log_lvl) {
|
||||
console.log('ae_promises.load__event_session_obj:', ae_promises.load__event_session_obj);
|
||||
console.log('ae_promises.load__event_session_obj:', ae_promises?.load__event_session_obj);
|
||||
}
|
||||
|
||||
if (ae_promises?.load__event_session_obj === null) {
|
||||
console.log('No results returned.');
|
||||
return null;
|
||||
}
|
||||
|
||||
if (inc_file_li) {
|
||||
|
||||
@@ -55,13 +55,13 @@ function ws_connect_group_id({group_id, client_id}) {
|
||||
'status': 'connected'
|
||||
});
|
||||
|
||||
ws_connection.send(JSON.stringify({
|
||||
client_id: client_id,
|
||||
target: 'echo',
|
||||
type: 'hello',
|
||||
group_id: group_id,
|
||||
msg: 'You are connected!'
|
||||
}));
|
||||
// ws_connection.send(JSON.stringify({
|
||||
// client_id: client_id,
|
||||
// target: 'echo',
|
||||
// type: 'hello',
|
||||
// group_id: group_id,
|
||||
// msg: 'You are connected!'
|
||||
// }));
|
||||
|
||||
ws_connection.send(JSON.stringify({
|
||||
client_id: client_id,
|
||||
@@ -73,11 +73,14 @@ function ws_connect_group_id({group_id, client_id}) {
|
||||
};
|
||||
|
||||
ws_connection.onmessage = function(event) {
|
||||
console.log('WS: message received');
|
||||
console.log(event);
|
||||
if (log_lvl) {
|
||||
console.log('WS: message received', event);
|
||||
}
|
||||
|
||||
let ws_recv_data = JSON.parse(event.data);
|
||||
console.log(ws_recv_data);
|
||||
if (log_lvl) {
|
||||
console.log('WS: Received data:', ws_recv_data);
|
||||
}
|
||||
|
||||
if (client_id == ws_recv_data.client_id) {
|
||||
if (log_lvl) {
|
||||
|
||||
@@ -4,13 +4,17 @@ export let data: any;
|
||||
let log_lvl = 1;
|
||||
|
||||
import { onMount, tick } from 'svelte';
|
||||
import { goto } from '$app/navigation';
|
||||
import { sineIn } from 'svelte/easing';
|
||||
import { liveQuery } from "dexie";
|
||||
import { Drawer, Footer, Modal } from 'flowbite-svelte';
|
||||
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
import { db_events } from '$lib/db_events';
|
||||
import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger, time } from '$lib/ae_stores';
|
||||
import { events_loc, events_sess, events_slct, events_trigger, events_trig } from '$lib/ae_events_stores';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
|
||||
import Launcher_cfg from './launcher_cfg.svelte';
|
||||
import Launcher_menu from './launcher_menu.svelte';
|
||||
@@ -39,20 +43,30 @@ if (!$events_loc?.launcher) {
|
||||
}
|
||||
|
||||
|
||||
console.log(`event_id: ${data.params.event_id}`);
|
||||
if (log_lvl > 1) {
|
||||
console.log(`$events_loc.launcher:`, $events_loc.launcher);
|
||||
|
||||
}
|
||||
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')}`);
|
||||
}
|
||||
$events_slct.event_id = data.params.event_id;
|
||||
|
||||
console.log(`event_location_id: ${data.params.event_location_id}`);
|
||||
|
||||
$events_slct.event_location_id = data.params.event_location_id;
|
||||
$events_slct.event_session_id = data.url.searchParams.get('session_id');
|
||||
|
||||
console.log(`ae_acct.slct.event_id:`, ae_acct.slct.event_id);
|
||||
$events_slct.event_id = ae_acct.slct.event_id;
|
||||
// console.log(`ae_acct.slct.event_id:`, ae_acct.slct.event_id);
|
||||
// $events_slct.event_id = ae_acct.slct.event_id;
|
||||
// $events_slct.event_obj = ae_acct.slct.event_obj;
|
||||
$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 ?? [''];
|
||||
console.log(`$events_slct.event_location_obj_li:`, $events_slct.event_location_obj_li);
|
||||
if (log_lvl > 1) {
|
||||
console.log(`$events_slct.event_location_obj_li:`, $events_slct.event_location_obj_li);
|
||||
console.log(`$events_slct.id_li__event_location:`, $events_slct.id_li__event_location);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Event
|
||||
$: lq__event_obj = liveQuery(async () => {
|
||||
@@ -116,6 +130,11 @@ $: lq__event_session_obj_li = liveQuery(async () => {
|
||||
// }
|
||||
// }
|
||||
|
||||
let ae_promises: key_val = {
|
||||
slct_event_session_id: null,
|
||||
slct_event_presentation_li: null
|
||||
};
|
||||
|
||||
onMount(() => {
|
||||
console.log('Events - Launcher: +layout.svelte');
|
||||
// Hide the AppShell shell header (id="shell-header") and footer
|
||||
@@ -142,8 +161,9 @@ function handle_ws_conn(event) {
|
||||
|
||||
// When this is called something seems to go wrong. It creates a loop when connected.
|
||||
function handle_ws_recv(event) {
|
||||
console.log('*** handle_ws_recv() ***');
|
||||
console.log(event);
|
||||
if (log_lvl) {
|
||||
console.log('*** handle_ws_recv() ***', event);
|
||||
}
|
||||
|
||||
if (event.detail.type == 'cmd' && event.detail.cmd) {
|
||||
let cmd = event.detail.cmd;
|
||||
@@ -151,17 +171,47 @@ function handle_ws_recv(event) {
|
||||
|
||||
// AE Load (event session ID)
|
||||
if (cmd.startsWith('ae_load:')) {
|
||||
console.log();
|
||||
let cmd_parts = cmd.split(':');
|
||||
let obj_parts = cmd_parts[1].split('=');
|
||||
let obj_type = obj_parts[0];
|
||||
let obj_id = obj_parts[1];
|
||||
if (log_lvl) {
|
||||
console.log(`ae_load: ${obj_type} ${obj_id}`);
|
||||
}
|
||||
if (log_lvl > 1) {
|
||||
console.log(cmd);
|
||||
}
|
||||
|
||||
if (obj_type == 'event_session') {
|
||||
$slct.event_session_id = obj_id;
|
||||
$slct_trigger = 'event_session';
|
||||
$events_sess.launcher.show_launcher_message = false;
|
||||
$events_slct.event_session_id = obj_id;
|
||||
// $slct_trigger = 'event_session';
|
||||
// $events_sess.launcher.show_launcher_message = false;
|
||||
|
||||
// data.url.searchParams.set('session_id', $events_slct.event_session_id);
|
||||
|
||||
// let new_url = data.url.toString();
|
||||
// console.log(new_url);
|
||||
// goto(new_url, {replaceState: false});
|
||||
|
||||
ae_promises.slct_event_session_id = events_func.load_ae_obj_id__event_session({
|
||||
api_cfg: $ae_api,
|
||||
event_session_id: $events_slct.event_session_id,
|
||||
inc_file_li: true,
|
||||
inc_presentation_li: true,
|
||||
try_cache: true,
|
||||
log_lvl: log_lvl
|
||||
})
|
||||
.then(async (load_results) => {
|
||||
|
||||
});
|
||||
|
||||
data.url.searchParams.set('session_id', $events_slct.event_session_id);
|
||||
|
||||
let new_url = data.url.toString();
|
||||
console.log(new_url);
|
||||
goto(new_url, {replaceState: false});
|
||||
}
|
||||
|
||||
// AE Open (event file ID)
|
||||
} else if (cmd.startsWith('ae_open:')) {
|
||||
let cmd_parts = cmd.split(':');
|
||||
@@ -220,7 +270,7 @@ function handle_ws_recv(event) {
|
||||
|
||||
if (what == 'event_file_modal') {
|
||||
$events_sess.launcher.modal__open = false;
|
||||
// $slct.event_file_id = null;
|
||||
// $events_slct.event_file_id = null;
|
||||
// $slct_trigger = 'event_file';
|
||||
// $events_sess.launcher.event_file_open.open_status = 'close';
|
||||
}
|
||||
@@ -241,7 +291,9 @@ function handle_ws_recv(event) {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.log('Unrecognized command');
|
||||
if (log_lvl) {
|
||||
console.log('Unrecognized WS event received. Probably just a message.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -258,7 +310,7 @@ function handle_ws_sent(event) {
|
||||
/* *** END *** Handle WebSocket events */
|
||||
|
||||
|
||||
$: if ($slct_trigger == 'event_file' && $slct.event_file_id && $events_sess.launcher?.event_file_open.open_status == 'open') {
|
||||
$: if ($slct_trigger == 'event_file' && $events_slct.event_file_id && $events_sess.launcher?.event_file_open.open_status == 'open') {
|
||||
$slct_trigger = null;
|
||||
// handle_event_file_open();
|
||||
}
|
||||
@@ -271,12 +323,12 @@ $: if ($slct_trigger == 'event_file' && $events_sess.launcher?.event_file_open.o
|
||||
|
||||
async function handle_event_file_open () {
|
||||
let event_file_obj;
|
||||
if ($slct.event_file_obj && $slct.event_file_obj.event_file_id_random) {
|
||||
console.log($slct.event_file_obj);
|
||||
event_file_obj = $slct.event_file_obj;
|
||||
if ($events_slct.event_file_obj && $events_slct.event_file_obj.event_file_id_random) {
|
||||
console.log($events_slct.event_file_obj);
|
||||
event_file_obj = $events_slct.event_file_obj;
|
||||
} else {
|
||||
console.log('Need to look up the event file details first.');
|
||||
// let get_event_file_obj_result = await get_event_file_obj({event_file_id: $slct.event_file_id});
|
||||
// let get_event_file_obj_result = await get_event_file_obj({event_file_id: $events_slct.event_file_id});
|
||||
|
||||
// event_file_obj = get_event_file_obj_result;
|
||||
// console.log(event_file_obj);
|
||||
@@ -472,10 +524,6 @@ export let close_event_file_as_modal = function close_event_file_as_modal({}) {
|
||||
|
||||
{#if $events_slct.event_session_id && $lq__event_session_obj}
|
||||
<Launcher_session_view
|
||||
slct_event_session_id={$events_slct.event_session_id}
|
||||
|
||||
lq__event_location_obj={lq__event_location_obj}
|
||||
|
||||
lq__event_session_obj={lq__event_session_obj}
|
||||
>
|
||||
</Launcher_session_view>
|
||||
|
||||
@@ -5,7 +5,7 @@ import { error } from '@sveltejs/kit';
|
||||
import { browser } from '$app/environment';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
|
||||
export async function load({ params, parent }) { // route
|
||||
export async function load({ params, parent, url }) { // route
|
||||
let log_lvl = 0;
|
||||
|
||||
let data = await parent();
|
||||
@@ -69,6 +69,20 @@ export async function load({ params, parent }) { // route
|
||||
});
|
||||
console.log(`load_event_location_obj_li = `, load_event_location_obj_li);
|
||||
ae_acct.slct.event_location_obj_li = load_event_location_obj_li;
|
||||
|
||||
|
||||
let event_session_id = url.searchParams.get('session_id');
|
||||
if (event_session_id) {
|
||||
let load_event_session_obj = events_func.load_ae_obj_id__event_session({
|
||||
api_cfg: ae_acct.api,
|
||||
event_session_id: event_session_id,
|
||||
try_cache: true
|
||||
});
|
||||
ae_acct.slct.event_session_id = event_session_id;
|
||||
console.log(`load_event_session_obj = `, load_event_session_obj);
|
||||
ae_acct.slct.event_session_obj = load_event_session_obj;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// WARNING: Precaution against shared data between sites and sessions.
|
||||
|
||||
@@ -89,34 +89,34 @@ onMount(() => {
|
||||
// $ae_event_launcher = $ae_event_launcher;
|
||||
}
|
||||
|
||||
window.addEventListener('message', function(event) {
|
||||
console.log('Message received in event file uploaded manage component:');
|
||||
console.log(event);
|
||||
// window.addEventListener('message', function(event) {
|
||||
// console.log('Message received in event file uploaded manage component:');
|
||||
// console.log(event);
|
||||
|
||||
if (event.data.type == 'api_download_blob') {
|
||||
console.log('Download blob (file) message received:');
|
||||
console.log(event.data);
|
||||
// if (event.data.type == 'api_download_blob') {
|
||||
// console.log('Download blob (file) message received:');
|
||||
// console.log(event.data);
|
||||
|
||||
// Get the event_file_id from the event.data.endpoint value.
|
||||
// Example: /event/file/abc123/download
|
||||
// // Get the event_file_id from the event.data.endpoint value.
|
||||
// // Example: /event/file/abc123/download
|
||||
|
||||
let endpoint = event.data.endpoint;
|
||||
let event_file_id = endpoint.split('/')[3];
|
||||
// let endpoint = event.data.endpoint;
|
||||
// let event_file_id = endpoint.split('/')[3];
|
||||
|
||||
ae_downloads[event_file_id] = {
|
||||
'size_total': event.data.size_total,
|
||||
'size_loaded': event.data.size_loaded,
|
||||
'percent_completed': event.data.percent_completed,
|
||||
};
|
||||
// ae_downloads[event_file_id] = {
|
||||
// 'size_total': event.data.size_total,
|
||||
// 'size_loaded': event.data.size_loaded,
|
||||
// 'percent_completed': event.data.percent_completed,
|
||||
// };
|
||||
|
||||
// let event_file_id = event.data.event_file_id;
|
||||
// let filename = event.data.filename;
|
||||
// let auto_download = event.data.auto_download;
|
||||
// // let event_file_id = event.data.event_file_id;
|
||||
// // let filename = event.data.filename;
|
||||
// // let auto_download = event.data.auto_download;
|
||||
|
||||
// ae_promises[event_file_id]
|
||||
// ae_promises[event_file_id] = download_event_file({ 'event_file_id': event_file_id, 'return_file': true, filename: filename, auto_download: auto_download, log_lvl: 1 });
|
||||
}
|
||||
});
|
||||
// // ae_promises[event_file_id]
|
||||
// // ae_promises[event_file_id] = download_event_file({ 'event_file_id': event_file_id, 'return_file': true, filename: filename, auto_download: auto_download, log_lvl: 1 });
|
||||
// }
|
||||
// });
|
||||
});
|
||||
|
||||
async function handle_open_file() {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<script lang="ts">
|
||||
import { goto } from '$app/navigation';
|
||||
// import { liveQuery } from "dexie";
|
||||
import { tick } from 'svelte';
|
||||
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
@@ -8,7 +9,6 @@ import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
import { ae_snip, ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores';
|
||||
import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores';
|
||||
import { events_func } from '$lib/ae_events_functions';
|
||||
import { tick } from 'svelte';
|
||||
|
||||
export let data_url: any;
|
||||
// export let slct_event_session_id: any;
|
||||
@@ -111,6 +111,15 @@ let hover_timer: any = null;
|
||||
console.log(new_url);
|
||||
goto(new_url, {replaceState: false});
|
||||
});
|
||||
|
||||
|
||||
if ($events_loc.launcher.controller == 'local_push') {
|
||||
console.log(`Local Push Controller Command: ae_load:event_session=${event_session_obj?.id}`);
|
||||
$events_sess.launcher.controller_cmd = `ae_load:event_session=${event_session_obj?.id}`;
|
||||
$events_sess.launcher.controller_trigger_send = true;
|
||||
}
|
||||
|
||||
|
||||
// await tick();
|
||||
|
||||
// ae_promises.slct_event_presentation_li = await events_func.load_ae_obj_li__event_presentation({
|
||||
|
||||
@@ -209,7 +209,7 @@ let ae_triggers: key_val = {};
|
||||
|
||||
{#if show__launcher_link}
|
||||
<a
|
||||
href="/events/{session_obj?.event_id_random}/launcher/{session_obj?.event_location_id_random}"
|
||||
href="/events/{session_obj?.event_id_random}/launcher/{session_obj?.event_location_id_random}?session_id={session_obj?.event_session_id_random}"
|
||||
class="btn btn-sm variant-glass-surface hover:variant-filled-secondary text-xs lg:text-sm"
|
||||
title="Launcher: {session_obj?.event_location_name} {session_obj?.event_location_id_random}"
|
||||
>
|
||||
|
||||
@@ -326,7 +326,7 @@ $: if ($lq__event_session_obj) {
|
||||
<a
|
||||
data-sveltekit-preload-data="false"
|
||||
data-sveltekit-reload="true"
|
||||
href="/events/{$lq__event_session_obj?.event_id_random}/launcher/{$lq__event_session_obj?.event_location_id_random}"
|
||||
href="/events/{$lq__event_session_obj?.event_id_random}/launcher/{$lq__event_session_obj?.event_location_id_random}?session_id={$lq__event_session_obj?.event_session_id_random}"
|
||||
class="text-blue-500 hover:text-blue-800 hover:underline"
|
||||
title="Launcher: {$lq__event_session_obj?.event_location_name} {$lq__event_session_obj?.event_location_id_random}"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user