]> git.ipfire.org Git - thirdparty/foundation/foundation-sites.git/commitdiff
Add responsive plugins by hard importing the sub plugins
authorKevin Ball <kmball11@gmail.com>
Tue, 17 Jan 2017 01:38:15 +0000 (17:38 -0800)
committerKevin Ball <kmball11@gmail.com>
Tue, 18 Apr 2017 16:46:12 +0000 (09:46 -0700)
js/entries/all.js
js/foundation.responsiveMenu.js
js/foundation.zf.responsiveAccordionTabs.js

index 628b7437d48c41cfc99ce668e45eb01529e1ced6..cc9875176478ad6faf1db483a2affdcfd36ca2f5 100644 (file)
@@ -63,8 +63,8 @@ Foundation.plugin(Interchange, 'Interchange');
 import OffCanvas from '../foundation.offcanvas';
 Foundation.plugin(OffCanvas, 'OffCanvas');
 
-//import ResponsiveMenu from '../foundation.responsiveMenu';
-//Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu');
+import ResponsiveMenu from '../foundation.responsiveMenu';
+Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu');
 
 import ResponsiveToggle from '../foundation.responsiveToggle';
 Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle');
@@ -87,5 +87,5 @@ Foundation.plugin(Toggler, 'Toggler');
 import Tooltip from '../foundation.tooltip';
 Foundation.plugin(Tooltip, 'Tooltip');
 
-//import ResponsiveAccordionTabs from '../foundation.zf.responsiveAccordionTabs';
-//Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');
+import ResponsiveAccordionTabs from '../foundation.zf.responsiveAccordionTabs';
+Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');
index 2d5f2815d3900812240967a4b3b1b38ccf27a9e6..c39490e54baa1a7629a3c2c93827c42b704e435b 100644 (file)
@@ -1,9 +1,29 @@
 'use strict';
 
-!function($) {
+import $ from 'jquery';
 
-  let MediaQuery  = Foundation.MediaQuery; // import MediaQuery from "foundation.util.mediaQuery";
-  let GetYoDigits = Foundation.GetYoDigits; // import { GetYoDigits } from "foundation.util.core";
+import MediaQuery from './foundation.util.mediaQuery';
+import { GetYoDigits } from './foundation.util.core';
+import Plugin from './foundation.plugin';
+
+import DropdownMenu from './foundation.dropdownMenu';
+import Drilldown from './foundation.drilldown';
+import AccordionMenu from './foundation.accordionMenu';
+
+let MenuPlugins = {
+  dropdown: {
+    cssClass: 'dropdown',
+    plugin: DropdownMenu
+  },
+ drilldown: {
+    cssClass: 'drilldown',
+    plugin: Drilldown
+  },
+  accordion: {
+    cssClass: 'accordion-menu',
+    plugin: AccordionMenu
+  }
+};
 
   // import "foundation.util.triggers.js";
 
@@ -15,7 +35,7 @@
  * @requires foundation.util.mediaQuery
  */
 
-class ResponsiveMenu {
+class ResponsiveMenu extends Plugin {
   /**
    * Creates a new instance of a responsive menu.
    * @class
@@ -23,7 +43,7 @@ class ResponsiveMenu {
    * @param {jQuery} element - jQuery object to make into a dropdown menu.
    * @param {Object} options - Overrides to the default plugin settings.
    */
-  constructor(element, options) {
+  _setup(element, options) {
     this.$element = $(element);
     this.rules = this.$element.data('responsive-menu');
     this.currentMq = null;
@@ -31,8 +51,6 @@ class ResponsiveMenu {
 
     this._init();
     this._events();
-
-    Foundation.registerPlugin(this, 'ResponsiveMenu');
   }
 
   /**
@@ -122,34 +140,12 @@ class ResponsiveMenu {
    * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.
    * @function
    */
-  destroy() {
+  _destroy() {
     this.currentPlugin.destroy();
     $(window).off('.zf.ResponsiveMenu');
-    Foundation.unregisterPlugin(this);
   }
 }
 
 ResponsiveMenu.defaults = {};
 
-// TODO9438: refactor this to happen on init, rather than as side effect.
-//
-// The plugin matches the plugin classes with these plugin instances.
-var MenuPlugins = {
-  dropdown: {
-    cssClass: 'dropdown',
-    plugin: Foundation._plugins['dropdown-menu'] || null
-  },
- drilldown: {
-    cssClass: 'drilldown',
-    plugin: Foundation._plugins['drilldown'] || null
-  },
-  accordion: {
-    cssClass: 'accordion-menu',
-    plugin: Foundation._plugins['accordion-menu'] || null
-  }
-};
-
-// Window exports
-Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu');
-
-}(jQuery);
+export default ResponsiveMenu;
index 0683fcc7121faa17b2785ad52d38f519085be3d1..5adf2ec192cb1a925d45482ad77dbdecd46ba234 100644 (file)
@@ -1,9 +1,25 @@
 'use strict';
 
-!function($) {
+import $ from 'jquery';
+import MediaQuery from './foundation.util.mediaQuery';
+import { GetYoDigits } from './foundation.util.core';
+import Plugin from './foundation.plugin';
+
+import Accordion from './foundation.accordion';
+import Tabs from './foundation.tabs';
+
+// The plugin matches the plugin classes with these plugin instances.
+var MenuPlugins = {
+  tabs: {
+    cssClass: 'tabs',
+    plugin: Tabs
+  },
+  accordion: {
+    cssClass: 'accordion',
+    plugin: Accordion
+  }
+};
 
-  let MediaQuery  = Foundation.MediaQuery; // import MediaQuery from "foundation.util.mediaQuery";
-  let GetYoDigits = Foundation.GetYoDigits; // import { GetYoDigits } from "foundation.util.core";
 
 /**
  * ResponsiveAccordionTabs module.
@@ -13,7 +29,7 @@
  * @requires foundation.tabs
  */
 
-class ResponsiveAccordionTabs {
+class ResponsiveAccordionTabs extends Plugin{
   /**
    * Creates a new instance of a responsive accordion tabs.
    * @class
@@ -21,7 +37,7 @@ class ResponsiveAccordionTabs {
    * @param {jQuery} element - jQuery object to make into a dropdown menu.
    * @param {Object} options - Overrides to the default plugin settings.
    */
-  constructor(element, options) {
+  _setup(element, options) {
     this.$element = $(element);
     this.options  = $.extend({}, this.$element.data(), options);
     this.rules = this.$element.data('responsive-accordion-tabs');
@@ -33,8 +49,6 @@ class ResponsiveAccordionTabs {
 
     this._init();
     this._events();
-
-    Foundation.registerPlugin(this, 'ResponsiveAccordionTabs');
   }
 
   /**
@@ -214,30 +228,12 @@ class ResponsiveAccordionTabs {
    * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.
    * @function
    */
-  destroy() {
+  _destroy() {
     if (this.currentPlugin) this.currentPlugin.destroy();
     $(window).off('.zf.ResponsiveAccordionTabs');
-    Foundation.unregisterPlugin(this);
   }
 }
 
 ResponsiveAccordionTabs.defaults = {};
 
-// TODO9438 move this to initialize in order to eliminate side effects
-//
-// The plugin matches the plugin classes with these plugin instances.
-var MenuPlugins = {
-  tabs: {
-    cssClass: 'tabs',
-    plugin: Foundation._plugins.tabs || null
-  },
-  accordion: {
-    cssClass: 'accordion',
-    plugin: Foundation._plugins.accordion || null
-  }
-};
-
-// Window exports
-Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');
-
-}(jQuery);
+export default ResponsiveAccordionTabs;