X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fthemes%2Fseven%2Fjs%2Fresponsive-details.es6.js;h=51574f780a0cf96f0a29d26ca39f9ae9c11415ec;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hp=8d5c46565a28fe79d7ec27635a289a54c60146e1;hpb=af6d1fb995500ae68849458ee10d66abbdcfb252;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 8d5c46565..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); } - const $summaries = $details.find('> summary'); const mql = window.matchMedia('(min-width:48em)'); mql.addListener(handleDetailsMQ); detailsToggle(mql.matches); }, }; -}(jQuery, Drupal)); +})(jQuery, Drupal);