Unfortunately it does not work.
One clarification from your earlier response.
Where am I supposed to add the following
" To activate the binding you must add the corresponding bead: 
<js:ViewDataBinding/>, in case of views, <js:ContainerDataBinding/> in case of 
containers.   "
In the two views ? Or in the responsive view ? 
The first view is a Card while the second one is HGroup.
Would also appreciate clarification on the difference between container, view 
and application binding and wgennto use each  ?



Sent from Yahoo Mail on Android 
 
  On Thu, 5 Aug 2021 at 2:58, 
[email protected]<[email protected]> wrote: 
  
users Digest 5 Aug 2021 01:58:36 -0000 Issue 1739

Topics (messages 4792 through 4792)

Re: Access current State from other files?
    4792 by: Maria Jose Esteve

Administrivia:

---------------------------------------------------------------------
To post to the list, e-mail: [email protected]
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

----------------------------------------------------------------------

 <!--#yiv5955334819 _filtered {} _filtered {} _filtered {} _filtered {} 
_filtered {} _filtered {}#yiv5955334819 #yiv5955334819 
p.yiv5955334819MsoNormal, #yiv5955334819 li.yiv5955334819MsoNormal, 
#yiv5955334819 div.yiv5955334819MsoNormal 
{margin:0cm;font-size:11.0pt;font-family:"Calibri", sans-serif;}#yiv5955334819 
a:link, #yiv5955334819 span.yiv5955334819MsoHyperlink 
{color:#0563C1;text-decoration:underline;}#yiv5955334819 
span.yiv5955334819EstiloCorreo19 {font-family:"Open Sans", 
sans-serif;color:#1F497D;font-weight:normal;font-style:normal;}#yiv5955334819 
.yiv5955334819MsoChpDefault {font-size:10.0pt;} _filtered {}#yiv5955334819 
div.yiv5955334819WordSection1 {}#yiv5955334819 _filtered {} _filtered {} 
_filtered {} _filtered {} _filtered {} _filtered {} _filtered {} _filtered {} 
_filtered {} _filtered {}#yiv5955334819 ol {margin-bottom:0cm;}#yiv5955334819 
ul {margin-bottom:0cm;}-->
Hello,
 
I would do it with the binding:
 
- Add to the two views the beads <js:SimpleStatesImpl/>.
 
- Add the states also to the two views (I'm not sure if this is mandatory... I 
have them in all the files).
 
- To activate the binding you must add the corresponding bead: 
<js:ViewDataBinding/>, in case of views, <js:ContainerDataBinding/> in case of 
containers.
 
- Pass the currentState variable from the ApplicationResponsiveView to the 
Card, something like this:
 
  
 
<view:Content currentState="{currentState}">          
 
</view:Content> 
 
  
 
I hope this helps.
 
See you tomorrow.
 
  
 
Hiedra.
 
  
 
De: [email protected] <[email protected]> 
Enviado el: miércoles, 4 de agosto de 2021 21:55
Para: [email protected]
Asunto: Access current State from other files?
 
  
 
Hi Everyone,
 
  
 
I have created a simple application with two views one for a login form and the 
other is main view that shows the application. To make the code readable I 
decided to put the view definition in separate files and call them from the 
Responsive View. I have defined the states of the app accordingly.
 
  
 
Main.mxml
 
  
 
<?xml version="1.0" encoding="utf-8"?>
 
<j:ApplicationResponsiveView xmlns:fx="http://ns.adobe.com/mxml/2009";
 
    xmlns:j="library://ns.apache.org/royale/jewel"
 
    xmlns:js="library://ns.apache.org/royale/basic"
 
    xmlns:html="library://ns.apache.org/royale/html"
 
     xmlns:mx="library://ns.apache.org/royale/mx"  
 
     xmlns:view="*" initComplete="initCompleteHandler(event)">
 
  
 
 <fx:Script>
 
      <![CDATA[
 
            
 
  
 
     
 
         private function initCompleteHandler(event:Event):void
 
          {
 
             trace("Main ResponsiveView is ready !!! ");
 
  
 
             trace(" set initial current state to log in ..");
 
  
 
         
 
             currentState = 'login';
 
       
 
  
 
           trace("  currentState: " + currentState);
 
  
 
        }
 
  
 
       ]]>
 
     </fx:Script>          
 
  
 
  
 
  
 
<j:states>
 
              <js:State name="login" />        
 
              <js:State name="loggedIn" />        
 
       </j:states>
 
  
 
        <j:beads>
 
                <js:SimpleStatesImpl/>
 
        </j:beads>
 
  
 
            <view:LogIn includeIn="login">           
 
            </view:LogIn>
 
  
 
   
 
  
 
    <j:ApplicationMainContent id="mainContent" hasTopAppBar="true" 
hasFooterBar="true" selectedContent="content" includeIn="loggedIn">        
 
       <j:SectionContent id="sc" name="content">             
 
                <view:Content>           
 
                 </view:Content>           
 
       </j:SectionContent>
 
    </j:ApplicationMainContent>
 
  
 
</j:ApplicationResponsiveView>
 
  
 
  
 
  
 
The log in view is defined as follows
 
  
 
?xml version="1.0" encoding="utf-8"?>
 
<j:Card xmlns:fx="http://ns.adobe.com/mxml/2009";
 
         xmlns:j="library://ns.apache.org/royale/jewel"
 
          xmlns:js="library://ns.apache.org/royale/basic"
 
          xmlns:html="library://ns.apache.org/royale/html"
 
           id="loginForm" x="60", y="60" height="50%">
 
                <html:H1 text="Royale login"/>
 
                <j:TextInput id="username" text="someuser"/>
 
                <j:TextInput id="password" text="somepass">
 
                    <j:beads>
 
                        <j:PasswordInput/>
 
                    </j:beads>
 
                </j:TextInput>
 
                <j:Button text="Login" emphasis="primary" click="currentState = 
'loggedIn'" />
 
</j:Card>
 
  
 
  
 
Everything compiles fine. When I run the application and click log in button 
the view does not change to the Content view. In other words the button does 
not work.
 
  
 
However, If I embed the logIn.mxml inside the Main.mxml it works fine.
 
  
 
  
 
How can I access the Main.mxml current state from another file ?
 
  
 
  
 
Regards,
 
  
   

Reply via email to