We can now download files remotely!

This commit is contained in:
Scott Idem
2024-10-09 20:47:46 -04:00
parent 6694ec92c7
commit 79bc148e85
4 changed files with 51 additions and 3 deletions

View File

@@ -338,6 +338,12 @@ img.qr_code:focus {
opacity: 0.5;
color: hsla(0, 0%, 50%, .95);
}
.dim_warning {
opacity: 0.5;
/* color: hsla(0, 100%, 50%, .95); */
/* background should be hash marks */
background-image: repeating-linear-gradient(-45deg, hsla(0, 100%, 50%, .25), hsla(0, 100%, 50%, .25) 10px, transparent 10px, transparent 20px);
}
@media (max-width: 767px) {

View File

@@ -11,6 +11,7 @@ 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 { api } from '$lib/api';
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';
@@ -167,7 +168,14 @@ function handle_ws_recv(event) {
if (event.detail.type == 'cmd' && event.detail.cmd) {
let cmd = event.detail.cmd;
console.log(cmd);
// console.log(cmd);
if ($events_loc.launcher.controller != 'remote') {
if (log_lvl) {
console.log('Controller is not set to remote. Ignoring command.', cmd);
}
return;
}
// AE Load (event session ID)
if (cmd.startsWith('ae_load:')) {
@@ -213,6 +221,33 @@ function handle_ws_recv(event) {
let new_url_str = new_url.toString();
goto(new_url_str, {replaceState: false});
}
// AE Download (event file ID)
} else if (cmd.startsWith('ae_download:')) {
log_lvl = 1;
let cmd_parts = cmd.split(':');
let obj_parts = cmd_parts[1].split('=');
let obj_type = obj_parts[0];
let obj_id = obj_parts[1];
let obj_filename = cmd_parts[2];
let obj_extension = cmd_parts[3];
if (log_lvl) {
console.log(`ae_download: ${obj_type} ${obj_id} ${obj_filename} ${obj_extension}`);
}
if (log_lvl > 1) {
console.log(cmd);
}
ae_promises[obj_id] = api.download_hosted_file({
api_cfg: $ae_api,
hosted_file_id: obj_id, // +'x'
return_file: true,
filename: `${obj_filename}`,
auto_download: true,
log_lvl: 1
});
// AE Open (event file ID)
} else if (cmd.startsWith('ae_open:')) {
@@ -227,8 +262,6 @@ function handle_ws_recv(event) {
if (log_lvl > 1) {
console.log(cmd);
}
console.log(`ae_open: ${obj_type} ${obj_id}`);
// alert('ae_open: ' + obj_type + ' ' + obj_id);
// NOTE: This is not finished yet.
if (obj_type == 'event_file') {

View File

@@ -388,6 +388,13 @@ async function handle_open_file() {
});
// window.postMessage({ type: 'download_event_file', event_file_id: event_file_obj.event_file_id_random, filename: event_file_obj.filename, auto_download: true }, '*');
if ($events_loc.launcher.controller == 'local_push') {
console.log(`Local Push Controller Command: ae_download:hosted_file=${event_file_obj.hosted_file_id_random}`);
$events_sess.launcher.controller_cmd = `ae_download:hosted_file=${event_file_obj.hosted_file_id_random}:${new_filename}:${event_file_obj.extension}`;
$events_sess.launcher.controller_trigger_send = true;
// tick();
}
}}
class="
btn btn-sm md:btn-md lg:btn-lg

View File

@@ -101,6 +101,8 @@ let lq__event_presentation_obj = liveQuery(
<!-- {#if event_presenter_obj.event_presentation_id_random == event_presentation_obj.event_presentation_id_random} -->
<li
class:dim={event_presenter_obj?.hide}
class:dim_warning={!event_presenter_obj?.enable}
class:hidden={!event_presenter_obj?.enable && !$ae_loc.administrator_access}
>
<!-- href="/events_pres_mgmt/presenter/{event_presenter_obj.event_presenter_id_random}" -->
<a