Merge pull request #2339 from lisa761/modal-dialogs
Closes dialogs when escape key is pressed
This commit is contained in:
commit
9356b846b6
@ -289,7 +289,6 @@ function SqlExporterDialog(options) {
|
||||
this._elmts.cancelButton.click(function() { self._dismiss(); });
|
||||
this._elmts.downloadButton.click(function() { self._download(); });
|
||||
this._elmts.downloadPreviewButton.click(function(evt) { self._previewDownload(); });
|
||||
|
||||
this._configureUIFromOptionCode(options);
|
||||
this._updateOptionCode();
|
||||
};
|
||||
|
@ -35,6 +35,13 @@ DialogSystem = {
|
||||
_layers: []
|
||||
};
|
||||
|
||||
var escapeKey = function(event) {
|
||||
var level = DialogSystem._layers.length;
|
||||
if (event.keyCode == 27) {
|
||||
DialogSystem.dismissUntil(level - 1);
|
||||
}
|
||||
}
|
||||
|
||||
DialogSystem.showDialog = function(elmt, onCancel) {
|
||||
var overlay = $('<div> </div>')
|
||||
.addClass("dialog-overlay")
|
||||
@ -61,6 +68,8 @@ DialogSystem.showDialog = function(elmt, onCancel) {
|
||||
|
||||
var level = DialogSystem._layers.length;
|
||||
|
||||
$(window).keydown(escapeKey);
|
||||
|
||||
return level;
|
||||
};
|
||||
|
||||
@ -90,6 +99,7 @@ DialogSystem.dismissUntil = function(level) {
|
||||
for (var i = DialogSystem._layers.length - 1; i >= level; i--) {
|
||||
DialogSystem.dismissLevel(i);
|
||||
}
|
||||
$(window).off('keydown', escapeKey);
|
||||
DialogSystem._layers = DialogSystem._layers.slice(0, level);
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user