disable delete profile button, show tooltip if profile is in use.

This commit is contained in:
Keivan Beigi 2013-07-05 17:29:29 -07:00
parent 32d6909045
commit 1be62b374a
1 changed files with 31 additions and 3 deletions

View File

@ -6,17 +6,20 @@ define(
'marionette',
'Settings/Quality/Profile/EditQualityProfileView',
'Settings/Quality/Profile/DeleteView',
'Series/SeriesCollection',
'Mixins/AsModelBoundView',
'Settings/Quality/Profile/AllowedLabeler'
'Settings/Quality/Profile/AllowedLabeler',
'bootstrap',
], function (App, Marionette, EditProfileView, DeleteProfileView, AsModelBoundView) {
], function (App, Marionette, EditProfileView, DeleteProfileView, SeriesCollection, AsModelBoundView) {
var view = Marionette.ItemView.extend({
template: 'Settings/Quality/Profile/QualityProfileTemplate',
tagName : 'li',
ui: {
'progressbar': '.progress .bar'
'progressbar' : '.progress .bar',
'deleteButton': '.x-delete'
},
events: {
@ -26,6 +29,7 @@ define(
initialize: function () {
this.listenTo(this.model, 'sync', this.render);
this.listenTo(SeriesCollection, 'all', this._updateDisableStatus)
},
_editProfile: function () {
@ -34,8 +38,32 @@ define(
},
_deleteProfile: function () {
if (this._isQualityInUse()) {
return;
}
var view = new DeleteProfileView({ model: this.model });
App.modalRegion.show(view);
},
onRender: function () {
this._updateDisableStatus();
},
_updateDisableStatus: function () {
if (this._isQualityInUse()) {
this.ui.deleteButton.addClass('disabled');
this.ui.deleteButton.attr('title', 'Can\'t delete quality profiles attached to a series.');
}
else {
this.ui.deleteButton.removeClass('disabled');
this.ui.deleteButton.attr('title', 'Delete Quality Profile');
}
},
_isQualityInUse: function () {
return SeriesCollection.where({'qualityProfileId': this.model.id}).length !== 0;
}
});