App\Http\Controllers\Laralum\Laralum::lineChart PHP Method

lineChart() public static method

public static lineChart ( $title, $element_label, $labels, $data, $color = null )
    public static function lineChart($title, $element_label, $labels, $data, $color = null)
    {
        $id = Laralum::randomString();
        $default_color = Laralum::settings()->header_color;
        if (Laralum::settings()->line_chart_source == 'chartjs') {
            $graph = "\n            <canvas id='{$id}'></canvas>\n            <script>\n            \tvar ctx = document.getElementById('{$id}');\n            \tvar data = {\n            \t    labels: [";
            foreach ($labels as $label) {
                $graph .= "'" . $label . "',";
            }
            $graph .= "],\n            \t    datasets: [\n            \t        {\n            \t            label: '{$element_label}',\n            \t            lineTension: 0.3,\n                            ";
            if ($color) {
                $graph .= "borderColor: '{$color}',";
            } else {
                $graph .= "borderColor: '{$default_color}',";
            }
            $graph .= "\n            \t            data: [";
            foreach ($data as $dta) {
                $graph .= $dta . ',';
            }
            $graph .= "],\n            \t        }\n            \t    ]\n            \t};\n\n            \tvar myLineChart = new Chart(ctx, {\n            \t\ttype: 'line',\n            \t\tdata: data,\n            \t\toptions: {\n            \t\t\ttitle: {\n            \t            display: true,\n                            text: '{$title}',\n            \t\t\t\tfontSize: 20,\n            \t        }\n            \t    }\n            \t});\n            </script>\n            ";
        } elseif (Laralum::settings()->line_chart_source == 'highcharts') {
            $graph = "\n            <script type='text/javascript'>\n                \$(function () {\n                    \$('#{$id}').highcharts({\n                        title: {\n                            text: '{$title}',\n                            x: -20 //center\n                        },\n                        xAxis: {\n                            categories: [";
            foreach ($labels as $label) {
                $graph .= "'" . $label . "',";
            }
            $graph .= "]\n                        },\n                        yAxis: {\n                            title: {\n                                text: '{$element_label}'\n                            },\n                            plotLines: [{\n                                value: 0,\n                                height: 0.5,\n                                width: 1,\n                                color: '#808080'\n                            }]\n                        },\n                        plotOptions: {\n                            series: {\n                                color: '";
            if ($color) {
                $graph .= $color;
            } else {
                $graph .= $default_color;
            }
            $graph .= "'\n                            }\n                        },\n                        legend: {\n                            layout: 'vertical',\n                            align: 'right',\n                            verticalAlign: 'middle',\n                            borderWidth: 0\n                        },\n                        series: [{\n                            name: '{$element_label}',\n                            data: [";
            foreach ($data as $dta) {
                $graph .= $dta . ',';
            }
            $graph .= "]\n                        }]\n                    });\n                });\n                </script>\n                <div id='{$id}'></div>\n            ";
        } else {
            $graph = "\n                <script type='text/javascript'>\n\n                google.charts.setOnLoadCallback(drawChart);\n\n                function drawChart() {\n                    var data = google.visualization.arrayToDataTable([\n                        ['Element', '{$element_label}'],\n                        ";
            $i = 0;
            foreach ($data as $dta) {
                $e = $labels[$i];
                $v = $dta;
                $graph .= "['{$e}', {$v}],";
                $i++;
            }
            $graph .= "\n                    ]);\n\n                    var options = {\n                        fontSize: 12,\n                        title: '{$title}',\n                        ";
            if ($color) {
                $graph .= "colors: ['{$color}'],";
            } else {
                $graph .= "colors: ['{$default_color}'],";
            }
            $graph .= "\n                        legend: { position: 'top', alignment: 'end' }\n                    };\n\n                    var chart = new google.visualization.LineChart(document.getElementById('{$id}'));\n\n                    chart.draw(data, options);\n                }\n                </script>\n\n                <div id='{$id}'></div>\n            ";
        }
        return $graph;
    }