
Check for new notifications each 5 seconds. Duplicated notifications are controlled by postedNotifications var. Signed-off-by: Lucio Correia <luciojhc@linux.vnet.ibm.com> --- ui/js/src/wok.main.js | 5 +++++ ui/js/src/wok.utils.js | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/ui/js/src/wok.main.js b/ui/js/src/wok.main.js index 804c12c..2146b3d 100644 --- a/ui/js/src/wok.main.js +++ b/ui/js/src/wok.main.js @@ -18,6 +18,8 @@ * limitations under the License. */ +wok.NOTIFICATION_INTERVAL = 5000 +wok.postedNotifications = [] wok.tabMode = {}; wok.config = undefined; @@ -296,6 +298,7 @@ wok.main = function() { * 5) About button click event * 6) Help button click event * 7) Peers button click event + * 8) Start notifications loop */ var searchingPeers = false; var initListeners = function() { @@ -466,6 +469,8 @@ wok.main = function() { wok.message.error(data.responseJSON.reason); } ); + + setTimeout(wok.notificationsLoop, wok.NOTIFICATION_INTERVAL); }; diff --git a/ui/js/src/wok.utils.js b/ui/js/src/wok.utils.js index e5701e6..214749a 100644 --- a/ui/js/src/wok.utils.js +++ b/ui/js/src/wok.utils.js @@ -193,3 +193,22 @@ wok.urlSafeB64Decode = function(str) { wok.urlSafeB64Encode = function(str) { return $.base64.btoa(str, true).replace(/\+/g, '-').replace(/\//g, '_'); } + +wok.notificationsLoop = function notificationsLoop() { + wok.getNotifications( + function(notifications){ + if(notifications && notifications.length > 0) { + $.each(notifications, function(i, notif) { + if (wok.postedNotifications.indexOf(notif.message) == -1) { + wok.message.notify(notif, '#message-container-area'); + wok.postedNotifications.push(notif.message); + } + }) + }; + setTimeout(notificationsLoop, wok.NOTIFICATION_INTERVAL); + }, + function(data){ + setTimeout(notificationsLoop, wok.NOTIFICATION_INTERVAL); + } + ); +} -- 1.9.1