aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario Vavti <mario@mariovavti.com>2017-11-29 11:22:59 +0100
committerMario Vavti <mario@mariovavti.com>2017-11-29 11:22:59 +0100
commite6a59ad36fcdbe4dcb534ff700663d9588b5d734 (patch)
treea8876e58c1d6e229fd127c543987926869c3c8da
parente375224dfec3706b32bc840337f0b6f546708ace (diff)
downloadvolse-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.js11
-rw-r--r--view/js/mod_hq.js126
-rw-r--r--view/tpl/notifications_widget.tpl2
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();