/** Core script to handle the entire theme and core functions **/ var Layout = function() { var layoutImgPath = 'layouts/layout6/img/'; var layoutCssPath = 'layouts/layout6/css/'; var resBreakpointMd = App.getResponsiveBreakpoint('md'); //992px var resBreakpointSm = App.getResponsiveBreakpoint('sm'); //768px var handleQuickSearch = function() { // handle search box expand/collapse $('.page-header').on('click', '.search-form', function(e) { $(this).addClass("open"); $(this).find('.form-control').focus(); $('.page-header .search-form .form-control').on('blur', function(e) { $(this).closest('.search-form').removeClass("open"); $(this).unbind("blur"); }); }); // handle hor menu search form on enter press $('.page-header').on('keypress', '.hor-menu .search-form .form-control', function(e) { if (e.which == 13) { $(this).closest('.search-form').submit(); return false; } }); // handle header search button click $('.page-header').on('mousedown', '.search-form.open .submit', function(e) { e.preventDefault(); e.stopPropagation(); $(this).closest('.search-form').submit(); }); }; // handle go to top button var handleGo2Top = function () { var Go2TopOperation = function(){ var CurrentWindowPosition = $(window).scrollTop();// current vertical position if (CurrentWindowPosition > 100) { $(".go2top").show(); } else { $(".go2top").hide(); } }; Go2TopOperation();// call headerFix() when the page was loaded if (navigator.userAgent.match(/iPhone|iPad|iPod/i)) { $(window).bind("touchend touchcancel touchleave", function(e){ Go2TopOperation(); }); } else { $(window).scroll(function() { Go2TopOperation(); }); } $(".go2top").click(function(e) { e.preventDefault(); $("html, body").animate({ scrollTop: 0 }, 600); }); }; // Handle sidebar menu var handleSidebarMenu = function() { $('.page-sidebar').on('click', 'li > a', function(e) { if (App.getViewPort().width >= resBreakpointMd && $(this).parents('.page-sidebar-menu-hover-submenu').size() === 1) { // exit of hover sidebar menu return; } if ($(this).next().hasClass('sub-menu') === false) { if (App.getViewPort().width < resBreakpointMd && $('.page-sidebar').hasClass("in")) { // close the menu on mobile view while laoding a page $('.page-header .responsive-toggler').click(); } return; } var parent = $(this).parent().parent(); var the = $(this); var menu = $('.page-sidebar-menu'); var sub = $(this).next(); var autoScroll = menu.data("auto-scroll"); var slideSpeed = parseInt(menu.data("slide-speed")); var keepExpand = menu.data("keep-expanded"); if (keepExpand !== true) { parent.children('li.open').children('a').children('.arrow').removeClass('open'); parent.children('li.open').children('.sub-menu:not(.always-open)').slideUp(slideSpeed); parent.children('li.open').removeClass('open'); } var slideOffeset = -200; if (sub.is(":visible")) { $('.arrow', $(this)).removeClass("open"); $(this).parent().removeClass("open"); sub.slideUp(slideSpeed, function() { if (autoScroll === true && $('body').hasClass('page-sidebar-closed') === false) { if ($('body').hasClass('page-sidebar-fixed')) { menu.slimScroll({ 'scrollTo': (the.position()).top }); } else { App.scrollTo(the, slideOffeset); } } }); } else { $('.arrow', $(this)).addClass("open"); $(this).parent().addClass("open"); sub.slideDown(slideSpeed, function() { if (autoScroll === true && $('body').hasClass('page-sidebar-closed') === false) { if ($('body').hasClass('page-sidebar-fixed')) { menu.slimScroll({ 'scrollTo': (the.position()).top }); } else { App.scrollTo(the, slideOffeset); } } }); } e.preventDefault(); }); // handle ajax links within sidebar menu $('.page-sidebar').on('click', ' li > a.ajaxify', function(e) { e.preventDefault(); App.scrollTop(); var url = $(this).attr("href"); var menuContainer = $('.page-sidebar ul'); var pageContent = $('.page-content'); var pageContentBody = $('.page-content .page-content-body'); menuContainer.children('li.active').removeClass('active'); menuContainer.children('arrow.open').removeClass('open'); $(this).parents('li').each(function() { $(this).addClass('active'); $(this).children('a > span.arrow').addClass('open'); }); $(this).parents('li').addClass('active'); if (App.getViewPort().width < resBreakpointMd && $('.page-sidebar').hasClass("in")) { // close the menu on mobile view while laoding a page $('.page-header .responsive-toggler').click(); } App.startPageLoading(); var the = $(this); $.ajax({ type: "GET", cache: false, url: url, dataType: "html", success: function(res) { if (the.parents('li.open').size() === 0) { $('.page-sidebar-menu > li.open > a').click(); } App.stopPageLoading(); pageContentBody.html(res); Layout.fixContentHeight(); // fix content height App.initAjax(); // initialize core stuff }, error: function(xhr, ajaxOptions, thrownError) { App.stopPageLoading(); pageContentBody.html('