<?xml version="1.0" encoding="utf-8"?>
<EventMap xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="http://mate.asfusion.com/">
<mx:Script>
<![CDATA[
import com.cafetownsend.model.constants.*;
import mx.events.*;
import com.cafetownsend.events.*;
import com.cafetownsend.model.managers.*;
import com.cafetownsend.ui.views.*;
import com.cafetownsend.ui.presenters.*;
]]>
</mx:Script>
<EventHandlers type="{FlexEvent.PREINITIALIZE}">
<ObjectBuilder generator="{ LoginPresentationModel }" constructorArguments="{ scope.dispatcher }" />
<ObjectBuilder generator="{ EmployeeDetailPresentationModel }" constructorArguments="{ scope.dispatcher }" />
<ObjectBuilder generator="{ EmployeeListPresentationModel }" constructorArguments="{ scope.dispatcher }" />
</EventHandlers>
<EventHandlers type="{FlexEvent.APPLICATION_COMPLETE}">
<HTTPServiceInvoker instance="{employeesService}">
<resultHandlers>
<MethodInvoker generator="{EmployeeParser}"
method="loadEmployeesFromXML" arguments="{resultObject}" />
<MethodInvoker generator="{EmployeeManager}" method="saveEmpoyeeList" arguments="{lastReturn}" />
</resultHandlers>
</HTTPServiceInvoker>
</EventHandlers>
<EventHandlers type="{LoginEvent.LOGIN}">
<MethodInvoker generator="{ AuthorizationManager }" method="login" arguments="{[event.username, event.password]}" />
<MethodInvoker generator="{ NavigationManager }" method="updateAfterLogin" arguments="{ lastReturn }"/>
</EventHandlers>
<EventHandlers type="{EmployeeEvent.SELECT}">
<MethodInvoker generator="{EmployeeManager}" method="selectEmployee" arguments="{event.employee}"/>
<MethodInvoker generator="{ NavigationManager }" method="updatePath" arguments="{ Navigation.EMPLOYEE_DETAIL }"/>
</EventHandlers>
<EventHandlers type="{EmployeeEvent.DELETE}">
<MethodInvoker generator="{EmployeeManager}" method="deleteEmployee" arguments="{event.employee}"/>
<MethodInvoker generator="{ NavigationManager }" method="updatePath" arguments="{ Navigation.EMPLOYEE_LIST }"/>
</EventHandlers>
<EventHandlers type="{EmployeeEvent.SAVE}">
<MethodInvoker generator="{EmployeeManager}" method="saveEmployee" arguments="{event.employee}"/>
<MethodInvoker generator="{ NavigationManager }" method="updatePath" arguments="{ Navigation.EMPLOYEE_LIST }"/>
</EventHandlers>
<EventHandlers type="{EmployeeEvent.CANCEL_EDIT}">
<MethodInvoker generator="{ NavigationManager }" method="updatePath" arguments="{ Navigation.EMPLOYEE_LIST }"/>
</EventHandlers>
<EventHandlers type="{EmployeeEvent.ADD}">
<EventAnnouncer generator="{EmployeeEvent}" type="{EmployeeEvent.SELECT}">
<Properties employee="{event.employee}"/>
</EventAnnouncer>
</EventHandlers>
<EventHandlers type="{LoginEvent.LOGOUT}">
<MethodInvoker generator="{ AuthorizationManager }" method="logout"/>
<MethodInvoker generator="{ NavigationManager }" method="updatePath" arguments="{ Navigation.LOGIN }"/>
</EventHandlers>
<Injectors target="{ MainUI }" >
<PropertyInjector targetKey="model" source="{ MainUIPresentationModel }"/>
</Injectors>
<Injectors target="{ MainUIPresentationModel }" >
<PropertyInjector targetKey="navigationPath" source="{ NavigationManager }" sourceKey="navigationPath"/>
</Injectors>
<Injectors target="{EmployeeDetail}" >
<PropertyInjector targetKey="model" source="{ EmployeeDetailPresentationModel} " />
</Injectors>
<Injectors target="{ EmployeeDetailPresentationModel }" >
<PropertyInjector targetKey="selectedEmployee" source="{ EmployeeManager }" sourceKey="employee" />
</Injectors>
<Injectors target="{ EmployeeList }">
<PropertyInjector targetKey="model" source="{ EmployeeListPresentationModel }" />
</Injectors>
<Injectors target="{ EmployeeListPresentationModel }">
<PropertyInjector targetKey="employees" source="{EmployeeManager}" sourceKey="employeeList" />
</Injectors>
<Injectors target="{ Login }" >
<PropertyInjector targetKey="model" source="{ LoginPresentationModel }" />
</Injectors>
<Injectors target="{ LoginPresentationModel }" >
<PropertyInjector targetKey="loginStatus" source="{ AuthorizationManager }" sourceKey="status" />
</Injectors>
<mx:HTTPService id="employeesService" url="assets/data/Employees.xml" resultFormat="e4x" />
</EventMap>