| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --> |
| <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" |
| xmlns:s="library://ns.adobe.com/flex/spark" |
| xmlns:mx="library://ns.adobe.com/flex/mx" |
| minWidth="955" minHeight="850" |
| creationComplete="initApp()"> |
| |
| <!-- Exercise 2.05c: Retrieving and handling data with the RemoteObject object --> |
| |
| <!-- Styles ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
| |
| <fx:Style source="Styles.css"/> |
| |
| <!-- Script ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
| |
| <fx:Script> |
| <![CDATA[ |
| import mx.collections.ArrayCollection; |
| import mx.controls.Alert; |
| import mx.events.CalendarLayoutChangeEvent; |
| import mx.rpc.events.FaultEvent; |
| import mx.rpc.events.ResultEvent; |
| |
| // variable declarations ------------------------------------ |
| |
| [Bindable] |
| private var employees:ArrayCollection; |
| |
| // getter/setters ------------------------------------------- |
| |
| |
| // helper methods ------------------------------------------- |
| |
| |
| // event handlers ------------------------------------------- |
| //The dateChangeHandler() function is the event handler for the two DateChooser instances. |
| private function dateChangeHandler(event:CalendarLayoutChangeEvent):void |
| { |
| Alert.show('You have selected ' + event.target.selectedDate.toDateString()); |
| |
| if ((event.target.id == "returnDate") && (pickupDate.selectedDate > returnDate.selectedDate))
|
| {
|
| Alert.show("Pickup date must be scheduled before return date.");
|
| } |
| |
| if ((event.target.id == "pickupDate") && (pickupDate.selectedDate > returnDate.selectedDate) && (returnDate.selectedDate != null))
|
| {
|
| Alert.show("Pickup date must be scheduled before return date.")
|
| } |
| |
| } |
| |
| private function initApp():void |
| { |
| // Add the event listener using ActionScript instead of inline in the DateChooser instances |
| pickupDate.addEventListener(CalendarLayoutChangeEvent.CHANGE, dateChangeHandler); |
| returnDate.addEventListener(CalendarLayoutChangeEvent.CHANGE, dateChangeHandler); |
| employeeService.getEmployees(); |
| } |
| |
| |
| protected function employeeService_resultHandler(event:ResultEvent):void
|
| {
|
| employees = event.result as ArrayCollection;
|
| } |
| |
| |
| protected function employeeService_faultHandler(event:FaultEvent):void
|
| {
|
| Alert.show(event.fault.faultString,"Fault Information");
|
| } |
| |
| ]]> |
| </fx:Script> |
| |
| <!-- Declarations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
| |
| <fx:Declarations> |
| |
| <s:RemoteObject id="employeeService" |
| destination="ColdFusion" |
| source="f45iaw100.remoteData.employeeDat" |
| endpoint="http://adobetes.com/flex2gateway" |
| result="employeeService_resultHandler(event)" |
| fault="employeeService_faultHandler(event)"/> |
| |
| </fx:Declarations> |
| |
| <!-- UI components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
| |
| <s:Label x="10" y="34" |
| width="690" height="40" |
| text="Employee Portal: Vehicle Request Form" |
| styleName="titleHeader"/> |
| |
| <s:Form x="10" y="70"> |
| |
| <s:FormItem label="Employee:"> |
| <s:DropDownList id="dropDownList" |
| dataProvider="{employees}" |
| labelField="LASTNAME"/> |
| </s:FormItem> |
| |
| <s:FormItem label="Office Phone:"> |
| <s:TextInput id="phone" |
| text="{dropDownList.selectedItem.PHONE}"/> |
| </s:FormItem> |
| |
| <s:FormItem label="Mobile Phone:"> |
| <s:TextInput id="mobilePhone"/> |
| </s:FormItem> |
| |
| <s:FormHeading label="Dates Requested"/> |
| |
| <!--The two DateChooser instances call the dateChangeHandler() function when the change event is dispatched.--> |
| |
| <s:FormItem label="Pickup Date:"> |
| <mx:DateChooser id="pickupDate"/> |
| </s:FormItem> |
| |
| <s:FormItem label="Return Date:"> |
| <mx:DateChooser id="returnDate"/> |
| </s:FormItem> |
| |
| <s:FormItem> |
| <s:Button id="submitButton" |
| label="Submit Request"/> |
| </s:FormItem> |
| |
| </s:Form> |
| |
| </s:Application> |