]> git.ipfire.org Git - thirdparty/foundation/foundation-sites.git/commitdiff
Fix plugin naming for ie9
authorKevin Ball <kmball11@gmail.com>
Mon, 26 Jun 2017 18:08:09 +0000 (11:08 -0700)
committerKevin Ball <kmball11@gmail.com>
Mon, 26 Jun 2017 18:08:09 +0000 (11:08 -0700)
22 files changed:
js/foundation.abide.js
js/foundation.accordion.js
js/foundation.accordionMenu.js
js/foundation.drilldown.js
js/foundation.dropdown.js
js/foundation.dropdownMenu.js
js/foundation.equalizer.js
js/foundation.interchange.js
js/foundation.magellan.js
js/foundation.offcanvas.js
js/foundation.orbit.js
js/foundation.plugin.js
js/foundation.responsiveAccordionTabs.js
js/foundation.responsiveMenu.js
js/foundation.responsiveToggle.js
js/foundation.reveal.js
js/foundation.slider.js
js/foundation.smoothScroll.js
js/foundation.sticky.js
js/foundation.tabs.js
js/foundation.toggler.js
js/foundation.tooltip.js

index 6db7fef2e0ebde4f7b7f8988e2761c751d30928b..a2609c6f56f6daee619f770c7321faccdb9d0ef8 100644 (file)
@@ -20,6 +20,7 @@ class Abide extends Plugin {
     this.$element = element;
     this.options  = $.extend({}, Abide.defaults, this.$element.data(), options);
 
+    this.className = 'Abide'; // ie9 back compat
     this._init();
   }
 
