shamasis

Members
  • Content count

    231
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by shamasis


  1. Hi,

     

    Is there any solution for this, what we have discussed above?

     

    As, our requirement is to export multiple charts in one file even if user is in ipad or mobile or any other device which doesnot support flash and also we want to include some text within the exported Image/Jpeg/PDF of all charts, that is in the form.

     

    If you have any solution, kindly let me know.

     

     

    Thanks,

    Rohit

     

    Hi,

     

    Since charts are rendering fine on browser and even on Batik export component (which is very picky with SVG syntax,) I think (from a preliminary look) its a bug with canvg. Hope you try and take up the issue with canvg team as well. In the meanwhile, I will see if I can look into it - but I don't see a scope in the coming months.


  2. I am observing the instability of the axis. By any chance can you set yAxisMaxValue to stabilise the axis and turn off auto scaling (unless aug-scaling is required)?

     

    I have attached a sample with evaluation version of FusionCharts version 3, 3, 1, "sr2", 20420. This is a newer build on the same, if you notice, in this I am resizing the chart after 4 seconds and the plot does get out of canvas for an instance and on the next update it gets back in. Are you seeing the same in your environment or in your case the plot is permanently staying out of canvas? Note that in the sample shows a reduced effect of the bug you are reporting.

     

    I also attached a screencast: http://screencast.com/t/nxrJMfvH

     

    Give me your thoughts.

     

    PS: The sample needs to be run from a server and the data-stream file is in PHP. In case your server is not PHP, the streamer code can be very simply ported to your webserver language.

    rt-resize-01.zip


  3. Hey, a way to stop this is to find and replace a line in FusionCharts.HC.js (for the latest 3.3.1 SR2 version.)

    // search: 
    e.prototype.constructor=e;k.prototype={dispose:function(){var d=this.container,e;
    
    // and replace with
    e.prototype.constructor=e;k.prototype={dispose:function(){var d=this.parentContainer,e;

    If you have the source code, locate the definition of SmartLabelManager.prototye and dive into the dispose function. On the 2nd line in the function, replace container = label.container with container = label.parentContainer.


  4. I'm pleased to hear you've fixed this internally.

     

    I look forward to hearing from you when you release the fix.

     

    Charles.

     

     

    If you are using FusionCharts.js without the source code, you can lookup the following line in your obfuscated FusionCharts.js assuming its 3.3.1-release (any other version will have slight variance, on other version, but searching with the text "25081843" should get you near.)

    a.renderer.dispose(this);window[this.id]!==void 0&&a.raiseError(this,"25081843",

    and replace it with 

    a.renderer.dispose(this);window[this.id]=undefined;window[this.id]!==void 0&&a.raiseError(this,"25081843",

    If you want to make changes in unobfuscated source code, mail to [email protected] with reference to this forum post and you would be helped. :)


  5. Yea, this and a series that contains all NULL data both appear to be a bugs IMHO.

    Sorry to disappoint, but both are intended! But I do see your point of showing the legend item of empty datasets. Let me see if where we can put it up on our roadmap. :-) Haritha will keep you posted here.

     

    Regarding null data not connecting until a preceding non null data is found - a good question to ask ourselves would be where on y-axis will this line project? If its zero it would imply that there is a zero value to start. If it's a straight line parallel to x-axis with equation y=n (n being the non-null point value) it would still falsely indicate that all values from x=0 is n ... that again is misleading visualisation.

     

    As such connecting null points are only mathematically correct when there are two plotted non-null points between them. :)


  6. Let me check feasibility and revert. It might not be simple upfront since the chart's purpose itself is to calculate from value and has been designed accordingly. Will revert.

     

    Since you're already doing the calculation, I presume providing it as a comma separated five number summary in a specified order is a good way for data input?

     

    Finally, can you check and let me know if your license has unobfuscated source code?


  7. Even if you encode your links, disabling this encoding exposes you to cross site scripting attack. As such there is no way to turn this off as a user configuration.

     

    If you have the source files, you may modify XSS checking function within our link parser (only adviseable if you are running the charts within trusted intranet or closed private environment.)

     

    Discussing this here is not a good idea too. I would still suggest you do a double decoding of the link as that should solve your problem.


  8. The difference is primarily because our JS variant of charts tries to minimise needless pre-encoding and also uses .encodeURIComponent API to encode strings.

     

    encodeURIComponent has support to encode extended UTF charset, which is very important for multilingual support.

     

    Also, there is another layer of encoding that is done by flash player while it communicates with JS on a page. We have no control on the same.

     

    Try running unescape or decodeUriComponent on the links parameters in your SubmitForm function and that should unify the outputs. The idea behind this is that a string that cannot be further decoded will remain unchanged.

     

    In JS charts, there is one more situation where upon detection of possible security risk in link, another level of encoding is done.


  9. Essentially, from this it can be inferred that when the chart's data is loaded by its internal AJAX mechanism, some of them fail to re-initiate chart export to canvas. Seems like when dataUpdated is fired by the data handler, the export to canvas hook is not notified. As such, the three charts that were even printing was because "by luck", it's chart's render event was fired before the data update!

    Most likely, from the warning signs it seems the charts are running locally or on a super speed bandwidth and from that from a low bandwidth network it wouldn't have even fired for the three charts that was actually working.

     

    I will look into the code and see what is lurking around and revert. Thanks "dshook" for the heads up.


  10. To me it looks like a Global Security Settings issue of Flash.
     
     
    Change the settings to allow the URL/local folder that is hosting the SWF and let me know? Am up and waiting. :)
     
    EDIT:
    Moved your topic to the JS section and um... since now I know it's urgent, modified the topic title.

  11. What version of FusionCharts are you using? Also, any specific browser and are you running it directly off file:// or on a server?

     

    To me it looks like a Global Security Settings issue of Flash.

    Check out http://docs.fusioncharts.com/charts/Tools/FlashPlayerSecuritySetup/HowToSetup.html

    http://forum.fusioncharts.com/topic/10016-flash-player-103-global-security-settings/


  12. Hi bmcwhorter,

     

    What I can infer from this thread is that you want your data plots of your chart to be more "rounded" when you set useRoundEdges="1". Sumedh has already mentioned that this is not possible and I would explain the technicalities behind it.

    1. For the sake of better rendering performance, we use SVG rectangles to draw the columns and we avoid using SVG path element. When the border radius attribute is set on SVG rectangles, all four corners of the columns becomes rounded. That is not a pleasing visualisation and gets even worse for stacked column charts.
      I have taken the screenshot of such a situation by internally increasing the border radius on stacked bar chart.
       
    2. CSS is not applicable in the manner of speaking for SVG elements to provide rounded corners. And even if it did, browsers that do not support CSS3 like IE 8 and below and relatively old Safari, Opera, etc will not be able to render that.
       
    3. From visualisation perspective too much rounded corner on thin columns makes it difficult to perceive the value of the column/bar.
       
    4. For the useRoundEdges configuration the primary idea was to have rounded edges for JavaScript chart and rounded corners (considering the previously mentioned technical limitations,) being of lesser impact.

    Keeping the above in consideration, we do not provide an exact replica of Flash's rounded corners in our JavaScript variant. In fact, we do have the corners rounded, but it is very subtle and is made to be kept within the outer radius of the plot border as as not to look odd as in the conceptual screenshot I have attached in this post.

     

    A. The first screenshot has Flash on the left and equivalent actual JavaScript charts on the right with round edges turned on.

    post-3428-0-87166100-1370894166_thumb.png

     

    B. The second screenshot has Flash on the left and the conceptual JavaScript equivalent (not available with actual offering from FusionCharts.)

    post-3428-0-51155400-1370893733_thumb.png


  13. Seems like the chart container itself is not getting the correct height. Could you try checking whether if you put in an element with relative positioning and 100% width and height within the container with a recognisable background color and check if it receives the correct percentage dimension?

     

    Also, resize of container does not effectively fire resize event across all browsers. Try executing resizeTo forcibly if you can trap some other resize event of your UI framework.