(function($) { "use strict"; $(document).ready(function() { /* ======================================== input search open item ======================================== */ $(document).on('keyup change', '#search_form_input', function(event) { let input_values = $(this).val(); if (input_values.length > 0) { $('#search_suggestions_wrap, .search-suggestion-overlay').addClass("show"); } else { $('#search_suggestions_wrap, .search-suggestion-overlay').removeClass("show"); } }); $(document).on('click', '.search-suggestion-overlay', function() { $('#search_suggestions_wrap, .search-suggestion-overlay').removeClass('show') }) /* ======================================== Nice Scroll js ======================================== */ $(".product-suggestion-list, .contents-wrapper, .single-addto-cart-wrappers").niceScroll({}); /* ======================================== Addto-Cart Click Close ======================================== */ $(document).on('click', '.close-cart', function() { $(this).parent().hide(100); }); /* ======================================== Navbar Toggler ======================================== */ $(document).on('click', '.navbar-toggler', function() { $(".navbar-toggler").toggleClass("active"); }); $(document).on('click', '.click-nav-right-icon', function() { $(".show-nav-content").toggleClass("show"); }); /* ======================================== Show nav right content ======================================== */ $(document).on('click', '.click-content-show', function() { $(".right-contents-show").toggleClass("show"); }); /* ======================================== counter Odometer ======================================== */ $(".single-counter-count").each(function() { $(this).isInViewport(function(status) { if (status === "entered") { for (var i = 0; i < document.querySelectorAll(".odometer").length; i++) { var el = document.querySelectorAll('.odometer')[i]; el.innerHTML = el.getAttribute("data-odometer-final"); } } }); }); /* ======================================== Nice Select ======================================== */ $('.nice-select').niceSelect(); /* ======================================== Lazy Load Js ======================================== */ $('.lazyloads').Lazy(); /* ======================================== Click Active Class ======================================== */ $(document).on('click', '.active-list .item', function() { $(this).siblings().removeClass('active'); $(this).addClass('active'); }); /* ======================================== Click expand Slide Up Down ======================================== */ $(document).on('click', '.single-shop-left-title .title', function(e) { var shopTitle = $(this).parent('.single-shop-left-title'); if (shopTitle.hasClass('open')) { shopTitle.removeClass('open'); shopTitle.find('.single-shop-left-inner').removeClass('open'); shopTitle.find('.single-shop-left-inner').slideUp(300, "swing"); } else { shopTitle.addClass('open'); shopTitle.children('.single-shop-left-inner').slideDown(300, "swing"); shopTitle.siblings('.single-shop-left-title').children('.single-shop-left-inner').slideUp(300, "swing"); shopTitle.siblings('.single-shop-left-title').removeClass('open'); } }); /* ======================================== Shop Responsive Sidebar ======================================== */ $(document).on('click', '.shop-close-content-icon, .responsive-overlay', function() { $('.shop-close-content, .responsive-overlay').removeClass('active'); }); $(document).on('click', '.shop-icon-sidebar', function() { $('.responsive-overlay').addClass('active'); $('.shop-close-content').toggleClass('active'); }); /* ======================================== Accounts Responsive Sidebar ======================================== */ $(document).on('click', '.account-icon-close-bars, .body-overlay-desktop', function() { $('.account-icon-close, .body-overlay-desktop').removeClass('active'); }); $(document).on('click', '.account-responsive-icon', function() { $('.body-overlay-desktop').addClass('active'); $('.account-icon-close').toggleClass('active'); }); /* ======================================== wow js init ======================================== */ new WOW().init(); /* ======================================== Initialize tooltips ======================================== */ var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')) var tooltipList = tooltipTriggerList.map(function(tooltipTriggerEl) { return new bootstrap.Tooltip(tooltipTriggerEl) }); /* ======================================== Tab ======================================== */ $(document).on('click', 'ul.tabs li', function() { var tab_id = $(this).attr('data-tab'); $('ul.tabs li').removeClass('active'); $('.tab-content-item').removeClass('active'); $(this).addClass('active'); $("#" + tab_id).addClass('active'); }); /* ======================================== Product Quantity js ======================================== */ $(document).on('click', '.plus', function() { var selectedInput = $(this).prev('.quantity-input'); if (selectedInput.val()) { selectedInput[0].stepUp(1); } }); $(document).on('click', '.substract', function() { var selectedInput = $(this).next('.quantity-input'); if (selectedInput.val() > 1) { selectedInput[0].stepDown(1); } }); /* ======================================== Table Cart Click Close ======================================== */ $(document).on('click', '.close-table-cart', function() { $(this).parent().parent().hide(100); }); $(document).on('click', '.btn-clear', function() { $('.table-cart-clear').hide(500); }); $(document).on('click', '.btn-update', function() { $('.table-cart-clear').show(1000); $('.close-table-cart').parent().parent().show(500); }); /* ======================================== Payment Card Delivery ======================================== */ $(document).on('click', '.payment-card .single-card, .select-list li', function() { $(this).siblings().removeClass("active"); $(this).addClass("active"); }); $(document).on('click', '.select-list li.disabled', function() { $(this).removeClass("active"); }); /* ======================================== Click Open SignIn SignUp ======================================== */ $(document).on('click', '.click-open-form', function() { $('.checkout-form-open').toggleClass('active'); }); $(document).on('click', '.click-open-form2', function() { $(this).toggleClass('active'); $('.checkout-signup-form-wrapper').toggleClass('active'); }); $(document).on('click', '.click-open-form3', function() { $(this).toggleClass('active'); $('.checkout-address-form-wrapper').toggleClass('active'); }); /* ======================================== Global Slider Init ======================================== */ var globalSlickInit = $('.global-slick-init'); if (globalSlickInit.length > 0) { //todo have to check slider item $.each(globalSlickInit, function(index, value) { if ($(this).children('div').length > 1) { //todo configure slider settings object var sliderSettings = {}; var allData = $(this).data(); var infinite = typeof allData.infinite == 'undefined' ? false : allData.infinite; var arrows = typeof allData.arrows == 'undefined' ? false : allData.arrows; var autoplay = typeof allData.autoplay == 'undefined' ? false : allData.autoplay; var focusOnSelect = typeof allData.focusonselect == 'undefined' ? false : allData.focusonselect; var swipeToSlide = typeof allData.swipetoslide == 'undefined' ? false : allData.swipetoslide; var slidesToShow = typeof allData.slidestoshow == 'undefined' ? 1 : allData.slidestoshow; var slidesToScroll = typeof allData.slidestoscroll == 'undefined' ? 1 : allData.slidestoscroll; var speed = typeof allData.speed == 'undefined' ? '500' : allData.speed; var dots = typeof allData.dots == 'undefined' ? false : allData.dots; var cssEase = typeof allData.cssease == 'undefined' ? 'linear' : allData.cssease; var prevArrow = typeof allData.prevarrow == 'undefined' ? '' : allData.prevarrow; var nextArrow = typeof allData.nextarrow == 'undefined' ? '' : allData.nextarrow; var centerMode = typeof allData.centermode == 'undefined' ? false : allData.centermode; var centerPadding = typeof allData.centerpadding == 'undefined' ? false : allData.centerpadding; var rows = typeof allData.rows == 'undefined' ? 1 : parseInt(allData.rows); var autoplay = typeof allData.autoplay == 'undefined' ? false : allData.autoplay; var autoplaySpeed = typeof allData.autoplayspeed == 'undefined' ? 2000 : parseInt(allData.autoplayspeed); var lazyLoad = typeof allData.lazyload == 'undefined' ? false : allData.lazyload; // have to remove it from settings object if it undefined var appendDots = typeof allData.appenddots == 'undefined' ? false : allData.appenddots; var appendArrows = typeof allData.appendarrows == 'undefined' ? false : allData.appendarrows; var asNavFor = typeof allData.asnavfor == 'undefined' ? false : allData.asnavfor; var verticalSwiping = typeof allData.verticalswiping == 'undefined' ? false : allData.verticalswiping; var vertical = typeof allData.vertical == 'undefined' ? false : allData.vertical; var fade = typeof allData.fade == 'undefined' ? false : allData.fade; var rtl = typeof allData.rtl == 'undefined' ? false : allData.rtl; var responsive = typeof $(this).data('responsive') == 'undefined' ? false : $(this).data('responsive'); //slider settings object setup sliderSettings.infinite = infinite; sliderSettings.arrows = arrows; sliderSettings.autoplay = autoplay; sliderSettings.focusOnSelect = focusOnSelect; sliderSettings.swipeToSlide = swipeToSlide; sliderSettings.slidesToShow = slidesToShow; sliderSettings.slidesToScroll = slidesToScroll; sliderSettings.speed = speed; sliderSettings.dots = dots; sliderSettings.cssEase = cssEase; sliderSettings.prevArrow = prevArrow; sliderSettings.nextArrow = nextArrow; sliderSettings.rows = rows; sliderSettings.autoplaySpeed = autoplaySpeed; sliderSettings.autoplay = autoplay; sliderSettings.verticalSwiping = verticalSwiping; sliderSettings.vertical = vertical; sliderSettings.rtl = rtl; if (centerMode != false) { sliderSettings.centerMode = centerMode; } if (centerPadding != false) { sliderSettings.centerPadding = centerPadding; } if (lazyLoad != false) { sliderSettings.lazyLoad = lazyLoad; } if (appendDots != false) { sliderSettings.appendDots = appendDots; } if (appendArrows != false) { sliderSettings.appendArrows = appendArrows; } if (asNavFor != false) { sliderSettings.asNavFor = asNavFor; } if (fade != false) { sliderSettings.fade = fade; } if (responsive != false) { sliderSettings.responsive = responsive; } $(this).slick(sliderSettings); } }); } /* ======================================== Range Slider ======================================== */ // var i = document.querySelector(".ui-range-slider"); // if (void 0 !== i && null !== i) { // var j = parseInt(i.parentNode.getAttribute("data-start-min"), 10), // k = parseInt(i.parentNode.getAttribute("data-start-max"), 10), // l = parseInt(i.parentNode.getAttribute("data-min"), 10), // m = parseInt(i.parentNode.getAttribute("data-max"), 10), // n = parseInt(i.parentNode.getAttribute("data-step"), 10), // o = document.querySelector(".ui-range-value-min span"), // p = document.querySelector(".ui-range-value-max span"), // q = document.querySelector(".ui-range-value-min input"), // r = document.querySelector(".ui-range-value-max input"); // noUiSlider.create(i, { // start: [j, k], // connect: !0, // step: n, // // range: { // min: l, // max: m // } // }), i.noUiSlider.on("update", function(a, b) { // var c = a[b]; // b ? (p.innerHTML = Math.round(c), r.value = Math.round(c)) : (o.innerHTML = Math.round(c), q.value = Math.round(c)) // }) // } /* ======================================== Isotope ======================================== */ // $('.imageloaded').imagesLoaded(function() { // var $grid = $('.grid-category').isotope({ // itemSelector: '.grid-item', // percentPosition: true, // masonry: { // columnWidth: '.grid-item', // } // }); // // $('.filter-list .list.active').find('.check-input').prop('checked', true); // // $(document).on('click', '.filter-list .list', function() { // var filterValue = $(this).attr('data-filter'); // $grid.isotope({ filter: filterValue }); // $(this).siblings().removeClass('active'); // $(this).addClass('active'); // // $(this, '.filter-list .list.active').find('.check-input').prop('checked', true); // $(this).siblings().find('.check-input').prop('checked', false); // // }); // }); /* ======================================== Password Show Hide On Click ======================================== */ $(document).on("click", ".toggle-password", function(e) { e.preventDefault(); $(this).toggleClass("show-pass"); let input = $(this).parent().find("input"); if (input.attr("type") == "password") { input.attr("type", "text"); } else { input.attr("type", "password"); } }); /* ======================================== back to top ======================================== */ $(document).on('click', '.back-to-top', function() { $("html,body").animate({ scrollTop: 0 }, 700); }); }); /* ======================================== Line ProgressBar Js ======================================== */ window.addEventListener('load', () => { let progressBars = document.querySelectorAll('.single-progress-bars'); progressBars.forEach((progress, index) => { progress.style.width = progress.getAttribute('data-percent') + '%'; }); }); })(jQuery);