gvsc
Members-
Content count
9 -
Joined
-
Last visited
Everything posted by gvsc
-
Hi, I am trying to upgrade the Fusion Charts to V3.2 to support charting on iPad/iPhone. I replaced my existing Fusion Chart JS files with the following, all are in the same folder FusionCharts.HC.Charts.js FusionCharts.HC.js FusionCharts.js (This is the only file which is getting included in the html file) jquery.min.js After updating the files, I am able to see my chart getting rendered properly in IE/FF/Chome with Flash Enabled. Please see the debug information from one of the charts thats getting rendered with Flash Enabled. Info: Chart loaded and initialized. Initial Width: 600 Initial Height: 400 Scale Mode: noScale Debug Mode: Yes Application Message Language: EN Version: 3.2.1 Chart Type: Multi Series 3D Column Line Dual Y Chart Chart Objects: BACKGROUND CANVAS CAPTION SUBCAPTION YAXISNAME XAXISNAME DIVLINES YAXISVALUES DATALABELS DATAVALUES TRENDLINES TRENDVALUES DATAPLOTCOLUMN DATAPLOTLINE ANCHORS TOOLTIP VLINES LEGEND VLINELABELS INFO: Chart registered with external script. DOM Id of chart is chart1Id INFO: XML Data provided using dataXML method. XML Data: <chart /> No Data to Display: No data was found in the XML data document provided. Possible cases can be: There isn't any data generated by your system. If your system generates data based on parameters passed to it using dataURL, please make sure dataURL is URL Encoded. You might be using a Single Series Chart .swf file instead of Multi-series .swf file and providing multi-series data or vice-versa. INFO: setDataURL method invoked from external script. INFO: XML Data provided using dataURL method. dataURL provided: /pmc_data_charting.dl?de_id=21&de_name=EBITDA&period_code=1590¤cy_code=0&country_code=0&period_name=Monthly&country_name=All Countries&period_end_date=09/30/2011&drill_period_date=09/30/2011®ion_code=0&industry_code=0®ion_name=All Regions&industry_name=All Industries dataURL invoked: /pmc_data_charting.dl?de_id=21&de_name=EBITDA&period_code=1590¤cy_code=0&country_code=0&period_name=Monthly&country_name=All Countries&period_end_date=09/30/2011&drill_period_date=09/30/2011®ion_code=0&industry_code=0®ion_name=All Regions&industry_name=All Industries&FCTime=4816 INFO: setDataURL method invoked from external script. INFO: XML Data provided using dataURL method. dataURL provided: /pmc_data_charting.dl?de_id=21&de_name=EBITDA&period_code=1590¤cy_code=0&country_code=0&period_name=Monthly&country_name=All Countries&period_end_date=09/30/2011&drill_period_date=09/30/2011®ion_code=0&industry_code=0®ion_name=All Regions&industry_name=All Industries dataURL invoked: /pmc_data_charting.dl?de_id=21&de_name=EBITDA&period_code=1590¤cy_code=0&country_code=0&period_name=Monthly&country_name=All Countries&period_end_date=09/30/2011&drill_period_date=09/30/2011®ion_code=0&industry_code=0®ion_name=All Regions&industry_name=All Industries&FCTime=4851 XML Data: <?xml version="1.0" encoding="UTF-8"?><chart caption="EBITDA" subcaption="Global" showValues="0" showColumnShadow="0" sNumberSuffix="%" rotateLabels="1" slantLabels="1" numberPrefix="$" forceYAxisValueDecimals="0" forceSYAxisValueDecimals="0" yAxisValueDecimals="2" rotateValues="1" placeValuesInside="1" showFCMenuItem="0" showPrintMenuItem="0" exportEnabled="1" exportAtClient="0" exportAction="download" exportFileName="ExportedChart" exportHandler="http://dashboard-staging2:8081/fusioncharts/FCExporter.jsp" showBorder="0" bgcolor="FFFFFF" canvasbgColor="FFFFFF"><categories><category label="Oct-10" /><category label="Nov-10" /><category label="Dec-10" /><category label="Jan-11" /><category label="Feb-11" /><category label="Mar-11" /><category label="Apr-11" /><category label="May-11" /><category label="Jun-11" /><category label="Jul-11" /><category label="Aug-11" /><category label="Sep-11" /></categories><dataset valuePosition="ABOVE" showValues="1" seriesName="EBITDA"><set value="2.59239984257E9" link="j-barDrillDown-10/31/2010" /><set value="2.70390246003E9" link="j-barDrillDown-11/30/2010" /><set value="3.35506148855E9" link="j-barDrillDown-12/31/2010" /><set value="2.1282496136E9" link="j-barDrillDown-01/31/2011" /><set value="2.03633461484E9" link="j-barDrillDown-02/28/2011" /><set value="2.88180696917E9" link="j-barDrillDown-03/31/2011" /><set value="2.42646792718E9" link="j-barDrillDown-04/30/2011" /><set value="2.62637478173E9" link="j-barDrillDown-05/31/2011" /><set value="2.99032539092E9" link="j-barDrillDown-06/30/2011" /><set value="2.46356516196E9" link="j-barDrillDown-07/31/2011" /><set value="2.62311559865E9" link="j-barDrillDown-08/31/2011" /><set value="2.74689296883E9" link="j-barDrillDown-09/30/2011" color="B041FF" /></dataset><dataset valuePosition="AUTO" showValues="0" seriesName="% Prior Variance" parentYAxis="S" anchorSides="3" anchorRadius="4"><set value="7.6" /><set value="9.3" /><set value="8.6" /><set value="5.1" /><set value="1.5" /><set value="7.3" /><set value="2.6" /><set value="5.2" /><set value="5.7" /><set value="2.3" /><set value="7.4" /><set value="4.7" /></dataset><dataset valuePosition="AUTO" showValues="0" seriesName="% Budget Variance" parentYAxis="S"><set value="-2.1" /><set value="-0.8" /><set value="-3.8" /><set value="3.5" /><set value="-0.6" /><set value="4.3" /><set value="-3.5" /><set value="-4.2" /><set value="7.2" /><set value="-0.7" /><set value="2.7" /><set value="-3.2" /></dataset></chart> But, when I disable the Flash plugin on the browser and and try to render the same html page, it does not work. In IE 8 - I get a stack overflow error. Also noticed that only "dataloaded" event is getting called and nothing else. In FF 9 - I get no error when Firebug is disabled and get the following message where chart is supposed to be rendered... "Loading Chart - Please Wait" but chart never gets rendered. Also, when firebug is enabled, the page complains that a script is running too long and a prompt with option to kill the script. Also, when the prompt comes, it tried to point to "firebug-service.js" file.Also noticed that only "dataloaded" event is getting called and nothing else. I have also tried calling the following functions to force render in JS with no luck... FusionCharts.setCurrentRenderer('javascript'); FusionCharts._fallbackJSChartWhenNoFlash(); Data is provided to the chart by a call to the webserver, which returns xml, call is something like this... chartObj.setDataURL(url); but as I mentioned earlier, looks like FC_rendered() itself is not getting called when I force it to use JS rendering or disable flash on the browser... I have already spent good part of 2 days trying to resolve this. It will be very helpful if you can guide me as to what I am doing wrong. >> Whether the JS files that I am using are right/wrong - I tried uploading them for your reference but got an error - "You aren't permitted to upload this kind of file". >> Is version 3.2.1 supposed to support JS Faillback rendering or not. >> I also updated all my swf files, not sure if that has any relevance to this or not. A different problem that I am facing is the conflict between jQuery (used by new FusionCharts) vs mootools.js . Can you provide any suggestions as to what is the better approach to handle the conflicts? Do let me know if you think any more information from me . Any help if greatly appreciated.
-
Angshu, one more question... We currently have export enabled for our charts and have overridden the export ability by providing our own server url for export. After doing an upgrade to FusionCharts XT, I noticed that it doesnt honour the settings we have provided for export and export always happens from highcharts export server via internet. This is what I am trying to do, to have the ability to export on Flash based charts only and not on charts which are rendered in JS/HTML5 way. From searching the documentation, this is the code I came up with, // Check whether it is an js chart or not if( typeof chartObj1._overrideJSChartConfiguration === 'function'){ // pass exporting configuration module chartObj1._overrideJSChartConfiguration({ exporting:{ enabled: false } }); } But, this does not help. I noticed that, even when rendering of the chart is happening in HTML5/JS mode, the following condition is not true. if( typeof chartObj1._overrideJSChartConfiguration === 'function'){ BTW, I also tried the following (third '=' I guess is a typo) if( typeof chartObj1._overrideJSChartConfiguration == 'function'){ Also, I get the following error, when I try to force call the method without the if condition check... chartObj1._overrideJSChartConfiguration is not a function Can you please confirm if I am doing something wrong wrt above code ? Or if there is a different route I should take to get what I want. please clarify. Thanks, Chaitanya
-
Thanks Angshu, can you confirm if FusionChart's Function attribute - "slantLabels" is supported in JS rendering mode ? What we are seeing is that with this attribute turned on, the flash charts seems to have labels slanted (the way we want) but the same chart does not have labels slanted in html5/JS rendering mode. Please clarify ? Thanks, Chaitanya
-
Angshu, Please also confirm if all currency symbols are supported in JS mode of rendering ? Thanks, Chaitanya
-
Angshu, After updating to FusionCharts XT version, I am able to get my charts working. However I still have some issue. I see that the browser/flash plug in crashing when I am trying to render a "Heat Map" chart.... the amount of xml data I send back is very minimal and I have looked at other posts where limitation regd. memory for Flash plugin by version have been provided by you and I am pretty sure that I am not anywhere near that. Any reason you can think of why that might be happening ? Also, Funnel charts are not getting rendered at all after the JS Files update. All the above scenarios that I have mentioned is related to Flash based rendering itself. I havent still tried to render them via JS. Also, on the page that has a FusionMap of the world, it seems as if I am not able to get a handle to JS object either by using chartObj = FusionMaps("chart1Id"); or chartObj = FusionCharts("chart1Id"); as I noticed that JS executing comes and stops here. It doesnt throw an error though. Not sure what is happening or if I am trying to get a handle to the object in a wrong fashion. >> Please also clarify if Funnel charts rendering is supported in pure JS mode or not in FusionCharts XT? >> Please also clarify if Heat Map rendering is supported in pure JS mode or not in FusionCharts XT? Also, it will be immensely helpful to me if you can clarify what components/chart types have dependency on what files to be included. If there is already such kind of information available ... please point me to the location. Also, as you may know, in the package zip file that you provide, JS files with the same name are located in more than 1 directory. Please confirm which location I should pick the files from ? It would be utter waste of time that we realize after all debugging that the root cause of issue is using wrong source files. >> Please clarify the locations along with which type of charts are having a dependency on which JS file. Currently I have the following files all located in the same folder. FusionCharts.js (70KB) FusionChartsExportComponent.js(8KB) FusionMaps.js(14KB) FusionMapsExportComponent.js(28KB) jquery.min.js(71KB) Only FusionCharts.js/FusionMaps.js/FusionChartsExportComponent.js are included in the html file. Also, very important final question... If I upgrade to FusionCharts XT, is it backward compatible with old code ? Currently, it looks as if it just doesnt like certain stuff... getChartById() doesnt work setDataURl(url) doesnt work etc. the documentation says that they are deprecated but shdnt they be supported still for backward compatibility ? looking forward to your answer.
-
Angshu, thanks for the reply. After updating my JS files with files from FusionCharts XT suite, I am able to get some of my charts working in JS rendering mode,which is a good news. I am still having some issues with other charts and will update you if I see any more issues. Also, can you please clarify if FusionMaps are also compatible with iPad when I start using the version of FusionMaps file from FusionCharts XT ? I read in FusionWidgets forum that FusionWidgets are not iPad compliant yet and in an external forum that FusionMaps are not iPad compliant yet. I need an answer to this as we also have some maps on our website which we want to have working properly on iPad. Please clarify ? Thanks, Chaitanya
-
Angshu, please find attached 2 htm files 1) From_Sample_Code_data_hardcoded_working_with_no_issues.htm - Adapted from examples... with xml data hardcoded for the chart in the htm and it gets rendered fine with no issues. 2) From_sample_code_modified_to_get_data_from_server_not_working.htm - Adapted from examples... with xml data being retrieved from a server request. This is the approach that we are using for all our graphs. Please check the above files and see if the issue can be replicated on your end. A quick response would be very helpful. Thanks, Chaitanya From_Sample_Code_data_hardcoded_working_with_no_issues.htm From_sample_code_modified_to_get_data_from_server_not_working.htm
-
Thanks Angshu for your response. I will try to explain my scenario more in detail and will also try to put up a skinned down version soon. Chart is rendered on the html page using the following lines of code... DIV CONTAINER FOR CHART ----------------------------------------- <div v-align=top id="chart1div" style=width:600px;height:400px;background-color:white;> </div> JS IN HTML PAGE ------------------------ <script> FusionCharts.debugMode.enabled(true); var chart1 = new FusionCharts("/images/flash/MSColumn3DLineDY.swf", "chart1Id", "600", "400",{debugMode : true, registerWithJS : true}); chart1.setDataXML("<chart></chart>"); chart1.render("chart1div"); </script> In a separate JS file which is included in the html page with above code, we have the following... JS IN A SEPARATE JS FILE INCLUDED IN ABOVE HTML FILE ------------------------------------------------------------------------------------ function FC_Rendered(DOMId){ alert('hi'); //If it's our required chart chartready = false; map2ready = false; if (DOMId=="chart1Id"){ chartready = true; getChart(); } } function getChart(){ if(!chartready) return; _deName = document.getElementById('de_drop').options[(document.getElementById('de_drop').selectedIndex == -1 ? 0 : document.getElementById('de_drop').selectedIndex)].text; _periodName = document.getElementById('period_drop').options[(document.getElementById('period_drop').selectedIndex == -1 ? 0 : document.getElementById('period_drop').selectedIndex)].text; _countryName = document.getElementById('country_drop').options[(document.getElementById('country_drop').selectedIndex == -1 ? 0 : document.getElementById('country_drop').selectedIndex)].text; url = "/pmc_data_charting.dl?"; url = url + "de_id="+document.getElementById("de_drop").value; url = url + "&de_name=" + _deName; url = url + "&period_code="+document.getElementById("period_drop").value; url = url + "¤cy_code="+document.getElementById("currency_drop").value; url = url + "&country_code="+document.getElementById("country_drop").value; url = url + "&period_name=" + _periodName; url = url + "&country_name=" + _countryName; url = url + "&period_end_date="+document.getElementById("to_date").value; url = url + "&drill_period_date="+document.getElementById("drill_period_date").value; url = url + "®ion_code="+ document.getElementById("region_code").value; url = url + "&industry_code="+ document.getElementById("industry_code").value; url = url + "®ion_name=" + document.getElementById('region_drop').options[(document.getElementById('region_drop').selectedIndex == -1 ? 0 : document.getElementById('region_drop').selectedIndex)].text; url = url + "&industry_name=" + document.getElementById('industry_drop').options[(document.getElementById('industry_drop').selectedIndex == -1 ? 0 : document.getElementById('industry_drop').selectedIndex)].text; chartObj = getChartFromId("chart1Id"); alert('url is ['+url+']'); //chartObj.setDataURL(url); //chartObj.setChartDataUrl(url,"xml"); //chartObj.setXMLUrl(url); chartObj.setChartData(url,"xmlurl"); document.getElementById("de_id").value = document.getElementById("de_drop").value; document.getElementById("period_code").value = document.getElementById("period_drop").value; document.getElementById("currency_code").value = document.getElementById("currency_drop").value; document.getElementById("region_code").value = document.getElementById("region_drop").value; document.getElementById("industry_code").value = document.getElementById("industry_drop").value; document.getElementById("country_code").value = document.getElementById("country_drop").value; } FC_rendered() gets called by FusionCharts framework which in turn invokes getChart(), which does the job of going to DB and gettings results. You can see the sample URL from the DEBUG notes that I posted earlier. Also, you can see that I have tried calling the following methods to get XML data response from my server. //chartObj.setDataURL(url); //chartObj.setChartDataUrl(url,"xml"); //chartObj.setXMLUrl(url); chartObj.setChartData(url,"xmlurl"); And the behavior is as follows in the above scenarios. With setDataURL(url) - Which we are currently using in PROD, works fine with flash turned on but with flash turned off, it simply doesnt call "FC_rendered" method at all and I get the following JS Error - "chartObj.setDataURL is not a function" with chartObj.setChartDataUrl(url,"xml") - Which we are currently using in PROD, works fine with flash turned on but with flash turned off, it goes into infinite loop with FusionCharts._fallbackJSChartWhenNoFlash(); settings in the page. with chartObj.setXMLUrl(url); - Which we are currently using in PROD, works fine with flash turned on but with flash turned off, it goes into infinite loop with FusionCharts._fallbackJSChartWhenNoFlash(); settings in the page. with chartObj.setXMLUrl(url); - Which we are currently using in PROD, works fine with flash turned on but with flash turned off, it goes into infinite loop with FusionCharts._fallbackJSChartWhenNoFlash(); settings in the page. Hopefully, this information helps... Please let me know if I am missing something or our approach to using the FusionCharts is incorrect. Seems like to me, the following 3 methods are for some reason invoking chartObj.setChartDataUrl(url,"xml"); chartObj.setXMLUrl(url); chartObj.setChartData(url,"xmlurl"); FC_rendered() method after every request to get data from server which is what setDataURL() was doing earlier and may be that is leading to recursion. Can you also, please explain what is the difference between using one of the above methods over the other ? Also, with chartObj.setDataURL(), we are getting "chartObj.setDataURL is not a function" JS error. Is this expected ? Thanks, Chaitanya
-
Hi, I replaced my JS files and now I am getting all events on the chart object getting called even when flash is disabled. But the problem that I am having now is that the chart is going into a recursion and just not stopping. Its going though its life cycle of events and tries to goto server and get data and render and keeps doing that without any break ... just goes into an infinite loop. Please note that I have set "FusionCharts.setCurrentRenderer('javascript');" in my code. Any reason as to why this might be happening ?