mirror of
https://github.com/tabler/tabler.git
synced 2025-12-22 01:44:25 +04:00
79 lines
2.4 KiB
JavaScript
79 lines
2.4 KiB
JavaScript
'use strict';
|
|
|
|
import {CountUp} from 'countup.js';
|
|
import noUiSlider from 'nouislider';
|
|
|
|
(function () {
|
|
/**
|
|
* Bootstrap4 dropdown plugin.
|
|
* @link https://getbootstrap.com/docs/4.4/components/dropdowns/
|
|
*/
|
|
let dropdownElementList = [].slice.call(document.querySelectorAll('[data-toggle="dropdown"]'));
|
|
dropdownElementList.map(function (dropdownToggleEl) {
|
|
let options = {};
|
|
return new bootstrap.Dropdown(dropdownToggleEl, options);
|
|
});
|
|
|
|
/**
|
|
* Bootstrap4 tooltip plugin.
|
|
* @link https://getbootstrap.com/docs/4.4/components/tooltips/
|
|
*/
|
|
let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-toggle="tooltip"]'));
|
|
tooltipTriggerList.map(function (tooltipTriggerEl) {
|
|
let options = {
|
|
delay: {show: 50, hide: 50},
|
|
html: true,
|
|
placement: 'auto'
|
|
};
|
|
return new bootstrap.Tooltip(tooltipTriggerEl, options);
|
|
});
|
|
|
|
/**
|
|
* Bootstrap4 popover plugin.
|
|
* @link https://getbootstrap.com/docs/4.4/components/popovers/
|
|
*/
|
|
let popoverTriggerList = [].slice.call(document.querySelectorAll('[data-toggle="popover"]'));
|
|
popoverTriggerList.map(function (popoverTriggerEl) {
|
|
let options = {
|
|
delay: {show: 50, hide: 50},
|
|
html: true,
|
|
placement: 'auto'
|
|
};
|
|
return new bootstrap.Popover(popoverTriggerEl, options);
|
|
});
|
|
|
|
/**
|
|
* noUiSlider - range slider with full touch support.
|
|
* @link https://refreshless.com/nouislider/
|
|
*/
|
|
let sliderTriggerList = [].slice.call(document.querySelectorAll("[data-slider]"));
|
|
sliderTriggerList.map(function (sliderTriggerEl) {
|
|
let options = {};
|
|
if (sliderTriggerEl.getAttribute("data-slider")) {
|
|
options = JSON.parse(sliderTriggerEl.getAttribute("data-slider"));
|
|
}
|
|
let slider = noUiSlider.create(sliderTriggerEl, options);
|
|
if (options['js-name']) {
|
|
window[options['js-name']] = slider;
|
|
}
|
|
});
|
|
|
|
/**
|
|
* CountUp - animations that display numerical data in a more interesting way.
|
|
* @link https://inorganik.github.io/countUp.js/
|
|
*/
|
|
let countupTriggerList = [].slice.call(document.querySelectorAll("[data-countup]"));
|
|
countupTriggerList.map(function (countupTriggerEl) {
|
|
let options = {};
|
|
if (countupTriggerEl.getAttribute("data-countup")) {
|
|
options = JSON.parse(countupTriggerEl.getAttribute("data-countup"));
|
|
}
|
|
let countUp = new CountUp(countupTriggerEl, +countupTriggerEl.innerText, options);
|
|
if (countUp.error) {
|
|
console.error('CountUp: ' + countUp.error);
|
|
}
|
|
return countUp.start();
|
|
});
|
|
|
|
})();
|