|
1 | 1 | 'use strict';
|
2 | 2 |
|
| 3 | +var ClassList = require('classlist'); |
3 | 4 | require('./prism');
|
4 | 5 |
|
5 | 6 | /**
|
@@ -85,7 +86,7 @@ fabricator.setActiveItem = function () {
|
85 | 86 | for (var i = fabricator.dom.menuItems.length - 1; i >= 0; i--) {
|
86 | 87 |
|
87 | 88 | // remove active class from items
|
88 |
| - fabricator.dom.menuItems[i].classList.remove('f-is-active'); |
| 89 | + fabricator.toggleClass(fabricator.dom.menuItems[i], 'f-is-active', false); |
89 | 90 |
|
90 | 91 | // get item href
|
91 | 92 | href = fabricator.dom.menuItems[i].getAttribute('href');
|
@@ -131,7 +132,7 @@ fabricator.setActiveItem = function () {
|
131 | 132 | index = (items.indexOf(id) > -1) ? items.indexOf(id) : 0;
|
132 | 133 |
|
133 | 134 | // set the matched item as active
|
134 |
| - fabricator.dom.menuItems[index].classList.add('f-is-active'); |
| 135 | + fabricator.toggleClass(fabricator.dom.menuItems[index], 'f-is-active', true); |
135 | 136 |
|
136 | 137 | };
|
137 | 138 |
|
@@ -173,7 +174,7 @@ fabricator.setToggleOption = function (toggleType, state) {
|
173 | 174 | };
|
174 | 175 |
|
175 | 176 | fabricator.toggleClass = function (element, className, state) {
|
176 |
| - let classList = element.classList; |
| 177 | + let classList = element.classList || ClassList(element); |
177 | 178 | switch (state) {
|
178 | 179 | case true:
|
179 | 180 | classList.add(className);
|
@@ -205,7 +206,7 @@ fabricator.singleItemToggle = function () {
|
205 | 206 | var group = this.parentNode.parentNode.parentNode,
|
206 | 207 | type = e.currentTarget.getAttribute('data-f-toggle-control');
|
207 | 208 | e.preventDefault();
|
208 |
| - group.querySelector('[data-f-toggle=' + type + ']').classList.toggle('f-u-hidden'); |
| 209 | + fabricator.toggleClass(group.querySelector('[data-f-toggle=' + type + ']'), 'f-u-hidden'); |
209 | 210 | };
|
210 | 211 |
|
211 | 212 | for (var i = 0; i < itemToggleSingle.length; i++) {
|
|
0 commit comments