/* ========================================================= * Volt Pro - Premium Bootstrap 5 Dashboard ========================================================= * Product Page: https://themesberg.com/product/admin-dashboard/volt-bootstrap-5-dashboard * Copyright 2021 Themesberg (https://www.themesberg.com) * Designed and coded by https://themesberg.com ========================================================= * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. Please contact us to request a removal. Contact us if you want to remove it. */ "use strict"; const d = document; import * as bootstrap from 'bootstrap'; import Swal from 'sweetalert2'; import SmoothScroll from 'smooth-scroll'; import Chartist from 'chartist'; import 'chartist-plugin-tooltips'; d.addEventListener("DOMContentLoaded", function(event) { const swalWithBootstrapButtons = Swal.mixin({ customClass: { confirmButton: 'btn btn-primary me-3', cancelButton: 'btn btn-gray' }, buttonsStyling: false }); var themeSettingsEl = document.getElementById('theme-settings'); var themeSettingsExpandEl = document.getElementById('theme-settings-expand'); if(themeSettingsEl) { var themeSettingsCollapse = new bootstrap.Collapse(themeSettingsEl, { show: true, toggle: false }); if (window.localStorage.getItem('settings_expanded') === 'true') { themeSettingsCollapse.show(); themeSettingsExpandEl.classList.remove('show'); } else { themeSettingsCollapse.hide(); themeSettingsExpandEl.classList.add('show'); } themeSettingsEl.addEventListener('hidden.bs.collapse', function () { themeSettingsExpandEl.classList.add('show'); window.localStorage.setItem('settings_expanded', false); }); themeSettingsExpandEl.addEventListener('click', function () { themeSettingsExpandEl.classList.remove('show'); window.localStorage.setItem('settings_expanded', true); setTimeout(function() { themeSettingsCollapse.show(); }, 300); }); } // options const breakpoints = { sm: 540, md: 720, lg: 960, xl: 1140 }; var sidebar = document.getElementById('sidebarMenu') if(sidebar && d.body.clientWidth < breakpoints.lg) { sidebar.addEventListener('shown.bs.collapse', function () { document.querySelector('body').style.position = 'fixed'; }); sidebar.addEventListener('hidden.bs.collapse', function () { document.querySelector('body').style.position = 'relative'; }); } var iconNotifications = d.querySelector('.notification-bell'); if (iconNotifications) { iconNotifications.addEventListener('shown.bs.dropdown', function () { iconNotifications.classList.remove('unread'); }); } [].slice.call(d.querySelectorAll('[data-background]')).map(function(el) { el.style.background = 'url(' + el.getAttribute('data-background') + ')'; }); [].slice.call(d.querySelectorAll('[data-background-lg]')).map(function(el) { if(document.body.clientWidth > breakpoints.lg) { el.style.background = 'url(' + el.getAttribute('data-background-lg') + ')'; } }); [].slice.call(d.querySelectorAll('[data-background-color]')).map(function(el) { el.style.background = 'url(' + el.getAttribute('data-background-color') + ')'; }); [].slice.call(d.querySelectorAll('[data-color]')).map(function(el) { el.style.color = 'url(' + el.getAttribute('data-color') + ')'; }); //Tooltips var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')) var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) { return new bootstrap.Tooltip(tooltipTriggerEl) }) // Popovers var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')) var popoverList = popoverTriggerList.map(function (popoverTriggerEl) { return new bootstrap.Popover(popoverTriggerEl) }) // Datepicker var datepickers = [].slice.call(d.querySelectorAll('[data-datepicker]')) var datepickersList = datepickers.map(function (el) { return new Datepicker(el, { buttonClass: 'btn' }); }) if(d.querySelector('.input-slider-container')) { [].slice.call(d.querySelectorAll('.input-slider-container')).map(function(el) { var slider = el.querySelector(':scope .input-slider'); var sliderId = slider.getAttribute('id'); var minValue = slider.getAttribute('data-range-value-min'); var maxValue = slider.getAttribute('data-range-value-max'); var sliderValue = el.querySelector(':scope .range-slider-value'); var sliderValueId = sliderValue.getAttribute('id'); var startValue = sliderValue.getAttribute('data-range-value-low'); var c = d.getElementById(sliderId), id = d.getElementById(sliderValueId); noUiSlider.create(c, { start: [parseInt(startValue)], connect: [true, false], //step: 1000, range: { 'min': [parseInt(minValue)], 'max': [parseInt(maxValue)] } }); }); } if (d.getElementById('input-slider-range')) { var c = d.getElementById("input-slider-range"), low = d.getElementById("input-slider-range-value-low"), e = d.getElementById("input-slider-range-value-high"), f = [d, e]; noUiSlider.create(c, { start: [parseInt(low.getAttribute('data-range-value-low')), parseInt(e.getAttribute('data-range-value-high'))], connect: !0, tooltips: true, 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] }); } //Chartist if(d.querySelector('.ct-chart-sales-value')) { //Chart 5 new Chartist.Line('.ct-chart-sales-value', { labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], series: [ [0, 10, 30, 40, 80, 60, 100] ] }, { low: 0, showArea: true, fullWidth: true, plugins: [ Chartist.plugins.tooltip() ], axisX: { // On the x-axis start means top and end means bottom position: 'end', showGrid: true }, axisY: { // On the y-axis start means left and end means right showGrid: false, showLabel: false, labelInterpolationFnc: function(value) { return '$' + (value / 1) + 'k'; } } }); } if(d.querySelector('.ct-chart-ranking')) { var chart = new Chartist.Bar('.ct-chart-ranking', { labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], series: [ [1, 5, 2, 5, 4, 3], [2, 3, 4, 8, 1, 2], ] }, { low: 0, showArea: true, plugins: [ Chartist.plugins.tooltip() ], axisX: { // On the x-axis start means top and end means bottom position: 'end' }, axisY: { // On the y-axis start means left and end means right showGrid: false, showLabel: false, offset: 0 } }); chart.on('draw', function(data) { if(data.type === 'line' || data.type === 'area') { data.element.animate({ d: { begin: 2000 * data.index, dur: 2000, from: data.path.clone().scale(1, 0).translate(0, data.chartRect.height()).stringify(), to: data.path.clone().stringify(), easing: Chartist.Svg.Easing.easeOutQuint } }); } }); } if(d.querySelector('.ct-chart-traffic-share')) { var data = { series: [70, 20, 10] }; var sum = function(a, b) { return a + b }; new Chartist.Pie('.ct-chart-traffic-share', data, { labelInterpolationFnc: function(value) { return Math.round(value / data.series.reduce(sum) * 100) + '%'; }, low: 0, high: 8, donut: true, donutWidth: 20, donutSolid: true, fullWidth: false, showLabel: false, plugins: [ Chartist.plugins.tooltip() ], }); } if (d.getElementById('loadOnClick')) { d.getElementById('loadOnClick').addEventListener('click', function () { var button = this; var loadContent = d.getElementById('extraContent'); var allLoaded = d.getElementById('allLoadedText'); button.classList.add('btn-loading'); button.setAttribute('disabled', 'true'); setTimeout(function () { loadContent.style.display = 'block'; button.style.display = 'none'; allLoaded.style.display = 'block'; }, 1500); }); } var scroll = new SmoothScroll('a[href*="#"]', { speed: 500, speedAsDuration: true }); if(d.querySelector('.current-year')){ d.querySelector('.current-year').textContent = new Date().getFullYear(); } // Glide JS if (d.querySelector('.glide')) { new Glide('.glide', { type: 'carousel', startAt: 0, perView: 3 }).mount(); } if (d.querySelector('.glide-testimonials')) { new Glide('.glide-testimonials', { type: 'carousel', startAt: 0, perView: 1, autoplay: 2000 }).mount(); } if (d.querySelector('.glide-clients')) { new Glide('.glide-clients', { type: 'carousel', startAt: 0, perView: 5, autoplay: 2000 }).mount(); } if (d.querySelector('.glide-news-widget')) { new Glide('.glide-news-widget', { type: 'carousel', startAt: 0, perView: 1, autoplay: 2000 }).mount(); } if (d.querySelector('.glide-autoplay')) { new Glide('.glide-autoplay', { type: 'carousel', startAt: 0, perView: 3, autoplay: 2000 }).mount(); } // Pricing countup var billingSwitchEl = d.getElementById('billingSwitch'); if(billingSwitchEl) { const countUpStandard = new countUp.CountUp('priceStandard', 99, { startVal: 199 }); const countUpPremium = new countUp.CountUp('pricePremium', 199, { startVal: 299 }); billingSwitchEl.addEventListener('change', function() { if(billingSwitch.checked) { countUpStandard.start(); countUpPremium.start(); } else { countUpStandard.reset(); countUpPremium.reset(); } }); } });