* @private
*/
_init() {
- var rulesTree = {};
-
- // Parse rules from "classes" in data attribute
- var rules = this.rules.split(' ');
-
- // Iterate through every rule found
- for (var i = 0; i < rules.length; i++) {
- var rule = rules[i].split('-');
- var ruleSize = rule.length > 1 ? rule[0] : 'small';
- var rulePlugin = rule.length > 1 ? rule[1] : rule[0];
-
- if (MenuPlugins[rulePlugin] !== null) {
- rulesTree[ruleSize] = MenuPlugins[rulePlugin];
+ // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules
+ if (typeof this.rules === 'string') {
+ let rulesTree = {};
+
+ // Parse rules from "classes" pulled from data attribute
+ let rules = this.rules.split(' ');
+
+ // Iterate through every rule found
+ for (let i = 0; i < rules.length; i++) {
+ let rule = rules[i].split('-');
+ let ruleSize = rule.length > 1 ? rule[0] : 'small';
+ let rulePlugin = rule.length > 1 ? rule[1] : rule[0];
+
+ if (MenuPlugins[rulePlugin] !== null) {
+ rulesTree[ruleSize] = MenuPlugins[rulePlugin];
+ }
}
- }
- this.rules = rulesTree;
+ this.rules = rulesTree;
+ }
- if (!$.isEmptyObject(rulesTree)) {
+ if (!$.isEmptyObject(this.rules)) {
this._checkMediaQueries();
}
}
--- /dev/null
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <title>Foundation for Sites Testing</title>
+ <link href="../assets/css/foundation.css" rel="stylesheet" />
+ </head>
+ <body>
+ <div class="row column">
+ <h1>Responsive Menu: reInit</h1>
+
+ <ul id="menu" class="vertical menu" data-responsive-menu="drilldown medium-dropdown" style="width: 300px;">
+ <li>
+ <a href="#">Item 1</a>
+ <ul class="vertical menu">
+ <li>
+ <a href="#">Item 1A</a>
+ <ul class="vertical menu">
+ <li><a href="#">Item 1A</a></li>
+ <li><a href="#">Item 1B</a></li>
+ <li><a href="#">Item 1C</a></li>
+ <li><a href="#">Item 1D</a></li>
+ <li><a href="#">Item 1E</a></li>
+ </ul>
+ </li>
+ <li><a href="#">Item 1B</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#">Item 2</a>
+ <ul class="vertical menu">
+ <li><a href="#">Item 2A</a></li>
+ <li><a href="#">Item 2B</a></li>
+ </ul>
+ </li>
+ <li>
+ <a href="#">Item 3</a>
+ <ul class="vertical menu">
+ <li><a href="#">Item 3A</a></li>
+ <li><a href="#">Item 3B</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+
+ <script src="../assets/js/vendor.js"></script>
+ <script src="../assets/js/foundation.js"></script>
+ <script>
+ $(document).foundation();
+ $('#menu').foundation('_init');
+ </script>
+ </body>
+</html>