sonarr-repo-only/UI/Mixins/backbone.modelbinder.mixin.js

40 lines
923 B
JavaScript

'use strict';
var oldItemViewRender = Marionette.ItemView.prototype.render;
var oldItemCollectionViewRender = Marionette.CollectionView.prototype.render;
Marionette.View.prototype.viewName = function () {
if (this.template) {
var regex = new RegExp('\/', 'g');
return this.template
.toLocaleLowerCase()
.replace('template','')
.replace(regex, '-');
}
return undefined;
};
Marionette.ItemView.prototype.render = function () {
var result = oldItemViewRender.apply(this, arguments);
this.$el.addClass('iv-' + this.viewName());
if (this.model) {
NzbDrone.ModelBinder.bind(this.model, this.el);
}
return result;
};
Marionette.CollectionView.prototype.render = function () {
if (this.model) {
NzbDrone.ModelBinder.bind(this.model, this.el);
}
return oldItemCollectionViewRender.apply(this, arguments);
};