Index: remoting/webapp/base/js/modal_dialogs.js |
diff --git a/remoting/webapp/base/js/modal_dialogs.js b/remoting/webapp/base/js/modal_dialogs.js |
index f8837e51026bddb3ee20238b9cf5aa47e9455b08..19af3cf549472e76b51f5e81efd55614de9103fe 100644 |
--- a/remoting/webapp/base/js/modal_dialogs.js |
+++ b/remoting/webapp/base/js/modal_dialogs.js |
@@ -56,17 +56,17 @@ remoting.InputDialog.prototype.show = function() { |
/** @return {HTMLElement} */ |
remoting.InputDialog.prototype.inputField = function() { |
return this.inputField_; |
-} |
+}; |
/** @private */ |
remoting.InputDialog.prototype.onSubmit_ = function() { |
this.deferred_.resolve(this.inputField_.value); |
-} |
+}; |
/** @private */ |
remoting.InputDialog.prototype.onCancel_ = function() { |
this.deferred_.reject(new remoting.Error(remoting.Error.Tag.CANCELLED)); |
-} |
+}; |
/** |
* @param {function():void} handler |
@@ -136,6 +136,12 @@ remoting.MessageDialog.prototype.show = function() { |
return this.deferred_.promise(); |
}; |
+remoting.MessageDialog.prototype.reset = function() { |
Jamie
2015/04/22 23:11:55
Why not call this dispose() and use the base.Dispo
kelvinp
2015/04/23 01:17:23
Done.
|
+ base.dispose(this.eventHooks_); |
+ this.eventHooks_ = null; |
+ this.deferred_ = null; |
Jamie
2015/04/22 23:11:55
If this remains public, you should call deferred_.
kelvinp
2015/04/23 01:17:23
Done.
|
+}; |
+ |
/** |
* @param {remoting.MessageDialog.Result} result |
* @return {Function} |
@@ -143,9 +149,33 @@ remoting.MessageDialog.prototype.show = function() { |
*/ |
remoting.MessageDialog.prototype.onClicked_ = function(result) { |
this.deferred_.resolve(result); |
- base.dispose(this.eventHooks_); |
- this.eventHooks_ = null; |
- this.deferred_ = null; |
+ this.reset(); |
+}; |
+ |
+/** |
+ * @param {Function} cancelCallback The callback to invoke when the user clicks |
+ * on the cancel button. |
Jamie
2015/04/22 23:11:55
Why not make show return a Promise?
kelvinp
2015/04/23 01:17:23
The cancel dialog has a different use case than ot
Jamie
2015/04/24 17:59:18
I don't understand. A Promise is guaranteed one-sh
kelvinp
2015/04/24 19:03:52
While a promise only resolves once, every time whe
|
+ * @constructor |
+ */ |
+remoting.ConnectingDialog = function(cancelCallback) { |
+ /** @private */ |
+ this.dialog_ = new remoting.MessageDialog( |
+ remoting.AppMode.CLIENT_CONNECTING, |
+ document.getElementById('cancel-connect-button')); |
+ /** @private */ |
+ this.onCancel_ = cancelCallback; |
+}; |
+ |
+remoting.ConnectingDialog.prototype.show = function() { |
+ var that = this; |
+ this.dialog_.show().then(function() { |
+ remoting.setMode(remoting.AppMode.HOME); |
+ that.onCancel_(); |
+ }); |
+}; |
+ |
+remoting.ConnectingDialog.prototype.hide = function() { |
+ this.dialog_.reset(); |
}; |
})(); |