• Content count

  • Joined

  • Last visited

  • Days Won


About gludington

  • Rank
    Junior Member
  1. I would like to request the ability in fusioncharts to specify a min/max axis values that do *NOT* encompass all data sets, but rather draw the chart inside those values, and allow data to exist (perhaps with some manner of notation) outside the visible chart area. See this topic: The reason for this request is that statistical outliers can render the bulk of the chart unusable for visual inspection of the data. This is a common occurrence, for example, when monitoring the performance of a system whose values cluster around a certain range, but which occasionally spikes well outside of that range. Since fusioncharts automatically expands to encompass all data, the inclusion of the spikes expands the axis so much that it is impossible to distinguish any nuance in the bulk of the data. As a workaround, we can cap the values themselves, but that presents a misleading set of data to the user; it would be much better if FusionCharts could allow strict specification of the visual axis, draw the chart accordingly, allowing some data to fall off the visual area, preferable with some available attributes to specify display options relevant to those outliers.
  2. The forums indicate that yAxisMaxValue has absolutely no effect if any data exceeds the maximum value. How, then, does one graph series data when there may be an anomalous point well outside the normal range. This occurs quite often with our charts monitoring equipment usage, where a burst of activity will far exceed the normal day-to-day usage. Fusion Charts forces the chart to encompass even the anomalous point, which renders the other 99% of the chart useless, as the rest of the series clumped visually too closely to distinguish. We need way to show the graph centered around the bulk of the data, and allow that anomalous point to exist off the chart. (We cannot adjust the data, as that gives an inaccurate picture to the client, and in testing does not look right visually, even with anchorRadius="0".) How can this be accomplished in FusionCharts? Thank you, Greg
  3. I am using the JS events to make other things happen on my page in response to chart events, but events are firing inconsistently. First, using setDataURL: Initial Successful Chart Draw: - DataLoadRequested - DataLoadRequestCompleted - BeforeDataUpdate - DataLoaded - DrawComplete setDataURL() called a second time: - DataLoaded - BeforeDataUpdate - DrawComplete Iniital Failed Chart Draw using setDataURL(): - DataLoadRequested - DataLoadError setDataURL() called a second time: - NO EVENTS ARE FIRED AT ALL So when we call setDataURL() a second, third, fourth, etc time, we *never* fire the pre-request events such as DataLoadRequested, or any error events. This makes it impossible to have a page respond to fusioncharts events. Using setXMLUrl() is different, but still fails: Initial Successful Chart Draw: - DataLoadRequestCompleted - BeforeDataUpdate - DataLoaded - DrawComplete setXMLUrl() called a second time: - DataLoadRequested - DataLoadRequestCompleted - BeforeDataUpdate - DataLoaded - DrawComplete Initial Failed chart Draw using setXMLUrl() - DataLoadRequested - DataLoadRequestCompleted - BeforeDataUpdate - DataLoaded - DrawComplete - NoDataToDisplay Here, we have the opposite problem -- DataLoadRequested is usually not fired on the *first* draw if the chart is not yet ready, but is on subsequent reloads. The 'NoDataToDisplay' event is also a bit problematic, as I am triggering this error by resetting the connection. I would think this should fire a 'DataLoadError' event, as this usually indicates a server error, and not no Data to Display. A 404 is handled correctly as an error
  4. Please consider adding click events on the rest of the map, capturing the nearest coordinate and/or drag events as a feature request, then, as visual highlights and increased thickness do not help this case.
  5. I have a need to implement zoomline-type functionality in other charts. I have glued something together in javascript that allows a user to click on one point, then another, which will then trigger a reload of the chart using the new parameters established by those clicks. It works, but, for graphs with lots of points, it is very frustrating for users to try and click on an exact point. Is there any way to associate click events with simply the axis, so that the user does not have to click on an exact point, or, barring that, some way of capturing where along an axis a given click is? Even better, would there be a way to trap a drag event (much like the zoom line chart does) and capture the boundary values in javascript?
  6. Bugs In Clickurl

    On the first issue, I may have an incorrect expectation on how clickURL is supposed to work, as without the n- it still opens the clickURL. I had expected clickURL to fire only if there was no interactive element being invoked. Apparently, clickURL overrides all interactive elements in the chart. If this is as designed, then that first element would not be a bug, but please consider it as an enhancement request instead to have clickURL be subservient to other in-chart elements. The second issue, where the mouse event is effectively captured forever by the swf movie, would still be a bug, though. Thank you
  7. Bugs In Clickurl

    When using a clickUrl, the mouse event is trapped in FusionCharts so that subsquent mouse clicks anywhere on the page are handled by FusionCharts. While I have fielded complaints about this in other browsers, I myself have only been able to reproduce it under Chrome on Linux, where it occurs 100% of the time. You can reproduce both of them using the following chartXML, which is the MSLine1.xml taken from the docs, with clickURL='n-' added in the <chart/> element. Issue #1 -- new frame clickURLs intercept other fusioncharts events ------------------------------------------------------------------------------------------- 1) Open this chart. (Currently, I am using IE6/Win, though I have reproduced it on several other browsers.) 2) Click on a legend element to hide the series Expected: The series will hide Actual: The clickURL opens in a new frame. If it is a same frame clickURL ( instead of n-, the series is hidden as expected. The bug only surfaces when opening a new window. Issue #2 -- fusioncharts swf keeps the mouse event --------------------------------------------------------------------- I have fielded complaints about this in multiple browsers, though I can only reproduce it under Chrome/Linux, where it occurs 100% of the time. 1) Open this chart in Chrome/Linux 2) Click on the chart to open a new window. 3) Go back to the window with a new chart 3) Click anywhere else on the page Expected: The clicked page element handles the click Actual: FusionCharts handles the click, spawning another new window. There is no way for the page to get control back from the swf. You can recreate both of these issues using the following chartXML, which is simply the MSLine1.xml from the Enterprise distribution with a clickURL='n-' put in the chart element. <chart caption='Production Forecast' yAxisName='Units' bgColor='F7F7F7, E9E9E9' numVDivLines='10' divLineAlpha='30' labelPadding ='10' yAxisValuesPadding ='10' clickURL='n-' showValues='1' rotateValues='1' valuePosition='auto'> <categories> <category label='2006' /> <category label='2007' /> <category label='2008' /> <category label='2009' /> <category label='2010' /> <category label='2011' /> </categories> <dataset seriesName='Model A12' color='A66EDD' > <set value='35' /> <set value='42' /> <set value='31' /> <set value='28' /> <set value='34' /> <set value='30' /> </dataset> <dataset seriesName='Model A15' color='F6BD0F'> <set value='22' /> <set value='25' /> <set value='18' /> <set value='22' /> <set value='17' /> <set value='16' /> </dataset> </chart>
  8. You are correct; we have choices, and there are plenty of sniffers out there. Our problem was that we have to deliver fusioncharts graphs in portlet contexts where these libraries (or even fusioncharts.js itself) may not be in the page context when the portlet is first created, so using these methods was a bit tricky (and tedious). Admittedly, this is a narrow use case, and we fashioned a workaround similar to what you did, but, since we did, I suppose by definition I can no longer claim it as a showstopper . If fusioncharts were to expose methods (as it did in earlier versions) or events for fusionchart's internal swfobject/flash detection results, it would have been much, much better.
  9. Catching Raised Errors?

    Looking through FusionCharts.debug.js, it seems this is the culprit on line 677: // Throw error in a separate scope so that the execution of this script // is not blocked. Do this only when debugMode is enabled window.setTimeout(function () { throw err; }, 0); Because it is thrown in a different context, the error can only be caught in a global window.onerror listener, which has problems in some browsers. Judging from the comments, this should be: // Throw error in a separate scope so that the execution of this script // is not blocked. Do this only when debugMode is enabled if (global.core.debugMode.enabled()) { window.setTimeout(function () { throw err; }, 0); }
  10. Catching Raised Errors?

    Perhaps this is a simple question, but how does one catch and stop propagation of raised errors? If flash is not present (asked for a replacement for the infosoftglobalutil flash detection public API/event in another thread), I am chart.addEventListener('internal.domelementcreated', function(evt, status) { if (status.success === false) { me.flashNotSupportedMsg(); evt.stopPropagation(); } }); This adds the correct message, however, a setXMLURL call has already been dispatched, because, with the deprecation of the infosoft globalutils, there is no way to detect flash and abort earlier in the process. A RenderManager Error is raised, which I listen for with: chart.addEventListener('Error', function(evt, args) { alert('error' + evt + ' ' + args.message); evt.stopPropagation(); }); And, while the alert statement is triggered, the error also bubbles through to the browser. How can I trap the error so that my code can handle it, without an ugly browser error popup after I have already dealt with it?
  11. Datastreamurl Response Timeout

    Can you add such an enforcement parameter, please, along with a javascript event fired when the timeout threshold is exceeded? Currently, if a server is not responding, FusionCharts appears to spin indefinitely, then eventually show the same chart that had been populated on the previous request. Other parts of the page which are depending on FusionCharts events to fire are also never triggered, so dependent parts of the page also appear to fail. At the very least, FusionCharts should be throwing a DataLoadError when a dataURL request times out, but a more specific error would be more helpful. The current situation can be frustrating to our users, and, while FusionCharts is not responsible for the server timing out, FusionCharts really needs a way to recover gracefully from such a situation.
  12. Datastreamurl Response Timeout

    This is also of interest to us...if this is not possible currently, please consider this as a future feature. Heavily loaded servers sometimes can timeout, and the behavior of fusioncharts in this context is definitely not obvious to the user.
  13. Fusioncharts demo pages are also affected. In the 3.2 distribution, look at: (your host/path)Code/MyFirstChart/weekly-sales-multiple-charts.html IE8 without flash installed throws an error rather than any sort of redirect or proper flashdetection, killing the page completely. This is a deployment showstopper.
  14. Thank you for the response. In our specific case, we have fusioncharts portlets on a portal page. If Flash is not present, we would like to update the HTML of the portlet accordingly. Lacking any direct ability to check, I am working around it by instantiating the chart and listening for an internal event callback, as follows: portlet.chart.addEventListener('internal.domelementcreated', function(evt, status) { if (status.success === false) { portlet.body.applyStyles('margin:40px'); portlet.body.dom.update('<h3 class="radar_text">IPreportsV2 requires Flash Player version 8 or higher to run. You may download it from <a href="" target="_new">Adobe</a></h3>'); evt.stopPropagation(); } }); But as an internal event, this seems like it is (or should be) unsupported, so I would prefer to have some official hook, preferably one that would not require me instantiating and loading charts in the first place, if possible.
  15. I need to detect and display specific messages for various charts in a dashboard-like page, and the built in detect flash version/auto redirect mechanism is not sufficient for that task. In past versions of FusionCharts, we could use infosoftglobal.FusionChartsUtil.getPlayerVersion() to determine the level of Flash player support in the current browser, but that mechanism only appears in the "legacy" FusionCharts files. What is the equivalent in FusionCharts 3.2?