/* * vim: ts=4:sw=4:expandtab */ (function () { 'use strict'; window.Whisper = window.Whisper || {}; Whisper.ConfirmationDialogView = Whisper.View.extend({ className: 'confirmation-dialog modal', templateName: 'confirmation-dialog', initialize: function(options) { this.message = options.message; this.hideCancel = options.hideCancel; this.resolve = options.resolve; this.okText = options.okText || i18n('ok'); this.reject = options.reject; this.cancelText = options.cancelText || i18n('cancel'); this.render(); }, events: { 'keyup': 'onKeyup', 'click .ok': 'ok', 'click .cancel': 'cancel', }, render_attributes: function() { return { message: this.message, showCancel: !this.hideCancel, cancel: this.cancelText, ok: this.okText }; }, ok: function() { this.remove(); if (this.resolve) { this.resolve(); } }, cancel: function() { this.remove(); if (this.reject) { this.reject(); } }, onKeyup: function(event) { if (event.key === 'Escape' || event.key === 'Esc') { this.cancel(); } }, focusCancel: function() { this.$('.cancel').focus(); } }); })();