40 lines
1 KiB
JavaScript
40 lines
1 KiB
JavaScript
![]() |
/**
|
||
|
* @file
|
||
|
* JavaScript behaviors for webform off-canvas dialogs.
|
||
|
*
|
||
|
* @see misc/dialog/off-canvas.js
|
||
|
*/
|
||
|
|
||
|
(function ($, Drupal) {
|
||
|
|
||
|
'use strict';
|
||
|
|
||
|
/**
|
||
|
* Attaches webform off-canvas behaviors.
|
||
|
*
|
||
|
* @type {Drupal~behavior}
|
||
|
*
|
||
|
* @prop {Drupal~behaviorAttach} attach
|
||
|
* Attaches event listeners to window for off-canvas dialogs.
|
||
|
*/
|
||
|
Drupal.behaviors.webformOffCanvasEvents = {
|
||
|
attach: function () {
|
||
|
// Resize seven.theme tabs when off-canvas dialog opened and closed.
|
||
|
// @see core/themes/seven/js/nav-tabs.js
|
||
|
$(window).once('webform-off-canvas').on({
|
||
|
'dialog:aftercreate': function (event, dialog, $element, settings) {
|
||
|
if (Drupal.offCanvas.isOffCanvas($element)) {
|
||
|
$(window).trigger('resize.tabs');
|
||
|
}
|
||
|
},
|
||
|
'dialog:afterclose': function (event, dialog, $element, settings) {
|
||
|
if (Drupal.offCanvas.isOffCanvas($element)) {
|
||
|
$(window).trigger('resize.tabs');
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
|
||
|
})(jQuery, Drupal);
|