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: romanisi...@yahoo.com <romanisi...@yahoo.com> Enviado el: miƩrcoles, 4 de agosto de 2021 21:55 Para: users@royale.apache.org 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,