function makeBarChart()

in source/web_site/js/dash.js [76:117]


    function makeBarChart(metricType, detailItems){

        if(!retained_chart_data.has(metricType)){
            var labels = [];
            var datapoints = [];
            var bgcolor = [];
            retained_chart_data.set(metricType, { labels: labels, data: datapoints, backgroundColor: bgcolor});
        }
        var elem = document.getElementById(metricType);
        var ctx = elem.getContext("2d");

        for (var i=0; i<detailItems.length; i++) {
            var idx = retained_chart_data.get(metricType).labels.findIndex( x => x == detailItems[i].METRICITEM);
            if(idx == -1){
                retained_chart_data.get(metricType).labels.push(detailItems[i].METRICITEM);
                retained_chart_data.get(metricType).data.push(detailItems[i].UNITVALUEINT == null ? detailItems[i].UNITVALUEFLOAT : detailItems[i].UNITVALUEINT);
                retained_chart_data.get(metricType).backgroundColor.push(dynamicColors(i));
                console.log('Added NEW for ' + detailItems[i].METRICITEM);
            } else {
                retained_chart_data.get(metricType).data[idx] = detailItems[i].UNITVALUEINT == null ? detailItems[i].UNITVALUEFLOAT : detailItems[i].UNITVALUEINT;
                console.log('EXISTING for ' + detailItems[i].METRICITEM);
            }
        }
        var config = {
            type: 'bar',
            data: {
                labels: retained_chart_data.get(metricType).labels,
                datasets: [{
                  data: retained_chart_data.get(metricType).data,
                  backgroundColor: retained_chart_data.get(metricType).backgroundColor
                }]
            },
            options: {
                legend: {
                    display: false
                }
            }
        };
        elem.chart && elem.chart.destroy();
        var chart = new Chart(ctx,config);
        elem.chart = chart;
    }