CRM-17663 - Fix race condition when loading OFC charts on dashboard
authorColeman Watts <coleman@civicrm.org>
Wed, 10 Aug 2016 15:55:18 +0000 (11:55 -0400)
committerColeman Watts <coleman@civicrm.org>
Fri, 12 Aug 2016 03:36:25 +0000 (23:36 -0400)
templates/CRM/Contribute/Form/ContributionCharts.tpl
templates/CRM/Report/Form/Layout/Graph.tpl

index 9daf832bb98229850ef23a82e0b7c9bc6f295ebb..c1d7e0c2201517e116784587edd3eca791ee902f 100644 (file)
 <script type="text/javascript">
 
   CRM.$(function($) {
-      buildChart( );
+    var chartData = {/literal}{$openFlashChartData}{literal};
+    $.each(chartData, function(chartID, chartValues) {
+      createSWFObject(chartID, chartValues.divName, chartValues.size.xSize, chartValues.size.ySize, 'loadData');
+    });
   });
 
-  function buildChart( ) {
-     var chartData = {/literal}{$openFlashChartData}{literal};
-     cj.each( chartData, function( chartID, chartValues ) {
-
-   var xSize   = eval( "chartValues.size.xSize" );
-   var ySize   = eval( "chartValues.size.ySize" );
-   var divName = eval( "chartValues.divName" );
-
-   createSWFObject( chartID, divName, xSize, ySize, 'loadData' );
-     });
-  }
-
   function loadData( chartID ) {
      var allData = {/literal}{$openFlashChartData}{literal};
-     var data    = eval( "allData." + chartID + ".object" );
-     return JSON.stringify( data );
+     return JSON.stringify(allData[chartID].object);
   }
 
   function byMonthOnClick( barIndex ) {
index 528a4da5f65f3eaaa811c360df83c729c1189919..5d770b78571526fed53a3458caafdbc100f15919 100644 (file)
        //fetch object and 'POST' image
        swfobject.getObjectById("open_flash_chart_{/literal}{$uniqueId}{literal}").post_image(url, true, false);
      });
-   });
 
-  function buildChart( ) {
-     var chartData = {/literal}{$openFlashChartData}{literal};
-     cj.each( chartData, function( chartID, chartValues ) {
-       var xSize   = eval( "chartValues.size.xSize" );
-       var ySize   = eval( "chartValues.size.ySize" );
-       var divName = {/literal}"open_flash_chart_{$uniqueId}"{literal};
+     function buildChart( ) {
+       var chartData = {/literal}{$openFlashChartData}{literal};
+       $.each( chartData, function( chartID, chartValues ) {
+         var divName = {/literal}"open_flash_chart_{$uniqueId}"{literal};
+         var loadDataFunction  = {/literal}"loadData{$uniqueId}"{literal};
 
-       var loadDataFunction  = {/literal}"loadData{$uniqueId}"{literal};
-       createSWFObject( chartID, divName, xSize, ySize, loadDataFunction );
-     });
-  }
+         createSWFObject( chartID, divName, chartValues.size.xSize, chartValues.size.ySize, loadDataFunction );
+       });
+     }
+   });
 
   function loadData{/literal}{$uniqueId}{literal}( chartID ) {
       var allData = {/literal}{$openFlashChartData}{literal};
-      var data    = eval( "allData." + chartID + ".object" );
-      return JSON.stringify( data );
+      return JSON.stringify(allData[chartID].object);
   }
 </script>
 {/literal}