Drupal 8.0.0 beta 12. More info: https://www.drupal.org/node/2514176
This commit is contained in:
commit
9921556621
13277 changed files with 1459781 additions and 0 deletions
core/modules/views_ui/js
52
core/modules/views_ui/js/dialog.views.js
Normal file
52
core/modules/views_ui/js/dialog.views.js
Normal file
|
@ -0,0 +1,52 @@
|
|||
/**
|
||||
* @file
|
||||
* Views dialog behaviors.
|
||||
*/
|
||||
|
||||
(function ($, Drupal, drupalSettings) {
|
||||
|
||||
"use strict";
|
||||
|
||||
function handleDialogResize(e) {
|
||||
var $modal = $(e.currentTarget);
|
||||
var $viewsOverride = $modal.find('[data-drupal-views-offset]');
|
||||
var $scroll = $modal.find('[data-drupal-views-scroll]');
|
||||
var offset = 0;
|
||||
var modalHeight;
|
||||
if ($scroll.length) {
|
||||
// Add a class to do some styles adjustments.
|
||||
$modal.closest('.views-ui-dialog').addClass('views-ui-dialog-scroll');
|
||||
// Let scroll element take all the height available.
|
||||
$scroll.css({overflow: 'visible', height: 'auto'});
|
||||
modalHeight = $modal.height();
|
||||
$viewsOverride.each(function () { offset += $(this).outerHeight(); });
|
||||
|
||||
// Take internal padding into account.
|
||||
var scrollOffset = $scroll.outerHeight() - $scroll.height();
|
||||
$scroll.height(modalHeight - offset - scrollOffset);
|
||||
// Reset scrolling properties.
|
||||
$modal.css('overflow', 'hidden');
|
||||
$scroll.css('overflow', 'auto');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @type {Drupal~behavior}
|
||||
*/
|
||||
Drupal.behaviors.viewsModalContent = {
|
||||
attach: function (context) {
|
||||
$('body').once('viewsDialog').on('dialogContentResize.viewsDialog', '.ui-dialog-content', handleDialogResize);
|
||||
// When expanding details, make sure the modal is resized.
|
||||
$(context).find('.scroll').once('detailsUpdate').on('click', 'summary', function (e) {
|
||||
$(e.currentTarget).trigger('dialogContentResize');
|
||||
});
|
||||
},
|
||||
detach: function (context, settings, trigger) {
|
||||
if (trigger === 'unload') {
|
||||
$('body').removeOnce('viewsDialog').off('.viewsDialog');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
})(jQuery, Drupal, drupalSettings);
|
Reference in a new issue