package com.mariusht.puremvcexample.view
{
    import com.mariusht.puremvcexample.ApplicationFacade;
    
    import mx.controls.DateField;
    import mx.events.DropdownEvent;
    
    import org.puremvc.as3.interfaces.IMediator;
    import org.puremvc.as3.patterns.mediator.Mediator;

    public class DateFieldMediator extends Mediator implements IMediator
    {
        public static const NAME:String = 'DateFieldMediator';
        
        public function DateFieldMediator(viewComponent:DateField)
        {
            super(NAME, viewComponent);
            
            dateField.addEventListener(DropdownEvent.OPEN, onOpen);
            dateField.addEventListener(DropdownEvent.CLOSE, onClose);
        }
        
        private function onOpen(event:DropdownEvent):void
        {
            facade.sendNotification(ApplicationFacade.DATE_FIELD_OPEN);
        }
        
        private function onClose(event:DropdownEvent):void
        {
            facade.sendNotification(ApplicationFacade.DATE_FIELD_CLOSE);
        }
        
        protected function get dateField():DateField
        {
            return viewComponent as DateField;
        }
    }
}