summaryrefslogtreecommitdiffstats
path: root/pyload/web/app/scripts/views/progressView.js
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-07-17 13:56:06 +0200
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-07-17 13:56:18 +0200
commit4094ef56e050c3d8739ed0646b8eb2d17a7e65f4 (patch)
tree22cd1a99e99d1095a9730a8f86733e4fffc55f91 /pyload/web/app/scripts/views/progressView.js
parentUsing the same string to avoid multiple translations (diff)
downloadpyload-4094ef56e050c3d8739ed0646b8eb2d17a7e65f4.tar.xz
improved progressbar rendering
Diffstat (limited to 'pyload/web/app/scripts/views/progressView.js')
-rw-r--r--pyload/web/app/scripts/views/progressView.js23
1 files changed, 18 insertions, 5 deletions
diff --git a/pyload/web/app/scripts/views/progressView.js b/pyload/web/app/scripts/views/progressView.js
index 3a4bb2825..7b9dbb74b 100644
--- a/pyload/web/app/scripts/views/progressView.js
+++ b/pyload/web/app/scripts/views/progressView.js
@@ -1,6 +1,6 @@
define(['jquery', 'backbone', 'underscore', 'app', 'utils/apitypes', 'views/abstract/itemView',
- 'hbs!tpl/header/progress', 'helpers/pluginIcon'],
- function($, Backbone, _, App, Api, ItemView, template, pluginIcon) {
+ 'hbs!tpl/header/progress', 'hbs!tpl/header/progressStatus', 'helpers/pluginIcon'],
+ function($, Backbone, _, App, Api, ItemView, template, templateStatus, pluginIcon) {
'use strict';
// Renders single file item
@@ -12,20 +12,33 @@ define(['jquery', 'backbone', 'underscore', 'app', 'utils/apitypes', 'views/abst
events: {
},
+ // Last name
+ name: null,
+
initialize: function() {
- this.listenTo(this.model, 'change', this.render);
+ this.listenTo(this.model, 'change', this.update);
this.listenTo(this.model, 'remove', this.unrender);
},
onDestroy: function() {
},
+ // Update html without re-rendering
+ update: function() {
+ if (this.name !== this.model.get('name')) {
+ this.name = this.model.get('name');
+ this.render();
+ }
+
+ this.$('.bar').width(this.model.getPercent() + '%');
+ this.$('.progress-status').html(templateStatus(this.model.toJSON()));
+ },
+
render: function() {
// TODO: icon
// TODO: other states
// TODO: non download progress
- // TODO: better progressbar rendering
- this.$el.css('background-image', 'url('+ pluginIcon('todo') +')');
+ this.$el.css('background-image', 'url(' + pluginIcon('todo') + ')');
this.$el.html(this.template(this.model.toJSON()));
return this;
}