Почему в Google Графиках отсутствует текст легенды при загрузке во второй раз? - PullRequest
0 голосов
/ 01 февраля 2019

Я использую AJAX для загрузки диаграмм Google.всякий раз, когда нажимается ссылка, запускается метод ajax, который загружает диаграммы Google (линии, круговые диаграммы).При первой загрузке работает нормально.Но во второй раз текст легенды, кажется, отсутствует во всех диаграммах.

код такой, как показано ниже:


function assetReport(assetId) {
         AUI().use('aui-io-request', function(A){
            A.io.request('<%=reportForAssetURL.toString()%>',
                                    {
                                        method : 'post',
                                        data : {
                                            <portlet:namespace/>id : assetId
                                        },
                                        on : {
                                            success : function() {

                                                console.log(this.get('responseData'));

                                                var json = JSON.parse(this.get('responseData'));

                                                 google.charts.load('current', {'packages':['corechart']});
                                                  google.charts.setOnLoadCallback(drawChart);

                                                  function drawChart() {

                                                    var data = new google.visualization.DataTable();

                                                    var options = {
                                                            legend:'top',
                                                      title: '',
                                                      'width':500,
                                                         'height':500
                                                    };

                                                   data.addColumn('string', 'word');
                                                        data.addColumn('number', 'count');

                                                        for (var i = 0; i < json.pie.length; i++) {
                                                            data.addRow([json.pie[i].name, json.pie[i].value]);
                                                        }


                                                        var chart = new google.visualization.PieChart(document.getElementById('container1'));
                                                        chart.draw(data, options);  
                                                  }

                                                    /* val= json.guage.value;
                                                    ser = json.guage.name;
                                                    guageChart(val,ser); */

                                                    google.charts.load('current', {packages: ['corechart', 'line']});
                                                    google.charts.setOnLoadCallback(drawCrosshairs);

                                                    function drawCrosshairs() {
                                                          var data = new google.visualization.DataTable();
                                                          data.addColumn('string', 'X');
                                                          data.addColumn('number', 'usage count');


                                                          for (var i = 0; i < json.line.length; i++) {
                                                                data.addRow([json.line[i].name, json.line[i].value]);
                                                            }


                                                          var options = {
                                                          legend:'top',
                                                            hAxis: {
                                                              title: 'Days',
                                                              slantedTex: 'false'
                                                            },
                                                            vAxis: {
                                                              title: 'Usage Count'
                                                            },
                                                            colors: ['#a52714', '#097138'],
                                                            crosshair: {
                                                              color: '#000',
                                                              trigger: 'selection'
                                                            },
                                                              'width':500,
                                                              'height':500
                                                          };

                                                          var chart = new google.visualization.LineChart(document.getElementById('container21'));

                                                          chart.draw(data, options);
                                                          chart.setSelection([{row: 38, column: 1}]);

                                                        }
                                                $('#modalReport1').modal('show');

                                            }
                                        }
                                    });
                        }); 
} 

при нажатии на ссылку, которая загружает assetReport () дляво второй раз мои диаграммы появляются без текста легенды.

...