Merge branch 'master' into mdonev/release-to-master20190621
2
.gitignore
vendored
@ -48,6 +48,8 @@ tscommand*.tmp.txt
|
||||
|
||||
# Other
|
||||
*.js
|
||||
# https://github.com/NativeScript/nativescript-dev-webpack/issues/932
|
||||
!tns-core-modules/xml/xml.js
|
||||
!tests/hooks/**/*.*
|
||||
!gruntfile.js
|
||||
!js-libs/**/*.*
|
||||
|
24
.travis.yml
@ -3,20 +3,28 @@ env:
|
||||
- DATE=$(date +%Y-%m-%d)
|
||||
- PACKAGE_VERSION=$DATE-$TRAVIS_BUILD_NUMBER
|
||||
language: objective-c
|
||||
osx_image: xcode9.3
|
||||
osx_image: xcode10.2
|
||||
jdk:
|
||||
- oraclejdk8
|
||||
- openjdk8
|
||||
script:
|
||||
- export JAVA_HOME=$HOME/openjdk8
|
||||
- $TRAVIS_BUILD_DIR/install-jdk.sh --install openjdk8 --target $JAVA_HOME
|
||||
- # do stuff with open OpenJDK 11
|
||||
- jdk_switcher use openjdk8
|
||||
install:
|
||||
- brew update
|
||||
- brew cask install android-sdk
|
||||
# - brew update
|
||||
# - brew cask install android-sdk
|
||||
# Suppress output of sdkmanager to keep log under the 4MB limit of travis-ci
|
||||
- yes | sdkmanager "platforms;android-28" >/dev/null
|
||||
- yes | sdkmanager "build-tools;28.0.3" >/dev/null
|
||||
- yes | sdkmanager "extras;android;m2repository" >/dev/null
|
||||
# - yes | sdkmanager "platforms;android-28" >/dev/null
|
||||
# - yes | sdkmanager "build-tools;28.0.3" >/dev/null
|
||||
# - yes | sdkmanager "extras;android;m2repository" >/dev/null
|
||||
before_script:
|
||||
- export ANDROID_HOME=/usr/local/share/android-sdk
|
||||
# - export ANDROID_HOME=/usr/local/share/android-sdk
|
||||
- npm install -g grunt-cli
|
||||
- npm install
|
||||
script:
|
||||
- npm run setup-widgets
|
||||
# - npm run setup-widgets
|
||||
- npm run setup
|
||||
- npm run tsc
|
||||
- npm run tslint
|
52
.vscode/launch.json
vendored
@ -1,4 +1,7 @@
|
||||
{
|
||||
// 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": [
|
||||
{
|
||||
@ -6,7 +9,12 @@
|
||||
"request": "launch",
|
||||
"name": "Unit Tests",
|
||||
"program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
|
||||
"args": [ "--timeout", "999999", "--opts", "unit-tests/mocha.opts" ],
|
||||
"args": [
|
||||
"--timeout",
|
||||
"999999",
|
||||
"--opts",
|
||||
"unit-tests/mocha.opts"
|
||||
],
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"preLaunchTask": "tsc-unit-tests"
|
||||
},
|
||||
@ -19,6 +27,20 @@
|
||||
"sourceMaps": true,
|
||||
"watch": true
|
||||
},
|
||||
// {
|
||||
// "name": "Test on iOS",
|
||||
// "type": "nativescript",
|
||||
// "request": "launch",
|
||||
// "platform": "ios",
|
||||
// "appRoot": "${workspaceRoot}",
|
||||
// "sourceMaps": true,
|
||||
// "watch": false,
|
||||
// "stopOnEntry": true,
|
||||
// "launchTests": true,
|
||||
// "tnsArgs": [
|
||||
// "--justlaunch"
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
"name": "Attach on iOS",
|
||||
"type": "nativescript",
|
||||
@ -37,6 +59,32 @@
|
||||
"sourceMaps": true,
|
||||
"watch": true
|
||||
},
|
||||
{
|
||||
"name": "Debug tests on Android",
|
||||
"type": "nativescript",
|
||||
"request": "launch",
|
||||
"platform": "android",
|
||||
"appRoot": "${workspaceRoot}/tests",
|
||||
"sourceMaps": true,
|
||||
"watch": true,
|
||||
// "tnsArgs": [
|
||||
// "--debug-brk"
|
||||
// ]
|
||||
},
|
||||
// {
|
||||
// "name": "Test on Android",
|
||||
// "type": "nativescript",
|
||||
// "request": "launch",
|
||||
// "platform": "android",
|
||||
// "appRoot": "${workspaceRoot}",
|
||||
// "sourceMaps": true,
|
||||
// "watch": false,
|
||||
// "stopOnEntry": true,
|
||||
// "launchTests": true,
|
||||
// "tnsArgs": [
|
||||
// "--justlaunch"
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
"name": "Attach on Android",
|
||||
"type": "nativescript",
|
||||
@ -47,4 +95,4 @@
|
||||
"watch": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -427,8 +427,8 @@ Use the [JSDoc][JSDOC] convention for comments. When writing a comment always th
|
||||
+ When you are creating a new class
|
||||
+ Public methods - include all the arguments and if possible the types {String}, {Number}. Optional arguments should be marked too. Check the [@param tag][param]
|
||||
|
||||
[JSDOC]: http://usejsdoc.org/
|
||||
[param]: http://usejsdoc.org/tags-param.html
|
||||
[JSDOC]: https://devdocs.io/jsdoc/
|
||||
[param]: https://devdocs.io/jsdoc/tags-param
|
||||
|
||||
## File/module structure
|
||||
|
||||
@ -439,7 +439,9 @@ A typical module should have the following structure:
|
||||
3. export variables and functions
|
||||
4. export class declarations
|
||||
|
||||
<!--
|
||||
For more information see [this file](https://github.com/telerik/xPlatCore/blob/master/JS/BCL/CreateNewModule.md)
|
||||
-->
|
||||
|
||||
## File naming
|
||||
Use lower case for file names. Use a dash to separate different words.
|
||||
|
@ -42,12 +42,7 @@ Install devDependencies:
|
||||
npm install
|
||||
```
|
||||
|
||||
Run `setup` script. This will [`npm link`](https://docs.npmjs.com/cli/link) the `tns-core-modules` and `tns-core-modules-declarations` dependencies inside the `tests` and `apps` projects.
|
||||
|
||||
```bash
|
||||
npm run setup
|
||||
```
|
||||
|
||||
<!---
|
||||
## TypeScript
|
||||
|
||||
The following commands are commonly used to compile the `tns-core-modules`:
|
||||
@ -62,30 +57,26 @@ tsc --skipLibCheck
|
||||
tsc --skipLibCheck -w
|
||||
```
|
||||
|
||||
NOTE: transpile `tns-core-modules` only.
|
||||
|
||||
The modules have `typescript` as a devDependency so you should also be able to use the locally installed TypeScript compiler from node_modules:
|
||||
|
||||
```bash
|
||||
./node_modules/.bin/tsc
|
||||
```
|
||||
|
||||
You can compile the TypeScript files in the `tns-core-modules`, `tns-platform-declarations`, `apps` and `tests` at once at the root of the repo:
|
||||
You can compile the TypeScript files in the `tns-core-modules` and `tns-platform-declarations` at once at the root of the repo:
|
||||
|
||||
```bash
|
||||
npm run tsc
|
||||
```
|
||||
--->
|
||||
|
||||
## Running Unit Tests
|
||||
|
||||
The test app is an ordinary NativeScript app that logs the test results as it go.
|
||||
After the [initial setup](#initial-setup) you can run the tests with:
|
||||
|
||||
```bash
|
||||
# Make sure TypeScript is transpiled
|
||||
tsc
|
||||
|
||||
# Run the tests app
|
||||
tns run ios --path tests
|
||||
tns run android --path tests
|
||||
```
|
||||
cd ./tests
|
||||
tns run android| ios
|
||||
```
|
||||
|
||||
## Running the Test App
|
||||
|
@ -59,7 +59,7 @@ A test will fail if assert is not satisfied or if an error is thrown during exec
|
||||
There is a large set of asserting functions available in the [`tests/app/TKUnit.ts`](tests/app/TKUnit.ts) module. We recommend using those in your tests.
|
||||
|
||||
```typescript
|
||||
import * as TKUnit from "../TKUnit";
|
||||
import * as TKUnit from "../tk-unit";
|
||||
|
||||
export function testSomethingWorksFast() {
|
||||
let arr = [1, 2, 3];
|
||||
|
@ -2,15 +2,19 @@
|
||||
|
||||
// Uncomment to add recyclerview-v7 dependency
|
||||
//dependencies {
|
||||
// compile 'com.android.support:recyclerview-v7:+'
|
||||
// implementation 'com.android.support:recyclerview-v7:+'
|
||||
//}
|
||||
|
||||
android {
|
||||
defaultConfig {
|
||||
// If you want to add something to be applied before applying plugins' include.gradle files
|
||||
// e.g. project.ext.googlePlayServicesVersion = "15.0.1"
|
||||
// create a file named before-plugins.gradle in the current directory and place it there
|
||||
|
||||
android {
|
||||
defaultConfig {
|
||||
minSdkVersion 17
|
||||
generatedDensities = []
|
||||
applicationId = "org.nativescript.apps"
|
||||
}
|
||||
aaptOptions {
|
||||
additionalParameters "--no-version-vectors"
|
||||
}
|
||||
}
|
||||
}
|
||||
aaptOptions {
|
||||
additionalParameters "--no-version-vectors"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 7.4 KiB |
@ -10,42 +10,27 @@
|
||||
android:largeScreens="true"
|
||||
android:xlargeScreens="true"/>
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="17"
|
||||
android:targetSdkVersion="__APILEVEL__"/>
|
||||
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
|
||||
<application
|
||||
android:name="com.tns.NativeScriptApplication"
|
||||
android:allowBackup="true"
|
||||
android:icon="@drawable/icon"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/AppTheme"
|
||||
android:usesCleartextTraffic="true" >
|
||||
<meta-data android:name="debugLayouts" android:value="true" />
|
||||
|
||||
<provider
|
||||
android:name="android.support.v4.content.FileProvider"
|
||||
android:authorities="org.nativescript.apps.provider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/provider_paths"/>
|
||||
</provider>
|
||||
android:theme="@style/AppTheme">
|
||||
|
||||
<activity
|
||||
android:name="com.tns.NativeScriptActivity"
|
||||
android:label="@string/title_activity_kimera"
|
||||
android:configChanges="keyboardHidden|orientation|screenSize">
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout|locale|uiMode"
|
||||
android:theme="@style/LaunchScreenTheme">
|
||||
|
||||
<intent-filter>
|
||||
<meta-data android:name="SET_THEME_ON_LAUNCH" android:resource="@style/AppTheme" />
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 669 B After Width: | Height: | Size: 669 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@ -0,0 +1,8 @@
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="fill">
|
||||
<item>
|
||||
<bitmap android:gravity="fill" android:src="@drawable/background" />
|
||||
</item>
|
||||
<item>
|
||||
<bitmap android:gravity="center" android:src="@drawable/logo" />
|
||||
</item>
|
||||
</layer-list>
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 193 KiB |
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ns_accent">#3d5afe</color>
|
||||
</resources>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- Application theme -->
|
||||
<style name="AppTheme" parent="AppThemeBase">
|
||||
<item name="android:datePickerStyle">@style/SpinnerDatePicker</item>
|
||||
<item name="android:timePickerStyle">@style/SpinnerTimePicker</item>
|
||||
</style>
|
||||
|
||||
<!-- Default style for DatePicker - in spinner mode -->
|
||||
<style name="SpinnerDatePicker" parent="android:Widget.Material.Light.DatePicker">
|
||||
<item name="android:datePickerMode">spinner</item>
|
||||
</style>
|
||||
|
||||
<!-- Default style for TimePicker - in spinner mode -->
|
||||
<style name="SpinnerTimePicker" parent="android:Widget.Material.Light.TimePicker">
|
||||
<item name="android:timePickerMode">spinner</item>
|
||||
</style>
|
||||
|
||||
<style name="NativeScriptToolbarStyle" parent="NativeScriptToolbarStyleBase">
|
||||
<item name="android:elevation">4dp</item>
|
||||
</style>
|
||||
</resources>
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ns_primary">#F5F5F5</color>
|
||||
<color name="ns_primaryDark">#757575</color>
|
||||
<color name="ns_accent">#33B5E5</color>
|
||||
<color name="ns_blue">#272734</color>
|
||||
</resources>
|
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<!-- theme to use FOR launch screen-->
|
||||
<style name="LaunchScreenThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
|
||||
<item name="toolbarStyle">@style/NativeScriptToolbarStyle</item>
|
||||
|
||||
<item name="colorPrimary">@color/ns_primary</item>
|
||||
<item name="colorPrimaryDark">@color/ns_primaryDark</item>
|
||||
<item name="colorAccent">@color/ns_accent</item>
|
||||
|
||||
<item name="android:windowBackground">@drawable/splash_screen</item>
|
||||
|
||||
<item name="android:windowActionBarOverlay">true</item>
|
||||
<item name="android:windowTranslucentStatus">true</item>
|
||||
|
||||
</style>
|
||||
|
||||
<style name="LaunchScreenTheme" parent="LaunchScreenThemeBase">
|
||||
</style>
|
||||
|
||||
<!-- theme to use AFTER launch screen is loaded-->
|
||||
<style name="AppThemeBase" parent="Theme.AppCompat.Light.NoActionBar">
|
||||
<item name="toolbarStyle">@style/NativeScriptToolbarStyle</item>
|
||||
|
||||
<item name="colorPrimary">@color/ns_primary</item>
|
||||
<item name="colorPrimaryDark">@color/ns_primaryDark</item>
|
||||
<item name="colorAccent">@color/ns_accent</item>
|
||||
|
||||
</style>
|
||||
|
||||
<style name="AppTheme" parent="AppThemeBase">
|
||||
</style>
|
||||
|
||||
<!-- theme for action-bar -->
|
||||
<style name="NativeScriptToolbarStyleBase" parent="Widget.AppCompat.Toolbar">
|
||||
<item name="android:background">@color/ns_primary</item>
|
||||
<item name="theme">@style/ThemeOverlay.AppCompat.ActionBar</item>
|
||||
<item name="popupTheme">@style/ThemeOverlay.AppCompat</item>
|
||||
|
||||
</style>
|
||||
|
||||
<style name="NativeScriptToolbarStyle" parent="NativeScriptToolbarStyleBase">
|
||||
</style>
|
||||
</resources>
|
@ -1,5 +1,17 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-20@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-20@3x.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "iphone",
|
||||
@ -30,18 +42,6 @@
|
||||
"filename" : "icon-40@3x.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "57x57",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-57.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "57x57",
|
||||
"idiom" : "iphone",
|
||||
"filename" : "icon-57@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "60x60",
|
||||
"idiom" : "iphone",
|
||||
@ -54,6 +54,18 @@
|
||||
"filename" : "icon-60@3x.png",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-20.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "20x20",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-20@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "29x29",
|
||||
"idiom" : "ipad",
|
||||
@ -78,30 +90,6 @@
|
||||
"filename" : "icon-40@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "50x50",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-50.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "50x50",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-50@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "72x72",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-72.png",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"size" : "72x72",
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-72@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "76x76",
|
||||
"idiom" : "ipad",
|
||||
@ -119,6 +107,12 @@
|
||||
"idiom" : "ipad",
|
||||
"filename" : "icon-83.5@2x.png",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"size" : "1024x1024",
|
||||
"idiom" : "ios-marketing",
|
||||
"filename" : "icon-1024.png",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
|
After Width: | Height: | Size: 99 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 28 KiB |
@ -1,5 +1,41 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"extent" : "full-screen",
|
||||
"idiom" : "iphone",
|
||||
"subtype" : "2688h",
|
||||
"filename" : "Default-Portrait-XS-Max.png",
|
||||
"minimum-system-version" : "12.0",
|
||||
"orientation" : "portrait",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"extent" : "full-screen",
|
||||
"idiom" : "iphone",
|
||||
"subtype" : "2688h",
|
||||
"filename" : "Default-Landscape-XS-Max.png",
|
||||
"minimum-system-version" : "12.0",
|
||||
"orientation" : "landscape",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"extent" : "full-screen",
|
||||
"idiom" : "iphone",
|
||||
"subtype" : "1792h",
|
||||
"filename" : "Default-Portrait-XR.png",
|
||||
"minimum-system-version" : "12.0",
|
||||
"orientation" : "portrait",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"extent" : "full-screen",
|
||||
"idiom" : "iphone",
|
||||
"subtype" : "1792h",
|
||||
"filename" : "Default-Landscape-XR.png",
|
||||
"minimum-system-version" : "12.0",
|
||||
"orientation" : "landscape",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"extent" : "full-screen",
|
||||
"idiom" : "iphone",
|
||||
@ -10,12 +46,12 @@
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"idiom" : "iphone",
|
||||
"subtype" : "2436h",
|
||||
"filename" : "Default-Landscape-X.png",
|
||||
"minimum-system-version" : "11.0",
|
||||
"subtype" : "2436h",
|
||||
"orientation" : "landscape",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
|
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 73 KiB |
@ -12,6 +12,7 @@
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "LaunchScreen-AspectFill@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
|
After Width: | Height: | Size: 34 KiB |
@ -12,6 +12,7 @@
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "LaunchScreen-Center@3x.png",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
|
BIN
apps/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png
vendored
Normal file
After Width: | Height: | Size: 92 KiB |
@ -43,10 +43,5 @@
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -1,8 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10116" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||
<device id="retina5_9" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
@ -14,36 +18,36 @@
|
||||
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
|
||||
</layoutGuides>
|
||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LaunchScreen.AspectFill" translatesAutoresizingMaskIntoConstraints="NO" id="wtH-rr-YfP">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
|
||||
</imageView>
|
||||
<imageView userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LaunchScreen.Center" translatesAutoresizingMaskIntoConstraints="NO" id="s1z-aa-wYv">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
<rect key="frame" x="0.0" y="150" width="375" height="512"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="xb3-aO-Qok" firstAttribute="top" secondItem="wtH-rr-YfP" secondAttribute="bottom" id="5FO-pR-qKb"/>
|
||||
<constraint firstAttribute="trailing" secondItem="s1z-aa-wYv" secondAttribute="trailing" id="4Rf-kf-vql"/>
|
||||
<constraint firstAttribute="bottom" secondItem="wtH-rr-YfP" secondAttribute="bottom" id="5CS-At-4ka"/>
|
||||
<constraint firstItem="wtH-rr-YfP" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="Awn-b8-xf1"/>
|
||||
<constraint firstItem="s1z-aa-wYv" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="CiP-yX-1sg"/>
|
||||
<constraint firstItem="s1z-aa-wYv" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="BpJ-vb-eKA"/>
|
||||
<constraint firstItem="s1z-aa-wYv" firstAttribute="trailing" secondItem="wtH-rr-YfP" secondAttribute="trailing" id="QIM-7J-OZz"/>
|
||||
<constraint firstAttribute="trailing" secondItem="wtH-rr-YfP" secondAttribute="trailing" id="RXg-rW-UK8"/>
|
||||
<constraint firstItem="s1z-aa-wYv" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="agC-wa-3bd"/>
|
||||
<constraint firstItem="s1z-aa-wYv" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="Rcp-LG-48z"/>
|
||||
<constraint firstItem="wtH-rr-YfP" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="cch-8E-tYu"/>
|
||||
<constraint firstItem="xb3-aO-Qok" firstAttribute="top" secondItem="s1z-aa-wYv" secondAttribute="bottom" id="fNc-Ro-KaG"/>
|
||||
<constraint firstAttribute="trailing" secondItem="s1z-aa-wYv" secondAttribute="trailing" id="qoI-OC-Zk7"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="510" y="238"/>
|
||||
<point key="canvasLocation" x="509.60000000000002" y="237.93103448275863"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="LaunchScreen.AspectFill" width="768" height="1024"/>
|
||||
<image name="LaunchScreen.Center" width="40" height="40"/>
|
||||
<image name="LaunchScreen.Center" width="384" height="512"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
@ -1,5 +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;
|
||||
|
1
apps/app/app.css
Normal file
@ -0,0 +1 @@
|
||||
/* Just here to avoid startup warnings */
|
1
apps/app/cuteness.io/app-root.xml
Normal file
@ -0,0 +1 @@
|
||||
<Frame defaultPage="cuteness.io/main-page" />
|
1
apps/app/cuteness.io/app.css
Normal file
@ -0,0 +1 @@
|
||||
/* Add app css here */
|
@ -1,4 +1,6 @@
|
||||
import * as application from "tns-core-modules/application";
|
||||
|
||||
// Start the application
|
||||
application.start({ moduleName: "cuteness.io/main-page" });
|
||||
global.registerModule("cuteness.io/app.css", () => require("~/cuteness.io/app.css"));
|
||||
application.setCssFileName("cuteness.io/app.css");
|
||||
application.run({ moduleName: "cuteness.io/app-root" });
|
||||
|
@ -9,7 +9,7 @@ import * as frame from "tns-core-modules/ui/frame";
|
||||
|
||||
export function pageLoaded(args: EventData) {
|
||||
let page = <Page>args.object;
|
||||
let view = require("ui/core/view");
|
||||
let view = require("tns-core-modules/ui/core/view");
|
||||
|
||||
let wrapLayout = view.getViewById(page, "wrapLayoutWithExamples");
|
||||
|
||||
|
@ -29,8 +29,8 @@ export function navigatingTo(args) {
|
||||
|
||||
application.android.on(application.AndroidApplication.activityRequestPermissionsEvent, handler);
|
||||
|
||||
if ((<any>android.support.v4.content.ContextCompat).checkSelfPermission(application.android.currentContext, (<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE) !== android.content.pm.PackageManager.PERMISSION_GRANTED) {
|
||||
(<any>android.support.v4.app.ActivityCompat).requestPermissions(application.android.currentContext, [(<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE], 1234);
|
||||
if ((<any>androidx.core.content.ContextCompat).checkSelfPermission(application.android.currentContext, (<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE) !== android.content.pm.PackageManager.PERMISSION_GRANTED) {
|
||||
(<any>androidx.core.app.ActivityCompat).requestPermissions(application.android.currentContext, [(<any>android).Manifest.permission.WRITE_EXTERNAL_STORAGE], 1234);
|
||||
}
|
||||
} else {
|
||||
console.log("Permission for write to external storage GRANTED!")
|
||||
|
@ -1,4 +1,4 @@
|
||||
<Page
|
||||
<Page
|
||||
xmlns="http://schemas.nativescript.org/tns.xsd" navigatingTo="navigatingTo">
|
||||
<Page.actionBar>
|
||||
<ActionBar>
|
||||
@ -12,4 +12,4 @@
|
||||
<Button text="Tap" tap="{{ onTap }}" />
|
||||
<Label text="{{ text }}"/>
|
||||
</StackLayout>
|
||||
</Page>
|
||||
</Page>
|
@ -1,5 +1,5 @@
|
||||
import * as frame from "tns-core-modules/ui/frame";
|
||||
|
||||
export function navigate(args) {
|
||||
frame.topmost().navigate("ui-tests-app/action-bar/clean");
|
||||
frame.topmost().navigate("ui-tests-app/action-bar/clean-page");
|
||||
}
|
5
apps/app/ui-tests-app/action-bar/all-page.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import * as frame from "tns-core-modules/ui/frame";
|
||||
|
||||
export function navigate() {
|
||||
frame.topmost().navigate("ui-tests-app/action-bar/clean-page");
|
||||
}
|
@ -10,4 +10,4 @@
|
||||
<StackLayout>
|
||||
<Button text="go to cleared page" tap="navigate"/>
|
||||
</StackLayout>
|
||||
</Page>
|
||||
</Page>
|
3
apps/app/ui-tests-app/action-bar/background-css-page.css
Normal file
@ -0,0 +1,3 @@
|
||||
.action {
|
||||
background-color: red;
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
import * as frame from "tns-core-modules/ui/frame";
|
||||
|
||||
export function navigate(args) {
|
||||
frame.topmost().navigate("ui-tests-app/action-bar/clean");
|
||||
frame.topmost().navigate("ui-tests-app/action-bar/clean-page");
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
.action {
|
||||
background-color: red;
|
||||
}
|
5
apps/app/ui-tests-app/action-bar/background-page.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import * as frame from "tns-core-modules/ui/frame";
|
||||
|
||||
export function navigate() {
|
||||
frame.topmost().navigate("ui-tests-app/action-bar/clean-page");
|
||||
}
|