src/it/ht/rcs/console/operations/view/evidences/filters/TextFilterPopup.mxml
<?xml version="1.0" encoding="utf-8"?>
<filters:AbstractFilterPopup xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:xt="library://ns.tink.ws/flex/mx"
xmlns:filters="it.ht.rcs.console.operations.view.evidences.filters.*" show="show()">
<s:TextInput id="input" width="250" styleName="auditFilter" enter="commit()" skinClass="it.ht.rcs.console.main.skins.RCSSearchFieldSkin"/>
<fx:Script>
<![CDATA[
import it.ht.rcs.console.events.FilterEvent;
import mx.core.FlexGlobals;
import mx.utils.StringUtil;
override public function commit(fireEvent:Boolean=true, setProperty:Boolean=true):void
{
input.text = StringUtil.trim(input.text);
hasFilter = input.text != '';
hasFilter ? filter[property] = input.text.split("|") : delete(filter[property]) ;
if(hasFilter && property=="_id")
filter[property]=[input.text]//id as Array
visible = false;
if (fireEvent)
FlexGlobals.topLevelApplication.dispatchEvent(new FilterEvent(FilterEvent.FILTER_CHANGED));
}
override public function reset(fireEvent:Boolean=true):void
{
input.text = '';
commit(fireEvent);
}
private function show():void
{
input.setFocus();
input.text = filter[property]
if(filter[property] is Array)
{
var s:String="";
for(var i:int=0;i<filter[property].length;i++)
{
s+=filter[property][i];
if(i<filter[property].length-1)
s+="|";
}
input.text =s;
}
}
override public function rebuild(e:Event=null):void
{
hasFilter = filter[property] && filter[property] !="";
}
]]>
</fx:Script>
</filters:AbstractFilterPopup>