var DashRegional = SuperWidget.extend({

chart:null,

init:function(){

var self=this;
this.renderAmostra();

window.addEventListener("dashboardData",function(e){

self.render(e.detail);

});

},

render:function(dados){

var mapa={};

// soma nao conformes por regional
dados.forEach(function(i){

var regional=i.regional || "Sem regional";

if(!mapa[regional]) mapa[regional]=0;

mapa[regional]+=parseInt(i.qtdNaoConforme||0,10) || 0;

});

// transformar em arrays
var labels=Object.keys(mapa);
var valores=Object.values(mapa);

if(!labels.length){
labels=["Aguardando filtro"];
valores=[0];
}

// canvas
var ctx=document.getElementById("graficoRegional_"+this.instanceId);

if(this.chart){
this.chart.destroy();
}

// criar gráfico
this.chart=new Chart(ctx,{

type:'bar',

data:{
labels:labels,
datasets:[{
label:"Não conformes",
data:valores,
backgroundColor:"#e74c3c"
}]
},

options:{
responsive:true,
plugins:{
legend:{display:false}
}
}

});

},

renderAmostra:function(){
var ctx=document.getElementById("graficoRegional_"+this.instanceId);
if(!ctx){
return;
}

if(this.chart){
this.chart.destroy();
}

this.chart=new Chart(ctx,{
type:'bar',
data:{
labels:["Aguardando filtro"],
datasets:[{
label:"Não conformes",
data:[0],
backgroundColor:"#cfd8dc"
}]
},
options:{
responsive:true,
plugins:{legend:{display:false}}
}
});

}

});
