Still working on network online offline detection.
This commit is contained in:
BIN
app/.index.html.kate-swp
Normal file
BIN
app/.index.html.kate-swp
Normal file
Binary file not shown.
166
app/index.html
166
app/index.html
@@ -149,34 +149,24 @@
|
||||
// Axios needs to authenticate first
|
||||
let axios_headers_set = false;
|
||||
|
||||
/*if (app_online) {
|
||||
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;
|
||||
});
|
||||
} else {
|
||||
console.log('Currently offline. Can not request temporary API token.');
|
||||
}*/
|
||||
|
||||
let app_online = false;
|
||||
let app_use_cached_data = true;
|
||||
window.addEventListener('online', app.currently_online);
|
||||
window.addEventListener('offline', app.currently_offline);
|
||||
|
||||
let update_event_ui = true;
|
||||
let update_event_location_ui = true;
|
||||
let update_event_session_ui = true;
|
||||
let update_event_presentation_ui = true;
|
||||
let update_event_presenter_ui = true;
|
||||
let update_event_file_ui = true;
|
||||
let update_event_ui = false;
|
||||
let update_event_location_ui = false;
|
||||
let update_event_session_ui = false;
|
||||
let update_event_presentation_ui = false;
|
||||
let update_event_presenter_ui = false;
|
||||
let update_event_file_ui = false;
|
||||
|
||||
if (window.onLine) {
|
||||
if (navigator.onLine) {
|
||||
app.currently_online();
|
||||
|
||||
} else {
|
||||
app.currently_offline();
|
||||
|
||||
console.log('Using cached IDB data.');
|
||||
update_event_ui = true;
|
||||
update_event_location_ui = true;
|
||||
update_event_session_ui = true;
|
||||
@@ -200,17 +190,20 @@
|
||||
axios_headers_set = true;
|
||||
api_update_datetime = Date.now() + api_update_period;
|
||||
} else {
|
||||
console.log('Not online?????????????????????????');
|
||||
console.log(window.onLine);
|
||||
if (window.onLine) {
|
||||
console.log('api_token_loop: Are we actually online? Setting the app to offline.');
|
||||
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');
|
||||
console.log('Something went wrong while trying to request a temporary API token.');
|
||||
console.log(error);
|
||||
});
|
||||
|
||||
@@ -397,11 +390,19 @@
|
||||
if (tbl_event && tbl_event_location && tbl_event_session
|
||||
&& tbl_event_presentation && tbl_event_presenter
|
||||
&& tbl_event_file) {
|
||||
console.log('IDB tables have been opened');
|
||||
console.log('IDB tables have now been opened.');
|
||||
idb_tables_opened = true;
|
||||
|
||||
clearInterval(open_tables_loop);
|
||||
|
||||
idb_tables_opened = true;
|
||||
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();
|
||||
|
||||
} else {
|
||||
console.log('IDB tables have not yet been created or opened');
|
||||
|
||||
@@ -409,6 +410,37 @@
|
||||
}
|
||||
}, open_tables_loop_interval);
|
||||
|
||||
/*
|
||||
var use_cached_data_render_loop = setInterval(async function() {
|
||||
console.log('*** Update Render Loop ***');
|
||||
if (idb_tables_opened) {
|
||||
if (update_event_ui) {
|
||||
let render_event_records_result = render_event_records();
|
||||
update_event_ui = false;
|
||||
}
|
||||
if (update_event_location_ui) {
|
||||
let render_event_location_records_result = render_event_location_records();
|
||||
update_event_location_ui = false;
|
||||
}
|
||||
if (update_event_session_ui) {
|
||||
let render_event_session_records_result = render_event_session_records();
|
||||
update_event_session_ui = false;
|
||||
}
|
||||
if (update_event_presentation_ui) {
|
||||
let render_event_presentation_records_result = await render_event_presentation_records();
|
||||
update_event_presentation_ui = false;
|
||||
}
|
||||
if (update_event_presenter_ui) {
|
||||
let render_event_presenter_records_result = await render_event_presenter_records();
|
||||
update_event_presenter_ui = false;
|
||||
}
|
||||
if (update_event_file_ui) {
|
||||
let render_event_file_records_result = await render_event_file_records();
|
||||
update_event_file_ui = false;
|
||||
}
|
||||
}
|
||||
}, use_cached_data_render_loop_interval);
|
||||
*/
|
||||
|
||||
var update_idb_loop = setInterval(async function() {
|
||||
//console.log('FLAG: axios_headers_set='+axios_headers_set);
|
||||
@@ -423,8 +455,8 @@
|
||||
tbl_event.setItem(response[i].id.toString(), response[i]);
|
||||
}
|
||||
idb_event_check_datetime = Date.now() + idb_event_check_period;
|
||||
//let render_event_records_result = render_event_records(); // NOTE: v2 idb to ui
|
||||
update_event_ui = true;
|
||||
let render_event_records_result = render_event_records(); // NOTE: v2 idb to ui
|
||||
//update_event_ui = true;
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.log('Trying to check events. Something went wrong. Expired token?');
|
||||
@@ -440,8 +472,8 @@
|
||||
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;
|
||||
//let render_event_location_records_result = render_event_location_records(); // NOTE: v2 idb to ui
|
||||
update_event_location_ui = true;
|
||||
let render_event_location_records_result = render_event_location_records(); // NOTE: v2 idb to ui
|
||||
//update_event_location_ui = true;
|
||||
}
|
||||
|
||||
if (idb_event_session_check_datetime < Date.now()) {
|
||||
@@ -452,8 +484,8 @@
|
||||
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;
|
||||
//let render_event_session_records_result = render_event_session_records(); // NOTE: v2 idb to ui
|
||||
update_event_session_ui = true;
|
||||
let render_event_session_records_result = render_event_session_records(); // NOTE: v2 idb to ui
|
||||
//update_event_session_ui = true;
|
||||
}
|
||||
|
||||
if (idb_event_presentation_check_datetime < Date.now()) {
|
||||
@@ -463,8 +495,8 @@
|
||||
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;
|
||||
//let render_event_presentation_records_result = await render_event_presentation_records(); // NOTE: v2 idb to ui
|
||||
update_event_presentation_ui = true;
|
||||
let render_event_presentation_records_result = await render_event_presentation_records(); // NOTE: v2 idb to ui
|
||||
//update_event_presentation_ui = true;
|
||||
}
|
||||
|
||||
if (idb_event_presenter_check_datetime < Date.now()) {
|
||||
@@ -475,8 +507,8 @@
|
||||
}
|
||||
idb_event_presenter_check_datetime = Date.now() + idb_event_presenter_check_period;
|
||||
|
||||
//let render_event_presenter_records_result = await render_event_presenter_records(); // NOTE: v2 idb to ui
|
||||
update_event_presenter_ui = true;
|
||||
let render_event_presenter_records_result = await render_event_presenter_records(); // NOTE: v2 idb to ui
|
||||
//update_event_presenter_ui = true;
|
||||
}
|
||||
|
||||
if (idb_event_file_check_datetime < Date.now()) {
|
||||
@@ -510,26 +542,16 @@
|
||||
run_check_file_cache = true; // Set to true so that the local file cache will be checked against the updated event files
|
||||
idb_event_file_check_datetime = Date.now() + idb_event_file_check_period;
|
||||
|
||||
//let render_event_file_records_result = await render_event_file_records(); // NOTE: v2 idb to ui
|
||||
update_event_file_ui = true;
|
||||
let render_event_file_records_result = await render_event_file_records(); // NOTE: v2 idb to ui
|
||||
//update_event_file_ui = true;
|
||||
}
|
||||
|
||||
} else if (app_online && idb_tables_opened && !axios_headers_set) {
|
||||
console.log('Online and waiting for the Axios headers to be set.');
|
||||
console.log('Using 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();
|
||||
*/
|
||||
} else if (app_online && axios_headers_set && !idb_tables_opened) {
|
||||
console.log('Online and Axios headers are set. Waiting for the IDB tables to be opened');
|
||||
} else if (!app_online) {
|
||||
console.log('Waiting to update IDB once online.');
|
||||
console.log('Using cached IDB data');
|
||||
} else {
|
||||
console.log('This should not happen.');
|
||||
}
|
||||
@@ -537,35 +559,7 @@
|
||||
|
||||
|
||||
|
||||
var update_render_loop = setInterval(async function() {
|
||||
console.log('*** Update Render Loop ***');
|
||||
|
||||
if (update_event_ui) {
|
||||
let render_event_records_result = render_event_records();
|
||||
update_event_ui = false;
|
||||
}
|
||||
if (update_event_location_ui) {
|
||||
let render_event_location_records_result = render_event_location_records();
|
||||
update_event_location_ui = false;
|
||||
}
|
||||
if (update_event_session_ui) {
|
||||
let render_event_session_records_result = render_event_session_records();
|
||||
update_event_session_ui = false;
|
||||
}
|
||||
if (update_event_presentation_ui) {
|
||||
let render_event_presentation_records_result = await render_event_presentation_records();
|
||||
update_event_presentation_ui = false;
|
||||
}
|
||||
if (update_event_presenter_ui) {
|
||||
let render_event_presenter_records_result = await render_event_presenter_records();
|
||||
update_event_presenter_ui = false;
|
||||
}
|
||||
if (update_event_file_ui) {
|
||||
let render_event_file_records_result = await render_event_file_records();
|
||||
update_event_file_ui = false;
|
||||
}
|
||||
|
||||
}, update_render_loop_interval);
|
||||
|
||||
|
||||
var check_file_cache_loop = setInterval(async function() {
|
||||
@@ -583,6 +577,28 @@
|
||||
}, check_file_cache_loop_interval);
|
||||
|
||||
|
||||
var check_initial_online_status = setInterval(async function() {
|
||||
console.log('check_initial_online_status online check?');
|
||||
console.log(navigator.onLine);
|
||||
if (navigator.onLine) {
|
||||
app.currently_online();
|
||||
|
||||
} else {
|
||||
app.currently_offline();
|
||||
|
||||
console.log('Using cached IDB data.');
|
||||
|
||||
update_event_ui = true;
|
||||
update_event_location_ui = true;
|
||||
update_event_session_ui = true;
|
||||
update_event_presentation_ui = true;
|
||||
update_event_presenter_ui = true;
|
||||
update_event_file_ui = true;
|
||||
|
||||
}
|
||||
clearInterval(check_initial_online_status);
|
||||
}, 1000);
|
||||
|
||||
</script>
|
||||
|
||||
<!-- <script src="js/launcher.js"></script>-->
|
||||
|
||||
BIN
app/js/.app_api.js.kate-swp
Normal file
BIN
app/js/.app_api.js.kate-swp
Normal file
Binary file not shown.
Reference in New Issue
Block a user