Mercurial > hg > isophonics-drupal-site
diff core/themes/seven/js/responsive-details.js @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 129ea1e6d783 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/themes/seven/js/responsive-details.js Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,40 @@ +/** +* DO NOT EDIT THIS FILE. +* See the following change record for more information, +* https://www.drupal.org/node/2815083 +* @preserve +**/ + +(function ($, Drupal) { + Drupal.behaviors.responsiveDetails = { + attach: function attach(context) { + var $details = $(context).find('details').once('responsive-details'); + + if (!$details.length) { + return; + } + + function detailsToggle(matches) { + if (matches) { + $details.attr('open', true); + $summaries.attr('aria-expanded', true); + $summaries.on('click.details-open', false); + } else { + var $notPressed = $details.find('> summary[aria-pressed!=true]').attr('aria-expanded', false); + $notPressed.parent('details').attr('open', false); + + $summaries.off('.details-open'); + } + } + + function handleDetailsMQ(event) { + detailsToggle(event.matches); + } + + var $summaries = $details.find('> summary'); + var mql = window.matchMedia('(min-width:48em)'); + mql.addListener(handleDetailsMQ); + detailsToggle(mql.matches); + } + }; +})(jQuery, Drupal); \ No newline at end of file