From ca564689bae72a8a4a95e935fd9e7baaf2adeff2 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Thu, 5 Mar 2020 15:04:40 -0500 Subject: [PATCH] Still working on network online offline detection. --- app/.index.html.kate-swp | Bin 0 -> 62 bytes app/index.html | 168 ++++++++++++++++++++---------------- app/js/.app_api.js.kate-swp | Bin 0 -> 220 bytes 3 files changed, 92 insertions(+), 76 deletions(-) create mode 100644 app/.index.html.kate-swp create mode 100644 app/js/.app_api.js.kate-swp diff --git a/app/.index.html.kate-swp b/app/.index.html.kate-swp new file mode 100644 index 0000000000000000000000000000000000000000..4a72df8f76d1a832c0d58fb58e0eadbb43d96746 GIT binary patch literal 62 zcmZQzU=Z?7EJ;-eE>A2_aLdd|RWQ;sU|?VnS=n&j&{%TjrxU&ZcA4mlY290W@ldcQ Q0|VnUpsXVhGwQhl08AqiYXATM literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a07ce60b671c69ed4260ffa03fc6163ee72aaa13 GIT binary patch literal 220 zcmZQzU=Z?7EJ;-eE>A2_aLdd|RWQ;sU|?VnslHv5uuty1rjO#{A1qcabK(!OT?!5Y z%7_6m2M`N*B5@dtT!UeJPM|nrDuT}i;uj