diff options
Diffstat (limited to 'pyload/web/app')
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> | 
