Índice

Objetivo


Este guia tem por objetivo auxiliar os usuários a seguir o passo a passo necessário para identificação dos pontos onde é necessária a revisão e atualização do código, por conta da atualização de bibliotecas que tivemos. Mais uma medida para reforçar ainda mais a segurança do Fluig.

Identificação do que precisa ser ajustado


Na versão 1.8.2 do Fluig <VALIDAR>, por conta de uma vulnerabilidade, liberamos no Style Guide uma atualização dos plugins base do componente FLUIGC.chart, que são o Chart.js e o Gauge.js.

Na versão 2.9.4 do Chart.js, algumas dessas propriedades foram alteradas ou removidas, enquanto outras ainda são suportadas com pequenas modificações. Abaixo estão as informações para cada propriedade.

Legenda de alterações

Breaking Change: Alteração significativa que pode impactar o código existente, geralmente modificando a interface da API. Pode causar problemas em casos específicos.

Feature (Recurso): Adição à API que normalmente não afeta o código existente. Introduz novas funcionalidades, mas há a possibilidade de interações negativas com o código existente.

Deprecated (Descontinuado): Recurso ou API ainda presente, mas seu uso é desencorajado. Pode ser removido em futuras atualizações de versões principais.

Breaking changes


Breaking Change: Gráfico LineBar removido. Agora utilize o gráfico Mixed.

O gráfico `chart.lineBar(data, options)` foi removido. Agora o gráfico `chart.mixed(data, options)` deve ser usado em seu lugar. Exemplo:

var chart = FLUIGC.chart('#MY_SELECTOR');
// call the mixed function
var mixedChart = chart.mixed(data, options);

Breaking Change: Somente um evento para todos os gráficos.

Agora, quando você clica em alguma sessão do gráfico, todos eles emitem um mesmo evento, chamado `fluig.chart.click`. Os eventos abaixo foram removidos:

Exemplo:

$('YOUR_SELECTOR').on('fluig.chart.click', function(ev) {
  // Para saber qual é o chart, pegar pelo ev.chart.config.type
  console.log(ev.chart.config.type);
});

Breaking change: Nova estrutura de datasets para alguns gráficos

Os gráficos `polar`, `pie` e `doughnut` sofreram uma modificação em sua estrutura de datasets. O motivo foi para equalizar a estrutura de todos os gráficos. Exemplo:

// Estrutura antiga
var dataPolarOld = [{
  value: 300,
  label: 'bpm'
}, {
  value: 50,
  label: 'ecm'
}, {
  value: 100,
  label: 'social'
}];

// Estrutura nova
var dataPolarNew = {
  labels: ['bpm', 'ecm', 'social'],
  datasets: [{
    label: 'My First Dataset',
    data: [300, 50, 100]
  }]
};

Breaking change: Propriedades removidas na estrutura do dataset.

A estrutura geral de datasets dos gráficos mudaram. As propriedades `fillColor`, `strokeColor`, `highlightFill` e `highlightStroke` foram removidas. Agora deve ser usado as propriedades `backgroundColor`, `borderColor`, `hoverBackgroundColor` e `hoverBorderColor`. Exemplo:

var dataPie = {
  labels: ['bpm', 'ecm', 'social'],
  datasets: [{
    label: 'My First Dataset',
    data: [300, 50, 100],
    backgroundColor: ['#4CAF50', '#8BC34A', '#CDDC39'],
    hoverBackgroundColor: ['#45A049', '#7CB342', '#C0CA33'],
    borderColor: ['#4CAF50', '#8BC34A', '#CDDC39'],
    hoverBorderColor: ['#45A049', '#7CB342', '#C0CA33'],
  }]
};

Breaking change: Mudança para adicionar, remover ou atualizar dados nos gráficos.

Agora, para realizar qualquer alteração em um dado no gráfico, é necessário utilizar o código a seguir:

// Adiciona novos dados no gráfico
$('#btn-chart-line-add').on('click', function (e) {
  e.preventDefault();
  line.addData([40, 60], "August");
});

// Adiciona atualiza os dados no gráfico
$('#btn-chart-line-update').on('click', function (e) {
  e.preventDefault();
  line.data.datasets[0].data[2] = 50;
  line.update();
});

// Remove o último dado no gráfico
$('#btn-chart-line-remove').on('click', function (e) {
  e.preventDefault();
  line.removeData();
});

Alterações por gráfico:

Gráfico do tipo Line

PropriedadeSituaçãoOrientação
scaleShowGridLinesRemovidaPara controlar as linhas de grade, agora você deve usar as configurações dentro de scales.
scaleGridLineColorRemovidaUse as configurações dentro de scales.
scaleGridLineWidthRemovidaUse as configurações dentro de scales.
pointDotRemovidaUse point dentro de elements em dataset para controlar os pontos.
pointDotRadiusRemovidaUse radius dentro de point em elements no nível do conjunto de dados.
pointDotStrokeWidthRemovidaUse borderWidth dentro de point em elements no nível do conjunto de dados.
pointHitDetectionRadiusRemovidaUse hitRadius dentro de point em elements no nível do conjunto de dados.
datasetStrokeRemovidaUse borderColor dentro de datasets.
datasetFillRemovidaUse fill dentro de datasets.
legendTemplateRemovidaNão existe mais a propriedade legendTemplate. A lógica para personalizar a legenda agora deve ser feita na propriedade legend. Consulte a documentação para mais detalhes.


