Still working on network online offline detection...
This commit is contained in:
146
app/index.html
146
app/index.html
@@ -125,6 +125,20 @@
|
||||
let event_location_id = app_config.event_location_id;
|
||||
|
||||
|
||||
// Start set display options
|
||||
|
||||
|
||||
const display_session_codes = app_config.display_session_codes;
|
||||
const display_session_badges = app_config.display_session_badges;
|
||||
const display_presentation_codes = app_config.display_presentation_codes; // NOTE: not currently used
|
||||
const display_presentation_badges = app_config.display_presentation_badges;
|
||||
const display_presenter_codes = app_config.display_presenter_codes; // NOTE: not currently used
|
||||
const display_presenter_badges = app_config.display_presenter_badges; // NOTE: not currently used
|
||||
|
||||
|
||||
// End of set display options
|
||||
|
||||
|
||||
// Start of API section
|
||||
|
||||
const api_token_loop_interval = app_config.api_token_loop_interval;
|
||||
@@ -177,8 +191,6 @@
|
||||
|
||||
var api_token_loop = setInterval(function() {
|
||||
if (app_online && api_update_datetime < Date.now()) {
|
||||
|
||||
|
||||
let api_temporary_token = api_token_request_async(axios, secret_key)
|
||||
.then(function (result) {
|
||||
if (result) {
|
||||
@@ -190,36 +202,15 @@
|
||||
axios_headers_set = true;
|
||||
api_update_datetime = Date.now() + api_update_period;
|
||||
} else {
|
||||
console.log('api_token_loop: Are we actually online? Setting the app to offline.');
|
||||
console.log('The temporary API token appears to have failed. Are we actually online? Setting the app to offline mode.');
|
||||
console.log(navigator.onLine);
|
||||
app.currently_offline();
|
||||
/*
|
||||
if (navigator.onLine) {
|
||||
app.currently_online();
|
||||
} else {
|
||||
app.currently_offline();
|
||||
}
|
||||
*/
|
||||
}
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.log('Something went wrong while trying to request a temporary API token.');
|
||||
console.log(error);
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
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;
|
||||
|
||||
console.log('Axios headers have been set.');
|
||||
axios_headers_set = true;
|
||||
api_update_datetime = Date.now() + api_update_period;
|
||||
return result;
|
||||
});
|
||||
*/
|
||||
} else if (app_online) {
|
||||
//console.log('Currently online, but not asking for a new temporary token yet.');
|
||||
} else {
|
||||
@@ -230,6 +221,8 @@
|
||||
// End of API section
|
||||
|
||||
|
||||
// Start of IDB section
|
||||
|
||||
let idb_name = app_config.idb_name;
|
||||
|
||||
if (window.indexedDB) {
|
||||
@@ -239,7 +232,6 @@
|
||||
close();
|
||||
}
|
||||
|
||||
|
||||
var tbl_event = null;
|
||||
var tbl_event_location = null;
|
||||
var tbl_event_session = null;
|
||||
@@ -322,29 +314,11 @@
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
});
|
||||
/*
|
||||
var tbl_hosted_file = localforage.createInstance({
|
||||
name: idb_name,
|
||||
storeName: 'hosted_file',
|
||||
});
|
||||
tbl_hosted_file.length().then(function(key_count) {
|
||||
tbl_hosted_file_key_count = key_count;
|
||||
}).catch(function(err) {
|
||||
console.log(err);
|
||||
});
|
||||
*/
|
||||
|
||||
|
||||
//const api_auth_loop_interval = 100; // only runs on start up
|
||||
const open_tables_loop_interval = 10; // only runs on start up
|
||||
|
||||
//const api_token_update_loop_interval = 120000; // loop forever
|
||||
const open_tables_loop_interval = 10; // only runs briefly on start up
|
||||
|
||||
const update_idb_loop_interval = app_config.update_idb_loop_interval; // loop forever
|
||||
//const update_render_loop_interval = 10000; // loop forever; only run when the launcher object is safe
|
||||
const check_file_cache_loop_interval = 250; // loop forever; only run after the event_file table has updated
|
||||
const update_render_loop_interval = app_config.update_render_loop_interval; // loop forever
|
||||
|
||||
|
||||
// IDB tables need to be opened
|
||||
let idb_tables_opened = false;
|
||||
@@ -360,9 +334,11 @@
|
||||
let idb_event_presentation_check_datetime = Date.now();
|
||||
let idb_event_presenter_check_period = app_config.idb_event_presenter_check_period;
|
||||
let idb_event_presenter_check_datetime = Date.now();
|
||||
|
||||
let idb_event_file_check_period = app_config.idb_event_file_check_period;
|
||||
let idb_event_file_check_datetime = Date.now();
|
||||
|
||||
|
||||
let run_update_idb = false;
|
||||
let run_check_file_cache = false;
|
||||
|
||||
@@ -373,20 +349,9 @@
|
||||
let looping_tbl_event_presenter = false;
|
||||
let looping_tbl_event_file = false;
|
||||
|
||||
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
|
||||
|
||||
const display_session_codes = app_config.display_session_codes;
|
||||
const display_session_badges = app_config.display_session_badges;
|
||||
const display_presentation_codes = app_config.display_presentation_codes; // NOTE: not currently used
|
||||
const display_presentation_badges = app_config.display_presentation_badges;
|
||||
const display_presenter_codes = app_config.display_presenter_codes; // NOTE: not currently used
|
||||
const display_presenter_badges = app_config.display_presenter_badges; // NOTE: not currently used
|
||||
|
||||
let idb_tables_have_records = false;
|
||||
|
||||
|
||||
var open_tables_loop = setInterval(function() {
|
||||
var open_tables_loop = setInterval(async function() {
|
||||
if (tbl_event && tbl_event_location && tbl_event_session
|
||||
&& tbl_event_presentation && tbl_event_presenter
|
||||
&& tbl_event_file) {
|
||||
@@ -396,13 +361,59 @@
|
||||
clearInterval(open_tables_loop);
|
||||
|
||||
console.log('Attempting to use cached IDB data...');
|
||||
let render_event_records_result = render_event_records();
|
||||
let render_event_location_records_result = render_event_location_records();
|
||||
let render_event_session_records_result = render_event_session_records();
|
||||
let render_event_presentation_records_result = await render_event_presentation_records();
|
||||
let render_event_presenter_records_result = await render_event_presenter_records();
|
||||
let render_event_file_records_result = await render_event_file_records();
|
||||
|
||||
console.log('table record counts: '+tbl_event_key_count+' | '+tbl_event_location_key_count+' | '+tbl_event_session_key_count
|
||||
+' | '+tbl_event_presentation_key_count+' | '+tbl_event_presenter_key_count
|
||||
+' | '+tbl_event_file_key_count);
|
||||
|
||||
if (tbl_event_key_count
|
||||
&& tbl_event_location_key_count
|
||||
&& tbl_event_session_key_count
|
||||
&& tbl_event_presentation_key_count
|
||||
&& tbl_event_presenter_key_count
|
||||
&& tbl_event_file_key_count) {
|
||||
|
||||
|
||||
|
||||
let render_event_records_result = render_event_records();
|
||||
//setTimeout(async function(){ let render_event_records_result = await render_event_records(); }, 500);
|
||||
let render_event_location_records_result = render_event_location_records();
|
||||
//setTimeout(async function(){ let render_event_location_records_result = await render_event_location_records(); }, 1000);
|
||||
let render_event_session_records_result = render_event_session_records()
|
||||
.then(async function (result) {
|
||||
console.log('Rendering session records has finished. Moving to other records.');
|
||||
console.log(result);
|
||||
let render_event_presentation_records_result = await render_event_presentation_records();
|
||||
let render_event_presenter_records_result = await render_event_presenter_records();
|
||||
let render_event_file_records_result = await render_event_file_records();
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.log('Something went wrong rendering session records.');
|
||||
console.log(error);
|
||||
});
|
||||
/*
|
||||
let render_event_presentation_records_result = await render_event_presentation_records();
|
||||
let render_event_presenter_records_result = await render_event_presenter_records();
|
||||
let render_event_file_records_result = await render_event_file_records();
|
||||
*/
|
||||
/*
|
||||
setTimeout(async function(){
|
||||
//let render_event_session_records_result = await render_event_session_records();
|
||||
let render_event_presentation_records_result = await render_event_presentation_records();
|
||||
let render_event_presenter_records_result = await render_event_presenter_records();
|
||||
let render_event_file_records_result = await render_event_file_records();
|
||||
//index_launcher_sessions('btn_view_session');
|
||||
}, 1000);
|
||||
*/
|
||||
//let render_event_presentation_records_result = await render_event_presentation_records();
|
||||
//setTimeout(function(){ let render_event_presentation_records_result = render_event_presentation_records(); }, 3000);
|
||||
//let render_event_presenter_records_result = render_event_presenter_records();
|
||||
//setTimeout(function(){ let render_event_presenter_records_result = render_event_presenter_records(); }, 4000);
|
||||
//let render_event_file_records_result = render_event_file_records();
|
||||
//setTimeout(function(){ let render_event_file_records_result = render_event_file_records(); }, 5000);
|
||||
} else {
|
||||
console.log('One or more of the tables has 0 records.');
|
||||
}
|
||||
} else {
|
||||
console.log('IDB tables have not yet been created or opened.');
|
||||
|
||||
@@ -558,10 +569,16 @@
|
||||
}, update_idb_loop_interval);
|
||||
|
||||
|
||||
// End of IDB section
|
||||
|
||||
|
||||
// Start of cached file section
|
||||
|
||||
|
||||
const check_file_cache_loop_interval = app_config.check_file_cache_loop_interval; // loop forever; only run after the event_file table has updated
|
||||
const update_render_loop_interval = app_config.update_render_loop_interval; // loop forever
|
||||
const host_file_cache_path = app_config.host_file_cache_path; // 'file_cache/'
|
||||
|
||||
var check_file_cache_loop = setInterval(async function() {
|
||||
if (run_check_file_cache) {
|
||||
console.log('FLAG: check_file_cache='+run_check_file_cache);
|
||||
@@ -577,6 +594,11 @@
|
||||
}, check_file_cache_loop_interval);
|
||||
|
||||
|
||||
// End of cached file section
|
||||
|
||||
|
||||
|
||||
|
||||
var check_initial_online_status = setInterval(async function() {
|
||||
console.log('check_initial_online_status online check?');
|
||||
console.log(navigator.onLine);
|
||||
|
||||
Reference in New Issue
Block a user