silika-website/wwwroot/assets/js/cards-advance.js

167 lines
4.0 KiB
JavaScript

/**
* Advanced Cards
*/
'use strict';
(function () {
let cardColor, headingColor, legendColor, labelColor;
if (isDarkStyle) {
cardColor = config.colors_dark.cardColor;
labelColor = config.colors_dark.textMuted;
legendColor = config.colors_dark.bodyColor;
headingColor = config.colors_dark.headingColor;
} else {
cardColor = config.colors.cardColor;
labelColor = config.colors.textMuted;
legendColor = config.colors.bodyColor;
headingColor = config.colors.headingColor;
}
// Radial bar chart functions
function radialBarChart(color, value) {
const radialBarChartOpt = {
chart: {
height: 53,
width: 43,
type: 'radialBar'
},
plotOptions: {
radialBar: {
hollow: {
size: '33%'
},
dataLabels: {
show: false
},
track: {
background: config.colors_label.secondary
}
}
},
stroke: {
lineCap: 'round'
},
colors: [color],
grid: {
padding: {
top: -15,
bottom: -15,
left: -5,
right: -15
}
},
series: [value],
labels: ['Progress']
};
return radialBarChartOpt;
}
// Progress Chart
// --------------------------------------------------------------------
// All progress chart
const chartProgressList = document.querySelectorAll('.chart-progress');
if (chartProgressList) {
chartProgressList.forEach(function (chartProgressEl) {
const color = config.colors[chartProgressEl.dataset.color],
series = chartProgressEl.dataset.series;
const optionsBundle = radialBarChart(color, series);
const chart = new ApexCharts(chartProgressEl, optionsBundle);
chart.render();
});
}
// Earning Reports Bar Chart
// --------------------------------------------------------------------
const reportBarChartEl = document.querySelector('#reportBarChart'),
reportBarChartConfig = {
chart: {
height: 200,
type: 'bar',
toolbar: {
show: false
}
},
plotOptions: {
bar: {
barHeight: '60%',
columnWidth: '60%',
startingShape: 'rounded',
endingShape: 'rounded',
borderRadius: 4,
distributed: true
}
},
grid: {
show: false,
padding: {
top: -20,
bottom: 0,
left: -10,
right: -10
}
},
colors: [
config.colors_label.primary,
config.colors_label.primary,
config.colors_label.primary,
config.colors_label.primary,
config.colors.primary,
config.colors_label.primary,
config.colors_label.primary
],
dataLabels: {
enabled: false
},
series: [
{
data: [40, 95, 60, 45, 90, 50, 75]
}
],
legend: {
show: false
},
xaxis: {
categories: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],
axisBorder: {
show: false
},
axisTicks: {
show: false
},
labels: {
style: {
colors: labelColor,
fontSize: '13px'
}
}
},
yaxis: {
labels: {
show: false
}
}
};
if (typeof reportBarChartEl !== undefined && reportBarChartEl !== null) {
const barChart = new ApexCharts(reportBarChartEl, reportBarChartConfig);
barChart.render();
}
// swiper loop and autoplay
// --------------------------------------------------------------------
const swiperWithPagination = document.querySelector('#swiper-with-pagination-cards');
if (swiperWithPagination) {
new Swiper(swiperWithPagination, {
loop: true,
autoplay: {
delay: 2500,
disableOnInteraction: false
},
pagination: {
clickable: true,
el: '.swiper-pagination'
}
});
}
})();