Current File : /home/tradevaly/www/public/assets/js/app.min.js |
/*
Template Name: Skote - Admin & Dashboard Template
Author: Themesbrand
Version: 3.2.0
Website: https://themesbrand.com/
Contact: themesbrand@gmail.com
File: Main Js File
*/
(function ($) {
'use strict';
$('.navbar-search-field').on('input', function () {
var search = $(this).val().toLowerCase();
var search_result_pane = $('.search-list');
$(search_result_pane).html('');
if (search.length == 0) {
$('.search-list').addClass('d-none');
return;
}
$('.search-list').removeClass('d-none');
// search
var match = $('#sidebar-menu .waves-effect').filter(function (idx, elem) {
return $(elem).text().trim().toLowerCase().indexOf(search) >= 0 ? elem : null;
}).sort();
// search not found
if (match.length == 0) {
$(search_result_pane).append('<li class="text-muted pl-5">No search result found.</li>');
return;
}
// search found
match.each(function (idx, elem) {
var item_url = $(elem).attr('href') || $(elem).data('default-url');
var item_text = $(elem).text().replace(/(\d+)/g, '').trim();
$(search_result_pane).append(`<li><a href="${item_url}">${item_text}</a></li>`);
});
});
function initMetisMenu() {
//metis menu
$("#side-menu").metisMenu();
}
function initLeftMenuCollapse() {
$('#vertical-menu-btn').on('click', function (event) {
event.preventDefault();
$('body').toggleClass('sidebar-enable');
if ($(window).width() >= 992) {
$('body').toggleClass('vertical-collpsed');
} else {
$('body').removeClass('vertical-collpsed');
}
});
}
function initActiveMenu() {
// === following js will activate the menu in left side bar based on url ====
$("#sidebar-menu a").each(function () {
var pageUrl = window.location.href.split(/[?#]/)[0];
if (this.href == pageUrl) {
$(this).addClass("active");
$(this).parent().addClass("mm-active"); // add active to li of the current link
$(this).parent().parent().addClass("mm-show");
$(this).parent().parent().prev().addClass("mm-active"); // add active class to an anchor
$(this).parent().parent().parent().addClass("mm-active");
$(this).parent().parent().parent().parent().addClass("mm-show"); // add active to li of the current link
$(this).parent().parent().parent().parent().parent().addClass("mm-active");
}
});
}
function initMenuItemScroll() {
// focus active menu in left sidebar
$(document).ready(function () {
if ($("#sidebar-menu").length > 0 && $("#sidebar-menu .mm-active .active").length > 0) {
var activeMenu = $("#sidebar-menu .mm-active .active").offset().top;
if (activeMenu > 300) {
activeMenu = activeMenu - 300;
$(".vertical-menu .simplebar-content-wrapper").animate({ scrollTop: activeMenu }, "slow");
}
}
});
}
function initHoriMenuActive() {
$(".navbar-nav a").each(function () {
var pageUrl = window.location.href.split(/[?#]/)[0];
if (this.href == pageUrl) {
$(this).addClass("active");
$(this).parent().addClass("active");
$(this).parent().parent().addClass("active");
$(this).parent().parent().parent().addClass("active");
$(this).parent().parent().parent().parent().addClass("active");
$(this).parent().parent().parent().parent().parent().addClass("active");
$(this).parent().parent().parent().parent().parent().parent().addClass("active");
}
});
}
function initFullScreen() {
$('[data-bs-toggle="fullscreen"]').on("click", function (e) {
e.preventDefault();
$('body').toggleClass('fullscreen-enable');
if (!document.fullscreenElement && /* alternative standard method */ !document.mozFullScreenElement && !document.webkitFullscreenElement) { // current working methods
if (document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen();
} else if (document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen();
} else if (document.documentElement.webkitRequestFullscreen) {
document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
}
} else {
if (document.cancelFullScreen) {
document.cancelFullScreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
}
});
document.addEventListener('fullscreenchange', exitHandler);
document.addEventListener("webkitfullscreenchange", exitHandler);
document.addEventListener("mozfullscreenchange", exitHandler);
function exitHandler() {
if (!document.webkitIsFullScreen && !document.mozFullScreen && !document.msFullscreenElement) {
console.log('pressed');
$('body').removeClass('fullscreen-enable');
}
}
}
function initRightSidebar() {
// right side-bar toggle
$('.right-bar-toggle').on('click', function (e) {
$('body').toggleClass('right-bar-enabled');
});
$(document).on('click', 'body', function (e) {
if ($(e.target).closest('.right-bar-toggle, .right-bar').length > 0) {
return;
}
$('body').removeClass('right-bar-enabled');
return;
});
}
function initDropdownMenu() {
if (document.getElementById("topnav-menu-content")) {
var elements = document.getElementById("topnav-menu-content").getElementsByTagName("a");
for (var i = 0, len = elements.length; i < len; i++) {
elements[i].onclick = function (elem) {
if (elem.target.getAttribute("href") === "#") {
elem.target.parentElement.classList.toggle("active");
elem.target.nextElementSibling.classList.toggle("show");
}
}
}
window.addEventListener("resize", updateMenu);
}
}
function updateMenu() {
var elements = document.getElementById("topnav-menu-content").getElementsByTagName("a");
for (var i = 0, len = elements.length; i < len; i++) {
if (elements[i].parentElement.getAttribute("class") === "nav-item dropdown active") {
elements[i].parentElement.classList.remove("active");
if (elements[i].nextElementSibling !== null) {
elements[i].nextElementSibling.classList.remove("show");
}
}
}
}
function initComponents() {
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
});
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
return new bootstrap.Popover(popoverTriggerEl)
});
var offcanvasElementList = [].slice.call(document.querySelectorAll('.offcanvas'))
var offcanvasList = offcanvasElementList.map(function (offcanvasEl) {
return new bootstrap.Offcanvas(offcanvasEl)
})
}
function initPreloader() {
$(window).on('load', function () {
$('#status').fadeOut();
$('#preloader').delay(350).fadeOut('slow');
});
}
function initSettings() {
if (window.sessionStorage) {
var alreadyVisited = sessionStorage.getItem("is_visited");
if (!alreadyVisited) {
sessionStorage.setItem("is_visited", "light-mode-switch");
} else {
$(".right-bar input:checkbox").prop('checked', false);
$("#" + alreadyVisited).prop('checked', true);
updateThemeSetting(alreadyVisited);
}
}
$("#light-mode-switch, #dark-mode-switch, #rtl-mode-switch, #dark-rtl-mode-switch").on("change", function (e) {
updateThemeSetting(e.target.id);
});
// show password input value
$("#password-addon").on('click', function () {
if ($(this).siblings('input').length > 0) {
$(this).siblings('input').attr('type') == "password" ? $(this).siblings('input').attr('type', 'input') : $(this).siblings('input').attr('type', 'password');
}
})
}
function updateThemeSetting(id) {
}
function initCheckAll() {
$('#checkAll').on('change', function () {
$('.table-check .form-check-input').prop('checked', $(this).prop("checked"));
});
$('.table-check .form-check-input').change(function () {
if ($('.table-check .form-check-input:checked').length == $('.table-check .form-check-input').length) {
$('#checkAll').prop('checked', true);
} else {
$('#checkAll').prop('checked', false);
}
});
}
function init() {
initMetisMenu();
initLeftMenuCollapse();
initActiveMenu();
initMenuItemScroll();
initHoriMenuActive();
initFullScreen();
initRightSidebar();
initDropdownMenu();
initComponents();
initSettings();
initPreloader();
Waves.init();
initCheckAll();
}
init();
})(jQuery)