diff --git a/.gitignore b/.gitignore index 9e406a57..a49ae8ad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,19 @@ + node_modules *.tgz +package-lock.json + +plugins/NativeScriptAngularCompilerPlugin.d.ts +plugins/NativeScriptAngularCompilerPlugin.js +plugins/NativeScriptAngularCompilerPlugin.js.map + +plugins/PlatformFSPlugin.d.ts +plugins/PlatformFSPlugin.js +plugins/PlatformFSPlugin.js.map + +plugins/WatchStateLoggerPlugin.d.ts +plugins/WatchStateLoggerPlugin.js +plugins/WatchStateLoggerPlugin.js.map + +hooks +.DS_Store diff --git a/.npmignore b/.npmignore index b9c5c28a..d4915faa 100644 --- a/.npmignore +++ b/.npmignore @@ -1 +1,2 @@ prepublish +demo \ No newline at end of file diff --git a/bin/ns-bundle b/bin/ns-bundle index bd436c25..8e45dae7 100755 --- a/bin/ns-bundle +++ b/bin/ns-bundle @@ -225,7 +225,7 @@ function spawnChildProcess(command, ...args) { const childProcess = spawn(command, escapedArgs, { stdio: "inherit", - pwd: PROJECT_DIR, + cwd: PROJECT_DIR, shell: true, }); diff --git a/demo/.gitignore b/demo/.gitignore new file mode 100644 index 00000000..3f3200bc --- /dev/null +++ b/demo/.gitignore @@ -0,0 +1,21 @@ +node_modules +platforms +hooks +report + +**/*.map + +reports/ +test-results.xml + +tsconfig.aot.json + +vendor.js +vendor-platform.android.js +vendor-platform.ios.js + +vendor.ts +vendor-platform.android.ts +vendor-platform.ios.ts + +webpack.config.js diff --git a/demo/AngularApp/.gitignore b/demo/AngularApp/.gitignore new file mode 100644 index 00000000..f84eb8e5 --- /dev/null +++ b/demo/AngularApp/.gitignore @@ -0,0 +1,12 @@ +node_modules +platforms +hooks + +app/**/*.js +e2e/**/*.js +e2e/**/*.map +e2e/reports/ +test-results.xml + +app/item/items.component.android.css +app/item/items.component.ios.css \ No newline at end of file diff --git a/demo/AngularApp/.vscode/launch.json b/demo/AngularApp/.vscode/launch.json new file mode 100644 index 00000000..c8276a2a --- /dev/null +++ b/demo/AngularApp/.vscode/launch.json @@ -0,0 +1,34 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Debug", + "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha", + "args": [ + "-u", + "tdd", + "--timeout", + "999999", + "--colors", + "--opts", + "./e2e/config/mocha.opts", + "--runType", + "android23", + "--reuseDevice" + // "${workspaceFolder}/test" + ], + "internalConsoleOptions": "openOnSessionStart" + }, + { + "type": "node", + "request": "launch", + "name": "Launch Program", + "program": "${file}" + } + ] +} diff --git a/demo/AngularApp/app/App_Resources/Android/AndroidManifest.xml b/demo/AngularApp/app/App_Resources/Android/AndroidManifest.xml new file mode 100644 index 00000000..9db83215 --- /dev/null +++ b/demo/AngularApp/app/App_Resources/Android/AndroidManifest.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/AngularApp/app/App_Resources/Android/app.gradle b/demo/AngularApp/app/App_Resources/Android/app.gradle new file mode 100644 index 00000000..e45b55b8 --- /dev/null +++ b/demo/AngularApp/app/App_Resources/Android/app.gradle @@ -0,0 +1,16 @@ +// Add your native dependencies here: + +// Uncomment to add recyclerview-v7 dependency +//dependencies { +// compile 'com.android.support:recyclerview-v7:+' +//} + +android { + defaultConfig { + generatedDensities = [] + applicationId = "org.nativescript.AngularApp" + } + aaptOptions { + additionalParameters "--no-version-vectors" + } +} diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-hdpi/background.png b/demo/AngularApp/app/App_Resources/Android/drawable-hdpi/background.png new file mode 100644 index 00000000..eb381c25 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-hdpi/background.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-hdpi/icon.png b/demo/AngularApp/app/App_Resources/Android/drawable-hdpi/icon.png new file mode 100755 index 00000000..9cde84cd Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-hdpi/icon.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-hdpi/logo.png b/demo/AngularApp/app/App_Resources/Android/drawable-hdpi/logo.png new file mode 100644 index 00000000..5218f4c9 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-hdpi/logo.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-ldpi/background.png b/demo/AngularApp/app/App_Resources/Android/drawable-ldpi/background.png new file mode 100644 index 00000000..748b2adf Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-ldpi/background.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-ldpi/icon.png b/demo/AngularApp/app/App_Resources/Android/drawable-ldpi/icon.png new file mode 100755 index 00000000..4d6a674b Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-ldpi/icon.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-ldpi/logo.png b/demo/AngularApp/app/App_Resources/Android/drawable-ldpi/logo.png new file mode 100644 index 00000000..b9e102a7 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-ldpi/logo.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-mdpi/background.png b/demo/AngularApp/app/App_Resources/Android/drawable-mdpi/background.png new file mode 100644 index 00000000..efeaf290 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-mdpi/background.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-mdpi/icon.png b/demo/AngularApp/app/App_Resources/Android/drawable-mdpi/icon.png new file mode 100755 index 00000000..92ccc85a Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-mdpi/icon.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-mdpi/logo.png b/demo/AngularApp/app/App_Resources/Android/drawable-mdpi/logo.png new file mode 100644 index 00000000..62633876 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-mdpi/logo.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-nodpi/splash_screen.xml b/demo/AngularApp/app/App_Resources/Android/drawable-nodpi/splash_screen.xml new file mode 100644 index 00000000..ada77f92 --- /dev/null +++ b/demo/AngularApp/app/App_Resources/Android/drawable-nodpi/splash_screen.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-xhdpi/background.png b/demo/AngularApp/app/App_Resources/Android/drawable-xhdpi/background.png new file mode 100644 index 00000000..612bbd07 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-xhdpi/background.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-xhdpi/icon.png b/demo/AngularApp/app/App_Resources/Android/drawable-xhdpi/icon.png new file mode 100644 index 00000000..8bcde627 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-xhdpi/icon.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-xhdpi/logo.png b/demo/AngularApp/app/App_Resources/Android/drawable-xhdpi/logo.png new file mode 100644 index 00000000..ad8ee2f4 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-xhdpi/logo.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-xxhdpi/background.png b/demo/AngularApp/app/App_Resources/Android/drawable-xxhdpi/background.png new file mode 100644 index 00000000..0fa88e23 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-xxhdpi/background.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-xxhdpi/icon.png b/demo/AngularApp/app/App_Resources/Android/drawable-xxhdpi/icon.png new file mode 100644 index 00000000..9d81c85d Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-xxhdpi/icon.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-xxhdpi/logo.png b/demo/AngularApp/app/App_Resources/Android/drawable-xxhdpi/logo.png new file mode 100644 index 00000000..66832783 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-xxhdpi/logo.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-xxxhdpi/background.png b/demo/AngularApp/app/App_Resources/Android/drawable-xxxhdpi/background.png new file mode 100644 index 00000000..c650f643 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-xxxhdpi/background.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-xxxhdpi/icon.png b/demo/AngularApp/app/App_Resources/Android/drawable-xxxhdpi/icon.png new file mode 100644 index 00000000..9a34d0d4 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-xxxhdpi/icon.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/drawable-xxxhdpi/logo.png b/demo/AngularApp/app/App_Resources/Android/drawable-xxxhdpi/logo.png new file mode 100644 index 00000000..fa6331c8 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/Android/drawable-xxxhdpi/logo.png differ diff --git a/demo/AngularApp/app/App_Resources/Android/values-v21/colors.xml b/demo/AngularApp/app/App_Resources/Android/values-v21/colors.xml new file mode 100644 index 00000000..a64641a9 --- /dev/null +++ b/demo/AngularApp/app/App_Resources/Android/values-v21/colors.xml @@ -0,0 +1,4 @@ + + + #3d5afe + \ No newline at end of file diff --git a/demo/AngularApp/app/App_Resources/Android/values-v21/styles.xml b/demo/AngularApp/app/App_Resources/Android/values-v21/styles.xml new file mode 100644 index 00000000..dac8727c --- /dev/null +++ b/demo/AngularApp/app/App_Resources/Android/values-v21/styles.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/demo/AngularApp/app/App_Resources/Android/values/colors.xml b/demo/AngularApp/app/App_Resources/Android/values/colors.xml new file mode 100644 index 00000000..74ad8829 --- /dev/null +++ b/demo/AngularApp/app/App_Resources/Android/values/colors.xml @@ -0,0 +1,7 @@ + + + #F5F5F5 + #757575 + #33B5E5 + #272734 + \ No newline at end of file diff --git a/demo/AngularApp/app/App_Resources/Android/values/styles.xml b/demo/AngularApp/app/App_Resources/Android/values/styles.xml new file mode 100644 index 00000000..c793e6d4 --- /dev/null +++ b/demo/AngularApp/app/App_Resources/Android/values/styles.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..4034b76e --- /dev/null +++ b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "icon-29.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "icon-29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "icon-29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "icon-40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "icon-40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "icon-60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "icon-60@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "icon-29.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "icon-29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "icon-40.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "icon-40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "icon-76.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "icon-76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "icon-83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "icon-1024.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png new file mode 100644 index 00000000..a1d7eb47 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png new file mode 100644 index 00000000..bb9b9e86 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png new file mode 100644 index 00000000..ec609dcf Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png new file mode 100644 index 00000000..a9718080 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png new file mode 100644 index 00000000..214800ee Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png new file mode 100644 index 00000000..8554b88a Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png new file mode 100644 index 00000000..a22626ba Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png new file mode 100644 index 00000000..a22626ba Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png new file mode 100644 index 00000000..492c9c8e Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png new file mode 100644 index 00000000..9208113c Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png new file mode 100644 index 00000000..24415e5a Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png new file mode 100644 index 00000000..b3ef1bf0 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/Contents.json b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/Contents.json new file mode 100644 index 00000000..da4a164c --- /dev/null +++ b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 00000000..4414bad0 --- /dev/null +++ b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,158 @@ +{ + "images" : [ + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "736h", + "filename" : "Default-736h@3x.png", + "minimum-system-version" : "8.0", + "orientation" : "portrait", + "scale" : "3x" + }, + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "736h", + "filename" : "Default-Landscape@3x.png", + "minimum-system-version" : "8.0", + "orientation" : "landscape", + "scale" : "3x" + }, + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "667h", + "filename" : "Default-667h@2x.png", + "minimum-system-version" : "8.0", + "orientation" : "portrait", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "filename" : "Default@2x.png", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "retina4", + "filename" : "Default-568h@2x.png", + "minimum-system-version" : "7.0", + "orientation" : "portrait", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "filename" : "Default-Portrait.png", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "1x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "filename" : "Default-Landscape.png", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "filename" : "Default-Portrait@2x.png", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "filename" : "Default-Landscape@2x.png", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "filename" : "Default.png", + "extent" : "full-screen", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "filename" : "Default@2x.png", + "extent" : "full-screen", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "filename" : "Default-568h@2x.png", + "extent" : "full-screen", + "subtype" : "retina4", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "filename" : "Default-Portrait.png", + "extent" : "full-screen", + "scale" : "1x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "1x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "filename" : "Default-Landscape.png", + "extent" : "full-screen", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "filename" : "Default-Portrait@2x.png", + "extent" : "full-screen", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "filename" : "Default-Landscape@2x.png", + "extent" : "full-screen", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png new file mode 100644 index 00000000..d7f17fcd Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png new file mode 100644 index 00000000..b8841540 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png new file mode 100644 index 00000000..faab4b63 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png new file mode 100644 index 00000000..3365ba3c Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png new file mode 100644 index 00000000..a44945c1 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png new file mode 100644 index 00000000..e6dca626 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png new file mode 100644 index 00000000..1a500796 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png new file mode 100644 index 00000000..73d8b920 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png new file mode 100644 index 00000000..9f1f6ce3 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png new file mode 100644 index 00000000..514fc5cd Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json new file mode 100644 index 00000000..4f4e9c50 --- /dev/null +++ b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchScreen-AspectFill.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchScreen-AspectFill@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png new file mode 100644 index 00000000..c293f9c7 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png new file mode 100644 index 00000000..233693a6 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json new file mode 100644 index 00000000..23c0ffd7 --- /dev/null +++ b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchScreen-Center.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchScreen-Center@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png new file mode 100644 index 00000000..a5a775a2 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png new file mode 100644 index 00000000..154c1934 Binary files /dev/null and b/demo/AngularApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png differ diff --git a/demo/AngularApp/app/App_Resources/iOS/Info.plist b/demo/AngularApp/app/App_Resources/iOS/Info.plist new file mode 100644 index 00000000..ea3e3ea2 --- /dev/null +++ b/demo/AngularApp/app/App_Resources/iOS/Info.plist @@ -0,0 +1,47 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIRequiresFullScreen + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/demo/AngularApp/app/App_Resources/iOS/LaunchScreen.storyboard b/demo/AngularApp/app/App_Resources/iOS/LaunchScreen.storyboard new file mode 100644 index 00000000..2ad9471e --- /dev/null +++ b/demo/AngularApp/app/App_Resources/iOS/LaunchScreen.storyboard @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/AngularApp/app/App_Resources/iOS/build.xcconfig b/demo/AngularApp/app/App_Resources/iOS/build.xcconfig new file mode 100644 index 00000000..4b011849 --- /dev/null +++ b/demo/AngularApp/app/App_Resources/iOS/build.xcconfig @@ -0,0 +1,7 @@ +// You can add custom settings here +// for example you can uncomment the following line to force distribution code signing +// CODE_SIGN_IDENTITY = iPhone Distribution +// To build for device with Xcode 8 you need to specify your development team. More info: https://developer.apple.com/library/prerelease/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html +// DEVELOPMENT_TEAM = YOUR_TEAM_ID; +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; +ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; diff --git a/demo/AngularApp/app/README.md b/demo/AngularApp/app/README.md new file mode 100644 index 00000000..132ede3b --- /dev/null +++ b/demo/AngularApp/app/README.md @@ -0,0 +1,25 @@ +# NativeScript Angular Template + +This template creates a "Hello, world" NativeScript app using TypeScript and Angular. + +You can create a new app that uses this template with either the `--template` option. + +``` +tns create my-app-name --template tns-template-hello-world-ng +``` + +Or the `--ng` shorthand. + +``` +tns create my-app-name --ng +``` + +> Note: Both commands will create a new NativeScript app that uses the latest version of this template published to [npm] (https://www.npmjs.com/package/tns-template-hello-world-ng). + +If you want to create a new app that uses the source of the template from the `master` branch, you can execute the following: + +``` +tns create my-app-name --template https://github.com/NativeScript/template-hello-world-ng.git#master +``` + +**NB:** Please, have in mind that the master branch may refer to dependencies that are not on NPM yet! diff --git a/demo/AngularApp/app/app.android.css b/demo/AngularApp/app/app.android.css new file mode 100644 index 00000000..4b3f61b7 --- /dev/null +++ b/demo/AngularApp/app/app.android.css @@ -0,0 +1,9 @@ +@import '~nativescript-theme-core/css/core.light.css'; + +ActionBar { + background-color: #7F9; +} + +.app-class { + background-color:#7f9 +} diff --git a/demo/AngularApp/app/app.component.html b/demo/AngularApp/app/app.component.html new file mode 100644 index 00000000..41b82ccc --- /dev/null +++ b/demo/AngularApp/app/app.component.html @@ -0,0 +1 @@ + diff --git a/demo/AngularApp/app/app.component.ts b/demo/AngularApp/app/app.component.ts new file mode 100644 index 00000000..b95dd6f0 --- /dev/null +++ b/demo/AngularApp/app/app.component.ts @@ -0,0 +1,8 @@ +import { Component } from "@angular/core"; + +@Component({ + selector: "ns-app", + templateUrl: "app.component.html", +}) + +export class AppComponent { } diff --git a/demo/AngularApp/app/app.ios.css b/demo/AngularApp/app/app.ios.css new file mode 100644 index 00000000..8cfd4de4 --- /dev/null +++ b/demo/AngularApp/app/app.ios.css @@ -0,0 +1,9 @@ +@import '~nativescript-theme-core/css/core.light.css'; + +ActionBar { + background-color: #999; +} + +.app-class{ + background-color:#999 +} diff --git a/demo/AngularApp/app/app.module.ts b/demo/AngularApp/app/app.module.ts new file mode 100644 index 00000000..330039b4 --- /dev/null +++ b/demo/AngularApp/app/app.module.ts @@ -0,0 +1,44 @@ +import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core"; +import { NativeScriptModule } from "nativescript-angular/nativescript.module"; +import { AppRoutingModule } from "./app.routing"; +import { AppComponent } from "./app.component"; + +import { ItemService } from "./item/item.service"; +import { ItemsComponent } from "./item/items.component"; +import { ItemDetailComponent } from "./item/item-detail.component"; + +// import { PlayfulSpirit } from "./directive"; + +// Uncomment and add to NgModule imports if you need to use two-way binding +// import { NativeScriptFormsModule } from "nativescript-angular/forms"; + +// Uncomment and add to NgModule imports if you need to use the HTTP wrapper +// import { NativeScriptHttpModule } from "nativescript-angular/http"; + +@NgModule({ + bootstrap: [ + AppComponent + ], + imports: [ + NativeScriptModule, + AppRoutingModule + ], + declarations: [ + AppComponent, + ItemsComponent, + ItemDetailComponent, + // https://github.com/NativeScript/nativescript-dev-webpack/issues/332 + // We would really want this to work but currently it fails with AoT: + // PlayfulSpirit + ], + providers: [ + ItemService + ], + schemas: [ + NO_ERRORS_SCHEMA + ] +}) +/* +Pass your application module to the bootstrapModule function located in main.ts to start your app +*/ +export class AppModule { } diff --git a/demo/AngularApp/app/app.routing.ts b/demo/AngularApp/app/app.routing.ts new file mode 100644 index 00000000..05b5fdef --- /dev/null +++ b/demo/AngularApp/app/app.routing.ts @@ -0,0 +1,23 @@ +import { NgModule } from "@angular/core"; +import { NativeScriptRouterModule } from "nativescript-angular/router"; +import { Routes } from "@angular/router"; + +import { ItemsComponent } from "./item/items.component"; +import { ItemDetailComponent } from "./item/item-detail.component"; + +const routes: Routes = [ + { path: "", redirectTo: "/items", pathMatch: "full" }, + { path: "items", component: ItemsComponent }, + { path: "item/:id", component: ItemDetailComponent }, + { + path: "ninjas", + loadChildren: "./ninjas/ninjas.module#NinjasModule", + }, + +]; + +@NgModule({ + imports: [NativeScriptRouterModule.forRoot(routes)], + exports: [NativeScriptRouterModule] +}) +export class AppRoutingModule { } diff --git a/demo/AngularApp/app/directive/PlayfulSpirit.android.ts b/demo/AngularApp/app/directive/PlayfulSpirit.android.ts new file mode 100644 index 00000000..5dfcb4f9 --- /dev/null +++ b/demo/AngularApp/app/directive/PlayfulSpirit.android.ts @@ -0,0 +1,10 @@ +import { Directive } from "@angular/core"; + +// @Directive({ +// selector: "[playful-spirit]", +// host: { +// "backgroundColor": "#7F9" +// } +// }) +// export class PlayfulSpirit { +// } \ No newline at end of file diff --git a/demo/AngularApp/app/directive/PlayfulSpirit.d.ts b/demo/AngularApp/app/directive/PlayfulSpirit.d.ts new file mode 100644 index 00000000..be14cb6a --- /dev/null +++ b/demo/AngularApp/app/directive/PlayfulSpirit.d.ts @@ -0,0 +1,7 @@ +// import { Directive } from "@angular/core"; + +// @Directive({ +// selector: "[playful]" +// }) +// export class PlayfulSpirit { +// } \ No newline at end of file diff --git a/demo/AngularApp/app/directive/PlayfulSpirit.ios.ts b/demo/AngularApp/app/directive/PlayfulSpirit.ios.ts new file mode 100644 index 00000000..121fb9e3 --- /dev/null +++ b/demo/AngularApp/app/directive/PlayfulSpirit.ios.ts @@ -0,0 +1,10 @@ +import { Directive } from "@angular/core"; + +// @Directive({ +// selector: "[playful-spirit]", +// host: { +// "backgroundColor": "#999" +// } +// }) +// export class PlayfulSpirit { +// } \ No newline at end of file diff --git a/demo/AngularApp/app/directive/package.json b/demo/AngularApp/app/directive/package.json new file mode 100644 index 00000000..4d14544a --- /dev/null +++ b/demo/AngularApp/app/directive/package.json @@ -0,0 +1,4 @@ +{ + "main": "PlayfulSpirit", + "types": "PlayfulSpirit.d.ts" +} \ No newline at end of file diff --git a/demo/AngularApp/app/item/item-detail.component.html b/demo/AngularApp/app/item/item-detail.component.html new file mode 100644 index 00000000..3bbd174c --- /dev/null +++ b/demo/AngularApp/app/item/item-detail.component.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/demo/AngularApp/app/item/item-detail.component.ts b/demo/AngularApp/app/item/item-detail.component.ts new file mode 100644 index 00000000..a9d6c6fa --- /dev/null +++ b/demo/AngularApp/app/item/item-detail.component.ts @@ -0,0 +1,24 @@ +import { Component, OnInit } from "@angular/core"; +import { ActivatedRoute } from "@angular/router"; + +import { Item } from "./item"; +import { ItemService } from "./item.service"; + +@Component({ + selector: "ns-details", + moduleId: __filename, + templateUrl: "./item-detail.component.html", +}) +export class ItemDetailComponent implements OnInit { + item: Item; + + constructor( + private itemService: ItemService, + private route: ActivatedRoute + ) { } + + ngOnInit(): void { + const id = +this.route.snapshot.params["id"]; + this.item = this.itemService.getItem(id); + } +} diff --git a/demo/AngularApp/app/item/item.service.ts b/demo/AngularApp/app/item/item.service.ts new file mode 100644 index 00000000..0feb6c5f --- /dev/null +++ b/demo/AngularApp/app/item/item.service.ts @@ -0,0 +1,39 @@ +import { Injectable } from "@angular/core"; + +import { Item } from "./item"; + +@Injectable() +export class ItemService { + private items = new Array( + { id: 1, name: "Ter Stegen", role: "Goalkeeper" }, + { id: 3, name: "Piqué", role: "Defender" }, + { id: 4, name: "I. Rakitic", role: "Midfielder" }, + { id: 5, name: "Sergio", role: "Midfielder" }, + { id: 6, name: "Denis Suárez", role: "Midfielder" }, + { id: 7, name: "Arda", role: "Midfielder" }, + { id: 8, name: "A. Iniesta", role: "Midfielder" }, + { id: 9, name: "Suárez", role: "Forward" }, + { id: 10, name: "Messi", role: "Forward" }, + { id: 11, name: "Neymar", role: "Forward" }, + { id: 12, name: "Rafinha", role: "Midfielder" }, + { id: 13, name: "Cillessen", role: "Goalkeeper" }, + { id: 14, name: "Mascherano", role: "Defender" }, + { id: 17, name: "Paco Alcácer", role: "Forward" }, + { id: 18, name: "Jordi Alba", role: "Defender" }, + { id: 19, name: "Digne", role: "Defender" }, + { id: 20, name: "Sergi Roberto", role: "Midfielder" }, + { id: 21, name: "André Gomes", role: "Midfielder" }, + { id: 22, name: "Aleix Vidal", role: "Midfielder" }, + { id: 23, name: "Umtiti", role: "Defender" }, + { id: 24, name: "Mathieu", role: "Defender" }, + { id: 25, name: "Masip", role: "Goalkeeper" }, + ); + + getItems(): Item[] { + return this.items; + } + + getItem(id: number): Item { + return this.items.filter(item => item.id === id)[0]; + } +} diff --git a/demo/AngularApp/app/item/item.ts b/demo/AngularApp/app/item/item.ts new file mode 100644 index 00000000..02e2b01b --- /dev/null +++ b/demo/AngularApp/app/item/item.ts @@ -0,0 +1,5 @@ +export class Item { + id: number; + name: string; + role: string; +} diff --git a/demo/AngularApp/app/item/items.component.android.html b/demo/AngularApp/app/item/items.component.android.html new file mode 100644 index 00000000..9c63c2bc --- /dev/null +++ b/demo/AngularApp/app/item/items.component.android.html @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/demo/AngularApp/app/item/items.component.android.scss b/demo/AngularApp/app/item/items.component.android.scss new file mode 100644 index 00000000..52ded0e1 --- /dev/null +++ b/demo/AngularApp/app/item/items.component.android.scss @@ -0,0 +1,9 @@ +ListView { + GridLayout { + background-color: #7F9; + } +} + +.page-class { + background-color: #7F9; +} \ No newline at end of file diff --git a/demo/AngularApp/app/item/items.component.ios.html b/demo/AngularApp/app/item/items.component.ios.html new file mode 100644 index 00000000..c897bcef --- /dev/null +++ b/demo/AngularApp/app/item/items.component.ios.html @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/demo/AngularApp/app/item/items.component.ios.scss b/demo/AngularApp/app/item/items.component.ios.scss new file mode 100644 index 00000000..aa766ce5 --- /dev/null +++ b/demo/AngularApp/app/item/items.component.ios.scss @@ -0,0 +1,9 @@ +ListView { + GridLayout { + background-color: #999; + } +} + +.page-class { + background-color: #999; +} \ No newline at end of file diff --git a/demo/AngularApp/app/item/items.component.ts b/demo/AngularApp/app/item/items.component.ts new file mode 100644 index 00000000..9dac97ba --- /dev/null +++ b/demo/AngularApp/app/item/items.component.ts @@ -0,0 +1,22 @@ +import { Component, OnInit } from "@angular/core"; + +import { Item } from "./item"; +import { ItemService } from "./item.service"; + +@Component({ + selector: "ns-items", + moduleId: __filename, + styleUrls: ["./items.component.scss"], + templateUrl: "./items.component.html", +}) +export class ItemsComponent implements OnInit { + items: Item[]; + + // This pattern makes use of Angular’s dependency injection implementation to inject an instance of the ItemService service into this class. + // Angular knows about this service because it is included in your app’s main NgModule, defined in app.module.ts. + constructor(private itemService: ItemService) { } + + ngOnInit(): void { + this.items = this.itemService.getItems(); + } +} \ No newline at end of file diff --git a/demo/AngularApp/app/main.aot.ts b/demo/AngularApp/app/main.aot.ts new file mode 100644 index 00000000..3abe1e5f --- /dev/null +++ b/demo/AngularApp/app/main.aot.ts @@ -0,0 +1,7 @@ +// this import should be first in order to load some required settings (like globals and reflect-metadata) +import { platformNativeScript } from "nativescript-angular/platform-static"; + +// "./app.module.ngfactory" is a dynamically generated module when compiled with AoT. +const { AppModuleNgFactory } = require("./app.module.ngfactory"); + +platformNativeScript().bootstrapModuleFactory(AppModuleNgFactory); diff --git a/demo/AngularApp/app/main.ts b/demo/AngularApp/app/main.ts new file mode 100644 index 00000000..a84cb884 --- /dev/null +++ b/demo/AngularApp/app/main.ts @@ -0,0 +1,10 @@ +// this import should be first in order to load some required settings (like globals and reflect-metadata) +import { platformNativeScriptDynamic } from "nativescript-angular/platform"; + +import { AppModule } from "./app.module"; + +// A traditional NativeScript application starts by initializing global objects, setting up global CSS rules, creating, and navigating to the main page. +// Angular applications need to take care of their own initialization: modules, components, directives, routes, DI providers. +// A NativeScript Angular app needs to make both paradigms work together, so we provide a wrapper platform object, platformNativeScriptDynamic, +// that sets up a NativeScript application and can bootstrap the Angular framework. +platformNativeScriptDynamic().bootstrapModule(AppModule); diff --git a/demo/AngularApp/app/ninjas/details/ninja.component.ts b/demo/AngularApp/app/ninjas/details/ninja.component.ts new file mode 100644 index 00000000..f94a8447 --- /dev/null +++ b/demo/AngularApp/app/ninjas/details/ninja.component.ts @@ -0,0 +1,22 @@ +import { Component, OnInit } from "@angular/core"; +import { ActivatedRoute } from "@angular/router"; + +@Component({ + template: ` + + + + + ` +}) +export class NinjaComponent implements OnInit { + name: String; + + constructor( private route: ActivatedRoute) { } + + ngOnInit(): void { + this.name = this.route.snapshot.params["name"]; + } + +} diff --git a/demo/AngularApp/app/ninjas/details/ninja.module.ts b/demo/AngularApp/app/ninjas/details/ninja.module.ts new file mode 100644 index 00000000..1104172f --- /dev/null +++ b/demo/AngularApp/app/ninjas/details/ninja.module.ts @@ -0,0 +1,17 @@ +import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core"; +import { NativeScriptModule } from "nativescript-angular/nativescript.module"; +import { NativeScriptRouterModule } from "nativescript-angular/router"; + +import { NinjaComponent } from "./ninja.component"; +import { routes } from "./ninja.routes"; + +@NgModule({ + schemas: [NO_ERRORS_SCHEMA], + imports: [ + NativeScriptModule, + NativeScriptRouterModule, + NativeScriptRouterModule.forChild(routes) + ], + declarations: [NinjaComponent] +}) +export class NinjaModule { } diff --git a/demo/AngularApp/app/ninjas/details/ninja.routes.ts b/demo/AngularApp/app/ninjas/details/ninja.routes.ts new file mode 100644 index 00000000..bf2c28fd --- /dev/null +++ b/demo/AngularApp/app/ninjas/details/ninja.routes.ts @@ -0,0 +1,8 @@ +import { NinjaComponent } from "./ninja.component"; + +export const routes = [ + { + path: ":name", + component: NinjaComponent + } +]; diff --git a/demo/AngularApp/app/ninjas/ninjas.component.ts b/demo/AngularApp/app/ninjas/ninjas.component.ts new file mode 100644 index 00000000..1e46b460 --- /dev/null +++ b/demo/AngularApp/app/ninjas/ninjas.component.ts @@ -0,0 +1,31 @@ +import { Component } from "@angular/core"; + +@Component({ + template: ` + + + + + + + + + + + + ` +}) +export class NinjasComponent { + ninjas = [ + { name: "Michaelangelo", color: "orange" }, + { name: "Leonardo", color: "blue" }, + { name: "Raphaelo", color: "red" }, + { name: "Donatello", color: "purple" } + ]; +} diff --git a/demo/AngularApp/app/ninjas/ninjas.module.ts b/demo/AngularApp/app/ninjas/ninjas.module.ts new file mode 100644 index 00000000..dabc4856 --- /dev/null +++ b/demo/AngularApp/app/ninjas/ninjas.module.ts @@ -0,0 +1,17 @@ +import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core"; +import { NativeScriptModule } from "nativescript-angular/nativescript.module"; +import { NativeScriptRouterModule } from "nativescript-angular/router"; + +import { NinjasComponent } from "./ninjas.component"; +import { routes } from "./ninjas.routes"; + +@NgModule({ + schemas: [NO_ERRORS_SCHEMA], + imports: [ + NativeScriptModule, + NativeScriptRouterModule, + NativeScriptRouterModule.forChild(routes) + ], + declarations: [NinjasComponent] +}) +export class NinjasModule { } diff --git a/demo/AngularApp/app/ninjas/ninjas.routes.ts b/demo/AngularApp/app/ninjas/ninjas.routes.ts new file mode 100644 index 00000000..6efec2d7 --- /dev/null +++ b/demo/AngularApp/app/ninjas/ninjas.routes.ts @@ -0,0 +1,12 @@ +import { NinjasComponent } from "./ninjas.component"; + +export const routes = [ + { + path: "", + component: NinjasComponent + }, + { + path: "details", + loadChildren: "~/ninjas/details/ninja.module#NinjaModule", + }, +]; diff --git a/demo/AngularApp/app/package.json b/demo/AngularApp/app/package.json new file mode 100644 index 00000000..80037c0e --- /dev/null +++ b/demo/AngularApp/app/package.json @@ -0,0 +1,8 @@ +{ + "android": { + "v8Flags": "--expose_gc" + }, + "main": "main.js", + "name": "tns-template-hello-world-ng", + "version": "3.3.0" +} \ No newline at end of file diff --git a/demo/AngularApp/e2e/config/appium.capabilities.json b/demo/AngularApp/e2e/config/appium.capabilities.json new file mode 100644 index 00000000..630f6215 --- /dev/null +++ b/demo/AngularApp/e2e/config/appium.capabilities.json @@ -0,0 +1,106 @@ +{ + "android19": { + "platformName": "Android", + "platformVersion": "4.4", + "deviceName": "Emulator-Api19-Default", + "avd": "Emulator-Api19-Default", + "lt": 60000, + "appActivity": "com.tns.NativeScriptActivity", + "newCommandTimeout": 720, + "noReset": true, + "fullReset": false, + "app": "" + }, + "android21": { + "platformName": "Android", + "platformVersion": "5.0", + "deviceName": "Emulator-Api21-Default", + "avd": "Emulator-Api21-Default", + "lt": 60000, + "appActivity": "com.tns.NativeScriptActivity", + "newCommandTimeout": 720, + "noReset": true, + "fullReset": false, + "app": "" + }, + "android23": { + "platformName": "Android", + "platformVersion": "6.0", + "deviceName": "Emulator-Api23-Default", + "avd": "Emulator-Api23-Default", + "lt": 60000, + "appActivity": "com.tns.NativeScriptActivity", + "newCommandTimeout": 720, + "noReset": true, + "fullReset": false, + "app": "" + }, + "android24": { + "platformName": "Android", + "platformVersion": "7.0", + "deviceName": "Emulator-Api24-Default", + "avd": "Emulator-Api24-Default", + "lt": 60000, + "appActivity": "com.tns.NativeScriptActivity", + "newCommandTimeout": 720, + "noReset": true, + "fullReset": false, + "app": "" + }, + "android25": { + "platformName": "Android", + "platformVersion": "7.1", + "deviceName": "Emulator-Api25-Google", + "avd": "Emulator-Api25-Google", + "lt": 60000, + "appActivity": "com.tns.NativeScriptActivity", + "newCommandTimeout": 720, + "noReset": true, + "fullReset": false, + "app": "" + }, + "android26": { + "platformName": "Android", + "platformVersion": "8.0", + "deviceName": "Emulator-Api26-Google", + "avd": "Emulator-Api26-Google", + "lt": 60000, + "appActivity": "com.tns.NativeScriptActivity", + "newCommandTimeout": 720, + "noReset": true, + "fullReset": false, + "app": "" + }, + "sim.iPhone7.iOS100": { + "platformName": "iOS", + "platformVersion": "10.0", + "deviceName": "iPhone 7 100", + "noReset": true, + "fullReset": false, + "app": "" + }, + "sim.iPhone8.iOS110": { + "platformName": "iOS", + "platformVersion": "11.0", + "deviceName": "iPhone 8 110", + "noReset": true, + "fullReset": false, + "app": "" + }, + "sim.iPhoneX.iOS110": { + "platformName": "iOS", + "platformVersion": "11.0", + "deviceName": "iPhone X", + "noReset": true, + "fullReset": false, + "app": "" + }, + "sim.iPhoneX.iOS111": { + "platformName": "iOS", + "platformVersion": "11.1", + "deviceName": "iPhone X", + "noReset": true, + "fullReset": false, + "app": "" + } +} diff --git a/demo/AngularApp/e2e/config/mocha.opts b/demo/AngularApp/e2e/config/mocha.opts new file mode 100644 index 00000000..796ec472 --- /dev/null +++ b/demo/AngularApp/e2e/config/mocha.opts @@ -0,0 +1,4 @@ +--timeout 80000 +--recursive e2e +--reporter mocha-multi +--reporter-options spec=-,mocha-junit-reporter=test-results.xml \ No newline at end of file diff --git a/demo/AngularApp/e2e/resources/images/AngularApp/android/style.png b/demo/AngularApp/e2e/resources/images/AngularApp/android/style.png new file mode 100644 index 00000000..0d06ce7a Binary files /dev/null and b/demo/AngularApp/e2e/resources/images/AngularApp/android/style.png differ diff --git a/demo/AngularApp/e2e/resources/images/AngularApp/ios/style.png b/demo/AngularApp/e2e/resources/images/AngularApp/ios/style.png new file mode 100644 index 00000000..091628ed Binary files /dev/null and b/demo/AngularApp/e2e/resources/images/AngularApp/ios/style.png differ diff --git a/demo/AngularApp/e2e/sample.e2e-spec.ts b/demo/AngularApp/e2e/sample.e2e-spec.ts new file mode 100644 index 00000000..e3ee67de --- /dev/null +++ b/demo/AngularApp/e2e/sample.e2e-spec.ts @@ -0,0 +1,47 @@ +import { AppiumDriver, createDriver, SearchOptions } from "nativescript-dev-appium"; +import { assert } from "chai"; + +describe("sample scenario", () => { + const defaultWaitTime = 5000; + let driver: AppiumDriver; + + before(async () => { + driver = await createDriver(); + }); + + beforeEach(async function () { }); + + afterEach(async function () { + if (this.currentTest.state === "failed") { + await driver.logScreenshot(this.currentTest.title); + } + }); + + after(async () => { + await driver.quit(); + console.log("Quit driver!"); + }); + + it("should find platform specific items", async () => { + const items = await getItems(); + assert.isTrue(items.length > 1); + }); + + // it("should have CSS applied on items", async () => { + // const screen = await driver.compareScreen("items-component"); + // assert.isTrue(screen); + // }); + + it("should find Ninjas", async () => { + const btnNinjas = await driver.findElementByText("Ninjas"); + await btnNinjas.click(); + const lblNinjas = await driver.findElementByText("Ninjas!"); + }); + + // it("should have CSS applied on Ninjas", async () => { + // const screen = await driver.compareScreen("ninjas-component"); + // assert.isTrue(screen); + // }); + + const getItems = async () => { return driver.isAndroid ? await driver.findElementsByText("(Android)") : await driver.findElementsByText("(ios)"); } +}); diff --git a/demo/AngularApp/e2e/setup.ts b/demo/AngularApp/e2e/setup.ts new file mode 100644 index 00000000..8b26e66e --- /dev/null +++ b/demo/AngularApp/e2e/setup.ts @@ -0,0 +1,9 @@ +import { startServer, stopServer } from "nativescript-dev-appium"; + +before("start server", async () => { + await startServer(); +}); + +after("stop server", async () => { + await stopServer(); +}); diff --git a/demo/AngularApp/e2e/tsconfig.json b/demo/AngularApp/e2e/tsconfig.json new file mode 100644 index 00000000..6517ca58 --- /dev/null +++ b/demo/AngularApp/e2e/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "importHelpers": false, + "sourceMap": true, + "types": [ + "node", + "mocha", + "chai" + ], + "lib": [ + "es2015", + "dom" + ] + } +} \ No newline at end of file diff --git a/demo/AngularApp/package.json b/demo/AngularApp/package.json new file mode 100644 index 00000000..b4d6cadc --- /dev/null +++ b/demo/AngularApp/package.json @@ -0,0 +1,74 @@ +{ + "description": "NativeScript Application", + "license": "SEE LICENSE IN ", + "readme": "NativeScript Application", + "repository": "", + "nativescript": { + "id": "org.nativescript.AngularApp", + "tns-android": { + "version": "3.4.0-2017-11-8-1" + }, + "tns-ios": { + "version": "3.4.0-2017-11-21-2" + } + }, + "dependencies": { + "@angular/common": "~5.0.0", + "@angular/compiler": "~5.0.0", + "@angular/core": "~5.0.0", + "@angular/forms": "~5.0.0", + "@angular/http": "~5.0.0", + "@angular/platform-browser": "~5.0.0", + "@angular/platform-browser-dynamic": "~5.0.0", + "@angular/router": "~5.0.0", + "nativescript-angular": "next", + "nativescript-theme-core": "~1.0.2", + "reflect-metadata": "~0.1.8", + "rxjs": "^5.5.0", + "tns-core-modules": "next", + "zone.js": "^0.8.4" + }, + "devDependencies": { + "@angular/compiler-cli": "~5.0.0", + "@ngtools/webpack": "^1.8.0", + "@types/chai": "^4.0.2", + "@types/mocha": "^2.2.41", + "@types/node": "^7.0.5", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "chai": "~4.1.1", + "chai-as-promised": "~7.1.1", + "copy-webpack-plugin": "~4.0.1", + "css-loader": "~0.28.7", + "extract-text-webpack-plugin": "~3.0.0", + "lazy": "1.0.11", + "mocha": "~3.5.0", + "mocha-junit-reporter": "^1.13.0", + "mocha-multi": "^0.11.0", + "nativescript-dev-appium": "next", + "nativescript-dev-sass": "^1.3.5", + "nativescript-dev-typescript": "~0.5.0", + "nativescript-dev-webpack": "file:../..", + "nativescript-worker-loader": "~0.8.1", + "node-sass": "^4.7.1", + "raw-loader": "~0.5.1", + "resolve-url-loader": "~2.1.0", + "sass-loader": "^6.0.6", + "typescript": "~2.4.2", + "webpack": "~3.8.1", + "webpack-bundle-analyzer": "^2.8.2", + "webpack-sources": "^1.0.2" + }, + "scripts": { + "ns-bundle": "ns-bundle", + "start-android-bundle": "npm run ns-bundle --android --run-app", + "start-ios-bundle": "npm run ns-bundle --ios --run-app", + "build-android-bundle": "npm run ns-bundle --android --build-app", + "build-ios-bundle": "npm run ns-bundle --ios --build-app", + "publish-ios-bundle": "npm run ns-bundle --ios --publish-app", + "generate-android-snapshot": "generate-android-snapshot --targetArchs arm,arm64,ia32 --install", + "e2e": "tsc -p e2e && mocha --opts ./e2e/config/mocha.opts", + "compile-tests": "tsc -p e2e --watch" + } +} diff --git a/demo/AngularApp/tsconfig.json b/demo/AngularApp/tsconfig.json new file mode 100644 index 00000000..daaafd10 --- /dev/null +++ b/demo/AngularApp/tsconfig.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "noEmitHelpers": true, + "noEmitOnError": true, + "lib": [ + "es6", + "dom", + "es2015.iterable" + ], + "baseUrl": ".", + "paths": { + "~/*": [ + "app/*" + ], + "*": [ + "./node_modules/tns-core-modules/*", + "./node_modules/*" + ] + } + }, + "exclude": [ + "e2e", + "node_modules", + "platforms" + ] +} \ No newline at end of file diff --git a/demo/JavaScriptApp/.gitignore b/demo/JavaScriptApp/.gitignore new file mode 100644 index 00000000..e4b64c6a --- /dev/null +++ b/demo/JavaScriptApp/.gitignore @@ -0,0 +1,2 @@ +app/main-page.android.css +app/main-page.ios.css \ No newline at end of file diff --git a/demo/JavaScriptApp/app/App_Resources/Android/AndroidManifest.xml b/demo/JavaScriptApp/app/App_Resources/Android/AndroidManifest.xml new file mode 100644 index 00000000..9db83215 --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/Android/AndroidManifest.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/JavaScriptApp/app/App_Resources/Android/app.gradle b/demo/JavaScriptApp/app/App_Resources/Android/app.gradle new file mode 100644 index 00000000..493f4a45 --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/Android/app.gradle @@ -0,0 +1,23 @@ +// Add your native dependencies here: + +// Uncomment to add recyclerview-v7 dependency +//dependencies { +// compile 'com.android.support:recyclerview-v7:+' +//} + +android { + defaultConfig { + generatedDensities = [] + applicationId = "org.nativescript.JavaScriptApp" + + //override supported platforms + // ndk { + // abiFilters.clear() + // abiFilters "armeabi-v7a" + // } + + } + aaptOptions { + additionalParameters "--no-version-vectors" + } +} diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-hdpi/background.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-hdpi/background.png new file mode 100644 index 00000000..eb381c25 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-hdpi/background.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-hdpi/icon.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-hdpi/icon.png new file mode 100755 index 00000000..9cde84cd Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-hdpi/icon.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-hdpi/logo.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-hdpi/logo.png new file mode 100644 index 00000000..5218f4c9 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-hdpi/logo.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-ldpi/background.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-ldpi/background.png new file mode 100644 index 00000000..748b2adf Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-ldpi/background.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-ldpi/icon.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-ldpi/icon.png new file mode 100755 index 00000000..4d6a674b Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-ldpi/icon.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-ldpi/logo.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-ldpi/logo.png new file mode 100644 index 00000000..b9e102a7 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-ldpi/logo.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-mdpi/background.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-mdpi/background.png new file mode 100644 index 00000000..efeaf290 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-mdpi/background.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-mdpi/icon.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-mdpi/icon.png new file mode 100755 index 00000000..92ccc85a Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-mdpi/icon.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-mdpi/logo.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-mdpi/logo.png new file mode 100644 index 00000000..62633876 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-mdpi/logo.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-nodpi/splash_screen.xml b/demo/JavaScriptApp/app/App_Resources/Android/drawable-nodpi/splash_screen.xml new file mode 100644 index 00000000..ada77f92 --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/Android/drawable-nodpi/splash_screen.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-xhdpi/background.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xhdpi/background.png new file mode 100644 index 00000000..612bbd07 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xhdpi/background.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-xhdpi/icon.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xhdpi/icon.png new file mode 100644 index 00000000..8bcde627 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xhdpi/icon.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-xhdpi/logo.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xhdpi/logo.png new file mode 100644 index 00000000..ad8ee2f4 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xhdpi/logo.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxhdpi/background.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxhdpi/background.png new file mode 100644 index 00000000..0fa88e23 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxhdpi/background.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxhdpi/icon.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxhdpi/icon.png new file mode 100644 index 00000000..9d81c85d Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxhdpi/icon.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxhdpi/logo.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxhdpi/logo.png new file mode 100644 index 00000000..66832783 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxhdpi/logo.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxxhdpi/background.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxxhdpi/background.png new file mode 100644 index 00000000..c650f643 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxxhdpi/background.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxxhdpi/icon.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxxhdpi/icon.png new file mode 100644 index 00000000..9a34d0d4 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxxhdpi/icon.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxxhdpi/logo.png b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxxhdpi/logo.png new file mode 100644 index 00000000..fa6331c8 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/Android/drawable-xxxhdpi/logo.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/Android/values-v21/colors.xml b/demo/JavaScriptApp/app/App_Resources/Android/values-v21/colors.xml new file mode 100644 index 00000000..a64641a9 --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/Android/values-v21/colors.xml @@ -0,0 +1,4 @@ + + + #3d5afe + \ No newline at end of file diff --git a/demo/JavaScriptApp/app/App_Resources/Android/values-v21/styles.xml b/demo/JavaScriptApp/app/App_Resources/Android/values-v21/styles.xml new file mode 100644 index 00000000..dac8727c --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/Android/values-v21/styles.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/demo/JavaScriptApp/app/App_Resources/Android/values/colors.xml b/demo/JavaScriptApp/app/App_Resources/Android/values/colors.xml new file mode 100644 index 00000000..74ad8829 --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/Android/values/colors.xml @@ -0,0 +1,7 @@ + + + #F5F5F5 + #757575 + #33B5E5 + #272734 + \ No newline at end of file diff --git a/demo/JavaScriptApp/app/App_Resources/Android/values/styles.xml b/demo/JavaScriptApp/app/App_Resources/Android/values/styles.xml new file mode 100644 index 00000000..c793e6d4 --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/Android/values/styles.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..4034b76e --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "icon-29.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "icon-29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "icon-29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "icon-40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "icon-40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "icon-60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "icon-60@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "icon-29.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "icon-29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "icon-40.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "icon-40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "icon-76.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "icon-76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "icon-83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "icon-1024.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png new file mode 100644 index 00000000..a1d7eb47 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png new file mode 100644 index 00000000..bb9b9e86 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png new file mode 100644 index 00000000..ec609dcf Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png new file mode 100644 index 00000000..a9718080 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png new file mode 100644 index 00000000..214800ee Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png new file mode 100644 index 00000000..8554b88a Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png new file mode 100644 index 00000000..a22626ba Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png new file mode 100644 index 00000000..a22626ba Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png new file mode 100644 index 00000000..492c9c8e Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png new file mode 100644 index 00000000..9208113c Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png new file mode 100644 index 00000000..24415e5a Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png new file mode 100644 index 00000000..b3ef1bf0 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/Contents.json b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/Contents.json new file mode 100644 index 00000000..da4a164c --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 00000000..4414bad0 --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,158 @@ +{ + "images" : [ + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "736h", + "filename" : "Default-736h@3x.png", + "minimum-system-version" : "8.0", + "orientation" : "portrait", + "scale" : "3x" + }, + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "736h", + "filename" : "Default-Landscape@3x.png", + "minimum-system-version" : "8.0", + "orientation" : "landscape", + "scale" : "3x" + }, + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "667h", + "filename" : "Default-667h@2x.png", + "minimum-system-version" : "8.0", + "orientation" : "portrait", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "filename" : "Default@2x.png", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "extent" : "full-screen", + "idiom" : "iphone", + "subtype" : "retina4", + "filename" : "Default-568h@2x.png", + "minimum-system-version" : "7.0", + "orientation" : "portrait", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "filename" : "Default-Portrait.png", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "1x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "filename" : "Default-Landscape.png", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "filename" : "Default-Portrait@2x.png", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "filename" : "Default-Landscape@2x.png", + "extent" : "full-screen", + "minimum-system-version" : "7.0", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "filename" : "Default.png", + "extent" : "full-screen", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "filename" : "Default@2x.png", + "extent" : "full-screen", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "iphone", + "filename" : "Default-568h@2x.png", + "extent" : "full-screen", + "subtype" : "retina4", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "filename" : "Default-Portrait.png", + "extent" : "full-screen", + "scale" : "1x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "1x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "filename" : "Default-Landscape.png", + "extent" : "full-screen", + "scale" : "1x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "2x" + }, + { + "orientation" : "portrait", + "idiom" : "ipad", + "filename" : "Default-Portrait@2x.png", + "extent" : "full-screen", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "extent" : "to-status-bar", + "scale" : "2x" + }, + { + "orientation" : "landscape", + "idiom" : "ipad", + "filename" : "Default-Landscape@2x.png", + "extent" : "full-screen", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png new file mode 100644 index 00000000..d7f17fcd Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png new file mode 100644 index 00000000..b8841540 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png new file mode 100644 index 00000000..faab4b63 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png new file mode 100644 index 00000000..3365ba3c Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png new file mode 100644 index 00000000..a44945c1 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png new file mode 100644 index 00000000..e6dca626 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png new file mode 100644 index 00000000..1a500796 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png new file mode 100644 index 00000000..73d8b920 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png new file mode 100644 index 00000000..9f1f6ce3 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png new file mode 100644 index 00000000..514fc5cd Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json new file mode 100644 index 00000000..4f4e9c50 --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchScreen-AspectFill.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchScreen-AspectFill@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png new file mode 100644 index 00000000..c293f9c7 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png new file mode 100644 index 00000000..233693a6 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json new file mode 100644 index 00000000..23c0ffd7 --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchScreen-Center.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchScreen-Center@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png new file mode 100644 index 00000000..a5a775a2 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png new file mode 100644 index 00000000..154c1934 Binary files /dev/null and b/demo/JavaScriptApp/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png differ diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/Info.plist b/demo/JavaScriptApp/app/App_Resources/iOS/Info.plist new file mode 100644 index 00000000..ea3e3ea2 --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/iOS/Info.plist @@ -0,0 +1,47 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIRequiresFullScreen + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/LaunchScreen.storyboard b/demo/JavaScriptApp/app/App_Resources/iOS/LaunchScreen.storyboard new file mode 100644 index 00000000..2ad9471e --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/iOS/LaunchScreen.storyboard @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/JavaScriptApp/app/App_Resources/iOS/build.xcconfig b/demo/JavaScriptApp/app/App_Resources/iOS/build.xcconfig new file mode 100644 index 00000000..4b011849 --- /dev/null +++ b/demo/JavaScriptApp/app/App_Resources/iOS/build.xcconfig @@ -0,0 +1,7 @@ +// You can add custom settings here +// for example you can uncomment the following line to force distribution code signing +// CODE_SIGN_IDENTITY = iPhone Distribution +// To build for device with Xcode 8 you need to specify your development team. More info: https://developer.apple.com/library/prerelease/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html +// DEVELOPMENT_TEAM = YOUR_TEAM_ID; +ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; +ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; diff --git a/demo/JavaScriptApp/app/app.android.css b/demo/JavaScriptApp/app/app.android.css new file mode 100644 index 00000000..fd5d1243 --- /dev/null +++ b/demo/JavaScriptApp/app/app.android.css @@ -0,0 +1,20 @@ +/* +In NativeScript, the app.css file is where you place CSS rules that +you would like to apply to your entire application. Check out +http://docs.nativescript.org/ui/styling for a full list of the CSS +selectors and properties you can use to style UI components. + +/* +In many cases you may want to use the NativeScript core theme instead +of writing your own CSS rules. For a full list of class names in the theme +refer to http://docs.nativescript.org/ui/theme. +*/ +@import '~nativescript-theme-core/css/core.light.css'; + +ActionBar { + background-color: #7F9; +} + +.app-class { + background-color: #7F9; +} \ No newline at end of file diff --git a/demo/JavaScriptApp/app/app.ios.css b/demo/JavaScriptApp/app/app.ios.css new file mode 100644 index 00000000..ea07d338 --- /dev/null +++ b/demo/JavaScriptApp/app/app.ios.css @@ -0,0 +1,20 @@ +/* +In NativeScript, the app.css file is where you place CSS rules that +you would like to apply to your entire application. Check out +http://docs.nativescript.org/ui/styling for a full list of the CSS +selectors and properties you can use to style UI components. + +/* +In many cases you may want to use the NativeScript core theme instead +of writing your own CSS rules. For a full list of class names in the theme +refer to http://docs.nativescript.org/ui/theme. +*/ +@import '~nativescript-theme-core/css/core.light.css'; + +ActionBar { + background-color: #999; +} + +.app-class { + background-color: #999; +} \ No newline at end of file diff --git a/demo/JavaScriptApp/app/app.js b/demo/JavaScriptApp/app/app.js new file mode 100644 index 00000000..0f9c0327 --- /dev/null +++ b/demo/JavaScriptApp/app/app.js @@ -0,0 +1,15 @@ +/* +In NativeScript, the app.js file is the entry point to your application. +You can use this file to perform app-level initialization, but the primary +purpose of the file is to pass control to the app’s first module. +*/ + +require("./bundle-config"); +var application = require("application"); + +application.start({ moduleName: "main-page" }); + +/* +Do not place any code after the application has been started as it will not +be executed on iOS. +*/ diff --git a/demo/JavaScriptApp/app/bundle-config.js b/demo/JavaScriptApp/app/bundle-config.js new file mode 100644 index 00000000..18b6c2eb --- /dev/null +++ b/demo/JavaScriptApp/app/bundle-config.js @@ -0,0 +1,9 @@ +if (global.TNS_WEBPACK) { + // registers tns-core-modules UI framework modules + require("bundle-entry-points"); + + // register application modules + // This will register each xml, css, js, ts, scss etc. in the app/ folder + const context = require.context("~/", true, /page\.(xml|css|js|ts|scss)$/); + global.registerWebpackModules(context); +} diff --git a/demo/JavaScriptApp/app/main-page.android.js b/demo/JavaScriptApp/app/main-page.android.js new file mode 100644 index 00000000..31b03cd3 --- /dev/null +++ b/demo/JavaScriptApp/app/main-page.android.js @@ -0,0 +1,39 @@ +var frameModule = require("ui/frame"); +var createViewModel = require("./main-view-model").createViewModel; + +function onNavigatingTo(args) { + /* + This gets a reference this page’s UI component. You can + view the API reference of the Page to see what’s available at + https://docs.nativescript.org/api-reference/classes/_ui_page_.page.html + */ + var page = args.object; + + /* + A page’s bindingContext is an object that should be used to perform + data binding between XML markup and JavaScript code. Properties + on the bindingContext can be accessed using the {{ }} syntax in XML. + In this example, the {{ message }} and {{ onTap }} bindings are resolved + against the object returned by createViewModel(). + + You can learn more about data binding in NativeScript at + https://docs.nativescript.org/core-concepts/data-binding. + */ + page.bindingContext = createViewModel(); + + page.getViewById("platform").text = "android"; +} + +/* +Exporting a function in a NativeScript code-behind file makes it accessible +to the file’s corresponding XML file. In this case, exporting the onNavigatingTo +function here makes the navigatingTo="onNavigatingTo" binding in this page’s XML +file work. +*/ +exports.onNavigatingTo = onNavigatingTo; + +function goToSecondPage(args) { + var topmost = frameModule.topmost(); + topmost.navigate("views/second-page"); +} +exports.goToSecondPage = goToSecondPage; diff --git a/demo/JavaScriptApp/app/main-page.android.scss b/demo/JavaScriptApp/app/main-page.android.scss new file mode 100644 index 00000000..3eec5220 --- /dev/null +++ b/demo/JavaScriptApp/app/main-page.android.scss @@ -0,0 +1,9 @@ +StackLayout { + Button { + background-color: #7F9; + } +} + +.page-class { + background-color: #7F9; +} \ No newline at end of file diff --git a/demo/JavaScriptApp/app/main-page.android.xml b/demo/JavaScriptApp/app/main-page.android.xml new file mode 100644 index 00000000..35578b2c --- /dev/null +++ b/demo/JavaScriptApp/app/main-page.android.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + +