/*
=========================================================
* Volt Pro - Premium Bootstrap 5 Dashboard
=========================================================
* Product Page: https://themesberg.com/product/admin-dashboard/volt-premium-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;
d.addEventListener("DOMContentLoaded", function (event) {
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-primary me-3',
cancelButton: 'btn btn-gray'
},
buttonsStyling: false
});
// options
const breakpoints = {
sm: 540,
md: 720,
lg: 960,
xl: 1140
};
var preloader = d.querySelector('.preloader');
if (preloader) {
setTimeout(function () {
preloader.classList.add('show');
setTimeout(function () {
d.querySelector('.loader-element').classList.add('hide');
}, 200);
}, 1000);
}
var sidebar = document.getElementById('sidebarMenu');
var content = document.getElementsByClassName('content')[0];
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'
});
})
// DataTables
var dataTableEl = d.getElementById('datatable');
if (dataTableEl) {
const dataTable = new simpleDatatables.DataTable(dataTableEl);
}
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]
});
}
// Apex Charts
//Main Chart
var options = {
chart: {
height: 420,
type: "area",
fontFamily: 'Inter',
foreColor: '#4B5563',
toolbar: {
show: true,
offsetX: 0,
offsetY: 0,
tools: {
download: false,
selection: false,
zoom: false,
zoomin: true,
zoomout: true,
pan: false,
reset: false | '
',
customIcons: []
},
export: {
csv: {
filename: undefined,
columnDelimiter: ',',
headerCategory: 'category',
headerValue: 'value',
dateFormatter(timestamp) {
return new Date(timestamp).toDateString()
}
}
},
autoSelected: 'zoom'
},
},
dataLabels: {
enabled: false
},
tooltip: {
style: {
fontSize: '14px',
fontFamily: 'Inter',
},
},
theme: {
monochrome: {
enabled: true,
color: '#f3c78e',
}
},
grid: {
show: true,
borderColor: '#f5e1c5',
strokeDashArray: 1,
},
series: [
{
name: "Sales",
data: [95, 52, 78, 45, 19, 53, 60]
}
],
markers: {
size: 5,
strokeColors: '#ffffff',
hover: {
size: undefined,
sizeOffset: 3
}
},
xaxis: {
categories: ['01 Feb', '02 Feb', '03 Feb', '04 Feb', '05 Feb', '06 Feb', '07 Feb'],
labels: {
style: {
fontSize: '12px',
fontWeight: 500,
},
},
axisBorder: {
color: '#f5e1c5',
},
axisTicks: {
color: '#f5e1c5',
}
},
yaxis: {
labels: {
style: {
colors: ['#4B5563'],
fontSize: '12px',
fontWeight: 500,
},
},
},
responsive: [
{
breakpoint: 768,
options: {
yaxis: {
show: false,
}
}
}
]
};
var chart = new ApexCharts(document.querySelector("#chart"), options);
if (document.getElementById('chart')) {
chart.render();
}
// Weekly Sales Chart
var optionsWeeklySalesChart = {
series: [{
name: 'Sales',
data: [32, 44, 37, 47, 42, 55, 47, 65]
}],
chart: {
type: 'bar',
width: "100%",
height: 260,
sparkline: {
enabled: true
}
},
theme: {
monochrome: {
enabled: true,
color: '#31316A',
}
},
plotOptions: {
bar: {
columnWidth: '20%',
borderRadius: 5,
radiusOnLastStackedBar: true,
horizontal: false,
distributed: false,
endindShape: 'rounded',
colors: {
backgroundBarColors: ['#F2F4F6', '#F2F4F6', '#F2F4F6', '#F2F4F6'],
backgroundBarRadius: 5,
},
}
},
labels: [1, 2, 3, 4, 5, 6, 7, 8],
xaxis: {
categories: ['Week 1', 'Week 2', 'Week 3', 'Week 4', 'Week 5', 'Week 6', 'Week 7', 'Week 8'],
crosshairs: {
width: 1
},
},
tooltip: {
fillSeriesColor: false,
onDatasetHover: {
highlightDataSeries: false,
},
theme: 'light',
style: {
fontSize: '12px',
fontFamily: 'Inter',
},
y: {
formatter: function (val) {
return "$ " + val + "k"
}
}
},
};
var weeklySalesChartEl = document.getElementById('chart-weekly-sales');
if (weeklySalesChartEl) {
var weeklySalesChart = new ApexCharts(weeklySalesChartEl, optionsWeeklySalesChart);
weeklySalesChart.render();
}
//Customers Chart
var optionsCustomersChart = {
series: [{
name: 'Clients',
data: [120, 160, 200, 470, 420, 150, 470, 750, 650, 190, 140]
}],
labels: ['01 Feb', '02 Feb', '03 Feb', '04 Feb', '05 Feb', '06 Feb', '07 Feb', '08 Feb', '09 Feb', '10 Feb', '11 Feb'],
chart: {
type: 'area',
width: "100%",
height: 140,
sparkline: {
enabled: true
}
},
theme: {
monochrome: {
enabled: true,
color: '#31316A',
}
},
tooltip: {
fillSeriesColor: false,
onDatasetHover: {
highlightDataSeries: false,
},
theme: 'light',
style: {
fontSize: '12px',
fontFamily: 'Inter',
},
},
};
var customersChartEl = document.getElementById('chart-customers');
if (customersChartEl) {
var customersChart = new ApexCharts(customersChartEl, optionsCustomersChart);
customersChart.render();
}
//Today Users Chart
var optionsUsersChart = {
series: [{
name: 'Users',
data: [520, 560, 500, 570, 520, 550, 570, 550, 550, 590, 540]
}],
labels: ['06PM', '02 Feb', '03 Feb', '04 Feb', '05 Feb', '06 Feb', '07 Feb', '08 Feb', '09 Feb', '10 Feb', '11 Feb'],
chart: {
type: 'area',
width: "100%",
height: 140,
sparkline: {
enabled: true
}
},
theme: {
monochrome: {
enabled: true,
color: '#31316A',
}
},
tooltip: {
fillSeriesColor: false,
onDatasetHover: {
highlightDataSeries: false,
},
theme: 'light',
style: {
fontSize: '12px',
fontFamily: 'Inter',
},
},
};
var usersChartEl = document.getElementById('chart-users');
if (usersChartEl) {
var usersChart = new ApexCharts(usersChartEl, optionsUsersChart);
usersChart.render();
}
// Revenue Chart
var optionsRevenueChart = {
series: [{
name: 'Sales',
data: [34, 29, 32, 38, 39, 35, 36]
}],
chart: {
type: 'bar',
width: "100%",
height: 140,
sparkline: {
enabled: true
}
},
theme: {
monochrome: {
enabled: true,
color: '#31316A',
}
},
plotOptions: {
bar: {
columnWidth: '25%',
borderRadius: 5,
radiusOnLastStackedBar: true,
colors: {
backgroundBarColors: ['#F2F4F6', '#F2F4F6', '#F2F4F6', '#F2F4F6'],
backgroundBarRadius: 5,
},
}
},
labels: [1, 2, 3, 4, 5, 6, 7],
xaxis: {
categories: ['01 Feb', '02 Feb', '03 Feb', '04 Feb', '05 Feb', '06 Feb', '07 Feb'],
crosshairs: {
width: 1
},
},
tooltip: {
fillSeriesColor: false,
onDatasetHover: {
highlightDataSeries: false,
},
theme: 'light',
style: {
fontSize: '12px',
fontFamily: 'Inter',
},
y: {
formatter: function (val) {
return "$ " + val + "k"
}
}
},
};
var revenueChartEl = document.getElementById('chart-revenue');
if (revenueChartEl) {
var revenueChart = new ApexCharts(revenueChartEl, optionsRevenueChart);
revenueChart.render();
}
//Traffic volumes
var optionsTrafficVolumesChart = {
series: [{
name: 'Direct',
data: [7100, 9600, 10000, 8700, 12000, 15400, 19000]
}, {
name: 'Refferals',
data: [4100, 6800, 7000, 6700, 7200, 14000, 12000]
}, {
name: 'Organic',
data: [1100, 3200, 4500, 3200, 3400, 5200, 4100]
}],
colors: ['#4D4AE8', '#FD8E7A', '#06A77D', '#51449E'],
chart: {
height: 420,
type: "line",
fontFamily: 'Inter',
foreColor: '#4B5563',
toolbar: {
show: true,
offsetX: 0,
offsetY: 0,
tools: {
download: false,
selection: false,
zoom: false,
zoomin: true,
zoomout: true,
pan: false,
reset: false | '
',
customIcons: []
},
export: {
csv: {
filename: undefined,
columnDelimiter: ',',
headerCategory: 'category',
headerValue: 'value',
dateFormatter(timestamp) {
return new Date(timestamp).toDateString()
}
}
},
autoSelected: 'zoom'
},
},
dataLabels: {
enabled: false
},
stroke: {
curve: 'smooth'
},
grid: {
show: true,
borderColor: '#f2f2f2',
strokeDashArray: 1,
},
xaxis: {
categories: ['01 Feb', '02 Feb', '03 Feb', '04 Feb', '05 Feb', '06 Feb', '07 Feb'],
labels: {
style: {
fontSize: '12px',
fontWeight: 500,
},
},
axisBorder: {
color: '#ffffff',
},
axisTicks: {
color: '#ffffff',
}
},
yaxis: {
labels: {
style: {
colors: ['#4B5563'],
fontSize: '12px',
fontWeight: 500,
},
},
},
legend: {
show: true,
fontSize: '14px',
fontFamily: 'Inter',
fontWeight: 400,
height: 60,
tooltipHoverFormatter: undefined,
offsetY: 20,
markers: {
width: 14,
height: 14,
strokeWidth: 1,
strokeColor: '#fff',
radius: 50,
},
},
responsive: [
{
breakpoint: 768,
options: {
yaxis: {
show: false,
}
}
}
]
};
var trafficVolumesChartEl = document.getElementById('traffic-volumes-chart');
if (trafficVolumesChartEl) {
var trafficVolumesChart = new ApexCharts(trafficVolumesChartEl, optionsTrafficVolumesChart);
trafficVolumesChart.render();
}
// Sales by Product
var optionsTrafficShareChart = {
series: [{
name: 'Visits',
data: [4, 7, 9, 29, 51]
}],
chart: {
type: 'bar',
height: 500,
foreColor: '#4B5563',
fontFamily: 'Inter',
},
plotOptions: {
bar: {
horizontal: true,
distributed: false,
barHeight: '90%',
borderRadius: 10,
colors: {
backgroundBarColors: ['#fff'],
backgroundBarOpacity: .2,
backgroundBarRadius: 10,
},
}
},
colors: ['#4D4AE8'],
dataLabels: {
enabled: true,
textAnchor: 'middle',
formatter: function (val, opt) {
return opt.w.globals.labels[opt.dataPointIndex]
},
offsetY: -1,
dropShadow: {
enabled: false,
},
style: {
fontSize: '12px',
fontFamily: 'Inter',
fontWeight: '500',
}
},
grid: {
show: false,
borderColor: '#f2f2f2',
strokeDashArray: 1,
},
legend: {
show: false,
},
yaxis: {
labels: {
show: false
},
},
tooltip: {
fillSeriesColor: false,
onDatasetHover: {
highlightDataSeries: false,
},
theme: 'light',
style: {
fontSize: '12px',
fontFamily: 'Inter',
},
y: {
formatter: function (val) {
return val + "%"
}
},
},
xaxis: {
categories: ['Mail', 'Social', 'Organic', 'Referrals', 'Direct'],
labels: {
style: {
fontSize: '12px',
fontWeight: 500,
},
offsetY: 5
},
axisBorder: {
color: '#ffffff',
},
axisTicks: {
color: '#ffffff',
offsetY: 5
},
}
};
var trafficShareChartEl = document.getElementById('traffic-share-chart');
if (trafficShareChartEl) {
var trafficShareChart = new ApexCharts(trafficShareChartEl, optionsTrafficShareChart);
trafficShareChart.render();
}
// Total Orders Chart
var optionsAppRankingChart = {
series: [{
name: 'Travel & Local',
data: [44, 55, 57, 56, 61, 58, 63, 60, 66]
}, {
name: 'Widgets',
data: [76, 85, 101, 98, 87, 105, 91, 114, 94]
}],
chart: {
type: 'bar',
height: '400px',
fontFamily: 'Inter',
foreColor: '#4B5563',
},
colors: ['#f0bc74', '#31316A'],
plotOptions: {
bar: {
horizontal: false,
columnWidth: '40%',
borderRadius: 10,
colors: {
backgroundBarColors: ['#fff'],
backgroundBarOpacity: .2,
backgroundBarRadius: 10,
},
},
},
grid: {
show: false,
},
dataLabels: {
enabled: false
},
legend: {
show: true,
fontSize: '14px',
fontFamily: 'Inter',
fontWeight: 500,
height: 40,
tooltipHoverFormatter: undefined,
offsetY: 10,
markers: {
width: 14,
height: 14,
strokeWidth: 1,
strokeColor: '#ffffff',
radius: 50,
},
},
stroke: {
show: true,
width: 2,
colors: ['transparent']
},
xaxis: {
categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct'],
labels: {
style: {
fontSize: '12px',
fontWeight: 500,
},
},
axisBorder: {
color: '#EBE3EE',
},
axisTicks: {
color: '#f1f1f1',
}
},
yaxis: {
show: false,
},
fill: {
opacity: 1
},
responsive: [{
breakpoint: 1499,
options: {
chart: {
height: '400px',
},
},
}]
};
var appRankingChartEl = document.getElementById('chart-app-ranking');
if (appRankingChartEl) {
var appRankingChart = new ApexCharts(appRankingChartEl, optionsAppRankingChart);
appRankingChart.render();
}
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
});
// SVG Map
if (d.querySelector('#map')) {
new svgMap({
targetElementID: 'map',
colorMin: '#FCE1C3',
colorMax: '#F8BD7A',
flagType: 'emoji',
data: {
data: {
visitors: {
name: 'Visitors',
format: '{0} visitors',
thousandSeparator: ',',
thresholdMax: 500000,
thresholdMin: 0
},
change: {
name: 'Change by month',
format: '{0} %'
}
},
applyData: 'visitors',
values: {
US: { visitors: 272109, change: 4.73 },
CA: { visitors: 160064, change: 11.09 },
DE: { visitors: 120048, change: -2.3 },
GB: { visitors: 110048, change: 3.3 },
FR: { visitors: 100048, change: 1.3 },
ES: { visitors: 90048, change: 1.5 },
JP: { visitors: 56022, change: 3.5 },
IT: { visitors: 48019, change: 1 },
NL: { visitors: 40016, change: 2 },
RU: { visitors: 30016, change: 3.4 },
CN: { visitors: 50016, change: 6 },
IN: { visitors: 140016, change: 2 },
BR: { visitors: 40016, change: 5 },
// ...
}
}
});
}
// Dropzone
if (d.querySelector('myDropzone')) {
// Dropzone class:
var myDropzone = new Dropzone("div#myId", { url: "/file/post" });
}
// Full Calendar
var calendarEl = d.getElementById('calendar');
if (calendarEl) {
var events = [
{
id: 1,
title: 'Call with Jane',
start: '2020-11-18',
end: '2020-11-19',
className: 'bg-red'
},
{
id: 2,
title: 'Dinner meeting',
start: '2020-11-21',
end: '2020-11-22',
className: 'bg-orange'
},
{
id: 3,
title: 'HackTM conference',
start: '2020-11-29',
end: '2020-11-30',
className: 'bg-green'
},
{
id: 4,
title: 'Meeting with John',
start: '2020-12-01',
end: '2020-12-02',
className: 'bg-blue'
},
{
id: 5,
title: 'Summer Hackaton',
start: '2020-12-03',
end: '2020-12-04',
className: 'bg-purple'
},
{
id: 6,
title: 'Digital event',
start: '2020-12-07',
end: '2020-12-09',
className: 'bg-info'
},
{
id: 7,
title: 'Marketing event',
start: '2020-12-10',
end: '2020-12-11',
className: 'bg-blue'
},
{
id: 8,
title: 'Dinner with Parents',
start: '2020-12-19',
end: '2020-12-20',
className: 'bg-red'
},
{
id: 9,
title: 'Black Friday',
start: '2020-12-23',
end: '2020-12-24',
className: 'bg-yellow'
},
{
id: 10,
title: 'Cyber Week',
start: '2020-12-02',
end: '2020-12-03',
className: 'bg-red'
}
];
var addNewEventModalEl = d.getElementById('modal-new-event');
var addNewEventModal = new bootstrap.Modal(addNewEventModalEl);
var newEventTitleInput = d.getElementById('eventTitle');
var newEventStartDatepicker = new Datepicker(d.getElementById('dateStart'), { buttonClass: 'btn' });
var newEventEndDatepicker = new Datepicker(d.getElementById('dateEnd'), { buttonClass: 'btn' });
var editEventModalEl = d.getElementById('modal-edit-event');
var editEventModal = new bootstrap.Modal(editEventModalEl);
var editEventTitleInput = d.getElementById('eventTitleEdit');
var editEventStartDatepicker = new Datepicker(d.getElementById('dateStartEdit'), { buttonClass: 'btn' });
var editEventEndDatepicker = new Datepicker(d.getElementById('dateEndEdit'), { buttonClass: 'btn' });
// current id selection
var currentId = null;
var calendar = new FullCalendar.Calendar(calendarEl, {
selectable: true,
initialView: 'dayGridMonth',
themeSystem: 'bootstrap',
initialDate: '2020-12-01',
editable: true,
events: events,
buttonText: {
prev: 'Previous',
next: 'Next'
},
dateClick: function (d) {
addNewEventModal.show();
newEventTitleInput.value = '';
newEventStartDatepicker.setDate(d.date);
newEventEndDatepicker.setDate(d.date.setDate(d.date.getDate() + 1));
addNewEventModalEl.addEventListener('shown.bs.modal', function () {
newEventTitleInput.focus();
});
},
eventClick: function (info, element) {
// set current id
currentId = info.event.id;
editEventTitleInput.value = info.event.title;
editEventStartDatepicker.setDate(info.event.start);
editEventEndDatepicker.setDate(info.event.end ? info.event.end : info.event.start);
editEventModal.show();
editEventModalEl.addEventListener('shown.bs.modal', function () {
editEventTitleInput.focus();
});
}
});
calendar.render();
console.log(calendar);
d.getElementById('addNewEventForm').addEventListener('submit', function (event) {
event.preventDefault();
calendar.addEvent({
id: Math.random() * 10000, // this should be a unique id from your back-end or API
title: newEventTitleInput.value,
start: moment(newEventStartDatepicker.getDate()).format('YYYY-MM-DD'),
end: moment(newEventEndDatepicker.getDate()).format('YYYY-MM-DD'),
className: 'bg-secondary',
dragabble: true
});
addNewEventModal.hide();
});
d.getElementById('editEventForm').addEventListener('submit', function (event) {
event.preventDefault();
var editEvent = calendar.getEventById(currentId);
var startDate = moment(editEventStartDatepicker.getDate()).format('YYYY-MM-DD');
var endDate = moment(editEventEndDatepicker.getDate()).format('YYYY-MM-DD')
editEvent.setProp('title', editEventTitleInput.value);
editEvent.setStart(startDate);
editEvent.setEnd(endDate);
editEventModal.hide();
});
d.getElementById('deleteEvent').addEventListener('click', function () {
swalWithBootstrapButtons.fire({
icon: 'error',
title: 'Confirm deletion',
text: 'Are you sure you want to delete this event?',
showCancelButton: true,
confirmButtonText: "Yes, delete it!",
cancelButtonText: 'No, cancel!',
}).then(function (result) {
if (result.value) {
swalWithBootstrapButtons.fire(
'Deleted!',
'The event has been deleted.',
'success'
);
calendar.getEventById(currentId).remove();
} else if (result.dismiss === Swal.DismissReason.cancel) {
editEventModal.hide();
}
})
});
}
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();
}
/*
Check out the styles here: https://www.mapbox.com/maps/streets
To change the style of the map change the mapboxId attribute with the following available styles:
mapbox/dark-v10, mapbox/light-v10, mapbox/streets-v11, mapbox/outdoors/v-11, mapbox/satellite-streets-v11
This is based on the URL you can when clicking on the preview link from Mapbox.
You need to generate your own mapboxToken by creating an account. This token will NOT work for your website, you need to generate your own one!
*/
var config = {
mapboxToken: 'pk.eyJ1Ijoiem9sdGFudGhlbWVzYmVyZyIsImEiOiJjazZqaWUwcWswYTBvM21td2Jmcm5mYmdyIn0.7_5YCbbOFRnvqZzCNDo9fw',
mapboxId: 'mapbox/light-v10'
};
var baseLatLng = [37.57, -122.26];
var zoom = 10;
var listings = [
{
url: '#',
latLng: [37.70, -122.41],
name: 'Call with Jane',
date: 'Tomorrow at 12:30 PM'
},
{
url: '#',
latLng: [37.59, -122.39],
name: 'HackTM conference',
date: 'In about 5 minutes'
},
{
url: '#',
latLng: [37.52, -122.29],
name: 'Marketing event',
date: 'Today at 1:00 PM'
},
{
url: '#',
latLng: [37.37, -122.12],
name: 'Dinner with partners',
date: 'In 2 hours'
},
{
url: '#',
latLng: [37.36, -121.94],
name: 'Interview with Google',
date: 'In two days at 15:00 PM'
}
];
if (d.querySelector('#mapbox')) {
var icon = L.icon({
iconUrl: '/static/assets/img/marker.svg',
iconSize: [38, 95], // size of the icon
shadowSize: [50, 64], // size of the shadow
iconAnchor: [22, 94], // point of the icon which will correspond to marker's location
shadowAnchor: [4, 62], // the same for the shadow
popupAnchor: [-3, -76] // point from which the popup should open relative to the iconAnchor
});
// modal listing view
var mapListings = L.map('mapbox').setView(baseLatLng, zoom);
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © Mapbox',
maxZoom: 18,
id: config.mapboxId,
accessToken: config.mapboxToken
}).addTo(mapListings);
listings.map(function (listing, index) {
var popupHtml = `
`;
var marker = L.marker(listing.latLng, { icon: icon }).addTo(mapListings);
marker.bindPopup(popupHtml);
});
}
// Choices.js
var selectStateInputEl = d.querySelector('#state');
if (selectStateInputEl) {
const choices = new Choices(selectStateInputEl);
}
// Sortable Js
if (d.body.clientWidth > breakpoints.lg) {
var kanbanColumn1 = document.getElementById('kanbanColumn1');
if (kanbanColumn1) {
new Sortable(kanbanColumn1, {
group: "shared",
});
}
var kanbanColumn2 = document.getElementById('kanbanColumn2');
if (kanbanColumn2) {
new Sortable(kanbanColumn2, {
group: "shared",
});
}
var kanbanColumn3 = document.getElementById('kanbanColumn3');
if (kanbanColumn3) {
new Sortable(kanbanColumn3, {
group: "shared",
});
}
var kanbanColumn4 = document.getElementById('kanbanColumn4');
if (kanbanColumn4) {
new Sortable(kanbanColumn4, {
group: "shared",
});
}
}
// multiple
var selectStatesInputEl = d.querySelector('#states');
if (selectStatesInputEl) {
const choices = new Choices(selectStatesInputEl);
}
// 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();
}
});
}
if (sidebar) {
// if (localStorage.getItem('sidebar') === 'contracted') {
// sidebar.classList.add('notransition');
// content.classList.add('notransition');
// sidebar.classList.add('contracted');
// setTimeout(function () {
// sidebar.classList.remove('notransition');
// content.classList.remove('notransition');
// }, 500);
// } else {
// sidebar.classList.add('notransition');
// content.classList.add('notransition');
// sidebar.classList.remove('contracted');
// setTimeout(function () {
// sidebar.classList.remove('notransition');
// content.classList.remove('notransition');
// }, 500);
// }
// var navbartoggler = document.getElementById('navbar-toggler');
// navbartoggler.addEventListener('click', function () {
// console.log("ASDFGGH");
// sidebar.classList.remove('contracted');
// });
// sidebar.addEventListener('mouseenter', function () {
// sidebar.classList.remove('contracted');
// });
// sidebar.addEventListener('mouseleave', function () {
// sidebar.classList.add('contracted');
// });
// sidebar.classList.add('contracted');
}
});