ConfirmationDialogView: Make showCancel an explicit option

Also, don't call resolve/reject callbacks if they weren't provided.

FREEBIE
This commit is contained in:
Scott Nonnenberg 2017-07-12 17:14:22 -07:00
parent 14765599f3
commit aa80cdd74d
2 changed files with 10 additions and 5 deletions

View File

@ -10,6 +10,7 @@
templateName: 'confirmation-dialog',
initialize: function(options) {
this.message = options.message;
this.hideCancel = options.hideCancel;
this.resolve = options.resolve;
this.okText = options.okText || i18n('ok');
@ -27,18 +28,22 @@
render_attributes: function() {
return {
message: this.message,
showCancel: Boolean(this.reject),
showCancel: !this.hideCancel,
cancel: this.cancelText,
ok: this.okText
};
},
ok: function() {
this.remove();
this.resolve();
if (this.resolve) {
this.resolve();
}
},
cancel: function() {
this.remove();
this.reject();
if (this.reject) {
this.reject();
}
},
onKeyup: function(event) {
if (event.key === 'Escape' || event.key === 'Esc') {

View File

@ -96,11 +96,11 @@
var dialog = new Whisper.ConfirmationDialogView({
message: i18n('deleteWarning'),
okText: i18n('delete'),
hideCancel: true,
resolve: function() {
this.model.destroy();
this.resetPanel();
}.bind(this),
reject: function() {}
}.bind(this)
});
this.$el.prepend(dialog.el);