@@ -39,6 +39,10 @@ var __visualizer_chart_images = [];
3939 function renderSpecificChart ( id , chart ) {
4040 var render , container , series , data , table , settings , i , j , row , date , axis , property , format , formatter ;
4141
42+ if ( $ ( '#' + id ) . hasClass ( 'visualizer-chart-loaded' ) ) {
43+ return ;
44+ }
45+
4246 if ( chart . library !== 'google' ) {
4347 return ;
4448 }
@@ -314,6 +318,13 @@ var __visualizer_chart_images = [];
314318 gv . events . addListener ( render , 'ready' , function ( ) {
315319 var arr = id . split ( '-' ) ;
316320 __visualizer_chart_images [ arr [ 0 ] + '-' + arr [ 1 ] ] = '' ;
321+
322+ if ( render . container && $ ( render . container ) . is ( ':visible' ) ) {
323+ if ( $ ( render . container ) . parents ( 'div' ) . next ( '#sidebar' ) . length === 0 ) {
324+ $ ( render . container ) . addClass ( 'visualizer-chart-loaded' ) ;
325+ }
326+ }
327+
317328 try {
318329 if ( typeof render . getImageURI !== 'undefined' ) {
319330 var img = render . getImageURI ( ) ;
@@ -383,7 +394,8 @@ var __visualizer_chart_images = [];
383394
384395 function render ( ) {
385396 for ( var id in ( all_charts || { } ) ) {
386- if ( document . getElementById ( id ) . offsetParent !== null ) {
397+ var chartElement = document . getElementById ( id ) ;
398+ if ( chartElement && chartElement . offsetParent ) {
387399 renderChart ( id ) ;
388400 }
389401 }
@@ -401,7 +413,7 @@ var __visualizer_chart_images = [];
401413
402414 if ( $ ( '.visualizer-hidden-container' ) . length ) {
403415 setInterval ( function ( ) {
404- $ ( '.visualizer-hidden-container' ) . find ( ".visualizer-front" ) . resize ( ) ;
416+ $ ( '.visualizer-hidden-container' ) . find ( ".visualizer-front:not(.visualizer-chart-loaded) " ) . resize ( ) ;
405417 } , 500 ) ;
406418 }
407419 } ) ;
0 commit comments