mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-21 05:53:33 -07:00
Using reqres to map episode to episode file
This commit is contained in:
parent
8737cb0145
commit
b1899b5f6f
8 changed files with 73 additions and 16 deletions
|
@ -4,6 +4,7 @@ define(
|
|||
'app',
|
||||
'marionette',
|
||||
'Series/EpisodeCollection',
|
||||
'Series/EpisodeFileCollection',
|
||||
'Series/SeasonCollection',
|
||||
'Series/Details/SeasonCollectionView',
|
||||
'Series/Details/SeasonMenu/CollectionView',
|
||||
|
@ -12,7 +13,7 @@ define(
|
|||
'Shared/Actioneer',
|
||||
'backstrech',
|
||||
'Mixins/backbone.signalr.mixin'
|
||||
], function (App, Marionette, EpisodeCollection, SeasonCollection, SeasonCollectionView, SeasonMenuCollectionView, InfoView, LoadingView, Actioneer) {
|
||||
], function (App, Marionette, EpisodeCollection, EpisodeFileCollection, SeasonCollection, SeasonCollectionView, SeasonMenuCollectionView, InfoView, LoadingView, Actioneer) {
|
||||
return Marionette.Layout.extend({
|
||||
|
||||
itemViewContainer: '.x-series-seasons',
|
||||
|
@ -85,6 +86,7 @@ define(
|
|||
}
|
||||
|
||||
$('body').removeClass('backdrop');
|
||||
App.reqres.removeHandler(App.Reqres.GetEpisodeFileById);
|
||||
},
|
||||
|
||||
_toggleMonitored: function () {
|
||||
|
@ -167,14 +169,19 @@ define(
|
|||
|
||||
this.seasonCollection = new SeasonCollection();
|
||||
this.episodeCollection = new EpisodeCollection({ seriesId: this.model.id });
|
||||
this.episodeFileCollection = new EpisodeFileCollection({ seriesId: this.model.id });
|
||||
|
||||
$.when(this.episodeCollection.fetch(), this.seasonCollection.fetch({data: { seriesId: this.model.id }})).done(function () {
|
||||
$.when(this.episodeCollection.fetch(), this.episodeFileCollection.fetch(), this.seasonCollection.fetch({data: { seriesId: this.model.id }})).done(function () {
|
||||
var seasonCollectionView = new SeasonCollectionView({
|
||||
collection : self.seasonCollection,
|
||||
episodeCollection: self.episodeCollection,
|
||||
series : self.model
|
||||
});
|
||||
|
||||
App.reqres.setHandler(App.Reqres.GetEpisodeFileById, function(episodeFileId){
|
||||
return self.episodeFileCollection.get(episodeFileId);
|
||||
});
|
||||
|
||||
/* self.episodeCollection.bindSignalR({
|
||||
onReceived: seasonCollectionView.onEpisodeGrabbed,
|
||||
context : seasonCollectionView
|
||||
|
|
31
UI/Series/EpisodeFileCollection.js
Normal file
31
UI/Series/EpisodeFileCollection.js
Normal file
|
@ -0,0 +1,31 @@
|
|||
'use strict';
|
||||
define(
|
||||
[
|
||||
'backbone',
|
||||
'Series/EpisodeFileModel'
|
||||
], function (Backbone, EpisodeFileModel) {
|
||||
return Backbone.Collection.extend({
|
||||
url : window.ApiRoot + '/episodefile',
|
||||
model: EpisodeFileModel,
|
||||
|
||||
originalFetch: Backbone.Collection.prototype.fetch,
|
||||
|
||||
initialize: function (options) {
|
||||
this.seriesId = options.seriesId;
|
||||
},
|
||||
|
||||
fetch: function (options) {
|
||||
if (!this.seriesId) {
|
||||
throw 'seriesId is required';
|
||||
}
|
||||
|
||||
if (!options) {
|
||||
options = {};
|
||||
}
|
||||
|
||||
options['data'] = { seriesId: this.seriesId };
|
||||
|
||||
return this.originalFetch.call(this, options);
|
||||
}
|
||||
});
|
||||
});
|
|
@ -4,6 +4,6 @@ define(
|
|||
'backbone'
|
||||
], function (Backbone) {
|
||||
return Backbone.Model.extend({
|
||||
url: window.ApiRoot + '/episodefile'
|
||||
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue