app/assets/javascripts/tasks_scheduler.js in tasks_scheduler-0.5.0 vs app/assets/javascripts/tasks_scheduler.js in tasks_scheduler-0.5.1
- old
+ new
@@ -2,114 +2,7 @@
//= require js-routes
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();
- }
- });
-};
-
-TasksScheduler.Alert = function () {
-};
-
-_A = TasksScheduler.Alert;
-
-_A.DEFAULT_REFRESH_INTERVAL = 5000;
-_A.DEFAULT_ELEMENT_SELECTOR = '#tasks_scheduler_alert';
-_A.CSS_CLASSES_PREFIX = 'alert_';
-_A.url = Routes.status_tasks_scheduler_daemon_path();
-
-_A.init = function (options) {
- options = typeof options !== 'undefined' ? options : {};
- $(document).ready(function () {
- _A.options = options;
- if (!_A.options.refresh_interval) {
- _A.options.refresh_interval = _A.DEFAULT_REFRESH_INTERVAL;
- }
- if (!_A.options.element_selector) {
- _A.options.element_selector = _A.DEFAULT_ELEMENT_SELECTOR;
- }
- _A.refresh();
- });
-};
-
-_A.setNextRefresh = function () {
- setTimeout(_A.refresh, _A.options.refresh_interval);
-};
-
-_A.refresh = function () {
- $.ajax({
- url: _A.url,
- success: function (result) {
- var alert = $(_A.options.element_selector);
- var pattern = new RegExp('(^|\\s)' + _A.CSS_CLASSES_PREFIX + "\\S+", 'g');
- alert.removeClass (function (index, className) {
- return (className.match (pattern) || []).join(' ');
- });
- alert.addClass(_A.resultToCssClass(result));
- },
- complete: function (result) {
- _A.setNextRefresh();
- }
- });
-};
-
-_A.resultToCssClass = function(result) {
- var suffix = "ok"
- if (!result.daemon_running) {
- suffix = "daemon_stopped";
- } else if (!result.tasks_all_ok) {
- suffix = "task_failed";
- }
- return _A.CSS_CLASSES_PREFIX + suffix;
-};
+//= require tasks_scheduler/alert
+//= require tasks_scheduler/status