'use strict'; define( [ 'app', 'marionette', 'backgrid', 'Series/EpisodeFileCollection', 'Cells/FileSizeCell', 'Cells/QualityCell', 'Episode/Summary/NoFileView' ], function (App, Marionette, Backgrid, EpisodeFileCollection, FileSizeCell, QualityCell, NoFileView) { return Marionette.Layout.extend({ template: 'Episode/Summary/LayoutTemplate', regions: { overview: '.episode-overview', activity: '.episode-file-info' }, columns: [ { name : 'path', label : 'Path', cell : 'string', sortable: false }, { name : 'size', label : 'Size', cell : FileSizeCell, sortable: false }, { name : 'quality', label : 'Quality', cell : QualityCell, sortable: false, editable: true } ], templateHelpers: {}, initialize: function (options) { if (!this.model.series) { this.templateHelpers.series = options.series.toJSON(); } }, onShow: function () { if (this.model.get('hasFile')) { var episodeFile = App.request(App.Reqres.GetEpisodeFileById, this.model.get('episodeFileId')); this.activity.show(new Backgrid.Grid({ collection: new EpisodeFileCollection(episodeFile, { seriesId: this.model.get('seriesId') }), columns : this.columns, className : 'table table-bordered' })); } else { this.activity.show(new NoFileView()); } } }); });