package com.mariusht.puremvcexample.view { import com.mariusht.puremvcexample.ApplicationFacade; import org.puremvc.as3.interfaces.IMediator; import org.puremvc.as3.interfaces.INotification; import org.puremvc.as3.patterns.mediator.Mediator; public class ApplicationMediator extends Mediator implements IMediator { public static const NAME:String = 'ApplicationMediator'; public function ApplicationMediator(viewComponent:PureMVCSliderApp) { super(NAME, viewComponent); } override public function listNotificationInterests():Array { return [ ApplicationFacade.SLIDER_CHANGE ] } override public function handleNotification(notification:INotification):void { switch(notification.getName()) { case ApplicationFacade.SLIDER_CHANGE: app.valueLabel.text = Math.round(notification.getBody() as Number).toString(); break; } } override public function onRegister():void { facade.registerMediator(new SliderMediator(app.slider)); facade.registerMediator(new DateFieldMediator(app.dateField)); } protected function get app():PureMVCSliderApp { return viewComponent as PureMVCSliderApp; } } }