diff --git a/js/misc/dialog.js b/js/misc/dialog.js index 5a92e82..219775c 100644 --- a/js/misc/dialog.js +++ b/js/misc/dialog.js @@ -64,24 +64,29 @@ function openDialog(settings) { settings = $.extend({}, drupalSettings.dialog, options, settings); - // Trigger a global event to allow scripts to bind events to the dialog. - $(window).trigger('dialog:beforecreate', [dialog, $element, settings]); $element .modal(settings) + .on('show.bs.modal.drupal', function () { + $(window).trigger('dialog:beforecreate', [dialog, $element, settings]); + }) .on('shown.bs.modal.drupal', function () { dialog.open = true; $(window).trigger('dialog:aftercreate', [dialog, $element, settings]); }) + .on('hide.bs.modal.drupal', function () { + $(window).trigger('dialog:beforeclose', [dialog, $element, settings]); + }) + .on('hidden.bs.modal.drupal', function () { + dialog.open = false; + $(window).trigger('dialog:afterclose', [dialog, $element, settings]); + }) ; } function closeDialog(value) { - $(window).trigger('dialog:beforeclose', [dialog, $element]); $element .on('hidden.bs.modal.drupal', function () { dialog.returnValue = value; - dialog.open = false; - $(window).trigger('dialog:afterclose', [dialog, $element]); }) .modal('hide'); }