lidarr/src/UI/Cells/EpisodeActionsCell.js
2013-10-08 18:43:41 -07:00

55 lines
1.8 KiB
JavaScript

'use strict';
define(
[
'vent',
'marionette',
'Cells/NzbDroneCell',
'Commands/CommandController'
], function (vent, Marionette, NzbDroneCell, CommandController) {
return NzbDroneCell.extend({
className: 'episode-actions-cell',
template : 'Cells/EpisodeActionsCellTemplate',
ui: {
automaticSearch: '.x-automatic-search-icon'
},
events: {
'click .x-automatic-search': '_automaticSearch',
'click .x-manual-search' : '_manualSearch'
},
render: function () {
var templateName = this.column.get('template') || this.template;
this.templateFunction = Marionette.TemplateCache.get(templateName);
var data = this.cellValue.toJSON();
var html = this.templateFunction(data);
this.$el.html(html);
CommandController.bindToCommand({
element: this.$(this.ui.automaticSearch),
command: {
name : 'episodeSearch',
episodeId: this.model.get('id')
}
});
this.delegateEvents();
return this;
},
_automaticSearch: function () {
CommandController.Execute('episodeSearch', {
name : 'episodeSearch',
episodeIds: [ this.model.get('id') ]
});
},
_manualSearch: function () {
vent.trigger(vent.Commands.ShowEpisodeDetails, { episode: this.cellValue, hideSeriesLink: true, openingTab: 'search' });
}
});
});