[Mediate(event="someEvent")]
meta tag, then the controller calls the service and changes the model. The view only reflects changes in the model.SwizQuickstart.mxml
application includes the SwizQuickstart.mxml
component, which specifies beanProviders and config, as well as the UserForm view<fx: Declarations> <swiz: Swiz> <swiz: beanProviders> <config: Beans /> </ swiz: beanProviders> <swiz: config> <swiz: SwizConfig eventPackages = "org.swizframework.quickswiz.event. *" viewPackages = "org.swizframework.quickswiz.view. *" /> </ swiz: config> </ swiz: Swiz> </ fx: Declarations> <view: UserForm id = "userForm" />
<swiz: SwizConfig setUpEventType = "{Event.ADDED_TO_STAGE}" setUpEventPhase = "{EventPhase.CAPTURING_PHASE}" setUpEventPriority = "50" tearDownEventType = "{Event.REMOVED_FROM_STAGE}" tearDownEventPhase = "{EventPhase.CAPTURING_PHASE}" tearDownEventPriority = "50" eventPackages = "com.foo.events, org.bar.events" validateEventTypes = "true" viewPackages = "com.foo.views, org.bar.events" defaultFaultHandler = "handleUnhandledFaults" defaultDispatcher = "global" />
<config:Beans />
class looks like this:<swiz: BeanProvider xmlns: fx = "http://ns.adobe.com/mxml/2009" xmlns: swiz = "http://swiz.swizframework.org" xmlns: service = "org.swizframework.quickswiz.service. *" xmlns: controller = "org.swizframework.quickswiz.controller. *"> <service: UserService id = "userService" /> <controller: UserController id = "userController" /> <! - We'll use the server-side call to help simulate a Swiz ServiceHelper. -> <swiz: ServiceHelper id = "serviceHelper" /> </ swiz: BeanProvider>
[Bindable] [Inject (source = "userController.currentUser", bind = "true")] public var user: User;
<s: TextInput id = "firstName" text = "{user.firstName}" />
<s:TextInput id="firstName" text="{user.firstName}" />
<s:Button label="Save" click="saveUser()" />
user.firstName = firstName.text;
user.lastName = lastName.text;
user.email = email.text;
var event : UserEvent = new UserEvent( UserEvent.SAVE_USER_REQUESTED );
event.user = user;
dispatchEvent( event );
[Mediate (event = "UserEvent.SAVE_USER_REQUESTED", properties = "user")] public function saveUser (user: User): void { serviceHelper.executeServiceCall (userService.saveUser (user), handleSaveUserResult); }
private function handleSaveUserResult (event: ResultEvent): void { Alert.show ('User saved successfully!'); }
Source: https://habr.com/ru/post/100492/
All Articles