mirror of
https://github.com/yogeshojha/rengine.git
synced 2026-09-19 00:07:44 +02:00
239 lines
8.2 KiB
JavaScript
239 lines
8.2 KiB
JavaScript
var App = function() {
|
|
var MediaSize = {
|
|
xl: 1200,
|
|
lg: 992,
|
|
md: 991,
|
|
sm: 576
|
|
};
|
|
var ToggleClasses = {
|
|
headerhamburger: '.toggle-sidebar',
|
|
inputFocused: 'input-focused',
|
|
};
|
|
|
|
var Selector = {
|
|
mainHeader: '.header.navbar',
|
|
headerhamburger: '.toggle-sidebar',
|
|
fixed: '.fixed-top',
|
|
mainContainer: '.main-container',
|
|
sidebar: '#sidebar',
|
|
sidebarContent: '#sidebar-content',
|
|
sidebarStickyContent: '.sticky-sidebar-content',
|
|
ariaExpandedTrue: '#sidebar [aria-expanded="true"]',
|
|
ariaExpandedFalse: '#sidebar [aria-expanded="false"]',
|
|
contentWrapper: '#content',
|
|
contentWrapperContent: '.container',
|
|
mainContentArea: '.main-content',
|
|
searchFull: '.toggle-search',
|
|
overlay: {
|
|
sidebar: '.overlay',
|
|
cs: '.cs-overlay',
|
|
search: '.search-overlay'
|
|
}
|
|
};
|
|
|
|
var toggleFunction = {
|
|
sidebar: function($recentSubmenu) {
|
|
$('.sidebarCollapse').on('click', function (sidebar) {
|
|
sidebar.preventDefault();
|
|
$(Selector.mainContainer).toggleClass("sidebar-closed");
|
|
$(Selector.mainHeader).toggleClass('expand-header');
|
|
$(Selector.mainContainer).toggleClass("sbar-open");
|
|
$('.overlay').toggleClass('show');
|
|
$('html,body').toggleClass('sidebar-noneoverflow');
|
|
});
|
|
},
|
|
overlay: function() {
|
|
$('#dismiss, .overlay, cs-overlay').on('click', function () {
|
|
// hide sidebar
|
|
$(Selector.mainContainer).addClass('sidebar-closed');
|
|
$(Selector.mainContainer).removeClass('sbar-open');
|
|
// hide overlay
|
|
$('.overlay').removeClass('show');
|
|
$('html,body').removeClass('sidebar-noneoverflow');
|
|
});
|
|
},
|
|
search: function() {
|
|
$(Selector.searchFull).click(function(event) {
|
|
$(this).parents('.search-animated').find('.search-full').addClass(ToggleClasses.inputFocused);
|
|
$(this).parents('.search-animated').addClass('show-search');
|
|
$(Selector.overlay.search).addClass('show');
|
|
$(Selector.overlay.search).addClass('show');
|
|
});
|
|
|
|
$(Selector.overlay.search).click(function(event) {
|
|
$(this).removeClass('show');
|
|
$(Selector.searchFull).parents('.search-animated').find('.search-full').removeClass(ToggleClasses.inputFocused);
|
|
$(Selector.searchFull).parents('.search-animated').removeClass('show-search');
|
|
});
|
|
}
|
|
}
|
|
|
|
var inBuiltfunctionality = {
|
|
mainCatActivateScroll: function() {
|
|
const ps = new PerfectScrollbar('.menu-categories', {
|
|
wheelSpeed:.5,
|
|
swipeEasing:!0,
|
|
minScrollbarLength:40,
|
|
maxScrollbarLength:300,
|
|
suppressScrollX : true
|
|
});
|
|
},
|
|
preventScrollBody: function() {
|
|
$('#sidebar').bind('mousewheel DOMMouseScroll', function(e) {
|
|
var scrollTo = null;
|
|
|
|
if (e.type == 'mousewheel') {
|
|
scrollTo = (e.originalEvent.wheelDelta * -1);
|
|
}
|
|
else if (e.type == 'DOMMouseScroll') {
|
|
scrollTo = 40 * e.originalEvent.detail;
|
|
}
|
|
|
|
if (scrollTo) {
|
|
e.preventDefault();
|
|
$(this).scrollTop(scrollTo + $(this).scrollTop());
|
|
}
|
|
});
|
|
},
|
|
functionalDropdown: function() {
|
|
var getDropdownElement = document.querySelectorAll('.more-dropdown .dropdown-item');
|
|
for (var i = 0; i < getDropdownElement.length; i++) {
|
|
getDropdownElement[i].addEventListener('click', function() {
|
|
document.querySelectorAll('.more-dropdown .dropdown-toggle > span')[0].innerText = this.getAttribute('data-value');
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
var _mobileResolution = {
|
|
onRefresh: function() {
|
|
var windowWidth = window.innerWidth;
|
|
if ( windowWidth <= MediaSize.md ) {
|
|
toggleFunction.sidebar();
|
|
}
|
|
},
|
|
|
|
// Note : - _mobileResolution -> onResize | Uncomment it if need for onresize functions for MOBILE RESOLUTION i.e. below or equal to 991px |
|
|
|
|
/*
|
|
onResize: function() {
|
|
$(window).on('resize', function(event) {
|
|
event.preventDefault();
|
|
var windowWidth = window.innerWidth;
|
|
if ( windowWidth <= MediaSize.md ) {
|
|
}
|
|
});
|
|
}
|
|
*/
|
|
}
|
|
|
|
var _desktopResolution = {
|
|
onRefresh: function() {
|
|
var windowWidth = window.innerWidth;
|
|
if ( windowWidth > MediaSize.md ) {
|
|
toggleFunction.sidebar(true);
|
|
}
|
|
},
|
|
|
|
// Note : - _desktopResolution -> onResize | Uncomment it if need, for onresize functions for DESKTOP RESOLUTION i.e. above or equal to 991px |
|
|
|
|
/*
|
|
onResize: function() {
|
|
$(window).on('resize', function(event) {
|
|
event.preventDefault();
|
|
var windowWidth = window.innerWidth;
|
|
if ( windowWidth > MediaSize.md ) {
|
|
}
|
|
});
|
|
}
|
|
*/
|
|
}
|
|
|
|
function sidebarFunctionality() {
|
|
function sidebarCloser() {
|
|
|
|
if (window.innerWidth <= 991 ) {
|
|
|
|
if (!$('body').hasClass('alt-menu')) {
|
|
|
|
$("#container").addClass("sidebar-closed");
|
|
$('.overlay').removeClass('show');
|
|
} else {
|
|
$(".navbar").removeClass("expand-header");
|
|
$('.overlay').removeClass('show');
|
|
$('#container').removeClass('sbar-open');
|
|
$('html, body').removeClass('sidebar-noneoverflow');
|
|
}
|
|
|
|
} else if (window.innerWidth > 991 ) {
|
|
|
|
if (!$('body').hasClass('alt-menu')) {
|
|
|
|
$("#container").removeClass("sidebar-closed");
|
|
$(".navbar").removeClass("expand-header");
|
|
$('.overlay').removeClass('show');
|
|
$('#container').removeClass('sbar-open');
|
|
$('html, body').removeClass('sidebar-noneoverflow');
|
|
} else {
|
|
$('html, body').addClass('sidebar-noneoverflow');
|
|
$("#container").addClass("sidebar-closed");
|
|
$(".navbar").addClass("expand-header");
|
|
$('.overlay').addClass('show');
|
|
$('#container').addClass('sbar-open');
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function sidebarMobCheck() {
|
|
if (window.innerWidth <= 991 ) {
|
|
|
|
if ( $('.main-container').hasClass('sbar-open') ) {
|
|
return;
|
|
} else {
|
|
sidebarCloser()
|
|
}
|
|
} else if (window.innerWidth > 991 ) {
|
|
sidebarCloser();
|
|
}
|
|
}
|
|
|
|
sidebarCloser();
|
|
|
|
$(window).resize(function(event) {
|
|
sidebarMobCheck();
|
|
});
|
|
|
|
}
|
|
|
|
return {
|
|
init: function() {
|
|
toggleFunction.overlay();
|
|
toggleFunction.search();
|
|
/*
|
|
Desktop Resoltion fn
|
|
*/
|
|
_desktopResolution.onRefresh();
|
|
|
|
// Note : - _desktopResolution -> onResize | Uncomment it if need for onresize functions for MOBILE RESOLUTION i.e. above or equal to 991px |
|
|
|
|
// _desktopResolution.onResize();
|
|
|
|
/*
|
|
Mobile Resoltion fn
|
|
*/
|
|
_mobileResolution.onRefresh();
|
|
|
|
// Note : - _mobileResolution -> onResize | Uncomment it if need for onresize functions for DESKTOP RESOLUTION i.e. below or equal to 991px |
|
|
|
|
// _mobileResolution.onResize();
|
|
|
|
sidebarFunctionality();
|
|
inBuiltfunctionality.mainCatActivateScroll();
|
|
inBuiltfunctionality.preventScrollBody();
|
|
inBuiltfunctionality.functionalDropdown();
|
|
}
|
|
}
|
|
|
|
}();
|