sonarr-repo-only/UI/Cells/ToggleCell.js

54 lines
1.3 KiB
JavaScript
Raw Normal View History

2013-06-22 06:24:24 +00:00
'use strict';
2013-06-09 06:20:38 +00:00
define(
[
'backgrid'
], function (Backgrid) {
return Backgrid.Cell.extend({
className: 'toggle-cell',
events: {
'click': '_onClick'
},
_onClick: function () {
2013-07-10 00:25:15 +00:00
var self = this;
var name = this.column.get('name');
this.model.set(name, !this.model.get(name));
2013-07-10 00:25:15 +00:00
this.$('i').addClass('icon-spinner icon-spin');
var promise = this.model.save();
promise.always(function (){
self.render();
});
},
2013-06-09 06:20:38 +00:00
render: function () {
this.$el.empty();
this.$el.html('<i />');
2013-06-09 06:20:38 +00:00
var name = this.column.get('name');
2013-06-09 06:20:38 +00:00
if (this.model.get(name)) {
this.$('i').addClass(this.column.get('trueClass'));
}
else {
this.$('i').addClass(this.column.get('falseClass'));
}
var tooltip = this.column.get('tooltip');
if (tooltip) {
this.$('i').attr('title', tooltip);
}
return this;
}
});
2013-06-09 06:20:38 +00:00
});