Author: croberts Date: 2011-11-23 18:59:23 +0000 (Wed, 23 Nov 2011) New Revision: 5148
Modified: branches/noflash/cumin/resources/app.js Log: Fixing issue where a chart would update and lose its zoom. For now, when zoomed-in on a chart, it will not update. Updates will resume when the zoom level is reset.
Modified: branches/noflash/cumin/resources/app.js =================================================================== --- branches/noflash/cumin/resources/app.js 2011-11-22 20:48:46 UTC (rev 5147) +++ branches/noflash/cumin/resources/app.js 2011-11-23 18:59:23 UTC (rev 5148) @@ -610,21 +610,23 @@ } var divName = $(holder).get('id'); if(allCharts[divName]) { - var parent = $(divName).getParent(); - var newDiv = $(divName); - allCharts[divName].canvasManager.freeAllCanvases(); - if (allCharts[divName].eventCanvas) { - allCharts[divName].eventCanvas._elem.unbind(); + if(!allCharts[divName].plugins.cursor._zoom.isZoomed) { + var parent = $(divName).getParent(); + var newDiv = $(divName); + allCharts[divName].canvasManager.freeAllCanvases(); + if (allCharts[divName].eventCanvas) { + allCharts[divName].eventCanvas._elem.unbind(); + } + // Couple of posts on Stack Overflow indicate that empty() doesn't + // always cear up the dom and release memory. Sometimes setting + // innerHTML property to null is needed. Particularly on IE, may + // have to directly set it to null, bypassing jQuery. + allCharts[divName].target.empty(); + allCharts[divName].target[0].innerHTML = ''; + allCharts[divName].destroy(); + newDiv.inject(parent); + allCharts[divName] = $j.jqplot(holder, dataContainer['y_coordinate_values'],chartOptionsObject); } - // Couple of posts on Stack Overflow indicate that empty() doesn't - // always cear up the dom and release memory. Sometimes setting - // innerHTML property to null is needed. Particularly on IE, may - // have to directly set it to null, bypassing jQuery. - allCharts[divName].target.empty(); - allCharts[divName].target[0].innerHTML = ''; - allCharts[divName].destroy(); - newDiv.inject(parent); - allCharts[divName] = $j.jqplot(holder, dataContainer['y_coordinate_values'],chartOptionsObject); } else { allCharts[divName] = $j.jqplot(holder, dataContainer['y_coordinate_values'],chartOptionsObject); startChartMonitor(divName);