Over 10 years of community discussion and knowledge are maintained here as a read-only archive.
It would be great if you could alter what classes things extended from. In my Fab app I use a custom base Mediator, Command, Proxy and ApplicationFacade which extend from the Fabrication bases.
public function get list():ArrayCollection { return data as ArrayCollection;}
script/generate Proxy Name Parent DataType
<mx:List id="list" /><mx:Button id="refreshButton" />
script/generate Mediator AlbumListMediator AlbumList.mxml listChange refreshButtonClick
public function get albumList():AlbumList { return viewComponent as AlbumList;}public function get list():List { return albumList.list as List;}public function get refreshButton():Button { return albumList.refreshButton as Button;}public function reactToListChange(note:INotification):void {}public function reactToRefreshButtonClick(note:INotification):void {}
fabrication ProjectName ProjectType
Hey Steffen,Thanks for trying Fabrication. The generator idea sounds really great. I have been meaning to do something like that but have been a little busy at work. I have used Rails a few times recently and it is always a lot of fun to work with. I think the nicest thing to have would be Component generators. For instance most of my Proxies cast the data to the concrete data type for a little strong typing....peace,darshan
...One obvious problem is that I would like to support custom packages for all application and component code, that means that I have to parse generated code to obtain the correct package etc for the new code or require it as a parameter which can be a bit cumbersome.
Would it be usefull if the component generators could generate a complete module with startupcommand, proxy, mediator etc with the correct namespace etc and perhaps optional parameters like datatype for the proxy. And the same idea for just a proxy or mediator generator?
Does this makes sense? The idea is that all the skeleton code gets generated, and perhaps som default usage code, which easily can be removed / modified?
command:foo.controller.MyBaseCommandmediator:foo.view.MyBaseMediatorproxy:foo.view.MyBaseProxy