emergent-core 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.bnsignore +16 -0
- data/History.txt +4 -0
- data/Manifest.txt +348 -0
- data/README.rdoc +47 -0
- data/Rakefile +39 -0
- data/app_generators/emergent_core/USAGE +5 -0
- data/app_generators/emergent_core/emergent_core_generator.rb +73 -0
- data/app_generators/emergent_core/templates/core/actionscript.properties +16 -0
- data/app_generators/emergent_core/templates/core/actionscriptair.properties +16 -0
- data/app_generators/emergent_core/templates/core/app.yaml.erb +12 -0
- data/app_generators/emergent_core/templates/core/default_tasks.rake +51 -0
- data/app_generators/emergent_core/templates/core/empty.txt +0 -0
- data/app_generators/emergent_core/templates/core/expressInstall.swf +0 -0
- data/app_generators/emergent_core/templates/core/flex.properties +2 -0
- data/app_generators/emergent_core/templates/core/generate.rb +17 -0
- data/app_generators/emergent_core/templates/core/html-template/AC_OETags.js +276 -0
- data/app_generators/emergent_core/templates/core/html-template/history/history.css +6 -0
- data/app_generators/emergent_core/templates/core/html-template/history/history.js +645 -0
- data/app_generators/emergent_core/templates/core/html-template/history/historyFrame.html +29 -0
- data/app_generators/emergent_core/templates/core/html-template/index.template.html +121 -0
- data/app_generators/emergent_core/templates/core/html-template/playerProductInstall.swf +0 -0
- data/app_generators/emergent_core/templates/core/index.html.erb +18 -0
- data/app_generators/emergent_core/templates/core/index.yaml +11 -0
- data/app_generators/emergent_core/templates/core/mainair-app.xml +134 -0
- data/app_generators/emergent_core/templates/core/mainapp-config.xml +21 -0
- data/app_generators/emergent_core/templates/core/mainapp.mxml +106 -0
- data/app_generators/emergent_core/templates/core/project-textmate.erb +52 -0
- data/app_generators/emergent_core/templates/core/project.properties +18 -0
- data/app_generators/emergent_core/templates/core/projectair.properties +24 -0
- data/app_generators/emergent_core/templates/core/swfobject.js +5 -0
- data/bin/emergent +17 -0
- data/lib/emergent_core.rb +49 -0
- data/lib/restfulx/active_foo.rb +194 -0
- data/lib/restfulx/active_record_tasks.rb +81 -0
- data/lib/restfulx/configuration.rb +76 -0
- data/lib/restfulx/datamapper_foo.rb +31 -0
- data/lib/restfulx/rails/recipes.rb +60 -0
- data/lib/restfulx/rails/swf_helper.rb +60 -0
- data/lib/restfulx/tasks.rb +85 -0
- data/lib/restfulx.rb +117 -0
- data/rails_generators/emergent_cms/USAGE +5 -0
- data/rails_generators/emergent_cms/emergent_cms_generator.rb +21 -0
- data/rails_generators/emergent_cms/templates/PagesEditModel.as +114 -0
- data/rails_generators/emergent_cms/templates/PagesEditView.mxml +102 -0
- data/rails_generators/emergent_config/USAGE +5 -0
- data/rails_generators/emergent_config/emergent_config_generator.rb +330 -0
- data/rails_generators/emergent_config/templates/app/controllers/accounts_controller.rb +104 -0
- data/rails_generators/emergent_config/templates/app/controllers/addresses_controller.rb +97 -0
- data/rails_generators/emergent_config/templates/app/controllers/application.rb +26 -0
- data/rails_generators/emergent_config/templates/app/controllers/assets_controller.rb +1 -0
- data/rails_generators/emergent_config/templates/app/controllers/content_assignments_controller.rb +97 -0
- data/rails_generators/emergent_config/templates/app/controllers/contents_controller.rb +114 -0
- data/rails_generators/emergent_config/templates/app/controllers/sessions_controller.rb +72 -0
- data/rails_generators/emergent_config/templates/app/controllers/sites_controller.rb +1 -0
- data/rails_generators/emergent_config/templates/app/controllers/users_controller.rb +97 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/command/ICommand.as +16 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/command/Undoable.as +46 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/command/UpdateDocumentCommand.as +73 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/DocumentEvent.as +46 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/NavigationEvent.as +31 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/ResourceEvent.as +27 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/event/UndoEvent.as +36 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/AboutUsManager.as +15 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/AccountManager.as +31 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/AuthenticationManager.as +76 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/ContentManager.as +92 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/DocumentManager.as +131 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/DocumentsManager.as +156 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/HomeManager.as +18 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/MainManager.as +23 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/PagesManager.as +71 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/ResourceManager.as +195 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/SiteManager.as +25 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/manager/UndoManager.as +143 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/DocumentMap.mxml +123 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/DocumentsMap.mxml +134 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/ManagerPresentationModelMap.mxml +59 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/ObjectMap.mxml +75 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/PresentationModelViewMap.mxml +81 -0
- data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/PresenterViewMap.mxml +67 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/constant/DocumentType.as +52 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/constant/Resource.as +25 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/constant/ResourceAction.as +28 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/constant/ResourceResult.as +8 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Account.as +32 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Address.as +26 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Asset.as +25 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/AssetAssignment.as +25 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Content.as +46 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/ContentAssignment.as +33 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Document.as +131 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/PlainDocument.as +19 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/RichDocument.as +19 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Session.as +13 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/Snapshot.as +21 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/domain/User.as +28 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/factory/DocumentFactory.as +61 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/factory/DocumentViewFactory.as +59 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/factory/ResourceFactory.as +28 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/AboutUsModel.as +22 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/AccountModel.as +68 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/AuthenticationModel.as +44 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ContactUsModel.as +45 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ContentModel.as +70 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/DocumentModel.as +235 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/DocumentsModel.as +169 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/HomeModel.as +23 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/MainModel.as +35 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/PagesModel.as +44 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ProfileModel.as +99 -0
- data/rails_generators/emergent_config/templates/app/flex/application/models/presentation/ResourceModel.as +100 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/about_us/about_us.mxml +105 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/account/account.mxml +97 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/contact_us/contact_us.mxml +65 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/document/document.mxml +71 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/document/documents.mxml +201 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/document/plain_document.mxml +9 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/document/rich_document.mxml +12 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/gallery/gallery.mxml +37 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/home/home.mxml +58 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/home/home_presenter.as +81 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/home/home_troparchy.mxml +71 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/login/login.mxml +50 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/main/main.mxml +131 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/main/main_presenter.as +166 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/main/main_troparchy.mxml +74 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_bottom_model.as +13 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_bottom_presenter.as +10 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_bottom_view.mxml +48 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_left_model.as +13 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_left_presenter.as +10 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_left_view.mxml +43 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_right_model.as +13 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_right_presenter.as +10 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_right_view.mxml +47 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_top_model.as +13 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_top_presenter.as +10 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bar_top_view.mxml +49 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bars_presenter.as +63 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bars_troparchy.mxml +63 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/navigation/navigation_bars_view.mxml +59 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/pages/pages.mxml +44 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/pages/pages_presenter.as +83 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/pages/pages_troparchy.mxml +62 -0
- data/rails_generators/emergent_config/templates/app/flex/application/views/profile/profile.mxml +73 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/fonts/MyriadPro-Bold.otf +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/fonts/MyriadPro-Regular.otf +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/html/lorem.html +3 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture10.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture11.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture12.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture13.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture14.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture3.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture4.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture5.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture6.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture7.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture8.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/alexgrey/Picture9.png +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_0.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_180.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_270.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_90.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_bottom.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/images/hot_nebula_top.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/itunes7Bg.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/jukebox.css +764 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/jukeboxGfx.swf +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/obsidian.css +734 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/obsidianBg.jpg +0 -0
- data/rails_generators/emergent_config/templates/app/flex/assets/styles/obsidianGfx.swf +0 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/actions/LayoutAction.as +377 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/actions/SimpleLayoutAction.as +210 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/animators/FourDTweenCollection.mxml +50 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/animators/IAnimator.as +39 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/animators/TweenMaxAnimator.as +269 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/cameras/AstroCamera.as +177 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/components/FourDDataGrid.mxml +105 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/components/FourDItemRenderer.mxml +54 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/CenterPerspectiveProjection.as +72 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/ComplexCondition.as +44 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/ConditionsUtil.as +82 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/FourDComponent.as +309 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/InstanceMethodInvoker.as +50 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/InstancePropertyInjector.as +43 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/MethodCaller.as +51 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Pathway.as +10 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/PathwayEvent.as +28 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Pheron.as +34 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Pheron2.as +41 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/PheronReceptor.as +125 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Properties.as +57 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Router.as +50 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/RouterUtil.as +70 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/SimpleCondition.as +42 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/SimpleZSortVO.as +1 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/SimpleZSorter.as +1 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Tecton.as +70 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/Tecton2.as +234 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonCache.as +111 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonEvent.as +39 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonMap.as +515 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonMap2.as +289 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonMapSample.mxml +73 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonReceptor.as +43 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonScope.as +38 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonScopeProperties.as +18 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/core/TectonUtils.as +51 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/events/LayoutActionEvent.as +75 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/CarouselLayout.as +85 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/CircleLayout.as +102 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/CoverFlowLayout.as +136 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/layouts/FourDLayout.as +272 -0
- data/rails_generators/emergent_config/templates/app/flex/com/fourD/utils/TweenUtil.as +110 -0
- data/rails_generators/emergent_config/templates/app/helpers/accounts_helper.rb +93 -0
- data/rails_generators/emergent_config/templates/app/helpers/application_helper.rb +3 -0
- data/rails_generators/emergent_config/templates/app/models/account.rb +84 -0
- data/rails_generators/emergent_config/templates/app/models/account_mailer.rb +24 -0
- data/rails_generators/emergent_config/templates/app/models/account_observer.rb +17 -0
- data/rails_generators/emergent_config/templates/app/models/address.rb +2 -0
- data/rails_generators/emergent_config/templates/app/models/asset.rb +6 -0
- data/rails_generators/emergent_config/templates/app/models/asset_assignment.rb +4 -0
- data/rails_generators/emergent_config/templates/app/models/category.rb +35 -0
- data/rails_generators/emergent_config/templates/app/models/comment.rb +98 -0
- data/rails_generators/emergent_config/templates/app/models/content.rb +89 -0
- data/rails_generators/emergent_config/templates/app/models/content_assignment.rb +21 -0
- data/rails_generators/emergent_config/templates/app/models/image.rb +3 -0
- data/rails_generators/emergent_config/templates/app/models/post.rb +76 -0
- data/rails_generators/emergent_config/templates/app/models/section.rb +97 -0
- data/rails_generators/emergent_config/templates/app/models/site.rb +1 -0
- data/rails_generators/emergent_config/templates/app/models/tag.rb +1 -0
- data/rails_generators/emergent_config/templates/app/models/user.rb +4 -0
- data/rails_generators/emergent_config/templates/app/views/account_mailer/activation.erb +3 -0
- data/rails_generators/emergent_config/templates/app/views/account_mailer/signup_notification.erb +8 -0
- data/rails_generators/emergent_config/templates/config/Capfile +4 -0
- data/rails_generators/emergent_config/templates/config/README.txt +18 -0
- data/rails_generators/emergent_config/templates/config/deploy.rb +36 -0
- data/rails_generators/emergent_config/templates/config/routes.rb +72 -0
- data/rails_generators/emergent_config/templates/core/actionscript.properties +16 -0
- data/rails_generators/emergent_config/templates/core/actionscriptair.properties +16 -0
- data/rails_generators/emergent_config/templates/core/app.yaml.erb +12 -0
- data/rails_generators/emergent_config/templates/core/default_tasks.rake +51 -0
- data/rails_generators/emergent_config/templates/core/emergent_tasks.rake +42 -0
- data/rails_generators/emergent_config/templates/core/empty.txt +0 -0
- data/rails_generators/emergent_config/templates/core/expressInstall.swf +0 -0
- data/rails_generators/emergent_config/templates/core/flex.properties +2 -0
- data/rails_generators/emergent_config/templates/core/generate.rb +17 -0
- data/rails_generators/emergent_config/templates/core/html-template/AC_OETags.js +276 -0
- data/rails_generators/emergent_config/templates/core/html-template/history/history.css +6 -0
- data/rails_generators/emergent_config/templates/core/html-template/history/history.js +645 -0
- data/rails_generators/emergent_config/templates/core/html-template/history/historyFrame.html +29 -0
- data/rails_generators/emergent_config/templates/core/html-template/index.template.html +121 -0
- data/rails_generators/emergent_config/templates/core/html-template/playerProductInstall.swf +0 -0
- data/rails_generators/emergent_config/templates/core/index.html.erb +18 -0
- data/rails_generators/emergent_config/templates/core/index.yaml +11 -0
- data/rails_generators/emergent_config/templates/core/mainair-app.xml +134 -0
- data/rails_generators/emergent_config/templates/core/mainapp-config.xml +21 -0
- data/rails_generators/emergent_config/templates/core/mainapp.mxml +101 -0
- data/rails_generators/emergent_config/templates/core/project-textmate.erb +52 -0
- data/rails_generators/emergent_config/templates/core/project.properties +18 -0
- data/rails_generators/emergent_config/templates/core/projectair.properties +24 -0
- data/rails_generators/emergent_config/templates/core/restfulx.yml +14 -0
- data/rails_generators/emergent_config/templates/core/restfulx_tasks.rake +6 -0
- data/rails_generators/emergent_config/templates/core/swfobject.js +5 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_accounts.rb +40 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_addresses.rb +18 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_asset_assignments.rb +19 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_assets.rb +20 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_content_assignments.rb +26 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_contents.rb +21 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_sessions.rb +16 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_sites.rb +27 -0
- data/rails_generators/emergent_config/templates/db/migrate/create_users.rb +15 -0
- data/rails_generators/emergent_config/templates/lib/analytics.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/app_controller.rb.erb +26 -0
- data/rails_generators/emergent_config/templates/lib/as3corelib-0.92.1.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/as3crypto-1.3patched.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/as3crypto.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/as3ds-1.04.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/as3httpclientlib-1.0.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/authenticated_system.rb +189 -0
- data/rails_generators/emergent_config/templates/lib/authenticated_test_helper.rb +11 -0
- data/rails_generators/emergent_config/templates/lib/containerEx.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/flare.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/flash_session_hack.rb +27 -0
- data/rails_generators/emergent_config/templates/lib/flex2BrowserManager.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/flexlib.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/fluint.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/mate_0_8_6_enhanced.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/openflux.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/pv3d.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/restfulx.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/site_keys.rb +38 -0
- data/rails_generators/emergent_config/templates/lib/tweenMax.swc +0 -0
- data/rails_generators/emergent_config/templates/lib/urlkitFlex3.swc +0 -0
- data/rails_generators/emergent_config/templates/shell_script +31 -0
- data/rails_generators/emergent_controller/USAGE +5 -0
- data/rails_generators/emergent_controller/emergent_controller_generator.rb +25 -0
- data/rails_generators/emergent_controller/templates/controller.as.erb +37 -0
- data/rails_generators/emergent_core/USAGE +5 -0
- data/rails_generators/emergent_core/emergent_core_generator.rb +157 -0
- data/rails_generators/emergent_iphone/USAGE +5 -0
- data/rails_generators/emergent_iphone/emergent_iphone_generator.rb +27 -0
- data/rails_generators/emergent_scaffold/USAGE +5 -0
- data/rails_generators/emergent_scaffold/emergent_scaffold_generator.rb +157 -0
- data/rails_generators/emergent_scaffold/templates/component.mxml.erb +101 -0
- data/rails_generators/emergent_scaffold/templates/controller.rb.erb +101 -0
- data/rails_generators/emergent_scaffold/templates/edit_index_view.mxml.erb +114 -0
- data/rails_generators/emergent_scaffold/templates/edit_show_view.mxml.erb +84 -0
- data/rails_generators/emergent_scaffold/templates/filter_view.mxml.erb +1 -0
- data/rails_generators/emergent_scaffold/templates/fixtures.yml.erb +128 -0
- data/rails_generators/emergent_scaffold/templates/index_view.mxml.erb +58 -0
- data/rails_generators/emergent_scaffold/templates/item_renderer.mxml.erb +53 -0
- data/rails_generators/emergent_scaffold/templates/manager.as.erb +31 -0
- data/rails_generators/emergent_scaffold/templates/migration.rb.erb +22 -0
- data/rails_generators/emergent_scaffold/templates/model.as.erb +42 -0
- data/rails_generators/emergent_scaffold/templates/model.rb.erb +11 -0
- data/rails_generators/emergent_scaffold/templates/presentation_model.as.erb +33 -0
- data/rails_generators/emergent_scaffold/templates/presenter.as.erb +98 -0
- data/rails_generators/emergent_scaffold/templates/show_view.mxml.erb +50 -0
- data/rails_generators/emergent_scaffold/templates/view_map.mxml.erb +40 -0
- data/rails_generators/emergent_scaffold/templates/views_panel.mxml.erb +64 -0
- data/rails_generators/emergent_styler/USAGE +5 -0
- data/rails_generators/emergent_styler/emergent_styler_generator.rb +21 -0
- data/rails_generators/rx_yaml_scaffold/USAGE +51 -0
- data/rails_generators/rx_yaml_scaffold/rx_yaml_scaffold_generator.rb +49 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/spec/emergent_core_spec.rb +7 -0
- data/spec/spec_helper.rb +16 -0
- data/tasks/ann.rake +80 -0
- data/tasks/bones.rake +20 -0
- data/tasks/gem.rake +201 -0
- data/tasks/git.rake +40 -0
- data/tasks/manifest.rake +48 -0
- data/tasks/notes.rake +27 -0
- data/tasks/post_load.rake +39 -0
- data/tasks/rdoc.rake +50 -0
- data/tasks/rubyforge.rake +55 -0
- data/tasks/setup.rb +279 -0
- data/tasks/spec.rake +54 -0
- data/tasks/svn.rake +47 -0
- data/tasks/test.rake +40 -0
- data/test/test_emergent_core.rb +0 -0
- data/test/test_emergent_iphone_generator.rb +46 -0
- data/test/test_generator_helper.rb +29 -0
- metadata +437 -0
@@ -0,0 +1,25 @@
|
|
1
|
+
package <%= base_package %>.controllers.manager {
|
2
|
+
|
3
|
+
import <%= base_package %>.models.domain.Content;
|
4
|
+
|
5
|
+
import org.restfulx.Rx;
|
6
|
+
import org.restfulx.collections.ModelsCollection;
|
7
|
+
|
8
|
+
public class SiteManager extends ContentManager {
|
9
|
+
|
10
|
+
override public function set contentTree(value:ModelsCollection):void {
|
11
|
+
super.contentTree = Rx.models.index(Content);
|
12
|
+
}
|
13
|
+
|
14
|
+
public function SiteManager() {
|
15
|
+
}
|
16
|
+
|
17
|
+
override public function route(action:String, resource:Object, contentNode:String=null):void {
|
18
|
+
if (!contentNode) {
|
19
|
+
dispatchContentToManager(resource, action, contentNode);
|
20
|
+
} else {
|
21
|
+
super.route(action, resource, contentNode);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
@@ -0,0 +1,143 @@
|
|
1
|
+
/* Copyright 2008 Theo Hultberg/Iconara */
|
2
|
+
|
3
|
+
package <%= base_package %>.controllers.manager {
|
4
|
+
|
5
|
+
import flash.events.Event;
|
6
|
+
import flash.events.EventDispatcher;
|
7
|
+
|
8
|
+
import <%= base_package %>.controllers.command.Undoable;
|
9
|
+
|
10
|
+
|
11
|
+
/**
|
12
|
+
* The UndoManager keeps a stack of all the (undoable) commands that have
|
13
|
+
* been executed, and provides an interface for interacting with this
|
14
|
+
* command history.
|
15
|
+
*
|
16
|
+
* Once a command is undone it is placed on the redo stack, and vice-versa. If
|
17
|
+
* a command is undone and another command is added to the undo stack before
|
18
|
+
* redo is called the redo stack is cleared.
|
19
|
+
*
|
20
|
+
* The current implementation keeps an infinite history, which probably isn't
|
21
|
+
* a very good idea in the long run.
|
22
|
+
*
|
23
|
+
* The current implementation also ignores the timestamp property of Undoable,
|
24
|
+
* which is unfortunate. The timestamp makes it possible to group undoables so
|
25
|
+
* that those that were performed at almost the same time, just milliseconds
|
26
|
+
* apart, could be undone at the same time. Take typing a text as an example:
|
27
|
+
* each keystroke is an undoable action, but the user may not expect or want
|
28
|
+
* to have to undo each keystroke separately. Instead of implementing an
|
29
|
+
* algorithm that only creates an undoable command at certain intervals, this
|
30
|
+
* could be done automatically here in the undo manager by undoing all commands
|
31
|
+
* that were executed within the x milliseconds of the command that is being
|
32
|
+
* undone.
|
33
|
+
*/
|
34
|
+
public class UndoManager extends EventDispatcher {
|
35
|
+
|
36
|
+
private var undoStack : Array;
|
37
|
+
private var redoStack : Array;
|
38
|
+
|
39
|
+
|
40
|
+
/** Undo is possible if there are undoable commands in the stack. */
|
41
|
+
[Bindable(event="undoChanged")]
|
42
|
+
public function get undoPossible( ) : Boolean {
|
43
|
+
return undoStack.length > 0;
|
44
|
+
}
|
45
|
+
|
46
|
+
/**
|
47
|
+
* Redo is possible if there are undoable commands in the redo stack,
|
48
|
+
* i.e. if any command have been undone.
|
49
|
+
*/
|
50
|
+
[Bindable(event="undoChanged")]
|
51
|
+
public function get redoPossible( ) : Boolean {
|
52
|
+
return redoStack.length > 0;
|
53
|
+
}
|
54
|
+
|
55
|
+
/**
|
56
|
+
* Returns a copy of the undo stack. This can be used to display the undo
|
57
|
+
* history and provide a way to jump multiple steps back in the undo history at once.
|
58
|
+
*
|
59
|
+
* The commands in the history are sorted from the oldest to the newest.
|
60
|
+
*/
|
61
|
+
[Bindable(event="undoChanged")]
|
62
|
+
public function get history( ) : Array {
|
63
|
+
return undoStack.slice();
|
64
|
+
}
|
65
|
+
|
66
|
+
|
67
|
+
public function UndoManager( ) {
|
68
|
+
undoStack = [ ];
|
69
|
+
redoStack = [ ];
|
70
|
+
}
|
71
|
+
|
72
|
+
private function dispatchUndoChanged( ) : void {
|
73
|
+
dispatchEvent(new Event("undoChanged"));
|
74
|
+
}
|
75
|
+
|
76
|
+
/**
|
77
|
+
* Once an undoable command is executed it should be added to the undo manager using
|
78
|
+
* this method.
|
79
|
+
*
|
80
|
+
* This method clears the redo stack, because adding a new undoable after and undo forks
|
81
|
+
* the undo history, and the state of the application is no longer the same as it was when
|
82
|
+
* the commands on the redo stack were executed originally.
|
83
|
+
*/
|
84
|
+
public function addUndoable( undoable : Undoable ) : void {
|
85
|
+
undoStack.push(undoable);
|
86
|
+
redoStack = [ ];
|
87
|
+
|
88
|
+
dispatchUndoChanged();
|
89
|
+
}
|
90
|
+
|
91
|
+
/**
|
92
|
+
* This method provides a way to jump an arbitrary number of steps back in the undo history.
|
93
|
+
*/
|
94
|
+
public function restore( undoable : Undoable ) : void {
|
95
|
+
if ( undoStack.indexOf(undoable) > -1 ) {
|
96
|
+
while ( redoStack[redoStack.length - 1] != undoable ) {
|
97
|
+
// undo until the newest command on the redo stack is the target command
|
98
|
+
|
99
|
+
undo();
|
100
|
+
|
101
|
+
// this could most certainly be implemented more efficiently, for example
|
102
|
+
// placing all commands on the undo stack on the redo stack until the
|
103
|
+
// target undoable was found, call undo on that command and place it on
|
104
|
+
// the redo stack, but we'll save that for when we see the need
|
105
|
+
}
|
106
|
+
} else {
|
107
|
+
throw new ArgumentError("Cannot restore because the undoable object specified is not part of the undo history");
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
/**
|
112
|
+
* Undo the most recently added command. The command is placed on the redo stack.
|
113
|
+
*/
|
114
|
+
public function undo( ) : void {
|
115
|
+
if ( undoPossible ) {
|
116
|
+
var command : Undoable = undoStack.pop();
|
117
|
+
|
118
|
+
command.undo();
|
119
|
+
|
120
|
+
redoStack.push(command);
|
121
|
+
|
122
|
+
dispatchUndoChanged();
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
/**
|
127
|
+
* Redo the most recently undone command. The command is placed on the undo stack.
|
128
|
+
*/
|
129
|
+
public function redo( ) : void {
|
130
|
+
if ( redoPossible ) {
|
131
|
+
var command : Undoable = redoStack.pop();
|
132
|
+
|
133
|
+
command.redo();
|
134
|
+
|
135
|
+
undoStack.push(command);
|
136
|
+
|
137
|
+
dispatchUndoChanged();
|
138
|
+
}
|
139
|
+
}
|
140
|
+
|
141
|
+
}
|
142
|
+
|
143
|
+
}
|
@@ -0,0 +1,123 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
|
3
|
+
<!-- Copyright 2008 Theo Hultberg/Iconara -->
|
4
|
+
|
5
|
+
<LocalEventMap xmlns="http://mate.asfusion.com/" xmlns:mx="http://www.adobe.com/2006/mxml">
|
6
|
+
|
7
|
+
<mx:Script>
|
8
|
+
<![CDATA[
|
9
|
+
|
10
|
+
import mx.events.FlexEvent;
|
11
|
+
|
12
|
+
import com.asfusion.mate.actionLists.IScope;
|
13
|
+
|
14
|
+
|
15
|
+
import <%= base_package %>.models.domain.Document;
|
16
|
+
import <%= base_package %>.models.presentation.DocumentModel;
|
17
|
+
|
18
|
+
import <%= base_package %>.views.document.PlainDocumentView;
|
19
|
+
import <%= base_package %>.views.document.RichDocumentView;
|
20
|
+
import <%= base_package %>.views.document.DocumentView;
|
21
|
+
|
22
|
+
import <%= base_package %>.controllers.event.DocumentEvent;
|
23
|
+
import <%= base_package %>.controllers.event.UndoEvent;
|
24
|
+
import <%= base_package %>.controllers.manager.DocumentManager;
|
25
|
+
import <%= base_package %>.controllers.manager.UndoManager;
|
26
|
+
|
27
|
+
[Bindable] public var doc:Document;
|
28
|
+
|
29
|
+
]]>
|
30
|
+
</mx:Script>
|
31
|
+
|
32
|
+
<Debugger level="{Debugger.ALL}"/>
|
33
|
+
|
34
|
+
<!--
|
35
|
+
This is a local event map, which is different from regular event maps in some small, but crucial aspects:
|
36
|
+
|
37
|
+
- A local event map only hears events comming from the part of the application where it is defined, i.e.
|
38
|
+
from the view that declares it and all children of that view.
|
39
|
+
- By default all objects created by ObjectBuilder, MethodInvoker and other tags are local to this event map.
|
40
|
+
|
41
|
+
The reason I use a local event map here is that it makes each DocumentView into a mini-application within
|
42
|
+
the application. This is the controller for this mini-application, and the only thing it knows about is how
|
43
|
+
to manage a Document instance. The application controller has to worry about all documents, which of them are
|
44
|
+
open, which is the current, etc. but this sub-controller only needs to know about its specific document. This
|
45
|
+
makes the code here much simpler.
|
46
|
+
|
47
|
+
The events that this event map handles are also heard by the top-level event map, unless you stop their
|
48
|
+
propagation explicitly. For example the DocumentEvent.SAVE event is handled both here and in the top-level
|
49
|
+
event map. Most other events are only handled here.
|
50
|
+
-->
|
51
|
+
|
52
|
+
<EventHandlers type="{FlexEvent.PREINITIALIZE}">
|
53
|
+
<!--
|
54
|
+
A MethodInvoker is a kind of ObjectBuilder, so this creates a DocumentManager,
|
55
|
+
sets its "dispatcher" property and calls the setDocument method.
|
56
|
+
-->
|
57
|
+
<MethodInvoker generator="{DocumentManager}" method="setDocument" arguments="{[doc]}">
|
58
|
+
<Properties dispatcher="{scope.dispatcher}"/>
|
59
|
+
</MethodInvoker>
|
60
|
+
|
61
|
+
<ObjectBuilder generator="{UndoManager}"/>
|
62
|
+
</EventHandlers>
|
63
|
+
|
64
|
+
<EventHandlers type="{DocumentEvent.UPDATE}">
|
65
|
+
<MethodInvoker generator="{DocumentManager}" method="update" arguments="{[event.reference]}"/>
|
66
|
+
</EventHandlers>
|
67
|
+
|
68
|
+
<EventHandlers type="{DocumentEvent.SAVED}" dispatcherType="global">
|
69
|
+
<!--
|
70
|
+
This just tells the DocumentManager instance to remove the dirty flag for the document.
|
71
|
+
|
72
|
+
The event is dispatched by the top-level event map when the document has been successfully saved.
|
73
|
+
Notice the dispatcherType property that is set to "global", it makes it possible to listen to
|
74
|
+
events in the same way as top-level event maps can, and it makes it possible to communicate from
|
75
|
+
a top-level event map to local event maps.
|
76
|
+
|
77
|
+
To avoid reacting to events dispatched because other documents were saved there is a StopHandlers
|
78
|
+
that checks the document reference in the event and compares it to the local document, unless
|
79
|
+
they are the same the event handling will stop.
|
80
|
+
-->
|
81
|
+
|
82
|
+
<StopHandlers eventPropagation="noStop">
|
83
|
+
<stopFunction>{function( scope : IScope ) : Boolean {
|
84
|
+
return DocumentEvent(scope.event).reference != DocumentMap(scope.eventMap).doc;
|
85
|
+
}}</stopFunction>
|
86
|
+
</StopHandlers>
|
87
|
+
|
88
|
+
<MethodInvoker generator="{DocumentManager}" method="documentSaved"/>
|
89
|
+
</EventHandlers>
|
90
|
+
|
91
|
+
<EventHandlers type="{UndoEvent.UNDO}">
|
92
|
+
<MethodInvoker generator="{UndoManager}" method="undo"/>
|
93
|
+
</EventHandlers>
|
94
|
+
|
95
|
+
<EventHandlers type="{UndoEvent.REDO}">
|
96
|
+
<MethodInvoker generator="{UndoManager}" method="redo"/>
|
97
|
+
</EventHandlers>
|
98
|
+
|
99
|
+
<EventHandlers type="{UndoEvent.RESTORE}">
|
100
|
+
<MethodInvoker generator="{UndoManager}" method="restore" arguments="{event.undoable}"/>
|
101
|
+
</EventHandlers>
|
102
|
+
|
103
|
+
<EventHandlers type="{UndoEvent.ADD_UNDOABLE}">
|
104
|
+
<MethodInvoker generator="{UndoManager}" method="addUndoable" arguments="{event.undoable}"/>
|
105
|
+
</EventHandlers>
|
106
|
+
|
107
|
+
|
108
|
+
<Injectors targets="{[PlainDocumentView, RichDocumentView, DocumentView]}">
|
109
|
+
<ObjectBuilder generator="{DocumentModel}" registerTarget="true"/>
|
110
|
+
|
111
|
+
<PropertyInjector targetKey="model" source="{lastReturn}" />
|
112
|
+
</Injectors>
|
113
|
+
|
114
|
+
<Injectors target="{DocumentModel}">
|
115
|
+
<PropertyInjector targetKey="dispatcher" source="{scope.dispatcher}"/>
|
116
|
+
<PropertyInjector targetKey="document" source="{DocumentManager}" sourceKey="document"/>
|
117
|
+
<PropertyInjector targetKey="documentDirty" source="{DocumentManager}" sourceKey="documentDirty"/>
|
118
|
+
<PropertyInjector targetKey="undoPossible" source="{UndoManager}" sourceKey="undoPossible"/>
|
119
|
+
<PropertyInjector targetKey="redoPossible" source="{UndoManager}" sourceKey="redoPossible"/>
|
120
|
+
<PropertyInjector targetKey="undoHistory" source="{UndoManager}" sourceKey="history"/>
|
121
|
+
</Injectors>
|
122
|
+
|
123
|
+
</LocalEventMap>
|
@@ -0,0 +1,134 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
|
3
|
+
<!-- Copyright 2008 Theo Hultberg/Iconara -->
|
4
|
+
|
5
|
+
<EventMap xmlns="http://mate.asfusion.com/" xmlns:mx="http://www.adobe.com/2006/mxml">
|
6
|
+
|
7
|
+
<mx:Script>
|
8
|
+
<![CDATA[
|
9
|
+
|
10
|
+
import mx.events.FlexEvent;
|
11
|
+
|
12
|
+
import <%= base_package %>.controllers.event.DocumentEvent;
|
13
|
+
|
14
|
+
import <%= base_package %>.controllers.manager.DocumentsManager;
|
15
|
+
|
16
|
+
import <%= base_package %>.views.document.DocumentsView;
|
17
|
+
import <%= base_package %>.models.factory.DocumentViewFactory;
|
18
|
+
|
19
|
+
import <%= base_package %>.models.presentation.DocumentsModel;
|
20
|
+
|
21
|
+
import <%= base_package %>.models.factory.DocumentFactory;
|
22
|
+
|
23
|
+
]]>
|
24
|
+
</mx:Script>
|
25
|
+
|
26
|
+
<Debugger level="{Debugger.ALL}"/>
|
27
|
+
|
28
|
+
<!--
|
29
|
+
This is the main event map for the application, think of it as the application controller.
|
30
|
+
-->
|
31
|
+
|
32
|
+
<EventHandlers type="{FlexEvent.PREINITIALIZE}">
|
33
|
+
<!--
|
34
|
+
The FlexEvent.PREINITIALIZE event is a good place for creating and initializing managers.
|
35
|
+
-->
|
36
|
+
|
37
|
+
<ObjectBuilder generator="{DocumentFactory}"/>
|
38
|
+
|
39
|
+
<ObjectBuilder generator="{DocumentsManager}">
|
40
|
+
<!--
|
41
|
+
"lastReturn" refers to the return value of the last action, in this case the object
|
42
|
+
created by the ObjectBuilder tag above
|
43
|
+
-->
|
44
|
+
<Properties documentFactory="{lastReturn}"/>
|
45
|
+
</ObjectBuilder>
|
46
|
+
</EventHandlers>
|
47
|
+
|
48
|
+
<EventHandlers type="{FlexEvent.APPLICATION_COMPLETE}">
|
49
|
+
<!--
|
50
|
+
The FlexEvent.APPLICATION_COMPLETE is a good place to do things that need to be done just
|
51
|
+
when the application setup is finished. Think of it as the FlexEvent.CREATION_COMPLETE of
|
52
|
+
the whole application. It's a good place to load data that needs to be loaded early and
|
53
|
+
set the default navigation state.
|
54
|
+
|
55
|
+
This application doesn't load anything and has only one view, so it doesn't need to do
|
56
|
+
anything here. I have declared this EventHandlers just to add these tips.
|
57
|
+
-->
|
58
|
+
</EventHandlers>
|
59
|
+
|
60
|
+
<EventHandlers type="{DocumentEvent.CREATE_NEW}">
|
61
|
+
<MethodInvoker generator="{DocumentsManager}" method="newDocument" arguments="{event.documentType}"/>
|
62
|
+
</EventHandlers>
|
63
|
+
|
64
|
+
<EventHandlers type="{DocumentEvent.OPEN}">
|
65
|
+
<MethodInvoker generator="{DocumentsManager}" method="openDocument" arguments="{[event.reference]}"/>
|
66
|
+
</EventHandlers>
|
67
|
+
|
68
|
+
<EventHandlers type="{DocumentEvent.CLOSE}">
|
69
|
+
<MethodInvoker generator="{DocumentsManager}" method="closeDocument" arguments="{[event.reference]}"/>
|
70
|
+
</EventHandlers>
|
71
|
+
|
72
|
+
<EventHandlers type="{DocumentEvent.DELETE}">
|
73
|
+
<MethodInvoker generator="{DocumentsManager}" method="deleteDocument" arguments="{[event.reference]}"/>
|
74
|
+
</EventHandlers>
|
75
|
+
|
76
|
+
<EventHandlers type="{DocumentEvent.SAVE}">
|
77
|
+
<MethodInvoker generator="{DocumentsManager}" method="save" arguments="{[event.reference]}"/>
|
78
|
+
<!--
|
79
|
+
This application doesn't actually save documents, but if it had this would be the place to do it.
|
80
|
+
|
81
|
+
When the save is successfully completed (or just not done at all, in this case), I dispatch an
|
82
|
+
event telling anyone who listens that a document has been saved.
|
83
|
+
-->
|
84
|
+
<EventAnnouncer generator="{DocumentEvent}" type="{DocumentEvent.SAVED}">
|
85
|
+
<Properties reference="{event.reference}"/>
|
86
|
+
</EventAnnouncer>
|
87
|
+
</EventHandlers>
|
88
|
+
|
89
|
+
|
90
|
+
<Injectors target="{DocumentsView}">
|
91
|
+
<!--
|
92
|
+
This creates the Presentation Model object for the MainView, notice the registerTarget
|
93
|
+
property, which makes it possible to use Injectors that target this object, something that
|
94
|
+
otherwise is only possible with view objects.
|
95
|
+
-->
|
96
|
+
<ObjectBuilder generator="{DocumentsModel}" registerTarget="true" />
|
97
|
+
|
98
|
+
<!-- This injects the DocumentsModel instance created by the last tag into the MainView instance -->
|
99
|
+
<PropertyInjector targetKey="model" source="{lastReturn}" />
|
100
|
+
|
101
|
+
<!--
|
102
|
+
This creates a DocumentViewFactory and injects it into MainView. If more than one MainView
|
103
|
+
were to be created the same DocumentViewFactory instance would be reused, because Mate caches
|
104
|
+
all objects that are created by the EventMap, unless you tell it not to.
|
105
|
+
-->
|
106
|
+
<PropertyInjector targetKey="documentViewFactory" source="{DocumentViewFactory}"/>
|
107
|
+
</Injectors>
|
108
|
+
|
109
|
+
<Injectors target="{DocumentsModel}">
|
110
|
+
<!--
|
111
|
+
DocumentModel is not a view class, but can be used as a target for injection because an instance
|
112
|
+
of the class was created with an ObjectBuilder that had the registerTarget property set to true,
|
113
|
+
see the Injectors for DocumentView.
|
114
|
+
-->
|
115
|
+
|
116
|
+
<!--
|
117
|
+
"scope.dispatcher" refers to the event dispatcher used by the event map. Events dispatched using this
|
118
|
+
dispatcher will be heard by this event map. The reason why I inject this dispatcher into the DocumentsModel
|
119
|
+
object is that since it's not a view class events that it dispatches don't bubble up, and so it needs
|
120
|
+
a way to dispatch events that can be heard by this event map.
|
121
|
+
-->
|
122
|
+
<PropertyInjector targetKey="dispatcher" source="{scope.dispatcher}"/>
|
123
|
+
|
124
|
+
<!--
|
125
|
+
This injects some objects into the DocumentsModel instance, but also sets up bindings so that when the
|
126
|
+
"documents", "openDocuments" or "currentDocument" properties on the DocumentsManager instance change
|
127
|
+
they will automatically be updated in the DocumentsModel instance too.
|
128
|
+
-->
|
129
|
+
<PropertyInjector targetKey="documents" source="{DocumentsManager}" sourceKey="documents"/>
|
130
|
+
<PropertyInjector targetKey="openDocuments" source="{DocumentsManager}" sourceKey="openDocuments"/>
|
131
|
+
<PropertyInjector targetKey="currentDocument" source="{DocumentsManager}" sourceKey="currentDocument"/>
|
132
|
+
</Injectors>
|
133
|
+
|
134
|
+
</EventMap>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<EventMap xmlns="http://mate.asfusion.com/" xmlns:mx="http://www.adobe.com/2006/mxml">
|
3
|
+
|
4
|
+
<!--
|
5
|
+
This is the main event map for the application, think of it as the application controller.
|
6
|
+
-->
|
7
|
+
|
8
|
+
<mx:Script>
|
9
|
+
<![CDATA[
|
10
|
+
|
11
|
+
import mx.events.FlexEvent;
|
12
|
+
|
13
|
+
import <%= base_package %>.models.presentation.*;
|
14
|
+
import <%= base_package %>.controllers.manager.*;
|
15
|
+
|
16
|
+
import <%= base_package %>.views.navigation.NavigationBarLeftView;
|
17
|
+
|
18
|
+
]]>
|
19
|
+
</mx:Script>
|
20
|
+
|
21
|
+
<!-- <Debugger level="{Debugger.ALL}"/> -->
|
22
|
+
|
23
|
+
<EventHandlers type="{FlexEvent.PREINITIALIZE}">
|
24
|
+
</EventHandlers>
|
25
|
+
|
26
|
+
<EventHandlers type="{FlexEvent.APPLICATION_COMPLETE}">
|
27
|
+
|
28
|
+
</EventHandlers>
|
29
|
+
|
30
|
+
<Injectors targets="{[AuthenticationManager, HomeManager, AboutUsManager, SiteManager]}">
|
31
|
+
<PropertyInjector targetKey="dispatcher" source="{scope.dispatcher}"/>
|
32
|
+
</Injectors>
|
33
|
+
|
34
|
+
<Injectors target="{MainManager}">
|
35
|
+
<PropertyInjector targetKey="cmsMode" source="{NavigationBarTopModel}" sourceKey="cmsMode"/>
|
36
|
+
</Injectors>
|
37
|
+
|
38
|
+
<Injectors target="{ProfileModel}">
|
39
|
+
<PropertyInjector targetKey="currentUser" source="{AuthenticationManager}" sourceKey="currentUser"/>
|
40
|
+
</Injectors>
|
41
|
+
|
42
|
+
<Injectors target="{MainModel}">
|
43
|
+
<PropertyInjector targetKey="currentUser" source="{AuthenticationManager}" sourceKey="currentUser"/>
|
44
|
+
<PropertyInjector targetKey="login" source="{AuthenticationManager}" sourceKey="login"/>
|
45
|
+
<PropertyInjector targetKey="logout" source="{AuthenticationManager}" sourceKey="logout"/>
|
46
|
+
<PropertyInjector targetKey="cmsMode" source="{MainManager}" sourceKey="cmsMode"/>
|
47
|
+
</Injectors>
|
48
|
+
|
49
|
+
<Injectors target="{AboutUsModel}">
|
50
|
+
<PropertyInjector targetKey="target" source="{AboutUsManager}" sourceKey="target"/>
|
51
|
+
<PropertyInjector targetKey="parent" source="{AboutUsManager}" sourceKey="parent"/>
|
52
|
+
<PropertyInjector targetKey="children" source="{AboutUsManager}" sourceKey="children"/>
|
53
|
+
</Injectors>
|
54
|
+
|
55
|
+
<Injectors target="{NavigationBarLeftView}">
|
56
|
+
<PropertyInjector targetKey="contentTree" source="{SiteManager}" sourceKey="contentTree"/>
|
57
|
+
</Injectors>
|
58
|
+
|
59
|
+
</EventMap>
|
data/rails_generators/emergent_config/templates/app/flex/application/controllers/map/ObjectMap.mxml
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<EventMap xmlns="http://mate.asfusion.com/" xmlns:mx="http://www.adobe.com/2006/mxml">
|
3
|
+
|
4
|
+
<mx:Script>
|
5
|
+
<![CDATA[
|
6
|
+
|
7
|
+
import mx.events.FlexEvent;
|
8
|
+
|
9
|
+
import <%= base_package %>.models.presentation.*;
|
10
|
+
|
11
|
+
import <%= base_package %>.controllers.manager.*;
|
12
|
+
|
13
|
+
import <%= base_package %>.views.aboutUs.*;
|
14
|
+
import <%= base_package %>.views.account.*;
|
15
|
+
import <%= base_package %>.views.login.*;
|
16
|
+
import <%= base_package %>.views.profile.*;
|
17
|
+
import <%= base_package %>.views.contactUs.*;
|
18
|
+
import <%= base_package %>.views.main.*;
|
19
|
+
import <%= base_package %>.views.pages.*;
|
20
|
+
import <%= base_package %>.views.navigation.*;
|
21
|
+
|
22
|
+
import <%= base_package %>.models.factory.ResourceFactory;
|
23
|
+
|
24
|
+
]]>
|
25
|
+
</mx:Script>
|
26
|
+
|
27
|
+
<!-- <Debugger level="{Debugger.ALL}"/> -->
|
28
|
+
|
29
|
+
<EventHandlers type="{FlexEvent.PREINITIALIZE}">
|
30
|
+
<!-- Views -->
|
31
|
+
<ObjectBuilder generator="{AccountView}"/>
|
32
|
+
<ObjectBuilder generator="{LoginView}"/>
|
33
|
+
<ObjectBuilder generator="{ProfileView}"/>
|
34
|
+
<ObjectBuilder generator="{ContactUsView}"/>
|
35
|
+
<ObjectBuilder generator="{PagesView}"/>
|
36
|
+
<ObjectBuilder generator="{NavigationBarLeftView}"/>
|
37
|
+
<ObjectBuilder generator="{NavigationBarRightView}"/>
|
38
|
+
<ObjectBuilder generator="{NavigationBarTopView}"/>
|
39
|
+
<ObjectBuilder generator="{NavigationBarBottomView}"/>
|
40
|
+
<ObjectBuilder generator="{NavigationBarsView}"/>
|
41
|
+
|
42
|
+
<!-- Presenters -->
|
43
|
+
<ObjectBuilder generator="{PagesPresenter}"/>
|
44
|
+
<ObjectBuilder generator="{NavigationBarLeftPresenter}"/>
|
45
|
+
<ObjectBuilder generator="{NavigationBarRightPresenter}"/>
|
46
|
+
<ObjectBuilder generator="{NavigationBarTopPresenter}"/>
|
47
|
+
<ObjectBuilder generator="{NavigationBarBottomPresenter}"/>
|
48
|
+
<ObjectBuilder generator="{NavigationBarsPresenter}"/>
|
49
|
+
|
50
|
+
<!-- Managers -->
|
51
|
+
<ObjectBuilder generator="{AccountManager}"/>
|
52
|
+
<ObjectBuilder generator="{ResourceManager}"/>
|
53
|
+
<ObjectBuilder generator="{PagesManager}"/>
|
54
|
+
<ObjectBuilder generator="{AuthenticationManager}"/>
|
55
|
+
<ObjectBuilder generator="{SiteManager}"/>
|
56
|
+
|
57
|
+
<!-- Presentation Models -->
|
58
|
+
<ObjectBuilder generator="{AccountModel}"/>
|
59
|
+
<ObjectBuilder generator="{ResourceModel}"/>
|
60
|
+
<ObjectBuilder generator="{PagesModel}"/>
|
61
|
+
<ObjectBuilder generator="{MainModel}"/>
|
62
|
+
<ObjectBuilder generator="{ContactUsModel}"/>
|
63
|
+
<ObjectBuilder generator="{ProfileModel}"/>
|
64
|
+
<ObjectBuilder generator="{AuthenticationModel}"/>
|
65
|
+
<ObjectBuilder generator="{NavigationBarLeftModel}"/>
|
66
|
+
<ObjectBuilder generator="{NavigationBarRightModel}"/>
|
67
|
+
<ObjectBuilder generator="{NavigationBarTopModel}"/>
|
68
|
+
<ObjectBuilder generator="{NavigationBarBottomModel}"/>
|
69
|
+
<ObjectBuilder generator="{NavigationBarsModel}"/>
|
70
|
+
|
71
|
+
<!-- Factories -->
|
72
|
+
<ObjectBuilder generator="{ResourceFactory}"/>
|
73
|
+
</EventHandlers>
|
74
|
+
|
75
|
+
</EventMap>
|
@@ -0,0 +1,81 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<EventMap xmlns="http://mate.asfusion.com/" xmlns:mx="http://www.adobe.com/2006/mxml">
|
3
|
+
|
4
|
+
<mx:Script>
|
5
|
+
<![CDATA[
|
6
|
+
|
7
|
+
import mx.events.FlexEvent;
|
8
|
+
|
9
|
+
import <%= base_package %>.models.presentation.AccountModel;
|
10
|
+
import <%= base_package %>.models.presentation.ProfileModel;
|
11
|
+
import <%= base_package %>.models.presentation.ContactUsModel;
|
12
|
+
import <%= base_package %>.models.presentation.AuthenticationModel;
|
13
|
+
import <%= base_package %>.models.presentation.HomeModel;
|
14
|
+
import <%= base_package %>.models.presentation.AboutUsModel;
|
15
|
+
import <%= base_package %>.models.presentation.MainModel;
|
16
|
+
|
17
|
+
import <%= base_package %>.views.account.AccountView;
|
18
|
+
import <%= base_package %>.views.login.LoginView;
|
19
|
+
import <%= base_package %>.views.profile.ProfileView;
|
20
|
+
import <%= base_package %>.views.contactUs.ContactUsView;
|
21
|
+
import <%= base_package %>.views.home.HomeView;
|
22
|
+
import <%= base_package %>.views.aboutUs.AboutUsView;
|
23
|
+
import <%= base_package %>.views.main.MainView;
|
24
|
+
|
25
|
+
]]>
|
26
|
+
</mx:Script>
|
27
|
+
|
28
|
+
<!-- <Debugger level="{Debugger.ALL}"/> -->
|
29
|
+
|
30
|
+
<EventHandlers type="{FlexEvent.PREINITIALIZE}">
|
31
|
+
</EventHandlers>
|
32
|
+
|
33
|
+
<EventHandlers type="{FlexEvent.APPLICATION_COMPLETE}">
|
34
|
+
</EventHandlers>
|
35
|
+
|
36
|
+
<Injectors target="{MainView}">
|
37
|
+
<PropertyInjector targetKey="model" source="{MainModel}" />
|
38
|
+
</Injectors>
|
39
|
+
|
40
|
+
<!-- Pages -->
|
41
|
+
<Injectors target="{HomeView}">
|
42
|
+
<PropertyInjector targetKey="model" source="{HomeModel}" />
|
43
|
+
</Injectors>
|
44
|
+
|
45
|
+
<Injectors target="{LoginView}">
|
46
|
+
<PropertyInjector targetKey="model" source="{AuthenticationModel}" />
|
47
|
+
</Injectors>
|
48
|
+
|
49
|
+
<Injectors target="{AccountView}">
|
50
|
+
<PropertyInjector targetKey="model" source="{AccountModel}" />
|
51
|
+
</Injectors>
|
52
|
+
|
53
|
+
<Injectors target="{ProfileView}">
|
54
|
+
<PropertyInjector targetKey="model" source="{ProfileModel}" />
|
55
|
+
</Injectors>
|
56
|
+
|
57
|
+
<Injectors target="{ContactUsView}">
|
58
|
+
<PropertyInjector targetKey="model" source="{ContactUsModel}" />
|
59
|
+
</Injectors>
|
60
|
+
|
61
|
+
<Injectors target="{NavigationBarLeftView}">
|
62
|
+
<PropertyInjector targetKey="model" source="{NavigationBarLeftModel}" />
|
63
|
+
</Injectors>
|
64
|
+
|
65
|
+
<Injectors target="{NavigationBarRightView}">
|
66
|
+
<PropertyInjector targetKey="model" source="{NavigationBarRightModel}" />
|
67
|
+
</Injectors>
|
68
|
+
|
69
|
+
<Injectors target="{NavigationBarTopView}">
|
70
|
+
<PropertyInjector targetKey="model" source="{NavigationBarTopModel}" />
|
71
|
+
</Injectors>
|
72
|
+
|
73
|
+
<Injectors target="{NavigationBarBottomView}">
|
74
|
+
<PropertyInjector targetKey="model" source="{NavigationBarBottomModel}" />
|
75
|
+
</Injectors>
|
76
|
+
|
77
|
+
<Injectors targets="{[AccountModel, AuthenticationModel, ContactUsModel, ProfileModel]}">
|
78
|
+
<PropertyInjector targetKey="dispatcher" source="{scope.dispatcher}"/>
|
79
|
+
</Injectors>
|
80
|
+
|
81
|
+
</EventMap>
|