I took a look and saw that your ListItemRenderer is in the application project, not a library project, but it contains conditional compile code. I'm not sure we've ironed out that workflow. The main idea was that application developers wouldn't need conditional compilation. All APIs they would need would be cross-platform and all the platform-specific stuff would be encapsulated into the library SWCs.
The ListItemRenderer.js doesn't have a createElement call because COMPILE::JS must be false during the cross-compile. You might be able to turn it on, or move the renderer into a library SWC. HTH, -Alex On 12/3/16, 12:30 AM, "carlos.rov...@gmail.com on behalf of Carlos Rovira" <carlos.rov...@gmail.com on behalf of carlos.rov...@codeoscopic.com> wrote: >Hi Alex, > >I uploaded all my code in the two last commits so you can see it. Is >mostly >Peter's Code but the itemRenderer is a copy of StringItemRenderer but put >the class in the project example (since people will use normaly a List >with >different IRs. I had to remove the related SWF code since compiler was >unable to find class > >org.apache.flex.core.CSSTextField > >what seems to me very Strange. > >Since StringItemRenderers extends DataItemRenderer, I think something very >strange is happening under the hood as set data code is running from my >code (I see the traces) but instead of createElement from my class (that >outputs li) it seems running code from DataItemRenderer (the superclass). > >Regarding VerticalLayout, I can remove the layout from CSS declaration and >leave blank? or is mandatory bead > >thanks > > >2016-12-03 2:37 GMT+01:00 Alex Harui <aha...@adobe.com>: > >> What does your code look like? Sounds like DataItemRenderers are still >> being created and added. >> >> I think the display: block is from VerticalLayout. It uses that to tell >> the browser to lay things out vertically. position: relative might also >> come from the layout or some container logic as we've seen before. >> >> -Alex >> >> On 12/2/16, 4:41 PM, "carlos.rov...@gmail.com on behalf of Carlos >>Rovira" >> <carlos.rov...@gmail.com on behalf of carlos.rov...@codeoscopic.com> >> wrote: >> >> >One more thing, >> >Where come from the 8px width in List? >> >The styles in items are as well suspicious >> > >> > >> >2016-12-03 1:37 GMT+01:00 Carlos Rovira >><carlos.rov...@codeoscopic.com>: >> > >> >> Hi, >> >> >> >> just integrate the new List component and beads in MDL. As I changed >>it >> >> and introduced a custom item renderer (called >> >>itemRenderers/ListItemRenderer.as) >> >> in MDLExample (that is what people will do), I found a strange >> >>behaviour. >> >> The custom IR is running since I put a trace statement and I see one >> >>trace >> >> for each item renderer. but the createElement is not running, I'm >> >>getting: >> >> >> >> <ul class=" mdl-list" style="width: 8px;"> >> >> <div class="" style="position: relative; display: block;"></div> >> >> <div class="" style="position: relative; display: block;"></div> >> >> <div class="" style="position: relative; display: block;"></div> >> >> <div class="" style="position: relative; display: block;"></div> >> >> </ul> >> >> >> >> the inner divs was having in other test class="DataItemRenderer" >> >> >> >> but I have a createElement method in my ItemRenderer: >> >> >> >> /** >> >> * @flexjsignorecoercion org.apache.flex.core. >> WrappedHTMLElement >> >> */ >> >> COMPILE::JS >> >> override protected function >>createElement():WrappedHTMLElement >> >> { >> >> typeNames = "mdl-list__item"; >> >> >> >> element = document.createElement('li') as >> >>WrappedHTMLElement; >> >> >> >> positioner = element; >> >> element.flexjs_wrapper = this; >> >> >> >> // itemRenderers should provide something for the >>background >> >> to handle >> >> // the selection and highlight >> >> backgroundView = element; >> >> >> >> return element; >> >> } >> >> >> >> Do you know what could be happen here? After lots of test I'm lost... >> >> >> >> >> >> >> >> 2016-12-02 23:27 GMT+01:00 Carlos Rovira >> >><carlos.rov...@codeoscopic.com>: >> >> >> >>> Hi Peter, >> >>> >> >>> so cool! I just created the pom.xml and fill the licenses to build >>with >> >>> maven. Run the example and check the code. I still eating that food >>to >> >>>be >> >>> able to comment, but seems what I expect :) >> >>> >> >>> So many thanks, I'll be playing with it in the following days to >>apply >> >>>to >> >>> MDL components >> >>> >> >>> I think Alex and you has some issue that you want to work on, I'll >>be >> >>> incorporating whatever upgrade you made. I think this is an >>important >> >>> component where the power of flex comes clearly and if we could get >>as >> >>> simpler as possible that will be great. >> >>> >> >>> Thanks! >> >>> >> >>> Carlos >> >>> >> >>> >> >>> >> >>> 2016-12-02 22:37 GMT+01:00 Alex Harui <aha...@adobe.com>: >> >>> >> >>>> This seems mostly right to me. The top-level component is >>aggregating >> >>>> the >> >>>> interfaces onto itself. More inline... >> >>>> >> >>>> On 12/2/16, 12:41 PM, "Peter Ent" <p...@adobe.com> wrote: >> >>>> > >> >>>> >GenericListView does not extend ListView because that leads to >>this >> >>>> >nesting business we are trying to avoid. Instead, it just extends >> >>>> >BeadViewBase and implements IListView (so it can provide the >> >>>>dataGroup >> >>>> for >> >>>> >the itemRenderer factory which will be the strand/GenericList >> >>>>itself). >> >>>> >This class makes sure the itemRenderer factory bead is installed >>and >> >>>> >listens for changes to the dataProvider in the model. >> >>>> >> >>>> Isn't the real issue that it is ContainerView that ListView extends >> >>>>that >> >>>> makes the assumption that it has to add a viewport to the strand? >>I >> >>>> think >> >>>> that's ok though. As Harbs said in another thread, or maybe >>upthread, >> >>>> there will be Container views for heavy containers with inner >>content >> >>>> areas and Container views for lightweight containers without inner >> >>>> content >> >>>> areas. The current ContainerView is the heavy one. You have >>probably >> >>>> just written the lightweight one or can factor it out of your >> >>>> GenericListView. Might be time to rename the current >>ContainerView to >> >>>> ContainerWithContentAreaView and make the lighter one the new >> >>>> ContainerView. >> >>>> >> >>>> > >> >>>> >Finally, I had to copy DataItemRendererFactoryForArrayData into a >> new >> >>>> >class because it explicitly references the >>org.apache.flex.html.List >> >>>> class >> >>>> >in order to pass along the labelField to each itemRenderer. This, >>to >> >>>>me, >> >>>> >is a problem that needs to be addressed. I probably wrote this >> >>>> originally, >> >>>> >but now it must be revisited and corrected. >> >>>> >> >>>> In theory, the labelField should be in the model and retrieved from >> >>>> there. >> >>>> >> >>>> My 2 cents, >> >>>> -Alex >> >>>> >> >>>> >> >>> >> >>> >> >>> -- >> >>> >> >>> Carlos Rovira >> >>> Director General >> >>> M: +34 607 22 60 05 <607%2022%2060%2005> >> >>> http://www.codeoscopic.com >> >>> http://www.avant2.es >> >>> >> >>> Este mensaje se dirige exclusivamente a su destinatario y puede >> >>>contener >> >>> información privilegiada o confidencial. Si ha recibido este mensaje >> >>>por >> >>> error, le rogamos que nos lo comunique inmediatamente por esta misma >> >>>vía y >> >>> proceda a su destrucción. >> >>> >> >>> De la vigente Ley Orgánica de Protección de Datos (15/1999), le >> >>> comunicamos que sus datos forman parte de un fichero cuyo >>responsable >> >>>es >> >>> CODEOSCOPIC S.A. La finalidad de dicho tratamiento es facilitar la >> >>> prestación del servicio o información solicitados, teniendo usted >> >>>derecho >> >>> de acceso, rectificación, cancelación y oposición de sus datos >> >>>dirigiéndose >> >>> a nuestras oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la >> >>> documentación necesaria. >> >>> >> >>> >> >> >> >> >> >> -- >> >> >> >> Carlos Rovira >> >> Director General >> >> M: +34 607 22 60 05 <607%2022%2060%2005> >> >> http://www.codeoscopic.com >> >> http://www.avant2.es >> >> >> >> Este mensaje se dirige exclusivamente a su destinatario y puede >>contener >> >> información privilegiada o confidencial. Si ha recibido este mensaje >>por >> >> error, le rogamos que nos lo comunique inmediatamente por esta misma >> >>vía y >> >> proceda a su destrucción. >> >> >> >> De la vigente Ley Orgánica de Protección de Datos (15/1999), le >> >> comunicamos que sus datos forman parte de un fichero cuyo >>responsable es >> >> CODEOSCOPIC S.A. La finalidad de dicho tratamiento es facilitar la >> >> prestación del servicio o información solicitados, teniendo usted >> >>derecho >> >> de acceso, rectificación, cancelación y oposición de sus datos >> >>dirigiéndose >> >> a nuestras oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la >> >> documentación necesaria. >> >> >> >> >> > >> > >> >-- >> > >> >Carlos Rovira >> >Director General >> >M: +34 607 22 60 05 >> >http://www.codeoscopic.com >> >http://www.avant2.es >> > >> >Este mensaje se dirige exclusivamente a su destinatario y puede >>contener >> >información privilegiada o confidencial. Si ha recibido este mensaje >>por >> >error, le rogamos que nos lo comunique inmediatamente por esta misma >>vía y >> >proceda a su destrucción. >> > >> >De la vigente Ley Orgánica de Protección de Datos (15/1999), le >> >comunicamos >> >que sus datos forman parte de un fichero cuyo responsable es >>CODEOSCOPIC >> >S.A. La finalidad de dicho tratamiento es facilitar la prestación del >> >servicio o información solicitados, teniendo usted derecho de acceso, >> >rectificación, cancelación y oposición de sus datos dirigiéndose a >> >nuestras >> >oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación >> >necesaria. >> >> > > >-- > >Carlos Rovira >Director General >M: +34 607 22 60 05 >http://www.codeoscopic.com >http://www.avant2.es > >Este mensaje se dirige exclusivamente a su destinatario y puede contener >información privilegiada o confidencial. Si ha recibido este mensaje por >error, le rogamos que nos lo comunique inmediatamente por esta misma vía y >proceda a su destrucción. > >De la vigente Ley Orgánica de Protección de Datos (15/1999), le >comunicamos >que sus datos forman parte de un fichero cuyo responsable es CODEOSCOPIC >S.A. La finalidad de dicho tratamiento es facilitar la prestación del >servicio o información solicitados, teniendo usted derecho de acceso, >rectificación, cancelación y oposición de sus datos dirigiéndose a >nuestras >oficinas c/ Paseo de la Habana 9-11, 28036, Madrid con la documentación >necesaria.