Ok. Thank you.
Found the typeNames property in UIBase.
If I read it correctly, it is possible to have several space-separated values 
in typeNames (hence the final "s") ?
What would be the usage for that ?

Is it necessary to explicitly add the class name to typeNames ? Cannot be done 
automatically ?
 
Nicolas Granon




> -----Message d'origine-----
> De : Alex Harui [mailto:[email protected]]
> Envoyé : samedi 4 novembre 2017 08:25
> À : [email protected]; [email protected]
> Objet : Re: ViewStack implementation [was : Restarting contributions]
> 
> I hope if you search the code for 'typeNames' you will find proper
> usage.
> The typeName is supposed to be the name of the "type selector" in CSS.
> So I think that code should have been
> 
>       typeNames = "StackedViewManager";
> 
> HTH,
> -Alex
> 
> On 11/3/17, 2:33 PM, "Idylog - Nicolas Granon" <[email protected]>
> wrote:
> 
> >(I have changed the thread object to better reflect its content)
> >
> >That is crystal clear ! Thank you for that explanation.
> >
> >We are considering rewriting "ViewStack" based on Harb's work.
> >
> >In order to be more compliant, how should we use the typeNames
> property
> >you are talking about ?
> >
> >Nicolas Granon
> >
> >
> >
> >
> >> -----Message d'origine-----
> >> De : Alex Harui [mailto:[email protected]] Envoyé : vendredi
> 3
> >> novembre 2017 18:23 À : [email protected]; [email protected]
> >> Objet : Re: Restarting contributions
> >>
> >> We do that to try to get some backward compatibility with Flex.
> >>
> >> Flex extended the CSS type selector system to allow a type selector
> >> for any component.  So you could do:
> >>
> >> DataGrid { font-weight: bold }
> >>
> >> You can't extend the type selector system in the browser (AFAIK) so
> >> we mimic this by converting a non-standard type selector to a class
> >> selector.
> >>  So the CSS file in the JS output looks like:
> >>
> >> .DataGrid { font-weight: bold }
> >>
> >> And then to get that to work, we add DataGrid to the list of class
> >> names on the HTMLElement.  I think that StackedViewManager may need
> >> its code updated because components are supposed to use the
> typeNames
> >> property which the framework appends to the classNames list instead
> >> of directly setting className itself.
> >>
> >> HTH,
> >> -Alex
> >>
> >> On 11/3/17, 8:41 AM, "Idylog - Nicolas Granon" <[email protected]>
> >> wrote:
> >>
> >> >Many thanks.
> >> >
> >> >Quite useful.
> >> >
> >> >Question : I read the source code, and saw that in the
> >> >StackedViewManager class, you explicitly assign the class name (as
> a
> >> >String) to the className property like that :
> >> >className = "StackedViewManager";
> >> >
> >> >Why is that ?
> >> >
> >> >Nicolas Granon
> >> >
> >> >
> >> >
> >> >
> >> >> -----Message d'origine-----
> >> >> De : Harbs [mailto:[email protected]] Envoyé : jeudi 2
> >> >> novembre
> >> >> 2017 13:37 À : [email protected] Objet : Re: Restarting
> >> >> contributions
> >> >>
> >> >> The classes probably do not belong necessarily in mobile.
> >> >>
> >> >> Here’s what I’m using:
> >> >> css:
> >> >>
> >> >>                 js|TabbedViewManager {
> >> >>                         IBeadView:
> >> >>
> >>
> ClassReference("org.apache.royale.mobile.beads.TopTabbedViewManagerVi
> >> >> ew
> >> >> ");
> >> >>                 }
> >> >>
> >> >> mxml:
> >> >>         <js:TabbedViewManager id="navController" x="109" y="96"
> >> >> width="682" height="360" viewChanged="tabbedViewChanged(event)">
> >> >>                 <js:views>
> >> >>                         <js:TitleView title="Suites">
> >> >>                         <!-- Suites Data Grid -->
> >> >>                                 <ex:DataGrid id="suiteDG" x="109" y="96"
> >> >> width="682" height="360"
> >> >>
> >> >dataProvider="{suiteProvider}"
> >> >>
> >> >>         change="handleExtensionDGChange(event)" rowHeight="30">
> >> >>                                         <js:beads>
> >> >>                                                 
> >> >> <js:DataGridPercentageView
> >> >/>
> >> >>                                         </js:beads>
> >> >>                                         <js:columns>
> >> >>                                                 <js:DataGridColumn
> >> >label="Product"
> >> >> dataField="product" columnWidth="30"
> >> >>
> >>
> itemRenderer="com.intools.dashboard.renderers.CenteredStringRenderer"
> >> />
> >> >>                                                 <js:DataGridColumn
> >> >label="Status"
> >> >> columnWidth="33"
> >> >> itemRenderer="com.intools.dashboard.renderers.StatusRenderer"/>
> >> >>                                                 <js:DataGridColumn
> >> >label="Version"
> >> >> dataField="iVersion" columnWidth="12"
> >> >>
> >>
> itemRenderer="com.intools.dashboard.renderers.CenteredStringRenderer"
> >> />
> >> >>                                                 <js:DataGridColumn
> >> >label="Latest
> >> >> Version" columnWidth="25"
> >> >> itemRenderer="com.intools.dashboard.renderers.VersionUpdater"/>
> >> >>                                         </js:columns>
> >> >>                                 </ex:DataGrid>
> >> >>                         </js:TitleView>
> >> >>                         <js:TitleView title="Plugins">
> >> >>                         <!-- Suites Data Grid -->
> >> >>                                 <ex:DataGrid id="pluginDG"
> >> >>
> >> >>         dataProvider="{pluginProvider}"
> >> >>
> >> >>         change="handleExtensionDGChange(event)" rowHeight="30">
> >> >>                                         <js:beads>
> >> >>                                                 
> >> >> <js:DataGridPercentageView
> >> >/>
> >> >>                                         </js:beads>
> >> >>                                         <js:columns>
> >> >>                                                 <js:DataGridColumn
> >> >label="Product"
> >> >> dataField="product" columnWidth="30"
> >> >>
> >>
> itemRenderer="com.intools.dashboard.renderers.CenteredStringRenderer"
> >> />
> >> >>                                                 <js:DataGridColumn
> >> >label="Status"
> >> >> columnWidth="33"
> >> >> itemRenderer="com.intools.dashboard.renderers.StatusRenderer"/>
> >> >>                                                 <js:DataGridColumn
> >> >label="Version"
> >> >> dataField="iVersion" columnWidth="12"
> >> >>
> >>
> itemRenderer="com.intools.dashboard.renderers.CenteredStringRenderer"
> >> />
> >> >>                                                 <js:DataGridColumn
> >> >label="Latest
> >> >> Version" columnWidth="25"
> >> >> itemRenderer="com.intools.dashboard.renderers.VersionUpdater"/>
> >> >>                                         </js:columns>
> >> >>                                 </ex:DataGrid>
> >> >>                         </js:TitleView>
> >> >>                 </js:views>
> >> >>
> >> >> Things that need improvement:
> >> >> 1. The tabs take up the full width.
> >> >> 2. The tabs are simple buttons and the TabBar is hard-coded in.
> It
> >> >> really needs to be toggle buttons which have a selected state.
> >> >>
> >> >> Otherwise it works pretty well.
> >> >>
> >> >> Harbs
> >> >>
> >> >> > On Nov 2, 2017, at 2:29 PM, Yishay Weiss
> >> >> > <[email protected]>
> >> >> wrote:
> >> >> >
> >> >> >
> >> >> >
> >> >> > For now, we would like to have an Apache Royale "ViewStack"
> >> >> equivalent but we do not know where to start.
> >> >> > What do you think the parent component should be ? Could you
> >> >> > give to
> >> >> us some cues ?
> >> >> >
> >> >> > I think Harbs got StackedViewManager [1] to work for him in one
> >> >> > of
> >> >> his apps. It’s in the mobile package but I’m not sure there’s a
> >> >> reason not to use it on desktop.
> >> >> > [1]
> >>
> >>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi
> >> >>th
> >> u
> >> >>b.c
> >> >>om%2Fapache%2Froyale-
> >> &data=02%7C01%7C%7C8ca096bd31024951eb4608d522d16c
> >> >>8d%
> >>
> >>7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636453205224099105&sda
> >> >>ta
> >> =
> >> >>s%2
> >> >>Fr5KzGaKVqOLy8wTZ4QEHCspnV8UyHxn0XhvhN2KlM%3D&reserved=0
> >> >> asjs/search?p=1&q=StackedViewManager&type=&utf8=%E2%9C%93
> >> >> >
> >> >
> >> >
> >
> >


Reply via email to