426 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			426 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
/**
 | 
						|
 * Theme: Attex - Responsive Tailwind CSS 3 Admin Dashboard
 | 
						|
 * Author: Coderthemes
 | 
						|
 * Module/App: Apex Pie Charts
 | 
						|
 */
 | 
						|
 | 
						|
//
 | 
						|
// SIMPLE PIE CHART
 | 
						|
//
 | 
						|
var colors = ["#3e60d5", "#6c757d","#47ad77", "#fa5c7c","#e3eaef"];
 | 
						|
var dataColors = document.querySelector("#simple-pie").dataset.colors;
 | 
						|
if (dataColors) {
 | 
						|
    colors = dataColors.split(",");
 | 
						|
}
 | 
						|
var options = {
 | 
						|
    chart: {
 | 
						|
        height: 320,
 | 
						|
        type: 'pie',
 | 
						|
    }, 
 | 
						|
    series: [44, 55, 41, 17, 15],
 | 
						|
    labels: ["Series 1", "Series 2", "Series 3", "Series 4", "Series 5"],
 | 
						|
    colors: colors,
 | 
						|
    legend: {
 | 
						|
        show: true,
 | 
						|
        position: 'bottom',
 | 
						|
        horizontalAlign: 'center',
 | 
						|
        verticalAlign: 'middle',
 | 
						|
        floating: false,
 | 
						|
        fontSize: '14px',
 | 
						|
        offsetX: 0,
 | 
						|
        offsetY: 7
 | 
						|
    },
 | 
						|
    responsive: [{
 | 
						|
        breakpoint: 600,
 | 
						|
        options: {
 | 
						|
            chart: {
 | 
						|
                height: 240
 | 
						|
            },
 | 
						|
            legend: {
 | 
						|
                show: false
 | 
						|
            },
 | 
						|
        }
 | 
						|
    }]
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
var chart = new ApexCharts(
 | 
						|
    document.querySelector("#simple-pie"),
 | 
						|
    options
 | 
						|
);
 | 
						|
 | 
						|
chart.render();
 | 
						|
 | 
						|
 | 
						|
//
 | 
						|
// SIMPLE DONUT CHART
 | 
						|
//
 | 
						|
var colors = ["#39afd1", "#ffbc00", "#313a46", "#fa5c7c", "#47ad77"];
 | 
						|
var dataColors = document.querySelector("#simple-donut").dataset.colors;
 | 
						|
if (dataColors) {
 | 
						|
    colors = dataColors.split(",");
 | 
						|
}
 | 
						|
var options = {
 | 
						|
    chart: {
 | 
						|
        height: 320,
 | 
						|
        type: 'donut',
 | 
						|
    }, 
 | 
						|
    series: [44, 55, 41, 17, 15],
 | 
						|
    legend: {
 | 
						|
        show: true,
 | 
						|
        position: 'bottom',
 | 
						|
        horizontalAlign: 'center',
 | 
						|
        verticalAlign: 'middle',
 | 
						|
        floating: false,
 | 
						|
        fontSize: '14px',
 | 
						|
        offsetX: 0,
 | 
						|
        offsetY: 7
 | 
						|
    },
 | 
						|
    labels: ["Series 1", "Series 2", "Series 3", "Series 4", "Series 5"],
 | 
						|
    colors: colors,
 | 
						|
    responsive: [{
 | 
						|
        breakpoint: 600,
 | 
						|
        options: {
 | 
						|
            chart: {
 | 
						|
                height: 240
 | 
						|
            },
 | 
						|
            legend: {
 | 
						|
                show: false
 | 
						|
            },
 | 
						|
        }
 | 
						|
    }]
 | 
						|
}
 | 
						|
 | 
						|
var chart = new ApexCharts(
 | 
						|
    document.querySelector("#simple-donut"),
 | 
						|
    options
 | 
						|
);
 | 
						|
 | 
						|
chart.render();
 | 
						|
 | 
						|
 | 
						|
//
 | 
						|
// MONOCHROME PIE CHART
 | 
						|
//
 | 
						|
var options = {
 | 
						|
    chart: {
 | 
						|
        height: 320,
 | 
						|
        type: 'pie',
 | 
						|
    }, 
 | 
						|
    series: [25, 15, 44, 55, 41, 17],
 | 
						|
    labels: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
 | 
						|
    legend: {
 | 
						|
        show: true,
 | 
						|
        position: 'bottom',
 | 
						|
        horizontalAlign: 'center',
 | 
						|
        verticalAlign: 'middle',
 | 
						|
        floating: false,
 | 
						|
        fontSize: '14px',
 | 
						|
        offsetX: 0,
 | 
						|
        offsetY: 7
 | 
						|
    },
 | 
						|
    theme: {
 | 
						|
        monochrome: {
 | 
						|
            enabled: true
 | 
						|
        }
 | 
						|
    },
 | 
						|
    responsive: [{
 | 
						|
        breakpoint: 600,
 | 
						|
        options: {
 | 
						|
            chart: {
 | 
						|
                height: 240
 | 
						|
            },
 | 
						|
            legend: {
 | 
						|
                show: false
 | 
						|
            },
 | 
						|
        }
 | 
						|
    }]
 | 
						|
}
 | 
						|
 | 
						|
var chart = new ApexCharts(
 | 
						|
    document.querySelector("#monochrome-pie"),
 | 
						|
    options
 | 
						|
);
 | 
						|
 | 
						|
chart.render();
 | 
						|
 | 
						|
//
 | 
						|
// GRADIENT DONUT CHART
 | 
						|
//
 | 
						|
var colors = ["#3e60d5", "#6c757d","#47ad77", "#fa5c7c","#e3eaef"];
 | 
						|
var dataColors = document.querySelector("#gradient-donut").dataset.colors;
 | 
						|
if (dataColors) {
 | 
						|
    colors = dataColors.split(",");
 | 
						|
}
 | 
						|
var options = {
 | 
						|
    chart: {
 | 
						|
        height: 320,
 | 
						|
        type: 'donut',
 | 
						|
    }, 
 | 
						|
    series: [44, 55, 41, 17, 15],
 | 
						|
    legend: {
 | 
						|
        show: true,
 | 
						|
        position: 'bottom',
 | 
						|
        horizontalAlign: 'center',
 | 
						|
        verticalAlign: 'middle',
 | 
						|
        floating: false,
 | 
						|
        fontSize: '14px',
 | 
						|
        offsetX: 0,
 | 
						|
        offsetY: 7
 | 
						|
    },
 | 
						|
    labels: ["Series 1", "Series 2", "Series 3", "Series 4", "Series 5"],
 | 
						|
    colors: colors,
 | 
						|
    responsive: [{
 | 
						|
        breakpoint: 600,
 | 
						|
        options: {
 | 
						|
            chart: {
 | 
						|
                height: 240
 | 
						|
            },
 | 
						|
            legend: {
 | 
						|
                show: false
 | 
						|
            },
 | 
						|
        }
 | 
						|
    }],
 | 
						|
    fill: {
 | 
						|
        type: 'gradient'
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
var chart = new ApexCharts(
 | 
						|
    document.querySelector("#gradient-donut"),
 | 
						|
    options
 | 
						|
);
 | 
						|
 | 
						|
chart.render();
 | 
						|
 | 
						|
 | 
						|
//
 | 
						|
// PATTERNED DONUT CHART
 | 
						|
//
 | 
						|
var colors = ["#39afd1", "#ffbc00", "#313a46", "#fa5c7c", "#47ad77"];
 | 
						|
var dataColors = document.querySelector("#patterned-donut").dataset.colors;
 | 
						|
if (dataColors) {
 | 
						|
    colors = dataColors.split(",");
 | 
						|
}
 | 
						|
var options = {
 | 
						|
    chart: {
 | 
						|
        height: 320,
 | 
						|
        type: 'donut',
 | 
						|
        dropShadow: {
 | 
						|
          enabled: true,
 | 
						|
          color: '#111',
 | 
						|
          top: -1,
 | 
						|
          left: 3,
 | 
						|
          blur: 3,
 | 
						|
          opacity: 0.2
 | 
						|
        }
 | 
						|
    },
 | 
						|
    stroke: {
 | 
						|
        show: true,
 | 
						|
        width: 2,
 | 
						|
    },
 | 
						|
    series: [44, 55, 41, 17, 15],
 | 
						|
    colors: colors,
 | 
						|
    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: {
 | 
						|
        enabled: false
 | 
						|
      }
 | 
						|
    },
 | 
						|
    legend: {
 | 
						|
        show: true,
 | 
						|
        position: 'bottom',
 | 
						|
        horizontalAlign: 'center',
 | 
						|
        verticalAlign: 'middle',
 | 
						|
        floating: false,
 | 
						|
        fontSize: '14px',
 | 
						|
        offsetX: 0,
 | 
						|
        offsetY: 7
 | 
						|
    },
 | 
						|
    responsive: [{
 | 
						|
        breakpoint: 600,
 | 
						|
        options: {
 | 
						|
            chart: {
 | 
						|
                height: 240
 | 
						|
            },
 | 
						|
            legend: {
 | 
						|
                show: false
 | 
						|
            },
 | 
						|
        }
 | 
						|
    }]
 | 
						|
}
 | 
						|
 | 
						|
var chart = new ApexCharts(
 | 
						|
    document.querySelector("#patterned-donut"),
 | 
						|
    options
 | 
						|
);
 | 
						|
 | 
						|
chart.render();
 | 
						|
 | 
						|
 | 
						|
//
 | 
						|
// PIE CHART WITH IMAGE FILL
 | 
						|
//
 | 
						|
var colors = ["#39afd1", "#ffbc00", "#3e60d5", "#47ad77"];
 | 
						|
var dataColors = document.querySelector("#image-pie").dataset.colors;
 | 
						|
if (dataColors) {
 | 
						|
    colors = dataColors.split(",");
 | 
						|
}
 | 
						|
var options = {
 | 
						|
    chart: {
 | 
						|
        height: 320,
 | 
						|
        type: 'pie',
 | 
						|
    },
 | 
						|
    labels: ["Series 1", "Series 2", "Series 3", "Series 4"],
 | 
						|
    colors: colors,
 | 
						|
    series: [44, 33, 54, 45],
 | 
						|
    fill: {
 | 
						|
        type: 'image',
 | 
						|
        opacity: 0.85,
 | 
						|
        image: {
 | 
						|
             src: ['assets/images/small/small-1.jpg', 'assets/images/small/small-2.jpg', 'assets/images/small/small-3.jpg', 'assets/images/small/small-4.jpg'],
 | 
						|
            width: 25,
 | 
						|
            imagedHeight: 25
 | 
						|
        },
 | 
						|
    },
 | 
						|
    stroke: {
 | 
						|
        width: 4
 | 
						|
    },
 | 
						|
    dataLabels: {
 | 
						|
        enabled: false
 | 
						|
    },
 | 
						|
    legend: {
 | 
						|
        show: true,
 | 
						|
        position: 'bottom',
 | 
						|
        horizontalAlign: 'center',
 | 
						|
        verticalAlign: 'middle',
 | 
						|
        floating: false,
 | 
						|
        fontSize: '14px',
 | 
						|
        offsetX: 0,
 | 
						|
        offsetY: 7
 | 
						|
    },
 | 
						|
    responsive: [{
 | 
						|
        breakpoint: 600,
 | 
						|
        options: {
 | 
						|
            chart: {
 | 
						|
                height: 240
 | 
						|
            },
 | 
						|
            legend: {
 | 
						|
                show: false
 | 
						|
            },
 | 
						|
        }
 | 
						|
    }]
 | 
						|
}
 | 
						|
 | 
						|
var chart = new ApexCharts(
 | 
						|
    document.querySelector("#image-pie"),
 | 
						|
    options
 | 
						|
);
 | 
						|
 | 
						|
chart.render();
 | 
						|
 | 
						|
 | 
						|
//
 | 
						|
// DONUT UPDATE
 | 
						|
//
 | 
						|
var colors = ["#3e60d5", "#6c757d","#47ad77", "#fa5c7c"];
 | 
						|
var dataColors = document.querySelector("#update-donut").dataset.colors;
 | 
						|
if (dataColors) {
 | 
						|
    colors = dataColors.split(",");
 | 
						|
}
 | 
						|
 | 
						|
var options = {
 | 
						|
    chart: {
 | 
						|
        height: 320,
 | 
						|
        type: 'donut',
 | 
						|
    },
 | 
						|
    dataLabels: {
 | 
						|
        enabled: false
 | 
						|
    },
 | 
						|
    series: [44, 55, 13, 33],
 | 
						|
    colors: colors,
 | 
						|
    legend: {
 | 
						|
        show: true,
 | 
						|
        position: 'bottom',
 | 
						|
        horizontalAlign: 'center',
 | 
						|
        verticalAlign: 'middle',
 | 
						|
        floating: false,
 | 
						|
        fontSize: '14px',
 | 
						|
        offsetX: 0,
 | 
						|
        offsetY: 7
 | 
						|
    },
 | 
						|
    responsive: [{
 | 
						|
        breakpoint: 600,
 | 
						|
        options: {
 | 
						|
            chart: {
 | 
						|
                height: 240
 | 
						|
            },
 | 
						|
            legend: {
 | 
						|
                show: false
 | 
						|
            },
 | 
						|
        }
 | 
						|
    }]
 | 
						|
}
 | 
						|
 | 
						|
var chart = new ApexCharts(
 | 
						|
    document.querySelector("#update-donut"),
 | 
						|
    options
 | 
						|
);
 | 
						|
 | 
						|
chart.render();
 | 
						|
 | 
						|
function appendData() {
 | 
						|
    var arr = chart.w.globals.series.map(function () {
 | 
						|
        return Math.floor(Math.random() * (100 - 1 + 1)) + 1;
 | 
						|
    });
 | 
						|
    arr.push(Math.floor(Math.random() * (100 - 1 + 1)) + 1);
 | 
						|
    return arr;
 | 
						|
}
 | 
						|
 | 
						|
function removeData() {
 | 
						|
    var arr = chart.w.globals.series.map(function () {
 | 
						|
        return Math.floor(Math.random() * (100 - 1 + 1)) + 1;
 | 
						|
    });
 | 
						|
    arr.pop();
 | 
						|
    return arr;
 | 
						|
}
 | 
						|
 | 
						|
function randomize() {
 | 
						|
    return chart.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 () {
 | 
						|
    chart.updateSeries(randomize());
 | 
						|
});
 | 
						|
 | 
						|
document.querySelector("#add").addEventListener("click", function () {
 | 
						|
    chart.updateSeries(appendData());
 | 
						|
});
 | 
						|
 | 
						|
document.querySelector("#remove").addEventListener("click", function () {
 | 
						|
    chart.updateSeries(removeData());
 | 
						|
});
 | 
						|
 | 
						|
document.querySelector("#reset").addEventListener("click", function () {
 | 
						|
    chart.updateSeries(reset());
 | 
						|
}); |