|  |  |  | /* global Whisper */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // eslint-disable-next-line func-names
 | 
					
						
							|  |  |  | (function() { | 
					
						
							|  |  |  |   'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   window.Whisper = window.Whisper || {}; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Whisper.SessionConfirmView = Whisper.View.extend({ | 
					
						
							|  |  |  |     initialize(options) { | 
					
						
							|  |  |  |       this.props = { | 
					
						
							|  |  |  |         title: options.title, | 
					
						
							|  |  |  |         message: options.message, | 
					
						
							|  |  |  |         messageSub: options.messageSub, | 
					
						
							|  |  |  |         onClickOk: this.ok.bind(this), | 
					
						
							|  |  |  |         onClickClose: this.cancel.bind(this), | 
					
						
							|  |  |  |         resolve: options.resolve, | 
					
						
							|  |  |  |         reject: options.reject, | 
					
						
							|  |  |  |         okText: options.okText, | 
					
						
							|  |  |  |         cancelText: options.cancelText, | 
					
						
							|  |  |  |         okTheme: options.okTheme, | 
					
						
							|  |  |  |         closeTheme: options.closeTheme, | 
					
						
							|  |  |  |         hideCancel: options.hideCancel, | 
					
						
							|  |  |  |         sessionIcon: options.sessionIcon, | 
					
						
							|  |  |  |         iconSize: options.iconSize, | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     registerEvents() { | 
					
						
							|  |  |  |       this.unregisterEvents(); | 
					
						
							|  |  |  |       document.addEventListener('keyup', this.props.onClickClose, false); | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     unregisterEvents() { | 
					
						
							|  |  |  |       document.removeEventListener('keyup', this.props.onClickClose, false); | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     render() { | 
					
						
							|  |  |  |       this.$('.session-confirm-wrapper').remove(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       this.confirmView = new Whisper.ReactWrapperView({ | 
					
						
							|  |  |  |         className: 'loki-dialog modal session-confirm-wrapper', | 
					
						
							|  |  |  |         Component: window.Signal.Components.SessionConfirm, | 
					
						
							|  |  |  |         props: this.props, | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  |       this.registerEvents(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       this.$el.prepend(this.confirmView.el); | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ok() { | 
					
						
							|  |  |  |       this.$('.session-confirm-wrapper').remove(); | 
					
						
							|  |  |  |       this.unregisterEvents(); | 
					
						
							|  |  |  |       if (this.props.resolve) { | 
					
						
							|  |  |  |         this.props.resolve(); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     cancel() { | 
					
						
							|  |  |  |       this.$('.session-confirm-wrapper').remove(); | 
					
						
							|  |  |  |       this.unregisterEvents(); | 
					
						
							|  |  |  |       if (this.props.reject) { | 
					
						
							|  |  |  |         this.props.reject(); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     onKeyup(event) { | 
					
						
							|  |  |  |       if (event.key === 'Escape' || event.key === 'Esc') { | 
					
						
							|  |  |  |         this.unregisterEvents(); | 
					
						
							|  |  |  |         this.props.onClickClose(); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | })(); |