198 lines
6.6 KiB
JavaScript
198 lines
6.6 KiB
JavaScript
"use strict";
|
|
|
|
$(window).on("load", function() {
|
|
|
|
}),
|
|
|
|
$(window).on('load resize', function() {
|
|
|
|
// Background image holder - Static hero with fullscreen autosize
|
|
if ($('.spotlight').length) {
|
|
$('.spotlight').each(function() {
|
|
|
|
var $this = $(this);
|
|
var holderHeight;
|
|
|
|
if ($this.data('spotlight') == 'fullscreen') {
|
|
if ($this.data('spotlight-offset')) {
|
|
var offsetHeight = $('body').find($this.data('spotlight-offset')).height();
|
|
holderHeight = $(window).height() - offsetHeight;
|
|
}
|
|
else {
|
|
holderHeight = $(window).height();
|
|
}
|
|
|
|
|
|
if ($(window).width() > 991) {
|
|
$this.find('.spotlight-holder').css({
|
|
'height': holderHeight + 'px'
|
|
});
|
|
}
|
|
else {
|
|
$this.find('.spotlight-holder').css({
|
|
'height': 'auto'
|
|
});
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}),
|
|
|
|
$(document).ready(function() {
|
|
|
|
// Plugins init
|
|
$(".scrollbar-inner")[0] && $(".scrollbar-inner").scrollbar().scrollLock();
|
|
$('[data-stick-in-parent="true"]')[0] && $('[data-stick-in-parent="true"]').stick_in_parent();
|
|
$('.selectpicker')[0] && $('.selectpicker').selectpicker();
|
|
$('.textarea-autosize')[0] && autosize($('.textarea-autosize'));
|
|
$('[data-toggle="tooltip"]').tooltip();
|
|
$('[data-toggle="popover"]').each(function() {
|
|
var popoverClass = '';
|
|
if($(this).data('color')) {
|
|
popoverClass = 'popover-'+$(this).data('color');
|
|
}
|
|
$(this).popover({
|
|
trigger: 'focus',
|
|
template: '<div class="popover '+ popoverClass +'" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
|
|
})
|
|
});
|
|
|
|
|
|
// Floating label
|
|
$('.form-control').on('focus blur', function(e) {
|
|
$(this).parents('.form-group').toggleClass('focused', (e.type === 'focus' || this.value.length > 0));
|
|
}).trigger('blur');
|
|
|
|
|
|
// Custom input file
|
|
$('.custom-input-file').each(function() {
|
|
var $input = $(this),
|
|
$label = $input.next('label'),
|
|
labelVal = $label.html();
|
|
|
|
$input.on('change', function(e) {
|
|
var fileName = '';
|
|
|
|
if (this.files && this.files.length > 1)
|
|
fileName = (this.getAttribute('data-multiple-caption') || '').replace('{count}', this.files.length);
|
|
else if (e.target.value)
|
|
fileName = e.target.value.split('\\').pop();
|
|
|
|
if (fileName)
|
|
$label.find('span').html(fileName);
|
|
else
|
|
$label.html(labelVal);
|
|
});
|
|
|
|
|
|
// Firefox bug fix
|
|
$input.on('focus', function() {
|
|
$input.addClass('has-focus');
|
|
})
|
|
.on('blur', function() {
|
|
$input.removeClass('has-focus');
|
|
});
|
|
});
|
|
|
|
|
|
// NoUI Slider
|
|
if ($(".input-slider-container")[0]) {
|
|
$('.input-slider-container').each(function() {
|
|
|
|
var slider = $(this).find('.input-slider');
|
|
var sliderId = slider.attr('id');
|
|
var minValue = slider.data('range-value-min');
|
|
var maxValue = slider.data('range-value-max');
|
|
|
|
var sliderValue = $(this).find('.range-slider-value');
|
|
var sliderValueId = sliderValue.attr('id');
|
|
var startValue = sliderValue.data('range-value-low');
|
|
|
|
var c = document.getElementById(sliderId),
|
|
d = document.getElementById(sliderValueId);
|
|
|
|
noUiSlider.create(c, {
|
|
start: [parseInt(startValue)],
|
|
connect: [true, false],
|
|
//step: 1000,
|
|
range: {
|
|
'min': [parseInt(minValue)],
|
|
'max': [parseInt(maxValue)]
|
|
}
|
|
});
|
|
|
|
c.noUiSlider.on('update', function(a, b) {
|
|
d.textContent = a[b];
|
|
});
|
|
})
|
|
|
|
}
|
|
|
|
if ($("#input-slider-range")[0]) {
|
|
var c = document.getElementById("input-slider-range"),
|
|
d = document.getElementById("input-slider-range-value-low"),
|
|
e = document.getElementById("input-slider-range-value-high"),
|
|
f = [d, e];
|
|
|
|
noUiSlider.create(c, {
|
|
start: [parseInt(d.getAttribute('data-range-value-low')), parseInt(e.getAttribute('data-range-value-high'))],
|
|
connect: !0,
|
|
range: {
|
|
min: parseInt(c.getAttribute('data-range-value-min')),
|
|
max: parseInt(c.getAttribute('data-range-value-max'))
|
|
}
|
|
}), c.noUiSlider.on("update", function(a, b) {
|
|
f[b].textContent = a[b]
|
|
})
|
|
}
|
|
|
|
// Scroll to anchor with animation
|
|
$('.scroll-me, .toc-entry a').on('click', function(event) {
|
|
var hash = $(this).attr('href');
|
|
var offset = $(this).data('scroll-to-offset') ? $(this).data('scroll-to-offset') : 0;
|
|
|
|
// Animate scroll to the selected section
|
|
$('html, body').stop(true, true).animate({
|
|
scrollTop: $(hash).offset().top - offset
|
|
}, 600);
|
|
|
|
event.preventDefault();
|
|
});
|
|
|
|
}),
|
|
|
|
$(document).ready(function() {
|
|
$("body").on("click", "[data-action]", function(e) {
|
|
|
|
e.preventDefault();
|
|
|
|
var $this = $(this);
|
|
var action = $this.data('action');
|
|
var target = '';
|
|
|
|
switch (action) {
|
|
case "offcanvas-open":
|
|
target = $this.data("target"), $(target).addClass("open"), $("body").append('<div class="body-backdrop" data-action="offcanvas-close" data-target=' + target + " />");
|
|
break;
|
|
case "offcanvas-close":
|
|
target = $this.data("target"), $(target).removeClass("open"), $("body").find(".body-backdrop").remove();
|
|
break;
|
|
|
|
case 'aside-open':
|
|
target = $this.data('target');
|
|
$this.data('action', 'aside-close');
|
|
$this.addClass('toggled');
|
|
$(target).addClass('toggled');
|
|
$('.content').append('<div class="body-backdrop" data-action="aside-close" data-target='+target+' />');
|
|
break;
|
|
|
|
|
|
case 'aside-close':
|
|
target = $this.data('target');
|
|
$this.data('action', 'aside-open');
|
|
$('[data-action="aside-open"], '+target).removeClass('toggled');
|
|
$('.content, .header').find('.body-backdrop').remove();
|
|
break;
|
|
}
|
|
})
|
|
}); |