diff --git a/app/.index.html.kate-swp b/app/.index.html.kate-swp
new file mode 100644
index 0000000..4a72df8
Binary files /dev/null and b/app/.index.html.kate-swp differ
diff --git a/app/index.html b/app/index.html
index bc4a278..a980cf3 100644
--- a/app/index.html
+++ b/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);
+
diff --git a/app/js/.app_api.js.kate-swp b/app/js/.app_api.js.kate-swp
new file mode 100644
index 0000000..a07ce60
Binary files /dev/null and b/app/js/.app_api.js.kate-swp differ