| <?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="1024" minHeight="768"
|
| creationComplete="employeeService.send()">
|
|
|
| <!-- Exercise 4.05: Creating and using item renderers and item editors -->
|
|
|
| <!-- Properties of the parent ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
|
|
| <s:layout>
|
| <s:VerticalLayout paddingLeft="15" paddingTop="15"
|
| gap="15"/>
|
| </s:layout>
|
|
|
| <!-- Metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
|
|
|
|
|
|
| <!-- Styles ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
|
|
| <fx:Style source="Styles.css"/>
|
|
|
| <!-- Script ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
|
|
| <fx:Script>
|
| <![CDATA[
|
| import mx.collections.ArrayCollection;
|
| import mx.controls.Alert;
|
|
|
| import spark.events.GridSelectionEvent;
|
|
|
| [Bindable]
|
| private var employeeList:ArrayCollection;
|
|
|
| private function employeeName(item:Object, column:GridColumn):String
|
| {
|
| return item.firstName + " " + item.lastName;
|
| }
|
|
|
| private function dateFormat(item:Object, column:GridColumn):String
|
| {
|
| return employeeDateFormatter.format(item[column.dataField]);
|
| }
|
|
|
| protected function datagrid1_selectionChangeHandler(event:GridSelectionEvent):void
|
| {
|
| Alert.show("You selected " + event.currentTarget.selectedItem.firstName, "Employee Portal: Notification");
|
| }
|
|
|
| ]]>
|
| </fx:Script>
|
|
|
| <!-- Declarations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
|
|
| <fx:Declarations>
|
|
|
| <s:HTTPService id="employeeService"
|
| url="data/employees.xml"
|
| result="employeeList=employeeService.lastResult.employees.employee"/>
|
|
|
| <s:DateTimeFormatter id="employeeDateFormatter"
|
| dateTimePattern="d-MMM-yy"/>
|
| </fx:Declarations>
|
|
|
| <!-- UI components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
|
|
| <s:Label text="Employee Portal: Quarterly Evaluation Scores"
|
| width="400" height="40"
|
| styleName="titleHeader"/>
|
|
|
| <s:DataGrid dataProvider="{employeeList}"
|
| alternatingRowColors="[#FFFFFF, #CCCCCC]"
|
| height="600"
|
| editable="true"
|
| selectionChange="datagrid1_selectionChangeHandler(event)">
|
|
|
| <s:typicalItem>
|
|
|
| <s:DataItem firstName="Christopher"
|
| lastName="Winchester"
|
| hireDate="12/31/2011"
|
| evaluation="Evaluation"/>
|
|
|
| </s:typicalItem>
|
|
|
| <s:columns>
|
|
|
| <s:ArrayList>
|
|
|
| <s:GridColumn headerText="Name"
|
| itemRenderer="components.EmployeeDisplay"
|
| editable="false"/>
|
|
|
| <s:GridColumn dataField="hireDate"
|
| headerText="Hire Date"
|
| labelFunction="dateFormat"
|
| editable="false"/>
|
|
|
| <s:GridColumn dataField="evaluation"
|
| headerText="Evaluation"
|
| itemEditor="components.EmployeeEvaluation"/>
|
|
|
| </s:ArrayList>
|
|
|
| </s:columns>
|
|
|
| </s:DataGrid>
|
|
|
| </s:Application>
|