399 lines
10 KiB
JavaScript
399 lines
10 KiB
JavaScript
|
let demoOptions = {
|
||
|
area: {
|
||
|
series: [{
|
||
|
data: [10, 8, 9, 8, 11, 16, 4, 15, 18, 21, 18, 16, 19, 14, 13, 18, 10, 10, 10, 22, 19, 20, 18, 17, 19, 13, 18, 14, 15],
|
||
|
}],
|
||
|
chart: {
|
||
|
height: 180,
|
||
|
type: 'area',
|
||
|
sparkline: {
|
||
|
enabled: true,
|
||
|
},
|
||
|
},
|
||
|
colors: ['#382CDD'],
|
||
|
fill: {
|
||
|
type: ['solid'],
|
||
|
colors: ['#EBEAFC']
|
||
|
},
|
||
|
stroke: {
|
||
|
curve: 'straight',
|
||
|
width: 2,
|
||
|
},
|
||
|
__variants: {
|
||
|
'dark-bg': {
|
||
|
colors: ['#8880EB'],
|
||
|
fill: {
|
||
|
type: ['solid'],
|
||
|
colors: ['#6056E4'],
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
'area-small': {
|
||
|
series: [{
|
||
|
data: [140, 110, 120, 140, 110, 130, 100, 120, 150, 120]
|
||
|
}],
|
||
|
chart: {
|
||
|
height: 100,
|
||
|
type: 'area',
|
||
|
sparkline: {
|
||
|
enabled: true
|
||
|
},
|
||
|
},
|
||
|
colors: ['#382CDD'],
|
||
|
fill: {
|
||
|
type: ['solid'],
|
||
|
colors: ['#EBEAFC'],
|
||
|
},
|
||
|
stroke: {
|
||
|
width: 2,
|
||
|
},
|
||
|
__variants: {
|
||
|
indigo: {
|
||
|
colors: ['#382CDD'],
|
||
|
fill: {
|
||
|
type: ['solid'],
|
||
|
colors: ['#D7D5F8'],
|
||
|
},
|
||
|
},
|
||
|
'indigo-gradient': {
|
||
|
colors: ['#382CDD'],
|
||
|
fill: {
|
||
|
type: ['gradient'],
|
||
|
colors: ['#8880EB', '#EBEAFC'],
|
||
|
},
|
||
|
},
|
||
|
blue: {
|
||
|
colors: ['#2D70F5'],
|
||
|
fill: {
|
||
|
type: ['solid'],
|
||
|
colors: ['#D5E2FD'],
|
||
|
},
|
||
|
},
|
||
|
'blue-gradient': {
|
||
|
colors: ['#2D70F5'],
|
||
|
fill: {
|
||
|
type: ['gradient'],
|
||
|
colors: ['#81A9F9', '#EAF1FE'],
|
||
|
},
|
||
|
},
|
||
|
green: {
|
||
|
colors: ['#17BB84'],
|
||
|
fill: {
|
||
|
type: ['solid'],
|
||
|
colors: ['#D1F1E6'],
|
||
|
},
|
||
|
},
|
||
|
'green-gradient': {
|
||
|
colors: ['#17BB84'],
|
||
|
fill: {
|
||
|
type: ['gradient'],
|
||
|
colors: ['#74D6B5', '#E8F8F3'],
|
||
|
},
|
||
|
},
|
||
|
orange: {
|
||
|
colors: ['#F67A28'],
|
||
|
fill: {
|
||
|
type: ['solid'],
|
||
|
colors: ['#FDE4D4'],
|
||
|
},
|
||
|
},
|
||
|
'orange-gradient': {
|
||
|
colors: ['#F67A28'],
|
||
|
fill: {
|
||
|
type: ['gradient'],
|
||
|
colors: ['#FAAF7E', '#FEF2EA'],
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
'columns-stacked': {
|
||
|
series: [
|
||
|
{
|
||
|
data: [20, 50, 18, 50, 30, 40, 30, 40],
|
||
|
},
|
||
|
{
|
||
|
data: [30, 0, 32, 0, 20, 10, 20, 10],
|
||
|
},
|
||
|
],
|
||
|
chart: {
|
||
|
type: 'bar',
|
||
|
height: 100,
|
||
|
stacked: true,
|
||
|
sparkline: {
|
||
|
enabled: true,
|
||
|
},
|
||
|
},
|
||
|
colors: ['#2D70F5', '#F1F5FB'],
|
||
|
fill: {
|
||
|
opacity: 1,
|
||
|
},
|
||
|
plotOptions: {
|
||
|
bar: {
|
||
|
borderRadius: 8,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
'columns-thin': {
|
||
|
series: [
|
||
|
{ name: 'Unique visitors', data: [99200, 68400, 72111, 65020, 62000, 71000, 84232] },
|
||
|
{ name: 'Total visitors', data: [112001, 92402, 86240, 97201, 72102, 102011, 98212] },
|
||
|
],
|
||
|
chart: {
|
||
|
type: 'bar',
|
||
|
height: 300,
|
||
|
toolbar: {
|
||
|
show: false,
|
||
|
},
|
||
|
},
|
||
|
stroke: {
|
||
|
colors: ['transparent'],
|
||
|
width: 4,
|
||
|
},
|
||
|
colors: ['#8128DE', '#382CDD'],
|
||
|
dataLabels: {
|
||
|
enabled: false,
|
||
|
},
|
||
|
legend: {
|
||
|
show: false,
|
||
|
},
|
||
|
plotOptions: {
|
||
|
bar: {
|
||
|
borderRadius: 3,
|
||
|
columnWidth: 12,
|
||
|
},
|
||
|
},
|
||
|
xaxis: {
|
||
|
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'],
|
||
|
},
|
||
|
__variants: {
|
||
|
orange: {
|
||
|
colors: ['#F67A28', '#E85444'],
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
columns: {
|
||
|
series: [{
|
||
|
data: [
|
||
|
300, 400, 200, 350, 500, 400, 300, 200, 100, 400, 500, 300, 400, 200, 100, 300,
|
||
|
400, 200, 350, 500, 400, 300, 200, 100, 400, 500, 300, 400, 200, 100, 250
|
||
|
],
|
||
|
}],
|
||
|
chart: {
|
||
|
height: 200,
|
||
|
type: 'bar',
|
||
|
toolbar: {
|
||
|
show: false,
|
||
|
},
|
||
|
},
|
||
|
grid: {
|
||
|
show: true,
|
||
|
},
|
||
|
dataLabels: {
|
||
|
enabled: false,
|
||
|
},
|
||
|
colors: ['#382CDD'],
|
||
|
xaxis: {
|
||
|
type: 'integer',
|
||
|
categories: [
|
||
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
||
|
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
|
||
|
],
|
||
|
labels: {
|
||
|
show: true,
|
||
|
hideOverlappingLabels: false,
|
||
|
showDuplicates: true,
|
||
|
trim: false,
|
||
|
},
|
||
|
},
|
||
|
yaxis: {
|
||
|
opposite: true,
|
||
|
labels: {
|
||
|
show: true,
|
||
|
align: 'right',
|
||
|
},
|
||
|
},
|
||
|
plotOptions: {
|
||
|
bar: {
|
||
|
borderRadius: 10,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
'radial-bar-part': {
|
||
|
series: [24],
|
||
|
chart: {
|
||
|
type: 'radialBar',
|
||
|
offsetY: -20,
|
||
|
sparkline: {
|
||
|
enabled: true,
|
||
|
},
|
||
|
},
|
||
|
colors: ['#382CDD'],
|
||
|
stroke: {
|
||
|
lineCap: 'round',
|
||
|
},
|
||
|
plotOptions: {
|
||
|
radialBar: {
|
||
|
startAngle: -90,
|
||
|
endAngle: 90,
|
||
|
hollow: {
|
||
|
margin: 15,
|
||
|
size: '65%',
|
||
|
},
|
||
|
track: {
|
||
|
background: '#EBEAFC',
|
||
|
strokeWidth: '97%',
|
||
|
margin: 5,
|
||
|
},
|
||
|
dataLabels: {
|
||
|
name: {
|
||
|
show: false,
|
||
|
},
|
||
|
value: {
|
||
|
show: false,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
'radial-bar': {
|
||
|
series: [54],
|
||
|
chart: {
|
||
|
type: 'radialBar',
|
||
|
sparkline: {
|
||
|
enabled: true,
|
||
|
},
|
||
|
},
|
||
|
colors: ['#382CDD'],
|
||
|
stroke: {
|
||
|
lineCap: 'round',
|
||
|
},
|
||
|
plotOptions: {
|
||
|
radialBar: {
|
||
|
startAngle: -120,
|
||
|
endAngle: 240,
|
||
|
hollow: {
|
||
|
margin: 15,
|
||
|
size: '65%',
|
||
|
},
|
||
|
track: {
|
||
|
background: '#EBEAFC',
|
||
|
strokeWidth: '97%',
|
||
|
margin: 5,
|
||
|
},
|
||
|
dataLabels: {
|
||
|
total: {
|
||
|
show: true,
|
||
|
label: '$16,250',
|
||
|
fontSize: 24,
|
||
|
formatter: () => 'Total Payments',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
__variants: {
|
||
|
orange: {
|
||
|
colors: ['#F67A28'],
|
||
|
plotOptions: {
|
||
|
radialBar: {
|
||
|
startAngle: -120,
|
||
|
endAngle: 240,
|
||
|
hollow: {
|
||
|
margin: 15,
|
||
|
size: '65%',
|
||
|
},
|
||
|
track: {
|
||
|
background: '#EBEAFC',
|
||
|
strokeWidth: '97%',
|
||
|
margin: 5,
|
||
|
},
|
||
|
dataLabels: {
|
||
|
total: {
|
||
|
show: true,
|
||
|
label: '$16,250',
|
||
|
fontSize: 24,
|
||
|
formatter: () => 'Total inventory',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
|
||
|
donut: {
|
||
|
series: [65450, 26950, 5350],
|
||
|
chart: {
|
||
|
type: 'donut',
|
||
|
width: '100%',
|
||
|
height: 240,
|
||
|
},
|
||
|
dataLabels: {
|
||
|
enabled: false,
|
||
|
},
|
||
|
legend: {
|
||
|
show: false,
|
||
|
},
|
||
|
colors: ['#2D70F5', '#382CDD', '#F67A28'],
|
||
|
stroke: {
|
||
|
lineCap: 'round',
|
||
|
},
|
||
|
plotOptions: {
|
||
|
pie: {
|
||
|
donut: {
|
||
|
size: '85%',
|
||
|
labels: {
|
||
|
show: true,
|
||
|
total: {
|
||
|
label: 'Total customers',
|
||
|
showAlways: true,
|
||
|
show: true,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
stroke: {
|
||
|
colors: undefined,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
};
|
||
|
|
||
|
const renderedCharts = [];
|
||
|
function updateCharts() {
|
||
|
if (typeof ApexCharts !== 'function') {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
const chartElements = document.querySelectorAll('.chart');
|
||
|
|
||
|
chartElements.forEach((chartElement) => {
|
||
|
if (renderedCharts.includes(chartElement)) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
const type = chartElement.getAttribute('data-type');
|
||
|
const variant = chartElement.getAttribute('data-variant');
|
||
|
|
||
|
if (typeof demoOptions[type] === 'object') {
|
||
|
let options = demoOptions[type];
|
||
|
|
||
|
if (typeof options['__variants'] === 'object' && typeof options['__variants'][variant] === 'object') {
|
||
|
options = { ...options, ...options['__variants'][variant] };
|
||
|
}
|
||
|
|
||
|
const chart = new ApexCharts(chartElement, options);
|
||
|
chart.render();
|
||
|
renderedCharts.push(chartElement);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
updateCharts();
|