348 lines
8.0 KiB
JavaScript
348 lines
8.0 KiB
JavaScript
/*
|
|
Template Name: Grenviro Monitoring
|
|
Author: Themesbrand
|
|
Website: https://Themesbrand.com/
|
|
Contact: Themesbrand@gmail.com
|
|
File: Pie Chart init js
|
|
*/
|
|
|
|
// get colors array from the string
|
|
function getChartColorsArray(chartId) {
|
|
if (document.getElementById(chartId) !== null) {
|
|
var colors = document.getElementById(chartId).getAttribute("data-colors");
|
|
colors = JSON.parse(colors);
|
|
return colors.map(function (value) {
|
|
var newValue = value.replace(" ", "");
|
|
if (newValue.indexOf(",") === -1) {
|
|
var color = getComputedStyle(document.documentElement).getPropertyValue(newValue);
|
|
if (color) return color;
|
|
else return newValue;;
|
|
} else {
|
|
var val = value.split(',');
|
|
if (val.length == 2) {
|
|
var rgbaColor = getComputedStyle(document.documentElement).getPropertyValue(val[0]);
|
|
rgbaColor = "rgba(" + rgbaColor + "," + val[1] + ")";
|
|
return rgbaColor;
|
|
} else {
|
|
return newValue;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
// Simple Pie Charts
|
|
|
|
var chartPieBasicColors = getChartColorsArray("simple_pie_chart");
|
|
if(chartPieBasicColors){
|
|
var options = {
|
|
series: [44, 55, 13, 43, 22],
|
|
chart: {
|
|
height: 300,
|
|
type: 'pie',
|
|
},
|
|
labels: ['Team A', 'Team B', 'Team C', 'Team D', 'Team E'],
|
|
legend: {
|
|
position: 'bottom'
|
|
},
|
|
dataLabels: {
|
|
dropShadow: {
|
|
enabled: false,
|
|
}
|
|
},
|
|
colors: chartPieBasicColors
|
|
};
|
|
|
|
var chart = new ApexCharts(document.querySelector("#simple_pie_chart"), options);
|
|
chart.render();
|
|
}
|
|
|
|
// Simple Donut Charts
|
|
var chartDonutBasicColors = getChartColorsArray("simple_dount_chart");
|
|
if(chartDonutBasicColors){
|
|
var options = {
|
|
series: [44, 55, 41, 17, 15],
|
|
chart: {
|
|
height: 300,
|
|
type: 'donut',
|
|
},
|
|
legend: {
|
|
position: 'bottom'
|
|
},
|
|
dataLabels: {
|
|
dropShadow: {
|
|
enabled: false,
|
|
}
|
|
},
|
|
colors: chartDonutBasicColors
|
|
};
|
|
|
|
var chart = new ApexCharts(document.querySelector("#simple_dount_chart"), options);
|
|
chart.render();
|
|
}
|
|
|
|
// Updating Donut Charts
|
|
var chartDonutupdatingColors = getChartColorsArray("updating_donut_chart");
|
|
if(chartDonutupdatingColors){
|
|
var options = {
|
|
series: [44, 55, 13, 33],
|
|
chart: {
|
|
height: 280,
|
|
type: 'donut',
|
|
},
|
|
dataLabels: {
|
|
enabled: false
|
|
},
|
|
legend: {
|
|
position: 'bottom'
|
|
},
|
|
colors: chartDonutupdatingColors
|
|
};
|
|
|
|
var upadatedonutchart = new ApexCharts(document.querySelector("#updating_donut_chart"), options);
|
|
upadatedonutchart.render();
|
|
|
|
function appendData() {
|
|
var arr = upadatedonutchart.w.globals.series.slice()
|
|
arr.push(Math.floor(Math.random() * (100 - 1 + 1)) + 1)
|
|
return arr;
|
|
}
|
|
|
|
function removeData() {
|
|
var arr = upadatedonutchart.w.globals.series.slice()
|
|
arr.pop()
|
|
return arr;
|
|
}
|
|
|
|
function randomize() {
|
|
return upadatedonutchart.w.globals.series.map(function () {
|
|
return Math.floor(Math.random() * (100 - 1 + 1)) + 1
|
|
})
|
|
}
|
|
|
|
function reset() {
|
|
return options.series
|
|
}
|
|
|
|
document.querySelector("#randomize").addEventListener("click", function () {
|
|
upadatedonutchart.updateSeries(randomize())
|
|
})
|
|
|
|
document.querySelector("#add").addEventListener("click", function () {
|
|
upadatedonutchart.updateSeries(appendData())
|
|
})
|
|
|
|
document.querySelector("#remove").addEventListener("click", function () {
|
|
upadatedonutchart.updateSeries(removeData())
|
|
})
|
|
|
|
document.querySelector("#reset").addEventListener("click", function () {
|
|
upadatedonutchart.updateSeries(reset())
|
|
})
|
|
}
|
|
|
|
// Gradient Donut Chart
|
|
var chartPieGradientColors = getChartColorsArray("gradient_chart");
|
|
if(chartPieGradientColors){
|
|
var options = {
|
|
series: [44, 55, 41, 17, 15],
|
|
chart: {
|
|
height: 300,
|
|
type: 'donut',
|
|
},
|
|
plotOptions: {
|
|
pie: {
|
|
startAngle: -90,
|
|
endAngle: 270
|
|
}
|
|
},
|
|
dataLabels: {
|
|
enabled: false
|
|
},
|
|
fill: {
|
|
type: 'gradient',
|
|
},
|
|
legend: {
|
|
formatter: function (val, opts) {
|
|
return val + " - " + opts.w.globals.series[opts.seriesIndex]
|
|
}
|
|
},
|
|
title: {
|
|
text: 'Gradient Donut with custom Start-angle',
|
|
style: {
|
|
fontWeight: 500,
|
|
},
|
|
},
|
|
legend: {
|
|
position: 'bottom'
|
|
},
|
|
colors: chartPieGradientColors
|
|
};
|
|
|
|
var chart = new ApexCharts(document.querySelector("#gradient_chart"), options);
|
|
chart.render();
|
|
}
|
|
|
|
// Pattern Donut chart
|
|
var chartPiePatternColors = getChartColorsArray("pattern_chart");
|
|
if(chartPiePatternColors){
|
|
var options = {
|
|
series: [44, 55, 41, 17, 15],
|
|
chart: {
|
|
height: 300,
|
|
type: 'donut',
|
|
dropShadow: {
|
|
enabled: true,
|
|
color: '#111',
|
|
top: -1,
|
|
left: 3,
|
|
blur: 3,
|
|
opacity: 0.2
|
|
}
|
|
},
|
|
stroke: {
|
|
width: 0,
|
|
},
|
|
plotOptions: {
|
|
pie: {
|
|
donut: {
|
|
labels: {
|
|
show: true,
|
|
total: {
|
|
showAlways: true,
|
|
show: true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
labels: ["Comedy", "Action", "SciFi", "Drama", "Horror"],
|
|
dataLabels: {
|
|
dropShadow: {
|
|
blur: 3,
|
|
opacity: 0.8
|
|
}
|
|
},
|
|
fill: {
|
|
type: 'pattern',
|
|
opacity: 1,
|
|
pattern: {
|
|
enabled: true,
|
|
style: ['verticalLines', 'squares', 'horizontalLines', 'circles', 'slantedLines'],
|
|
},
|
|
},
|
|
states: {
|
|
hover: {
|
|
filter: 'none'
|
|
}
|
|
},
|
|
theme: {
|
|
palette: 'palette2'
|
|
},
|
|
title: {
|
|
text: "Favourite Movie Type",
|
|
style: {
|
|
fontWeight: 500,
|
|
},
|
|
},
|
|
legend: {
|
|
position: 'bottom'
|
|
},
|
|
colors: chartPiePatternColors
|
|
};
|
|
|
|
var chart = new ApexCharts(document.querySelector("#pattern_chart"), options);
|
|
chart.render();
|
|
}
|
|
|
|
// Pie Chart with Image Fill
|
|
var chartPieImageColors = getChartColorsArray("image_pie_chart");
|
|
if(chartPieImageColors){
|
|
var options = {
|
|
series: [44, 33, 54, 45],
|
|
chart: {
|
|
height: 300,
|
|
type: 'pie',
|
|
},
|
|
colors: ['#93C3EE', '#E5C6A0', '#669DB5', '#94A74A'],
|
|
fill: {
|
|
type: 'image',
|
|
opacity: 0.85,
|
|
image: {
|
|
src: ['build/images/small/img-1.jpg', 'build/images/small/img-2.jpg', 'build/images/small/img-3.jpg', 'build/images/small/img-4.jpg'],
|
|
width: 25,
|
|
imagedHeight: 25
|
|
},
|
|
},
|
|
stroke: {
|
|
width: 4
|
|
},
|
|
dataLabels: {
|
|
enabled: true,
|
|
style: {
|
|
colors: ['#111']
|
|
},
|
|
background: {
|
|
enabled: true,
|
|
foreColor: '#fff',
|
|
borderWidth: 0
|
|
}
|
|
},
|
|
legend: {
|
|
position: 'bottom'
|
|
}
|
|
};
|
|
|
|
var chart = new ApexCharts(document.querySelector("#image_pie_chart"), options);
|
|
chart.render();
|
|
}
|
|
|
|
// monochrome_pie_chart
|
|
var options = {
|
|
series: [25, 15, 44, 55, 41, 17],
|
|
chart: {
|
|
height: 300,
|
|
type: 'pie',
|
|
},
|
|
labels: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
|
theme: {
|
|
monochrome: {
|
|
enabled: true,
|
|
color: '#405189',
|
|
shadeTo: 'light',
|
|
shadeIntensity: 0.6
|
|
}
|
|
},
|
|
|
|
plotOptions: {
|
|
pie: {
|
|
dataLabels: {
|
|
offset: -5
|
|
}
|
|
}
|
|
},
|
|
title: {
|
|
text: "Monochrome Pie",
|
|
style: {
|
|
fontWeight: 500,
|
|
},
|
|
},
|
|
dataLabels: {
|
|
formatter: function (val, opts) {
|
|
var name = opts.w.globals.labels[opts.seriesIndex];
|
|
return [name, val.toFixed(1) + '%'];
|
|
},
|
|
dropShadow: {
|
|
enabled: false,
|
|
}
|
|
},
|
|
legend: {
|
|
show: false
|
|
}
|
|
};
|
|
|
|
if(document.querySelector("#monochrome_pie_chart")){
|
|
var chart = new ApexCharts(document.querySelector("#monochrome_pie_chart"), options);
|
|
chart.render();
|
|
} |