App\Http\Controllers\Laralum\Laralum::geoChart PHP Метод

geoChart() публичный статический Метод

public static geoChart ( $title, $element_label, $data )
    public static function geoChart($title, $element_label, $data)
    {
        $id = Laralum::randomString();
        $countries = Laralum::countries();
        $default_color = Laralum::settings()->header_color;
        // Get the max / min index
        $max = 0;
        $min = $data[0][1];
        foreach ($data as $dta) {
            if ($dta[1] > $max) {
                $max = $dta[1];
            } elseif ($dta[1] < $min) {
                $min = $dta[1];
            }
        }
        if (Laralum::settings()->geo_chart_source == 'highcharts') {
            $graph = "\n                <script type='text/javascript'>\n                    \$(function () {\n\n                        // Initiate the chart\n                        \$('#{$id}').highcharts('Map', {\n\n                            title : {\n                                text : '{$title}'\n                            },\n\n                            mapNavigation: {\n                                enabled: true,\n                                enableDoubleClickZoomTo: true\n                            },\n\n                            colorAxis: {\n                                min: {$min},\n                                minColor: '#E0E0E0',\n                                max: {$max},\n                                maxColor: '{$default_color}',\n                            },\n\n                            series : [{\n                                data : [";
            foreach ($data as $dta) {
                $e = $dta[0];
                $v = $dta[1];
                $graph .= "{'code': '{$e}', 'value': {$v}},";
            }
            $graph .= "\n                                ],\n                                mapData: Highcharts.maps['custom/world'],\n                                joinBy: ['iso-a2', 'code'],\n                                name: '{$element_label}',\n                                states: {\n                                    hover: {\n                                        color: '#BADA55'\n                                    }\n                                },\n                            }]\n                        });\n                    });\n                </script>\n                <div id='{$id}'></div>\n            ";
        } else {
            $graph = "\n                <script type='text/javascript'>\n                  google.charts.setOnLoadCallback(drawRegionsMap);\n\n                  function drawRegionsMap() {\n\n                    var data = google.visualization.arrayToDataTable([\n                        ['Country', '{$element_label}'],\n                      ";
            foreach ($data as $dta) {
                $e = $countries[$dta[0]];
                $v = $dta[1];
                $graph .= "['{$e}', {$v}],";
            }
            $graph .= "\n                    ]);\n\n                    var options = {\n                      colorAxis: {colors: ['#E0E0E0', '{$default_color}']},\n                      datalessRegionColor: '#e0e0e0',\n                      defaultColor: '#e0e0e0',\n                    };\n\n                    var chart = new google.visualization.GeoChart(document.getElementById('{$id}'));\n\n                    chart.draw(data, options);\n                  }\n                </script>\n                <center><b style='font-size: 18px;'>{$title}</b><br><br></center>\n                <div id='{$id}'></div>\n            ";
        }
        return $graph;
    }