123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- function chart(reporting) {
- "use strict";
- var model = openerp;
- reporting.ReportSaleChartWidget = reporting.Base.extend({
- BuildLineChart: function (label,data,CurrencyBase) {
- var self = this;
- Chart.scaleService.updateScaleDefaults('linear', {
- ticks: {
- callback: function(tick) {
- return tick.toLocaleString('de-DE');
- }
- }
- });
- Chart.defaults.global.tooltips.callbacks.label = function(tooltipItem, data) {
- var dataset = data.datasets[tooltipItem.datasetIndex];
- var datasetLabel = dataset.label || '';
- return datasetLabel + dataset.data[tooltipItem.index].toLocaleString('de-DE');
- };
- var chart = new Chart($(".reporting-chart"), {
- type: 'line',
- data: {
- labels: label,
- datasets: [
- {
- label: false,
- data: data,
- backgroundColor: '#bbdefb',
- borderColor: '#0288d1',
- borderWidth: 1,
- fill: true,
- }
- ]
- },
- options: {
- responsive: true,
- responsiveAnimationDuration:10,
- maintainAspectRatio:false,
- title: {
- display: false,
- },
- hover: {
- mode: 'nearest',
- intersect: true
- },
- legend: {
- display: false,
- },
- layout: {
- padding: {
- top: 0,
- bottom: 0,
- left : 0,
- rigth: 0,
- }
- },
- events: ['click'],
- tooltips: {
- callbacks: {
- label: function(tooltipItem, data) {
- var label = data.datasets[tooltipItem.datasetIndex].label || '';
- if (label) {
- label += ': ';
- }
- label += accounting.formatMoney(tooltipItem.yLabel, CurrencyBase.symbol, CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator);
- return label;
- }
- }
- }
- }
- });
- },
- BuildBarChart: function (data,CurrencyBase,label,body) {
- var self = this;
- Chart.scaleService.updateScaleDefaults('linear', {
- ticks: {
- callback: function(tick) {
- return tick.toLocaleString('de-DE');
- }
- }
- });
- Chart.defaults.global.tooltips.callbacks.label = function(tooltipItem, data) {
- var dataset = data.datasets[tooltipItem.datasetIndex];
- var datasetLabel = dataset.label || '';
- return datasetLabel + dataset.data[tooltipItem.index].toLocaleString('de-DE');
- };
- var color = [];
- color.push('#BCCEF4');
- color.push('#A9E5E3');
- color.push('#A0D995');
- color.push('#C5D084');
- color.push('#FAE187');
- color.push('#FFBD82');
- color.push('#FFA8B8');
- color.push('#E5BEDD');
- color.push('#C4ABFE');
- color.push('#D8D8D8');
- var chart = new Chart($(".reporting-chart"), {
- type: 'horizontalBar',
- data: {
- labels: label,
- datasets: [
- {
- label: false,
- data: body,
- backgroundColor: color,
- fill: true,
- }
- ]
- },
- options: {
- responsive: true,
- responsiveAnimationDuration:10,
- maintainAspectRatio:false,
- title: {
- display: false,
- },
- hover: {
- mode: 'nearest',
- intersect: true
- },
- legend: {
- display: false,
- },
- layout: {
- padding: {
- top: 0,
- bottom: 0,
- left : 0,
- rigth: 0,
- }
- },
- tooltips: {
- callbacks: {
- label: function(tooltipItem, data) {
- var label = data.datasets[tooltipItem.datasetIndex].label || '';
- if (label) {
- label += ': ';
- }
- label += accounting.formatMoney(tooltipItem.xLabel, CurrencyBase.symbol, CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator);
- return label;
- }
- }
- },
- events: ['click'],
- }
- });
- },
- BuildPieChart: function (data,CurrencyBase,label,body) {
- var self = this;
- var color = [];
- color.push('#BCCEF4');
- color.push('#A9E5E3');
- color.push('#A0D995');
- color.push('#C5D084');
- color.push('#FAE187');
- color.push('#FFBD82');
- color.push('#FFA8B8');
- color.push('#E5BEDD');
- color.push('#C4ABFE');
- color.push('#D8D8D8');
- color.push('#f3e5f5');
- var chart = new Chart($(".reporting-pie-chart"), {
- type: 'pie',
- data: {
- labels: label,
- datasets: [
- {
- label: false,
- data: body,
- backgroundColor: color,
- fill: true,
- }
- ]
- },
- options: {
- responsive: true,
- responsiveAnimationDuration:10,
- maintainAspectRatio:false,
- hover: {
- mode: 'nearest',
- intersect: true
- },
- legend: {
- position: 'right',
- },
- layout: {
- padding: {
- top: 0,
- bottom: 0,
- left : 0,
- rigth: 0,
- }
- },
- tooltips: {
- callbacks: {
- label: function(tooltipItem, data) {
- var label = data.labels[tooltipItem.index] || '';
- if (label) {
- label += ': ';
- }
- label += accounting.formatMoney(data.datasets[0].data[tooltipItem.index],{
- symbol: "%",
- format: "%v%s",
- precision: 2,
- thousand: ".",
- decimal: ","
- });
- return label;
- }
- }
- },
- events: ['click'],
- }
- });
- },
- BuildDoughnutChart: function (data,CurrencyBase,label,body) {
- var self = this;
- var color = [];
- color.push('#BCCEF4');
- color.push('#A9E5E3');
- color.push('#A0D995');
- color.push('#C5D084');
- color.push('#FAE187');
- color.push('#FFBD82');
- color.push('#FFA8B8');
- color.push('#E5BEDD');
- color.push('#C4ABFE');
- color.push('#D8D8D8');
- var chart = new Chart($(".reporting-doughnut-chart"), {
- type: 'doughnut',
- data: {
- labels: label,
- datasets: [
- {
- label: false,
- data: body,
- backgroundColor: color,
- fill: true,
- }
- ]
- },
- options: {
- responsive: true,
- responsiveAnimationDuration:10,
- maintainAspectRatio:false,
- hover: {
- mode: 'nearest',
- intersect: true
- },
- legend: {
- position: 'left',
- },
- layout: {
- padding: {
- top: 0,
- bottom: 0,
- left : 0,
- rigth: 0,
- }
- },
- tooltips: {
- callbacks: {
- label: function(tooltipItem, data) {
- var label = data.labels[tooltipItem.index] || '';
- if (label) {
- label += ': ';
- }
- label += accounting.formatMoney(data.datasets[0].data[tooltipItem.index],{
- symbol: "%",
- format: "%v%s",
- precision: 2,
- thousand: ".",
- decimal: ","
- });
- return label;
- }
- }
- },
- events: ['click'],
- }
- });
- },
- });
- }
|