58 lines
1.8 KiB
JavaScript
58 lines
1.8 KiB
JavaScript
'use strict';
|
|
define(
|
|
[
|
|
'marionette',
|
|
'Series/EpisodeCollection',
|
|
'Series/SeasonCollection',
|
|
'Series/Details/SeasonCollectionView',
|
|
'Shared/LoadingView',
|
|
'backstrech'
|
|
], function (Marionette, EpisodeCollection, SeasonCollection, SeasonCollectionView, LoadingView) {
|
|
return Marionette.Layout.extend({
|
|
|
|
itemViewContainer: '.x-series-seasons',
|
|
template : 'Series/Details/SeriesDetailsTemplate',
|
|
|
|
regions: {
|
|
seasons: '#seasons'
|
|
},
|
|
|
|
ui: {
|
|
header: '.x-header'
|
|
},
|
|
|
|
initialize: function () {
|
|
$('body').addClass('backdrop');
|
|
},
|
|
|
|
onShow: function () {
|
|
var self = this;
|
|
|
|
if (this.model.has('fanArt')) {
|
|
$.backstretch(this.model.get('fanArt'));
|
|
}
|
|
else {
|
|
$('body').removeClass('backdrop');
|
|
}
|
|
|
|
this.seasons.show(new LoadingView());
|
|
|
|
this.seasonCollection = new SeasonCollection();
|
|
this.episodeCollection = new EpisodeCollection();
|
|
|
|
$.when(this.episodeCollection.fetch({data: { seriesId: this.model.id }}), this.seasonCollection.fetch({data: { seriesId: this.model.id }})).done(function () {
|
|
self.seasons.show(new SeasonCollectionView({
|
|
collection : self.seasonCollection,
|
|
episodeCollection: self.episodeCollection,
|
|
series : self.model
|
|
}));
|
|
});
|
|
},
|
|
|
|
onClose: function () {
|
|
$('.backstretch').remove();
|
|
$('body').removeClass('backdrop');
|
|
}
|
|
});
|
|
});
|