This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Google Chart API
#14
It's possible that chart instance can be created multiple times. Use this to create chart only once. I've removed some parts of the code to make it more readable.
Code:
$(function(){
  // load chart JS
  $.getScript('https://www.gstatic.com/charts/loader.js', function() {
    var chart4, chart5;
    
    google.charts.load('current', {'packages':['gauge', 'corechart'],language: 'es'});
  
    
    $('body').on('showplan', function(event, id) {
      if (id == 21) {
        google.charts.setOnLoadCallback(drawGraphBC);
      }
      else if (id == 24) {
        google.charts.setOnLoadCallback(drawSolcast);
      }
    }).trigger('showplan', [ currentPlanId ]);
    

    //------------------------------------------------------------------------------------------------
    //-- plan21, graph consumo BC
    //---  
    function drawGraphBC() {  
      if (!chart4) {
        // create empty element and add it to plan with ID=21
        var graphEl = $('<div></div>').css({
          position: 'absolute',
          width: 1000, height: 350,
          top: 20,  left: 20
        }).appendTo('#plan-21');
        chart4 = new google.visualization.ComboChart(graphEl.get(0));
      }
      
      $.getJSON('/user/data.lp', function(jsonData) {
        var data4 = new google.visualization.arrayToDataTable(jsonData);
        var opt4 = { ... };

        chart4.draw(data4, opt4);
      }); //getJSON
    }; //drawWCons    

    //------------------------------------------------------------------------------------------------
    //-- plan24, grafica weather
    //---
    function drawSolcast() {
      if (!chart5) {
        // create empty element and add it to plan with ID=24
        var graphSol = $('<div></div>').css({
          position: 'absolute',
          width: 1000, height: 350,
          top: 400, left: 20,
          border: 'solid'
        }).appendTo('#plan-24');
        chart5 = new google.visualization.ComboChart(graphSol.get(0));
      }
      
      $.getJSON('/user/data2.lp', function(jsonObj) {
        var data5 = new google.visualization.DataTable();
        var opt5 = { ... };
        var date_formatter = new google.visualization.DateFormat({ pattern: 'dd MMM, HH:mm' });
        date_formatter.format(data5, 0);

        chart5.draw(data5, opt5);
      }); //getJSON
    }; //drawSolcast    
  }); // getscript
});
Reply


Messages In This Thread
Google Chart API - by andrepneves@gmail.com - 17.05.2018, 11:47
RE: Google Chart API - by admin - 17.05.2018, 12:28
RE: Google Chart API - by admin - 21.05.2018, 12:29
RE: Google Chart API - by admin - 25.05.2018, 06:39
RE: Google Chart API - by domotiqa - 28.02.2020, 06:54
RE: Google Chart API - by toujour - 31.03.2020, 09:07
RE: Google Chart API - by Daniel - 31.03.2020, 09:35
RE: Google Chart API - by toujour - 31.03.2020, 13:00
RE: Google Chart API - by jose_dli - 22.02.2021, 19:50
RE: Google Chart API - by admin - 23.02.2021, 08:50
RE: Google Chart API - by jose_dli - 23.02.2021, 10:05
RE: Google Chart API - by admin - 23.02.2021, 10:20
RE: Google Chart API - by jose_dli - 23.02.2021, 11:29
RE: Google Chart API - by jose_dli - 24.02.2021, 18:21
RE: Google Chart API - by legolas2069 - 06.03.2023, 08:01
RE: Google Chart API - by admin - 06.03.2023, 12:20

Forum Jump: