<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:flextras="http://www.flextras.com/mxml"
creationComplete="init()" viewSourceURL="srcview/index.html" xmlns:shared="com.flextras.shared.*">
<mx:Script>
<![CDATA[
import com.flextras.dbFilter.flex.SampleUserVO;
import mx.collections.ArrayCollection;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable]public var dataProvider1 : ArrayCollection = new ArrayCollection([
{FirstName:"Clark", LastName:'Kent', Email:'clark@dailyplanet.com', data:0},
{FirstName:"James", LastName:'Olsen', Email:'jolsen@dailyplanet.com', data:0},
{FirstName:"Louis", LastName:'Lane', Email:'llane@dailyplanet.com', data:0},
{FirstName:"Chloe", LastName:'Sullivan', Email:'chloe@isisfoundation.com', data:0},
{FirstName:"Tess", LastName:'Mercer', Email:'tmercer@luthorcorp.com', data:0},
{FirstName:"Lex", LastName:'Luthor', Email:'lluthor@luthorcorp.com', data:0},
{FirstName:"Oliver", LastName:'Queen', Email:'oqueen@queenindustries.com', data:0},
{FirstName:"Lionel", LastName:'Luther', Email:'lluther@luthorcorp.com', data:0},
]);
[Bindable]public var dataProvider2 : ArrayCollection = new ArrayCollection([
{FirstName:"Clark", LastName:'Kent', Email:'clark@dailyplanet.com', data:0},
{FirstName:"James", LastName:'Olsen', Email:'jolsen@dailyplanet.com', data:0},
{FirstName:"Louis", LastName:'Lane', Email:'llane@dailyplanet.com', data:0},
{FirstName:"Chloe", LastName:'Sullivan', Email:'chloe@isisfoundation.com', data:0},
{FirstName:"Tess", LastName:'Mercer', Email:'tmercer@luthorcorp.com', data:0},
{FirstName:"Lex", LastName:'Luthor', Email:'lluthor@luthorcorp.com', data:0},
{FirstName:"Oliver", LastName:'Queen', Email:'oqueen@queenindustries.com', data:0},
{FirstName:"Lionel", LastName:'Luther', Email:'lluther@luthorcorp.com', data:0},
]);
[Bindable]public var dataProvider3 : ArrayCollection = new ArrayCollection([
{FirstName:"Clark", LastName:'Kent', Email:'clark@dailyplanet.com', data:0},
{FirstName:"James", LastName:'Olsen', Email:'jolsen@dailyplanet.com', data:0},
{FirstName:"Louis", LastName:'Lane', Email:'llane@dailyplanet.com', data:0},
{FirstName:"Chloe", LastName:'Sullivan', Email:'chloe@isisfoundation.com', data:0},
{FirstName:"Tess", LastName:'Mercer', Email:'tmercer@luthorcorp.com', data:0},
{FirstName:"Lex", LastName:'Luthor', Email:'lluthor@luthorcorp.com', data:0},
{FirstName:"Oliver", LastName:'Queen', Email:'oqueen@queenindustries.com', data:0},
{FirstName:"Lionel", LastName:'Luther', Email:'lluther@luthorcorp.com', data:0},
]);
[Bindable]public var dataProvider4 : ArrayCollection = new ArrayCollection([
{FirstName:"Clark", LastName:'Kent', Email:'clark@dailyplanet.com', data:0},
{FirstName:"James", LastName:'Olsen', Email:'jolsen@dailyplanet.com', data:0},
{FirstName:"Louis", LastName:'Lane', Email:'llane@dailyplanet.com', data:0},
{FirstName:"Chloe", LastName:'Sullivan', Email:'chloe@isisfoundation.com', data:0},
{FirstName:"Tess", LastName:'Mercer', Email:'tmercer@luthorcorp.com', data:0},
{FirstName:"Lex", LastName:'Luthor', Email:'lluthor@luthorcorp.com', data:0},
{FirstName:"Oliver", LastName:'Queen', Email:'oqueen@queenindustries.com', data:0},
{FirstName:"Lionel", LastName:'Luther', Email:'lluther@luthorcorp.com', data:0},
]);
[Bindable]public var dataProvider5 : ArrayCollection = new ArrayCollection([
{FirstName:"Clark", LastName:'Kent', Email:'clark@dailyplanet.com', data:0},
{FirstName:"James", LastName:'Olsen', Email:'jolsen@dailyplanet.com', data:0},
{FirstName:"Louis", LastName:'Lane', Email:'llane@dailyplanet.com', data:0},
{FirstName:"Chloe", LastName:'Sullivan', Email:'chloe@isisfoundation.com', data:0},
{FirstName:"Tess", LastName:'Mercer', Email:'tmercer@luthorcorp.com', data:0},
{FirstName:"Lex", LastName:'Luthor', Email:'lluthor@luthorcorp.com', data:0},
{FirstName:"Oliver", LastName:'Queen', Email:'oqueen@queenindustries.com', data:0},
{FirstName:"Lionel", LastName:'Luther', Email:'lluther@luthorcorp.com', data:0},
]);
[Bindable]public var dataProvider6 : ArrayCollection = new ArrayCollection([
{FirstName:"Clark", LastName:'Kent', Email:'clark@dailyplanet.com', data:0},
{FirstName:"James", LastName:'Olsen', Email:'jolsen@dailyplanet.com', data:0},
{FirstName:"Louis", LastName:'Lane', Email:'llane@dailyplanet.com', data:0},
{FirstName:"Chloe", LastName:'Sullivan', Email:'chloe@isisfoundation.com', data:0},
{FirstName:"Tess", LastName:'Mercer', Email:'tmercer@luthorcorp.com', data:0},
{FirstName:"Lex", LastName:'Luthor', Email:'lluthor@luthorcorp.com', data:0},
{FirstName:"Oliver", LastName:'Queen', Email:'oqueen@queenindustries.com', data:0},
{FirstName:"Lionel", LastName:'Luther', Email:'lluther@luthorcorp.com', data:0},
]);
public function init():void{
populateInstructions();
}
public function onResult(e:ResultEvent):void{
dataProvider1 = new ArrayCollection(e.result as Array);
dataProvider2 = new ArrayCollection(e.result as Array);
dataProvider3 = new ArrayCollection(e.result as Array);
trace(e);
}
public function onFault(e:FaultEvent):void{
trace(e);
}
protected function fieldFilter1 ( item:Object):Boolean{
var user : SampleUserVO = new SampleUserVO();
user.FirstName = item['FirstName'];
user.LastName = item['LastName'];
user.Email = item['Email'];
if((user.FirstName.toLowerCase().search(autoCompleteComboBox1.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.LastName.toLowerCase().search(autoCompleteComboBox1.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.Email.toLowerCase().search(autoCompleteComboBox1.typeAheadTextValue.toLowerCase()) >= 0)){
return true
}
return false;
}
public function labelFunction1(item:Object):String{
var user : SampleUserVO = new SampleUserVO();
user.FirstName = item['FirstName'];
user.LastName = item['LastName'];
user.Email = item['Email'];
return user.toString() ;
}
protected function fieldFilter2 ( item:Object):Boolean{
var user : SampleUserVO = new SampleUserVO();
user.FirstName = item['FirstName'];
user.LastName = item['LastName'];
user.Email = item['Email'];
if((user.FirstName.toLowerCase().search(autoCompleteComboBox2.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.LastName.toLowerCase().search(autoCompleteComboBox2.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.Email.toLowerCase().search(autoCompleteComboBox2.typeAheadTextValue.toLowerCase()) >= 0)){
return true
}
return false;
}
protected function fieldFilter3 ( item:Object):Boolean{
var user : SampleUserVO = new SampleUserVO();
user.FirstName = item['FirstName'];
user.LastName = item['LastName'];
user.Email = item['Email'];
if((user.FirstName.toLowerCase().search(autoCompleteComboBox3.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.LastName.toLowerCase().search(autoCompleteComboBox3.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.Email.toLowerCase().search(autoCompleteComboBox3.typeAheadTextValue.toLowerCase()) >= 0)){
return true
}
return false;
}
protected function fieldFilter4 ( item:Object):Boolean{
var user : SampleUserVO = new SampleUserVO();
user.FirstName = item['FirstName'];
user.LastName = item['LastName'];
user.Email = item['Email'];
if((user.FirstName.toLowerCase().search(autoCompleteComboBox4.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.LastName.toLowerCase().search(autoCompleteComboBox4.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.Email.toLowerCase().search(autoCompleteComboBox4.typeAheadTextValue.toLowerCase()) >= 0)){
return true
}
return false;
}
protected function fieldFilter5 ( item:Object):Boolean{
var user : SampleUserVO = new SampleUserVO();
user.FirstName = item['FirstName'];
user.LastName = item['LastName'];
user.Email = item['Email'];
if((user.FirstName.toLowerCase().search(autoCompleteComboBox5.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.LastName.toLowerCase().search(autoCompleteComboBox5.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.Email.toLowerCase().search(autoCompleteComboBox5.typeAheadTextValue.toLowerCase()) >= 0)){
return true
}
return false;
}
protected function fieldFilter6 ( item:Object):Boolean{
var user : SampleUserVO = new SampleUserVO();
user.FirstName = item['FirstName'];
user.LastName = item['LastName'];
user.Email = item['Email'];
if((user.FirstName.toLowerCase().search(autoCompleteComboBox6.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.LastName.toLowerCase().search(autoCompleteComboBox6.typeAheadTextValue.toLowerCase()) >= 0) ||
(user.Email.toLowerCase().search(autoCompleteComboBox6.typeAheadTextValue.toLowerCase()) >= 0)){
return true
}
return false;
}
public function populateInstructions():void{
var instructionsText : String = '';
instructionsText += 'This is a Sample AutoComplete Filter Function for the Flextra\'s AutoCompleteComboBox component.\r\n';
instructionsText += 'The AutoCompleteComboBox is an advanced ComboBox that provides AutoComplete, or AutoSuggest, functionality. ' ;
instructionsText += 'It also provides a selectedValue, multiple character type ahead, truncateToFit and will expand the drop down to fit all the content. ' ;
instructionsText += 'It works on both Flex 3 and Flex 4. ' ;
about.instructionText = instructionsText;
}
]]>
</mx:Script>
<mx:RemoteObject id="getUsersService" destination="ColdFusion" result="onResult(event)" fault="onFault(event)"
source="ComponentDevelopment.code.AdvancedComboBox.Sample.trunk.src.com.flextras.dbFilter.cfc.SampleService" >
</mx:RemoteObject>
<mx:TabNavigator width="100%" height="100%">
<shared:About width="100%" height="100%" label="About" verticalAlign="middle" horizontalAlign="center" id="about"
nonInteractiveLink="http://experts.na3.acrobat.com/p72088946/" nonInteractiveLinkText="Connect Presentation About This Sample">
</shared:About>
<mx:Form label="Application">
<mx:FormItem label="Custom Label">
<flextras:AutoCompleteComboBox id="autoCompleteComboBox1"
dataProvider="{dataProvider1}"
autoCompleteEnabled="true"
itemRenderer="com.flextras.itemRenderer.AutoCompleteItemRenderer"
width="200"
autoCompleteFilterFunction="fieldFilter1" labelFunction="labelFunction1"
/>
</mx:FormItem>
<mx:FormItem label="Bold and Underline">
<flextras:AutoCompleteComboBox id="autoCompleteComboBox2"
dataProvider="{dataProvider2}"
autoCompleteEnabled="true"
itemRenderer="com.flextras.itemRenderer.AutoCompleteItemRendererMod"
width="200"
autoCompleteFilterFunction="fieldFilter2" labelFunction="labelFunction1"
/>
</mx:FormItem>
<mx:FormItem label="Colored Purple and Underlined">
<flextras:AutoCompleteComboBox id="autoCompleteComboBox3"
dataProvider="{dataProvider3}"
autoCompleteEnabled="true"
itemRenderer="com.flextras.itemRenderer.AutoCompleteItemRendererMod2"
width="200"
autoCompleteFilterFunction="fieldFilter3" labelFunction="labelFunction1"
/>
</mx:FormItem>
<mx:FormItem label="Colored Green and Underlined">
<flextras:AutoCompleteComboBox id="autoCompleteComboBox4"
dataProvider="{dataProvider4}"
autoCompleteEnabled="true"
itemRenderer="com.flextras.itemRenderer.AutoCompleteItemRendererMod3"
width="200"
autoCompleteFilterFunction="fieldFilter4" labelFunction="labelFunction1"
/>
</mx:FormItem>
<mx:FormItem label="Highlight Multiple Instances">
<flextras:AutoCompleteComboBox id="autoCompleteComboBox5"
dataProvider="{dataProvider5}"
autoCompleteEnabled="true"
itemRenderer="com.flextras.itemRenderer.AutoCompleteItemRendererMultipleHighlight"
width="200"
autoCompleteFilterFunction="fieldFilter5"
/>
</mx:FormItem>
<mx:FormItem label="Highlight Multiple and Underline">
<flextras:AutoCompleteComboBox id="autoCompleteComboBox6"
dataProvider="{dataProvider6}"
autoCompleteEnabled="true"
itemRenderer="com.flextras.itemRenderer.AutoCompleteItemRendererMod4"
width="200"
autoCompleteFilterFunction="fieldFilter6"
/>
</mx:FormItem>
</mx:Form>
</mx:TabNavigator>
</mx:Application>