@@ -39,6 +39,10 @@ var __visualizer_chart_images = [];
39
39
function renderSpecificChart ( id , chart ) {
40
40
var render , container , series , data , table , settings , i , j , row , date , axis , property , format , formatter ;
41
41
42
+ if ( $ ( '#' + id ) . hasClass ( 'visualizer-chart-loaded' ) ) {
43
+ return ;
44
+ }
45
+
42
46
if ( chart . library !== 'google' ) {
43
47
return ;
44
48
}
@@ -314,6 +318,13 @@ var __visualizer_chart_images = [];
314
318
gv . events . addListener ( render , 'ready' , function ( ) {
315
319
var arr = id . split ( '-' ) ;
316
320
__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
+
317
328
try {
318
329
if ( typeof render . getImageURI !== 'undefined' ) {
319
330
var img = render . getImageURI ( ) ;
@@ -383,7 +394,8 @@ var __visualizer_chart_images = [];
383
394
384
395
function render ( ) {
385
396
for ( var id in ( all_charts || { } ) ) {
386
- if ( document . getElementById ( id ) . offsetParent !== null ) {
397
+ var chartElement = document . getElementById ( id ) ;
398
+ if ( chartElement && chartElement . offsetParent ) {
387
399
renderChart ( id ) ;
388
400
}
389
401
}
@@ -401,7 +413,7 @@ var __visualizer_chart_images = [];
401
413
402
414
if ( $ ( '.visualizer-hidden-container' ) . length ) {
403
415
setInterval ( function ( ) {
404
- $ ( '.visualizer-hidden-container' ) . find ( ".visualizer-front" ) . resize ( ) ;
416
+ $ ( '.visualizer-hidden-container' ) . find ( ".visualizer-front:not(.visualizer-chart-loaded) " ) . resize ( ) ;
405
417
} , 500 ) ;
406
418
}
407
419
} ) ;
0 commit comments