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,169 @@
|
|
1
|
+
/* Copyright 2008 Theo Hultberg/Iconara */
|
2
|
+
|
3
|
+
package <%= base_package %>.models.presentation
|
4
|
+
{
|
5
|
+
import flash.events.IEventDispatcher;
|
6
|
+
import flash.events.EventDispatcher;
|
7
|
+
|
8
|
+
import mx.collections.ICollectionView;
|
9
|
+
import mx.collections.ArrayCollection;
|
10
|
+
|
11
|
+
import mx.events.CollectionEvent;
|
12
|
+
import mx.events.CollectionEventKind;
|
13
|
+
|
14
|
+
import <%= base_package %>.models.domain.Document;
|
15
|
+
import <%= base_package %>.models.constant.DocumentType;
|
16
|
+
|
17
|
+
import <%= base_package %>.controllers.event.DocumentEvent;
|
18
|
+
|
19
|
+
/**
|
20
|
+
* The presentation model of MainView.
|
21
|
+
*
|
22
|
+
* The dispatcher, currentDocument, documents and openDocuments proeprties are injected by
|
23
|
+
* the application controller.
|
24
|
+
*
|
25
|
+
* See DocumentModel for more info on how presentation models work.
|
26
|
+
*/
|
27
|
+
public class DocumentsModel extends EventDispatcher {
|
28
|
+
|
29
|
+
private var _currentDocument:Document;
|
30
|
+
|
31
|
+
private var _documents:ICollectionView;
|
32
|
+
|
33
|
+
|
34
|
+
/** This property is injected by the application. */
|
35
|
+
public var dispatcher:IEventDispatcher;
|
36
|
+
|
37
|
+
|
38
|
+
/** This property is injected by the application. */
|
39
|
+
[Bindable(event="documentsChanged")]
|
40
|
+
public function get documents():ICollectionView {
|
41
|
+
return _documents;
|
42
|
+
}
|
43
|
+
|
44
|
+
public function set documents( value:ICollectionView ):void {
|
45
|
+
if ( _documents != value ) {
|
46
|
+
if ( _documents != null ) {
|
47
|
+
_documents.removeEventListener(CollectionEvent.COLLECTION_CHANGE, onDocumentsChanged);
|
48
|
+
}
|
49
|
+
|
50
|
+
_documents = value;
|
51
|
+
|
52
|
+
if ( _documents != null ) {
|
53
|
+
_documents.addEventListener(CollectionEvent.COLLECTION_CHANGE, onDocumentsChanged);
|
54
|
+
}
|
55
|
+
|
56
|
+
dispatchEvent(new Event("documentsChanged"));
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
/** This property is injected by the application. */
|
61
|
+
[Bindable]
|
62
|
+
public var openDocuments:ICollectionView;
|
63
|
+
|
64
|
+
/** This property is injected by the application. */
|
65
|
+
[Bindable(event="currentDocumentChanged")]
|
66
|
+
public function get currentDocument():Document {
|
67
|
+
return _currentDocument;
|
68
|
+
}
|
69
|
+
|
70
|
+
public function set currentDocument( value:Document ):void {
|
71
|
+
_currentDocument = value;
|
72
|
+
|
73
|
+
dispatchEvent(new Event("currentDocumentChanged"));
|
74
|
+
}
|
75
|
+
|
76
|
+
[Bindable(event="documentsChanged")]
|
77
|
+
public function get openSelectorEnabled():Boolean {
|
78
|
+
return documents != null && documents.length > 0;
|
79
|
+
}
|
80
|
+
|
81
|
+
[Bindable(event="currentDocumentChanged")]
|
82
|
+
public function get closeButtonEnabled():Boolean {
|
83
|
+
return _currentDocument != null;
|
84
|
+
}
|
85
|
+
|
86
|
+
[Bindable(event="currentDocumentChanged")]
|
87
|
+
public function get deleteButtonEnabled():Boolean {
|
88
|
+
return _currentDocument != null;
|
89
|
+
}
|
90
|
+
|
91
|
+
|
92
|
+
/**
|
93
|
+
* Listener for CollectionEvent.COLLECTION_CHANGE events on the documents collection.
|
94
|
+
* Makes sure that the bindings of all properties that depend on the documents collection are triggered.
|
95
|
+
*/
|
96
|
+
private function onDocumentsChanged( event:CollectionEvent ):void {
|
97
|
+
dispatchEvent(new Event("documentsChanged"));
|
98
|
+
}
|
99
|
+
|
100
|
+
/**
|
101
|
+
* Returns whether or not the specified document is open. Should be used by the view
|
102
|
+
* instead of querying the openDocuments collection directly.
|
103
|
+
*/
|
104
|
+
public function isOpen( document:Document ):Boolean {
|
105
|
+
if ( openDocuments != null ) {
|
106
|
+
return openDocuments.contains(document);
|
107
|
+
} else {
|
108
|
+
return false;
|
109
|
+
}
|
110
|
+
}
|
111
|
+
|
112
|
+
/**
|
113
|
+
* Notifies the application that the user has requested that a document should be opened.
|
114
|
+
*/
|
115
|
+
public function openDocument( document:Document ):void {
|
116
|
+
var event:DocumentEvent = new DocumentEvent(DocumentEvent.OPEN);
|
117
|
+
|
118
|
+
event.reference = document;
|
119
|
+
|
120
|
+
dispatcher.dispatchEvent(event);
|
121
|
+
}
|
122
|
+
|
123
|
+
/**
|
124
|
+
* Notifies the application that the user has requested the creation of a new plain document.
|
125
|
+
*/
|
126
|
+
public function newPlainDocument():void {
|
127
|
+
var event:DocumentEvent = new DocumentEvent(DocumentEvent.CREATE_NEW);
|
128
|
+
|
129
|
+
event.documentType = DocumentType.PLAIN;
|
130
|
+
|
131
|
+
dispatcher.dispatchEvent(event);
|
132
|
+
}
|
133
|
+
|
134
|
+
/**
|
135
|
+
* Notifies the application that the user has requested the creation of a new rich text document.
|
136
|
+
*/
|
137
|
+
public function newRichDocument():void {
|
138
|
+
var event:DocumentEvent = new DocumentEvent(DocumentEvent.CREATE_NEW);
|
139
|
+
|
140
|
+
event.documentType = DocumentType.RICH;
|
141
|
+
|
142
|
+
dispatcher.dispatchEvent(event);
|
143
|
+
}
|
144
|
+
|
145
|
+
/**
|
146
|
+
* Notifies the application that the user has requested that the current document should be deleted.
|
147
|
+
*/
|
148
|
+
public function deleteCurrentDocument():void {
|
149
|
+
var event:DocumentEvent = new DocumentEvent(DocumentEvent.DELETE);
|
150
|
+
|
151
|
+
event.reference = currentDocument;
|
152
|
+
|
153
|
+
dispatcher.dispatchEvent(event);
|
154
|
+
}
|
155
|
+
|
156
|
+
/**
|
157
|
+
* Notifies the application that the user has requested that the current document should be closed.
|
158
|
+
*/
|
159
|
+
public function closeCurrentDocument():void {
|
160
|
+
var event:DocumentEvent = new DocumentEvent(DocumentEvent.CLOSE);
|
161
|
+
|
162
|
+
event.reference = currentDocument;
|
163
|
+
|
164
|
+
dispatcher.dispatchEvent(event);
|
165
|
+
}
|
166
|
+
|
167
|
+
}
|
168
|
+
|
169
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
package <%= base_package %>.models.presentation {
|
2
|
+
|
3
|
+
import flash.events.Event;
|
4
|
+
import flash.events.IOErrorEvent;
|
5
|
+
|
6
|
+
import <%= base_package %>.models.presentation.ContentModel;
|
7
|
+
import <%= base_package %>.models.constant.Resource;
|
8
|
+
import <%= base_package %>.models.domain.Content;
|
9
|
+
import <%= base_package %>.models.domain.ContentAssignment;
|
10
|
+
import <%= base_package %>.models.domain.AssetAssignment;
|
11
|
+
|
12
|
+
import org.restfulx.utils.RxFileReference;
|
13
|
+
|
14
|
+
// Pages and components should extend this
|
15
|
+
public class HomeModel extends ContentModel {
|
16
|
+
|
17
|
+
public function HomeModel() {
|
18
|
+
target = new Content();
|
19
|
+
contentAssignment = new ContentAssignment();
|
20
|
+
assetAssignment = new AssetAssignment();
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
package <%= base_package %>.models.presentation {
|
2
|
+
|
3
|
+
import flash.events.Event;
|
4
|
+
import flash.events.IOErrorEvent;
|
5
|
+
|
6
|
+
import <%= base_package %>.models.constant.Resource;
|
7
|
+
import <%= base_package %>.models.presentation.ResourceModel;
|
8
|
+
import <%= base_package %>.models.domain.Content;
|
9
|
+
import <%= base_package %>.models.domain.ContentAssignment;
|
10
|
+
import <%= base_package %>.models.domain.AssetAssignment;
|
11
|
+
|
12
|
+
import org.restfulx.utils.RxFileReference;
|
13
|
+
|
14
|
+
// Pages and components should extend this
|
15
|
+
public class MainModel extends ContentModel {
|
16
|
+
|
17
|
+
[Bindable] public var login:Boolean;
|
18
|
+
[Bindable] public var logout:Boolean;
|
19
|
+
|
20
|
+
private var _cmsMode:Boolean;
|
21
|
+
/** This property is injected by the application. */
|
22
|
+
public function set cmsMode(value:Boolean):void {
|
23
|
+
_cmsMode = value;
|
24
|
+
|
25
|
+
dispatchEvent(new Event("cmsModeChanged"));
|
26
|
+
}
|
27
|
+
|
28
|
+
[Bindable] public var gotoProfile:Boolean;
|
29
|
+
|
30
|
+
[Bindable] public var gotoAccount:Boolean;
|
31
|
+
|
32
|
+
public function MainModel() {
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
package <%= base_package %>.models.presentation {
|
2
|
+
|
3
|
+
import flash.events.Event;
|
4
|
+
import flash.events.IOErrorEvent;
|
5
|
+
|
6
|
+
import mx.collections.ArrayCollection;
|
7
|
+
import mx.collections.ICollectionView;
|
8
|
+
|
9
|
+
import <%= base_package %>.models.presentation.ContentModel;
|
10
|
+
import <%= base_package %>.models.domain.Content;
|
11
|
+
import <%= base_package %>.models.domain.ContentAssignment;
|
12
|
+
import <%= base_package %>.models.domain.AssetAssignment;
|
13
|
+
|
14
|
+
import org.restfulx.utils.RxFileReference;
|
15
|
+
|
16
|
+
// Pages and components should extend this
|
17
|
+
public class PagesModel extends ContentModel {
|
18
|
+
|
19
|
+
private var _pages:ArrayCollection; [Bindable]
|
20
|
+
public function get pages():ArrayCollection { return _pages; }
|
21
|
+
public function set pages(value:ArrayCollection):void {
|
22
|
+
_pages = value;
|
23
|
+
}
|
24
|
+
|
25
|
+
/** This property is injected by the application. */
|
26
|
+
[Bindable]
|
27
|
+
public var openPages:ICollectionView;
|
28
|
+
|
29
|
+
private var _currentPage:Content;
|
30
|
+
/** This property is injected by the application. */
|
31
|
+
[Bindable(event="currentDocumentChanged")]
|
32
|
+
public function get currentPage():Content {
|
33
|
+
return _currentPage;
|
34
|
+
}
|
35
|
+
|
36
|
+
public function set currentPage(value:Content):void {
|
37
|
+
_currentPage = value;
|
38
|
+
dispatchEvent(new Event("currentDocumentChanged"));
|
39
|
+
}
|
40
|
+
|
41
|
+
public function PagesModel() {
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
@@ -0,0 +1,99 @@
|
|
1
|
+
package <%= base_package %>.models.presentation {
|
2
|
+
|
3
|
+
import flash.events.Event;
|
4
|
+
import flash.events.IOErrorEvent;
|
5
|
+
|
6
|
+
import org.restfulx.utils.RxFileReference;
|
7
|
+
|
8
|
+
import <%= base_package %>.controllers.event.ResourceEvent;
|
9
|
+
import <%= base_package %>.models.constant.Resource;
|
10
|
+
import <%= base_package %>.models.presentation.ResourceModel;
|
11
|
+
import <%= base_package %>.models.domain.User;
|
12
|
+
import <%= base_package %>.models.domain.Account;
|
13
|
+
import <%= base_package %>.models.domain.Address;
|
14
|
+
|
15
|
+
public class ProfileModel extends ResourceModel {
|
16
|
+
|
17
|
+
/** Injector targets */
|
18
|
+
[Bindable] public var accountEvent:ResourceEvent;
|
19
|
+
[Bindable] public var addressEvent:ResourceEvent;
|
20
|
+
[Bindable] public var userEvent:ResourceEvent;
|
21
|
+
|
22
|
+
private var accountDirty:Boolean;
|
23
|
+
private var addressDirty:Boolean;
|
24
|
+
private var userDirty:Boolean;
|
25
|
+
private var profileDirty:Boolean;
|
26
|
+
|
27
|
+
[Bindable] public var profileInvalid:Boolean;
|
28
|
+
|
29
|
+
private var photo:RxFileReference;
|
30
|
+
|
31
|
+
private var _user:User; [Bindable]
|
32
|
+
public function get currentUser():User { return _user; }
|
33
|
+
public function set currentUser(value:User):void {
|
34
|
+
_user = value;
|
35
|
+
}
|
36
|
+
|
37
|
+
public function setAccountDirty():void {
|
38
|
+
accountDirty = true;
|
39
|
+
profileDirty = true;
|
40
|
+
}
|
41
|
+
|
42
|
+
public function setAddressDirty():void {
|
43
|
+
addressDirty = true;
|
44
|
+
profileDirty = true;
|
45
|
+
}
|
46
|
+
|
47
|
+
public function setUserDirty():void {
|
48
|
+
userDirty = true;
|
49
|
+
profileDirty = true;
|
50
|
+
}
|
51
|
+
|
52
|
+
[Bindable]
|
53
|
+
public function get submitButtonEnabled():Boolean {
|
54
|
+
return profileDirty;
|
55
|
+
}
|
56
|
+
|
57
|
+
public function ProfileModel() {
|
58
|
+
}
|
59
|
+
|
60
|
+
public function saveProfile():void {
|
61
|
+
if (photo)
|
62
|
+
if (addressDirty) {
|
63
|
+
save(currentUser.address, addressEvent);
|
64
|
+
}
|
65
|
+
if (accountDirty) {
|
66
|
+
save(currentUser.account, accountEvent);
|
67
|
+
}
|
68
|
+
if (userDirty) {
|
69
|
+
save(currentUser, userEvent);
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
public function chooseFile():void {
|
74
|
+
photo = new RxFileReference("avatar");
|
75
|
+
photo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler, false, 0, true);
|
76
|
+
photo.addEventListener(Event.SELECT, selectFile, false, 0, true);
|
77
|
+
photo.addEventListener(Event.CANCEL, cancelBrowse, false, 0, true);
|
78
|
+
photo.browse();
|
79
|
+
}
|
80
|
+
|
81
|
+
private function selectFile(event:Event):void {
|
82
|
+
fileSelected(event)
|
83
|
+
}
|
84
|
+
|
85
|
+
private function cancelBrowse(event:Event):void {
|
86
|
+
photo = null;
|
87
|
+
}
|
88
|
+
|
89
|
+
private function fileSelected(event:Event):void {
|
90
|
+
currentUser.account.attachment = photo;
|
91
|
+
accountDirty = true;
|
92
|
+
saveProfile();
|
93
|
+
}
|
94
|
+
|
95
|
+
private function ioErrorHandler(event:Event):void {
|
96
|
+
photo = null;
|
97
|
+
}
|
98
|
+
}
|
99
|
+
}
|
@@ -0,0 +1,100 @@
|
|
1
|
+
package <%= base_package %>.models.presentation {
|
2
|
+
|
3
|
+
import <%= base_package %>.controllers.event.ResourceEvent;
|
4
|
+
import <%= base_package %>.models.constant.ResourceAction;
|
5
|
+
|
6
|
+
import flash.events.Event;
|
7
|
+
import flash.events.EventDispatcher;
|
8
|
+
import flash.events.IEventDispatcher;
|
9
|
+
|
10
|
+
import mx.events.CollectionEvent;
|
11
|
+
|
12
|
+
import org.restfulx.models.RxModel;
|
13
|
+
|
14
|
+
public class ResourceModel extends EventDispatcher {
|
15
|
+
|
16
|
+
/** This property is injected by the application. */
|
17
|
+
public var dispatcher:IEventDispatcher;
|
18
|
+
|
19
|
+
private var _model:RxModel; [Bindable]
|
20
|
+
public function get model():RxModel { return _model; }
|
21
|
+
public function set model(value:RxModel):void {
|
22
|
+
_model = value;
|
23
|
+
}
|
24
|
+
|
25
|
+
[Bindable]
|
26
|
+
public function get saveButtonEnabled():Boolean {
|
27
|
+
return _model != null;
|
28
|
+
}
|
29
|
+
|
30
|
+
[Bindable]
|
31
|
+
public function get destroyButtonEnabled():Boolean {
|
32
|
+
return _model != null;
|
33
|
+
}
|
34
|
+
|
35
|
+
public function ResourcesModel() {
|
36
|
+
}
|
37
|
+
|
38
|
+
public function open(resource:*, binder:*=null):void {
|
39
|
+
var event:ResourceEvent = new ResourceEvent(ResourceAction.OPEN);
|
40
|
+
|
41
|
+
event.data = resource;
|
42
|
+
|
43
|
+
binder = event;
|
44
|
+
//dispatcher.dispatchEvent(event);
|
45
|
+
}
|
46
|
+
|
47
|
+
public function newResource(binder:*=null):void {
|
48
|
+
var event:ResourceEvent = new ResourceEvent(ResourceAction.NEW);
|
49
|
+
|
50
|
+
binder = event;
|
51
|
+
//dispatcher.dispatchEvent(event);
|
52
|
+
}
|
53
|
+
|
54
|
+
public function save(resource:*, binder:*=null):void {
|
55
|
+
if (resource.id) {
|
56
|
+
update(resource, binder);
|
57
|
+
} else {
|
58
|
+
create(resource, binder);
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
public function create(resource:*, binder:*=null):void {
|
63
|
+
var event:ResourceEvent = new ResourceEvent(ResourceAction.CREATE);
|
64
|
+
|
65
|
+
event.data = resource;
|
66
|
+
|
67
|
+
inject(event, binder);
|
68
|
+
}
|
69
|
+
|
70
|
+
public function update(resource:*, binder:*=null):void {
|
71
|
+
var event:ResourceEvent = new ResourceEvent(ResourceAction.UPDATE);
|
72
|
+
|
73
|
+
event.data = resource;
|
74
|
+
|
75
|
+
inject(event, binder);
|
76
|
+
}
|
77
|
+
|
78
|
+
public function destroy(resource:*, binder:*=null):* {
|
79
|
+
var event:ResourceEvent = new ResourceEvent(ResourceAction.DESTROY);
|
80
|
+
|
81
|
+
event.data = resource;
|
82
|
+
|
83
|
+
inject(event, binder);
|
84
|
+
}
|
85
|
+
|
86
|
+
protected function inject(event:*, binder:*=null):void {
|
87
|
+
if (binder !== null) {
|
88
|
+
binder = event;
|
89
|
+
} else {
|
90
|
+
dispatcher.dispatchEvent(event);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
//-Boolean Methods...
|
95
|
+
|
96
|
+
/* public function canDelete(resource:RxModel):Boolean {
|
97
|
+
return resource != null && resource.id != 0;
|
98
|
+
} */
|
99
|
+
}
|
100
|
+
}
|
data/rails_generators/emergent_config/templates/app/flex/application/views/about_us/about_us.mxml
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<core:EmergentComponent xmlns:core="com.fourD.emergent.core.*"
|
3
|
+
xmlns="http://ns.adobe.com/mxml/2009"
|
4
|
+
xmlns:layouts="com.fourD.layouts.*"
|
5
|
+
xmlns:actions="com.fourD.actions.*"
|
6
|
+
xmlns:presentation="<%= base_package %>.models.presentation.*"
|
7
|
+
width="100%" height="100%" pivotX="center" pivotY="center">
|
8
|
+
|
9
|
+
<Script>
|
10
|
+
<![CDATA[
|
11
|
+
import flash.text.engine.TypographicCase;
|
12
|
+
|
13
|
+
]]>
|
14
|
+
</Script>
|
15
|
+
|
16
|
+
<Declarations>
|
17
|
+
<presentation:AboutUsModel id="model"/>
|
18
|
+
<Array id="typoArray">
|
19
|
+
<Object label="{TypographicCase.CAPS}" />
|
20
|
+
<Object label="{TypographicCase.CAPS_AND_SMALL_CAPS}" />
|
21
|
+
<Object label="{TypographicCase.DEFAULT}" />
|
22
|
+
<Object label="{TypographicCase.LOWERCASE}" />
|
23
|
+
<Object label="{TypographicCase.SMALL_CAPS}" />
|
24
|
+
<Object label="{TypographicCase.TITLE}" />
|
25
|
+
<Object label="{TypographicCase.UPPERCASE}" />
|
26
|
+
</Array>
|
27
|
+
</Declarations>
|
28
|
+
|
29
|
+
<!-- States ___________________________________________________________________ -->
|
30
|
+
|
31
|
+
<core:states>
|
32
|
+
<State name="edit"/>
|
33
|
+
<State name="show"/>
|
34
|
+
</core:states>
|
35
|
+
|
36
|
+
<!-- GUI ______________________________________________________________________ -->
|
37
|
+
|
38
|
+
<FxPanel width="100%" height="100%">
|
39
|
+
|
40
|
+
<HBox borderStyle="solid" paddingTop="10" paddingBottom="10"
|
41
|
+
paddingLeft="10" paddingRight="10">
|
42
|
+
<Form styleName="plain" includeIn="edit">
|
43
|
+
<FormItem label="textAlign:">
|
44
|
+
<ComboBox id="textAlignComboBox"
|
45
|
+
dataProvider="[start,end,left,center,right,justify]"
|
46
|
+
selectedIndex="5" />
|
47
|
+
</FormItem>
|
48
|
+
<FormItem label="textAlignLast:">
|
49
|
+
<ComboBox id="textAlignLastComboBox"
|
50
|
+
dataProvider="[start,end,left,center,right,justify]" />
|
51
|
+
</FormItem>
|
52
|
+
<FormItem label="textJustify:">
|
53
|
+
<ComboBox id="textJustifyComboBox"
|
54
|
+
dataProvider="[distribute,interWord]" />
|
55
|
+
</FormItem>
|
56
|
+
<FormItem label="typographicCase:">
|
57
|
+
<ComboBox id="typographicCaseComboBox"
|
58
|
+
dataProvider="{typoArray}" selectedIndex="2" />
|
59
|
+
</FormItem>
|
60
|
+
<FormItem label="width:">
|
61
|
+
<HSlider id="textAreaWidthSlider"
|
62
|
+
minimum="50"
|
63
|
+
maximum="100"
|
64
|
+
value="100"
|
65
|
+
snapInterval="1"
|
66
|
+
tickInterval="2"
|
67
|
+
liveDragging="true" />
|
68
|
+
</FormItem>
|
69
|
+
<FormItem label="columnWidth:">
|
70
|
+
<HSlider id="columnWidthSlider"
|
71
|
+
minimum="100"
|
72
|
+
maximum="300"
|
73
|
+
value="200"
|
74
|
+
snapInterval="1"
|
75
|
+
tickInterval="10"
|
76
|
+
liveDragging="true" />
|
77
|
+
</FormItem>
|
78
|
+
<FormItem label="columnGap">
|
79
|
+
<HSlider id="columnGapSlider"
|
80
|
+
minimum="0"
|
81
|
+
maximum="100"
|
82
|
+
value="20"
|
83
|
+
snapInterval="1"
|
84
|
+
tickInterval="10"
|
85
|
+
liveDragging="true"/>
|
86
|
+
</FormItem>
|
87
|
+
</Form>
|
88
|
+
|
89
|
+
<FxTextArea id="textArea"
|
90
|
+
textAlign="{textAlignComboBox.selectedItem}"
|
91
|
+
textAlignLast="{textAlignLastComboBox.selectedItem}"
|
92
|
+
textJustify="{textJustifyComboBox.selectedItem}"
|
93
|
+
typographicCase="{typographicCaseComboBox.selectedItem.label}"
|
94
|
+
marginBottom="40"
|
95
|
+
percentWidth="{textAreaWidthSlider.value}"
|
96
|
+
columnWidth="{columnWidthSlider.value}"
|
97
|
+
columnGap="{columnGapSlider.value}"
|
98
|
+
height="100%">
|
99
|
+
<content>
|
100
|
+
<String source="assets/html/lorem.html" />
|
101
|
+
</content>
|
102
|
+
</FxTextArea>
|
103
|
+
</HBox>
|
104
|
+
</FxPanel>
|
105
|
+
</core:EmergentComponent>
|
data/rails_generators/emergent_config/templates/app/flex/application/views/account/account.mxml
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<core:EmergentComponent xmlns:core="com.fourD.emergent.core.*"
|
3
|
+
xmlns="http://ns.adobe.com/mxml/2009"
|
4
|
+
xmlns:validators="org.restfulx.validators.*"
|
5
|
+
xmlns:layouts="com.fourD.layouts.*"
|
6
|
+
xmlns:actions="com.fourD.actions.*"
|
7
|
+
xmlns:presentation="<%= base_package %>.models.presentation.*"
|
8
|
+
width="100%" height="100%" pivotX="center" pivotY="center"
|
9
|
+
currentState="account">
|
10
|
+
|
11
|
+
<Script>
|
12
|
+
<![CDATA[
|
13
|
+
import org.restfulx.Rx;
|
14
|
+
]]>
|
15
|
+
</Script>
|
16
|
+
|
17
|
+
<Declarations>
|
18
|
+
<presentation:AccountModel id="model"/>
|
19
|
+
<!-- Flex Validators -->
|
20
|
+
<StringValidator source="{signUpUsername}" property="text"
|
21
|
+
minLength="1" invalid="model.signUpFormDirty = true"/>
|
22
|
+
<EmailValidator source="{signUpEmail}" property="text" invalid="model.signUpFormDirty = true"/>
|
23
|
+
<RegExpValidator source="{signUpPasswordConfirmation}"
|
24
|
+
property="text" expression="{signUpPassword.text}" noMatchError="Passwords do not match"
|
25
|
+
invalid="model.signUpFormDirty = true" valid="model.signUpFormDirty = false"/>
|
26
|
+
|
27
|
+
<!-- Proxies for Rails Validators -->
|
28
|
+
<validators:ServiceErrorValidator id="signUpLoginNameValidator" field="login" listener="{signUpUsername}"
|
29
|
+
serviceErrors="{Rx.models.errors}"/>
|
30
|
+
<validators:ServiceErrorValidator id="signUpPasswordValidator" field="password" listener="{signUpPassword}"
|
31
|
+
serviceErrors="{Rx.models.errors}"/>
|
32
|
+
</Declarations>
|
33
|
+
|
34
|
+
<!-- States ___________________________________________________________________ -->
|
35
|
+
|
36
|
+
<core:states>
|
37
|
+
<State name="account"/>
|
38
|
+
<State name="accountConfirmation"/>
|
39
|
+
</core:states>
|
40
|
+
|
41
|
+
<!-- GUI ______________________________________________________________________ -->
|
42
|
+
|
43
|
+
<VBox width="100%" height="100%">
|
44
|
+
<Canvas id="signUpView" width="100%" height="100%">
|
45
|
+
<Form verticalCenter="0" horizontalCenter="0" id="signUpForm" borderStyle="solid">
|
46
|
+
<Canvas backgroundColor="#000000" width="100%" height="50">
|
47
|
+
<Label text="Pomodo / Sign Up" styleName="appTitle" x="4" y="2" selectable="false"/>
|
48
|
+
<Label text="Agile time tracking for everyone" styleName="appDescription" x="4" y="27" selectable="false"/>
|
49
|
+
</Canvas>
|
50
|
+
<FormItem label="Username" required="true">
|
51
|
+
<TextInput id="signUpUsername" width="190"
|
52
|
+
change="{model.account.login = signUpUsername.text}"/>
|
53
|
+
</FormItem>
|
54
|
+
<FormItem label="First Name" required="true">
|
55
|
+
<TextInput id="signUpFirstName" width="190"
|
56
|
+
change="{model.account.firstName = signUpFirstName.text}"/>
|
57
|
+
</FormItem>
|
58
|
+
<FormItem label="Last Name" required="true">
|
59
|
+
<TextInput id="signUpLastName" width="190"
|
60
|
+
change="{model.account.lastName = signUpLastName.text}"/>
|
61
|
+
</FormItem>
|
62
|
+
<FormItem label="Email" required="true">
|
63
|
+
<TextInput id="signUpEmail" width="190"
|
64
|
+
change="{model.account.email = signUpEmail.text}"/>
|
65
|
+
</FormItem>
|
66
|
+
<FormItem label="Password" required="true">
|
67
|
+
<TextInput id="signUpPassword" width="190" displayAsPassword="true"
|
68
|
+
change="{model.account.password = signUpPassword.text}"/>
|
69
|
+
</FormItem>
|
70
|
+
<FormItem label="Confirm" required="true">
|
71
|
+
<TextInput id="signUpPasswordConfirmation" width="190" displayAsPassword="true"
|
72
|
+
change="{model.account.passwordConfirmation = signUpPasswordConfirmation.text}"
|
73
|
+
keyDown="model.signUpOnEnter(event)"/>
|
74
|
+
</FormItem>
|
75
|
+
<FormItem label="Photo:" width="100%" id="photoChooser"
|
76
|
+
errorString="{model.photoErrorString}">
|
77
|
+
<Button label="Browse…" id="photoBrowseButton" click="model.chooseFile()" />
|
78
|
+
<Label text="{model.photoFileName}" maxWidth="190" />
|
79
|
+
</FormItem>
|
80
|
+
<FormItem label="">
|
81
|
+
<Button label="Sign Up" click="model.signUp()" keyDown="model.signUpOnEnter(event)" enabled="{!model.signUpFormDirty}"/>
|
82
|
+
</FormItem>
|
83
|
+
</Form>
|
84
|
+
</Canvas>
|
85
|
+
<Text text="Already have an account?"/>
|
86
|
+
<LinkButton label="Log In"/>
|
87
|
+
<Canvas id="signUpConfirmationView" width="20%" height="20%">
|
88
|
+
<Form verticalCenter="0" horizontalCenter="0" borderStyle="solid">
|
89
|
+
<Canvas backgroundColor="#000000" width="100%" height="50">
|
90
|
+
<Label text="Lance3 / Thank You" styleName="appTitle" x="4" y="2" selectable="false"/>
|
91
|
+
<Label text="The Emergent Vision" styleName="appDescription" x="4" y="27" selectable="false"/>
|
92
|
+
</Canvas>
|
93
|
+
<Text text="Thanks for signing up! We're sending you an email with your activation code." width="100%"/>
|
94
|
+
</Form>
|
95
|
+
</Canvas>
|
96
|
+
</VBox>
|
97
|
+
</core:EmergentComponent>
|