233 lines
8.0 KiB
JavaScript
233 lines
8.0 KiB
JavaScript
|
/**
|
||
|
Template Name: Ubold Dashboard
|
||
|
Author: CoderThemes
|
||
|
Email: coderthemes@gmail.com
|
||
|
File: Chartjs
|
||
|
*/
|
||
|
|
||
|
|
||
|
!function($) {
|
||
|
"use strict";
|
||
|
|
||
|
var ChartJs = function() {};
|
||
|
|
||
|
ChartJs.prototype.respChart = function(selector,type,data, options) {
|
||
|
//default config
|
||
|
Chart.defaults.global.defaultFontColor = "rgba(255,255,255,0.5)";
|
||
|
// get selector by context
|
||
|
var ctx = selector.get(0).getContext("2d");
|
||
|
// pointing parent container to make chart js inherit its width
|
||
|
var container = $(selector).parent();
|
||
|
|
||
|
// enable resizing matter
|
||
|
$(window).resize( generateChart );
|
||
|
|
||
|
// this function produce the responsive Chart JS
|
||
|
function generateChart(){
|
||
|
// make chart width fit with its container
|
||
|
var ww = selector.attr('width', $(container).width() );
|
||
|
switch(type){
|
||
|
case 'Line':
|
||
|
new Chart(ctx, {type: 'line', data: data, options: options});
|
||
|
break;
|
||
|
case 'Doughnut':
|
||
|
new Chart(ctx, {type: 'doughnut', data: data, options: options});
|
||
|
break;
|
||
|
case 'Pie':
|
||
|
new Chart(ctx, {type: 'pie', data: data, options: options});
|
||
|
break;
|
||
|
case 'Bar':
|
||
|
new Chart(ctx, {type: 'bar', data: data, options: options});
|
||
|
break;
|
||
|
case 'Radar':
|
||
|
new Chart(ctx, {type: 'radar', data: data, options: options});
|
||
|
break;
|
||
|
case 'PolarArea':
|
||
|
new Chart(ctx, {data: data, type: 'polarArea', options: options});
|
||
|
break;
|
||
|
}
|
||
|
// Initiate new chart or Redraw
|
||
|
|
||
|
};
|
||
|
// run function - render chart at first load
|
||
|
generateChart();
|
||
|
},
|
||
|
//init
|
||
|
ChartJs.prototype.init = function() {
|
||
|
//creating lineChart
|
||
|
var lineChart = {
|
||
|
labels: ["January", "February", "March", "April", "May", "June", "July", "August", "September"],
|
||
|
datasets: [
|
||
|
{
|
||
|
label: "Sales Analytics",
|
||
|
fill: false,
|
||
|
lineTension: 0.1,
|
||
|
backgroundColor: "#5d9cec",
|
||
|
borderColor: "#5d9cec",
|
||
|
borderCapStyle: 'butt',
|
||
|
borderDash: [],
|
||
|
borderDashOffset: 0.0,
|
||
|
borderJoinStyle: 'miter',
|
||
|
pointBorderColor: "#5d9cec",
|
||
|
pointBackgroundColor: "#fff",
|
||
|
pointBorderWidth: 1,
|
||
|
pointHoverRadius: 5,
|
||
|
pointHoverBackgroundColor: "#5d9cec",
|
||
|
pointHoverBorderColor: "#eef0f2",
|
||
|
pointHoverBorderWidth: 2,
|
||
|
pointRadius: 1,
|
||
|
pointHitRadius: 10,
|
||
|
data: [65, 59, 80, 81, 56, 55, 40, 35, 30]
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
|
||
|
var lineOpts = {
|
||
|
scales: {
|
||
|
yAxes: [{
|
||
|
ticks: {
|
||
|
max: 100,
|
||
|
min: 20,
|
||
|
stepSize: 10
|
||
|
}
|
||
|
}]
|
||
|
}
|
||
|
};
|
||
|
|
||
|
this.respChart($("#lineChart"),'Line',lineChart, lineOpts);
|
||
|
|
||
|
//donut chart
|
||
|
var donutChart = {
|
||
|
labels: [
|
||
|
"Desktops",
|
||
|
"Tablets",
|
||
|
"Mobiles"
|
||
|
],
|
||
|
datasets: [
|
||
|
{
|
||
|
data: [300, 50, 100],
|
||
|
backgroundColor: [
|
||
|
"#5d9cec",
|
||
|
"#5fbeaa",
|
||
|
"#ebeff2"
|
||
|
],
|
||
|
hoverBackgroundColor: [
|
||
|
"#5d9cec",
|
||
|
"#5fbeaa",
|
||
|
"#ebeff2"
|
||
|
],
|
||
|
hoverBorderColor: "#fff"
|
||
|
}]
|
||
|
};
|
||
|
this.respChart($("#doughnut"),'Doughnut',donutChart);
|
||
|
|
||
|
|
||
|
//Pie chart
|
||
|
var pieChart = {
|
||
|
labels: [
|
||
|
"Desktops",
|
||
|
"Tablets",
|
||
|
"Mobiles"
|
||
|
],
|
||
|
datasets: [
|
||
|
{
|
||
|
data: [300, 50, 100],
|
||
|
backgroundColor: [
|
||
|
"#5d9cec",
|
||
|
"#5fbeaa",
|
||
|
"#ebeff2"
|
||
|
],
|
||
|
hoverBackgroundColor: [
|
||
|
"#5d9cec",
|
||
|
"#5fbeaa",
|
||
|
"#ebeff2"
|
||
|
],
|
||
|
hoverBorderColor: "#fff"
|
||
|
}]
|
||
|
};
|
||
|
this.respChart($("#pie"),'Pie',pieChart);
|
||
|
|
||
|
|
||
|
//barchart
|
||
|
var barChart = {
|
||
|
labels: ["January", "February", "March", "April", "May", "June", "July"],
|
||
|
datasets: [
|
||
|
{
|
||
|
label: "Sales Analytics",
|
||
|
backgroundColor: "rgba(95, 190, 170, 0.3)",
|
||
|
borderColor: "#5fbeaa",
|
||
|
borderWidth: 1,
|
||
|
hoverBackgroundColor: "rgba(95, 190, 170, 0.6)",
|
||
|
hoverBorderColor: "#5fbeaa",
|
||
|
data: [65, 59, 80, 81, 56, 55, 40,20]
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
this.respChart($("#bar"),'Bar',barChart);
|
||
|
|
||
|
|
||
|
//radar chart
|
||
|
var radarChart = {
|
||
|
labels: ["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"],
|
||
|
datasets: [
|
||
|
{
|
||
|
label: "Desktops",
|
||
|
backgroundColor: "rgba(179,181,198,0.2)",
|
||
|
borderColor: "rgba(179,181,198,1)",
|
||
|
pointBackgroundColor: "rgba(179,181,198,1)",
|
||
|
pointBorderColor: "#fff",
|
||
|
pointHoverBackgroundColor: "#fff",
|
||
|
pointHoverBorderColor: "rgba(179,181,198,1)",
|
||
|
data: [65, 59, 90, 81, 56, 55, 40]
|
||
|
},
|
||
|
{
|
||
|
label: "Tablets",
|
||
|
backgroundColor: "rgba(255,99,132,0.2)",
|
||
|
borderColor: "rgba(255,99,132,1)",
|
||
|
pointBackgroundColor: "rgba(255,99,132,1)",
|
||
|
pointBorderColor: "#fff",
|
||
|
pointHoverBackgroundColor: "#fff",
|
||
|
pointHoverBorderColor: "rgba(255,99,132,1)",
|
||
|
data: [28, 48, 40, 19, 96, 27, 100]
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
this.respChart($("#radar"),'Radar',radarChart);
|
||
|
|
||
|
//Polar area chart
|
||
|
var polarChart = {
|
||
|
datasets: [{
|
||
|
data: [
|
||
|
11,
|
||
|
16,
|
||
|
7,
|
||
|
18
|
||
|
],
|
||
|
backgroundColor: [
|
||
|
"#5fbeaa",
|
||
|
"#1a2942",
|
||
|
"#5d9cec",
|
||
|
"#ebeff2"
|
||
|
],
|
||
|
label: 'My dataset', // for legend
|
||
|
hoverBorderColor: "#fff"
|
||
|
}],
|
||
|
labels: [
|
||
|
"Series 1",
|
||
|
"Series 2",
|
||
|
"Series 3",
|
||
|
"Series 4"
|
||
|
]
|
||
|
};
|
||
|
this.respChart($("#polarArea"),'PolarArea',polarChart);
|
||
|
},
|
||
|
$.ChartJs = new ChartJs, $.ChartJs.Constructor = ChartJs
|
||
|
|
||
|
}(window.jQuery),
|
||
|
|
||
|
//initializing
|
||
|
function($) {
|
||
|
"use strict";
|
||
|
$.ChartJs.init()
|
||
|
}(window.jQuery);
|