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.
168
app/index.html
168
app/index.html
@@ -149,34 +149,24 @@
|
|||||||
// Axios needs to authenticate first
|
// Axios needs to authenticate first
|
||||||
let axios_headers_set = false;
|
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_online = false;
|
||||||
|
let app_use_cached_data = true;
|
||||||
window.addEventListener('online', app.currently_online);
|
window.addEventListener('online', app.currently_online);
|
||||||
window.addEventListener('offline', app.currently_offline);
|
window.addEventListener('offline', app.currently_offline);
|
||||||
|
|
||||||
let update_event_ui = true;
|
let update_event_ui = false;
|
||||||
let update_event_location_ui = true;
|
let update_event_location_ui = false;
|
||||||
let update_event_session_ui = true;
|
let update_event_session_ui = false;
|
||||||
let update_event_presentation_ui = true;
|
let update_event_presentation_ui = false;
|
||||||
let update_event_presenter_ui = true;
|
let update_event_presenter_ui = false;
|
||||||
let update_event_file_ui = true;
|
let update_event_file_ui = false;
|
||||||
|
|
||||||
if (window.onLine) {
|
if (navigator.onLine) {
|
||||||
app.currently_online();
|
app.currently_online();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
app.currently_offline();
|
app.currently_offline();
|
||||||
|
|
||||||
|
console.log('Using cached IDB data.');
|
||||||
update_event_ui = true;
|
update_event_ui = true;
|
||||||
update_event_location_ui = true;
|
update_event_location_ui = true;
|
||||||
update_event_session_ui = true;
|
update_event_session_ui = true;
|
||||||
@@ -200,17 +190,20 @@
|
|||||||
axios_headers_set = true;
|
axios_headers_set = true;
|
||||||
api_update_datetime = Date.now() + api_update_period;
|
api_update_datetime = Date.now() + api_update_period;
|
||||||
} else {
|
} else {
|
||||||
console.log('Not online?????????????????????????');
|
console.log('api_token_loop: Are we actually online? Setting the app to offline.');
|
||||||
console.log(window.onLine);
|
console.log(navigator.onLine);
|
||||||
if (window.onLine) {
|
app.currently_offline();
|
||||||
|
/*
|
||||||
|
if (navigator.onLine) {
|
||||||
app.currently_online();
|
app.currently_online();
|
||||||
} else {
|
} else {
|
||||||
app.currently_offline();
|
app.currently_offline();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(function (error) {
|
.catch(function (error) {
|
||||||
console.log('Something went wrong');
|
console.log('Something went wrong while trying to request a temporary API token.');
|
||||||
console.log(error);
|
console.log(error);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -397,11 +390,19 @@
|
|||||||
if (tbl_event && tbl_event_location && tbl_event_session
|
if (tbl_event && tbl_event_location && tbl_event_session
|
||||||
&& tbl_event_presentation && tbl_event_presenter
|
&& tbl_event_presentation && tbl_event_presenter
|
||||||
&& tbl_event_file) {
|
&& 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);
|
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 {
|
} else {
|
||||||
console.log('IDB tables have not yet been created or opened');
|
console.log('IDB tables have not yet been created or opened');
|
||||||
|
|
||||||
@@ -409,6 +410,37 @@
|
|||||||
}
|
}
|
||||||
}, open_tables_loop_interval);
|
}, 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() {
|
var update_idb_loop = setInterval(async function() {
|
||||||
//console.log('FLAG: axios_headers_set='+axios_headers_set);
|
//console.log('FLAG: axios_headers_set='+axios_headers_set);
|
||||||
@@ -423,8 +455,8 @@
|
|||||||
tbl_event.setItem(response[i].id.toString(), response[i]);
|
tbl_event.setItem(response[i].id.toString(), response[i]);
|
||||||
}
|
}
|
||||||
idb_event_check_datetime = Date.now() + idb_event_check_period;
|
idb_event_check_datetime = Date.now() + idb_event_check_period;
|
||||||
//let render_event_records_result = render_event_records(); // NOTE: v2 idb to ui
|
let render_event_records_result = render_event_records(); // NOTE: v2 idb to ui
|
||||||
update_event_ui = true;
|
//update_event_ui = true;
|
||||||
})
|
})
|
||||||
.catch(function (error) {
|
.catch(function (error) {
|
||||||
console.log('Trying to check events. Something went wrong. Expired token?');
|
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]);
|
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;
|
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
|
let render_event_location_records_result = render_event_location_records(); // NOTE: v2 idb to ui
|
||||||
update_event_location_ui = true;
|
//update_event_location_ui = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (idb_event_session_check_datetime < Date.now()) {
|
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]);
|
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;
|
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
|
let render_event_session_records_result = render_event_session_records(); // NOTE: v2 idb to ui
|
||||||
update_event_session_ui = true;
|
//update_event_session_ui = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (idb_event_presentation_check_datetime < Date.now()) {
|
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]);
|
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;
|
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
|
let render_event_presentation_records_result = await render_event_presentation_records(); // NOTE: v2 idb to ui
|
||||||
update_event_presentation_ui = true;
|
//update_event_presentation_ui = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (idb_event_presenter_check_datetime < Date.now()) {
|
if (idb_event_presenter_check_datetime < Date.now()) {
|
||||||
@@ -475,8 +507,8 @@
|
|||||||
}
|
}
|
||||||
idb_event_presenter_check_datetime = Date.now() + idb_event_presenter_check_period;
|
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
|
let render_event_presenter_records_result = await render_event_presenter_records(); // NOTE: v2 idb to ui
|
||||||
update_event_presenter_ui = true;
|
//update_event_presenter_ui = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (idb_event_file_check_datetime < Date.now()) {
|
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
|
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;
|
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
|
let render_event_file_records_result = await render_event_file_records(); // NOTE: v2 idb to ui
|
||||||
update_event_file_ui = true;
|
//update_event_file_ui = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (app_online && idb_tables_opened && !axios_headers_set) {
|
} else if (app_online && idb_tables_opened && !axios_headers_set) {
|
||||||
console.log('Online and waiting for the Axios headers to be 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) {
|
} 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');
|
console.log('Online and Axios headers are set. Waiting for the IDB tables to be opened');
|
||||||
} else if (!app_online) {
|
} else if (!app_online) {
|
||||||
console.log('Waiting to update IDB once online.');
|
console.log('Waiting to update IDB once online.');
|
||||||
console.log('Using cached IDB data');
|
|
||||||
} else {
|
} else {
|
||||||
console.log('This should not happen.');
|
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() {
|
var check_file_cache_loop = setInterval(async function() {
|
||||||
@@ -583,6 +577,28 @@
|
|||||||
}, check_file_cache_loop_interval);
|
}, 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>
|
||||||
|
|
||||||
<!-- <script src="js/launcher.js"></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