annotate core/misc/dialog/dialog.js @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
Chris@0 1 /**
Chris@0 2 * DO NOT EDIT THIS FILE.
Chris@0 3 * See the following change record for more information,
Chris@0 4 * https://www.drupal.org/node/2815083
Chris@0 5 * @preserve
Chris@0 6 **/
Chris@0 7
Chris@0 8 (function ($, Drupal, drupalSettings) {
Chris@0 9 drupalSettings.dialog = {
Chris@0 10 autoOpen: true,
Chris@0 11 dialogClass: '',
Chris@0 12
Chris@0 13 buttonClass: 'button',
Chris@0 14 buttonPrimaryClass: 'button--primary',
Chris@0 15 close: function close(event) {
Chris@0 16 Drupal.dialog(event.target).close();
Chris@0 17 Drupal.detachBehaviors(event.target, null, 'unload');
Chris@0 18 }
Chris@0 19 };
Chris@0 20
Chris@0 21 Drupal.dialog = function (element, options) {
Chris@0 22 var undef = void 0;
Chris@0 23 var $element = $(element);
Chris@0 24 var dialog = {
Chris@0 25 open: false,
Chris@17 26 returnValue: undef
Chris@0 27 };
Chris@0 28
Chris@0 29 function openDialog(settings) {
Chris@0 30 settings = $.extend({}, drupalSettings.dialog, options, settings);
Chris@0 31
Chris@0 32 $(window).trigger('dialog:beforecreate', [dialog, $element, settings]);
Chris@0 33 $element.dialog(settings);
Chris@0 34 dialog.open = true;
Chris@0 35 $(window).trigger('dialog:aftercreate', [dialog, $element, settings]);
Chris@0 36 }
Chris@0 37
Chris@0 38 function closeDialog(value) {
Chris@0 39 $(window).trigger('dialog:beforeclose', [dialog, $element]);
Chris@0 40 $element.dialog('close');
Chris@0 41 dialog.returnValue = value;
Chris@0 42 dialog.open = false;
Chris@0 43 $(window).trigger('dialog:afterclose', [dialog, $element]);
Chris@0 44 }
Chris@0 45
Chris@17 46 dialog.show = function () {
Chris@17 47 openDialog({ modal: false });
Chris@17 48 };
Chris@17 49 dialog.showModal = function () {
Chris@17 50 openDialog({ modal: true });
Chris@17 51 };
Chris@17 52 dialog.close = closeDialog;
Chris@17 53
Chris@0 54 return dialog;
Chris@0 55 };
Chris@0 56 })(jQuery, Drupal, drupalSettings);