diff --git a/examples/express/views/partials/simple.jade b/examples/express/views/partials/simple.jade index c7e9e36..13701b9 100644 --- a/examples/express/views/partials/simple.jade +++ b/examples/express/views/partials/simple.jade @@ -7,4 +7,4 @@ div#simple h4 server rendering a.refresh.remote(href: '#') refresh chart - div#chart-twin \ No newline at end of file + div#chart-twin diff --git a/package.json b/package.json index f633581..f461a48 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "drawback", "description": "The drawback framework provides a seamless way to render 2D drawings on the client side using HTML5 technologies with a server-side backend.", - "version": "0.1.0", + "version": "0.1.1", "author": "Damian Suarez ", "contributors": [ "Guillermo Rauch " diff --git a/public/js/drawback.js b/public/js/drawback.js index 3b9d2b2..997e609 100644 --- a/public/js/drawback.js +++ b/public/js/drawback.js @@ -1,7 +1,7 @@ (function($){ // *** DrawBack *** - // v0.0.9 + // v0.1.1 DrawBack = { // all functions registered into the _stack array @@ -113,10 +113,10 @@ // forceServer property // if set to true it ignores browser rendering and always does server side rendering. - if(objDraw.options.forceServer) - self.renderFallback(objDraw); - else + if(!objDraw.options.forceServer) self.process(objDraw); + else + self.renderFallback(objDraw); } }); }, @@ -137,18 +137,19 @@ , _url = this._modUrl(url, objDraw); // create obj element image - var img = new Image(); + var img = $(''); - img.src = _url + (refresh ? '&rnd='+(+new Date) : ''); + $(img).attr('src', _url + (refresh ? '&rnd='+(+new Date) : '')); - img.onload = function() { - $(objDraw.el).removeClass('loading').empty().append(img); + $(img).load(function() { + $(objDraw.el).find('img').remove(); + $(objDraw.el).removeClass('loading').append(img); - if(objDraw.options.onImgReady) objDraw.options.onImgReady(objDraw); + if(objDraw.options.onChartReady) objDraw.options.onChartReady(objDraw, true); // fireEvent chartReady $(objDraw).trigger('chartReady', [objDraw.data, true]); - } + }); }, @@ -163,16 +164,14 @@ // browser canvas support ? if(this.canvasSupport) { + $(objDraw.el).find('canvas').remove(); + // refresh canvas response into element $(objDraw.el).addClass(cssClass); if(objDraw.options.autoInject) { - var canvas = objDraw.fn(data, objDraw.el) - , exC = $(objDraw.el).find('canvas'); - - // append/replace canvas object - if(exC.length) exC.replaceWith(canvas) - else $(objDraw.el).append(canvas); + var canvas = objDraw.fn(data, objDraw.el); // sometimes the plugin injects automatically the canvas object + if(!$(objDraw.el).find('canvas').length) $(objDraw.el).append(canvas); } // fireEvent chartReady