├── .gitignore ├── .travis.yml ├── CREATIVE └── creative-description.txt ├── README.md ├── bower.json ├── build.json ├── config.xml ├── cordova-angular2.jsproj ├── cordova-angular2.sln ├── docs ├── management-description.txt └── md │ └── media │ ├── HockeyApp.PNG │ ├── app_package.png │ ├── config.xml.PNG │ ├── config.xml2.PNG │ ├── config.xml3.PNG │ ├── config.xml4.PNG │ ├── config.xml5.PNG │ ├── dts-filelocation.png │ ├── e2e_run.png │ ├── e2e_server.PNG │ ├── e2efail.png │ ├── e2esuccess.png │ ├── emulator_android.PNG │ ├── emulator_app.png │ ├── image.jquery.png │ ├── image.systemjs.png │ ├── image1.png │ ├── image10.png │ ├── image11.png │ ├── image12.png │ ├── image13.png │ ├── image3.png │ ├── image4.png │ ├── image5.png │ ├── image7.png │ ├── image8.png │ ├── image9.png │ ├── imageconfig.png │ ├── ripple_device.PNG │ ├── slackchat.svg │ ├── taptoplay.PNG │ ├── unit_test_fail.png │ ├── unit_testing.png │ ├── unittest_success.PNG │ └── vs_upgrade_node.PNG ├── gulpfile.js ├── keystore └── keystore-directions.md ├── merges ├── android │ └── scripts │ │ ├── android2.3-jscompat.js │ │ └── platformOverrides.js └── windows │ └── scripts │ ├── platformOverrides.js │ ├── system-polyfills.js │ ├── system-polyfills.js.map │ └── winstore-jscompat.js ├── package.json ├── plugins └── fetch.json ├── res ├── icons │ ├── android │ │ ├── icon-36-ldpi.png │ │ ├── icon-48-mdpi.png │ │ ├── icon-72-hdpi.png │ │ └── icon-96-xhdpi.png │ ├── ios │ │ ├── icon-40-2x.png │ │ ├── icon-40.png │ │ ├── icon-50-2x.png │ │ ├── icon-50.png │ │ ├── icon-57-2x.png │ │ ├── icon-57.png │ │ ├── icon-60-2x.png │ │ ├── icon-60-3x.png │ │ ├── icon-60.png │ │ ├── icon-72-2x.png │ │ ├── icon-72.png │ │ ├── icon-76-2x.png │ │ ├── icon-76.png │ │ ├── icon-small-2x.png │ │ └── icon-small.png │ ├── windows │ │ ├── Square150x150Logo.scale-100.png │ │ ├── Square150x150Logo.scale-240.png │ │ ├── Square30x30Logo.scale-100.png │ │ ├── Square310x310Logo.scale-100.png │ │ ├── Square44x44Logo.scale-240.png │ │ ├── Square70x70Logo.scale-100.png │ │ ├── Square71x71Logo.scale-240.png │ │ ├── StoreLogo.scale-100.png │ │ ├── StoreLogo.scale-240.png │ │ ├── Wide310x150Logo.scale-100.png │ │ └── Wide310x150Logo.scale-240.png │ └── wp8 │ │ ├── ApplicationIcon.png │ │ └── Background.png ├── native │ ├── android │ │ └── ant.properties │ └── windows │ │ └── CordovaApp.pfx └── screens │ ├── android │ ├── screen-hdpi-landscape.png │ ├── screen-hdpi-portrait.png │ ├── screen-ldpi-landscape.png │ ├── screen-ldpi-portrait.png │ ├── screen-mdpi-landscape.png │ ├── screen-mdpi-portrait.png │ ├── screen-xhdpi-landscape.png │ └── screen-xhdpi-portrait.png │ ├── ios │ ├── screen-ipad-landscape-2x.png │ ├── screen-ipad-landscape.png │ ├── screen-ipad-portrait-2x.png │ ├── screen-ipad-portrait.png │ ├── screen-iphone-568h-2x.png │ ├── screen-iphone-landscape-736h.png │ ├── screen-iphone-portrait-2x.png │ ├── screen-iphone-portrait-667h.png │ ├── screen-iphone-portrait-736h.png │ └── screen-iphone-portrait.png │ ├── windows │ ├── SplashScreen.scale-100.png │ ├── SplashScreen.scale-240.png │ └── SplashScreenPhone.scale-240.png │ └── wp8 │ └── SplashScreenImage.jpg ├── scripts ├── app.ts ├── app │ ├── app.component.html │ ├── app.component.ts │ ├── audio │ │ └── audiohandler.ts │ └── components │ │ └── jasmineunit.ts ├── config.ts ├── index.ts ├── mobiledeviceoverride.ts ├── start.ts ├── tests │ ├── e2e │ │ ├── app │ │ │ ├── app.components.spec.ts │ │ │ └── problem.ts │ │ └── e2e_util.ts │ └── unit │ │ └── app │ │ └── components │ │ └── jasmineunit.spec.ts ├── tsconfig.json ├── typings.json ├── typings │ ├── browser.d.ts │ ├── browser │ │ └── ambient │ │ │ ├── createjs-lib │ │ │ └── createjs-lib.d.ts │ │ │ ├── preloadjs │ │ │ └── preloadjs.d.ts │ │ │ ├── soundjs │ │ │ └── soundjs.d.ts │ │ │ └── systemjs │ │ │ └── systemjs.d.ts │ ├── cordova │ │ ├── cordova.d.ts │ │ └── plugins │ │ │ ├── BatteryStatus.d.ts │ │ │ ├── Camera.d.ts │ │ │ ├── Contacts.d.ts │ │ │ ├── Device.d.ts │ │ │ ├── DeviceMotion.d.ts │ │ │ ├── DeviceOrientation.d.ts │ │ │ ├── Dialogs.d.ts │ │ │ ├── FileSystem.d.ts │ │ │ ├── FileTransfer.d.ts │ │ │ ├── Globalization.d.ts │ │ │ ├── InAppBrowser.d.ts │ │ │ ├── Media.d.ts │ │ │ ├── MediaCapture.d.ts │ │ │ ├── NetworkInformation.d.ts │ │ │ ├── Push.d.ts │ │ │ ├── Splashscreen.d.ts │ │ │ ├── StatusBar.d.ts │ │ │ ├── Vibration.d.ts │ │ │ └── WebSQL.d.ts │ ├── main.d.ts │ └── main │ │ └── ambient │ │ ├── createjs-lib │ │ └── createjs-lib.d.ts │ │ ├── preloadjs │ │ └── preloadjs.d.ts │ │ ├── soundjs │ │ └── soundjs.d.ts │ │ └── systemjs │ │ └── systemjs.d.ts └── util │ └── hockeyappservices.ts ├── taco.json ├── tools ├── check-environment.js ├── karma.conf.js ├── karma.shim.js ├── protractor.conf.js └── tslint.json └── www ├── audio ├── audiocheck.net_abspolarity.mp3 ├── audiocheck.net_abspolarity.ogg ├── audiocheck.net_linearfrequencytest.mp3 └── audiocheck.net_linearfrequencytest.ogg ├── cordova.js ├── css └── index.css ├── favicon.ico ├── index.html └── scripts ├── lib ├── angular2 │ ├── bundles │ │ ├── angular2-all-testing.umd.dev.js │ │ ├── angular2-all.umd.dev.js │ │ ├── angular2-all.umd.js │ │ ├── angular2-all.umd.min.js │ │ ├── angular2-polyfills.js │ │ ├── angular2-polyfills.min.js │ │ ├── angular2.dev.js │ │ ├── angular2.js │ │ ├── angular2.min.js │ │ ├── http.dev.js │ │ ├── http.js │ │ ├── http.min.js │ │ ├── overview.md │ │ ├── router.dev.js │ │ ├── router.js │ │ ├── router.min.js │ │ ├── testing.dev.js │ │ ├── testing.dev.js.map │ │ ├── typings │ │ │ ├── es6-shim │ │ │ │ └── es6-shim.d.ts │ │ │ └── jasmine │ │ │ │ └── jasmine.d.ts │ │ ├── upgrade.dev.js │ │ ├── upgrade.js │ │ ├── upgrade.min.js │ │ └── web_worker │ │ │ ├── ui.dev.js │ │ │ └── worker.dev.js │ └── platform2 │ │ ├── browser.d.ts │ │ ├── browser.js │ │ ├── browser_static.d.ts │ │ ├── browser_static.js │ │ ├── common_dom.d.ts │ │ ├── common_dom.js │ │ ├── server.d.ts │ │ ├── server.js │ │ ├── worker_app.d.ts │ │ ├── worker_app.js │ │ ├── worker_render.d.ts │ │ └── worker_render.js ├── createjs │ ├── cordovaaudioplugin-0.6.2.combined.js │ ├── cordovaaudioplugin-0.6.2.min.js │ ├── soundjs-0.6.2.combined.js │ └── soundjs-0.6.2.min.js ├── es6-shim │ ├── es6-sham.js │ ├── es6-sham.map │ ├── es6-sham.min.js │ ├── es6-shim.js │ ├── es6-shim.map │ └── es6-shim.min.js ├── rxjs │ └── bundles │ │ ├── Rx.js │ │ ├── Rx.min.js │ │ ├── Rx.min.js.map │ │ ├── Rx.umd.js │ │ ├── Rx.umd.min.js │ │ └── Rx.umd.min.js.map └── systemjs │ └── dist │ ├── system-csp-production.js │ ├── system-csp-production.js.map │ ├── system-csp-production.src.js │ ├── system-polyfills.js │ ├── system-polyfills.js.map │ ├── system-polyfills.src.js │ ├── system-register-only.js │ ├── system-register-only.js.map │ ├── system-register-only.src.js │ ├── system.js │ ├── system.js.map │ └── system.src.js └── platformOverrides.js /.gitignore: -------------------------------------------------------------------------------- 1 | # .gitignore 2 | [Pp]lugins/android.json 3 | [Pp]lugins/windows.json 4 | [Pp]lugins/wp8.json 5 | [Pp]lugins/remote_ios.json 6 | [Pp]latforms/ 7 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: 2 | - node_js 3 | node_js: 4 | - '5.6.0' 5 | before_install: 6 | # Setup `Chrome` instance. 7 | - export CHROME_BIN=chromium-browser 8 | - export DISPLAY=:99.0 9 | - sh -e /etc/init.d/xvfb start 10 | 11 | - npm install gulpjs/gulp-cli#4.0 -g 12 | - npm install typings -g 13 | install: 14 | - npm install 15 | before_script: 16 | - gulp build.appfiles.typescript 17 | script: 18 | - gulp unit.test.karma 19 | -------------------------------------------------------------------------------- /CREATIVE/creative-description.txt: -------------------------------------------------------------------------------- 1 | Location for graphics, animations, audio, video. -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jspm_testing", 3 | "dependencies": { 4 | } 5 | } -------------------------------------------------------------------------------- /build.json: -------------------------------------------------------------------------------- 1 | { 2 | "android": { 3 | "release": { 4 | "keystore": "keystore\\myrelease-key.keystore", 5 | "storePassword": "", 6 | "alias": "", 7 | "password": "", 8 | "keystoreType": "" 9 | } 10 | }, 11 | "windows": { 12 | "release": { 13 | "packageCertificateKeyFile": "res\\native\\windows\\CordovaApp.pfx" 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | cordova_angular2beta_starter 4 | A blank startup project that uses Apache Cordova to build a sample Angular2 beta, SystemJS, TypeScript multiple mobile platforms: Android, iOS, Windows, and Windows Phone. 5 | Dean Biele 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | cordova_angular2beta_starter 110 | 111 | 112 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /cordova-angular2.jsproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Debug 7 | Android 8 | 9 | 10 | Debug 11 | iOS 12 | 13 | 14 | Debug 15 | Windows-AnyCPU 16 | 17 | 18 | Debug 19 | Windows-x64 20 | 21 | 22 | Debug 23 | Windows-x86 24 | 25 | 26 | Debug 27 | Windows-ARM 28 | 29 | 30 | Debug 31 | Windows Phone 8 32 | 33 | 34 | Debug 35 | Windows Phone (Universal) 36 | 37 | 38 | Release 39 | Android 40 | 41 | 42 | Release 43 | iOS 44 | 45 | 46 | Release 47 | Windows-AnyCPU 48 | 49 | 50 | Release 51 | Windows-x64 52 | 53 | 54 | Release 55 | Windows-x86 56 | 57 | 58 | Release 59 | Windows-ARM 60 | 61 | 62 | Release 63 | Windows Phone 8 64 | 65 | 66 | Release 67 | Windows Phone (Universal) 68 | 69 | 70 | 71 | 72 | 73 | 74 | 9c9624f9-ad1e-479b-8e3d-849574860e42 75 | 76 | 77 | 78 | 14.0 79 | 80 | 81 | 1.7 82 | 83 | 84 | false 85 | 86 | 87 | 88 | 89 | Tools for Apache Cordova 90 | 91 | 92 | MDD 93 | False 94 | arm 95 | Always 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /cordova-angular2.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.24720.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{262852C6-CD72-467D-83FE-5EEB1973A190}") = "cordova-angular2", "cordova-angular2.jsproj", "{9C9624F9-AD1E-479B-8E3D-849574860E42}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Android = Debug|Android 11 | Debug|iOS = Debug|iOS 12 | Debug|Windows Phone (Universal) = Debug|Windows Phone (Universal) 13 | Debug|Windows Phone 8 = Debug|Windows Phone 8 14 | Debug|Windows-AnyCPU = Debug|Windows-AnyCPU 15 | Debug|Windows-ARM = Debug|Windows-ARM 16 | Debug|Windows-x64 = Debug|Windows-x64 17 | Debug|Windows-x86 = Debug|Windows-x86 18 | Release|Android = Release|Android 19 | Release|iOS = Release|iOS 20 | Release|Windows Phone (Universal) = Release|Windows Phone (Universal) 21 | Release|Windows Phone 8 = Release|Windows Phone 8 22 | Release|Windows-AnyCPU = Release|Windows-AnyCPU 23 | Release|Windows-ARM = Release|Windows-ARM 24 | Release|Windows-x64 = Release|Windows-x64 25 | Release|Windows-x86 = Release|Windows-x86 26 | EndGlobalSection 27 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 28 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Android.ActiveCfg = Debug|Android 29 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Android.Build.0 = Debug|Android 30 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Android.Deploy.0 = Debug|Android 31 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|iOS.ActiveCfg = Debug|iOS 32 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|iOS.Build.0 = Debug|iOS 33 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|iOS.Deploy.0 = Debug|iOS 34 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows Phone (Universal).ActiveCfg = Debug|Windows Phone (Universal) 35 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows Phone (Universal).Build.0 = Debug|Windows Phone (Universal) 36 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows Phone (Universal).Deploy.0 = Debug|Windows Phone (Universal) 37 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows Phone 8.ActiveCfg = Debug|Windows Phone 8 38 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows Phone 8.Build.0 = Debug|Windows Phone 8 39 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows Phone 8.Deploy.0 = Debug|Windows Phone 8 40 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-AnyCPU.ActiveCfg = Debug|Windows-AnyCPU 41 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-AnyCPU.Build.0 = Debug|Windows-AnyCPU 42 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-AnyCPU.Deploy.0 = Debug|Windows-AnyCPU 43 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-ARM.ActiveCfg = Debug|Windows-ARM 44 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-ARM.Build.0 = Debug|Windows-ARM 45 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-ARM.Deploy.0 = Debug|Windows-ARM 46 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-x64.ActiveCfg = Debug|Windows-x64 47 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-x64.Build.0 = Debug|Windows-x64 48 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-x64.Deploy.0 = Debug|Windows-x64 49 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-x86.ActiveCfg = Debug|Windows-x86 50 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-x86.Build.0 = Debug|Windows-x86 51 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Debug|Windows-x86.Deploy.0 = Debug|Windows-x86 52 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Android.ActiveCfg = Release|Android 53 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Android.Build.0 = Release|Android 54 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Android.Deploy.0 = Release|Android 55 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|iOS.ActiveCfg = Release|iOS 56 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|iOS.Build.0 = Release|iOS 57 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|iOS.Deploy.0 = Release|iOS 58 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows Phone (Universal).ActiveCfg = Release|Windows Phone (Universal) 59 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows Phone (Universal).Build.0 = Release|Windows Phone (Universal) 60 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows Phone (Universal).Deploy.0 = Release|Windows Phone (Universal) 61 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows Phone 8.ActiveCfg = Release|Windows Phone 8 62 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows Phone 8.Build.0 = Release|Windows Phone 8 63 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows Phone 8.Deploy.0 = Release|Windows Phone 8 64 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-AnyCPU.ActiveCfg = Release|Windows-AnyCPU 65 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-AnyCPU.Build.0 = Release|Windows-AnyCPU 66 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-AnyCPU.Deploy.0 = Release|Windows-AnyCPU 67 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-ARM.ActiveCfg = Release|Windows-ARM 68 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-ARM.Build.0 = Release|Windows-ARM 69 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-ARM.Deploy.0 = Release|Windows-ARM 70 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-x64.ActiveCfg = Release|Windows-x64 71 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-x64.Build.0 = Release|Windows-x64 72 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-x64.Deploy.0 = Release|Windows-x64 73 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-x86.ActiveCfg = Release|Windows-x86 74 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-x86.Build.0 = Release|Windows-x86 75 | {9C9624F9-AD1E-479B-8E3D-849574860E42}.Release|Windows-x86.Deploy.0 = Release|Windows-x86 76 | EndGlobalSection 77 | GlobalSection(SolutionProperties) = preSolution 78 | HideSolutionNode = FALSE 79 | EndGlobalSection 80 | EndGlobal 81 | -------------------------------------------------------------------------------- /docs/management-description.txt: -------------------------------------------------------------------------------- 1 | Place any documents to help with the overall management of the project. -------------------------------------------------------------------------------- /docs/md/media/HockeyApp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/HockeyApp.PNG -------------------------------------------------------------------------------- /docs/md/media/app_package.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/app_package.png -------------------------------------------------------------------------------- /docs/md/media/config.xml.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/config.xml.PNG -------------------------------------------------------------------------------- /docs/md/media/config.xml2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/config.xml2.PNG -------------------------------------------------------------------------------- /docs/md/media/config.xml3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/config.xml3.PNG -------------------------------------------------------------------------------- /docs/md/media/config.xml4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/config.xml4.PNG -------------------------------------------------------------------------------- /docs/md/media/config.xml5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/config.xml5.PNG -------------------------------------------------------------------------------- /docs/md/media/dts-filelocation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/dts-filelocation.png -------------------------------------------------------------------------------- /docs/md/media/e2e_run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/e2e_run.png -------------------------------------------------------------------------------- /docs/md/media/e2e_server.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/e2e_server.PNG -------------------------------------------------------------------------------- /docs/md/media/e2efail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/e2efail.png -------------------------------------------------------------------------------- /docs/md/media/e2esuccess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/e2esuccess.png -------------------------------------------------------------------------------- /docs/md/media/emulator_android.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/emulator_android.PNG -------------------------------------------------------------------------------- /docs/md/media/emulator_app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/emulator_app.png -------------------------------------------------------------------------------- /docs/md/media/image.jquery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image.jquery.png -------------------------------------------------------------------------------- /docs/md/media/image.systemjs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image.systemjs.png -------------------------------------------------------------------------------- /docs/md/media/image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image1.png -------------------------------------------------------------------------------- /docs/md/media/image10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image10.png -------------------------------------------------------------------------------- /docs/md/media/image11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image11.png -------------------------------------------------------------------------------- /docs/md/media/image12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image12.png -------------------------------------------------------------------------------- /docs/md/media/image13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image13.png -------------------------------------------------------------------------------- /docs/md/media/image3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image3.png -------------------------------------------------------------------------------- /docs/md/media/image4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image4.png -------------------------------------------------------------------------------- /docs/md/media/image5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image5.png -------------------------------------------------------------------------------- /docs/md/media/image7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image7.png -------------------------------------------------------------------------------- /docs/md/media/image8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image8.png -------------------------------------------------------------------------------- /docs/md/media/image9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/image9.png -------------------------------------------------------------------------------- /docs/md/media/imageconfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/imageconfig.png -------------------------------------------------------------------------------- /docs/md/media/ripple_device.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/ripple_device.PNG -------------------------------------------------------------------------------- /docs/md/media/slackchat.svg: -------------------------------------------------------------------------------- 1 | slackslackjoin chatjoin chat -------------------------------------------------------------------------------- /docs/md/media/taptoplay.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/taptoplay.PNG -------------------------------------------------------------------------------- /docs/md/media/unit_test_fail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/unit_test_fail.png -------------------------------------------------------------------------------- /docs/md/media/unit_testing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/unit_testing.png -------------------------------------------------------------------------------- /docs/md/media/unittest_success.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/unittest_success.PNG -------------------------------------------------------------------------------- /docs/md/media/vs_upgrade_node.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/docs/md/media/vs_upgrade_node.PNG -------------------------------------------------------------------------------- /keystore/keystore-directions.md: -------------------------------------------------------------------------------- 1 | # Instructions to create Android keystore. # 2 | This is really basic to get things moving. 3 | 4 | 5 | Command Prompt or Powershell to any java version folder containing keytool.exe 6 | 7 | C:\Program Files (x86)\Java\jdk1.7.0_55\bin 8 | 9 | 10 | keytool -genkey -v -keystore locationofkeystore -alias useAlias -keyalg RSA -keysize 2048 -validity 10000 11 | 12 | **useAlias** = any name you like. This is used in the build.json so remember it. 13 | **locationofkeystore** = any folder you like. The string must include the name of the keystorefile and extension 14 | 15 | Working example: 16 | 17 | keytool -genkey -v -keystore D:\Code\TypeScript-Cordova-SystemJS-Angular2-beta\keystore\myrelease-key.keystore -alias deanbiele -keyalg RSA -keysize 2048 -validity 10000 18 | 19 | Verify the APK is signed: 20 | C:\Program Files (x86)\Java\jdk1.7.0_55\bin 21 | jarsigner -verify -verbose -certs my_application.apk 22 | 23 | ## How does Cordova use the KeyStore ## 24 | 25 | The keystore location is saved in the `build.json` file located in the root folder. 26 | 27 | You can update the `keystore` folder location as necessary by editing the `build.json`. 28 | 29 | { 30 | "android": { 31 | "release": { 32 | "keystore": "keystore\\myrelease-key.keystore", 33 | "storePassword": "", 34 | "alias": "", 35 | "password": "", 36 | "keystoreType": "" 37 | } 38 | }, 39 | "windows": { 40 | "release": { 41 | "packageCertificateKeyFile": "res\\native\\windows\\CordovaApp.pfx", 42 | "packageThumbprint": "ABCABCABCABC123123123123", 43 | "publisherID": "CN=FakeCorp.com, L=Lowell, S=Massachusetts, C=US" 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /merges/android/scripts/android2.3-jscompat.js: -------------------------------------------------------------------------------- 1 | // Polyfill for Function.prototype.bind() support on Android 2.3 2 | (function () { 3 | if (!Function.prototype.bind) { 4 | Function.prototype.bind = function (thisValue) { 5 | if (typeof this !== "function") { 6 | throw new TypeError(this + " cannot be bound as it is not a function"); 7 | } 8 | 9 | // bind() also permits prepending arguments to the call 10 | var preArgs = Array.prototype.slice.call(arguments, 1); 11 | 12 | // The actual function to bind the "this" value and arguments to 13 | var functionToBind = this; 14 | var noOpFunction = function () { }; 15 | 16 | // The "this" argument to use 17 | var thisArg = this instanceof noOpFunction && thisValue ? this : thisValue; 18 | 19 | // The resulting bound function 20 | var boundFunction = function () { 21 | return functionToBind.apply(thisArg, preArgs.concat(Array.prototype.slice.call(arguments))); 22 | }; 23 | 24 | noOpFunction.prototype = this.prototype; 25 | boundFunction.prototype = new noOpFunction(); 26 | 27 | return boundFunction; 28 | }; 29 | } 30 | }()); 31 | -------------------------------------------------------------------------------- /merges/android/scripts/platformOverrides.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | // Append the bind() polyfill 3 | var scriptElem = document.createElement('script'); 4 | scriptElem.setAttribute('src', 'scripts/android2.3-jscompat.js'); 5 | if (document.body) { 6 | document.body.appendChild(scriptElem); 7 | } else { 8 | document.head.appendChild(scriptElem); 9 | } 10 | }()); -------------------------------------------------------------------------------- /merges/windows/scripts/platformOverrides.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | // Append the safeHTML polyfill 3 | var scriptElem = document.createElement('script'); 4 | var scriptElem2 = document.createElement('script'); 5 | scriptElem.setAttribute('src', 'scripts/winstore-jscompat.js'); 6 | scriptElem2.setAttribute('src', 'scripts/system-polyfills.js'); 7 | if (document.body) { 8 | document.body.appendChild(scriptElem); 9 | document.body.appendChild(scriptElem2); 10 | } else { 11 | document.head.appendChild(scriptElem); 12 | document.head.appendChild(scriptElem2); 13 | } 14 | }()); 15 | -------------------------------------------------------------------------------- /merges/windows/scripts/winstore-jscompat.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. 3 | // See http://www.apache.org/licenses/LICENSE-2.0.html. 4 | // JavaScript Dynamic Content shim for Windows Store apps 5 | (function () { 6 | 7 | if (window.MSApp && MSApp.execUnsafeLocalFunction) { 8 | 9 | // Some nodes will have an "attributes" property which shadows the Node.prototype.attributes property 10 | // and means we don't actually see the attributes of the Node (interestingly the VS debug console 11 | // appears to suffer from the same issue). 12 | // 13 | var Element_setAttribute = Object.getOwnPropertyDescriptor(Element.prototype, "setAttribute").value; 14 | var Element_removeAttribute = Object.getOwnPropertyDescriptor(Element.prototype, "removeAttribute").value; 15 | var HTMLElement_insertAdjacentHTMLPropertyDescriptor = Object.getOwnPropertyDescriptor(HTMLElement.prototype, "insertAdjacentHTML"); 16 | var Node_get_attributes = Object.getOwnPropertyDescriptor(Node.prototype, "attributes").get; 17 | var Node_get_childNodes = Object.getOwnPropertyDescriptor(Node.prototype, "childNodes").get; 18 | var detectionDiv = document.createElement("div"); 19 | 20 | function getAttributes(element) { 21 | return Node_get_attributes.call(element); 22 | } 23 | 24 | function setAttribute(element, attribute, value) { 25 | try { 26 | Element_setAttribute.call(element, attribute, value); 27 | } catch (e) { 28 | // ignore 29 | } 30 | } 31 | 32 | function removeAttribute(element, attribute) { 33 | Element_removeAttribute.call(element, attribute); 34 | } 35 | 36 | function childNodes(element) { 37 | return Node_get_childNodes.call(element); 38 | } 39 | 40 | function empty(element) { 41 | while (element.childNodes.length) { 42 | element.removeChild(element.lastChild); 43 | } 44 | } 45 | 46 | function insertAdjacentHTML(element, position, html) { 47 | HTMLElement_insertAdjacentHTMLPropertyDescriptor.value.call(element, position, html); 48 | } 49 | 50 | function inUnsafeMode() { 51 | var isUnsafe = true; 52 | try { 53 | detectionDiv.innerHTML = ""; 54 | } 55 | catch (ex) { 56 | isUnsafe = false; 57 | } 58 | 59 | return isUnsafe; 60 | } 61 | 62 | function cleanse(html, targetElement) { 63 | var cleaner = document.implementation.createHTMLDocument("cleaner"); 64 | empty(cleaner.documentElement); 65 | MSApp.execUnsafeLocalFunction(function () { 66 | insertAdjacentHTML(cleaner.documentElement, "afterbegin", html); 67 | }); 68 | 69 | var scripts = cleaner.documentElement.querySelectorAll("script"); 70 | Array.prototype.forEach.call(scripts, function (script) { 71 | switch (script.type.toLowerCase()) { 72 | case "": 73 | script.type = "text/inert"; 74 | break; 75 | case "text/javascript": 76 | case "text/ecmascript": 77 | case "text/x-javascript": 78 | case "text/jscript": 79 | case "text/livescript": 80 | case "text/javascript1.1": 81 | case "text/javascript1.2": 82 | case "text/javascript1.3": 83 | script.type = "text/inert-" + script.type.slice("text/".length); 84 | break; 85 | case "application/javascript": 86 | case "application/ecmascript": 87 | case "application/x-javascript": 88 | script.type = "application/inert-" + script.type.slice("application/".length); 89 | break; 90 | 91 | default: 92 | break; 93 | } 94 | }); 95 | 96 | function cleanseAttributes(element) { 97 | var attributes = getAttributes(element); 98 | if (attributes && attributes.length) { 99 | // because the attributes collection is live it is simpler to queue up the renames 100 | var events; 101 | for (var i = 0, len = attributes.length; i < len; i++) { 102 | var attribute = attributes[i]; 103 | var name = attribute.name; 104 | if ((name[0] === "o" || name[0] === "O") && 105 | (name[1] === "n" || name[1] === "N")) { 106 | events = events || []; 107 | events.push({ name: attribute.name, value: attribute.value }); 108 | } 109 | } 110 | if (events) { 111 | for (var i = 0, len = events.length; i < len; i++) { 112 | var attribute = events[i]; 113 | removeAttribute(element, attribute.name); 114 | setAttribute(element, "x-" + attribute.name, attribute.value); 115 | } 116 | } 117 | } 118 | var children = childNodes(element); 119 | for (var i = 0, len = children.length; i < len; i++) { 120 | cleanseAttributes(children[i]); 121 | } 122 | } 123 | cleanseAttributes(cleaner.documentElement); 124 | 125 | var cleanedNodes = []; 126 | 127 | if (targetElement.tagName === 'HTML') { 128 | cleanedNodes = Array.prototype.slice.call(document.adoptNode(cleaner.documentElement).childNodes); 129 | } else { 130 | if (cleaner.head) { 131 | cleanedNodes = cleanedNodes.concat(Array.prototype.slice.call(document.adoptNode(cleaner.head).childNodes)); 132 | } 133 | if (cleaner.body) { 134 | cleanedNodes = cleanedNodes.concat(Array.prototype.slice.call(document.adoptNode(cleaner.body).childNodes)); 135 | } 136 | } 137 | 138 | return cleanedNodes; 139 | } 140 | 141 | function cleansePropertySetter(property, setter) { 142 | var propertyDescriptor = Object.getOwnPropertyDescriptor(HTMLElement.prototype, property); 143 | var originalSetter = propertyDescriptor.set; 144 | Object.defineProperty(HTMLElement.prototype, property, { 145 | get: propertyDescriptor.get, 146 | set: function (value) { 147 | if (window.WinJS && window.WinJS._execUnsafe && inUnsafeMode()) { 148 | originalSetter.call(this, value); 149 | } else { 150 | var that = this; 151 | var nodes = cleanse(value, that); 152 | MSApp.execUnsafeLocalFunction(function () { 153 | setter(propertyDescriptor, that, nodes); 154 | }); 155 | } 156 | }, 157 | enumerable: propertyDescriptor.enumerable, 158 | configurable: propertyDescriptor.configurable, 159 | }); 160 | } 161 | cleansePropertySetter("innerHTML", function (propertyDescriptor, target, elements) { 162 | empty(target); 163 | for (var i = 0, len = elements.length; i < len; i++) { 164 | target.appendChild(elements[i]); 165 | } 166 | }); 167 | cleansePropertySetter("outerHTML", function (propertyDescriptor, target, elements) { 168 | for (var i = 0, len = elements.length; i < len; i++) { 169 | target.insertAdjacentElement("afterend", elements[i]); 170 | } 171 | target.parentNode.removeChild(target); 172 | }); 173 | 174 | } 175 | 176 | }()); 177 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jspm_testing", 3 | "version": "1.0.0", 4 | "description": "VS 2015 TypeScript Cordova SystemJS Angular2 starter kit", 5 | "homepage": "https://github.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta", 6 | "bugs": "https://github.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/issues", 7 | "contributors": [ 8 | "Dean Biele " 9 | ], 10 | "license": "Apache-2.0", 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta.git" 14 | }, 15 | "dependencies": { 16 | "angular2": "2.0.0-beta.1", 17 | "systemjs": "^0.19.17", 18 | "rxjs": "^5.0.0-beta.1", 19 | "es6-shim": "^0.34.2" 20 | }, 21 | "devDependencies": { 22 | "browser-sync": "^2.11.0", 23 | "connect-history-api-fallback": "1.1.0", 24 | "del": "^2.2.0", 25 | "fs": "^0.0.2", 26 | "gulp": "git://github.com/gulpjs/gulp.git#4.0", 27 | "gulp-connect": "2.3.1", 28 | "gulp-tslint": "4.2.2", 29 | "gulp-load-plugins": "^1.2.0", 30 | "gulp-protractor": "^2.1.0", 31 | "gulp-typescript": "2.10.0", 32 | "gulp-sourcemaps": "^1.6.0", 33 | "karma": "^0.13.19", 34 | "karma-coverage": "^0.5.3", 35 | "karma-chrome-launcher": "^0.2.2", 36 | "karma-ie-launcher": "^0.2.0", 37 | "karma-jasmine": "^0.3.6", 38 | "karma-jasmine-html-reporter": "^0.2.0", 39 | "karma-firefox-launcher": "^0.1.7", 40 | "karma-phantomjs2-launcher": "0.4.0", 41 | "jasmine": "^2.4.1", 42 | "reflect-metadata": "^0.1.3", 43 | "semver": "^5.1.0", 44 | "tslint": "^3.2.2", 45 | "npm": "^3.5.3" 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /plugins/fetch.json: -------------------------------------------------------------------------------- 1 | { 2 | "cordova-plugin-crosswalk-webview": { 3 | "source": { 4 | "type": "registry", 5 | "id": "cordova-plugin-crosswalk-webview" 6 | }, 7 | "is_top_level": true, 8 | "variables": {} 9 | }, 10 | "cordova-plugin-whitelist": { 11 | "source": { 12 | "type": "registry", 13 | "id": "cordova-plugin-whitelist@1" 14 | }, 15 | "is_top_level": true, 16 | "variables": {} 17 | }, 18 | "cordova-plugin-hockeyapp": { 19 | "source": { 20 | "type": "git", 21 | "url": "https://github.com/peutetre/cordova-plugin-hockeyapp", 22 | "subdir": "." 23 | }, 24 | "is_top_level": true, 25 | "variables": {} 26 | }, 27 | "cordova-plugin-media": { 28 | "source": { 29 | "type": "registry", 30 | "id": "cordova-plugin-media@~2.1.0" 31 | }, 32 | "is_top_level": true, 33 | "variables": {} 34 | }, 35 | "cordova-plugin-file": { 36 | "source": { 37 | "type": "registry", 38 | "id": "cordova-plugin-file" 39 | }, 40 | "is_top_level": false, 41 | "variables": {} 42 | } 43 | } -------------------------------------------------------------------------------- /res/icons/android/icon-36-ldpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/android/icon-36-ldpi.png -------------------------------------------------------------------------------- /res/icons/android/icon-48-mdpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/android/icon-48-mdpi.png -------------------------------------------------------------------------------- /res/icons/android/icon-72-hdpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/android/icon-72-hdpi.png -------------------------------------------------------------------------------- /res/icons/android/icon-96-xhdpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/android/icon-96-xhdpi.png -------------------------------------------------------------------------------- /res/icons/ios/icon-40-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-40-2x.png -------------------------------------------------------------------------------- /res/icons/ios/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-40.png -------------------------------------------------------------------------------- /res/icons/ios/icon-50-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-50-2x.png -------------------------------------------------------------------------------- /res/icons/ios/icon-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-50.png -------------------------------------------------------------------------------- /res/icons/ios/icon-57-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-57-2x.png -------------------------------------------------------------------------------- /res/icons/ios/icon-57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-57.png -------------------------------------------------------------------------------- /res/icons/ios/icon-60-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-60-2x.png -------------------------------------------------------------------------------- /res/icons/ios/icon-60-3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-60-3x.png -------------------------------------------------------------------------------- /res/icons/ios/icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-60.png -------------------------------------------------------------------------------- /res/icons/ios/icon-72-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-72-2x.png -------------------------------------------------------------------------------- /res/icons/ios/icon-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-72.png -------------------------------------------------------------------------------- /res/icons/ios/icon-76-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-76-2x.png -------------------------------------------------------------------------------- /res/icons/ios/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-76.png -------------------------------------------------------------------------------- /res/icons/ios/icon-small-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-small-2x.png -------------------------------------------------------------------------------- /res/icons/ios/icon-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/ios/icon-small.png -------------------------------------------------------------------------------- /res/icons/windows/Square150x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/windows/Square150x150Logo.scale-100.png -------------------------------------------------------------------------------- /res/icons/windows/Square150x150Logo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/windows/Square150x150Logo.scale-240.png -------------------------------------------------------------------------------- /res/icons/windows/Square30x30Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/windows/Square30x30Logo.scale-100.png -------------------------------------------------------------------------------- /res/icons/windows/Square310x310Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/windows/Square310x310Logo.scale-100.png -------------------------------------------------------------------------------- /res/icons/windows/Square44x44Logo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/windows/Square44x44Logo.scale-240.png -------------------------------------------------------------------------------- /res/icons/windows/Square70x70Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/windows/Square70x70Logo.scale-100.png -------------------------------------------------------------------------------- /res/icons/windows/Square71x71Logo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/windows/Square71x71Logo.scale-240.png -------------------------------------------------------------------------------- /res/icons/windows/StoreLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/windows/StoreLogo.scale-100.png -------------------------------------------------------------------------------- /res/icons/windows/StoreLogo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/windows/StoreLogo.scale-240.png -------------------------------------------------------------------------------- /res/icons/windows/Wide310x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/windows/Wide310x150Logo.scale-100.png -------------------------------------------------------------------------------- /res/icons/windows/Wide310x150Logo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/windows/Wide310x150Logo.scale-240.png -------------------------------------------------------------------------------- /res/icons/wp8/ApplicationIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/wp8/ApplicationIcon.png -------------------------------------------------------------------------------- /res/icons/wp8/Background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/icons/wp8/Background.png -------------------------------------------------------------------------------- /res/native/android/ant.properties: -------------------------------------------------------------------------------- 1 | key.store= 2 | key.alias= 3 | key.store.password= 4 | key.alias.password= -------------------------------------------------------------------------------- /res/native/windows/CordovaApp.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/native/windows/CordovaApp.pfx -------------------------------------------------------------------------------- /res/screens/android/screen-hdpi-landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/android/screen-hdpi-landscape.png -------------------------------------------------------------------------------- /res/screens/android/screen-hdpi-portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/android/screen-hdpi-portrait.png -------------------------------------------------------------------------------- /res/screens/android/screen-ldpi-landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/android/screen-ldpi-landscape.png -------------------------------------------------------------------------------- /res/screens/android/screen-ldpi-portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/android/screen-ldpi-portrait.png -------------------------------------------------------------------------------- /res/screens/android/screen-mdpi-landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/android/screen-mdpi-landscape.png -------------------------------------------------------------------------------- /res/screens/android/screen-mdpi-portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/android/screen-mdpi-portrait.png -------------------------------------------------------------------------------- /res/screens/android/screen-xhdpi-landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/android/screen-xhdpi-landscape.png -------------------------------------------------------------------------------- /res/screens/android/screen-xhdpi-portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/android/screen-xhdpi-portrait.png -------------------------------------------------------------------------------- /res/screens/ios/screen-ipad-landscape-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/ios/screen-ipad-landscape-2x.png -------------------------------------------------------------------------------- /res/screens/ios/screen-ipad-landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/ios/screen-ipad-landscape.png -------------------------------------------------------------------------------- /res/screens/ios/screen-ipad-portrait-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/ios/screen-ipad-portrait-2x.png -------------------------------------------------------------------------------- /res/screens/ios/screen-ipad-portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/ios/screen-ipad-portrait.png -------------------------------------------------------------------------------- /res/screens/ios/screen-iphone-568h-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/ios/screen-iphone-568h-2x.png -------------------------------------------------------------------------------- /res/screens/ios/screen-iphone-landscape-736h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/ios/screen-iphone-landscape-736h.png -------------------------------------------------------------------------------- /res/screens/ios/screen-iphone-portrait-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/ios/screen-iphone-portrait-2x.png -------------------------------------------------------------------------------- /res/screens/ios/screen-iphone-portrait-667h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/ios/screen-iphone-portrait-667h.png -------------------------------------------------------------------------------- /res/screens/ios/screen-iphone-portrait-736h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/ios/screen-iphone-portrait-736h.png -------------------------------------------------------------------------------- /res/screens/ios/screen-iphone-portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/ios/screen-iphone-portrait.png -------------------------------------------------------------------------------- /res/screens/windows/SplashScreen.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/windows/SplashScreen.scale-100.png -------------------------------------------------------------------------------- /res/screens/windows/SplashScreen.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/windows/SplashScreen.scale-240.png -------------------------------------------------------------------------------- /res/screens/windows/SplashScreenPhone.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/windows/SplashScreenPhone.scale-240.png -------------------------------------------------------------------------------- /res/screens/wp8/SplashScreenImage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dbiele/TypeScript-Cordova-SystemJS-Angular2-beta/497e840b92283ea20683a8619d417a6162272804/res/screens/wp8/SplashScreenImage.jpg -------------------------------------------------------------------------------- /scripts/app.ts: -------------------------------------------------------------------------------- 1 | // import {enableDebugTools} from 'angular2/platform/browser'; 2 | // Used to demonstrate external module is loading and the function is called. 3 | 4 | import {bootstrap} from 'angular2/platform/browser'; 5 | import {AppComponent} from './app/app.component'; 6 | import {AudioHandler} from './app/audio/audiohandler'; 7 | import {HockeyAppServices} from './util/hockeyappservices'; 8 | 9 | /** 10 | * Fires when the cordova deviceready event is fired. 11 | * Or, when cordova does not exist and deviceready is automatically called. 12 | */ 13 | export function appExternalModuleTest(): void { 14 | // Bootstrap Angular2 15 | bootstrap(AppComponent); 16 | 17 | // Initialize soundJS 18 | let testAudio: AudioHandler = new AudioHandler(); 19 | testAudio.playAudio(['audio/audiocheck.net_linearfrequencytest.mp3']); 20 | 21 | //enable angular2 debug tools 22 | //bootstrap(AppComponent).then((appRef) => { enableDebugTools(appRef); }); 23 | 24 | let hockeyapp = new HockeyAppServices(); 25 | } -------------------------------------------------------------------------------- /scripts/app/app.component.html: -------------------------------------------------------------------------------- 1 | 

