Ciao a tutti,
sto sviluppando un'applicazione gestionale con laravel 8 e nella quale bisogno di inserire dei grafici.
I grafici sono inseriti mediante degli script js presi dal mio template (per questo ho aperto la discussione qui nella sezione Js, chiedo scusa se ho sbagliato).
I dati che passo al grafico sono sotto forma di array (allego la struttura con immagine).
Quando nell'array non è presente un mese, vuol dire che non ha pagamenti associati.
Il mio problema è verificare se vi sono associati pagamenti a un mese, e se non associati passare 0 al grafico, e per fare questo ho utilizzato l'operatore ternario.
Il problema è che quando il valore dell'array non è settato, ottengo errore di indice non esistente anzich� passare alla condizione 0.
Avete suggerimenti su come poterlo risolvere?
Vi allego il codice e spero di essere stato chiaro :-)
codice:
@push('custom_scripts')
<script>
   
//Codice per popolare il grafico
    var screenWidth = $(window).width();

    var setChartWidth = function() {
        if (screenWidth <= 768) {
            var chartBlockWidth = 0;
            chartBlockWidth = (screenWidth < 300) ? screenWidth : 300;
            jQuery('.morris_chart_height').css('min-width', chartBlockWidth - 31);
        }
    }
// VALORI HARD CODED SOLO A FINI DI TEST DI STAMPA A VIDEO DEL GRAFICO
// VANNO POI MODIFICATI PER ESSERE DINAMICI
//console.log($anno0);
    let Data = [{
          y: 'Gennaio',
          a: "{{isset($anno0['Jan'])}}" ? parseFloat("{{ $anno0['Jan']) }}", 10) : 0, //qui da errore nel parse float
          b: "{{isset($anno1['Jan'])}}" ? parseFloat("{{ isset($anno1['Jan']) }}", 10) : 0,
          c: "{{isset($anno2['Jan'])}}" ? parseFloat("{{ $anno2['Jan'] }}", 10) : 0,
        }, {
          y: 'Febbraio',
          a: "{{isset($anno0['Feb'])}}" ? parseFloat("{{ isset($anno0['Feb']) }}", 10) : 0,
          b: "{{isset($anno1['Feb'])}}" ? parseFloat("{{ $anno1['Feb'] }}", 10) : 0,
          c: "{{isset($anno2['Feb'])}}" ? parseFloat("{{ isset($anno2['Feb']) }}", 10) : 0,
        }, {
          y: 'Marzo',
          a: "{{isset($anno0['Mar'])}}" ? parseFloat("{{ isset($anno0['Mar']) }}", 10) : 0,
          b: "{{isset($anno1['Mar'])}}" ? parseFloat("{{ isset($anno1['Mar']) }}", 10) : 0,
          c: "{{isset($anno2['Mar'])}}" ? parseFloat("{{ isset($anno2['Mar']) }}", 10) : 0,
        }, {
          y: 'Aprile',
          a: "{{isset($anno0['Apr'])}}" ? parseFloat("{{ $anno0['Apr'] }}", 10) : 0,
          b: "{{isset($anno1['Apr'])}}" ? parseFloat("{{ isset($anno1['Apr']) }}", 10) : 0,
          c: "{{isset($anno2['Apr'])}}" ? parseFloat("{{ isset($anno2['Apr']) }}", 10) : 0,
        }];

        var barChart = Morris.Bar({
        element: 'morris_bar',
        data: Data,
        xkey: 'y',
        ykeys: ['a', 'b', 'c'],
        labels: ['{{$anni[0]}}', '{{$anni[1]}}', '{{$anni[2]}}'],
        barColors: ['#3a7afe', '#10ca93', '#ff9f00'],
        hideHover: 'auto',
        gridLineColor: 'rgba(80, 63, 88, 0.56)',
        resize: true,
        barSizeRatio: 0.35,
      }); 

</script>
@endpush
Il mio array che passo per popolare il grafico:
reportgraph (1).png

Nel codice arrivo fino al mese di aprile altrimenti non posso postare il messaggio che diventa troppo lungo, ma semplicemente i mesi sono tutti e 12.

Grazie a tutti per l'aiuto :-)