/public/assets/webadmin/pages/chartjs.init.js
https://github.com/dev4living/HeyCommunity · JavaScript · 228 lines · 190 code · 19 blank · 19 comment · 0 complexity · a46f1ad9ec9a5d7b466eaa03f914e417 MD5 · raw file
- /**
- Template Name: WebAdmin
- Chartjs
- */
- !function($) {
- "use strict";
- var ChartJs = function() {};
- ChartJs.prototype.respChart = function(selector,type,data, options) {
- // 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","October"],
- datasets: [
- {
- label: "Sales Analytics",
- fill: false,
- lineTension: 0.1,
- backgroundColor: "#3292e0",
- borderColor: "#3292e0",
- borderCapStyle: 'butt',
- borderDash: [],
- borderDashOffset: 0.0,
- borderJoinStyle: 'miter',
- pointBorderColor: "#3292e0",
- pointBackgroundColor: "#fff",
- pointBorderWidth: 1,
- pointHoverRadius: 5,
- pointHoverBackgroundColor: "#3292e0",
- pointHoverBorderColor: "#eef0f2",
- pointHoverBorderWidth: 2,
- pointRadius: 1,
- pointHitRadius: 10,
- data: [65, 59, 80, 81, 56, 55, 40, 55, 30, 80]
- }
- ]
- };
- 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: [
- "#45bbe0",
- "#3292e0",
- "#ebeff2"
- ],
- hoverBackgroundColor: [
- "#45bbe0",
- "#3292e0",
- "#ebeff2"
- ],
- hoverBorderColor: "#fff"
- }]
- };
- this.respChart($("#doughnut"),'Doughnut',donutChart);
- //Pie chart
- var pieChart = {
- labels: [
- "Desktops",
- "Tablets",
- "Mobiles"
- ],
- datasets: [
- {
- data: [300, 50, 100],
- backgroundColor: [
- "#45bbe0",
- "#3292e0",
- "#ebeff2"
- ],
- hoverBackgroundColor: [
- "#45bbe0",
- "#3292e0",
- "#ebeff2"
- ],
- hoverBorderColor: "#fff"
- }]
- };
- this.respChart($("#pie"),'Pie',pieChart);
- //barchart
- var barChart = {
- labels: ["January", "February", "March", "April", "May", "June", "July"],
- datasets: [
- {
- label: "Sales Analytics",
- backgroundColor: "#3292e0",
- borderColor: "#3292e0",
- borderWidth: 1,
- hoverBackgroundColor: "#3292e0",
- hoverBorderColor: "#3292e0",
- data: [65, 59, 81, 45, 56, 80, 50,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(50,146,224,0.2)",
- borderColor: "#3292e0",
- pointBackgroundColor: "#3292e0",
- pointBorderColor: "#fff",
- pointHoverBackgroundColor: "#fff",
- pointHoverBorderColor: "#3292e0",
- 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: [
- "#f62f37",
- "#188ae2",
- "#45bbe0",
- "#f8ca4e"
- ],
- 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);