Sha256: d094ed70f488d58d29d47c64a87b100027d5491ce99dbf5de0dce958a72da93a

Contents?: true

Size: 1.2 KB

Versions: 14

Compression:

Stored size: 1.2 KB

Contents

(function(){
  "use strict";
  var POLLING_INTERVAL = 3 * 1000;
  var POLLING_URL = "/polling/alerts";

  $(function(){
    if($('#alert').length === 0) return;

    var alert = new Vue({
      el: "#alert",
      data: {
        "alerts": []
      },

      created: function(){
        var self = this;
        var fetch = function(){
          self.fetchAlertsData().then(function(alerts){
            self.alerts = alerts;
          })["catch"](function(xhr){
            if(xhr.status === 401) {
              clearInterval(timer); // signed out
            }
            if(xhr.status === 0) {
              clearInterval(timer); // server unreachable (maybe down)
            }
          });
        };
        fetch();
        var timer = setInterval(fetch, POLLING_INTERVAL);
      },

      computed: {
        alertsCount: {
          $get: function(){ return this.alerts.length; }
        },
        hasAlerts: {
          $get: function(){ return this.alertsCount > 0; }
        }
      },

      methods: {
        fetchAlertsData: function() {
          return new Promise(function(resolve, reject) {
            $.getJSON(POLLING_URL, resolve).fail(reject);
          });
        }
      }
    });
  });
})();

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
fluentd-ui-0.3.8 app/assets/javascripts/alert.js
fluentd-ui-0.3.7 app/assets/javascripts/alert.js
fluentd-ui-0.3.6 app/assets/javascripts/alert.js
fluentd-ui-0.3.5 app/assets/javascripts/alert.js
fluentd-ui-0.3.3 app/assets/javascripts/alert.js
fluentd-ui-0.3.2 app/assets/javascripts/alert.js
fluentd-ui-0.3.1 app/assets/javascripts/alert.js
fluentd-ui-0.3.0 app/assets/javascripts/alert.js
fluentd-ui-0.2.0 app/assets/javascripts/alert.js
fluentd-ui-0.1.4 app/assets/javascripts/alert.js
fluentd-ui-0.1.3 app/assets/javascripts/alert.js
fluentd-ui-0.1.2 app/assets/javascripts/alert.js
fluentd-ui-0.1.1 app/assets/javascripts/alert.js
fluentd-ui-0.1.0 app/assets/javascripts/alert.js