Mega Code Archive

 
Categories / Flex / Data Model
 

Using Timer to fire data binding event

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="initHandler();">     <mx:Script>                      private var _timer:Timer;             private var _firstName:String;             public static const FIRST_NAME_CHANGED:String = "firstNameChanged";             private function initHandler():void             {                 _timer = new Timer( 2000, 1 );                 _timer.addEventListener( TimerEvent.TIMER_COMPLETE, timerHandler );             }             private function clickHandler():void             {                 firstName = fnInput.text;             }             private function timerHandler( evt:TimerEvent ):void             {                 dispatchEvent( new Event( FIRST_NAME_CHANGED ) );             }                  [Bindable(event="firstNameChanged")]             public function get firstName():String             {                 return _firstName;             }             public function set firstName( str:String ):void             {                  _firstName = str;                  _timer.reset();                  _timer.start();             }            </mx:Script>     <mx:Panel title="User Entry.">         <mx:HBox>            <mx:Label text="First Name:" />            <mx:TextInput id="fnInput" />         </mx:HBox>         <mx:Button label="submit" click="clickHandler();" />         <mx:Label text="You Entered:" fontWeight="bold" />         <mx:HBox>             <mx:Label text="First Name:" />             <mx:Text text="{firstName}" />         </mx:HBox>     </mx:Panel> </mx:Application>