Gráfico do tipo Bar ou Horizontal Bar

PropriedadeSituaçãoOrientação
scaleShowGridLinesRemovidaUse as configurações dentro de scales para controlar as linhas de grade.
scaleGridLineColorRemovidaUse as configurações dentro de scales para definir a cor das linhas de grade.
scaleGridLineWidthRemovidaUse as configurações dentro de scales para definir a largura das linhas de grade.
barShowStrokeRemovidaUse borderColor dentro de datasets para controlar se as barras têm uma borda.
barStrokeWidthRemovidaUse borderWidth dentro de datasets para controlar a largura da borda das barras.
barDatasetSpacingRemovidaA versão 2.9.4 usa barPercentage e categoryPercentage dentro de scales para controlar o espaçamento entre barras e conjuntos de dados.
legendTemplateRemovidaNão existe mais a propriedade legendTemplate. A lógica para personalizar a legenda agora deve ser feita na propriedade legend. Consulte a documentação para mais detalhes.


Gráfico do tipo Radar

PropriedadeSituaçãoOrientação
scaleShowLineRemovidaUse as configurações dentro de scales para controlar a exibição das linhas do eixo.
angleShowLineOutRemovidaNão está mais disponível na versão 2.9.4. Considere usar outras propriedades em scales ou gridLines para obter o efeito desejado.
scaleShowLabelsRemovidaUse as configurações dentro de scales para controlar a exibição de rótulos.
angleLineColorRemovidaUse as configurações dentro de gridLines em scales para definir a cor das linhas de grade radiais.
pointLabelFontFamilyRemovidaUse as configurações dentro de ticks em scales para configurar a família da fonte.
pointLabelFontStyleRemovidaUse as configurações dentro de ticks em scales para configurar o estilo da fonte.
pointLabelFontSizeRemovidaUse as configurações dentro de ticks em scales para configurar o estilo da fonte.
pointLabelFontColorRemovidaUse as configurações dentro de ticks em scales para configurar a cor da fonte.
pointDotRemovidaUse point dentro de elements em dataset para controlar a exibição de pontos.
pointDotRadiusRemovidaUse radius dentro de point em elements no nível do conjunto de dados.
pointDotStrokeWidthRemovidaUse borderWidth dentro de point em elements no nível do conjunto de dados.
pointHitDetectionRadiusRemovidaUse hitRadius dentro de point em elements no nível do conjunto de dados.
datasetStrokeRemovidaUse borderColor dentro de datasets.
datasetStrokeWidthRemovidaUse borderWidth dentro de datasets.
datasetFillRemovidaUse fill dentro de datasets.
legendTemplateRemovidaNão existe mais a propriedade legendTemplate. A lógica para personalizar a legenda agora deve ser feita na propriedade legend. Consulte a documentação para mais detalhes.


Gráfico do tipo Polar

PropriedadeSituaçãoOrientação
scaleShowLabelBackdropRemovidaO recurso de fundo para rótulos de escala foi removido.
scaleBackdropColorRemovidaO fundo para rótulos de escala agora é controlado por backgroundColor em ticks dentro de scales.
scaleBackdropPaddingYRemovidaO preenchimento vertical para o fundo dos rótulos de escala agora é configurado por padding em ticks dentro de scales.
scaleBackdropPaddingXRemovidaO preenchimento horizontal para o fundo dos rótulos de escala agora é configurado por padding em ticks dentro de scales.
scaleShowLineRemovidaUse as configurações dentro de scales para controlar a exibição das linhas do eixo.
segmentShowStrokeRemovidaA propriedade de controle de traçado de segmento foi removida. O controle de borda agora é feito usando borderColor dentro de datasets.
segmentborderColorRemovidaUse borderColor dentro de datasets para controlar a cor da borda do segmento.
segmentStrokeWidthRemovidaUse borderWidth dentro de datasets para controlar a largura da borda do segmento.
animationStepsRemovidaA animação agora é controlada por animation em options.
animationEasingRemovidaUse animation em options para controlar a função de easing.
animateRotateRemovidaUse animate em options para controlar a animação de rotação.
animateScaleRemovidaUse animate em options para controlar a animação de escala.
legendTemplateRemovidaNão existe mais a propriedade legendTemplate. A lógica para personalizar a legenda agora deve ser feita na propriedade legend. Consulte a documentação para mais detalhes.


Gráfico do tipo Pie e Doughnut

PropriedadeSituaçãoOrientação
segmentShowStrokeRemovidaA propriedade de controle de traçado de segmento foi removida. O controle de borda agora é feito usando borderColor dentro de datasets.
segmentborderColorRemovidaUse borderColor dentro de datasets para controlar a cor da borda do segmento.
segmentStrokeWidthRemovidaUse borderWidth dentro de datasets para controlar a largura da borda do segmento.
animationStepsRemovidaA animação agora é controlada por animation em options.
animationEasingRemovidaUse animation em options para controlar a função de easing.
animateRotateRemovidaUse animate em options para controlar a animação de rotação.
animateScaleRemovidaUse animate em options para controlar a animação de escala.
legendTemplateRemovidaNão existe mais a propriedade legendTemplate. A lógica para personalizar a legenda agora deve ser feita na propriedade legend. Consulte a documentação para mais detalhes.