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