package com.mariusht.puremvcexample.view
{
    import com.mariusht.puremvcexample.model.CarsProxy;
    import com.mariusht.puremvcexample.model.vo.CarVO;
    import com.mariusht.puremvcexample.view.components.BlueView;
    
    import flash.events.MouseEvent;
    
    import org.puremvc.as3.interfaces.IMediator;
    import org.puremvc.as3.patterns.mediator.Mediator;

    public class BlueViewMediator extends Mediator implements IMediator
    {
        public static const NAME:String = 'BlueViewMediator';
        
        public function BlueViewMediator(viewComponent:BlueView)
        {
            super(NAME, viewComponent);
            
            blueView.addCarButton.addEventListener(MouseEvent.CLICK, onAdd);
        }
        
        private function onAdd(event:MouseEvent):void
        {
            var carsProxy:CarsProxy = facade.retrieveProxy(CarsProxy.NAME) as CarsProxy;
            var car:CarVO = new CarVO('Honda', 'Accord', '2003');
            carsProxy.addCar(car);
        }
        
        protected function get blueView():BlueView
        {
            return viewComponent as BlueView;
        }
    }
}