/** * Theme: Crovex - Responsive Bootstrap 4 Admin Dashboard * Author: Mannatthemes * Module/App: Core Js */ /** * Components */ !function($) { "use strict"; var Components = function() {}; //initializing popover Components.prototype.initPopoverPlugin = function() { $.fn.popover && $('[data-toggle="popover"]').popover() }, //initializing Slimscroll Components.prototype.initSlimScrollPlugin = function() { //You can change the color of scroll bar here $.fn.slimScroll && $(".slimscroll-alt").slimScroll({ position: 'right',size: "5px", color: '#98a6ad',wheelStep: 10}); }, //range slider Components.prototype.initRangeSlider = function() { $.fn.slider && $('[data-plugin="range-slider"]').slider({}); }, /* ------------- * Form related controls */ Components.prototype.initCounterUp = function() { var delay = $(this).attr('data-delay')?$(this).attr('data-delay'):100; //default is 100 var time = $(this).attr('data-time')?$(this).attr('data-time'):1200; //default is 1200 $('[data-plugin="counterup"]').each(function(idx, obj) { $(this).counterUp({ delay: 100, time: 1200 }); }); }, //toast Components.prototype.initToast = function() { $.fn.toast && $('[data-toggle="toast"]').toast() }, // Accordion-bg Components.prototype.initAccordionBg = function() { // Add minus icon for collapse element which is open by default $(".collapse.show").each(function(){ $(this).prev(".card-header") .addClass("custom-accordion"); }); // Toggle plus minus icon on show hide of collapse element $(".collapse").on('show.bs.collapse', function(){ $(this).prev(".card-header").addClass("custom-accordion"); }).on('hide.bs.collapse', function(){ $(this).prev(".card-header").removeClass("custom-accordion"); }); }, //bootstrap validation Components.prototype.initValidation = function() { window.addEventListener('load', function() { // Fetch all the forms we want to apply custom Bootstrap validation styles to var forms = document.getElementsByClassName('needs-validation'); // Loop over them and prevent submission var validation = Array.prototype.filter.call(forms, function(form) { form.addEventListener('submit', function(event) { if (form.checkValidity() === false) { event.preventDefault(); event.stopPropagation(); } form.classList.add('was-validated'); }, false); }); }, false); }, //initilizing Components.prototype.init = function() { var $this = this; this.initPopoverPlugin(), this.initSlimScrollPlugin(), this.initRangeSlider(), this.initCounterUp(), this.initToast(), this.initAccordionBg(), this.initValidation() }, $.Components = new Components, $.Components.Constructor = Components }(window.jQuery), //initializing main application module function($) { "use strict"; $.Components.init(); }(window.jQuery);