X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fthemes%2Fseven%2Fjs%2Fresponsive-details.es6.js;h=51574f780a0cf96f0a29d26ca39f9ae9c11415ec;hb=4f1b9b4ab48a8498afac9e2213a02a23ccf4a06c;hp=d3cf6ccb3ebdd83c78dcffdea4d8150c45bc2949;hpb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;p=yaffs-website diff --git a/web/core/themes/seven/js/responsive-details.es6.js b/web/core/themes/seven/js/responsive-details.es6.js index d3cf6ccb3..51574f780 100644 --- a/web/core/themes/seven/js/responsive-details.es6.js +++ b/web/core/themes/seven/js/responsive-details.es6.js @@ -3,7 +3,7 @@ * Provides responsive behaviors to HTML details elements. */ -(function ($, Drupal) { +(function($, Drupal) { /** * Initializes the responsive behaviors for details elements. * @@ -14,26 +14,27 @@ */ Drupal.behaviors.responsiveDetails = { attach(context) { - const $details = $(context).find('details').once('responsive-details'); + const $details = $(context) + .find('details') + .once('responsive-details'); if (!$details.length) { return; } + const $summaries = $details.find('> summary'); + function detailsToggle(matches) { if (matches) { $details.attr('open', true); $summaries.attr('aria-expanded', true); $summaries.on('click.details-open', false); - } - else { + } else { // If user explicitly opened one, leave it alone. const $notPressed = $details .find('> summary[aria-pressed!=true]') .attr('aria-expanded', false); - $notPressed - .parent('details') - .attr('open', false); + $notPressed.parent('details').attr('open', false); // After resize, allow user to close previously opened details. $summaries.off('.details-open'); } @@ -43,10 +44,9 @@ detailsToggle(event.matches); } - var $summaries = $details.find('> summary'); const mql = window.matchMedia('(min-width:48em)'); mql.addListener(handleDetailsMQ); detailsToggle(mql.matches); }, }; -}(jQuery, Drupal)); +})(jQuery, Drupal);