index 9549b3f92fa2ac9b07c172072ec4a7a8e5b0582c..48c42f5fa211cf21ad889812e58ade06222b314e 100644 (file)
@@ -23,6 +23,7 @@ class Accordion extends Plugin {
     this.$element = element;
     this.options = $.extend({}, Accordion.defaults, this.$element.data(), options);
 
+    this.className = 'Accordion'; // ie9 back compat
     this._init();
 
     Keyboard.register('Accordion', {
index 41d501cfa53dde15298c5a2f649677aab11fbf2d..340bae4beb01bfc4b56b9aa131a0804dd49733ea 100644 (file)
@@ -25,6 +25,7 @@ class AccordionMenu extends Plugin {
   _setup(element, options) {
     this.$element = element;
     this.options = $.extend({}, AccordionMenu.defaults, this.$element.data(), options);
+    this.className = 'AccordionMenu'; // ie9 back compat
 
     Nest.Feather(this.$element, 'accordion');
 
index 2029906bdd96cfc35ac281aa34a30d761365fd36..57f4234e2c8e3192b489922364656c96ec466813 100644 (file)
@@ -25,6 +25,7 @@ class Drilldown extends Plugin {
   _setup(element, options) {
     this.$element = element;
     this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options);
+    this.className = 'Drilldown'; // ie9 back compat
 
     Nest.Feather(this.$element, 'drilldown');
 
index 12e2050bd1346c9303afd890a0865038f443b2a6..e5d88f08e65634d651bab1c0106d90dcfd8fac6c 100644 (file)
@@ -26,6 +26,7 @@ class Dropdown extends Positionable {
   _setup(element, options) {
     this.$element = element;
     this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);
+    this.className = 'Dropdown'; // ie9 back compat
 
     // Triggers init is idempotent, just need to make sure it is initialized
     Triggers.init($);
index 4963792ac06ba1c486756c2ac0c8fb51de71243b..de04c2aa5b41ab7a7e01febfd318cb5e63f05a5e 100644 (file)
@@ -27,6 +27,7 @@ class DropdownMenu extends Plugin {
   _setup(element, options) {
     this.$element = element;
     this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options);
+    this.className = 'DropdownMenu'; // ie9 back compat
 
     Nest.Feather(this.$element, 'dropdown');
     this._init();
index 41f45b14dac655703e57524ca933064cc5e4e4fe..82e1f0e829b37823d4ca05b9fafd1679f030a2fd 100644 (file)
@@ -24,6 +24,7 @@ class Equalizer extends Plugin {
   _setup(element, options){
     this.$element = element;
     this.options  = $.extend({}, Equalizer.defaults, this.$element.data(), options);
+    this.className = 'Equalizer'; // ie9 back compat
 
     this._init();
   }
index 05c3651ea563c2d457741eb65361db14d763ba7e..00ce66dc3c523caee4e61943215fb37143e1a508 100644 (file)
@@ -25,6 +25,7 @@ class Interchange extends Plugin {
     this.options = $.extend({}, Interchange.defaults, options);
     this.rules = [];
     this.currentPath = '';
+    this.className = 'Interchange'; // ie9 back compat
 
     this._init();
     this._events();
index 1313fedf9f5df19cf1f4a7dda76a3a0a63cd1f07..44c8255f469f0e9b5928de0c6bd716dfd3ae8668 100644 (file)
@@ -23,6 +23,7 @@ class Magellan extends Plugin {
   _setup(element, options) {
     this.$element = element;
     this.options  = $.extend({}, Magellan.defaults, this.$element.data(), options);
+    this.className = 'Magellan'; // ie9 back compat
 
     this._init();
     this.calcPoints();
index 389f790db037970ec3d8062347d53da747a657c7..2454b3fc91ea01c8a303bffb622b068fb8780e09 100644 (file)
@@ -25,6 +25,7 @@ class OffCanvas extends Plugin {
    * @param {Object} options - Overrides to the default plugin settings.
    */
   _setup(element, options) {
+    this.className = 'OffCanvas'; // ie9 back compat
     this.$element = element;
     this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);
     this.contentClasses = { base: [], reveal: [] };
@@ -65,7 +66,7 @@ class OffCanvas extends Plugin {
     var id = this.$element.attr('id');
 
     this.$element.attr('aria-hidden', 'true');
-      
+
     // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)
     if (this.options.contentId) {
       this.$content = $('#'+this.options.contentId);
@@ -99,7 +100,7 @@ class OffCanvas extends Plugin {
       .find('[data-open="'+id+'"], [data-close="'+id+'"], [data-toggle="'+id+'"]')
       .attr('aria-expanded', 'false')
       .attr('aria-controls', id);
-    
+
     // Get position by checking for related CSS class
     this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\-(left|top|right|bottom)/)[1] : this.position;
 
@@ -298,7 +299,7 @@ class OffCanvas extends Plugin {
     this.$triggers.attr('aria-expanded', 'true');
     this.$element.attr('aria-hidden', 'false')
         .trigger('opened.zf.offcanvas');
-    
+
     this.$content.addClass('is-open-' + this.position);
 
     // If `contentScroll` is set to false, add class and disable scrolling on touch devices.
@@ -452,7 +453,7 @@ OffCanvas.defaults = {
   contentOverlay: true,
 
   /**
-   * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken. 
+   * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.
    * @option
    * @type {?string}
    * @default null
index 05f4d25dc5c146561c18a31f9b4b8e100718b502..4771dd38d357564c6003d94652486b01ef45e640 100644 (file)
@@ -30,6 +30,7 @@ class Orbit extends Plugin {
   _setup(element, options){
     this.$element = element;
     this.options = $.extend({}, Orbit.defaults, this.$element.data(), options);
+    this.className = 'Orbit'; // ie9 back compat
 
     Touch.init($); // Touch init is idempotent, we just need to make sure it's initialied.
 
index 46956e22f4a74daf537c0904d27eef49cb401b10..554a78c928feb29bfa693c28530b2947fa17f352 100644 (file)
@@ -10,7 +10,7 @@ class Plugin {
 
   constructor(element, options) {
     this._setup(element, options);
-    var pluginName = hyphenate(this.constructor.name);
+    var pluginName = getPluginName(this);
     this.uuid = GetYoDigits(6, pluginName);
 
     if(!this.$element.attr(`data-${pluginName}`)){ this.$element.attr(`data-${pluginName}`, this.uuid); }
@@ -43,4 +43,12 @@ function hyphenate(str) {
   return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
 }
 
+function getPluginName(obj) {
+  if(typeof(obj.constructor.name) !== 'undefined') {
+    return hyphenate(obj.constructor.name);
+  } else {
+    return hyphenate(obj.className);
+  }
+}
+
 export {Plugin};
index 374c895fee3f7158118db73cecf0546c1a4aafdd..58e082d7fa967e7450c61f4b1930bd8c0d0cfa76 100644 (file)
@@ -43,6 +43,7 @@ class ResponsiveAccordionTabs extends Plugin{
     this.rules = this.$element.data('responsive-accordion-tabs');
     this.currentMq = null;
     this.currentPlugin = null;
+    this.className = 'ResponsiveAccordionTabs'; // ie9 back compat
     if (!this.$element.attr('id')) {
       this.$element.attr('id',GetYoDigits(6, 'responsiveaccordiontabs'));
     };
index 737a0fa77697eab0ee02cd731e3467a9593a9ae4..181044a3be7180c58cf306dce33fc207904eb26f 100644 (file)
@@ -48,6 +48,7 @@ class ResponsiveMenu extends Plugin {
     this.rules = this.$element.data('responsive-menu');
     this.currentMq = null;
     this.currentPlugin = null;
+    this.className = 'ResponsiveMenu'; // ie9 back compat
 
     this._init();
     this._events();
index 10643ce92cc8c05a40eb43f02311730d9d1c14e5..8ecd4735e3fc65411be62e9ccabb25b77343fec5 100644 (file)
@@ -24,6 +24,7 @@ class ResponsiveToggle extends Plugin {
   _setup(element, options) {
     this.$element = $(element);
     this.options = $.extend({}, ResponsiveToggle.defaults, this.$element.data(), options);
+    this.className = 'ResponsiveToggle'; // ie9 back compat
 
     this._init();
     this._events();
index 8af83dca98d7872dd5a6c281e4e73c11ae26f620..52042d24940f5192a4f8c72b6970cd377b07e889 100644 (file)
@@ -26,6 +26,7 @@ class Reveal extends Plugin {
   _setup(element, options) {
     this.$element = element;
     this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);
+    this.className = 'Reveal'; // ie9 back compat
     this._init();
 
     // Triggers init is idempotent, just need to make sure it is initialized
index f57d467784a2274349530a225d786f8ea412b10d..85d09f7c52320dcb4e84b0e8078646eec9bfa243 100644 (file)
@@ -29,6 +29,7 @@ class Slider extends Plugin {
   _setup(element, options) {
     this.$element = element;
     this.options = $.extend({}, Slider.defaults, this.$element.data(), options);
+    this.className = 'Slider'; // ie9 back compat
 
   // Touch and Triggers inits are idempotent, we just need to make sure it's initialied.
     Touch.init($);
index 77ad38a6b626d09d0bf068572d9fa5eeea414316..9f1a81fd767b5193409d040b3eed952db8bb3462 100644 (file)
@@ -12,6 +12,7 @@ class SmoothScroll extends Plugin {
     _setup(element, options) {
         this.$element = element;
         this.options = $.extend({}, SmoothScroll.defaults, this.$element.data(), options);
+        this.className = 'SmoothScroll'; // ie9 back compat
 
         this._init();
     }
index 4b285815dcd2eac60370f2d3d454ee37d02b892f..0722ceb0bb9b85f1adb1886d147a613256dbd285 100644 (file)
@@ -23,6 +23,7 @@ class Sticky extends Plugin {
   _setup(element, options) {
     this.$element = element;
     this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);
+    this.className = 'Sticky'; // ie9 back compat
 
     // Triggers init is idempotent, just need to make sure it is initialized
     Triggers.init($);
index af61e41242dac0fa5920966de2680ed1b14f4697..9f4d8f734612d25df8e8cc15fc6d0da4847c4f38 100644 (file)
@@ -22,6 +22,7 @@ class Tabs extends Plugin {
   _setup(element, options) {
     this.$element = element;
     this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);
+    this.className = 'Tabs'; // ie9 back compat
 
     this._init();
     Keyboard.register('Tabs', {
index f0ea76ae84049ca4bea77893e653778d42605bbe..53b25ff6cb683698e896ec857b5a8f1922b754ec 100644 (file)
@@ -24,6 +24,7 @@ class Toggler extends Plugin {
     this.$element = element;
     this.options = $.extend({}, Toggler.defaults, element.data(), options);
     this.className = '';
+    this.className = 'Toggler'; // ie9 back compat
 
     // Triggers init is idempotent, just need to make sure it is initialized
     Triggers.init($);
index 5fa150e511e7e369685c0a305f3a746f27d975f8..74c3ac4a27cb7862b0321e3aaa9aa679c59dffb4 100644 (file)
@@ -26,6 +26,7 @@ class Tooltip extends Positionable {
   _setup(element, options) {
     this.$element = element;
     this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);
+    this.className = 'Tooltip'; // ie9 back compat
 
     this.isActive = false;
     this.isClick = false;