diff options
author | Mario Vavti <mario@mariovavti.com> | 2017-11-29 11:22:59 +0100 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2017-11-29 11:22:59 +0100 |
commit | e6a59ad36fcdbe4dcb534ff700663d9588b5d734 (patch) | |
tree | a8876e58c1d6e229fd127c543987926869c3c8da | |
parent | e375224dfec3706b32bc840337f0b6f546708ace (diff) | |
download | volse-hubzilla-e6a59ad36fcdbe4dcb534ff700663d9588b5d734.tar.gz volse-hubzilla-e6a59ad36fcdbe4dcb534ff700663d9588b5d734.tar.bz2 volse-hubzilla-e6a59ad36fcdbe4dcb534ff700663d9588b5d734.zip |
allow an optional notify_id arg for liveUpdate()
-rw-r--r-- | view/js/main.js | 11 | ||||
-rw-r--r-- | view/js/mod_hq.js | 126 | ||||
-rw-r--r-- | view/tpl/notifications_widget.tpl | 2 |
3 files changed, 11 insertions, 128 deletions
diff --git a/view/js/main.js b/view/js/main.js index 84a963d3f..c9bde8452 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -692,7 +692,7 @@ function updateInit() { } } -function liveUpdate() { +function liveUpdate(notify_id) { if(typeof profile_uid === 'undefined') profile_uid = false; /* Should probably be unified with channelId defined in head.tpl */ @@ -762,6 +762,15 @@ function liveUpdate() { // else data was valid - reset the recursion counter liveRecurse = 0; + if(notify_id !== 'undefined') { + $.post( + "hq", + { + "notify_id" : notify_id + } + ); + } + var dready = new Date(); console.log('DATA ready in: ' + (dready - dstart)/1000 + ' seconds.'); diff --git a/view/js/mod_hq.js b/view/js/mod_hq.js index d61a4ff3b..b321382bd 100644 --- a/view/js/mod_hq.js +++ b/view/js/mod_hq.js @@ -8,129 +8,3 @@ $(document).on('click', '#jot-toggle', function(e) { $('#profile-jot-text').focus(); }); - -function hqLiveUpdate(notify_id) { - - if(typeof profile_uid === 'undefined') profile_uid = false; /* Should probably be unified with channelId defined in head.tpl */ - - if((src === null) || (stopped) || (! profile_uid)) { $('.like-rotator').hide(); return; } - - if(($('.comment-edit-text.expanded').length) || (in_progress) || (mediaPlaying)) { - if(livetime) { - clearTimeout(livetime); - } - livetime = setTimeout(liveUpdate, 10000); - return; - } - - if(livetime !== null) - livetime = null; - - prev = 'live-' + src; - - in_progress = true; - - var update_url; - var update_mode; - - if(scroll_next) { - bParam_page = next_page; - page_load = true; - } - else { - bParam_page = 1; - } - - update_url = buildCmd(); - - if(page_load) { - $("#page-spinner").show(); - if(bParam_page == 1) - update_mode = 'replace'; - else - update_mode = 'append'; - } - else { - update_mode = 'update'; - var orgHeight = $("#region_2").height(); - } - - var dstart = new Date(); - console.log('LOADING data...'); - $.get(update_url, function(data) { - - // on shared hosts occasionally the live update process will be killed - // leaving an incomplete HTML structure, which leads to conversations getting - // truncated and the page messed up if all the divs aren't closed. We will try - // again and give up if we can't get a valid HTML response after 10 tries. - - if((data.indexOf("<html>") != (-1)) && (data.indexOf("</html>") == (-1))) { - console.log('Incomplete data. Reloading'); - in_progress = false; - liveRecurse ++; - if(liveRecurse < 10) { - liveUpdate(); - } - else { - console.log('Incomplete data. Too many attempts. Giving up.'); - } - } - - // else data was valid - reset the recursion counter - liveRecurse = 0; - - if(notify_id !== 'undefined') { - $.post( - "hq", - { - "notify_id" : notify_id - }, - function(data) { - if(timer) clearTimeout(timer); - timer = setTimeout(NavUpdate,10); - } - ); - } - - var dready = new Date(); - console.log('DATA ready in: ' + (dready - dstart)/1000 + ' seconds.'); - - if(update_mode === 'update' || preloadImages) { - console.log('LOADING images...'); - - $('.wall-item-body, .wall-photo-item',data).imagesLoaded( function() { - var iready = new Date(); - console.log('IMAGES ready in: ' + (iready - dready)/1000 + ' seconds.'); - - page_load = false; - scroll_next = false; - updateConvItems(update_mode,data); - $("#page-spinner").hide(); - $("#profile-jot-text-loading").hide(); - - // adjust scroll position if new content was added above viewport - if(update_mode === 'update') { - $(window).scrollTop($(window).scrollTop() + $("#region_2").height() - orgHeight + contentHeightDiff); - } - - in_progress = false; - - }); - } - else { - page_load = false; - scroll_next = false; - updateConvItems(update_mode,data); - $("#page-spinner").hide(); - $("#profile-jot-text-loading").hide(); - - in_progress = false; - - } - - }) - .done(function() { - notificationsUpdate(); - }); -} - diff --git a/view/tpl/notifications_widget.tpl b/view/tpl/notifications_widget.tpl index e8d51caca..60acb1654 100644 --- a/view/tpl/notifications_widget.tpl +++ b/view/tpl/notifications_widget.tpl @@ -59,7 +59,7 @@ mode = 'replace'; page_load = true; {{if $module == 'hq'}} - hqLiveUpdate(notify_id); + liveUpdate(notify_id); {{/if}} {{if $module == 'display'}} liveUpdate(); |