<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*"
xmlns:business="com.renaun.samples.login.business.*"
xmlns:control="com.renaun.samples.login.control.*"
xmlns:view="com.renaun.samples.login.view.*"
pageTitle="Cairngorm Login Sample Application"
paddingTop="5" paddingBottom="5"
paddingLeft="5" paddingRight="5"
horizontalAlign="center" viewSourceURL="srcview/index.html">
<mx:Script>
<![CDATA[
import mx.core.Container;
import com.renaun.samples.login.model.ModelLocator;
import com.renaun.samples.login.vo.LoginVO;
import com.renaun.samples.login.vo.BookVO;
public function getView( workflowState : Number ) : Container
{
if( model.workflowState == ModelLocator.VIEWING_LOGGED_IN_SCREEN )
{
return loggedIn;
}
else
{
return login;
}
}
[Bindable]
public var model : ModelLocator = ModelLocator.getInstance();
private function viewDetails():void
{
lblBook.text = BookVO( dgBooks.selectedItem ).name;
}
]]>
</mx:Script>
<business:Services id="loginServices" />
<control:LoginControl id="controller" />
<mx:ViewStack
id="appView" width="600" height="100%"
selectedChild="{ getView( model.workflowState ) }">
<view:Login id="login" horizontalAlign="center" width="600" height="250" />
<mx:VBox id="loggedIn" horizontalAlign="center">
<mx:Label text="{ 'Logged in as ' + LoginVO( model.loginVO ).username + ' at ' + model.loginDate }" />
<mx:DataGrid id="dgBooks" change="viewDetails()"
dataProvider="{ model.books }" width="500"/>
<mx:Label id="lblBook" text="" />
</mx:VBox>
</mx:ViewStack>
</mx:Application>