summaryrefslogtreecommitdiffstats
path: root/pyload/web/app
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-12-01 21:06:17 +0100
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2013-12-01 21:06:17 +0100
commitfdb98aba01a9cbf415526d796a24d372fd00419a (patch)
treeda9c9c3138d727bc282ca2db618dc4b56ec62f30 /pyload/web/app
parentfixed are few addons and improved crypter workarounds (diff)
downloadpyload-fdb98aba01a9cbf415526d796a24d372fd00419a.tar.xz
fixed cnl, packages now pausable
Diffstat (limited to 'pyload/web/app')
-rw-r--r--pyload/web/app/scripts/models/Package.js20
-rw-r--r--pyload/web/app/scripts/views/dashboard/dashboardView.js11
-rw-r--r--pyload/web/app/scripts/views/dashboard/packageView.js5
-rw-r--r--pyload/web/app/styles/default/dashboard.less4
-rw-r--r--pyload/web/app/templates/default/dashboard/package.html8
5 files changed, 40 insertions, 8 deletions
diff --git a/pyload/web/app/scripts/models/Package.js b/pyload/web/app/scripts/models/Package.js
index a34ec1c69..555d5b7d6 100644
--- a/pyload/web/app/scripts/models/Package.js
+++ b/pyload/web/app/scripts/models/Package.js
@@ -1,5 +1,5 @@
-define(['jquery', 'backbone', 'underscore', 'app', 'collections/FileList', 'require'],
- function($, Backbone, _, App, FileList, require) {
+define(['jquery', 'backbone', 'underscore', 'app', 'utils/apitypes', 'collections/FileList', 'require'],
+ function($, Backbone, _, App, Api, FileList, require) {
'use strict';
return Backbone.Model.extend({
@@ -36,6 +36,7 @@ define(['jquery', 'backbone', 'underscore', 'app', 'collections/FileList', 'requ
toJSON: function(options) {
var obj = Backbone.Model.prototype.toJSON.call(this, options);
obj.percent = Math.round(obj.stats.linksdone * 100 / obj.stats.linkstotal);
+ obj.paused = obj.status === Api.PackageStatus.Paused;
return obj;
},
@@ -64,6 +65,21 @@ define(['jquery', 'backbone', 'underscore', 'app', 'collections/FileList', 'requ
// TODO
},
+ togglePaused: function() {
+ var self = this;
+ var paused = this.get('status') === Api.PackageStatus.Paused;
+
+ $.ajax(App.apiRequest('setPackagePaused', {
+ pid: this.get('pid'),
+ paused: !paused
+ }, {
+ success: function(data) {
+ console.log('New package status', data);
+ self.set('status', data);
+ }
+ }));
+ },
+
destroy: function(options) {
// TODO: Not working when using data?, array seems to break it
options = App.apiRequest(
diff --git a/pyload/web/app/scripts/views/dashboard/dashboardView.js b/pyload/web/app/scripts/views/dashboard/dashboardView.js
index d98e28fe3..6a263bf03 100644
--- a/pyload/web/app/scripts/views/dashboard/dashboardView.js
+++ b/pyload/web/app/scripts/views/dashboard/dashboardView.js
@@ -28,10 +28,8 @@ define(['jquery', 'backbone', 'underscore', 'app', 'models/TreeCollection', 'col
var self = this;
// When package is added we reload the data
- this.listenTo(App.vent, 'package:added', function() {
- console.log('Package tree caught, package:added event');
- self.tree.fetch();
- });
+ this.listenTo(App.vent, 'package:added', _.bind(this.fetch, this));
+ this.listenTo(App.vent, 'package:inserted', _.bind(this.fetch, this));
this.listenTo(App.vent, 'file:updated', _.bind(this.fileUpdated, this));
@@ -59,6 +57,11 @@ define(['jquery', 'backbone', 'underscore', 'app', 'models/TreeCollection', 'col
this.$('.input').select2({tags: ['a', 'b', 'sdf']});
},
+ fetch: function() {
+ console.log('Fetching package tree');
+ this.tree.fetch();
+ },
+
update: function() {
console.log('Update package list');
diff --git a/pyload/web/app/scripts/views/dashboard/packageView.js b/pyload/web/app/scripts/views/dashboard/packageView.js
index 1bb250f27..243ebac9b 100644
--- a/pyload/web/app/scripts/views/dashboard/packageView.js
+++ b/pyload/web/app/scripts/views/dashboard/packageView.js
@@ -11,6 +11,7 @@ define(['jquery', 'app', 'views/abstract/itemView', 'underscore', 'hbs!tpl/dashb
events: {
'click .package-name, .btn-open': 'open',
'click .icon-refresh': 'restart',
+ 'click .toggle-paused': 'pause',
'click .select': 'select',
'click .icon-chevron-down': 'loadMenu',
'click .btn-delete': 'deleteItem',
@@ -68,6 +69,10 @@ define(['jquery', 'app', 'views/abstract/itemView', 'underscore', 'hbs!tpl/dashb
App.dashboard.openPackage(this.model);
},
+ pause: function(e) {
+ this.model.togglePaused();
+ },
+
select: function(e) {
e.preventDefault();
var checked = this.$('.select').hasClass('icon-check');
diff --git a/pyload/web/app/styles/default/dashboard.less b/pyload/web/app/styles/default/dashboard.less
index 336070737..1e9f21fec 100644
--- a/pyload/web/app/styles/default/dashboard.less
+++ b/pyload/web/app/styles/default/dashboard.less
@@ -85,6 +85,10 @@
.package-frame {
background-color: @light;
+ &.paused {
+ .stripes(fade(@yellowLightest, 90%), @light);
+ }
+
}
}
diff --git a/pyload/web/app/templates/default/dashboard/package.html b/pyload/web/app/templates/default/dashboard/package.html
index cde0dda6e..bc8314494 100644
--- a/pyload/web/app/templates/default/dashboard/package.html
+++ b/pyload/web/app/templates/default/dashboard/package.html
@@ -7,14 +7,18 @@
{{ name }}
</span>
- <div class="package-frame">
+ <div class="package-frame{{#if paused}} paused{{/if}}">
<div class="tag-area">
<!--<span class="badge badge-success"><i class="icon-tag"></i>video</span>-->
<!--<span class="badge badge-success badge-ghost"><i class="icon-tag"></i> Add Tag</span>-->
</div>
<div class="package-indicator">
<i class="icon-plus-sign btn-move" data-toggle="tooltip" title="Move files here"></i>
- <i class="icon-pause" data-toggle="tooltip" title="Pause Package"></i>
+ {{#if paused}}
+ <i class="icon-play toggle-paused" data-toggle="tooltip" title="Unpause Package"></i>
+ {{else}}
+ <i class="icon-pause toggle-paused" data-toggle="tooltip" title="Pause Package"></i>
+ {{/if}}
<i class="icon-refresh" data-toggle="tooltip" title="Restart Package"></i>
{{#if shared }}
<i class="icon-eye-open" data-toggle="tooltip" title="Package is public"></i>