1
0
mirror of https://github.com/tabler/tabler.git synced 2025-12-22 01:44:25 +04:00
Files
tabler/js/tabler.js
2020-04-19 13:02:04 +03:00

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();
});
})();