[Kimchi-devel] [PATCH] [Wok 3/3] Implement notifications loop

Aline Manera alinefm at linux.vnet.ibm.com
Mon Apr 4 16:10:55 UTC 2016



On 03/31/2016 06:02 PM, Lucio Correia wrote:
> Check for new notifications each 5 seconds. Duplicated
> notifications are controlled by postedNotifications var.
>
> Signed-off-by: Lucio Correia <luciojhc at 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 f3f837a..9b4343c 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..6392afb 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, msg) {
> +                    if (wok.postedNotifications.indexOf(msg.message) == -1) {
> +                        wok.notification(msg, '#message-container-area');

We can use wok.message with closable=True

> +                        wok.postedNotifications.push(msg.message);
> +                    }
> +                })
> +            };
> +            setTimeout(notificationsLoop, wok.NOTIFICATION_INTERVAL);
> +        },
> +        function(data){
> +            setTimeout(notificationsLoop, wok.NOTIFICATION_INTERVAL);
> +        }
> +    );
> +}




More information about the Kimchi-devel mailing list