google apps script - How can I get Selection in dashboard with ChartWrapper -
i´m trying event in google dashboard chartwrapper.
i need when select row can throw event , selected value.
can me or me how can it?
here´s code:
<script type="text/javascript" src="//www.google.com/jsapi"></script> <script type="text/javascript"> google.load('visualization', '1.1', {packages: ['controls']}); </script> <script type="text/javascript"> var data; var table; var dash_container; var mydashboard; var stringfilter; var mytable; function draw() { // see data visualization uses, browse // http://spreadsheets.google.com/ccc?key=pcqbetd-cptgxxxqig7vfiq data = new google.visualization.query( 'http://spreadsheets.google.com/tq?key=0ai3bbto5jfaodglusww0uvfvz3bdak1nyzvac0rpwgc&pub=1'); // send query callback function. data.send(handlequeryresponse); } //fin de draw function handlequeryresponse(response) { if (response.iserror()) { alert('error in query: ' + response.getmessage() + ' ' + response.getdetailedmessage()); return; } table = response.getdatatable(); // create dashboard. dash_container = document.getelementbyid('dashboard'), mydashboard = new google.visualization.dashboard(dash_container); // define stringfilter control 'name' column stringfilter = new google.visualization.controlwrapper({ 'controltype': 'stringfilter', 'containerid': 'filter', 'options': {'filtercolumnlabel': 'nombre'} }); // table visualization mytable = new google.visualization.chartwrapper({ 'charttype' : 'table', 'containerid' : 'table', 'view': {'columns': [0]} , 'datatable': table }); // register listener notified once dashboard ready. google.visualization.events.addlistener(mydashboard, 'ready', dashboardready); mydashboard.bind(stringfilter, mytable); mydashboard.draw(table); }
**here´s have problems, because can selection row
function dashboardready() { google.visualization.events.addlistener(mytable, 'select', function(event) { var selection = mytable.getchart().getselection(); // iterate on selected rows (var = 0; < selection.length; i++) { // selection[i].row var item = selection[i]; } alert('fila seleccionada es: '+item.row +' y la columna: '+item.column); }); } google.setonloadcallback(draw);
to that, need 2 things after chart drawn:
add 'ready' event listener chart wrapper;
add 'select' event listener table when chart wrapper ready.
so, add following 2 lines after mydashboard.draw(table);
in code
google.visualization.events.addlistener(mytable , 'ready', function(){ google.visualization.events.addlistener(mytable ,'select', tableselecthandler); }); function tableselecthandler(){ var selection = mytable.getchart().getselection(); alert(data.getvalue(selection[0].row,0)); }
there 3 seconds delay ready function triggered, due bug think, see here more details bug report of issue: https://code.google.com/p/google-visualization-api-issues/issues/detail?can=2&start=0&num=100&q=&colspec=id%20stars%20modified%20type%20status%20priority%20milestone%20owner%20summary&groupby=&sort=&id=1470
Comments
Post a Comment