emergent-core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|