Files
crm.twinpol.com/modules/Accounts/js/SalesChart.js

57 lines
1.5 KiB
JavaScript
Raw Normal View History

2025-05-12 15:45:17 +00:00
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var a = new Array();
var html = "";
var table = document.getElementById("ChartData");
for (var i = 0, row; row = table.rows[i]; i++) {
a[i] = new Array();
for (var j = 0, col; col = row.cells[j]; j++) {
a[i][j]=row.cells[j].textContent;
if(j>0 && i > 0){
a[i][j] = a[i][j].replace(".", "").replace(".", "");
a[i][j] = parseFloat(a[i][j].replace(",", "."));
}
}
}
// Calculate the width and height of the Array
var w = a.length ? a.length : 0,
h = a[0] instanceof Array ? a[0].length : 0;
// In case it is a zero matrix, no transpose routine needed.
if(h === 0 || w === 0) { t=[]; }
/**
* @var {Number} i Counter
* @var {Number} j Counter
* @var {Array} t Transposed data is stored in this array.
*/
var i, j, t = [];
// Loop through every item in the outer array (height)
for(i=0; i<h-1; i++) {
// Insert a new row (array)
t[i] = [];
// Loop through every item per item in outer array (width)
for(j=0; j<w-1; j++) {
// Save transposed data.
t[i][j] = a[j][i];
}
}
var data = google.visualization.arrayToDataTable(t);
formatter = new google.visualization.NumberFormat({
suffix: ' zł',
fractionDigits: '2',
decimalSymbol: ',',
groupingSymbol: '.',
});
for (i = 1; i < data.getNumberOfColumns(); i++) {
formatter.format(data, i);
}
var options = {
};
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
chart.draw(data, options);
}