From c285483cec402a7550bc7ebd57bb06d1f9cf4c10 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 31 Jan 2020 23:54:30 -0500 Subject: [PATCH] Presentations are sort of showing up correctly now. Need to get rid of duplicates and other things still. --- app/index.html | 6 +- app/js/.module_app_ui_v2.js.kate-swp | Bin 6238 -> 0 bytes app/js/module_app_ui_v2.js | 147 ++++++++++++++++++++++++++- 3 files changed, 148 insertions(+), 5 deletions(-) delete mode 100644 app/js/.module_app_ui_v2.js.kate-swp diff --git a/app/index.html b/app/index.html index 4142282..f4fbecd 100644 --- a/app/index.html +++ b/app/index.html @@ -236,8 +236,8 @@ const open_tables_loop_interval = 10; // only runs on start up const update_idb_loop_interval = 500; // loop forever; update when check datetime has passed - const idb_to_launcher_loop_interval = 1000; // loop forever; only run when one or more tables are updated - const update_render_loop_interval = 1000; // loop forever; only run when the launcher object is safe + const idb_to_launcher_loop_interval = 5000; // loop forever; only run when one or more tables are updated + 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 // Axios needs to authenticate first @@ -390,7 +390,6 @@ safe_to_render_launcher = false; // Set to false so that the launcher render only starts after the launcher object has updated idb_event_session_check_datetime = Date.now() + idb_event_session_check_period; let render_event_session_records_result = uiv2.render_event_session_records(); // NOTE: v2 idb to ui - //ui.index_launcher_sessions('btn_view_session'); // NOTE: This should probably go in module_app_ui_v2.js } if (idb_event_presentation_check_datetime < Date.now()) { @@ -402,6 +401,7 @@ run_idb_to_launcher = true; // Set to true so that the launcher object is rebuilt safe_to_render_launcher = false; // Set to false so that the launcher render only starts after the launcher object has updated idb_event_presentation_check_datetime = Date.now() + idb_event_presentation_check_period; + let render_event_presentation_records_result = uiv2.render_event_presentation_records(); // NOTE: v2 idb to ui } if (idb_event_presenter_check_datetime < Date.now()) { diff --git a/app/js/.module_app_ui_v2.js.kate-swp b/app/js/.module_app_ui_v2.js.kate-swp deleted file mode 100644 index ac68b650d9923cc2a8bc32e79edc3b5d8280e136..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6238 zcmds*U2jxX6ozN$w6thTsVK^a9+UzFEEN>xJH!-YG{&@PxHOF&r4ic(Dqec6@y6ev ze@3AdFZ@5Q=RJGRdeh8>TzKOoC!Oc4eb!!kul268JDpBv=9AU!ezW}j>Q-}i{XxIE zG{4a4bPoUW!`;7kc7NL$|FwVW^Up5)^z)G)?=9a8%kObrU0nV+{`?UapM6cUC>uBS zwYDd+6dQxNu`jOf#l__uGQyp6$-TjdrTE4(+!@_7z#bSKJV0=IpdI`)kk3d{qvOs< zYuu5k8kuTvhgd6UVcgK8@wXcbt*lT#O;#kE$zzN+-Vbl3eSD9<33xm02jKh3FTf9z zUxdy7B>Y|4r{J%X55nee8n*Quf*d`r|J)HrHZ~95ok) z=w$Vwvw?GoX9CYAo(?>dI2(Ant$pU0ZTD_BzVa!xk20|KhFWWUQpQSd{!nGu;-w6$ zG%3S2SIUTm)^))L5*a>`h_~@XWVk<(SjG|wbu=-k)2qt>)UWHjy0N&t5`TA|t4sU` zdr^b@zjq1M(nou0DQcmvUtQK}MYUu?Q!PEn@zjnBP5WnENnO_bsmq$bNuIaHpf3AW z`d62=@#?bHwbf;RfC+YdEDi%*Tv>}rIT4>dwtKW(a>DcB#nm@`ez^Ggr(e9gfY-#K_b z^LHMOc&g^%3yBOrpQH7(MX#rAbr`9x2I|FD03O9VyJ8lw{)@wzHhZ zNuQKt`!n=NVe65SY(6Q;_D4#x`GzXV_D@Q(@zR3%8>)pbGr!V;9hs^YYNt{0+x{)E ze)InhZ1zig_%dwydKb3+eGiWH)HBVMHniQi&1a0$em(DV)8zxZd|;Ok?DBzKKCsIN zcKN_AA9yOR+DT#82kiQQT_3RP19pADt`FGt0lPk6*9YwSfL$N3>jT!CrsNNHeZZ~{ z*!2OsKHw&=d(nqOBSZ^AeU-~HZj$QgF z^$trPHox8#wja`m`JazxYQ6Kk>jRcPEPm;u)H`raxSXn}6lKUf^uL zJ2mBevZk~)$CM}UY;E;7)|#z{{YU+c?bYq|&5cLR`o{KVvwgqc#7`UT^E)wCAr*hH zLMr~?58~?DKiF4cI~HAo?Z|x{wqwx^*p5XvVcSCaFY~iS@*ne80mIj_;;Om!BTa7= zqv_4PrnidG^pSz;9=?^x@SBNvyOGFb*E1H)y_EcK=dQ8e3U~GQQI>uij@Z2#dZik8 pYdndo*G~5|zVhjw!x_}&YAOYk-_db~oiZA2eS;(1N?%|U{y&dzROtW! diff --git a/app/js/module_app_ui_v2.js b/app/js/module_app_ui_v2.js index 917f46d..c0910c8 100644 --- a/app/js/module_app_ui_v2.js +++ b/app/js/module_app_ui_v2.js @@ -136,6 +136,54 @@ exports.render_event_session_records = function () { div_node.appendChild(h2_node); + // Add placeholder cards for session files and session presentations + // Files + let files_div_node = document.createElement('DIV'); + files_div_node.className = 'card session_files'; + + let files_header_div_node = document.createElement('DIV'); + files_header_div_node.className = 'card-header'; + + let files_header_text_node = document.createTextNode('Sessions Files:'); + files_header_div_node.appendChild(files_header_text_node); + + let files_body_div_node = document.createElement('DIV'); + files_body_div_node.className = 'card-body'; + + let files_body_ul_node = document.createElement('UL'); + files_body_ul_node.className = 'list-group list-group-flush'; + + files_body_div_node.appendChild(files_body_ul_node); + + files_div_node.appendChild(files_header_div_node); + files_div_node.appendChild(files_body_div_node); + + div_node.appendChild(files_div_node); + + // Presentations + let presentations_div_node = document.createElement('DIV'); + presentations_div_node.className = 'card session_presentations'; + + let presentations_header_div_node = document.createElement('DIV'); + presentations_header_div_node.className = 'card-header'; + + let presentations_header_text_node = document.createTextNode('Presentations:'); + presentations_header_div_node.appendChild(presentations_header_text_node); + + let presentations_body_div_node = document.createElement('DIV'); + presentations_body_div_node.className = 'card-body'; + + let presentations_body_ul_node = document.createElement('UL'); + presentations_body_ul_node.className = 'list-group list-group-flush'; + + presentations_body_div_node.appendChild(presentations_body_ul_node); + + presentations_div_node.appendChild(presentations_header_div_node); + presentations_div_node.appendChild(presentations_body_div_node); + + div_node.appendChild(presentations_div_node); + + document.getElementById('launcher_sessions').appendChild(div_node); } @@ -162,7 +210,7 @@ exports.render_event_session_records = function () { let session_valid = false; tbl_event_session.iterate(function(value, key, iteration) { - console.log(value.event_id+' ?= '+event_id+' : '+value.event_location_id+' ?= '+event_location_id+' : '+value.id+' ?= '+session_id); + //console.log(value.event_id+' ?= '+event_id+' : '+value.event_location_id+' ?= '+event_location_id+' : '+value.id+' ?= '+session_id); if (value.event_id == event_id && value.event_location_id == event_location_id && value.id == session_id) { // The session is still part of the event and the location session_valid = true; @@ -176,7 +224,6 @@ exports.render_event_session_records = function () { console.log('Keep session id '+session_id); } else { console.log('Remove session id '+session_id); - //session_list_items[i].remove(); document.getElementById('menu_event_session_'+session_id).remove(); // Remove the node from the launcher sessions menu list document.getElementById('detail_session_'+session_id).remove(); // Remove the node from the launcher sessions list } @@ -199,7 +246,103 @@ exports.render_event_session_file_records = function (events) { exports.render_event_presentation_records = function (events) { + console.log('********** ********* ****** ** * ** ****** ********* *********'); console.log('Rendering event presentation records...'); + + let launcher_sessions = document.getElementById('launcher_sessions').childNodes; //_list_items + console.log(launcher_sessions); + + for (var i in launcher_sessions) { + console.log(launcher_sessions[i].getAttribute('data-session_id')); + let session_id = launcher_sessions[i].getAttribute('data-session_id'); + + console.log(launcher_sessions[i].getElementsByClassName('session_presentations')[0].getElementsByTagName('ul').childElementCount); + let new_i = i; + if (launcher_sessions[new_i].getElementsByClassName('session_presentations')[0].getElementsByTagName('ul').childElementCount) { + console.log('Presentations listed under this session'); + console.log(launcher_sessions[i].getElementsByClassName('session_presentations')[0].getElementsByTagName('ul')); + } else { + console.log('No presentations listed under this session. Time to iterate through presentations table.'); + + console.log(new_i); + + + tbl_event_presentation.iterate(function(value, key, iteration) { + console.log('here 1??? '+new_i); + if (value.event_session_id == session_id) { + console.log('*** Presentation id ('+value.id+') is part of this session.'); + + // Add the new session to the launcher sessions list + let presentation_li_node = document.createElement('LI'); + presentation_li_node.id = 'event_presentation_'+value.id; + presentation_li_node.className = 'list-group-item'; + presentation_li_node.setAttribute('data-presentation_id', value.id); + + let presentation_li_heading_div_node = document.createElement('DIV'); + presentation_li_heading_div_node.className = 'list-group-item-heading d-flex justify-content-between align-items-center'; + + let presentation_name_strong_node = document.createElement('STRONG'); + + let presentation_name_text_node= document.createTextNode(value.name); + presentation_name_strong_node.appendChild(presentation_name_text_node); + + let presentation_heading_span_node = document.createElement('SPAN'); + presentation_heading_span_node.className = 'badge badge-pill badge-info'; + + let presentation_startdatetime = new Date(value.start_datetime); + let presentation_heading_span_text_node = document.createTextNode(dateFns.format(presentation_startdatetime, 'h:mm A')); + presentation_heading_span_node.appendChild(presentation_heading_span_text_node); + + presentation_li_heading_div_node.appendChild(presentation_name_strong_node); + presentation_li_heading_div_node.appendChild(presentation_heading_span_node); + + presentation_li_node.appendChild(presentation_li_heading_div_node); + + console.log('************ ISSUE ************'); + console.log('here 2??? '+new_i); + console.log(launcher_sessions[new_i].getElementsByClassName('session_presentations')); + launcher_sessions[new_i].getElementsByClassName('session_presentations')[0].getElementsByTagName('ul')[0].appendChild(presentation_li_node); + } else { + console.log('*** Presentation id ('+value.id+') is NOT part of this session.'); + } + }).then(function() { + console.log('idb_to_ui: Iterate tbl_event_presentation looking for presentations to update or add is complete') + /* + if (session_valid) { + console.log('Keep session id '+session_id); + } else { + console.log('Remove session id '+session_id); + document.getElementById('menu_event_session_'+session_id).remove(); // Remove the node from the launcher sessions menu list + document.getElementById('detail_session_'+session_id).remove(); // Remove the node from the launcher sessions list + } + */ + }); + + + /* +
+
Presentations:
+
+
    +
    +
    + */ + + + } + + } + + //.getElementsByTagName('ul')[0].childNodes; + + /* + + Loop through session divs + Look for presentations to update in each session. Update + Look for presentations to add in each session. Append presentations into the div + Look for presentations to remove from each session. Remove + + */ }