chore: synchronize project dependencies and update vendor directory files
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
(function(){
|
||||
|
||||
'use strict'
|
||||
|
||||
|
||||
var siteMenuClone = function() {
|
||||
var jsCloneNavs = document.querySelectorAll('.js-clone-nav');
|
||||
var siteMobileMenuBody = document.querySelector('.site-mobile-menu-body');
|
||||
|
||||
|
||||
|
||||
jsCloneNavs.forEach(nav => {
|
||||
var navCloned = nav.cloneNode(true);
|
||||
navCloned.setAttribute('class', 'site-nav-wrap');
|
||||
siteMobileMenuBody.appendChild(navCloned);
|
||||
});
|
||||
|
||||
setTimeout(function(){
|
||||
|
||||
var hasChildrens = document.querySelector('.site-mobile-menu').querySelectorAll(' .has-children');
|
||||
|
||||
var counter = 0;
|
||||
hasChildrens.forEach( hasChild => {
|
||||
|
||||
var refEl = hasChild.querySelector('a');
|
||||
|
||||
var newElSpan = document.createElement('span');
|
||||
newElSpan.setAttribute('class', 'arrow-collapse collapsed');
|
||||
|
||||
// prepend equivalent to jquery
|
||||
hasChild.insertBefore(newElSpan, refEl);
|
||||
|
||||
var arrowCollapse = hasChild.querySelector('.arrow-collapse');
|
||||
arrowCollapse.setAttribute('data-toggle', 'collapse');
|
||||
arrowCollapse.setAttribute('data-target', '#collapseItem' + counter);
|
||||
|
||||
var dropdown = hasChild.querySelector('.dropdown');
|
||||
dropdown.setAttribute('class', 'collapse');
|
||||
dropdown.setAttribute('id', 'collapseItem' + counter);
|
||||
|
||||
counter++;
|
||||
});
|
||||
|
||||
}, 1000);
|
||||
|
||||
|
||||
// Click js-menu-toggle
|
||||
|
||||
var menuToggle = document.querySelectorAll(".js-menu-toggle");
|
||||
var mTog;
|
||||
menuToggle.forEach(mtoggle => {
|
||||
mTog = mtoggle;
|
||||
mtoggle.addEventListener("click", (e) => {
|
||||
if ( document.body.classList.contains('offcanvas-menu') ) {
|
||||
document.body.classList.remove('offcanvas-menu');
|
||||
mtoggle.classList.remove('active');
|
||||
mTog.classList.remove('active');
|
||||
} else {
|
||||
document.body.classList.add('offcanvas-menu');
|
||||
mtoggle.classList.add('active');
|
||||
mTog.classList.add('active');
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
|
||||
var specifiedElement = document.querySelector(".site-mobile-menu");
|
||||
var mt, mtoggleTemp;
|
||||
document.addEventListener('click', function(event) {
|
||||
var isClickInside = specifiedElement.contains(event.target);
|
||||
menuToggle.forEach(mtoggle => {
|
||||
mtoggleTemp = mtoggle
|
||||
mt = mtoggle.contains(event.target);
|
||||
})
|
||||
|
||||
if (!isClickInside && !mt) {
|
||||
if ( document.body.classList.contains('offcanvas-menu') ) {
|
||||
document.body.classList.remove('offcanvas-menu');
|
||||
mtoggleTemp.classList.remove('active');
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
siteMenuClone();
|
||||
|
||||
|
||||
})()
|
||||
Reference in New Issue
Block a user