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%2Fgith
>> u
>> >>b.c
>> >>om%2Fapache%2Froyale-
>> &data=02%7C01%7C%7C8ca096bd31024951eb4608d522d16c
>> >>8d%
>> >>7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636453205224099105&sdata
>> =
>> >>s%2
>> >>Fr5KzGaKVqOLy8wTZ4QEHCspnV8UyHxn0XhvhN2KlM%3D&reserved=0
>> >> asjs/search?p=1&q=StackedViewManager&type=&utf8=%E2%9C%93
>> >> >
>> >
>> >
>
>

Reply via email to