110 lines
3.3 KiB
JavaScript
110 lines
3.3 KiB
JavaScript
/**
|
|
* 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);
|
|
|