My First {{title}} App

2 |

What's the date today? {{dateDayMonthYearString}}

-------------------------------------------------------------------------------- /scripts/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import {Component} from 'angular2/core'; 2 | 3 | @Component({ 4 | selector: 'test-app', 5 | templateUrl: 'scripts/app/app.component.html' 6 | //template: '

My First {{title}} App

' 7 | }) 8 | export class AppComponent { 9 | public title: string = 'Angular2'; 10 | public dateDayMonthYearString: string = ''; 11 | constructor() { 12 | let today: Date = new Date(); 13 | let dateDayMonthYear: string = `The current date is ${today.toLocaleDateString()}.`; 14 | this.dateDayMonthYearString = dateDayMonthYear; 15 | } 16 | } -------------------------------------------------------------------------------- /scripts/app/audio/audiohandler.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * This class is used to test systemjs and it's ability to import external .js files. 3 | * SoundJS is loaded in start.ts and used here. System.import('soundjs') 4 | * Info = http://www.createjs.com/soundjs 5 | */ 6 | export class AudioHandler { 7 | constructor() { 8 | //, createjs.CordovaAudioPlugin 9 | createjs.Sound.registerPlugins([createjs.WebAudioPlugin, createjs.HTMLAudioPlugin, createjs.CordovaAudioPlugin]); 10 | createjs.Sound.alternateExtensions = ['mp3']; 11 | createjs.Sound.on('fileload', this.loadHandler, this); 12 | 13 | } 14 | 15 | public playAudio(audioFiles: Array): void { 16 | // this is just for testing. 17 | createjs.Sound.registerSound(audioFiles[0], 'soundID'); 18 | } 19 | 20 | private loadHandler(event: Event) { 21 | console.log('this is a test' + event); 22 | // This is fired for each sound that is registered. 23 | console.log('play audio'); 24 | let instance = createjs.Sound.play('soundID'); // play using id. Could also use full source path or event.src. 25 | instance.on('complete', this.handleComplete, this); 26 | instance.volume = 0.5; 27 | } 28 | 29 | private handleComplete(event: Event) { 30 | console.log('handle complete'); 31 | } 32 | } -------------------------------------------------------------------------------- /scripts/app/components/jasmineunit.ts: -------------------------------------------------------------------------------- 1 | interface UserData { 2 | Name: string; 3 | PersonalIdentifier: string; 4 | } 5 | 6 | export function normalizeDataTest(jsonIn: string) { 7 | let data: UserData = JSON.parse(jsonIn); 8 | return { 9 | name: data.Name, 10 | id: Number(data.PersonalIdentifier) 11 | }; 12 | } -------------------------------------------------------------------------------- /scripts/config.ts: -------------------------------------------------------------------------------- 1 | System.config({ 2 | baseURL: './scripts', 3 | defaultJSExtensions: true, 4 | transpiler: 'none', 5 | map: { 6 | // The js files need to be located in the root /www/ folder. 7 | // For this project, the scripts are located in /www/scripts/lib 8 | soundJS: './scripts/lib/createjs/soundjs-0.6.2.combined.js' 9 | //webgl_heatmap: './scripts/webgl-heatmap.js', 10 | //d3: './node_modules/d3/d3.js' 11 | } 12 | }); -------------------------------------------------------------------------------- /scripts/index.ts: -------------------------------------------------------------------------------- 1 | import {appExternalModuleTest} from './app'; 2 | 3 | /** 4 | * Called from start.ts after systemjs bootstap 5 | */ 6 | export function initialize(): void { 7 | initializeCordova(); 8 | } 9 | 10 | /** 11 | * Waits for Cordova or if not on a device and cordova is not needed, don't wait and call onDeviceReady. 12 | */ 13 | function initializeCordova(): void { 14 | if (!window.cordova) { 15 | onDeviceReady(); 16 | } else { 17 | document.addEventListener('deviceready', onDeviceReady, false); 18 | } 19 | } 20 | 21 | function onDeviceReady(): void { 22 | console.log('Cordova: on device ready'); 23 | appExternalModuleTest(); 24 | } -------------------------------------------------------------------------------- /scripts/mobiledeviceoverride.ts: -------------------------------------------------------------------------------- 1 | //var isMobile = navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i); 2 | /** 3 | * es6-shim is necessary for all browsers. This was a problem with previous versions on Angular2. 4 | */ 5 | //if (isMobile != null) { 6 | console.log('add es6shim'); 7 | var scriptElem = document.createElement('script'); 8 | scriptElem.setAttribute('src', 'scripts/lib/es6-shim/es6-shim.js'); 9 | if (document.body) { 10 | document.body.appendChild(scriptElem); 11 | } else { 12 | document.head.appendChild(scriptElem); 13 | } 14 | //} -------------------------------------------------------------------------------- /scripts/start.ts: -------------------------------------------------------------------------------- 1 | // Embedded in index.html 2 | 3 | /** 4 | * 5 | * @param m = array of modules. 6 | * The last module is the array is the imported index module. See index.ts 7 | */ 8 | function bootstrapApp(m: Array) { 9 | m[m.length - 1].initialize(); 10 | } 11 | 12 | Promise.all([ 13 | // Add as many System.imports as necessary. 14 | // Position of system.import('index') is important. The returned module array is using the bootstrapApp() function above. 15 | // The soundJS location is defined in the ./www/scripts/config.js file or you can use a url location ie. ../scripts/test. 16 | System.import('soundJS'), 17 | System.import('index') 18 | ]) 19 | .catch((error: Object) => console.error('Error: index loading with System:', error.toString())) 20 | .then(bootstrapApp) 21 | .catch((error: Object) => console.error('Error: Boostrapping', error.toString())); -------------------------------------------------------------------------------- /scripts/tests/e2e/app/app.components.spec.ts: -------------------------------------------------------------------------------- 1 | // based on this demo 2 | // https://github.com/juliemr/protractor-demo 3 | // Do not use imports. It will cause errors 4 | // import {it, describe, expect, beforeEach} from 'angular2/testing'; 5 | //import {verifyNoBrowserErrors} from '../e2e_util'; 6 | 7 | describe('Hello World', () => { 8 | describe(' > e2e Example', () => { 9 | //beforeEach(() => { 10 | browser.get('/'); 11 | browser.waitForAngular(); 12 | //}); 13 | it(' > The App Title', () => { 14 | expect(browser.getTitle()).toEqual('Cordova Angular2 Starter Kit'); 15 | }); 16 | it(' > Check content on screen', () => { 17 | var headElement = element.all(by.css('#h1Element')).first(); 18 | expect(headElement.getInnerHtml()).toContain('My First Angular2 App'); 19 | }); 20 | }); 21 | }); -------------------------------------------------------------------------------- /scripts/tests/e2e/app/problem.ts: -------------------------------------------------------------------------------- 1 | // I don't know why, but an import needs to be in this folder to prevent errors with protractor 2 | // Adding a systemjs import in the spec.ts file seems to break because of the system.register 3 | import {it, describe, expect, beforeEach} from 'angular2/testing'; 4 | -------------------------------------------------------------------------------- /scripts/tests/e2e/e2e_util.ts: -------------------------------------------------------------------------------- 1 | import * as webdriver from 'selenium-webdriver'; 2 | let globalKey: string = 'browser'; 3 | let global$: string = '$'; 4 | export var browser: protractor.IBrowser = global[globalKey]; 5 | export var $: cssSelectorHelper = global[global$]; 6 | 7 | export function clickAll(buttonSelectors: any) { 8 | buttonSelectors.forEach(function (selector: any) { $(selector).click(); }); 9 | } 10 | 11 | export function verifyNoBrowserErrors() { 12 | // TODO(tbosch): Bug in ChromeDriver: Need to execute at least one command 13 | // so that the browser logs can be read out! 14 | browser.executeScript('1+1'); 15 | browser.manage().logs().get('browser').then(function (browserLog: any) { 16 | var filteredLog = browserLog.filter(function (logEntry: any) { 17 | if (logEntry.level.value >= webdriver.logging.Level.INFO.value) { 18 | console.log('>> ' + logEntry.message); 19 | } 20 | return logEntry.level.value > webdriver.logging.Level.WARNING.value; 21 | }); 22 | expect(filteredLog.length).toEqual(0); 23 | }); 24 | } 25 | -------------------------------------------------------------------------------- /scripts/tests/unit/app/components/jasmineunit.spec.ts: -------------------------------------------------------------------------------- 1 | // Borrowed from @kraigbro 2 | // http://blogs.msdn.com/b/visualstudio/archive/2016/01/11/unit-testing-apache-cordova-apps-with-visual-studio-part-1.aspx 3 | 4 | import {it, describe, expect} from 'angular2/testing'; 5 | 6 | import {normalizeDataTest} from '../../../../app/components/jasmineunit'; 7 | describe('normalizeData tests', () => { 8 | /* tslint:disable:no-console */ 9 | // First argument to "it" = name of the specific test that appears in the report. 10 | it('Accepts golden path data', () => { 11 | // Use the unit being tested as necessary 12 | let json: string = '{"Name": "Maria", "PersonalIdentifier": 2111858}'; 13 | let norm = normalizeDataTest(json); 14 | //Check the results; "expect" is a Jasmine method. 15 | expect(norm.name).toEqual('Maria'); 16 | expect(norm.id).toEqual(2111858); 17 | }); 18 | /* tslint:enable:no-console */ 19 | }); 20 | -------------------------------------------------------------------------------- /scripts/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "noImplicitAny": false, 4 | "noEmitOnError": true, 5 | "removeComments": true, 6 | "sourceMap": true, 7 | "target": "es5", 8 | "module": "system", 9 | "moduleResolution": "node", 10 | "emitDecoratorMetadata": true, 11 | "experimentalDecorators": true, 12 | "outDir": "../www/scripts/", 13 | "rootDir": "." 14 | }, 15 | "exclude": [ 16 | "typings/browser.d.ts", 17 | "typings/browser" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /scripts/typings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ambientDependencies": { 3 | "createjs-lib": "github:DefinitelyTyped/DefinitelyTyped/createjs-lib/createjs-lib.d.ts#17d36657b89ab615ece6425b7d6555ff8855ad24", 4 | "preloadjs": "github:DefinitelyTyped/DefinitelyTyped/preloadjs/preloadjs.d.ts#89aedb70c31297a6ff6398f63c46448ac0189b28", 5 | "soundjs": "github:DefinitelyTyped/DefinitelyTyped/soundjs/soundjs.d.ts#c9b2b234a5f8f28df50ded178be61786f2204518", 6 | "systemjs": "github:DefinitelyTyped/DefinitelyTyped/systemjs/systemjs.d.ts#83af898254689400de8fb6495c34119ae57ec3fe" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /scripts/typings/browser.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /scripts/typings/browser/ambient/createjs-lib/createjs-lib.d.ts: -------------------------------------------------------------------------------- 1 | // Compiled using typings@0.6.7 2 | // Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/17d36657b89ab615ece6425b7d6555ff8855ad24/createjs-lib/createjs-lib.d.ts 3 | // Type definitions for CreateJS 4 | // Project: http://www.createjs.com/ 5 | // Definitions by: Pedro Ferreira , Chris Smith , Satoru Kimura 6 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 7 | 8 | /* 9 | Copyright (c) 2012 Pedro Ferreira 10 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 11 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 13 | */ 14 | // Common class and methods for CreateJS. 15 | // Library documentation : http://www.createjs.com/Docs/EaselJS/modules/EaselJS.html 16 | // Library documentation : http://www.createjs.com/Docs/PreloadJS/modules/PreloadJS.html 17 | // Library documentation : http://www.createjs.com/Docs/SoundJS/modules/SoundJS.html 18 | // Library documentation : http://www.createjs.com/Docs/TweenJS/modules/TweenJS.html 19 | 20 | 21 | declare module createjs { 22 | export class Event { 23 | constructor(type: string, bubbles: boolean, cancelable: boolean); 24 | 25 | // properties 26 | bubbles: boolean; 27 | cancelable: boolean; 28 | currentTarget: any; // It is 'Object' type officially, but 'any' is easier to use. 29 | defaultPrevented: boolean; 30 | eventPhase: number; 31 | immediatePropagationStopped: boolean; 32 | propagationStopped: boolean; 33 | removed: boolean; 34 | target: any; // It is 'Object' type officially, but 'any' is easier to use. 35 | timeStamp: number; 36 | type: string; 37 | 38 | // other event payloads 39 | data: any; 40 | delta: number; 41 | error: string; 42 | id: string; 43 | item: any; 44 | loaded: number; 45 | name: string; 46 | next: string; 47 | params: any; 48 | paused: boolean; 49 | progress: number; 50 | rawResult: any; 51 | result: any; 52 | runTime: number; 53 | src: string; 54 | time: number; 55 | total: number; 56 | 57 | // methods 58 | clone(): Event; 59 | preventDefault(): void; 60 | remove(): void; 61 | set(props: Object): Event; 62 | stopImmediatePropagation(): void; 63 | stopPropagation(): void; 64 | toString(): string; 65 | } 66 | 67 | export class EventDispatcher { 68 | constructor(); 69 | 70 | // methods 71 | addEventListener(type: string, listener: (eventObj: Object) => boolean, useCapture?: boolean): Function; 72 | addEventListener(type: string, listener: (eventObj: Object) => void, useCapture?: boolean): Function; 73 | addEventListener(type: string, listener: { handleEvent: (eventObj: Object) => boolean; }, useCapture?: boolean): Object; 74 | addEventListener(type: string, listener: { handleEvent: (eventObj: Object) => void; }, useCapture?: boolean): Object; 75 | dispatchEvent(eventObj: Object, target?: Object): boolean; 76 | dispatchEvent(eventObj: string, target?: Object): boolean; 77 | dispatchEvent(eventObj: Event, target?: Object): boolean; 78 | hasEventListener(type: string): boolean; 79 | static initialize(target: Object): void; 80 | off(type: string, listener: (eventObj: Object) => boolean, useCapture?: boolean): void; 81 | off(type: string, listener: (eventObj: Object) => void, useCapture?: boolean): void; 82 | off(type: string, listener: { handleEvent: (eventObj: Object) => boolean; }, useCapture?: boolean): void; 83 | off(type: string, listener: { handleEvent: (eventObj: Object) => void; }, useCapture?: boolean): void; 84 | off(type: string, listener: Function, useCapture?: boolean): void; // It is necessary for "arguments.callee" 85 | on(type: string, listener: (eventObj: Object) => boolean, scope?: Object, once?: boolean, data?: any, useCapture?: boolean): Function; 86 | on(type: string, listener: (eventObj: Object) => void, scope?: Object, once?: boolean, data?: any, useCapture?: boolean): Function; 87 | on(type: string, listener: { handleEvent: (eventObj: Object) => boolean; }, scope?: Object, once?: boolean, data?: any, useCapture?: boolean): Object; 88 | on(type: string, listener: { handleEvent: (eventObj: Object) => void; }, scope?: Object, once?: boolean, data?: any, useCapture?: boolean): Object; 89 | removeAllEventListeners(type?: string): void; 90 | removeEventListener(type: string, listener: (eventObj: Object) => boolean, useCapture?: boolean): void; 91 | removeEventListener(type: string, listener: (eventObj: Object) => void, useCapture?: boolean): void; 92 | removeEventListener(type: string, listener: { handleEvent: (eventObj: Object) => boolean; }, useCapture?: boolean): void; 93 | removeEventListener(type: string, listener: { handleEvent: (eventObj: Object) => void; }, useCapture?: boolean): void; 94 | removeEventListener(type: string, listener: Function, useCapture?: boolean): void; // It is necessary for "arguments.callee" 95 | toString(): string; 96 | willTrigger(type: string): boolean; 97 | } 98 | 99 | export function extend(subclass: () => any, superclass: () => any): () => any; // returns the subclass prototype 100 | export function indexOf(array: any[], searchElement: Object): number; 101 | export function promote(subclass: () => any, prefix: string): () => any; 102 | 103 | export function proxy(method: (eventObj: Object) => boolean, scope: Object, ...arg: any[]): (eventObj: Object) => any; 104 | export function proxy(method: (eventObj: Object) => void, scope: Object, ...arg: any[]): (eventObj: Object) => any; 105 | export function proxy(method: { handleEvent: (eventObj: Object) => boolean; }, scope: Object, ...arg: any[]): (eventObj: Object) => any; 106 | export function proxy(method: { handleEvent: (eventObj: Object) => void; }, scope: Object, ...arg: any[]): (eventObj: Object) => any; 107 | } -------------------------------------------------------------------------------- /scripts/typings/browser/ambient/systemjs/systemjs.d.ts: -------------------------------------------------------------------------------- 1 | // Compiled using typings@0.6.7 2 | // Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/83af898254689400de8fb6495c34119ae57ec3fe/systemjs/systemjs.d.ts 3 | // Type definitions for System.js 0.18.4 4 | // Project: https://github.com/systemjs/systemjs 5 | // Definitions by: Ludovic HENIN , Nathan Walker 6 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 7 | 8 | interface System { 9 | import(name: string): any; 10 | defined: any; 11 | amdDefine: () => void; 12 | amdRequire: () => void; 13 | baseURL: string; 14 | paths: { [key: string]: string }; 15 | meta: { [key: string]: Object }; 16 | config: any; 17 | } 18 | 19 | declare var System: System; 20 | 21 | declare module "systemjs" { 22 | export = System; 23 | } -------------------------------------------------------------------------------- /scripts/typings/cordova/cordova.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova 2 | // Project: http://cordova.apache.org 3 | // Definitions by: Microsoft Open Technologies Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | /// 10 | /// 11 | /// 12 | /// 13 | /// 14 | /// 15 | /// 16 | /// 17 | /// 18 | /// 19 | /// 20 | /// 21 | /// 22 | /// 23 | /// 24 | /// 25 | /// 26 | /// 27 | /// 28 | 29 | interface Cordova { 30 | /** Invokes native functionality by specifying corresponding service name, action and optional parameters. 31 | * @param success A success callback function. 32 | * @param fail An error callback function. 33 | * @param service The service name to call on the native side (corresponds to a native class). 34 | * @param action The action name to call on the native side (generally corresponds to the native class method). 35 | * @param args An array of arguments to pass into the native environment. 36 | */ 37 | exec(success: () => any, fail: () => any, service: string, action: string, args?: string[]): void; 38 | /** Gets the operating system name. */ 39 | platformId: string; 40 | /** Gets Cordova framework version */ 41 | version: string; 42 | /** Defines custom logic as a Cordova module. Other modules can later access it using module name provided. */ 43 | define(moduleName: string, factory: (require: any, exports: any, module: any) => any): void; 44 | /** Access a Cordova module by name. */ 45 | require(moduleName: string): any; 46 | } 47 | 48 | interface Document { 49 | addEventListener(type: "deviceready", listener: (ev: Event) => any, useCapture?: boolean): void; 50 | addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; 51 | addEventListener(type: "resume", listener: (ev: Event) => any, useCapture?: boolean): void; 52 | addEventListener(type: "backbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 53 | addEventListener(type: "menubutton", listener: (ev: Event) => any, useCapture?: boolean): void; 54 | addEventListener(type: "searchbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 55 | addEventListener(type: "startcallbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 56 | addEventListener(type: "endcallbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 57 | addEventListener(type: "volumedownbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 58 | addEventListener(type: "volumeupbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 59 | 60 | removeEventListener(type: "deviceready", listener: (ev: Event) => any, useCapture?: boolean): void; 61 | removeEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; 62 | removeEventListener(type: "resume", listener: (ev: Event) => any, useCapture?: boolean): void; 63 | removeEventListener(type: "backbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 64 | removeEventListener(type: "menubutton", listener: (ev: Event) => any, useCapture?: boolean): void; 65 | removeEventListener(type: "searchbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 66 | removeEventListener(type: "startcallbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 67 | removeEventListener(type: "endcallbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 68 | removeEventListener(type: "volumedownbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 69 | removeEventListener(type: "volumeupbutton", listener: (ev: Event) => any, useCapture?: boolean): void; 70 | 71 | addEventListener(type: string, listener: (ev: Event) => any, useCapture?: boolean): void; 72 | removeEventListener(type: string, listener: (ev: Event) => any, useCapture?: boolean): void; 73 | } 74 | 75 | interface Window { 76 | cordova:Cordova; 77 | } 78 | 79 | // cordova/argscheck module 80 | interface ArgsCheck { 81 | checkArgs(argsSpec: string, functionName: string, args: any[], callee?: any): void; 82 | getValue(value?: any, defaultValue?: any): any; 83 | enableChecks: boolean; 84 | } 85 | 86 | // cordova/urlutil module 87 | interface UrlUtil { 88 | makeAbsolute(url: string): string 89 | } 90 | 91 | /** Apache Cordova instance */ 92 | declare var cordova: Cordova; 93 | -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/Camera.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova Camera plugin. 2 | // Project: https://github.com/apache/cordova-plugin-camera 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | interface Navigator { 10 | /** 11 | * This plugin provides an API for taking pictures and for choosing images from the system's image library. 12 | */ 13 | camera: Camera; 14 | } 15 | 16 | /** 17 | * This plugin provides an API for taking pictures and for choosing images from the system's image library. 18 | */ 19 | interface Camera { 20 | /** 21 | * Removes intermediate photos taken by the camera from temporary storage. 22 | * @param onSuccess Success callback, that called when cleanup succeeds. 23 | * @param onError Error callback, that get an error message. 24 | */ 25 | cleanup( 26 | onSuccess: () => void, 27 | onError: (message: string) => void): void; 28 | /** 29 | * Takes a photo using the camera, or retrieves a photo from the device's image gallery. 30 | * @param cameraSuccess Success callback, that get the image 31 | * as a base64-encoded String, or as the URI for the image file. 32 | * @param cameraError Error callback, that get an error message. 33 | * @param cameraOptions Optional parameters to customize the camera settings. 34 | */ 35 | getPicture( 36 | cameraSuccess: (data: string) => void, 37 | cameraError: (message: string) => void, 38 | cameraOptions?: CameraOptions): void; 39 | // Next will work only on iOS 40 | //getPicture( 41 | // cameraSuccess: (data: string) => void, 42 | // cameraError: (message: string) => void, 43 | // cameraOptions?: CameraOptions): CameraPopoverHandle; 44 | } 45 | 46 | interface CameraOptions { 47 | /** Picture quality in range 0-100. Default is 50 */ 48 | quality?: number; 49 | /** 50 | * Choose the format of the return value. 51 | * Defined in navigator.camera.DestinationType. Default is FILE_URI. 52 | * DATA_URL : 0, Return image as base64-encoded string 53 | * FILE_URI : 1, Return image file URI 54 | * NATIVE_URI : 2 Return image native URI 55 | * (e.g., assets-library:// on iOS or content:// on Android) 56 | */ 57 | destinationType?: number; 58 | /** 59 | * Set the source of the picture. 60 | * Defined in navigator.camera.PictureSourceType. Default is CAMERA. 61 | * PHOTOLIBRARY : 0, 62 | * CAMERA : 1, 63 | * SAVEDPHOTOALBUM : 2 64 | */ 65 | sourceType?: number; 66 | /** Allow simple editing of image before selection. */ 67 | allowEdit?: boolean; 68 | /** 69 | * Choose the returned image file's encoding. 70 | * Defined in navigator.camera.EncodingType. Default is JPEG 71 | * JPEG : 0 Return JPEG encoded image 72 | * PNG : 1 Return PNG encoded image 73 | */ 74 | encodingType?: number; 75 | /** 76 | * Width in pixels to scale image. Must be used with targetHeight. 77 | * Aspect ratio remains constant. 78 | */ 79 | targetWidth?: number; 80 | /** 81 | * Height in pixels to scale image. Must be used with targetWidth. 82 | * Aspect ratio remains constant. 83 | */ 84 | targetHeight?: number; 85 | /** 86 | * Set the type of media to select from. Only works when PictureSourceType 87 | * is PHOTOLIBRARY or SAVEDPHOTOALBUM. Defined in nagivator.camera.MediaType 88 | * PICTURE: 0 allow selection of still pictures only. DEFAULT. 89 | * Will return format specified via DestinationType 90 | * VIDEO: 1 allow selection of video only, WILL ALWAYS RETURN FILE_URI 91 | * ALLMEDIA : 2 allow selection from all media types 92 | */ 93 | mediaType?: number; 94 | /** Rotate the image to correct for the orientation of the device during capture. */ 95 | correctOrientation?: boolean; 96 | /** Save the image to the photo album on the device after capture. */ 97 | saveToPhotoAlbum?: boolean; 98 | /** 99 | * Choose the camera to use (front- or back-facing). 100 | * Defined in navigator.camera.Direction. Default is BACK. 101 | * FRONT: 0 102 | * BACK: 1 103 | */ 104 | cameraDirection?: number; 105 | /** iOS-only options that specify popover location in iPad. Defined in CameraPopoverOptions. */ 106 | popoverOptions?: CameraPopoverOptions; 107 | } 108 | 109 | /** 110 | * A handle to the popover dialog created by navigator.camera.getPicture. Used on iOS only. 111 | */ 112 | interface CameraPopoverHandle { 113 | /** 114 | * Set the position of the popover. 115 | * @param popoverOptions the CameraPopoverOptions that specify the new position. 116 | */ 117 | setPosition(popoverOptions: CameraPopoverOptions): void; 118 | } 119 | 120 | /** 121 | * iOS-only parameters that specify the anchor element location and arrow direction 122 | * of the popover when selecting images from an iPad's library or album. 123 | */ 124 | interface CameraPopoverOptions { 125 | x: number; 126 | y: number; 127 | width: number; 128 | height: number; 129 | /** 130 | * Direction the arrow on the popover should point. Defined in Camera.PopoverArrowDirection 131 | * Matches iOS UIPopoverArrowDirection constants. 132 | * ARROW_UP : 1, 133 | * ARROW_DOWN : 2, 134 | * ARROW_LEFT : 4, 135 | * ARROW_RIGHT : 8, 136 | * ARROW_ANY : 15 137 | */ 138 | arrowDir : number; 139 | } 140 | 141 | declare var Camera: { 142 | // Camera constants, defined in Camera plugin 143 | DestinationType: { 144 | DATA_URL: number; 145 | FILE_URI: number; 146 | NATIVE_URI: number 147 | } 148 | Direction: { 149 | BACK: number; 150 | FRONT: number; 151 | } 152 | EncodingType: { 153 | JPEG: number; 154 | PNG: number; 155 | } 156 | MediaType: { 157 | PICTURE: number; 158 | VIDEO: number; 159 | ALLMEDIA: number; 160 | } 161 | PictureSourceType: { 162 | PHOTOLIBRARY: number; 163 | CAMERA: number; 164 | SAVEDPHOTOALBUM: number; 165 | } 166 | // Used only on iOS 167 | PopoverArrowDirection: { 168 | ARROW_UP: number; 169 | ARROW_DOWN: number; 170 | ARROW_LEFT: number; 171 | ARROW_RIGHT: number; 172 | ARROW_ANY: number; 173 | } 174 | }; -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/Device.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova Device plugin. 2 | // Project: https://github.com/apache/cordova-plugin-device 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | /** 10 | * This plugin defines a global device object, which describes the device's hardware and software. 11 | * Although the object is in the global scope, it is not available until after the deviceready event. 12 | */ 13 | interface Device { 14 | /** Get the version of Cordova running on the device. */ 15 | cordova: string; 16 | /** 17 | * The device.model returns the name of the device's model or product. The value is set 18 | * by the device manufacturer and may be different across versions of the same product. 19 | */ 20 | model: string; 21 | /** Get the device's operating system name. */ 22 | platform: string; 23 | /** Get the device's Universally Unique Identifier (UUID). */ 24 | uuid: string; 25 | /** Get the operating system version. */ 26 | version: string; 27 | } 28 | 29 | declare var device: Device; -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/DeviceMotion.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova Device Motion plugin. 2 | // Project: https://github.com/apache/cordova-plugin-device-motion 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | interface Navigator { 10 | /** 11 | * This plugin provides access to the device's accelerometer. The accelerometer is a motion sensor 12 | * that detects the change (delta) in movement relative to the current device orientation, 13 | * in three dimensions along the x, y, and z axis. 14 | */ 15 | accelerometer: Accelerometer; 16 | } 17 | 18 | /** 19 | * This plugin provides access to the device's accelerometer. The accelerometer is a motion sensor 20 | * that detects the change (delta) in movement relative to the current device orientation, 21 | * in three dimensions along the x, y, and z axis. 22 | */ 23 | interface Accelerometer { 24 | /** 25 | * Stop watching the Acceleration referenced by the watchID parameter. 26 | * @param watchID The ID returned by navigator.accelerometer.watchAcceleration. 27 | */ 28 | clearWatch(watchID: WatchHandle): void; 29 | /** 30 | * Get the current acceleration along the x, y, and z axes. 31 | * These acceleration values are returned to the accelerometerSuccess callback function. 32 | * @param accelerometerSuccess Success callback that gets the Acceleration object. 33 | * @param accelerometerError Success callback 34 | */ 35 | getCurrentAcceleration( 36 | accelerometerSuccess: (acceleration: Acceleration) => void, 37 | accelerometerError: () => void): void; 38 | /** 39 | * Retrieves the device's current Acceleration at a regular interval, executing the 40 | * accelerometerSuccess callback function each time. Specify the interval in milliseconds 41 | * via the acceleratorOptions object's frequency parameter. 42 | * The returned watch ID references the accelerometer's watch interval, and can be used 43 | * with navigator.accelerometer.clearWatch to stop watching the accelerometer. 44 | * @param accelerometerSuccess Callback, that called at every time interval and passes an Acceleration object. 45 | * @param accelerometerError Error callback. 46 | * @param accelerometerOptions Object with options for watchAcceleration 47 | */ 48 | watchAcceleration( 49 | accelerometerSuccess: (acceleration: Acceleration) => void, 50 | accelerometerError: () => void, 51 | accelerometerOptions?: AccelerometerOptions): WatchHandle; 52 | } 53 | 54 | /** 55 | * Contains Accelerometer data captured at a specific point in time. Acceleration values include 56 | * the effect of gravity (9.81 m/s^2), so that when a device lies flat and facing up, x, y, and z 57 | * values returned should be 0, 0, and 9.81. 58 | */ 59 | interface Acceleration { 60 | /** Amount of acceleration on the x-axis. (in m/s^2) */ 61 | x: number; 62 | /** Amount of acceleration on the y-axis. (in m/s^2) */ 63 | y: number; 64 | /** Amount of acceleration on the z-axis. (in m/s^2) */ 65 | z: number; 66 | /** Creation timestamp in milliseconds. */ 67 | timestamp: number; 68 | } 69 | 70 | /** Object with options for watchAcceleration */ 71 | interface AccelerometerOptions { 72 | /** How often to retrieve the Acceleration in milliseconds. (Default: 10000) */ 73 | frequency?: number; 74 | } 75 | 76 | /** Abstract type for watch IDs used by Accelerometer. Values of these type are actually `number` at runtime.*/ 77 | interface WatchHandle { } -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/DeviceOrientation.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova Device Orientation plugin. 2 | // Project: https://github.com/apache/cordova-plugin-device-orientation 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | interface Navigator { 10 | /** 11 | * This plugin provides access to the device's compass. The compass is a sensor that detects 12 | * the direction or heading that the device is pointed, typically from the top of the device. 13 | * It measures the heading in degrees from 0 to 359.99, where 0 is north. 14 | */ 15 | compass: Compass; 16 | } 17 | 18 | /** 19 | * This plugin provides access to the device's compass. The compass is a sensor that detects 20 | * the direction or heading that the device is pointed, typically from the top of the device. 21 | * It measures the heading in degrees from 0 to 359.99, where 0 is north. 22 | */ 23 | interface Compass { 24 | /** 25 | * Get the current compass heading. The compass heading is returned via a CompassHeading 26 | * object using the onSuccess callback function. 27 | * @param onSuccess Success callback that passes CompassHeading object. 28 | * @param onError Error callback that passes CompassError object. 29 | */ 30 | getCurrentHeading( 31 | onSuccess: (heading: CompassHeading) => void, 32 | onError: (error: CompassError) => void, 33 | options?: CompassOptions): void; 34 | /** 35 | * Gets the device's current heading at a regular interval. Each time the heading is retrieved, 36 | * the headingSuccess callback function is executed. The returned watch ID references the compass 37 | * watch interval. The watch ID can be used with navigator.compass.clearWatch to stop watching 38 | * the navigator.compass. 39 | * @param onSuccess Success callback that passes CompassHeading object. 40 | * @param onError Error callback that passes CompassError object. 41 | * @param options CompassOptions object 42 | */ 43 | watchHeading( 44 | onSuccess: (heading: CompassHeading) => void, 45 | onError: (error: CompassError) => void, 46 | options?: CompassOptions): number; 47 | /** 48 | * Stop watching the compass referenced by the watch ID parameter. 49 | * @param id The ID returned by navigator.compass.watchHeading. 50 | */ 51 | clearWatch(id: number): void; 52 | } 53 | 54 | /** A CompassHeading object is returned to the compassSuccess callback function. */ 55 | interface CompassHeading { 56 | /** The heading in degrees from 0-359.99 at a single moment in time. */ 57 | magneticHeading: number; 58 | /** The heading relative to the geographic North Pole in degrees 0-359.99 at a single moment in time. A negative value indicates that the true heading can't be determined. */ 59 | trueHeading: number; 60 | /** The deviation in degrees between the reported heading and the true heading. */ 61 | headingAccuracy: number; 62 | /** The time at which this heading was determined. */ 63 | timestamp: number; 64 | } 65 | 66 | interface CompassOptions { 67 | filter?: number; 68 | frequency?: number; 69 | } 70 | 71 | /** A CompassError object is returned to the onError callback function when an error occurs. */ 72 | interface CompassError { 73 | /** 74 | * One of the predefined error codes 75 | * CompassError.COMPASS_INTERNAL_ERR 76 | * CompassError.COMPASS_NOT_SUPPORTED 77 | */ 78 | code: number; 79 | } 80 | 81 | declare var CompassError: { 82 | /** Constructor for CompassError object */ 83 | new(code: number): CompassError; 84 | COMPASS_INTERNAL_ERR: number; 85 | COMPASS_NOT_SUPPORTED: number 86 | } -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/Dialogs.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova Dialogs plugin. 2 | // Project: https://github.com/apache/cordova-plugin-dialogs 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | interface Navigator { 10 | /** This plugin provides access to some native dialog UI elements. */ 11 | notification: Notification 12 | } 13 | 14 | /** This plugin provides access to some native dialog UI elements. */ 15 | interface Notification { 16 | /** 17 | * Shows a custom alert or dialog box. Most Cordova implementations use a native dialog box for this feature, 18 | * but some platforms use the browser's alert function, which is typically less customizable. 19 | * @param message Dialog message. 20 | * @param alertCallback Callback to invoke when alert dialog is dismissed. 21 | * @param title Dialog title, defaults to 'Alert'. 22 | * @param buttonName Button name, defaults to OK. 23 | */ 24 | alert(message: string, 25 | alertCallback: () => void, 26 | title?: string, 27 | buttonName?: string): void; 28 | /** 29 | * The device plays a beep sound. 30 | * @param times The number of times to repeat the beep. 31 | */ 32 | beep(times: number): void; 33 | /** 34 | * Displays a customizable confirmation dialog box. 35 | * @param message Dialog message. 36 | * @param confirmCallback Callback to invoke with index of button pressed (1, 2, or 3) 37 | * or when the dialog is dismissed without a button press (0). 38 | * @param title Dialog title, defaults to Confirm. 39 | * @param buttonLabels Array of strings specifying button labels, defaults to [OK,Cancel]. 40 | */ 41 | confirm(message: string, 42 | confirmCallback: (choice: number) => void, 43 | title?: string, 44 | buttonLabels?: string[]): void; 45 | /** 46 | * Displays a native dialog box that is more customizable than the browser's prompt function. 47 | * @param message Dialog message. 48 | * @param promptCallback Callback to invoke when a button is pressed. 49 | * @param title Dialog title, defaults to "Prompt". 50 | * @param buttonLabels Array of strings specifying button labels, defaults to ["OK","Cancel"]. 51 | * @param defaultText Default textbox input value, default: "". 52 | */ 53 | prompt(message: string, 54 | promptCallback: (result: NotificationPromptResult) => void, 55 | title?: string, 56 | buttonLabels?: string[], 57 | defaultText?: string): void; 58 | } 59 | 60 | /** Object, passed to promptCallback */ 61 | interface NotificationPromptResult { 62 | /** 63 | * The index of the pressed button. Note that the index uses one-based indexing, so the value is 1, 2, 3, etc. 64 | * 0 is the result when the dialog is dismissed without a button press. 65 | */ 66 | buttonIndex: number; 67 | /** The text entered in the prompt dialog box. */ 68 | input1: string; 69 | } -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/FileTransfer.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova FileTransfer plugin. 2 | // Project: https://github.com/apache/cordova-plugin-file-transfer 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | /// 10 | 11 | /** 12 | * The FileTransfer object provides a way to upload files using an HTTP multi-part POST request, 13 | * and to download files as well. 14 | */ 15 | interface FileTransfer { 16 | /** Called with a ProgressEvent whenever a new chunk of data is transferred. */ 17 | onprogress: (event: ProgressEvent) => void; 18 | /** 19 | * Sends a file to a server. 20 | * @param fileURL Filesystem URL representing the file on the device. For backwards compatibility, 21 | * this can also be the full path of the file on the device. 22 | * @param server URL of the server to receive the file, as encoded by encodeURI(). 23 | * @param successCallback A callback that is passed a FileUploadResult object. 24 | * @param errorCallback A callback that executes if an error occurs retrieving the FileUploadResult. 25 | * Invoked with a FileTransferError object. 26 | * @param options Optional parameters. 27 | * @param trustAllHosts Optional parameter, defaults to false. If set to true, it accepts all security certificates. 28 | * This is useful since Android rejects self-signed security certificates. 29 | * Not recommended for production use. Supported on Android and iOS. 30 | */ 31 | upload( 32 | fileURL: string, 33 | server: string, 34 | successCallback: (result: FileUploadResult) => void, 35 | errorCallback: (error: FileTransferError) => void, 36 | options?: FileUploadOptions, 37 | trustAllHosts?: boolean): void; 38 | /** 39 | * downloads a file from server. 40 | * @param source URL of the server to download the file, as encoded by encodeURI(). 41 | * @param target Filesystem url representing the file on the device. For backwards compatibility, 42 | * this can also be the full path of the file on the device. 43 | * @param successCallback A callback that is passed a FileEntry object. (Function) 44 | * @param errorCallback A callback that executes if an error occurs when retrieving the fileEntry. 45 | * Invoked with a FileTransferError object. 46 | * @param options Optional parameters. 47 | * @param trustAllHosts Optional parameter, defaults to false. If set to true, it accepts all security certificates. 48 | * This is useful since Android rejects self-signed security certificates. 49 | * Not recommended for production use. Supported on Android and iOS. 50 | */ 51 | download( 52 | source: string, 53 | target: string, 54 | successCallback: (fileEntry: FileEntry) => void, 55 | errorCallback: (error: FileTransferError) => void, 56 | options?: FileDownloadOptions, 57 | trustAllHosts?: boolean): void; 58 | /** 59 | * Aborts an in-progress transfer. The onerror callback is passed a FileTransferError object 60 | * which has an error code of FileTransferError.ABORT_ERR. 61 | */ 62 | abort(): void; 63 | } 64 | 65 | declare var FileTransfer: { 66 | new (): FileTransfer; 67 | }; 68 | 69 | /** A FileUploadResult object is passed to the success callback of the FileTransfer object's upload() method. */ 70 | interface FileUploadResult { 71 | /** The number of bytes sent to the server as part of the upload. */ 72 | bytesSent: number; 73 | /** The HTTP response code returned by the server. */ 74 | responseCode: number; 75 | /** The HTTP response returned by the server. */ 76 | response: string; 77 | /** The HTTP response headers by the server. Currently supported on iOS only.*/ 78 | headers: any; 79 | } 80 | 81 | /** Optional parameters for upload method. */ 82 | interface FileUploadOptions { 83 | /** The name of the form element. Defaults to file. */ 84 | fileKey?: string; 85 | /** The file name to use when saving the file on the server. Defaults to image.jpg. */ 86 | fileName?: string; 87 | /** The HTTP method to use - either `PUT` or `POST`. Defaults to `POST`. */ 88 | httpMethod?: string; 89 | /** The mime type of the data to upload. Defaults to image/jpeg. */ 90 | mimeType?: string; 91 | /** A set of optional key/value pairs to pass in the HTTP request. */ 92 | params?: Object; 93 | /** Whether to upload the data in chunked streaming mode. Defaults to true. */ 94 | chunkedMode?: boolean; 95 | /** A map of header name/header values. Use an array to specify more than one value. */ 96 | headers?: Object[]; 97 | } 98 | 99 | /** Optional parameters for download method. */ 100 | interface FileDownloadOptions { 101 | /** A map of header name/header values. Use an array to specify more than one value. */ 102 | headers?: Object[]; 103 | } 104 | 105 | /** A FileTransferError object is passed to an error callback when an error occurs. */ 106 | interface FileTransferError { 107 | /** 108 | * One of the predefined error codes listed below. 109 | * FileTransferError.FILE_NOT_FOUND_ERR 110 | * FileTransferError.INVALID_URL_ERR 111 | * FileTransferError.CONNECTION_ERR 112 | * FileTransferError.ABORT_ERR 113 | * FileTransferError.NOT_MODIFIED_ERR 114 | */ 115 | code: number; 116 | /** URL to the source. */ 117 | source: string; 118 | /** URL to the target. */ 119 | target: string; 120 | /** HTTP status code. This attribute is only available when a response code is received from the HTTP connection. */ 121 | http_status: number; 122 | /* Response body. This attribute is only available when a response is received from the HTTP connection. */ 123 | body: string; 124 | /* Exception that is thrown by native code */ 125 | exception: any; 126 | } 127 | 128 | declare var FileTransferError: { 129 | /** Constructor for FileTransferError object */ 130 | new (code?: number, source?: string, target?: string, status?: number, body?: any, exception?: any): FileTransferError; 131 | FILE_NOT_FOUND_ERR: number; 132 | INVALID_URL_ERR: number; 133 | CONNECTION_ERR: number; 134 | ABORT_ERR: number; 135 | NOT_MODIFIED_ERR: number; 136 | } -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/Media.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova Media plugin. 2 | // Project: https://github.com/apache/cordova-plugin-media 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | declare var Media: { 10 | new ( 11 | src: string, 12 | mediaSuccess: () => void, 13 | mediaError?: (error: MediaError) => any, 14 | mediaStatus?: (status: number) => void): Media; 15 | //Media statuses 16 | MEDIA_NONE: number; 17 | MEDIA_STARTING: number; 18 | MEDIA_RUNNING: number; 19 | MEDIA_PAUSED: number; 20 | MEDIA_STOPPED: number 21 | }; 22 | 23 | /** 24 | * This plugin provides the ability to record and play back audio files on a device. 25 | * NOTE: The current implementation does not adhere to a W3C specification for media capture, 26 | * and is provided for convenience only. A future implementation will adhere to the latest 27 | * W3C specification and may deprecate the current APIs. 28 | */ 29 | interface Media { 30 | /** 31 | * Returns the current position within an audio file. Also updates the Media object's position parameter. 32 | * @param mediaSuccess The callback that is passed the current position in seconds. 33 | * @param mediaError The callback to execute if an error occurs. 34 | */ 35 | getCurrentPosition( 36 | mediaSuccess: (position: number) => void, 37 | mediaError?: (error: MediaError) => void): void; 38 | /** Returns the duration of an audio file in seconds. If the duration is unknown, it returns a value of -1. */ 39 | getDuration(): number; 40 | /** Starts or resumes playing an audio file. */ 41 | play(): void; 42 | /** Pauses playing an audio file. */ 43 | pause(): void; 44 | /** 45 | * Releases the underlying operating system's audio resources. This is particularly important 46 | * for Android, since there are a finite amount of OpenCore instances for media playback. 47 | * Applications should call the release function for any Media resource that is no longer needed. 48 | */ 49 | release(): void; 50 | /** 51 | * Sets the current position within an audio file. 52 | * @param position Position in milliseconds. 53 | */ 54 | seekTo(position: number): void; 55 | /** 56 | * Set the volume for an audio file. 57 | * @param volume The volume to set for playback. The value must be within the range of 0.0 to 1.0. 58 | */ 59 | setVolume(volume: number): void; 60 | /** Starts recording an audio file. */ 61 | startRecord(): void; 62 | /** Stops recording an audio file. */ 63 | stopRecord(): void; 64 | /** Stops playing an audio file. */ 65 | stop(): void; 66 | /** 67 | * The position within the audio playback, in seconds. 68 | * Not automatically updated during play; call getCurrentPosition to update. 69 | */ 70 | position: number; 71 | /** The duration of the media, in seconds. */ 72 | duration: number; 73 | } 74 | -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/MediaCapture.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova MediaCapture plugin. 2 | // Project: https://github.com/apache/cordova-plugin-media-capture 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | interface Navigator { 10 | device: Device; 11 | } 12 | 13 | interface Device { 14 | capture: Capture; 15 | } 16 | 17 | /** This plugin provides access to the device's audio, image, and video capture capabilities. */ 18 | interface Capture { 19 | /** 20 | * Start the audio recorder application and return information about captured audio clip files. 21 | * @param onSuccess Executes when the capture operation finishes with an array 22 | * of MediaFile objects describing each captured audio clip file. 23 | * @param onError Executes, if the user terminates the operation before an audio clip is captured, 24 | * with a CaptureError object, featuring the CaptureError.CAPTURE_NO_MEDIA_FILES error code. 25 | * @param options Encapsulates audio capture configuration options. 26 | */ 27 | captureAudio( 28 | onSuccess: (mediaFiles: MediaFile[]) => void, 29 | onError: (error: CaptureError) => void, 30 | options?: AudioOptions): void ; 31 | /** 32 | * Start the camera application and return information about captured image files. 33 | * @param onSuccess Executes when the capture operation finishes with an array 34 | * of MediaFile objects describing each captured image clip file. 35 | * @param onError Executes, if the user terminates the operation before an audio clip is captured, 36 | * with a CaptureError object, featuring the CaptureError.CAPTURE_NO_MEDIA_FILES error code. 37 | * @param options Encapsulates audio capture configuration options. 38 | */ 39 | captureImage( 40 | onSuccess: (mediaFiles: MediaFile[]) => void, 41 | onError: (error: CaptureError) => void, 42 | options?: ImageOptions): void ; 43 | /** 44 | * Start the video recorder application and return information about captured video clip files. 45 | * @param onSuccess Executes when the capture operation finishes with an array 46 | * of MediaFile objects describing each captured video clip file. 47 | * @param onError Executes, if the user terminates the operation before an audio clip is captured, 48 | * with a CaptureError object, featuring the CaptureError.CAPTURE_NO_MEDIA_FILES error code. 49 | * @param options Encapsulates audio capture configuration options. 50 | */ 51 | captureVideo( 52 | onSuccess: (mediaFiles: MediaFile[]) => void, 53 | onError: (error: CaptureError) => void, 54 | options?: VideoOptions): void ; 55 | /** The audio recording formats supported by the device. */ 56 | supportedAudioModes: ConfigurationData[]; 57 | /** The recording image sizes and formats supported by the device. */ 58 | supportedImageModes: ConfigurationData[]; 59 | /** The recording video resolutions and formats supported by the device. */ 60 | supportedVideoModes: ConfigurationData[]; 61 | } 62 | 63 | /** Encapsulates properties of a media capture file. */ 64 | interface MediaFile { 65 | /** The name of the file, without path information. */ 66 | name: string; 67 | /** The full path of the file, including the name. */ 68 | fullPath: string; 69 | /** The file's mime type */ 70 | type: string; 71 | /** The date and time when the file was last modified. */ 72 | lastModifiedDate: Date; 73 | /** The size of the file, in bytes. */ 74 | size: number; 75 | /** 76 | * Retrieves format information about the media capture file. 77 | * @param successCallback Invoked with a MediaFileData object when successful. 78 | * @param errorCallback Invoked if the attempt fails, this function. 79 | */ 80 | getFormatData( 81 | successCallback: (data: MediaFileData) => void, 82 | errorCallback?: () => void): void; 83 | } 84 | 85 | /** Encapsulates format information about a media file. */ 86 | interface MediaFileData { 87 | /** The actual format of the audio and video content. */ 88 | codecs: string; 89 | /** The average bitrate of the content. The value is zero for images. */ 90 | bitrate: number; 91 | /** The height of the image or video in pixels. The value is zero for audio clips. */ 92 | height: number; 93 | /** The width of the image or video in pixels. The value is zero for audio clips. */ 94 | width: number; 95 | /** The length of the video or sound clip in seconds. The value is zero for images. */ 96 | duration: number; 97 | } 98 | 99 | /** Encapsulates the error code resulting from a failed media capture operation. */ 100 | interface CaptureError { 101 | /** 102 | * One of the pre-defined error codes listed below. 103 | * CaptureError.CAPTURE_INTERNAL_ERR 104 | * The camera or microphone failed to capture image or sound. 105 | * CaptureError.CAPTURE_APPLICATION_BUSY 106 | * The camera or audio capture application is currently serving another capture request. 107 | * CaptureError.CAPTURE_INVALID_ARGUMENT 108 | * Invalid use of the API (e.g., the value of limit is less than one). 109 | * CaptureError.CAPTURE_NO_MEDIA_FILES 110 | * The user exits the camera or audio capture application before capturing anything. 111 | * CaptureError.CAPTURE_NOT_SUPPORTED 112 | * The requested capture operation is not supported. 113 | */ 114 | code: number; 115 | message: string; 116 | } 117 | 118 | declare var CaptureError: { 119 | /** Constructor for CaptureError */ 120 | new (code: number, message: string): CaptureError; 121 | CAPTURE_INTERNAL_ERR: number; 122 | CAPTURE_APPLICATION_BUSY: number; 123 | CAPTURE_INVALID_ARGUMENT: number; 124 | CAPTURE_NO_MEDIA_FILES: number; 125 | CAPTURE_NOT_SUPPORTED: number; 126 | } 127 | 128 | /** Encapsulates audio capture configuration options. */ 129 | interface AudioOptions { 130 | /** 131 | * The maximum number of audio clips the device's user can capture in a single 132 | * capture operation. The value must be greater than or equal to 1. 133 | */ 134 | limit?: number; 135 | /** The maximum duration of a audio clip, in seconds. */ 136 | duration?: number; 137 | } 138 | 139 | /** Encapsulates image capture configuration options. */ 140 | interface ImageOptions { 141 | /** 142 | * The maximum number of images the user can capture in a single capture operation. 143 | * The value must be greater than or equal to 1 (defaults to 1). 144 | */ 145 | limit?: number; 146 | } 147 | 148 | /** Encapsulates video capture configuration options. */ 149 | interface VideoOptions { 150 | /** 151 | * The maximum number of video clips the device's user can capture in a single 152 | * capture operation. The value must be greater than or equal to 1. 153 | */ 154 | limit?: number; 155 | /** The maximum duration of a video clip, in seconds. */ 156 | duration?: number; 157 | } 158 | 159 | /** Encapsulates a set of media capture parameters that a device supports. */ 160 | interface ConfigurationData { 161 | /** The ASCII-encoded lowercase string representing the media type. */ 162 | type: string; 163 | /** The height of the image or video in pixels. The value is zero for sound clips. */ 164 | height: number; 165 | /** The width of the image or video in pixels. The value is zero for sound clips. */ 166 | width: number; 167 | } -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/NetworkInformation.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova Network Information plugin. 2 | // Project: https://github.com/apache/cordova-plugin-network-information 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | interface Navigator { 10 | /** 11 | * This plugin provides an implementation of an old version of the Network Information API. 12 | * It provides information about the device's cellular and wifi connection, and whether the device has an internet connection. 13 | */ 14 | connection: Connection; 15 | // see https://github.com/apache/cordova-plugin-network-information/blob/dev/doc/index.md#api-change 16 | // for 17 | network: { 18 | /** 19 | * This plugin provides an implementation of an old version of the Network Information API. 20 | * It provides information about the device's cellular and wifi connection, and whether the device has an internet connection. 21 | */ 22 | connection: Connection 23 | } 24 | } 25 | 26 | interface Document { 27 | addEventListener(type: "online", connectionStateCallback: () => any, useCapture?: boolean): void; 28 | addEventListener(type: "offline", connectionStateCallback: () => any, useCapture?: boolean): void; 29 | } 30 | 31 | /** 32 | * The connection object, exposed via navigator.connection, provides information 33 | * about the device's cellular and wifi connection. 34 | */ 35 | interface Connection { 36 | /** 37 | * This property offers a fast way to determine the device's network connection state, and type of connection. 38 | * One of: 39 | * Connection.UNKNOWN 40 | * Connection.ETHERNET 41 | * Connection.WIFI 42 | * Connection.CELL_2G 43 | * Connection.CELL_3G 44 | * Connection.CELL_4G 45 | * Connection.CELL 46 | * Connection.NONE 47 | */ 48 | type: number 49 | } 50 | 51 | declare var Connection: { 52 | UNKNOWN: number; 53 | ETHERNET: number; 54 | WIFI: number; 55 | CELL_2G: number; 56 | CELL_3G: number; 57 | CELL_4G: number; 58 | CELL: number; 59 | NONE: number; 60 | } -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/Push.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova Push plugin. 2 | // Project: https://github.com/phonegap-build/PushPlugin 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | interface Window { 10 | plugins: Plugins 11 | } 12 | 13 | interface Plugins { 14 | /** 15 | * This plugin allows to receive push notifications. The Android implementation uses 16 | * Google's GCM (Google Cloud Messaging) service, 17 | * whereas the iOS version is based on Apple APNS Notifications 18 | */ 19 | pushNotification: PushNotification 20 | } 21 | 22 | /** 23 | * This plugin allows to receive push notifications. The Android implementation uses 24 | * Google's GCM (Google Cloud Messaging) service, 25 | * whereas the iOS version is based on Apple APNS Notifications 26 | */ 27 | interface PushNotification { 28 | /** 29 | * Registers as push notification receiver. 30 | * @param successCallback Called when a plugin method returns without error. 31 | * @param errorCallback Called when the plugin returns an error. 32 | * @param registrationOptions Options for registration process. 33 | */ 34 | register( 35 | successCallback: (registrationId: string) => void, 36 | errorCallback: (error: any) => void, 37 | registrationOptions: RegistrationOptions): void; 38 | /** 39 | * Unregisters as push notification receiver. 40 | * @param successCallback Called when a plugin method returns without error. 41 | * @param errorCallback Called when the plugin returns an error. 42 | */ 43 | unregister( 44 | successCallback: (result: any) => void, 45 | errorCallback: (error: any) => void): void; 46 | /** 47 | * Sets the badge count visible when the app is not running. iOS only. 48 | * @param successCallback Called when a plugin method returns without error. 49 | * @param errorCallback Called when the plugin returns an error. 50 | * @param badgeCount An integer indicating what number should show up in the badge. Passing 0 will clear the badge. 51 | */ 52 | setApplicationIconBadgeNumber( 53 | successCallback: (result: any) => void, 54 | errorCallback: (error: any) => void, 55 | badgeCount: number): void; 56 | } 57 | 58 | /** Options for registration process. */ 59 | interface RegistrationOptions { 60 | /** This is the Google project ID you need to obtain by registering your application for GCM. Android only */ 61 | senderID?: string; 62 | /** WP8 only */ 63 | channelName?: string; 64 | /** Callback, that is fired when notification arrived */ 65 | ecb?: string; 66 | badge?: boolean; 67 | sound?: boolean; 68 | alert?: boolean 69 | } 70 | 71 | -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/Splashscreen.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova Splashscreen plugin. 2 | // Project: https://github.com/apache/cordova-plugin-splashscreen 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | interface Navigator { 10 | /** This plugin displays and hides a splash screen during application launch. */ 11 | splashscreen: { 12 | /** Dismiss the splash screen. */ 13 | hide(): void; 14 | /** Displays the splash screen. */ 15 | show(): void; 16 | } 17 | } -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/StatusBar.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova StatusBar plugin. 2 | // Project: https://github.com/apache/cordova-plugin-statusbar 3 | // Definitions by: Xinkai Chen 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | 6 | /** 7 | * Global object StatusBar. 8 | */ 9 | interface Window { 10 | StatusBar: StatusBar; 11 | } 12 | 13 | 14 | /** 15 | * The StatusBar object provides some functions to customize the iOS and Android StatusBar. 16 | */ 17 | interface StatusBar { 18 | /** 19 | * On iOS 7, make the statusbar overlay or not overlay the WebView. 20 | * @param isOverlay On iOS 7, set to false to make the statusbar appear like iOS 6. 21 | * Set the style and background color to suit using the other functions. 22 | */ 23 | overlaysWebView: (isOverlay: boolean) => void; 24 | 25 | /** 26 | * Use the default statusbar (dark text, for light backgrounds). 27 | */ 28 | styleDefault: () => void; 29 | 30 | /** 31 | * Use the lightContent statusbar (light text, for dark backgrounds). 32 | */ 33 | styleLightContent: () => void; 34 | 35 | /** 36 | * Use the blackTranslucent statusbar (light text, for dark backgrounds). 37 | */ 38 | styleBlackTranslucent: () => void; 39 | 40 | /** 41 | * Use the blackOpaque statusbar (light text, for dark backgrounds). 42 | */ 43 | styleBlackOpaque: () => void; 44 | 45 | /** 46 | * On iOS 7, when you set StatusBar.statusBarOverlaysWebView to false, 47 | * you can set the background color of the statusbar by color name. 48 | * @param color Supported color names are: 49 | * black, darkGray, lightGray, white, gray, red, green, blue, cyan, yellow, magenta, orange, purple, brown 50 | */ 51 | backgroundColorByName: (color: string) => void; 52 | 53 | /** 54 | * Sets the background color of the statusbar by a hex string. 55 | * @param color CSS shorthand properties are also supported. 56 | * On iOS 7, when you set StatusBar.statusBarOverlaysWebView to false, you can set the background color of the statusbar by a hex string (#RRGGBB). 57 | * On WP7 and WP8 you can also specify values as #AARRGGBB, where AA is an alpha value 58 | */ 59 | backgroundColorByHexString: (color: string) => void; 60 | 61 | /** 62 | * Hide the statusbar. 63 | */ 64 | hide: () => void; 65 | 66 | /** 67 | * Show the statusbar. 68 | */ 69 | show: () => void; 70 | 71 | /** 72 | * Read this property to see if the statusbar is visible or not. 73 | */ 74 | isVisible: boolean; 75 | } 76 | -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/Vibration.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova Vibration plugin. 2 | // Project: https://github.com/apache/cordova-plugin-vibration 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | interface Notification { 10 | /** 11 | * Vibrates the device for the specified amount of time. 12 | * @param time Milliseconds to vibrate the device. Ignored on iOS. 13 | */ 14 | vibrate(time: number): void 15 | /** 16 | * Vibrates the device with a given pattern. 17 | * @param number[] pattern Pattern with which to vibrate the device. 18 | * The first value - number of milliseconds to wait before turning the vibrator on. 19 | * The next value - the number of milliseconds for which to keep the vibrator on before turning it off. 20 | * @param number repeat Optional index into the pattern array at which to start repeating (will repeat until canceled), 21 | * or -1 for no repetition (default). 22 | */ 23 | vibrateWithPattern(pattern: number[], repeat: number): void; 24 | /** 25 | * Immediately cancels any currently running vibration. 26 | */ 27 | cancelVibration(): void; 28 | } -------------------------------------------------------------------------------- /scripts/typings/cordova/plugins/WebSQL.d.ts: -------------------------------------------------------------------------------- 1 | // Type definitions for Apache Cordova WebSQL plugin. 2 | // Project: https://github.com/MSOpenTech/cordova-plugin-websql 3 | // Definitions by: Microsoft Open Technologies, Inc. 4 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 5 | // 6 | // Copyright (c) Microsoft Open Technologies, Inc. 7 | // Licensed under the MIT license. 8 | 9 | interface Window { 10 | /** 11 | * Creates (opens, if exist) database with supplied parameters. 12 | * @param name Database name 13 | * @param version Database version 14 | * @param displayname Database display name 15 | * @param size Size, in bytes 16 | * @param creationCallback Callback, that executed on database creation. Accepts Database object. 17 | */ 18 | openDatabase(name: string, 19 | version: string, 20 | displayname: string, 21 | size: number, 22 | creationCallback?: (database: Database) => void): Database; 23 | } 24 | 25 | interface Database { 26 | /** 27 | * Starts new transaction. 28 | * @param callback Function, that will be called when transaction starts. 29 | * @param errorCallback Called, when Transaction fails. 30 | * @param successCallback Called, when transaction committed. 31 | */ 32 | transaction(callback: (transaction: SqlTransaction) => void, 33 | errorCallback?: (error: SqlError) => void, 34 | successCallback?: () => void): void; 35 | /** 36 | * Starts new transaction. 37 | * @param callback Function, that will be called when transaction starts. 38 | * @param errorCallback Called, when Transaction fails. 39 | * @param successCallback Called, when transaction committed. 40 | */ 41 | readTransaction(callback: (transaction: SqlTransaction) => void, 42 | errorCallback?: (error: SqlError) => void, 43 | successCallback?: () => void): void; 44 | name: string; 45 | version: string; 46 | displayName: string; 47 | size: number; 48 | } 49 | 50 | declare var Database: { 51 | /** Constructor for Database object */ 52 | new(name: string, 53 | version: string, 54 | displayname: string, 55 | size: number, 56 | creationCallback: (database: Database)=> void): Database; 57 | }; 58 | 59 | interface SqlTransaction { 60 | /** 61 | * Executes SQL statement via current transaction. 62 | * @param sql SQL statement to execute. 63 | * @param arguments SQL stetement arguments. 64 | * @param successCallback Called in case of query has been successfully done. 65 | * @param errorCallback Called, when query fails. Return false to continue transaction; true or no return to rollback. 66 | */ 67 | executeSql(sql: string, 68 | arguments?: any[], 69 | successCallback?: (transaction: SqlTransaction, resultSet: SqlResultSet) => void, 70 | errorCallback?: (transaction: SqlTransaction, error: SqlError) => any): void; 71 | } 72 | 73 | declare var SqlTransaction: { 74 | new(): SqlTransaction; 75 | }; 76 | 77 | interface SqlResultSet { 78 | insertId: number; 79 | rowsAffected: number; 80 | rows: SqlResultSetRowList; 81 | } 82 | 83 | interface SqlResultSetRowList { 84 | length: number; 85 | item(index: number): Object; 86 | } 87 | 88 | interface SqlError { 89 | code: number; 90 | message: string; 91 | } 92 | 93 | declare var SqlError: { 94 | // Error code constants from http://www.w3.org/TR/webdatabase/#sqlerror 95 | UNKNOWN_ERR: number; 96 | DATABASE_ERR: number; 97 | VERSION_ERR: number; 98 | TOO_LARGE_ERR: number; 99 | QUOTA_ERR: number; 100 | SYNTAX_ERR: number; 101 | CONSTRAINT_ERR: number; 102 | TIMEOUT_ERR: number; 103 | }; -------------------------------------------------------------------------------- /scripts/typings/main.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /scripts/typings/main/ambient/createjs-lib/createjs-lib.d.ts: -------------------------------------------------------------------------------- 1 | // Compiled using typings@0.6.7 2 | // Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/17d36657b89ab615ece6425b7d6555ff8855ad24/createjs-lib/createjs-lib.d.ts 3 | // Type definitions for CreateJS 4 | // Project: http://www.createjs.com/ 5 | // Definitions by: Pedro Ferreira , Chris Smith , Satoru Kimura 6 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 7 | 8 | /* 9 | Copyright (c) 2012 Pedro Ferreira 10 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 11 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 13 | */ 14 | // Common class and methods for CreateJS. 15 | // Library documentation : http://www.createjs.com/Docs/EaselJS/modules/EaselJS.html 16 | // Library documentation : http://www.createjs.com/Docs/PreloadJS/modules/PreloadJS.html 17 | // Library documentation : http://www.createjs.com/Docs/SoundJS/modules/SoundJS.html 18 | // Library documentation : http://www.createjs.com/Docs/TweenJS/modules/TweenJS.html 19 | 20 | 21 | declare module createjs { 22 | export class Event { 23 | constructor(type: string, bubbles: boolean, cancelable: boolean); 24 | 25 | // properties 26 | bubbles: boolean; 27 | cancelable: boolean; 28 | currentTarget: any; // It is 'Object' type officially, but 'any' is easier to use. 29 | defaultPrevented: boolean; 30 | eventPhase: number; 31 | immediatePropagationStopped: boolean; 32 | propagationStopped: boolean; 33 | removed: boolean; 34 | target: any; // It is 'Object' type officially, but 'any' is easier to use. 35 | timeStamp: number; 36 | type: string; 37 | 38 | // other event payloads 39 | data: any; 40 | delta: number; 41 | error: string; 42 | id: string; 43 | item: any; 44 | loaded: number; 45 | name: string; 46 | next: string; 47 | params: any; 48 | paused: boolean; 49 | progress: number; 50 | rawResult: any; 51 | result: any; 52 | runTime: number; 53 | src: string; 54 | time: number; 55 | total: number; 56 | 57 | // methods 58 | clone(): Event; 59 | preventDefault(): void; 60 | remove(): void; 61 | set(props: Object): Event; 62 | stopImmediatePropagation(): void; 63 | stopPropagation(): void; 64 | toString(): string; 65 | } 66 | 67 | export class EventDispatcher { 68 | constructor(); 69 | 70 | // methods 71 | addEventListener(type: string, listener: (eventObj: Object) => boolean, useCapture?: boolean): Function; 72 | addEventListener(type: string, listener: (eventObj: Object) => void, useCapture?: boolean): Function; 73 | addEventListener(type: string, listener: { handleEvent: (eventObj: Object) => boolean; }, useCapture?: boolean): Object; 74 | addEventListener(type: string, listener: { handleEvent: (eventObj: Object) => void; }, useCapture?: boolean): Object; 75 | dispatchEvent(eventObj: Object, target?: Object): boolean; 76 | dispatchEvent(eventObj: string, target?: Object): boolean; 77 | dispatchEvent(eventObj: Event, target?: Object): boolean; 78 | hasEventListener(type: string): boolean; 79 | static initialize(target: Object): void; 80 | off(type: string, listener: (eventObj: Object) => boolean, useCapture?: boolean): void; 81 | off(type: string, listener: (eventObj: Object) => void, useCapture?: boolean): void; 82 | off(type: string, listener: { handleEvent: (eventObj: Object) => boolean; }, useCapture?: boolean): void; 83 | off(type: string, listener: { handleEvent: (eventObj: Object) => void; }, useCapture?: boolean): void; 84 | off(type: string, listener: Function, useCapture?: boolean): void; // It is necessary for "arguments.callee" 85 | on(type: string, listener: (eventObj: Object) => boolean, scope?: Object, once?: boolean, data?: any, useCapture?: boolean): Function; 86 | on(type: string, listener: (eventObj: Object) => void, scope?: Object, once?: boolean, data?: any, useCapture?: boolean): Function; 87 | on(type: string, listener: { handleEvent: (eventObj: Object) => boolean; }, scope?: Object, once?: boolean, data?: any, useCapture?: boolean): Object; 88 | on(type: string, listener: { handleEvent: (eventObj: Object) => void; }, scope?: Object, once?: boolean, data?: any, useCapture?: boolean): Object; 89 | removeAllEventListeners(type?: string): void; 90 | removeEventListener(type: string, listener: (eventObj: Object) => boolean, useCapture?: boolean): void; 91 | removeEventListener(type: string, listener: (eventObj: Object) => void, useCapture?: boolean): void; 92 | removeEventListener(type: string, listener: { handleEvent: (eventObj: Object) => boolean; }, useCapture?: boolean): void; 93 | removeEventListener(type: string, listener: { handleEvent: (eventObj: Object) => void; }, useCapture?: boolean): void; 94 | removeEventListener(type: string, listener: Function, useCapture?: boolean): void; // It is necessary for "arguments.callee" 95 | toString(): string; 96 | willTrigger(type: string): boolean; 97 | } 98 | 99 | export function extend(subclass: () => any, superclass: () => any): () => any; // returns the subclass prototype 100 | export function indexOf(array: any[], searchElement: Object): number; 101 | export function promote(subclass: () => any, prefix: string): () => any; 102 | 103 | export function proxy(method: (eventObj: Object) => boolean, scope: Object, ...arg: any[]): (eventObj: Object) => any; 104 | export function proxy(method: (eventObj: Object) => void, scope: Object, ...arg: any[]): (eventObj: Object) => any; 105 | export function proxy(method: { handleEvent: (eventObj: Object) => boolean; }, scope: Object, ...arg: any[]): (eventObj: Object) => any; 106 | export function proxy(method: { handleEvent: (eventObj: Object) => void; }, scope: Object, ...arg: any[]): (eventObj: Object) => any; 107 | } -------------------------------------------------------------------------------- /scripts/typings/main/ambient/systemjs/systemjs.d.ts: -------------------------------------------------------------------------------- 1 | // Compiled using typings@0.6.7 2 | // Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/83af898254689400de8fb6495c34119ae57ec3fe/systemjs/systemjs.d.ts 3 | // Type definitions for System.js 0.18.4 4 | // Project: https://github.com/systemjs/systemjs 5 | // Definitions by: Ludovic HENIN , Nathan Walker 6 | // Definitions: https://github.com/borisyankov/DefinitelyTyped 7 | 8 | interface System { 9 | import(name: string): any; 10 | defined: any; 11 | amdDefine: () => void; 12 | amdRequire: () => void; 13 | baseURL: string; 14 | paths: { [key: string]: string }; 15 | meta: { [key: string]: Object }; 16 | config: any; 17 | } 18 | 19 | declare var System: System; 20 | 21 | declare module "systemjs" { 22 | export = System; 23 | } -------------------------------------------------------------------------------- /scripts/util/hockeyappservices.ts: -------------------------------------------------------------------------------- 1 |  2 | declare var hockeyapp; 3 | export class HockeyAppServices { 4 | private testService: any; 5 | private HOCKEY_APP_ID: string = '9ab0087d8f0444d5955e491c35c18936'; 6 | private hasCordova: Cordova; 7 | constructor() { 8 | this.hasCordova = window.cordova; 9 | if (this.hasCordova) { 10 | this.testService = hockeyapp.start(this.onSuccessCallback, this.onErrorCallback, this.HOCKEY_APP_ID); 11 | } 12 | } 13 | 14 | 15 | 16 | /** 17 | * Display tester feedback user interface 18 | * @param msg 19 | */ 20 | public displayFeedbackUI(msg: string) { 21 | if (this.hasCordova) { 22 | this.testService.feedback(this.success, this.error); 23 | } 24 | } 25 | 26 | 27 | /** 28 | * Check for a new version 29 | */ 30 | public checkForUpdate() { 31 | if (this.hasCordova) { 32 | this.testService.checkForUpdate(this.success, this.error); 33 | } 34 | } 35 | 36 | /** 37 | * Force an app crash 38 | * @param data 39 | */ 40 | public forceCrash(data?: Object) { 41 | if (this.hasCordova) { 42 | if (data !== undefined) { 43 | this.testService.addMetaData(this.success, this.error, data); 44 | } 45 | this.testService.forceCrash(); 46 | } 47 | } 48 | 49 | private success(): void { 50 | // nothing for now 51 | } 52 | 53 | private error(): void { 54 | // nothing for now 55 | } 56 | 57 | private onSuccessCallback(): void { 58 | // nothing for now 59 | } 60 | 61 | private onErrorCallback(): void { 62 | // nothing for now 63 | } 64 | } -------------------------------------------------------------------------------- /taco.json: -------------------------------------------------------------------------------- 1 | { 2 | "cordova-cli": "6.0.0" 3 | } -------------------------------------------------------------------------------- /tools/check-environment.js: -------------------------------------------------------------------------------- 1 | /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2 | !!! !!! 3 | !!! This file is special in that it must be able to execute with wrong Node version !!! 4 | !!! or even when node_modules are missing. !!! 5 | !!! !!! 6 | !!! Do not depend on Node4+ features or presence of npm packages here. !!! 7 | !!! !!! 8 | !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ 9 | 10 | 'use strict'; 11 | 12 | var exec = require('child_process').exec; 13 | var checkNodeModules; 14 | var semver; 15 | 16 | var issues = []; 17 | 18 | //// coarse Node version check. 19 | if (process.version[1] !== '4') { 20 | issues.push('Angular 2 build currently requires Node 4. Your current Node version is: ' + process.version); 21 | issues.push('Use nvm to update your node version.'); 22 | } 23 | 24 | try { 25 | semver = require('semver'); 26 | } catch (e) { 27 | issues.push("Looks like you are missing some npm dependencies. Run: npm install"); 28 | } 29 | printWarning(issues); 30 | 31 | // wrap in try/catch in case someone requires from within that file 32 | //try { 33 | // checkNodeModules = require('./npm/check-node-modules.js'); 34 | //} catch (e) { 35 | // issues.push("Looks like you are missing some npm dependencies. Run: npm install"); 36 | // throw e; 37 | //} finally { 38 | // // print warnings and move on, the next steps will likely fail, but hey, we warned them. 39 | // printWarning(issues); 40 | //} 41 | 42 | 43 | function checkEnvironment(reqs, done) { 44 | exec('npm --version', function (e, stdout) { 45 | var foundNpmVersion = semver.clean(stdout); 46 | var foundNodeVersion = process.version; 47 | var issues = []; 48 | if (!semver.satisfies(foundNodeVersion, reqs.requiredNodeVersion)) { 49 | issues.push('You are running unsupported node version. Found: ' + foundNodeVersion + 50 | ' Expected: ' + reqs.requiredNodeVersion + '. Use nvm to update your node version.'); 51 | } 52 | 53 | if (!semver.satisfies(foundNpmVersion, reqs.requiredNpmVersion)) { 54 | issues.push('You are running unsupported npm version. Found: ' + foundNpmVersion + 55 | ' Expected: ' + reqs.requiredNpmVersion + '. Run: npm update -g npm'); 56 | } 57 | 58 | //if (!checkNodeModules()) { 59 | //issues.push('Your node_modules directory is stale or out of sync with npm-shrinkwrap.json. Run: npm install'); 60 | //} 61 | 62 | printWarning(issues); 63 | done(); 64 | }); 65 | 66 | } 67 | 68 | function printWarning(issues) { 69 | if (!issues.length) return; 70 | 71 | console.warn(''); 72 | console.warn(Array(110).join('!')); 73 | console.warn('!!! Your environment is not in a good shape. Following issues were found:'); 74 | issues.forEach(function (issue) { console.warn('!!! - ' + issue) }); 75 | console.warn(Array(110).join('!')); 76 | console.warn(''); 77 | } 78 | 79 | module.exports = checkEnvironment; -------------------------------------------------------------------------------- /tools/karma.conf.js: -------------------------------------------------------------------------------- 1 | // Original code provide by @sasxa https://gist.github.com/sasxa/0939f5bb00285e82af21 2 | // More information about karma config can be found here: http://karma-runner.github.io/0.13/config/configuration-file.html 3 | // Karma configuration 4 | // Make sure to always update /www before running karma. 5 | 6 | module.exports = function (config) { 7 | var karmaconfig = { 8 | // base path that will be used to resolve all patterns (eg. files, exclude). Always relative to the karma.conf.js file. 9 | basePath: '../', 10 | 11 | 12 | // frameworks to use 13 | // available frameworks: https://npmjs.org/browse/keyword/karma-adapter 14 | frameworks: ['jasmine'], 15 | 16 | // list of files / patterns to load in the browser 17 | // pattern watched = karma watches the file for changes. 18 | // pattern included = should the files be include in the browser using 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Hello, your application is ready!

62 | Loading 63 | 64 | 65 | -------------------------------------------------------------------------------- /www/scripts/lib/angular2/bundles/overview.md: -------------------------------------------------------------------------------- 1 | # TL;DR; 2 | 3 | * If you write ES5 use _one_ of the `UMD` bundles. 4 | * If you experiment with Angular2 using online prototyping tools like [plnkr](http://plnkr.co/) or similar use `System.register` bundles with SystemJS loader. 5 | * If you use build tools like Browserify or WebPack - bundle Angular2 as part of your build. 6 | * For all the above cases you must use `angular2-polyfills.js` in a `script` tag to easily include polyfills and external dependencies. 7 | 8 | # Modules, barrels and bundles 9 | 10 | Angular2 source code is authored using the ES2015 standardized module format where one module corresponds to exactly one file. Multiple modules (files) can be logically grouped into so-called "barrels". 11 | A bundle is a file the contains all the code for one or more barrels. 12 | 13 | Most bundles come in several flavors: 14 | * regular and minified (got `.min` in their name); 15 | * regular and "development" (have `.dev` in their name) - "development" bundles contain in-line source maps and don't have minified flavor (minification removes in-lined source maps). 16 | 17 | # Bundles, their content and usage scenarios 18 | 19 | Angular 2 distributes several types of bundles targeted at specific usages: 20 | * users writing ES5 code without any transpilation steps 21 | * users experimenting with Angular 2 and TypeScript/ES2015 using online tools like plunker, jsbin or similar 22 | 23 | Since each identified scenario has slightly different requirements and constraints there are specific bundles for each use-case. 24 | 25 | ## ES5 and ngUpgrade users 26 | 27 | ES5 users and AngularJS 1.x users interested in the `ngUpgrade` path can take advantage of the bundles in the [UMD format](https://github.com/umdjs/umd). 28 | Those are coarse-grained bundles that combine many barrels in one final file. 29 | 30 | filename | list of barrels | dev/prod | minified? 31 | ------------|-------------------|----------|-------------|--------------|------------- 32 | `angular2-all.umd.js` | `angular2/core`, `angular2/common`, `angular2/compiler`, `angular2/platform/browser`, `angular2/platform/common_dom`, `angular2/http`, `angular2/router`, `angular2/instrumentation`, `angular2/upgrade`| prod | no 33 | `angular2-all.umd.min.js` | `angular2/core`, `angular2/common`, `angular2/compiler`, `angular2/platform/browser`, `angular2/platform/common_dom`, `angular2/http`, `angular2/router`, `angular2/instrumentation`, `angular2/upgrade` | prod | yes 34 | `angular2-all.umd.dev.js` | `angular2/core`, `angular2/common`, `angular2/compiler`, `angular2/platform/browser`, `angular2/platform/common_dom`, `angular2/http`, `angular2/router`, `angular2/instrumentation`, `angular2/upgrade` | dev | no 35 | `angular2-all-testing.umd.dev.js` | `angular2/core`, `angular2/common`, `angular2/compiler`, `angular2/platform/browser`, `angular2/platform/common_dom`, `angular2/http`, `angular2/router`, `angular2/instrumentation`, `angular2/upgrade`, `angular2/testing`, `angular2/http/testing`, `angular2/router/testing` | dev | no 36 | 37 | **Warning**: bundles in the `UMD` format are _not_ "additive". A single application should use only one bundle from the above list. 38 | 39 | ## SystemJS loader users 40 | 41 | [SystemJS loader](https://github.com/systemjs/systemjs) with on-the-fly (in a browser) transpilations support is very useful for quick experiments using tools like plunker, jsbin or similar. 42 | For this scenario Angular 2 is distributed with bundles in the [System.register format](https://github.com/ModuleLoader/es6-module-loader/wiki/System.register-Explained): 43 | 44 | filename | list of barrels | dev/prod | minified? 45 | ------------|-------------------|----------|-------------|--------------|------------- 46 | `angular2.js` | `angular2/core`, `angular2/common`, `angular2/compiler`, `angular2/platform/browser`, `angular2/platform/common_dom`, `angular2/instrumentation`| prod | no 47 | `angular2.min.js` | `angular2/core`, `angular2/common`, `angular2/compiler`, `angular2/platform/browser`, `angular2/platform/common_dom`, `angular2/instrumentation`| prod | yes 48 | `angular2.dev.js` | `angular2/core`, `angular2/common`, `angular2/compiler`, `angular2/platform/browser`, `angular2/platform/common_dom`, `angular2/instrumentation`| dev | no 49 | `http.js` | `angular2/http` | prod | no 50 | `http.min.js` | `angular2/http` | prod | yes 51 | `http.dev.js` | `angular2/http` | dev | no 52 | `router.js` | `angular2/router` | prod | no 53 | `router.min.js` | `angular2/router` | prod | yes 54 | `router.dev.js` | `angular2/router` | dev | no 55 | `upgrade.js` | `angular2/upgrade` | prod | no 56 | `upgrade.min.js` | `angular2/upgrade` | prod | yes 57 | `upgrade.dev.js` | `angular2/upgrade` | dev | no 58 | `testing.dev.js` | `angular2/testing`, `angular2/http/testing`, `angular2/router/testing` | dev | no 59 | 60 | **Note**: bundles in the `System.register` format are "additive" - it is quite common to include several bundles in one application. 61 | For example people using Angular 2 with `http` and `router` would include: `angular2.js`, `http.js` and `router.js`. 62 | 63 | ## Browserify / JSPM / Rollup / WebPack users 64 | 65 | Angular 2 doesn't provide any bundles for use with packaging tools Browserify or WebPack. Those tools are sophisticated enough to build optimal bundles for production use from individual Angular 2 files distributed in the npm package. 66 | An example of an Angular 2 project built with WebPack can be found in the [angular2-seed](https://github.com/angular/angular2-seed) repository. 67 | 68 | 69 | # Polyfills and external dependencies 70 | 71 | ## Required Polyfills 72 | 73 | Polyfills are required for Angular 2 to function properly (the exact list depends on the browser used) and external dependencies ([zone.js](https://github.com/angular/zone.js)). 74 | To ease setup of Angular 2 applications there is one file - `angular2-polyfills.js` - that combines: 75 | * a pollyfill mandatory for all browsers: [reflect-metadata](https://www.npmjs.com/package/reflect-metadata) 76 | * [zone.js](https://github.com/angular/zone.js) 77 | 78 | **Note**: `angular2-polyfills.js` contains code that should be loaded into the browser as the very first code of the web application even before the module loader. The preferred solution is to load the mentioned file in a `script` tag as early as possible. 79 | 80 | 81 | ## RxJS 82 | 83 | [RxJS](https://github.com/ReactiveX/RxJS) is a required dependency of Angular 2. 84 | 85 | You should include RxJS in your project by declaring a dependency on the [`rxjs` npm package](https://www.npmjs.com/package/rxjs). 86 | 87 | Depending on if you are using Angular bundles or not you can either use RxJS bundles from `node_modules/rxjs/bundles/` or configure your bundler to pull in the individual files from the npm package. 88 | 89 | 90 | ## ES6 shims (optional) 91 | 92 | Users of pre-ES6 browsers might need to add an ES6 shim (e.g. [es6-shim](https://github.com/paulmillr/es6-shim)) -------------------------------------------------------------------------------- /www/scripts/lib/angular2/platform2/browser.d.ts: -------------------------------------------------------------------------------- 1 | export { AngularEntrypoint } from 'angular2/src/core/angular_entrypoint'; 2 | export { BROWSER_PROVIDERS, ELEMENT_PROBE_BINDINGS, ELEMENT_PROBE_PROVIDERS, inspectNativeElement, BrowserDomAdapter, By, Title, DOCUMENT, enableDebugTools, disableDebugTools } from 'angular2/src/platform/browser_common'; 3 | import { Type } from 'angular2/src/facade/lang'; 4 | import { Promise } from 'angular2/src/facade/promise'; 5 | import { ComponentRef } from 'angular2/core'; 6 | /** 7 | * An array of providers that should be passed into `application()` when bootstrapping a component. 8 | */ 9 | export declare const BROWSER_APP_PROVIDERS: Array; 10 | /** 11 | * Bootstrapping for Angular applications. 12 | * 13 | * You instantiate an Angular application by explicitly specifying a component to use 14 | * as the root component for your application via the `bootstrap()` method. 15 | * 16 | * ## Simple Example 17 | * 18 | * Assuming this `index.html`: 19 | * 20 | * ```html 21 | * 22 | * 23 | * 24 | * loading... 25 | * 26 | * 27 | * ``` 28 | * 29 | * An application is bootstrapped inside an existing browser DOM, typically `index.html`. 30 | * Unlike Angular 1, Angular 2 does not compile/process providers in `index.html`. This is 31 | * mainly for security reasons, as well as architectural changes in Angular 2. This means 32 | * that `index.html` can safely be processed using server-side technologies such as 33 | * providers. Bindings can thus use double-curly `{{ syntax }}` without collision from 34 | * Angular 2 component double-curly `{{ syntax }}`. 35 | * 36 | * We can use this script code: 37 | * 38 | * {@example core/ts/bootstrap/bootstrap.ts region='bootstrap'} 39 | * 40 | * When the app developer invokes `bootstrap()` with the root component `MyApp` as its 41 | * argument, Angular performs the following tasks: 42 | * 43 | * 1. It uses the component's `selector` property to locate the DOM element which needs 44 | * to be upgraded into the angular component. 45 | * 2. It creates a new child injector (from the platform injector). Optionally, you can 46 | * also override the injector configuration for an app by invoking `bootstrap` with the 47 | * `componentInjectableBindings` argument. 48 | * 3. It creates a new `Zone` and connects it to the angular application's change detection 49 | * domain instance. 50 | * 4. It creates an emulated or shadow DOM on the selected component's host element and loads the 51 | * template into it. 52 | * 5. It instantiates the specified component. 53 | * 6. Finally, Angular performs change detection to apply the initial data providers for the 54 | * application. 55 | * 56 | * 57 | * ## Bootstrapping Multiple Applications 58 | * 59 | * When working within a browser window, there are many singleton resources: cookies, title, 60 | * location, and others. Angular services that represent these resources must likewise be 61 | * shared across all Angular applications that occupy the same browser window. For this 62 | * reason, Angular creates exactly one global platform object which stores all shared 63 | * services, and each angular application injector has the platform injector as its parent. 64 | * 65 | * Each application has its own private injector as well. When there are multiple 66 | * applications on a page, Angular treats each application injector's services as private 67 | * to that application. 68 | * 69 | * ## API 70 | * 71 | * - `appComponentType`: The root component which should act as the application. This is 72 | * a reference to a `Type` which is annotated with `@Component(...)`. 73 | * - `customProviders`: An additional set of providers that can be added to the 74 | * app injector to override default injection behavior. 75 | * 76 | * Returns a `Promise` of {@link ComponentRef}. 77 | */ 78 | export declare function bootstrap(appComponentType: Type, customProviders?: Array): Promise; 79 | -------------------------------------------------------------------------------- /www/scripts/lib/angular2/platform2/browser_static.d.ts: -------------------------------------------------------------------------------- 1 | export { AngularEntrypoint } from 'angular2/src/core/angular_entrypoint'; 2 | export { BROWSER_PROVIDERS, ELEMENT_PROBE_BINDINGS, ELEMENT_PROBE_PROVIDERS, inspectNativeElement, BrowserDomAdapter, By, Title, enableDebugTools, disableDebugTools } from 'angular2/src/platform/browser_common'; 3 | import { Type } from 'angular2/src/facade/lang'; 4 | import { Promise } from 'angular2/src/facade/promise'; 5 | import { ComponentRef } from 'angular2/core'; 6 | /** 7 | * An array of providers that should be passed into `application()` when bootstrapping a component 8 | * when all templates 9 | * have been precompiled offline. 10 | */ 11 | export declare const BROWSER_APP_PROVIDERS: Array; 12 | /** 13 | * See {@link bootstrap} for more information. 14 | */ 15 | export declare function bootstrapStatic(appComponentType: Type, customProviders?: Array, initReflector?: Function): Promise; 16 | -------------------------------------------------------------------------------- /www/scripts/lib/angular2/platform2/browser_static.js: -------------------------------------------------------------------------------- 1 | 'use strict';var angular_entrypoint_1 = require('angular2/src/core/angular_entrypoint'); 2 | exports.AngularEntrypoint = angular_entrypoint_1.AngularEntrypoint; 3 | var browser_common_1 = require('angular2/src/platform/browser_common'); 4 | exports.BROWSER_PROVIDERS = browser_common_1.BROWSER_PROVIDERS; 5 | exports.ELEMENT_PROBE_BINDINGS = browser_common_1.ELEMENT_PROBE_BINDINGS; 6 | exports.ELEMENT_PROBE_PROVIDERS = browser_common_1.ELEMENT_PROBE_PROVIDERS; 7 | exports.inspectNativeElement = browser_common_1.inspectNativeElement; 8 | exports.BrowserDomAdapter = browser_common_1.BrowserDomAdapter; 9 | exports.By = browser_common_1.By; 10 | exports.Title = browser_common_1.Title; 11 | exports.enableDebugTools = browser_common_1.enableDebugTools; 12 | exports.disableDebugTools = browser_common_1.disableDebugTools; 13 | var lang_1 = require('angular2/src/facade/lang'); 14 | var browser_common_2 = require('angular2/src/platform/browser_common'); 15 | var core_1 = require('angular2/core'); 16 | /** 17 | * An array of providers that should be passed into `application()` when bootstrapping a component 18 | * when all templates 19 | * have been precompiled offline. 20 | */ 21 | exports.BROWSER_APP_PROVIDERS = browser_common_2.BROWSER_APP_COMMON_PROVIDERS; 22 | /** 23 | * See {@link bootstrap} for more information. 24 | */ 25 | function bootstrapStatic(appComponentType, customProviders, initReflector) { 26 | if (lang_1.isPresent(initReflector)) { 27 | initReflector(); 28 | } 29 | var appProviders = lang_1.isPresent(customProviders) ? [exports.BROWSER_APP_PROVIDERS, customProviders] : exports.BROWSER_APP_PROVIDERS; 30 | return core_1.platform(browser_common_2.BROWSER_PROVIDERS).application(appProviders).bootstrap(appComponentType); 31 | } 32 | exports.bootstrapStatic = bootstrapStatic; 33 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlcl9zdGF0aWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhbmd1bGFyMi9wbGF0Zm9ybS9icm93c2VyX3N0YXRpYy50cyJdLCJuYW1lcyI6WyJib290c3RyYXBTdGF0aWMiXSwibWFwcGluZ3MiOiJBQUFBLG1DQUFnQyxzQ0FBc0MsQ0FBQztBQUEvRCxtRUFBK0Q7QUFDdkUsK0JBVU8sc0NBQXNDLENBQUM7QUFUNUMsK0RBQWlCO0FBQ2pCLHlFQUFzQjtBQUN0QiwyRUFBdUI7QUFDdkIscUVBQW9CO0FBQ3BCLCtEQUFpQjtBQUNqQixpQ0FBRTtBQUNGLHVDQUFLO0FBQ0wsNkRBQWdCO0FBQ2hCLCtEQUM0QztBQUU5QyxxQkFBOEIsMEJBQTBCLENBQUMsQ0FBQTtBQUV6RCwrQkFHTyxzQ0FBc0MsQ0FBQyxDQUFBO0FBQzlDLHFCQUFxQyxlQUFlLENBQUMsQ0FBQTtBQUVyRDs7OztHQUlHO0FBQ1UsNkJBQXFCLEdBQzlCLDZDQUE0QixDQUFDO0FBRWpDOztHQUVHO0FBQ0gseUJBQWdDLGdCQUFzQixFQUN0QixlQUF3RCxFQUN4RCxhQUF3QjtJQUN0REEsRUFBRUEsQ0FBQ0EsQ0FBQ0EsZ0JBQVNBLENBQUNBLGFBQWFBLENBQUNBLENBQUNBLENBQUNBLENBQUNBO1FBQzdCQSxhQUFhQSxFQUFFQSxDQUFDQTtJQUNsQkEsQ0FBQ0E7SUFFREEsSUFBSUEsWUFBWUEsR0FDWkEsZ0JBQVNBLENBQUNBLGVBQWVBLENBQUNBLEdBQUdBLENBQUNBLDZCQUFxQkEsRUFBRUEsZUFBZUEsQ0FBQ0EsR0FBR0EsNkJBQXFCQSxDQUFDQTtJQUNsR0EsTUFBTUEsQ0FBQ0EsZUFBUUEsQ0FBQ0Esa0NBQWlCQSxDQUFDQSxDQUFDQSxXQUFXQSxDQUFDQSxZQUFZQSxDQUFDQSxDQUFDQSxTQUFTQSxDQUFDQSxnQkFBZ0JBLENBQUNBLENBQUNBO0FBQzNGQSxDQUFDQTtBQVZlLHVCQUFlLGtCQVU5QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtBbmd1bGFyRW50cnlwb2ludH0gZnJvbSAnYW5ndWxhcjIvc3JjL2NvcmUvYW5ndWxhcl9lbnRyeXBvaW50JztcbmV4cG9ydCB7XG4gIEJST1dTRVJfUFJPVklERVJTLFxuICBFTEVNRU5UX1BST0JFX0JJTkRJTkdTLFxuICBFTEVNRU5UX1BST0JFX1BST1ZJREVSUyxcbiAgaW5zcGVjdE5hdGl2ZUVsZW1lbnQsXG4gIEJyb3dzZXJEb21BZGFwdGVyLFxuICBCeSxcbiAgVGl0bGUsXG4gIGVuYWJsZURlYnVnVG9vbHMsXG4gIGRpc2FibGVEZWJ1Z1Rvb2xzXG59IGZyb20gJ2FuZ3VsYXIyL3NyYy9wbGF0Zm9ybS9icm93c2VyX2NvbW1vbic7XG5cbmltcG9ydCB7VHlwZSwgaXNQcmVzZW50fSBmcm9tICdhbmd1bGFyMi9zcmMvZmFjYWRlL2xhbmcnO1xuaW1wb3J0IHtQcm9taXNlfSBmcm9tICdhbmd1bGFyMi9zcmMvZmFjYWRlL3Byb21pc2UnO1xuaW1wb3J0IHtcbiAgQlJPV1NFUl9QUk9WSURFUlMsXG4gIEJST1dTRVJfQVBQX0NPTU1PTl9QUk9WSURFUlNcbn0gZnJvbSAnYW5ndWxhcjIvc3JjL3BsYXRmb3JtL2Jyb3dzZXJfY29tbW9uJztcbmltcG9ydCB7Q29tcG9uZW50UmVmLCBwbGF0Zm9ybX0gZnJvbSAnYW5ndWxhcjIvY29yZSc7XG5cbi8qKlxuICogQW4gYXJyYXkgb2YgcHJvdmlkZXJzIHRoYXQgc2hvdWxkIGJlIHBhc3NlZCBpbnRvIGBhcHBsaWNhdGlvbigpYCB3aGVuIGJvb3RzdHJhcHBpbmcgYSBjb21wb25lbnRcbiAqIHdoZW4gYWxsIHRlbXBsYXRlc1xuICogaGF2ZSBiZWVuIHByZWNvbXBpbGVkIG9mZmxpbmUuXG4gKi9cbmV4cG9ydCBjb25zdCBCUk9XU0VSX0FQUF9QUk9WSURFUlM6IEFycmF5PGFueSAvKlR5cGUgfCBQcm92aWRlciB8IGFueVtdKi8+ID1cbiAgICBCUk9XU0VSX0FQUF9DT01NT05fUFJPVklERVJTO1xuXG4vKipcbiAqIFNlZSB7QGxpbmsgYm9vdHN0cmFwfSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb3RzdHJhcFN0YXRpYyhhcHBDb21wb25lbnRUeXBlOiBUeXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21Qcm92aWRlcnM/OiBBcnJheTxhbnkgLypUeXBlIHwgUHJvdmlkZXIgfCBhbnlbXSovPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdFJlZmxlY3Rvcj86IEZ1bmN0aW9uKTogUHJvbWlzZTxDb21wb25lbnRSZWY+IHtcbiAgaWYgKGlzUHJlc2VudChpbml0UmVmbGVjdG9yKSkge1xuICAgIGluaXRSZWZsZWN0b3IoKTtcbiAgfVxuXG4gIGxldCBhcHBQcm92aWRlcnMgPVxuICAgICAgaXNQcmVzZW50KGN1c3RvbVByb3ZpZGVycykgPyBbQlJPV1NFUl9BUFBfUFJPVklERVJTLCBjdXN0b21Qcm92aWRlcnNdIDogQlJPV1NFUl9BUFBfUFJPVklERVJTO1xuICByZXR1cm4gcGxhdGZvcm0oQlJPV1NFUl9QUk9WSURFUlMpLmFwcGxpY2F0aW9uKGFwcFByb3ZpZGVycykuYm9vdHN0cmFwKGFwcENvbXBvbmVudFR5cGUpO1xufVxuIl19 -------------------------------------------------------------------------------- /www/scripts/lib/angular2/platform2/common_dom.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * This is a set of classes and objects that can be used both in the browser and on the server. 3 | */ 4 | export { DOM, setRootDomAdapter, DomAdapter } from 'angular2/src/platform/dom/dom_adapter'; 5 | export { DomRenderer } from 'angular2/src/platform/dom/dom_renderer'; 6 | export { DOCUMENT } from 'angular2/src/platform/dom/dom_tokens'; 7 | export { SharedStylesHost, DomSharedStylesHost } from 'angular2/src/platform/dom/shared_styles_host'; 8 | export { DomEventsPlugin } from 'angular2/src/platform/dom/events/dom_events'; 9 | export { EVENT_MANAGER_PLUGINS, EventManager, EventManagerPlugin } from 'angular2/src/platform/dom/events/event_manager'; 10 | export * from 'angular2/src/platform/dom/debug/by'; 11 | export * from 'angular2/src/platform/dom/debug/debug_element_view_listener'; 12 | -------------------------------------------------------------------------------- /www/scripts/lib/angular2/platform2/common_dom.js: -------------------------------------------------------------------------------- 1 | 'use strict';function __export(m) { 2 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; 3 | } 4 | /** 5 | * This is a set of classes and objects that can be used both in the browser and on the server. 6 | */ 7 | var dom_adapter_1 = require('angular2/src/platform/dom/dom_adapter'); 8 | exports.DOM = dom_adapter_1.DOM; 9 | exports.setRootDomAdapter = dom_adapter_1.setRootDomAdapter; 10 | exports.DomAdapter = dom_adapter_1.DomAdapter; 11 | var dom_renderer_1 = require('angular2/src/platform/dom/dom_renderer'); 12 | exports.DomRenderer = dom_renderer_1.DomRenderer; 13 | var dom_tokens_1 = require('angular2/src/platform/dom/dom_tokens'); 14 | exports.DOCUMENT = dom_tokens_1.DOCUMENT; 15 | var shared_styles_host_1 = require('angular2/src/platform/dom/shared_styles_host'); 16 | exports.SharedStylesHost = shared_styles_host_1.SharedStylesHost; 17 | exports.DomSharedStylesHost = shared_styles_host_1.DomSharedStylesHost; 18 | var dom_events_1 = require('angular2/src/platform/dom/events/dom_events'); 19 | exports.DomEventsPlugin = dom_events_1.DomEventsPlugin; 20 | var event_manager_1 = require('angular2/src/platform/dom/events/event_manager'); 21 | exports.EVENT_MANAGER_PLUGINS = event_manager_1.EVENT_MANAGER_PLUGINS; 22 | exports.EventManager = event_manager_1.EventManager; 23 | exports.EventManagerPlugin = event_manager_1.EventManagerPlugin; 24 | __export(require('angular2/src/platform/dom/debug/by')); 25 | __export(require('angular2/src/platform/dom/debug/debug_element_view_listener')); 26 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uX2RvbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFuZ3VsYXIyL3BsYXRmb3JtL2NvbW1vbl9kb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCw0QkFBaUQsdUNBQXVDLENBQUM7QUFBakYsZ0NBQUc7QUFBRSw0REFBaUI7QUFBRSw4Q0FBeUQ7QUFDekYsNkJBQTBCLHdDQUF3QyxDQUFDO0FBQTNELGlEQUEyRDtBQUNuRSwyQkFBdUIsc0NBQXNDLENBQUM7QUFBdEQseUNBQXNEO0FBQzlELG1DQUFvRCw4Q0FBOEMsQ0FBQztBQUEzRixpRUFBZ0I7QUFBRSx1RUFBeUU7QUFDbkcsMkJBQThCLDZDQUE2QyxDQUFDO0FBQXBFLHVEQUFvRTtBQUM1RSw4QkFJTyxnREFBZ0QsQ0FBQztBQUh0RCxzRUFBcUI7QUFDckIsb0RBQVk7QUFDWixnRUFDc0Q7QUFDeEQsaUJBQWMsb0NBQW9DLENBQUMsRUFBQTtBQUNuRCxpQkFBYyw2REFBNkQsQ0FBQyxFQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGlzIGEgc2V0IG9mIGNsYXNzZXMgYW5kIG9iamVjdHMgdGhhdCBjYW4gYmUgdXNlZCBib3RoIGluIHRoZSBicm93c2VyIGFuZCBvbiB0aGUgc2VydmVyLlxuICovXG5leHBvcnQge0RPTSwgc2V0Um9vdERvbUFkYXB0ZXIsIERvbUFkYXB0ZXJ9IGZyb20gJ2FuZ3VsYXIyL3NyYy9wbGF0Zm9ybS9kb20vZG9tX2FkYXB0ZXInO1xuZXhwb3J0IHtEb21SZW5kZXJlcn0gZnJvbSAnYW5ndWxhcjIvc3JjL3BsYXRmb3JtL2RvbS9kb21fcmVuZGVyZXInO1xuZXhwb3J0IHtET0NVTUVOVH0gZnJvbSAnYW5ndWxhcjIvc3JjL3BsYXRmb3JtL2RvbS9kb21fdG9rZW5zJztcbmV4cG9ydCB7U2hhcmVkU3R5bGVzSG9zdCwgRG9tU2hhcmVkU3R5bGVzSG9zdH0gZnJvbSAnYW5ndWxhcjIvc3JjL3BsYXRmb3JtL2RvbS9zaGFyZWRfc3R5bGVzX2hvc3QnO1xuZXhwb3J0IHtEb21FdmVudHNQbHVnaW59IGZyb20gJ2FuZ3VsYXIyL3NyYy9wbGF0Zm9ybS9kb20vZXZlbnRzL2RvbV9ldmVudHMnO1xuZXhwb3J0IHtcbiAgRVZFTlRfTUFOQUdFUl9QTFVHSU5TLFxuICBFdmVudE1hbmFnZXIsXG4gIEV2ZW50TWFuYWdlclBsdWdpblxufSBmcm9tICdhbmd1bGFyMi9zcmMvcGxhdGZvcm0vZG9tL2V2ZW50cy9ldmVudF9tYW5hZ2VyJztcbmV4cG9ydCAqIGZyb20gJ2FuZ3VsYXIyL3NyYy9wbGF0Zm9ybS9kb20vZGVidWcvYnknO1xuZXhwb3J0ICogZnJvbSAnYW5ndWxhcjIvc3JjL3BsYXRmb3JtL2RvbS9kZWJ1Zy9kZWJ1Z19lbGVtZW50X3ZpZXdfbGlzdGVuZXInOyJdfQ== -------------------------------------------------------------------------------- /www/scripts/lib/angular2/platform2/server.d.ts: -------------------------------------------------------------------------------- 1 | export { Parse5DomAdapter } from 'angular2/src/platform/server/parse5_adapter'; 2 | -------------------------------------------------------------------------------- /www/scripts/lib/angular2/platform2/server.js: -------------------------------------------------------------------------------- 1 | 'use strict';// TODO: vsavkin add SERVER_PROVIDERS and SERVER_APP_PROVIDERS 2 | var parse5_adapter_1 = require('angular2/src/platform/server/parse5_adapter'); 3 | exports.Parse5DomAdapter = parse5_adapter_1.Parse5DomAdapter; 4 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYW5ndWxhcjIvcGxhdGZvcm0vc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCwrQkFBK0IsNkNBQTZDLENBQUM7QUFBckUsNkRBQXFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogdnNhdmtpbiBhZGQgU0VSVkVSX1BST1ZJREVSUyBhbmQgU0VSVkVSX0FQUF9QUk9WSURFUlNcbmV4cG9ydCB7UGFyc2U1RG9tQWRhcHRlcn0gZnJvbSAnYW5ndWxhcjIvc3JjL3BsYXRmb3JtL3NlcnZlci9wYXJzZTVfYWRhcHRlcic7Il19 -------------------------------------------------------------------------------- /www/scripts/lib/angular2/platform2/worker_app.d.ts: -------------------------------------------------------------------------------- 1 | export { WORKER_APP_PLATFORM, WORKER_APP_APPLICATION_COMMON } from 'angular2/src/platform/worker_app_common'; 2 | export { WORKER_APP_APPLICATION } from 'angular2/src/platform/worker_app'; 3 | export { ClientMessageBroker, ClientMessageBrokerFactory, FnArg, UiArguments } from '../src/web_workers/shared/client_message_broker'; 4 | export { ReceivedMessage, ServiceMessageBroker, ServiceMessageBrokerFactory } from '../src/web_workers/shared/service_message_broker'; 5 | export { PRIMITIVE } from '../src/web_workers/shared/serializer'; 6 | export * from '../src/web_workers/shared/message_bus'; 7 | export { AngularEntrypoint } from 'angular2/src/core/angular_entrypoint'; 8 | -------------------------------------------------------------------------------- /www/scripts/lib/angular2/platform2/worker_app.js: -------------------------------------------------------------------------------- 1 | 'use strict';function __export(m) { 2 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; 3 | } 4 | var worker_app_common_1 = require('angular2/src/platform/worker_app_common'); 5 | exports.WORKER_APP_PLATFORM = worker_app_common_1.WORKER_APP_PLATFORM; 6 | exports.WORKER_APP_APPLICATION_COMMON = worker_app_common_1.WORKER_APP_APPLICATION_COMMON; 7 | var worker_app_1 = require('angular2/src/platform/worker_app'); 8 | exports.WORKER_APP_APPLICATION = worker_app_1.WORKER_APP_APPLICATION; 9 | var client_message_broker_1 = require('../src/web_workers/shared/client_message_broker'); 10 | exports.ClientMessageBroker = client_message_broker_1.ClientMessageBroker; 11 | exports.ClientMessageBrokerFactory = client_message_broker_1.ClientMessageBrokerFactory; 12 | exports.FnArg = client_message_broker_1.FnArg; 13 | exports.UiArguments = client_message_broker_1.UiArguments; 14 | var service_message_broker_1 = require('../src/web_workers/shared/service_message_broker'); 15 | exports.ReceivedMessage = service_message_broker_1.ReceivedMessage; 16 | exports.ServiceMessageBroker = service_message_broker_1.ServiceMessageBroker; 17 | exports.ServiceMessageBrokerFactory = service_message_broker_1.ServiceMessageBrokerFactory; 18 | var serializer_1 = require('../src/web_workers/shared/serializer'); 19 | exports.PRIMITIVE = serializer_1.PRIMITIVE; 20 | __export(require('../src/web_workers/shared/message_bus')); 21 | var angular_entrypoint_1 = require('angular2/src/core/angular_entrypoint'); 22 | exports.AngularEntrypoint = angular_entrypoint_1.AngularEntrypoint; 23 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX2FwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFuZ3VsYXIyL3BsYXRmb3JtL3dvcmtlcl9hcHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0NBR08seUNBQXlDLENBQUM7QUFGL0Msc0VBQW1CO0FBQ25CLDBGQUMrQztBQUNqRCwyQkFBcUMsa0NBQWtDLENBQUM7QUFBaEUscUVBQWdFO0FBQ3hFLHNDQUtPLGlEQUFpRCxDQUFDO0FBSnZELDBFQUFtQjtBQUNuQix3RkFBMEI7QUFDMUIsOENBQUs7QUFDTCwwREFDdUQ7QUFDekQsdUNBSU8sa0RBQWtELENBQUM7QUFIeEQsbUVBQWU7QUFDZiw2RUFBb0I7QUFDcEIsMkZBQ3dEO0FBQzFELDJCQUF3QixzQ0FBc0MsQ0FBQztBQUF2RCwyQ0FBdUQ7QUFDL0QsaUJBQWMsdUNBQXVDLENBQUMsRUFBQTtBQUN0RCxtQ0FBZ0Msc0NBQXNDLENBQUM7QUFBL0QsbUVBQStEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgV09SS0VSX0FQUF9QTEFURk9STSxcbiAgV09SS0VSX0FQUF9BUFBMSUNBVElPTl9DT01NT05cbn0gZnJvbSAnYW5ndWxhcjIvc3JjL3BsYXRmb3JtL3dvcmtlcl9hcHBfY29tbW9uJztcbmV4cG9ydCB7V09SS0VSX0FQUF9BUFBMSUNBVElPTn0gZnJvbSAnYW5ndWxhcjIvc3JjL3BsYXRmb3JtL3dvcmtlcl9hcHAnO1xuZXhwb3J0IHtcbiAgQ2xpZW50TWVzc2FnZUJyb2tlcixcbiAgQ2xpZW50TWVzc2FnZUJyb2tlckZhY3RvcnksXG4gIEZuQXJnLFxuICBVaUFyZ3VtZW50c1xufSBmcm9tICcuLi9zcmMvd2ViX3dvcmtlcnMvc2hhcmVkL2NsaWVudF9tZXNzYWdlX2Jyb2tlcic7XG5leHBvcnQge1xuICBSZWNlaXZlZE1lc3NhZ2UsXG4gIFNlcnZpY2VNZXNzYWdlQnJva2VyLFxuICBTZXJ2aWNlTWVzc2FnZUJyb2tlckZhY3Rvcnlcbn0gZnJvbSAnLi4vc3JjL3dlYl93b3JrZXJzL3NoYXJlZC9zZXJ2aWNlX21lc3NhZ2VfYnJva2VyJztcbmV4cG9ydCB7UFJJTUlUSVZFfSBmcm9tICcuLi9zcmMvd2ViX3dvcmtlcnMvc2hhcmVkL3NlcmlhbGl6ZXInO1xuZXhwb3J0ICogZnJvbSAnLi4vc3JjL3dlYl93b3JrZXJzL3NoYXJlZC9tZXNzYWdlX2J1cyc7XG5leHBvcnQge0FuZ3VsYXJFbnRyeXBvaW50fSBmcm9tICdhbmd1bGFyMi9zcmMvY29yZS9hbmd1bGFyX2VudHJ5cG9pbnQnO1xuIl19 -------------------------------------------------------------------------------- /www/scripts/lib/angular2/platform2/worker_render.d.ts: -------------------------------------------------------------------------------- 1 | export { WORKER_SCRIPT, WORKER_RENDER_PLATFORM, initializeGenericWorkerRenderer, WORKER_RENDER_APP_COMMON } from 'angular2/src/platform/worker_render_common'; 2 | export * from 'angular2/src/platform/worker_render'; 3 | export { ClientMessageBroker, ClientMessageBrokerFactory, FnArg, UiArguments } from '../src/web_workers/shared/client_message_broker'; 4 | export { ReceivedMessage, ServiceMessageBroker, ServiceMessageBrokerFactory } from '../src/web_workers/shared/service_message_broker'; 5 | export { PRIMITIVE } from '../src/web_workers/shared/serializer'; 6 | export * from '../src/web_workers/shared/message_bus'; 7 | -------------------------------------------------------------------------------- /www/scripts/lib/angular2/platform2/worker_render.js: -------------------------------------------------------------------------------- 1 | 'use strict';function __export(m) { 2 | for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; 3 | } 4 | var worker_render_common_1 = require('angular2/src/platform/worker_render_common'); 5 | exports.WORKER_SCRIPT = worker_render_common_1.WORKER_SCRIPT; 6 | exports.WORKER_RENDER_PLATFORM = worker_render_common_1.WORKER_RENDER_PLATFORM; 7 | exports.initializeGenericWorkerRenderer = worker_render_common_1.initializeGenericWorkerRenderer; 8 | exports.WORKER_RENDER_APP_COMMON = worker_render_common_1.WORKER_RENDER_APP_COMMON; 9 | __export(require('angular2/src/platform/worker_render')); 10 | var client_message_broker_1 = require('../src/web_workers/shared/client_message_broker'); 11 | exports.ClientMessageBroker = client_message_broker_1.ClientMessageBroker; 12 | exports.ClientMessageBrokerFactory = client_message_broker_1.ClientMessageBrokerFactory; 13 | exports.FnArg = client_message_broker_1.FnArg; 14 | exports.UiArguments = client_message_broker_1.UiArguments; 15 | var service_message_broker_1 = require('../src/web_workers/shared/service_message_broker'); 16 | exports.ReceivedMessage = service_message_broker_1.ReceivedMessage; 17 | exports.ServiceMessageBroker = service_message_broker_1.ServiceMessageBroker; 18 | exports.ServiceMessageBrokerFactory = service_message_broker_1.ServiceMessageBrokerFactory; 19 | var serializer_1 = require('../src/web_workers/shared/serializer'); 20 | exports.PRIMITIVE = serializer_1.PRIMITIVE; 21 | __export(require('../src/web_workers/shared/message_bus')); 22 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX3JlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFuZ3VsYXIyL3BsYXRmb3JtL3dvcmtlcl9yZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBS08sNENBQTRDLENBQUM7QUFKbEQsNkRBQWE7QUFDYiwrRUFBc0I7QUFDdEIsaUdBQStCO0FBQy9CLG1GQUNrRDtBQUNwRCxpQkFBYyxxQ0FBcUMsQ0FBQyxFQUFBO0FBQ3BELHNDQUtPLGlEQUFpRCxDQUFDO0FBSnZELDBFQUFtQjtBQUNuQix3RkFBMEI7QUFDMUIsOENBQUs7QUFDTCwwREFDdUQ7QUFDekQsdUNBSU8sa0RBQWtELENBQUM7QUFIeEQsbUVBQWU7QUFDZiw2RUFBb0I7QUFDcEIsMkZBQ3dEO0FBQzFELDJCQUF3QixzQ0FBc0MsQ0FBQztBQUF2RCwyQ0FBdUQ7QUFDL0QsaUJBQWMsdUNBQXVDLENBQUMsRUFBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIFdPUktFUl9TQ1JJUFQsXG4gIFdPUktFUl9SRU5ERVJfUExBVEZPUk0sXG4gIGluaXRpYWxpemVHZW5lcmljV29ya2VyUmVuZGVyZXIsXG4gIFdPUktFUl9SRU5ERVJfQVBQX0NPTU1PTlxufSBmcm9tICdhbmd1bGFyMi9zcmMvcGxhdGZvcm0vd29ya2VyX3JlbmRlcl9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnYW5ndWxhcjIvc3JjL3BsYXRmb3JtL3dvcmtlcl9yZW5kZXInO1xuZXhwb3J0IHtcbiAgQ2xpZW50TWVzc2FnZUJyb2tlcixcbiAgQ2xpZW50TWVzc2FnZUJyb2tlckZhY3RvcnksXG4gIEZuQXJnLFxuICBVaUFyZ3VtZW50c1xufSBmcm9tICcuLi9zcmMvd2ViX3dvcmtlcnMvc2hhcmVkL2NsaWVudF9tZXNzYWdlX2Jyb2tlcic7XG5leHBvcnQge1xuICBSZWNlaXZlZE1lc3NhZ2UsXG4gIFNlcnZpY2VNZXNzYWdlQnJva2VyLFxuICBTZXJ2aWNlTWVzc2FnZUJyb2tlckZhY3Rvcnlcbn0gZnJvbSAnLi4vc3JjL3dlYl93b3JrZXJzL3NoYXJlZC9zZXJ2aWNlX21lc3NhZ2VfYnJva2VyJztcbmV4cG9ydCB7UFJJTUlUSVZFfSBmcm9tICcuLi9zcmMvd2ViX3dvcmtlcnMvc2hhcmVkL3NlcmlhbGl6ZXInO1xuZXhwb3J0ICogZnJvbSAnLi4vc3JjL3dlYl93b3JrZXJzL3NoYXJlZC9tZXNzYWdlX2J1cyc7XG4iXX0= -------------------------------------------------------------------------------- /www/scripts/lib/createjs/cordovaaudioplugin-0.6.2.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * @license SoundJS 3 | * Visit http://createjs.com/ for documentation, updates and examples. 4 | * 5 | * Copyright (c) 2011-2015 gskinner.com, inc. 6 | * 7 | * Distributed under the terms of the MIT license. 8 | * http://www.opensource.org/licenses/mit-license.html 9 | * 10 | * This notice shall be included in all copies or substantial portions of the Software. 11 | */ 12 | 13 | /**! 14 | * SoundJS FlashAudioPlugin also includes swfobject (http://code.google.com/p/swfobject/) 15 | */ 16 | 17 | this.createjs=this.createjs||{},function(){"use strict";function a(a){this.AbstractLoader_constructor(a,!0,createjs.AbstractLoader.SOUND),this._media=null,this._loadTime=0,this._TIMER_FREQUENCY=100}var b=createjs.extend(a,createjs.AbstractLoader);b.load=function(){this._media=new Media(this._item.src,null,createjs.proxy(this._mediaErrorHandler,this)),this._media.seekTo(0),this._getMediaDuration()},b.toString=function(){return"[CordovaAudioLoader]"},b._mediaErrorHandler=function(){this._media.release(),this._sendError()},b._getMediaDuration=function(){this._result=1e3*this._media.getDuration(),this._result<0?(this._loadTime+=this._TIMER_FREQUENCY,this._loadTime>this._item.loadTimeout?this.handleEvent({type:"timeout"}):setTimeout(createjs.proxy(this._getMediaDuration,this),this._TIMER_FREQUENCY)):(this._media.release(),this._sendComplete())},createjs.CordovaAudioLoader=createjs.promote(a,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function CordovaAudioSoundInstance(a,b,c,d){this.AbstractSoundInstance_constructor(a,b,c,d),this.playWhenScreenLocked=null,this._playStartTime=null,this._audioSpriteTimeout=null,this._audioSprite=!1,this._audioSpriteEndHandler=createjs.proxy(this._handleAudioSpriteComplete,this),this._mediaPlayFinishedHandler=createjs.proxy(this._handleSoundComplete,this),this._mediaErrorHandler=createjs.proxy(this._handleMediaError,this),this._mediaProgressHandler=createjs.proxy(this._handleMediaProgress,this),this._playbackResource=new Media(a,this._mediaPlayFinishedHandler,this._mediaErrorHandler,this._mediaProgressHandler),c?this._audioSprite=!0:this._setDurationFromSource()}var a=createjs.extend(CordovaAudioSoundInstance,createjs.AbstractSoundInstance);a.setMasterVolume=function(){this._updateVolume()},a.setMasterMute=function(){this._updateVolume()},a.destroy=function(){this.AbstractSoundInstance_destroy(),this._playbackResource.release()},a.getCurrentPosition=function(a,b){this._playbackResource.getCurrentPosition(a,b)},a.toString=function(){return"[CordovaAudioSoundInstance]"},a._handleMediaError=function(){clearTimeout(this.delayTimeoutId),this.playState=createjs.Sound.PLAY_FAILED,this._sendEvent("failed")},a._handleMediaProgress=function(){},a._handleAudioSpriteComplete=function(){this._playbackResource.pause(),this._handleSoundComplete()},a._handleCleanUp=function(){clearTimeout(this._audioSpriteTimeout),this._playbackResource.pause()},a._handleSoundReady=function(){this._playbackResource.seekTo(this._startTime+this._position),this._audioSprite&&(this._audioSpriteTimeout=setTimeout(this._audioSpriteEndHandler,this._duration-this._position)),this._playbackResource.play({playAudioWhenScreenIsLocked:this.playWhenScreenLocked}),this._playStartTime=Date.now()},a._pause=function(){clearTimeout(this._audioSpriteTimeout),this._playbackResource.pause(),this._playStartTime&&(this._position=Date.now()-this._playStartTime,this._playStartTime=null),this._playbackResource.getCurrentPosition(createjs.proxy(this._updatePausePos,this))},a._updatePausePos=function(a){this._position=1e3*a-this._startTime,this._playStartTime&&(this._playStartTime=Date.now())},a._resume=function(){this._audioSprite&&(this._audioSpriteTimeout=setTimeout(this._audioSpriteEndHandler,this._duration-this._position)),this._playbackResource.play({playAudioWhenScreenIsLocked:this.playWhenScreenLocked}),this._playStartTime=Date.now()},a._handleStop=function(){clearTimeout(this._audioSpriteTimeout),this._playbackResource.pause(),this._playbackResource.seekTo(this._startTime),this._playStartTime&&(this._position=0,this._playStartTime=null)},a._updateVolume=function(){var a=this._muted||createjs.Sound._masterMute?0:this._volume*createjs.Sound._masterVolume;this._playbackResource.setVolume(a)},a._calculateCurrentPosition=function(){return this._playStartTime&&(this._position=Date.now()-this._playStartTime+this._position,this._playStartTime=Date.now()),this._position},a._updatePosition=function(){this._playbackResource.seekTo(this._startTime+this._position),this._playStartTime=Date.now(),this._audioSprite&&(clearTimeout(this._audioSpriteTimeout),this._audioSpriteTimeout=setTimeout(this._audioSpriteEndHandler,this._duration-this._position))},a._handleLoop=function(){this._handleSoundReady()},a._updateStartTime=function(){this._audioSprite=!0,this.playState==createjs.Sound.PLAY_SUCCEEDED},a._updateDuration=function(){this._audioSprite,this.playState==createjs.Sound.PLAY_SUCCEEDED&&(clearTimeout(this._audioSpriteTimeout),this._audioSpriteTimeout=setTimeout(this._audioSpriteEndHandler,this._duration-this.position))},a._setDurationFromSource=function(){this._duration=createjs.Sound.activePlugin.getSrcDuration(this.src)},createjs.CordovaAudioSoundInstance=createjs.promote(CordovaAudioSoundInstance,"AbstractSoundInstance")}(),this.createjs=this.createjs||{},function(){"use strict";function CordovaAudioPlugin(){this.AbstractPlugin_constructor(),this._capabilities=b._capabilities,this._loaderClass=createjs.CordovaAudioLoader,this._soundInstanceClass=createjs.CordovaAudioSoundInstance,this._srcDurationHash={}}var a=createjs.extend(CordovaAudioPlugin,createjs.AbstractPlugin),b=CordovaAudioPlugin;b.playWhenScreenLocked=!1,b._capabilities=null,b.isSupported=function(){return b._generateCapabilities(),null!=b._capabilities},b._generateCapabilities=function(){if(null==b._capabilities&&(window.cordova||window.PhoneGap||window.phonegap)&&window.Media){var a=document.createElement("audio");if(null==a.canPlayType)return null;b._capabilities={panning:!1,volume:!0,tracks:-1};for(var c=createjs.Sound.SUPPORTED_EXTENSIONS,d=createjs.Sound.EXTENSION_MAP,e=0,f=c.length;f>e;e++){var g=c[e],h=d[g]||g;b._capabilities[g]="no"!=a.canPlayType("audio/"+g)&&""!=a.canPlayType("audio/"+g)||"no"!=a.canPlayType("audio/"+h)&&""!=a.canPlayType("audio/"+h)}}},a.create=function(a,b,c){var d=this.AbstractPlugin_create(a,b,c);return d.playWhenScreenLocked=this.playWhenScreenLocked,d},a.toString=function(){return"[CordovaAudioPlugin]"},a.setVolume=a.getVolume=a.setMute=null,a.getSrcDuration=function(a){return this._srcDurationHash[a]},a._handlePreloadComplete=function(a){var b=a.target.getItem().src;this._srcDurationHash[b]=a.result,this._audioSources[b]=a.result},a.removeSound=function(a){delete this._srcDurationHash[a],this.AbstractPlugin_removeSound(a)},createjs.CordovaAudioPlugin=createjs.promote(CordovaAudioPlugin,"AbstractPlugin")}(),this.createjs=this.createjs||{},function(){var a=createjs.CordovaAudioPlugin=createjs.CordovaAudioPlugin||{};a.version="0.6.2",a.buildDate="Thu, 26 Nov 2015 20:44:31 GMT"}(); -------------------------------------------------------------------------------- /www/scripts/lib/es6-shim/es6-sham.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * https://github.com/paulmillr/es6-shim 3 | * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) 4 | * and contributors, MIT License 5 | * es6-sham: v0.34.2 6 | * see https://github.com/paulmillr/es6-shim/blob/0.34.2/LICENSE 7 | * Details and documentation: 8 | * https://github.com/paulmillr/es6-shim/ 9 | */ 10 | 11 | // UMD (Universal Module Definition) 12 | // see https://github.com/umdjs/umd/blob/master/returnExports.js 13 | (function (root, factory) { 14 | /*global define, exports, module */ 15 | if (typeof define === 'function' && define.amd) { 16 | // AMD. Register as an anonymous module. 17 | define(factory); 18 | } else if (typeof exports === 'object') { 19 | // Node. Does not work with strict CommonJS, but 20 | // only CommonJS-like environments that support module.exports, 21 | // like Node. 22 | module.exports = factory(); 23 | } else { 24 | // Browser globals (root is window) 25 | root.returnExports = factory(); 26 | } 27 | }(this, function () { 28 | 'use strict'; 29 | 30 | /*jshint evil: true */ 31 | /* eslint-disable no-new-func */ 32 | var getGlobal = new Function('return this;'); 33 | /* eslint-enable no-new-func */ 34 | /*jshint evil: false */ 35 | 36 | var globals = getGlobal(); 37 | var Object = globals.Object; 38 | 39 | // NOTE: This versions needs object ownership 40 | // because every promoted object needs to be reassigned 41 | // otherwise uncompatible browsers cannot work as expected 42 | // 43 | // NOTE: This might need es5-shim or polyfills upfront 44 | // because it's based on ES5 API. 45 | // (probably just an IE <= 8 problem) 46 | // 47 | // NOTE: nodejs is fine in version 0.8, 0.10, and future versions. 48 | (function () { 49 | if (Object.setPrototypeOf) { return; } 50 | 51 | /*jshint proto: true */ 52 | // @author Andrea Giammarchi - @WebReflection 53 | 54 | var getOwnPropertyNames = Object.getOwnPropertyNames; 55 | var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 56 | var create = Object.create; 57 | var defineProperty = Object.defineProperty; 58 | var getPrototypeOf = Object.getPrototypeOf; 59 | var objProto = Object.prototype; 60 | 61 | var copyDescriptors = function (target, source) { 62 | // define into target descriptors from source 63 | getOwnPropertyNames(source).forEach(function (key) { 64 | defineProperty( 65 | target, 66 | key, 67 | getOwnPropertyDescriptor(source, key) 68 | ); 69 | }); 70 | return target; 71 | }; 72 | // used as fallback when no promotion is possible 73 | var createAndCopy = function (origin, proto) { 74 | return copyDescriptors(create(proto), origin); 75 | }; 76 | var set, setPrototypeOf; 77 | try { 78 | // this might fail for various reasons 79 | // ignore if Chrome cought it at runtime 80 | set = getOwnPropertyDescriptor(objProto, '__proto__').set; 81 | set.call({}, null); 82 | // setter not poisoned, it can promote 83 | // Firefox, Chrome 84 | setPrototypeOf = function (origin, proto) { 85 | set.call(origin, proto); 86 | return origin; 87 | }; 88 | } catch (e) { 89 | // do one or more feature detections 90 | set = { __proto__: null }; 91 | // if proto does not work, needs to fallback 92 | // some Opera, Rhino, ducktape 93 | if (set instanceof Object) { 94 | setPrototypeOf = createAndCopy; 95 | } else { 96 | // verify if null objects are buggy 97 | /* eslint-disable no-proto */ 98 | set.__proto__ = objProto; 99 | /* eslint-enable no-proto */ 100 | // if null objects are buggy 101 | // nodejs 0.8 to 0.10 102 | if (set instanceof Object) { 103 | setPrototypeOf = function (origin, proto) { 104 | // use such bug to promote 105 | /* eslint-disable no-proto */ 106 | origin.__proto__ = proto; 107 | /* eslint-enable no-proto */ 108 | return origin; 109 | }; 110 | } else { 111 | // try to use proto or fallback 112 | // Safari, old Firefox, many others 113 | setPrototypeOf = function (origin, proto) { 114 | // if proto is not null 115 | if (getPrototypeOf(origin)) { 116 | // use __proto__ to promote 117 | /* eslint-disable no-proto */ 118 | origin.__proto__ = proto; 119 | /* eslint-enable no-proto */ 120 | return origin; 121 | } else { 122 | // otherwise unable to promote: fallback 123 | return createAndCopy(origin, proto); 124 | } 125 | }; 126 | } 127 | } 128 | } 129 | Object.setPrototypeOf = setPrototypeOf; 130 | }()); 131 | 132 | })); 133 | -------------------------------------------------------------------------------- /www/scripts/lib/es6-shim/es6-sham.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["es6-sham.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","getGlobal","Function","globals","Object","setPrototypeOf","getOwnPropertyNames","getOwnPropertyDescriptor","create","defineProperty","getPrototypeOf","objProto","prototype","copyDescriptors","target","source","forEach","key","createAndCopy","origin","proto","set","call","e","__proto__"],"mappings":";;;;;;;;;CAYC,SAAUA,EAAMC,GAEf,SAAWC,UAAW,YAAcA,OAAOC,IAAK,CAE9CD,OAAOD,OACF,UAAWG,WAAY,SAAU,CAItCC,OAAOD,QAAUH,QACZ,CAELD,EAAKM,cAAgBL,OAEvBM,KAAM,WACN,YAIA,IAAIC,GAAY,GAAIC,UAAS,eAI7B,IAAIC,GAAUF,GACd,IAAIG,GAASD,EAAQC,QAWpB,WACC,GAAIA,EAAOC,eAAgB,CAAE,OAK7B,GAAIC,GAAsBF,EAAOE,mBACjC,IAAIC,GAA2BH,EAAOG,wBACtC,IAAIC,GAASJ,EAAOI,MACpB,IAAIC,GAAiBL,EAAOK,cAC5B,IAAIC,GAAiBN,EAAOM,cAC5B,IAAIC,GAAWP,EAAOQ,SAEtB,IAAIC,GAAkB,SAAUC,EAAQC,GAEtCT,EAAoBS,GAAQC,QAAQ,SAAUC,GAC5CR,EACEK,EACAG,EACAV,EAAyBQ,EAAQE,KAGrC,OAAOH,GAGT,IAAII,GAAgB,SAAUC,EAAQC,GACpC,MAAOP,GAAgBL,EAAOY,GAAQD,GAExC,IAAIE,GAAKhB,CACT,KAGEgB,EAAMd,EAAyBI,EAAU,aAAaU,GACtDA,GAAIC,QAAS,KAGbjB,GAAiB,SAAUc,EAAQC,GACjCC,EAAIC,KAAKH,EAAQC,EACjB,OAAOD,IAET,MAAOI,GAEPF,GAAQG,UAAW,KAGnB,IAAIH,YAAejB,GAAQ,CACzBC,EAAiBa,MACZ,CAGLG,EAAIG,UAAYb,CAIhB,IAAIU,YAAejB,GAAQ,CACzBC,EAAiB,SAAUc,EAAQC,GAGjCD,EAAOK,UAAYJ,CAEnB,OAAOD,QAEJ,CAGLd,EAAiB,SAAUc,EAAQC,GAEjC,GAAIV,EAAeS,GAAS,CAG1BA,EAAOK,UAAYJ,CAEnB,OAAOD,OACF,CAEL,MAAOD,GAAcC,EAAQC,OAMvChB,EAAOC,eAAiBA"} -------------------------------------------------------------------------------- /www/scripts/lib/es6-shim/es6-sham.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * https://github.com/paulmillr/es6-shim 3 | * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) 4 | * and contributors, MIT License 5 | * es6-sham: v0.34.2 6 | * see https://github.com/paulmillr/es6-shim/blob/0.34.2/LICENSE 7 | * Details and documentation: 8 | * https://github.com/paulmillr/es6-shim/ 9 | */ 10 | (function(t,e){if(typeof define==="function"&&define.amd){define(e)}else if(typeof exports==="object"){module.exports=e()}else{t.returnExports=e()}})(this,function(){"use strict";var t=new Function("return this;");var e=t();var r=e.Object;(function(){if(r.setPrototypeOf){return}var t=r.getOwnPropertyNames;var e=r.getOwnPropertyDescriptor;var n=r.create;var o=r.defineProperty;var f=r.getPrototypeOf;var i=r.prototype;var u=function(r,n){t(n).forEach(function(t){o(r,t,e(n,t))});return r};var c=function(t,e){return u(n(e),t)};var a,_;try{a=e(i,"__proto__").set;a.call({},null);_=function(t,e){a.call(t,e);return t}}catch(p){a={__proto__:null};if(a instanceof r){_=c}else{a.__proto__=i;if(a instanceof r){_=function(t,e){t.__proto__=e;return t}}else{_=function(t,e){if(f(t)){t.__proto__=e;return t}else{return c(t,e)}}}}}r.setPrototypeOf=_})()}); 11 | //# sourceMappingURL=es6-sham.map 12 | -------------------------------------------------------------------------------- /www/scripts/platformOverrides.js: -------------------------------------------------------------------------------- 1 | // This is a placeholder file to prevent 404 errors. Overwritten when app build is done in VS2015 --------------------------------------------------------------------------------