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

45 lines
993 B
JavaScript

"use strict";
define(['app','backgrid'], function () {
NzbDrone.Cells.NzbDroneCell = Backgrid.Cell.extend({
_originalInit: Backgrid.Cell.prototype.initialize,
initialize: function () {
this._originalInit.apply(this, arguments);
this.cellValue = this._getValue();
this.model.on('change', this._refresh, this);
},
_refresh: function () {
this.cellValue = this._getValue();
this.render();
},
_getValue: function () {
var name = this.column.get('name');
if (name === 'this') {
return this.model;
}
var value = this.model.get(name);
if (!value) {
return undefined;
}
//if not a model
if (!value.get && typeof value === 'object') {
value = new Backbone.Model(value);
}
return value;
}
});
});