diff options
Diffstat (limited to 'pyload/web/app/scripts/models/StatusInfo.js')
-rw-r--r-- | pyload/web/app/scripts/models/StatusInfo.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/pyload/web/app/scripts/models/StatusInfo.js b/pyload/web/app/scripts/models/StatusInfo.js new file mode 100644 index 000000000..8712defa7 --- /dev/null +++ b/pyload/web/app/scripts/models/StatusInfo.js @@ -0,0 +1,48 @@ +define(['jquery', 'backbone', 'underscore'], + function($, Backbone, _) { + 'use strict'; + + return Backbone.Model.extend({ + + defaults: { + speed: 0, + linkstotal: 0, + linksqueue: 0, + sizetotal: 0, + sizequeue: 0, + notifications: -1, + paused: false, + download: false, + reconnect: false, + quota: -1 + }, + + // Model Constructor + initialize: function() { + + }, + + fetch: function(options) { + options || (options = {}); + options.url = 'api/getStatusInfo'; + + return Backbone.Model.prototype.fetch.call(this, options); + }, + + toJSON: function(options) { + var obj = Backbone.Model.prototype.toJSON.call(this, options); + + obj.linksdone = obj.linkstotal - obj.linksqueue; + obj.sizedone = obj.sizetotal - obj.sizequeue; + if (obj.speed && obj.speed > 0) + obj.eta = Math.round(obj.sizequeue / obj.speed); + else if (obj.sizequeue > 0) + obj.eta = Infinity; + else + obj.eta = 0; + + return obj; + } + + }); + });
\ No newline at end of file |