<?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:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
		xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView" xmlns:dao="dao.*">
	
	<fx:Declarations>
		<dao:EmployeeDAO id="srv"/>
	</fx:Declarations>
	
	<s:navigationContent/>
	
	<s:titleContent>
		<s:TextInput id="key" width="100%"/>
	</s:titleContent>

	<s:actionContent>
		<s:Button icon="@Embed('assets/search.png')" click="data=srv.findByName(key.text)"/>  
	</s:actionContent> 
	
	<s:List id="list" top="0" bottom="0" left="0" right="0" 
			dataProvider="{data}"  
			change="navigator.pushView(EmployeeDetails, list.selectedItem)">
		<s:itemRenderer>
			<fx:Component>
				<s:IconItemRenderer label="{data.firstName} {data.lastName}"
								messageField="title">
				</s:IconItemRenderer>
			</fx:Component>
		</s:itemRenderer>
	</s:List>
	
</s:View>