You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Lidarr/src/UI/Release/ReleaseLayout.js

78 lines
2.2 KiB

var Marionette = require('marionette');
var Backgrid = require('backgrid');
var ReleaseCollection = require('./ReleaseCollection');
var IndexerCell = require('../Cells/IndexerCell');
var EpisodeNumberCell = require('../Cells/EpisodeNumberCell');
var FileSizeCell = require('../Cells/FileSizeCell');
var QualityCell = require('../Cells/QualityCell');
var ApprovalStatusCell = require('../Cells/ApprovalStatusCell');
var LoadingView = require('../Shared/LoadingView');
module.exports = Marionette.Layout.extend({
template : 'Release/ReleaseLayoutTemplate',
regions : {
grid : '#x-grid',
toolbar : '#x-toolbar'
},
columns : [
{
name : 'indexer',
label : 'Indexer',
sortable : true,
cell : IndexerCell
},
{
name : 'title',
label : 'Title',
sortable : true,
cell : Backgrid.StringCell
},
{
name : 'episodeNumbers',
episodes : 'episodeNumbers',
label : 'season',
cell : EpisodeNumberCell
},
{
name : 'size',
label : 'Size',
sortable : true,
cell : FileSizeCell
},
{
name : 'quality',
label : 'Quality',
sortable : true,
cell : QualityCell
},
{
name : 'rejections',
label : '',
cell : ApprovalStatusCell,
title : 'Release Rejected'
}
],
initialize : function() {
this.collection = new ReleaseCollection();
this.listenTo(this.collection, 'sync', this._showTable);
},
onRender : function() {
this.grid.show(new LoadingView());
this.collection.fetch();
},
_showTable : function() {
if (!this.isClosed) {
this.grid.show(new Backgrid.Grid({
row : Backgrid.Row,
columns : this.columns,
collection : this.collection,
className : 'table table-hover'
}));
}
}
});