17.5. Command Classes
You need a command class for the loading of the categories and for adding a post. Start with the command class for loading the categories.
You will need to store the categories that are loaded in a property on the ModelLocator. Add the following to the FlexBlogModel:
public var categories:ArrayCollection = new ArrayCollection();
Make sure that Flex has added the import for the ArrayCollection class.
Next, in the com.FlexBlog.commands package create a new command class called LoadCategoriesCommand. Edit the class to match the following:
package com.FlexBlog.commands { import com.FlexBlog.delegates.LoadCategoriesDelegate; import com.FlexBlog.models.FlexBlogModel; import com.FlexBlog.valueobjects.UserNotificationVO; import com.adobe.cairngorm.commands.ICommand; import com.adobe.cairngorm.control.CairngormEvent;
import mx.rpc.IResponder; import mx.rpc.events.ResultEvent; public class LoadCategoriesCommand implements ICommand, IResponder { private var model:FlexBlogModel = FlexBlogModel.getInstance(); public function execute(event:CairngormEvent):void { var delegate:LoadCategoriesDelegate = new LoadCategoriesDelegate(this); delegate.loadCategories() } public function result(data:Object):void { var evt:ResultEvent = data as ResultEvent; var notification:UserNotificationVO = new UserNotificationVO(); if (evt.result.categories){ this.model.categories.source = evt.result.categories; } } public function fault(info:Object):void { } } }
The execute function simply calls ...
Get Professional Cairngorm™ now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.