Binding signalr to cloned series collection

This commit is contained in:
Mark McDowall 2014-02-10 12:24:59 -08:00
parent f5d85b8f57
commit bc908e0440
3 changed files with 9 additions and 12 deletions

View File

@ -33,6 +33,7 @@ namespace NzbDrone.Common.EnvironmentInfo
serviceProvider.ServiceExist(ServiceProvider.NZBDRONE_SERVICE_NAME) &&
serviceProvider.GetStatus(ServiceProvider.NZBDRONE_SERVICE_NAME) == ServiceControllerStatus.StartPending;
//Guarded to avoid issues when running in a non-managed process
var entry = Assembly.GetEntryAssembly();
if (entry != null)

View File

@ -17,7 +17,8 @@ define(
'Cells/SeriesStatusCell',
'Series/Index/FooterView',
'Series/Index/FooterModel',
'Shared/Toolbar/ToolbarLayout'
'Shared/Toolbar/ToolbarLayout',
'Mixins/backbone.signalr.mixin'
], function (_,
Marionette,
Backgrid,
@ -130,27 +131,23 @@ define(
initialize: function () {
this.seriesCollection = SeriesCollection.clone();
this.seriesCollection.shadowCollection.bindSignalR();
this.listenTo(SeriesCollection, 'sync', function (model, collection, options) {
this.seriesCollection.shadowCollection.add(model, options);
this.listenTo(this.seriesCollection.shadowCollection, 'sync', function (model, collection, options) {
this.seriesCollection.fullCollection.resetFiltered();
this._renderView();
});
this.listenTo(SeriesCollection, 'add', function (model, collection, options) {
this.seriesCollection.shadowCollection.add(model, options);
this.listenTo(this.seriesCollection.shadowCollection, 'add', function (model, collection, options) {
this.seriesCollection.fullCollection.resetFiltered();
this._renderView();
});
this.listenTo(SeriesCollection, 'remove', function (model, collection, options) {
this.seriesCollection.shadowCollection.remove(model, options);
this.listenTo(this.seriesCollection.shadowCollection, 'remove', function (model, collection, options) {
this.seriesCollection.fullCollection.resetFiltered();
this._renderView();
});
this.sortingOptions = {
type : 'sorting',
storeState : false,

View File

@ -8,8 +8,7 @@ define(
'api!series',
'Mixins/AsFilteredCollection',
'Mixins/AsPersistedStateCollection',
'moment',
'Mixins/backbone.signalr.mixin'
'moment'
], function (_, Backbone, PageableCollection, SeriesModel, SeriesData, AsFilteredCollection, AsPersistedStateCollection, Moment) {
var Collection = PageableCollection.extend({
url : window.NzbDrone.ApiRoot + '/series',
@ -73,5 +72,5 @@ define(
var MixedIn = AsPersistedStateCollection.call(FilteredCollection);
var collection = new MixedIn(SeriesData, { full: true });
return collection.bindSignalR();
return collection;
});