On Mon, Sep 15, 2014 at 11:39 AM, Peter Ent <p...@adobe.com> wrote: > I've converted ChartDataGroup on the ActionScript side so that it uses a > GraphicsContainer. ChartDataGroup extends UIBase and so the elements being > added to it are its children. The modification inserts a GraphicsContainer > into ChartDataGroup as its only child and then overrides addElement to > place the itemRenderer children into the GraphicsContainer. > > This works well in ActionScript because GraphicsContainer also extends > UIBase. But this is failing on the JavaScript side because neither > GraphicsContainer nor GraphicsShape implement IUIBase. This is something > to determine if the graphic elements should conform to IUIBase or be > something else. >
I have it in my TODO list to make GraphicShape implement IUIBase. Would that work? Or should we do something else on the JS side? > > I could imagine that ChartDataGroup might have addElement for normal > IUIBase components (e.g., adding a Label to a chart) and a new function, > like addGraphicElement() that would added charting graphics. > The problem is we are not really 'adding' an element onto GraphicsContainer, we are merely drawing on its surface. Once I call GraphicsContainer.drawRect(), the object is already on the rendering surface/DOM. Or do you want to do this?: var graphicsContainer:GraphicsContainer = new GraphicsContainer(); var rect:Rect = new Rect(x,y,width,height); drawingContainer.addGraphicElement(rect); Right now, it works like this: var graphicsContainer:GraphicsContainer = new GraphicsContainer(); drawingContainer.drawRect(x,y,width,height); > > At the moment, the chart package works great, it just produces a lot of > extra <div> and <svg> tags on the JS side. > > Peter Ent > Adobe Systems > > On 9/12/14 6:40 PM, "OmPrakash Muppirala" <bigosma...@gmail.com> wrote: > > >On Fri, Sep 12, 2014 at 12:40 PM, Peter Ent <p...@adobe.com> wrote: > > > >> I have modified the chart code so that the JS side does not have borders > >> and scrollbars. > >> > > > >I just tried it. Looks fantastic! I can't even tell the difference > >between the Flash version and the HTML5 version. The only difference I > >can > >see is in the text. > > > >This is only going to get better :-) > > > > > >> > >> While looking at the HTML generated this morning, not only did I see the > >> extra <div>s and <svg>s, but I also saw that extra itemRenderers were > >> being generated. I pushed code that addresses that as well. > >> > >> Now if we could get a GraphicContainer or something like it, we should > >>be > >> able to have the itemRenderers just add a graphic element (e.g., Rect) > >>as > >> they do now, except it would be parented by the ChartDataGroup (aka, > >> <svg>). > >> > > > >I just checked in the GraphicsContainer component for AS and JS. The > >usage > >example can be seen in examples/FlexJSTest_SVG/GraphicsView.mxml > > > >Thanks, > >Om > > > > > >> > >> Peter Ent > >> Adobe Systems > >> > >> On 9/11/14 6:40 PM, "OmPrakash Muppirala" <bigosma...@gmail.com> wrote: > >> > >> >Peter, > >> > > >> >I just tested out the ChartExample app. It looks awesome! Thanks for > >> >making this work end to end. Nice to see validation that using SVG > >>lets > >> >us > >> >do great visualizations that work exactly same in Flash and HTML5! > >> > > >> >A couple of things I noticed: > >> > > >> >1. I see unnecessary horizontal and vertical scrollbars. It seems > >>that > >> >the the chart elements do not fit inside the div's width and height. > >> >2. I am looking at the HTML for the chart, for example:Gist here: > >> >https://gist.github.com/bigosmallm/ae510538df51b8356d7d > >> > > >> >I see that we are creating a whole bunch of unnecessary divs and svg > >> >elements. Would it be better if we created on SVG drawing canvas and > >>drew > >> >all the graphics inside it? It would make for a cleaner implementation > >> >and > >> >better runtime performance. > >> > > >> >I am thinking that we will create a GraphicsContainer class which would > >> >extend off of UIBase. Inside it would be one SVG element where you can > >> >draw all the graphic elements in one co-ordinate space. > >> > > >> >Let me know what you think. > >> > > >> >Thanks, > >> >Om > >> > >> > >