summaryrefslogtreecommitdiffstatshomepage
path: root/core/misc/dialog/dialog.ajax.js
diff options
context:
space:
mode:
Diffstat (limited to 'core/misc/dialog/dialog.ajax.js')
-rw-r--r--core/misc/dialog/dialog.ajax.js19
1 files changed, 13 insertions, 6 deletions
diff --git a/core/misc/dialog/dialog.ajax.js b/core/misc/dialog/dialog.ajax.js
index 3f01d4939496..7445a261e062 100644
--- a/core/misc/dialog/dialog.ajax.js
+++ b/core/misc/dialog/dialog.ajax.js
@@ -15,6 +15,7 @@
}
var $dialog = $context.closest('.ui-dialog-content');
+
if ($dialog.length) {
if ($dialog.dialog('option', 'drupalAutoButtons')) {
$dialog.trigger('dialogButtonsChange');
@@ -26,7 +27,7 @@
var originalClose = settings.dialog.close;
settings.dialog.close = function (event) {
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
@@ -38,10 +39,12 @@
var buttons = [];
var $buttons = $dialog.find('.form-actions input[type=submit], .form-actions a.button');
$buttons.each(function () {
- var $originalButton = $(this).css({ display: 'none' });
+ var $originalButton = $(this).css({
+ display: 'none'
+ });
buttons.push({
text: $originalButton.html() || $originalButton.attr('value'),
- class: $originalButton.attr('class'),
+ "class": $originalButton.attr('class'),
click: function click(e) {
if ($originalButton.is('a')) {
$originalButton[0].click();
@@ -60,9 +63,11 @@
if (!response.selector) {
return false;
}
+
var $dialog = $(response.selector);
+
if (!$dialog.length) {
- $dialog = $('<div id="' + response.selector.replace(/^#/, '') + '" class="ui-front"/>').appendTo('body');
+ $dialog = $("<div id=\"".concat(response.selector.replace(/^#/, ''), "\" class=\"ui-front\"/>")).appendTo('body');
}
if (!ajax.wrapper) {
@@ -82,9 +87,9 @@
var buttons = Drupal.behaviors.dialog.prepareDialogButtons($dialog);
$dialog.dialog('option', 'buttons', buttons);
});
-
response.dialogOptions = response.dialogOptions || {};
var dialog = Drupal.dialog($dialog.get(0), response.dialogOptions);
+
if (response.dialogOptions.modal) {
dialog.showModal();
} else {
@@ -96,8 +101,10 @@
Drupal.AjaxCommands.prototype.closeDialog = function (ajax, response, status) {
var $dialog = $(response.selector);
+
if ($dialog.length) {
Drupal.dialog($dialog.get(0)).close();
+
if (!response.persist) {
$dialog.remove();
}
@@ -108,6 +115,7 @@
Drupal.AjaxCommands.prototype.setDialogOption = function (ajax, response, status) {
var $dialog = $(response.selector);
+
if ($dialog.length) {
$dialog.dialog('option', response.optionName, response.optionValue);
}
@@ -120,7 +128,6 @@
e.stopPropagation();
});
});
-
$(window).on('dialog:beforeclose', function (e, dialog, $element) {
$element.off('.dialog');
});