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/System/Task/TaskLayout.js

71 lines
1.9 KiB

var Marionette = require('marionette');
var Backgrid = require('backgrid');
var BackupCollection = require('./TaskCollection');
var RelativeTimeCell = require('../../Cells/RelativeTimeCell');
var TaskIntervalCell = require('./TaskIntervalCell');
var ExecuteTaskCell = require('./ExecuteTaskCell');
var NextExecutionCell = require('./NextExecutionCell');
var LoadingView = require('../../Shared/LoadingView');
require('../../Mixins/backbone.signalr.mixin');
module.exports = Marionette.Layout.extend({
template : 'System/Task/TaskLayoutTemplate',
regions : {
tasks : '#x-tasks'
},
columns : [
{
name : 'name',
label : 'Name',
sortable : true,
cell : 'string'
},
{
name : 'interval',
label : 'Interval',
sortable : true,
cell : TaskIntervalCell
},
{
name : 'lastExecution',
label : 'Last Execution',
sortable : true,
cell : RelativeTimeCell
},
{
name : 'nextExecution',
label : 'Next Execution',
sortable : true,
cell : NextExecutionCell
},
{
name : 'this',
label : '',
sortable : false,
cell : ExecuteTaskCell
}
],
initialize : function() {
this.taskCollection = new BackupCollection();
this.listenTo(this.taskCollection, 'sync', this._showTasks);
this.taskCollection.bindSignalR();
},
onRender : function() {
this.tasks.show(new LoadingView());
this.taskCollection.fetch();
},
_showTasks : function() {
this.tasks.show(new Backgrid.Grid({
columns : this.columns,
collection : this.taskCollection,
className : 'table table-hover'
}));
}
});