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

    public class SliderMediator extends Mediator implements IMediator
    {
        public static const NAME:String = 'SliderMediator';
        
        public function SliderMediator(viewComponent:HSlider)
        {
            super(NAME, viewComponent);

            slider.addEventListener(SliderEvent.CHANGE, onChange);
        }
        
        private function onChange(event:SliderEvent):void
        {
            sendNotification(ApplicationFacade.SLIDER_CHANGE, event.value);
        }
        
        protected function get slider():HSlider
        {
            return viewComponent as HSlider;
        }
    }
}