<?xml version="1.0" encoding="utf-8"?>
<mx:Application
layout="vertical"
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:example="example.*"
xmlns:viewloader="com.cairngorm.viewloader.*"
xmlns:module="com.adobe.cairngorm.module.*"
xmlns:spicefactory="http://www.spicefactory.org/parsley/flex"
xmlns:parsley="example.parsley.*"
preinitialize="FlexContextBuilder.build(ExampleContext)" >
<mx:Script>
<![CDATA[
import example.ExampleContext;
import mx.logging.LogEventLevel;
import mx.modules.IModuleInfo;
import org.spicefactory.parsley.flex.FlexContextBuilder;
[Bindable]
[Inject(id="moduleA")]
public var infoA:IModuleInfo;
[Bindable]
[Inject(id="moduleB")]
public var infoB:IModuleInfo;
[Bindable]
[Inject(id="moduleC")]
public var infoC:IModuleInfo;
[Bindable]
[Inject(id="moduleD")]
public var infoD:IModuleInfo;
[Bindable]
[Inject(id="moduleD")]
public var infoE:IModuleInfo;
]]>
</mx:Script>
<mx:TraceTarget level="{ LogEventLevel.DEBUG }">
<mx:filters>
<mx:Array>
<mx:String>com.cairngorm.*</mx:String>
<mx:String>org.spicefactory.*</mx:String>
</mx:Array>
</mx:filters>
</mx:TraceTarget>
<mx:Button
label="Inject"
click="dispatchEvent(new Event('configureIOC', true))" />
<parsley:EventSource />
<mx:TabNavigator id="tabNavigator"
width="100%" height="100%">
<example:MyViewLoader
label="Module A"
info="{ infoA }" />
<example:MyViewLoader
label="Module B"
info="{ infoB }" />
<example:MyViewLoader
label="Module C, loading error"
info="{ infoC }" />
<module:ViewLoader
label="Duplicate module, no progress/error view"
info="{ infoA }" />
<module:ViewLoader
label="Duplicate module, no progress/error view, loading error"
info="{ infoC }" />
<example:MyViewLoader
label="Duplicate module, loading error"
info="{ infoC }" />
<example:MyViewLoader
label="Parsley Module"
info="{ infoD }" />
<example:MyViewLoader
id="parsleyModule"
label="Parsley Module called via managed event"
info="{ infoE }" />
</mx:TabNavigator>
</mx:Application>