Sha256: 0f1843c0e987ab5d4909603cb3e25d3c66e693bba168278873e2cda42a81f2d3

Contents?: true

Size: 1.01 KB

Versions: 2

Compression:

Stored size: 1.01 KB

Contents

//= require active_scaffold

function TasksScheduler() {
}

TasksScheduler.Status = function () {
}

// Shortcut
var _S = TasksScheduler.Status;

_S.initialized = false;

_S.init = function (url, interval_max) {
  if (!_S.initialized) {
    _S.initialized = true;
    _S.url = url;
    _S.interval_max = interval_max;
    _S.update();
  }
};

_S.content = function () {
  return $('#TaskScheduler_Status_Content');
};

_S.status = function () {
  return $('#TaskScheduler_Status_Status');
};

_S.update_status = function () {
  _S.status().html(
    "Updating in " + _S.interval + " seconds..."
  );
};

_S.check = function () {
  if (_S.interval <= 0) {
    _S.update();
  } else {
    _S.interval--;
    _S.update_status();
    setTimeout(_S.check, 1000);
  }
};

_S.update = function () {
  $.ajax({
    url: _S.url,
    success: function (result) {
      _S.content().html(result);
    },
    complete: function (result) {
      _S.interval = _S.interval_max + 1;
      _S.last_update = new Date();
      _S.check();
    }
  });
};

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tasks_scheduler-0.0.3 app/assets/javascripts/tasks_scheduler.js
tasks_scheduler-0.0.2 app/assets/javascripts/tasks_scheduler.js