TheShopCritics2/TSC2/wwwroot/js/modules/sidepanel.js

32 lines
766 B
JavaScript
Raw Normal View History

CNVS.SidePanel = function() {
var __core = SEMICOLON.Core;
return {
init: function(selector) {
selector = __core.getSelector( selector, false );
if( selector.length < 1 ){
return true;
}
var body = __core.getVars.elBody.classList;
document.addEventListener('click', function(e) {
if( !e.target.closest('#side-panel') && !e.target.closest('.side-panel-trigger') ) {
body.remove('side-panel-open');
}
}, false);
document.querySelectorAll('.side-panel-trigger').forEach( function(el) {
el.onclick = function(e) {
e.preventDefault();
body.toggle('side-panel-open');
if( body.contains('device-touch') && body.contains('side-push-panel') ) {
body.toggle('ohidden');
}
};
});
}
};
}();