Initial commit
This commit is contained in:
557
app/index 2020-01-24.html.bak
Normal file
557
app/index 2020-01-24.html.bak
Normal file
@@ -0,0 +1,557 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
|
||||
<title>One Sky IT: macOS App</title>
|
||||
|
||||
<link rel="shortcut icon" type="image/png" href="img/favicon.ico">
|
||||
|
||||
<!-- Cascading Style Sheets (CSS) start -->
|
||||
<link href="https://stackpath.bootstrapcdn.com/bootswatch/4.4.1/materia/bootstrap.min.css" rel="stylesheet" integrity="sha384-1tymk6x9Y5K+OF0tlmG2fDRcn67QGzBkiM3IgtJ3VrtGrIi5ryhHjKjeeS60f1FA" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.10.2/css/all.css">
|
||||
|
||||
<!-- One Sky IT default custom Cascading Style Sheets (CSS) -->
|
||||
|
||||
<!-- One Sky IT site custom Cascading Style Sheets (CSS) -->
|
||||
<link rel="stylesheet" href="css/starter-template.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<link rel="stylesheet" href="css/launcher.css">
|
||||
|
||||
<style>
|
||||
</style>
|
||||
<!-- Cascading Style Sheets (CSS) end -->
|
||||
|
||||
<!-- JavaScript (JS) start -->
|
||||
|
||||
<!-- JavaScript (JS) end -->
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!--<main id="main_content" role="main" class="container">-->
|
||||
<div id="main_content" class="container w-100">
|
||||
|
||||
<div class="row no-gutters">
|
||||
<div id="location_title" class="location_title border-bottom">Launcher</div>
|
||||
</div>
|
||||
|
||||
<div class="row no-gutters">
|
||||
<div id="location_menu" class="location_menu col-3 border-right">
|
||||
|
||||
<div id="event_files_menu" class="event_files_menu">
|
||||
*event files
|
||||
</div>
|
||||
<div id="location_files_menu" class="location_files_menu">
|
||||
*location files
|
||||
</div>
|
||||
<div id="sessions_menu" class="sessions_menu">
|
||||
*sessions<br>
|
||||
**session<br>
|
||||
***session files<br>
|
||||
***presentations<br>
|
||||
****presentation<br>
|
||||
*****presentation files<br>
|
||||
*****presenters<br>
|
||||
******presenter<br>
|
||||
*******presenter files<br>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="location_detail" class="location_detail col">
|
||||
<!--
|
||||
<div class="card">
|
||||
<div class="card-header">Session Files:</div>
|
||||
<div class="card-body">
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item btn btn-info d-flex justify-content-between align-items-center">File 1.txt<span class="badge badge-pill badge-light">91.22 KB; Jul 7 6:12 AM; win</span></li>
|
||||
<li class="list-group-item btn btn-info d-flex justify-content-between align-items-center">NASPGHAN 2020: Not happening this is long Filename 2 Hello World Todays date here.pptx<span class="badge badge-pill badge-light">1.36 MB; Sep 9 7:17 AM; mac</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">Presentations:</div>
|
||||
<div class="card-body">
|
||||
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item">
|
||||
<div class="list-group-item-heading">How do I best evaluate a cholestatic infant?</div>
|
||||
<div class="list-group-item-text">
|
||||
<ul class="list-group">
|
||||
|
||||
<li class="list-group-item list-group-item-action">Presentation File 1.txt</li>
|
||||
<li class="list-group-item list-group-item-action">Presentation File 2.pptx</li>
|
||||
<li class="list-group-item">
|
||||
<strong class="list-group-item-heading">Scott Idem</strong>
|
||||
<ul class="list-group list-group-flush list-group-item-text">
|
||||
<li class="list-group-item list-group-item-action">filename.pptx</li>
|
||||
<li class="list-group-item list-group-item-action">my new file.pptx</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="list-group-item">
|
||||
<strong class="list-group-item-heading">Holly Danner</strong>
|
||||
<ul class="list-group list-group-flush list-group-item-text">
|
||||
<li class="list-group-item list-group-item-action">another filename.key</li>
|
||||
<li class="list-group-item list-group-item-action">my new file.pptx</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="list-group-item">
|
||||
<strong class="list-group-item-heading">Rick Mathews</strong>
|
||||
<ul class="list-group list-group-flush list-group-item-text">
|
||||
<li class="list-group-item list-group-item-action">another filename.key</li>
|
||||
<li class="list-group-item list-group-item-action">my new file.pptx</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
<div class="list-group-item-heading">Common Feeding Problems and Management Strategies in Autism Spectrum Disorder</div>
|
||||
<div class="list-group-item-text">
|
||||
<ul class="list-group">
|
||||
|
||||
<li class="list-group-item list-group-item-action">Presentation File 2.pptx</li>
|
||||
<li class="list-group-item">
|
||||
<strong class="list-group-item-heading">Scott Idem</strong>
|
||||
<ul class="list-group list-group-flush list-group-item-text">
|
||||
<li class="list-group-item list-group-item-action">filename.pptx</li>
|
||||
<li class="list-group-item list-group-item-action">my new file.pptx</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="list-group-item">
|
||||
<strong class="list-group-item-heading">Rick Mathews</strong>
|
||||
<ul class="list-group list-group-flush list-group-item-text">
|
||||
<li class="list-group-item list-group-item-action">another filename.key</li>
|
||||
<li class="list-group-item list-group-item-action">my new file.pptx</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<br><br>
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header">Presentations:</div>
|
||||
<div class="card-body">
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">File 1.txt</li>
|
||||
<li class="list-group-item">Filename 2.pptx</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
<div class="list-group-item-heading"><strong>Scott Idem:</strong></div>
|
||||
<div class="list-group-item-text">
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">File 1.txt</li>
|
||||
<li class="list-group-item">Filename 2.pptx</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="list-group-item">
|
||||
<div class="list-group-item-heading"><strong>Holly Danner:</strong></div>
|
||||
<div class="list-group-item-text">
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">New File 1.txt</li>
|
||||
<li class="list-group-item">My Filename 2.pptx</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">Scott Idem:</div>
|
||||
<div class="card-body">
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">File 1.txt</li>
|
||||
<li class="list-group-item">Filename 2.pptx</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">Holly Danner:</div>
|
||||
<div class="card-body">
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">File 1.txt</li>
|
||||
<li class="list-group-item">Filename 2.pptx</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
</div>
|
||||
</div> <!-- end row div -->
|
||||
|
||||
</div>
|
||||
<!--</main>--> <!-- /.container -->
|
||||
|
||||
|
||||
|
||||
<!-- JavaScript (JS) start -->
|
||||
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.30.1/date_fns.min.js" integrity="sha256-wCBClaCr6pJ7sGU5kfb3gQMOOcIZNzaWpWcj/lD9Vfk=" crossorigin="anonymous"></script>
|
||||
|
||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.15.3/axios.min.js" crossorigin></script>
|
||||
|
||||
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js" crossorigin></script>
|
||||
|
||||
<!--<script src="https://cdn.jsdelivr.net/npm/idb-keyval@3/dist/idb-keyval-iife.min.js"></script>-->
|
||||
<!--<script src="https://unpkg.com/dexie@latest/dist/dexie.js"></script>-->
|
||||
<script src="https://cdn.rawgit.com/mozilla/localForage/master/dist/localforage.js"></script>
|
||||
|
||||
<!--
|
||||
Using node.js may require this: npm install jquery, add script below.
|
||||
https://stackoverflow.com/questions/22658015/bootstrap-throws-uncaught-error-bootstraps-javascript-requires-jquery
|
||||
-->
|
||||
<!--
|
||||
<script>
|
||||
window.jQuery = window.$ = require('jquery');
|
||||
</script>
|
||||
-->
|
||||
|
||||
<!-- One Sky IT default custom JavaScript (JS) -->
|
||||
|
||||
<!-- One Sky IT site custom JavaScript (JS) -->
|
||||
<script>const app = require('./js/module_app');</script>
|
||||
<script>const api = require('./js/module_api');</script>
|
||||
<script>const idb = require('./js/module_app_idb');</script>
|
||||
<script>const ui = require('./js/module_app_ui');</script>
|
||||
<!--<script src="js/api.js"></script>-->
|
||||
<!--<script src="js/script.js"></script>-->
|
||||
<!--<script src="js/testing.js"></script>-->
|
||||
|
||||
<script>
|
||||
let app_config = app.load_config();
|
||||
let account_id = app_config.account_id;
|
||||
let event_id = app_config.event_id;
|
||||
let event_location_id = app_config.event_location_id;
|
||||
|
||||
const secret_key = app_config.api_secret_key;
|
||||
let api_temporary_token = null;
|
||||
|
||||
let api_base_url = null; // 'http://api.localhost:5001' 'https://api.oneskyit.com'
|
||||
|
||||
if (app_config.use_local_api) {
|
||||
api_base_url = app_config.api_local_base_url; // 'http://api.localhost:5001'
|
||||
} else {
|
||||
api_base_url = app_config.api_remote_base_url; // 'https://api.oneskyit.com'
|
||||
}
|
||||
|
||||
axios.defaults.baseURL = api_base_url;
|
||||
axios.defaults.headers.post['Access-Control-Allow-Origin'] = app_config.access_control_allow_origin; // '*';
|
||||
|
||||
api.api_token_request_async(axios, secret_key).then( function(result) {
|
||||
console.log('Setting temporary API token to axios Authorization header: '+result);
|
||||
axios.defaults.headers.common['Authorization'] = `Token ${result}`;
|
||||
api_temporary_token = result;
|
||||
return result;
|
||||
});
|
||||
|
||||
|
||||
let idb_name = app_config.idb_name;
|
||||
|
||||
if (window.indexedDB) {
|
||||
console.log('IndexedDB is supported');
|
||||
/*
|
||||
var tbl_event = new idbKeyval.Store(idb_name, 'event');
|
||||
var tbl_event_location = new idbKeyval.Store(idb_name, 'event_location');
|
||||
var tbl_event_session = new idbKeyval.Store(idb_name, 'event_session');
|
||||
var tbl_event_presentation = new idbKeyval.Store(idb_name, 'event_presentation');
|
||||
var tbl_event_presenter = new idbKeyval.Store(idb_name, 'event_presenter');
|
||||
var tbl_event_file = new idbKeyval.Store(idb_name, 'event_file');
|
||||
var tbl_hosted_file = new idbKeyval.Store(idb_name, 'hosted_file');
|
||||
*/
|
||||
} else {
|
||||
console.log('IndexedDB is NOT supported');
|
||||
close();
|
||||
}
|
||||
|
||||
localforage.config({
|
||||
driver: localforage.INDEXEDDB,
|
||||
version: 1,
|
||||
name: idb_name
|
||||
});
|
||||
|
||||
var tbl_event = localforage.createInstance({
|
||||
name: idb_name,
|
||||
storeName: 'event',
|
||||
});
|
||||
var tbl_event_location = localforage.createInstance({
|
||||
name: idb_name,
|
||||
storeName: 'event_location',
|
||||
});
|
||||
var tbl_event_session = localforage.createInstance({
|
||||
name: idb_name,
|
||||
storeName: 'event_session',
|
||||
});
|
||||
var tbl_event_presentation = localforage.createInstance({
|
||||
name: idb_name,
|
||||
storeName: 'event_presentation',
|
||||
});
|
||||
var tbl_event_presenter = localforage.createInstance({
|
||||
name: idb_name,
|
||||
storeName: 'event_presenter',
|
||||
});
|
||||
var tbl_event_file = localforage.createInstance({
|
||||
name: idb_name,
|
||||
storeName: 'event_file',
|
||||
});
|
||||
var tbl_hosted_file = localforage.createInstance({
|
||||
name: idb_name,
|
||||
storeName: 'hosted_file',
|
||||
});
|
||||
|
||||
/*
|
||||
function tbl_check(value, key, iteration) {
|
||||
console.log(value);
|
||||
}
|
||||
|
||||
function tbl_check_success(result) {
|
||||
console.log(result);
|
||||
}
|
||||
function tbl_check_error(result) {
|
||||
console.log(result);
|
||||
}
|
||||
*/
|
||||
//console.log('Table data?');
|
||||
//console.log(tbl_event);
|
||||
//console.log('Table data? ^^^^');
|
||||
//tbl_event_session.iterate(tbl_check, tbl_check_success, tbl_check_error); //tbl_check(value, key, iteration)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//tbl_event.setItem(Math.random().toString(), Math.random());
|
||||
//tbl_event_location.setItem('99', 'hello world 2');
|
||||
|
||||
//store.setItem("key", "value");
|
||||
//otherStore.setItem("key", "value2");
|
||||
|
||||
/*
|
||||
var db_test = indexedDB.open(idb_name, 1);
|
||||
var tbl_test = db_test.createObjectStore("tbl_test", "id", false);
|
||||
|
||||
idb_names = Dexie.getDatabaseNames();
|
||||
if (idb_names.length === 0) {
|
||||
console.log("No databases found.");
|
||||
} else {
|
||||
console.log(idb_names);
|
||||
for (var i in idb_names) {
|
||||
if (idb_names[i] == idb_name) {
|
||||
} else {
|
||||
var db = new Dexie(idb_name);
|
||||
db.version(1).stores({event: "id,name,test", event_location: "id,name,test2"});
|
||||
db.open();
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
//const main_loop_interval = app_config.main_loop_interval; //2000; // 2 seconds
|
||||
const main_loop_interval = 3000; //10000; // 10 seconds
|
||||
|
||||
idb_event_check_period = app_config.idb_event_check_period;
|
||||
idb_event_check_datetime = Date.now();
|
||||
idb_event_location_check_period = app_config.idb_event_location_check_period;
|
||||
idb_event_location_check_datetime = Date.now();
|
||||
idb_event_session_check_period = app_config.idb_event_session_check_period;
|
||||
idb_event_session_check_datetime = Date.now();
|
||||
idb_event_presentation_check_period = app_config.idb_event_presentation_check_period;
|
||||
idb_event_presentation_check_datetime = Date.now();
|
||||
idb_event_presenter_check_period = app_config.idb_event_presenter_check_period;
|
||||
idb_event_presenter_check_datetime = Date.now();
|
||||
idb_event_file_check_period = app_config.idb_event_file_check_period;
|
||||
idb_event_file_check_datetime = Date.now();
|
||||
|
||||
const idb_check_period = app_config.idb_check_period; //30000; // 60 seconds
|
||||
// The datetime is when it should be checked again, not when it was last checked.
|
||||
// It may be good to split the object check period into event, location, session, presentation, presenter
|
||||
let idb_check_datetime = Date.now(); // default to current datetime in ms
|
||||
// The datetime is when it should be checked again, not when it was last checked.
|
||||
// It may be good to split the file check period into event, location, session, presentation, presenter
|
||||
let launcher_files_check_datetime = Date.now(); // default to current datetime in ms
|
||||
|
||||
const host_file_cache_path = app_config.host_file_cache_path; //'file_cache/';
|
||||
const host_file_cache_check_period = app_config.host_file_cache_check_period; //30000; // 30 seconds
|
||||
|
||||
let launcher = new Object(); // This will create the something like location > sessions and location files > presenters and session files > presenter files
|
||||
//let v2_launcher = new Object();
|
||||
launcher.account_id = account_id;
|
||||
launcher.event_id = event_id;
|
||||
launcher.event_location_id = event_location_id;
|
||||
|
||||
let idb_to_launcher_result = false;
|
||||
//let launcher_cache_check_results = false;
|
||||
let launcher_render_results = false;
|
||||
|
||||
// Development variables:
|
||||
//let account_id = 12;
|
||||
//let event_id = 14;
|
||||
//let event_location_id = 13;
|
||||
//let event_session_id = 827;
|
||||
//let event_presentation_id = 2002;
|
||||
//let event_presenter_id = 2539;
|
||||
//let event_file_id = 28;
|
||||
|
||||
|
||||
|
||||
setInterval(async function() {
|
||||
if (typeof axios.defaults.headers.common['Authorization'] !== 'undefined' && axios.defaults.headers.common['Authorization'] != null && true == true) {
|
||||
|
||||
if (idb_event_check_datetime < Date.now()) {
|
||||
console.log('Time to check events');
|
||||
let v2_account_events = await api.v2_get_account_events(axios, launcher.account_id);
|
||||
for (var i in v2_account_events) {
|
||||
tbl_event.setItem(v2_account_events[i].id.toString(), v2_account_events[i]);
|
||||
}
|
||||
idb_event_check_datetime = Date.now() + idb_event_check_period;
|
||||
}
|
||||
|
||||
if (idb_event_location_check_datetime < Date.now()) {
|
||||
console.log('Time to check event locations');
|
||||
let v2_event_locations = await api.v2_get_event_locations(axios, launcher.event_id);
|
||||
for (var i in v2_event_locations) {
|
||||
tbl_event_location.setItem(v2_event_locations[i].id.toString(), v2_event_locations[i]);
|
||||
}
|
||||
idb_event_location_check_datetime = Date.now() + idb_event_location_check_period;
|
||||
}
|
||||
|
||||
if (idb_event_session_check_datetime < Date.now()) {
|
||||
console.log('Time to check event location sessions');
|
||||
let v2_event_sessions = await api.v2_get_event_location_sessions(axios, launcher.event_location_id);
|
||||
for (var i in v2_event_sessions) {
|
||||
tbl_event_session.setItem(v2_event_sessions[i].id.toString(), v2_event_sessions[i]);
|
||||
}
|
||||
idb_event_session_check_datetime = Date.now() + idb_event_session_check_period;
|
||||
}
|
||||
|
||||
if (idb_event_presentation_check_datetime < Date.now()) {
|
||||
console.log('Time to check event location presentations');
|
||||
let v2_event_presentations = await api.v2_get_event_location_presentations(axios, launcher.event_location_id);
|
||||
for (var i in v2_event_presentations) {
|
||||
tbl_event_presentation.setItem(v2_event_presentations[i].id.toString(), v2_event_presentations[i]);
|
||||
}
|
||||
idb_event_presentation_check_datetime = Date.now() + idb_event_presentation_check_period;
|
||||
}
|
||||
|
||||
if (idb_event_presenter_check_datetime < Date.now()) {
|
||||
console.log('Time to check event location presenters');
|
||||
let v2_event_presenters = await api.v2_get_event_location_presenters(axios, launcher.event_location_id);
|
||||
for (var i in v2_event_presenters) {
|
||||
tbl_event_presenter.setItem(v2_event_presenters[i].id.toString(), v2_event_presenters[i]);
|
||||
}
|
||||
idb_event_presenter_check_datetime = Date.now() + idb_event_presenter_check_period;
|
||||
}
|
||||
|
||||
if (idb_event_file_check_datetime < Date.now()) {
|
||||
console.log('Time to check event location files');
|
||||
let v2_event_files = await api.v2_get_event_location_files(axios, launcher.event_location_id);
|
||||
for (var i in v2_event_files) {
|
||||
tbl_event_file.setItem(v2_event_files[i].event_file_id.toString(), v2_event_files[i]);
|
||||
}
|
||||
idb_event_file_check_datetime = Date.now() + idb_event_file_check_period;
|
||||
}
|
||||
|
||||
if (!idb_to_launcher_result) {
|
||||
console.log('index.html: v2 idb_to_launcher_result is false. Run idb_to_launcher. ***');
|
||||
idb_to_launcher_result = await idb.idb_to_launcher(launcher);
|
||||
console.log('index.html: v2 launcher object: ***');
|
||||
console.log(launcher);
|
||||
console.log('index.html: v2 launcher object: ^^^');
|
||||
|
||||
check_file_cache = idb.check_file_cache();
|
||||
} else {
|
||||
console.log('index.html: v2 idb_to_launcher result is true ***');
|
||||
|
||||
if (idb_check_datetime < current_datetime) {
|
||||
console.log('Render launcher...');
|
||||
launcher_render_results = await ui.launcher_render(launcher);
|
||||
idb_check_datetime = Date.now() + idb_check_period;
|
||||
} else {
|
||||
console.log('Waiting to render launcher again...');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
current_datetime = Date.now();
|
||||
//let launcher_cache_check_results = false;
|
||||
/*
|
||||
if (idb_check_datetime < current_datetime) {
|
||||
launcher_cache_check_results = idb.launcher_cache_check(launcher, api_base_url, api_temporary_token, host_file_cache_path);
|
||||
|
||||
launcher_cache_check_results.then(function (response) {
|
||||
console.log(launcher);
|
||||
idb_check_datetime = Date.now() + idb_check_period;
|
||||
|
||||
launcher_render_results = ui.launcher_render(launcher);
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
} else {
|
||||
console.log('Waiting '+main_loop_interval+'ms to see if Authorization header is set.');
|
||||
}
|
||||
}, main_loop_interval);
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//const custom_store = new idbKeyval.Store('custom_db', 'custom_store_name');
|
||||
//idbKeyval.set('foo', 'bar', custom_store);
|
||||
|
||||
</script>
|
||||
|
||||
<!-- <script src="js/launcher.js"></script>-->
|
||||
<!-- JavaScript (JS) end -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user