PDA

View Full Version : Ext.chart action script sources



kivsiak
9 Nov 2009, 6:02 PM
Flash chart component is extremly poor documented. So i want to look directly to sources. Is any way to get them?

Also debug messages give me not enough information as i need:



Error: Error #1502:
at flash.geom::Point()
at flash.geom::Point$/polar()
at com.yahoo.astra.fl.charts.axes::DefaultAxisRenderer/handleOverlappingLabels()
at com.yahoo.astra.fl.charts.axes::DefaultAxisRenderer/positionLabels()
at com.yahoo.astra.fl.charts.axes::DefaultAxisRenderer/draw()
at fl.core::UIComponent/callLaterDispatcher()


Running in debug mode at Flash Builder will be very usefull.

10 Nov 2009, 7:56 AM
Yes - you can get them from YUI. If you want better documentation, at the moment, the chapter on charts in my book is the best source.

kivsiak
11 Nov 2009, 2:43 AM
Thanks for your reply. Only one question: does extjs3 charts use YUI 2.x branch or 3.x ?
I've found only 2.x chart.swf sources on git-hub.

11 Nov 2009, 3:50 AM
I don't think YUI has charts for 3.x yet - so the answer is 2.x.

That said, Ext JS will always be behind the YUI charts.

kivsiak
20 Nov 2009, 4:23 AM
Just for your information. Unfortunately i've found that extjs chats.swf and yui 2.x charts.swf are not compatible (simple overwriting charts.swf file doesn't work). Moreover some skining features (series style.skin for example) are not available in extjs version.

Going deeper into wrappers code.

kivsiak
23 Nov 2009, 7:49 AM
Looks like i've found solution:

/com/yahoo/yui/YUIAdapter.as3:155


this.elementID = this.loaderInfo.parameters.YUISwfId;
this.javaScriptEventHandler = this.loaderInfo.parameters.YUIBridgeCallback;
You should rename this paramters to 'elementID' and 'eventHandler' and recompile swf file, or rename them in Ext.FlashComponent.onRender() like:


var params = {
allowScriptAccess: 'always',
bgcolor: this.backgroundColor,
wmode: this.wmode
}, vars = {
allowedDomain: document.location.hostname,
YUISwfId: this.getId(),
YUIBridgeCallback: 'Ext.FlashEventProxy.onEvent'
};