├── .editorconfig
├── .github
├── CONTRIBUTING.md
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
└── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── .idea
└── vcs.xml
├── .nvmrc
├── .travis.yml
├── .vscode
├── launch.json
└── settings.json
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── Jenkinsfile
├── LICENSE
├── README.md
├── appium.capabilities.json
├── demo-angular
├── .nvmrc
├── app
│ ├── App_Resources
│ │ ├── Android
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── app.gradle
│ │ │ ├── drawable-hdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── drawable-ldpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── drawable-mdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── drawable-nodpi
│ │ │ │ └── splash_screen.xml
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── drawable-xxxhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── values-v21
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ └── iOS
│ │ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon-29.png
│ │ │ │ ├── icon-29@2x.png
│ │ │ │ ├── icon-29@3x.png
│ │ │ │ ├── icon-40.png
│ │ │ │ ├── icon-40@2x.png
│ │ │ │ ├── icon-40@3x.png
│ │ │ │ ├── icon-60@2x.png
│ │ │ │ ├── icon-60@3x.png
│ │ │ │ ├── icon-76.png
│ │ │ │ ├── icon-76@2x.png
│ │ │ │ └── icon-83.5@2x.png
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.launchimage
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Default-568h@2x.png
│ │ │ │ ├── Default-667h@2x.png
│ │ │ │ ├── Default-736h@3x.png
│ │ │ │ ├── Default-Landscape.png
│ │ │ │ ├── Default-Landscape@2x.png
│ │ │ │ ├── Default-Landscape@3x.png
│ │ │ │ ├── Default-Portrait.png
│ │ │ │ ├── Default-Portrait@2x.png
│ │ │ │ ├── Default.png
│ │ │ │ └── Default@2x.png
│ │ │ ├── LaunchScreen.AspectFill.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchScreen-AspectFill.png
│ │ │ │ └── LaunchScreen-AspectFill@2x.png
│ │ │ └── LaunchScreen.Center.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchScreen-Center.png
│ │ │ │ └── LaunchScreen-Center@2x.png
│ │ │ ├── Info.plist
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── build.xcconfig
│ ├── README.md
│ ├── app.component.html
│ ├── app.component.ts
│ ├── app.css
│ ├── app.module.ts
│ ├── app.routing.ts
│ ├── item
│ │ ├── item-detail.component.html
│ │ ├── item-detail.component.ts
│ │ ├── item.service.ts
│ │ ├── item.ts
│ │ ├── items.component.html
│ │ └── items.component.ts
│ ├── main.aot.ts
│ ├── main.ts
│ ├── package.json
│ ├── vendor-platform.android.ts
│ ├── vendor-platform.ios.ts
│ └── vendor.ts
├── e2e-tests
│ └── sample-test.js
├── e2e
│ ├── config
│ │ ├── appium.capabilities.json
│ │ └── mocha.opts
│ ├── sample.e2e-spec.ts
│ ├── setup.ts
│ └── tsconfig.json
├── karma.conf.js
├── package-lock.json
├── package.json
├── references.d.ts
├── tsconfig.aot.json
├── tsconfig.json
├── tsconfig.tns.json
└── webpack.config.js
├── demo
├── .nvmrc
├── README.MD
├── app
│ ├── App_Resources
│ │ ├── Android
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── app.gradle
│ │ │ ├── drawable-hdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── drawable-ldpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── drawable-mdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── drawable-nodpi
│ │ │ │ └── splash_screen.xml
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── drawable-xxxhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ ├── values-v21
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ └── iOS
│ │ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon-29.png
│ │ │ │ ├── icon-29@2x.png
│ │ │ │ ├── icon-29@3x.png
│ │ │ │ ├── icon-40.png
│ │ │ │ ├── icon-40@2x.png
│ │ │ │ ├── icon-40@3x.png
│ │ │ │ ├── icon-50.png
│ │ │ │ ├── icon-50@2x.png
│ │ │ │ ├── icon-57.png
│ │ │ │ ├── icon-57@2x.png
│ │ │ │ ├── icon-60@2x.png
│ │ │ │ ├── icon-60@3x.png
│ │ │ │ ├── icon-72.png
│ │ │ │ ├── icon-72@2x.png
│ │ │ │ ├── icon-76.png
│ │ │ │ ├── icon-76@2x.png
│ │ │ │ └── icon-83.5@2x.png
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.launchimage
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Default-568h@2x.png
│ │ │ │ ├── Default-667h@2x.png
│ │ │ │ ├── Default-736h@3x.png
│ │ │ │ ├── Default-Landscape.png
│ │ │ │ ├── Default-Landscape@2x.png
│ │ │ │ ├── Default-Landscape@3x.png
│ │ │ │ ├── Default-Portrait.png
│ │ │ │ ├── Default-Portrait@2x.png
│ │ │ │ ├── Default.png
│ │ │ │ └── Default@2x.png
│ │ │ ├── LaunchScreen.AspectFill.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchScreen-AspectFill.png
│ │ │ │ └── LaunchScreen-AspectFill@2x.png
│ │ │ └── LaunchScreen.Center.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchScreen-Center.png
│ │ │ │ └── LaunchScreen-Center@2x.png
│ │ │ ├── Info.plist
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── build.xcconfig
│ ├── README.md
│ ├── app.scss
│ ├── app.ts
│ ├── bundle-config.ts
│ ├── main-page.ts
│ ├── main-page.xml
│ ├── main-view-model.ts
│ ├── package.json
│ ├── vendor-platform.android.ts
│ ├── vendor-platform.ios.ts
│ └── vendor.ts
├── e2e-tests
│ └── sample-test.js
├── e2e
│ ├── config
│ │ ├── appium.capabilities.json
│ │ └── mocha.opts
│ ├── sample.e2e-spec.ts
│ ├── setup.ts
│ └── tsconfig.json
├── karma.conf.js
├── package-lock.json
├── package.json
├── references.d.ts
├── tsconfig.json
├── tsconfig.tns.json
└── webpack.config.js
├── publish
├── .nvmrc
├── pack.sh
├── package-lock.json
├── package.json
└── publish.sh
├── src
├── .babelrc
├── .npmignore
├── getappdelegate.d.ts
├── getappdelegate.ts
├── index.d.ts
├── package-lock.json
├── package.json
├── references.d.ts
├── test
│ ├── e2e
│ │ ├── app
│ │ │ ├── App_Resources
│ │ │ │ ├── Android
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── app.gradle
│ │ │ │ │ ├── drawable-hdpi
│ │ │ │ │ │ ├── background.png
│ │ │ │ │ │ ├── icon.png
│ │ │ │ │ │ └── logo.png
│ │ │ │ │ ├── drawable-ldpi
│ │ │ │ │ │ ├── background.png
│ │ │ │ │ │ ├── icon.png
│ │ │ │ │ │ └── logo.png
│ │ │ │ │ ├── drawable-mdpi
│ │ │ │ │ │ ├── background.png
│ │ │ │ │ │ ├── icon.png
│ │ │ │ │ │ └── logo.png
│ │ │ │ │ ├── drawable-nodpi
│ │ │ │ │ │ └── splash_screen.xml
│ │ │ │ │ ├── drawable-xhdpi
│ │ │ │ │ │ ├── background.png
│ │ │ │ │ │ ├── icon.png
│ │ │ │ │ │ └── logo.png
│ │ │ │ │ ├── drawable-xxhdpi
│ │ │ │ │ │ ├── background.png
│ │ │ │ │ │ ├── icon.png
│ │ │ │ │ │ └── logo.png
│ │ │ │ │ ├── drawable-xxxhdpi
│ │ │ │ │ │ ├── background.png
│ │ │ │ │ │ ├── icon.png
│ │ │ │ │ │ └── logo.png
│ │ │ │ │ ├── values-v21
│ │ │ │ │ │ ├── colors.xml
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ └── values
│ │ │ │ │ │ ├── colors.xml
│ │ │ │ │ │ └── styles.xml
│ │ │ │ └── iOS
│ │ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── icon-29.png
│ │ │ │ │ │ ├── icon-29@2x.png
│ │ │ │ │ │ ├── icon-29@3x.png
│ │ │ │ │ │ ├── icon-40.png
│ │ │ │ │ │ ├── icon-40@2x.png
│ │ │ │ │ │ ├── icon-40@3x.png
│ │ │ │ │ │ ├── icon-50.png
│ │ │ │ │ │ ├── icon-50@2x.png
│ │ │ │ │ │ ├── icon-57.png
│ │ │ │ │ │ ├── icon-57@2x.png
│ │ │ │ │ │ ├── icon-60@2x.png
│ │ │ │ │ │ ├── icon-60@3x.png
│ │ │ │ │ │ ├── icon-72.png
│ │ │ │ │ │ ├── icon-72@2x.png
│ │ │ │ │ │ ├── icon-76.png
│ │ │ │ │ │ ├── icon-76@2x.png
│ │ │ │ │ │ └── icon-83.5@2x.png
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── LaunchImage.launchimage
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Default-568h@2x.png
│ │ │ │ │ │ ├── Default-667h@2x.png
│ │ │ │ │ │ ├── Default-736h@3x.png
│ │ │ │ │ │ ├── Default-Landscape.png
│ │ │ │ │ │ ├── Default-Landscape@2x.png
│ │ │ │ │ │ ├── Default-Landscape@3x.png
│ │ │ │ │ │ ├── Default-Portrait.png
│ │ │ │ │ │ ├── Default-Portrait@2x.png
│ │ │ │ │ │ ├── Default.png
│ │ │ │ │ │ └── Default@2x.png
│ │ │ │ │ ├── LaunchScreen.AspectFill.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchScreen-AspectFill.png
│ │ │ │ │ │ └── LaunchScreen-AspectFill@2x.png
│ │ │ │ │ └── LaunchScreen.Center.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── LaunchScreen-Center.png
│ │ │ │ │ │ └── LaunchScreen-Center@2x.png
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── build.xcconfig
│ │ │ ├── app.component.d.ts
│ │ │ ├── app.component.html
│ │ │ ├── app.component.ts
│ │ │ ├── app.css
│ │ │ ├── app.module.d.ts
│ │ │ ├── app.module.ts
│ │ │ ├── app.routing.d.ts
│ │ │ ├── app.routing.ts
│ │ │ ├── item
│ │ │ │ ├── item-detail.component.d.ts
│ │ │ │ ├── item-detail.component.html
│ │ │ │ ├── item-detail.component.ts
│ │ │ │ ├── item.d.ts
│ │ │ │ ├── item.service.d.ts
│ │ │ │ ├── item.service.ts
│ │ │ │ ├── item.ts
│ │ │ │ ├── items.component.d.ts
│ │ │ │ ├── items.component.html
│ │ │ │ └── items.component.ts
│ │ │ ├── main.aot.d.ts
│ │ │ ├── main.aot.ts
│ │ │ ├── main.d.ts
│ │ │ ├── main.ts
│ │ │ └── package.json
│ │ ├── package.json
│ │ ├── references.d.ts
│ │ └── tsconfig.json
│ └── spec
│ │ ├── mocks
│ │ └── general.mock.js
│ │ ├── run.js
│ │ ├── support
│ │ └── jasmine.json
│ │ ├── urlhandler.android.spec.js
│ │ ├── urlhandler.common.spec.js
│ │ └── urlhandler.ios.spec.js
├── tsconfig.json
├── tsconfig.spec.json
├── urlhandler.android.d.ts
├── urlhandler.android.ts
├── urlhandler.common.d.ts
├── urlhandler.common.ts
├── urlhandler.d.ts
├── urlhandler.ios.d.ts
└── urlhandler.ios.ts
└── tslint.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome: http://EditorConfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # Unix-style newlines with a newline ending every file
7 | [*]
8 | end_of_line = lf
9 | insert_final_newline = true
10 |
11 | # Matches multiple files with brace expansion notation
12 | # Set default charset
13 | [*.{js,css,scss,html}]
14 | charset = utf-8
15 |
16 | # 4 space indentation
17 | [*.{js,css,scss,html}]
18 | indent_style = space
19 | indent_size = 2
20 |
21 | # Matches the exact files either package.json or .travis.yml
22 | [{package.json,.travis.yml,bower.json}]
23 | indent_style = space
24 | indent_size = 2
25 |
--------------------------------------------------------------------------------
/.github/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ### Submitting Pull Requests
2 |
3 | We'd love for you to contribute to our source code and to make this package even better than it is
4 | today! Here are the guidelines we'd like you to follow:
5 |
6 | - [Issues and Bugs](#issue)
7 | - [Feature Requests](#feature)
8 | - [Coding Rules](#rules)
9 | - [Commit Message Guidelines](#commit)
10 |
11 | ## Found an Issue?
12 |
13 | If you find a bug in the source code or a mistake in the documentation, you can help us by
14 | submitting an issue to our [GitHub Repository][github]. Even better you can submit a Pull Request
15 | with a fix. But first search if the issue is already described!
16 |
17 | If not create a new issue:
18 |
19 | * Tell about your environment:
20 | * node version
21 | * nativescript version
22 | * used platform and version
23 | * Describe your issue
24 | * describe your steps leading to the issue
25 | * attach error logs or screenshots
26 | * if possible provide test case or screenshots
27 |
28 | ## Want a Feature?
29 |
30 | You can request a new feature by submitting an issue to our [GitHub Repository][github].
31 |
32 | Please follow these basic steps to simplify pull request reviews - if you don't you'll probably just be asked to anyway.**
33 |
34 | * Please rebase your branch against the current develop, use the **develop** for pull requests
35 | * Please ensure that the test suite passes **and** that code is lint free before submitting a PR by running:
36 | * ```npm test```
37 | * If you've added new functionality, **please** include tests which validate its behaviour
38 | * Make reference to possible [issues](https://github.com/hypery2k/nativescript-urlhandler/issues) on PR comment
39 |
40 | ## Coding Rules
41 |
42 | To ensure consistency throughout the source code, keep these rules in mind as you are working:
43 |
44 | * All features or bug fixes **must be tested** by one or more [specs][unit-testing].
45 | * All public API methods **must be documented** with jsdoc.
46 |
47 | ## Git Commit Guidelines
48 |
49 | We're using [Angular Commit Guidelines](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#-git-commit-guidelines)
50 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | # github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | # patreon: continuoussecuritytooling
5 | #open_collective: moleculer
6 | #ko_fi: # Replace with a single Ko-fi username
7 | #tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | custom: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=H8TR8246RCDJG
9 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 |
5 | ---
6 |
7 | ## Prerequisites
8 |
9 | Please answer the following questions for yourself before submitting an issue.
10 |
11 | - [ ] I am running the latest version
12 | - [ ] I checked the documentation and found no answer
13 | - [ ] I checked to make sure that this issue has not already been filed
14 | - [ ] I'm reporting the issue to the correct repository
15 |
16 | ## Current Behavior
17 |
18 |
19 |
20 | ## Expected Behavior
21 |
22 |
23 |
24 | ## Failure Information
25 |
26 |
27 |
28 | ### Steps to Reproduce
29 |
30 | Please provide detailed steps for reproducing the issue.
31 |
32 | 1. step 1
33 | 2. step 2
34 | 3. you get it...
35 |
36 |
37 | ### Context
38 |
39 | Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.
40 |
41 | **NativeScript version:**
42 | **Java version:**
43 | **NodeJS and NPM version:**
44 | **Platform(s) running:**
45 |
46 |
47 | ### Demo Project
48 |
49 | ℹ Please link to or upload a project we can download that reproduces the issue.
50 |
51 |
52 | ### Failure Logs
53 | ```
54 |
55 | ```
56 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 |
5 | ---
6 |
7 | ## Prerequisites
8 |
9 | Please answer the following questions for yourself before submitting an issue.
10 |
11 | * [ ] I've read, understood, and done my best to follow the [*CONTRIBUTING guidelines](https://github.com/hypery2k/galenframework-cli/master/CONTRIBUTING.md).
12 |
13 | ## Changes
14 |
15 | **Is your feature request related to a problem? Please describe.**
16 |
17 |
18 | **Describe the solution you'd like**
19 |
20 |
21 | **Describe alternatives you've considered**
22 |
23 |
24 | **Additional context**
25 |
26 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | ## :memo: Description
2 |
3 |
4 |
5 | ### :dart: Relevant issues
6 |
7 |
8 | ### :gem: Type of change
9 |
10 |
11 |
12 | - [ ] Bug fix (non-breaking change which fixes an issue)
13 | - [ ] New feature (non-breaking change which adds functionality)
14 | - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
15 | - [ ] This change requires a documentation update
16 |
17 | ### :scroll: Example code
18 | ```js
19 |
20 | ```
21 |
22 | ## :vertical_traffic_light: How Has This Been Tested?
23 |
24 | Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
25 |
26 | - [ ] Test A
27 | - [ ] Test B
28 |
29 | ## :checkered_flag: Checklist:
30 |
31 | - [ ] My code follows the style guidelines of this project
32 | - [ ] I have performed a self-review of my own code
33 | - [ ] **I have added tests that prove my fix is effective or that my feature works**
34 | - [ ] **New and existing unit tests pass locally with my changes**
35 | - [ ] I have commented my code, particularly in hard-to-understand areas
36 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 |
5 | # Runtime data
6 | pids
7 | *.pid
8 | *.seed
9 |
10 | # Directory for instrumented libs generated by jscoverage/JSCover
11 | lib-cov
12 |
13 | # Coverage directory used by tools like istanbul
14 | coverage
15 |
16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
17 | .grunt
18 |
19 | # Compiled binary addons (http://nodejs.org/api/addons.html)
20 | build/Release
21 |
22 | # Users Environment Variables
23 | .lock-wscript
24 |
25 | # OS generated files #
26 | .DS_Store
27 | ehthumbs.db
28 | Icon?
29 | Thumbs.db
30 |
31 | # Node Files #
32 | /node_modules
33 | /src/app/node_modules
34 | /bower_components
35 |
36 | # Coverage #
37 | /coverage/
38 |
39 | # Typing #
40 | /src/typings/tsd/
41 | /typings/
42 | /tsd_typings/
43 |
44 | # demo lock files
45 | demo-angular/package-lock.json
46 | demo/package-lock.json
47 |
48 | # Dist #
49 | src/platforms/android/nativescript_fabric.aar
50 | /publish/package
51 | /publish/src
52 | /dist
53 | /public/__build__/
54 | /src/*/__build__/
55 | __build__/**
56 | .webpack.json
57 |
58 | # Doc #
59 | /doc/
60 |
61 | # IDE #
62 | .idea/
63 | *.swp
64 | *.tgz
65 | *.js
66 | *.js.map
67 | *.ngsummary.json
68 |
69 | !index.d.ts
70 | !*.e2e.js
71 | !karma*.js
72 | !test-main.js
73 | src/lib
74 | src/hooks
75 | src/node_modules
76 | src/*.js
77 | src/*.js.map
78 | src/*.metadata.json
79 | src/**/*.js
80 | src/**/*.js.map
81 | src/**/*.ngfactory.ts
82 | src/**/*.metadata.json
83 | target/
84 |
85 | # publish, helper
86 | publish/node_modules/
87 |
88 | # demo apps
89 | demo/node_modules/
90 | demo/hooks
91 | demo/lib
92 | demo/platforms
93 | demo/report
94 | demo/app/tns_modules/
95 | demo-angular/node_modules/
96 | demo-angular/hooks
97 | demo-angular/lib
98 | demo-angular/platforms
99 | demo-angular/app/tns_modules/
100 | demo-angular/report
101 |
102 | # end2end app
103 | src/test/e2e/node_modules/
104 | src/test/e2e/hooks
105 | src/test/e2e/lib
106 | src/test/e2e/platforms
107 | src/test/e2e/app/tns_modules/
108 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | v10
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 |
5 | {
6 | "name": "Launch on iOS",
7 | "type": "nativescript",
8 | "request": "launch",
9 | "platform": "ios",
10 | "appRoot": "${workspaceRoot}",
11 | "sourceMaps": true,
12 | "watch": true
13 | },
14 | {
15 | "name": "Attach on iOS",
16 | "type": "nativescript",
17 | "request": "attach",
18 | "platform": "ios",
19 | "appRoot": "${workspaceRoot}",
20 | "sourceMaps": true,
21 | "watch": false
22 | },
23 | {
24 | "name": "Launch on Android",
25 | "type": "nativescript",
26 | "request": "launch",
27 | "platform": "android",
28 | "appRoot": "${workspaceRoot}",
29 | "sourceMaps": true,
30 | "watch": true
31 | },
32 | {
33 | "name": "Attach on Android",
34 | "type": "nativescript",
35 | "request": "attach",
36 | "platform": "android",
37 | "appRoot": "${workspaceRoot}",
38 | "sourceMaps": true,
39 | "watch": false
40 | }
41 | ]
42 | }
43 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "vsicons.presets.angular": true
3 | }
4 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6 |
7 | ## Our Standards
8 |
9 | Examples of behavior that contributes to creating a positive environment include:
10 |
11 | * Using welcoming and inclusive language
12 | * Being respectful of differing viewpoints and experiences
13 | * Gracefully accepting constructive criticism
14 | * Focusing on what is best for the community
15 | * Showing empathy towards other community members
16 |
17 | Examples of unacceptable behavior by participants include:
18 |
19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances
20 | * Trolling, insulting/derogatory comments, and personal or political attacks
21 | * Public or private harassment
22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission
23 | * Other conduct which could reasonably be considered inappropriate in a professional setting
24 |
25 | ## Our Responsibilities
26 |
27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28 |
29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30 |
31 | ## Scope
32 |
33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34 |
35 | ## Enforcement
36 |
37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at contact@martinreinhardt-online.de. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38 |
39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40 |
41 | ## Attribution
42 |
43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44 |
45 | [homepage]: http://contributor-covenant.org
46 | [version]: http://contributor-covenant.org/version/1/4/
47 |
--------------------------------------------------------------------------------
/Jenkinsfile:
--------------------------------------------------------------------------------
1 | properties properties: [
2 | [$class: 'BuildDiscarderProperty', strategy: [$class: 'LogRotator', artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '30', numToKeepStr: '10']],
3 | disableConcurrentBuilds()
4 | ]
5 |
6 | @Library('mare-build-library')
7 | def nodeJS = new de.mare.ci.jenkins.NodeJS()
8 |
9 | timeout(60) {
10 | node('nativescript') {
11 | def buildNumber = env.BUILD_NUMBER
12 | def branchName = env.BRANCH_NAME
13 | def workspace = env.WORKSPACE
14 | def buildUrl = env.BUILD_URL
15 |
16 | // PRINT ENVIRONMENT TO JOB
17 | echo "workspace directory is $workspace"
18 | echo "build URL is $buildUrl"
19 | echo "build Number is $buildNumber"
20 | echo "branch name is $branchName"
21 | echo "PATH is $env.PATH"
22 |
23 | try {
24 | stage('Checkout') {
25 | checkout scm
26 | }
27 |
28 | stage('Build') {
29 | nodeJS.nvm("install -g nativescript")
30 | dir("publish") {
31 | nodeJS.nvmRun("setup-dev-env")
32 | }
33 | }
34 |
35 | stage('Webpack') {
36 | parallel demo: {
37 | dir("demo") {
38 | nodeJS.nvmRun("build-android-bundle")
39 | nodeJS.nvmRun("build-ios-bundle")
40 | }
41 | sh "cd demo && npm run build-ios-bundle && npm run build-android-bundle"
42 | }, demoAngular: {
43 | dir("demo-angular") {
44 | nodeJS.nvmRun("build-android-bundle")
45 | nodeJS.nvmRun("build-ios-bundle")
46 | }
47 | },
48 | failFast: true
49 | }
50 |
51 | stage('Test') {
52 | parallel unit:{
53 | dir("src") {
54 | nodeJS.nvmRun("test")
55 | }
56 | }, iOS: {
57 | //sh "cd demo && npm run ci.ios.build && tns test ios --justlaunch --emulator"
58 | }, Android: {
59 | //sh "cd demo && npm run ci.android.build && tns test android --justlaunch --emulator"
60 | },
61 | failFast: true
62 | junit 'demo/target/junit-report/*.xml,src/target/junit-report/*.xml'
63 | }
64 |
65 | stage('Publish NPM snapshot') {
66 | def packageJSON = readJSON file: './src/package.json';
67 | sh "cd publish/package && mv *.tgz nativescript-urlhandler_v${packageJSON.version}-build${buildNumber}.tgz"
68 | archiveArtifacts artifacts: 'publish/package/*.tgz'
69 | nodeJS.publishSnapshot('src', buildNumber, branchName)
70 | }
71 |
72 | } catch (e) {
73 | mail subject: "${env.JOB_NAME} (${env.BUILD_NUMBER}): Error on build", to: 'github@martinreinhardt-online.de', body: "Please go to ${env.BUILD_URL}."
74 | throw e
75 | }
76 | }
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 Martin Reinhardt
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # NativeScript URL Handler Plugin
2 |
3 | NOT MAINTAINED ANYMORE, use this [plugin](https://github.com/nativescript-community/appurl).
4 |
--------------------------------------------------------------------------------
/appium.capabilities.json:
--------------------------------------------------------------------------------
1 | {
2 | "android23": {
3 | "browserName": "",
4 | "appium-version": "1.6.5",
5 | "platformName": "Android",
6 | "platformVersion": "6.0",
7 | "deviceName": "Android Emulator",
8 | "noReset": false,
9 | "app": ""
10 |
11 | },
12 | "ios-simulator10iPhone6": {
13 | "browserName": "",
14 | "appium-version": "1.6.5",
15 | "platformName": "iOS",
16 | "platformVersion": "10.0",
17 | "deviceName": "iPhone 6 Simulator",
18 | "app": ""
19 |
20 | },
21 | "ios-simulator103iPhone6": {
22 | "browserName": "",
23 | "appium-version": "1.6.5",
24 | "platformName": "iOS",
25 | "platformVersion": "10.3",
26 | "deviceName": "iPhone 6 Simulator",
27 | "app": ""
28 |
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/demo-angular/.nvmrc:
--------------------------------------------------------------------------------
1 | v10
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
27 |
28 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/app.gradle:
--------------------------------------------------------------------------------
1 | // Add your native dependencies here:
2 |
3 | // Uncomment to add recyclerview-v7 dependency
4 | //dependencies {
5 | // compile 'com.android.support:recyclerview-v7:+'
6 | //}
7 |
8 | android {
9 | defaultConfig {
10 | generatedDensities = []
11 | applicationId = "org.nativescript.demoangular"
12 | }
13 | aaptOptions {
14 | additionalParameters "--no-version-vectors"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-hdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-hdpi/background.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-hdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-hdpi/logo.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-ldpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-ldpi/background.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-ldpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-ldpi/logo.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-mdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-mdpi/background.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-mdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-mdpi/logo.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-nodpi/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 | -
3 |
4 |
5 | -
6 |
7 |
8 |
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-xhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-xhdpi/background.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-xhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-xhdpi/logo.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-xxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-xxhdpi/background.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-xxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-xxhdpi/logo.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-xxxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-xxxhdpi/background.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/drawable-xxxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/Android/drawable-xxxhdpi/logo.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/values-v21/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3d5afe
4 |
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
14 |
15 |
16 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #F5F5F5
4 | #757575
5 | #33B5E5
6 | #272734
7 |
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/Android/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
18 |
19 |
21 |
22 |
23 |
31 |
32 |
34 |
35 |
36 |
42 |
43 |
45 |
46 |
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "29x29",
5 | "idiom" : "iphone",
6 | "filename" : "icon-29.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "29x29",
11 | "idiom" : "iphone",
12 | "filename" : "icon-29@2x.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "icon-29@3x.png",
19 | "scale" : "3x"
20 | },
21 | {
22 | "size" : "40x40",
23 | "idiom" : "iphone",
24 | "filename" : "icon-40@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "40x40",
29 | "idiom" : "iphone",
30 | "filename" : "icon-40@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "60x60",
35 | "idiom" : "iphone",
36 | "filename" : "icon-60@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "60x60",
41 | "idiom" : "iphone",
42 | "filename" : "icon-60@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "29x29",
47 | "idiom" : "ipad",
48 | "filename" : "icon-29.png",
49 | "scale" : "1x"
50 | },
51 | {
52 | "size" : "29x29",
53 | "idiom" : "ipad",
54 | "filename" : "icon-29@2x.png",
55 | "scale" : "2x"
56 | },
57 | {
58 | "size" : "40x40",
59 | "idiom" : "ipad",
60 | "filename" : "icon-40.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "40x40",
65 | "idiom" : "ipad",
66 | "filename" : "icon-40@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "76x76",
71 | "idiom" : "ipad",
72 | "filename" : "icon-76.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "76x76",
77 | "idiom" : "ipad",
78 | "filename" : "icon-76@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "83.5x83.5",
83 | "idiom" : "ipad",
84 | "filename" : "icon-83.5@2x.png",
85 | "scale" : "2x"
86 | }
87 | ],
88 | "info" : {
89 | "version" : 1,
90 | "author" : "xcode"
91 | }
92 | }
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-AspectFill.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-AspectFill@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-Center.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-Center@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIRequiresFullScreen
28 |
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/demo-angular/app/App_Resources/iOS/build.xcconfig:
--------------------------------------------------------------------------------
1 | // You can add custom settings here
2 | // for example you can uncomment the following line to force distribution code signing
3 | // CODE_SIGN_IDENTITY = iPhone Distribution
4 | // 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
5 | // DEVELOPMENT_TEAM = YOUR_TEAM_ID;
6 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
7 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
8 |
--------------------------------------------------------------------------------
/demo-angular/app/README.md:
--------------------------------------------------------------------------------
1 | # NativeScript Angular Template
2 |
3 | This template creates a "Hello, world" NativeScript app using TypeScript and Angular.
4 |
5 | You can create a new app that uses this template with either the `--template` option.
6 |
7 | ```
8 | tns create my-app-name --template tns-template-hello-world-ng
9 | ```
10 |
11 | Or the `--ng` shorthand.
12 |
13 | ```
14 | tns create my-app-name --ng
15 | ```
16 |
17 | > 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).
18 |
19 | If you want to create a new app that uses the source of the template from the `master` branch, you can execute the following:
20 |
21 | ```
22 | tns create my-app-name --template https://github.com/NativeScript/template-hello-world-ng.git#master
23 | ```
24 |
25 | **NB:** Please, have in mind that the master branch may refer to dependencies that are not on NPM yet!
26 |
--------------------------------------------------------------------------------
/demo-angular/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/demo-angular/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from "@angular/core";
2 | import { handleOpenURL, AppURL } from 'nativescript-urlhandler';
3 |
4 | @Component({
5 | selector: "ns-app",
6 | templateUrl: "app.component.html",
7 | })
8 |
9 | export class AppComponent implements OnInit {
10 | constructor() {
11 | }
12 |
13 | ngOnInit() {
14 | handleOpenURL((appURL: AppURL) => {
15 | console.log('Got the following appURL', appURL);
16 | });
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/demo-angular/app/app.css:
--------------------------------------------------------------------------------
1 | /*
2 | In NativeScript, the app.css file is where you place CSS rules that
3 | you would like to apply to your entire application. Check out
4 | http://docs.nativescript.org/ui/styling for a full list of the CSS
5 | selectors and properties you can use to style UI components.
6 |
7 | /*
8 | In many cases you may want to use the NativeScript core theme instead
9 | of writing your own CSS rules. For a full list of class names in the theme
10 | refer to http://docs.nativescript.org/ui/theme.
11 | */
12 | @import 'nativescript-theme-core/css/core.light.css';
13 |
--------------------------------------------------------------------------------
/demo-angular/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
2 | import { NativeScriptModule } from "nativescript-angular/nativescript.module";
3 | import { AppRoutingModule } from "./app.routing";
4 | import { AppComponent } from "./app.component";
5 |
6 | import { ItemService } from "./item/item.service";
7 | import { ItemsComponent } from "./item/items.component";
8 | import { ItemDetailComponent } from "./item/item-detail.component";
9 |
10 | @NgModule({
11 | bootstrap: [
12 | AppComponent
13 | ],
14 | imports: [
15 | NativeScriptModule,
16 | AppRoutingModule
17 | ],
18 | declarations: [
19 | AppComponent,
20 | ItemsComponent,
21 | ItemDetailComponent
22 | ],
23 | providers: [
24 | ItemService
25 | ],
26 | schemas: [
27 | NO_ERRORS_SCHEMA
28 | ]
29 | })
30 | /*
31 | Pass your application module to the bootstrapModule function located in main.ts to start your app
32 | */
33 | export class AppModule { }
34 |
--------------------------------------------------------------------------------
/demo-angular/app/app.routing.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from "@angular/core";
2 | import { NativeScriptRouterModule } from "nativescript-angular/router";
3 | import { Routes } from "@angular/router";
4 |
5 | import { ItemsComponent } from "./item/items.component";
6 | import { ItemDetailComponent } from "./item/item-detail.component";
7 |
8 | const routes: Routes = [
9 | { path: "", redirectTo: "/items", pathMatch: "full" },
10 | { path: "items", component: ItemsComponent },
11 | { path: "item/:id", component: ItemDetailComponent },
12 | ];
13 |
14 | @NgModule({
15 | imports: [NativeScriptRouterModule.forRoot(routes)],
16 | exports: [NativeScriptRouterModule]
17 | })
18 | export class AppRoutingModule { }
--------------------------------------------------------------------------------
/demo-angular/app/item/item-detail.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/demo-angular/app/item/item-detail.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from "@angular/core";
2 | import { ActivatedRoute } from "@angular/router";
3 |
4 | import { Item } from "./item";
5 | import { ItemService } from "./item.service";
6 |
7 | @Component({
8 | selector: "ns-details",
9 | moduleId: module.id,
10 | templateUrl: "./item-detail.component.html",
11 | })
12 | export class ItemDetailComponent implements OnInit {
13 | item: Item;
14 |
15 | constructor(
16 | private itemService: ItemService,
17 | private route: ActivatedRoute
18 | ) { }
19 |
20 | ngOnInit(): void {
21 | const id = +this.route.snapshot.params["id"];
22 | this.item = this.itemService.getItem(id);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/demo-angular/app/item/item.service.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from "@angular/core";
2 |
3 | import { Item } from "./item";
4 |
5 | @Injectable()
6 | export class ItemService {
7 | private items = new Array- (
8 | { id: 1, name: "Ter Stegen", role: "Goalkeeper" },
9 | { id: 3, name: "Piqué", role: "Defender" },
10 | { id: 4, name: "I. Rakitic", role: "Midfielder" },
11 | { id: 5, name: "Sergio", role: "Midfielder" },
12 | { id: 6, name: "Denis Suárez", role: "Midfielder" },
13 | { id: 7, name: "Arda", role: "Midfielder" },
14 | { id: 8, name: "A. Iniesta", role: "Midfielder" },
15 | { id: 9, name: "Suárez", role: "Forward" },
16 | { id: 10, name: "Messi", role: "Forward" },
17 | { id: 11, name: "Neymar", role: "Forward" },
18 | { id: 12, name: "Rafinha", role: "Midfielder" },
19 | { id: 13, name: "Cillessen", role: "Goalkeeper" },
20 | { id: 14, name: "Mascherano", role: "Defender" },
21 | { id: 17, name: "Paco Alcácer", role: "Forward" },
22 | { id: 18, name: "Jordi Alba", role: "Defender" },
23 | { id: 19, name: "Digne", role: "Defender" },
24 | { id: 20, name: "Sergi Roberto", role: "Midfielder" },
25 | { id: 21, name: "André Gomes", role: "Midfielder" },
26 | { id: 22, name: "Aleix Vidal", role: "Midfielder" },
27 | { id: 23, name: "Umtiti", role: "Defender" },
28 | { id: 24, name: "Mathieu", role: "Defender" },
29 | { id: 25, name: "Masip", role: "Goalkeeper" },
30 | );
31 |
32 | getItems(): Item[] {
33 | return this.items;
34 | }
35 |
36 | getItem(id: number): Item {
37 | return this.items.filter(item => item.id === id)[0];
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/demo-angular/app/item/item.ts:
--------------------------------------------------------------------------------
1 | export class Item {
2 | id: number;
3 | name: string;
4 | role: string;
5 | }
6 |
--------------------------------------------------------------------------------
/demo-angular/app/item/items.component.html:
--------------------------------------------------------------------------------
1 |
8 |
9 |
13 |
14 |
15 |
16 |
26 |
27 |
28 |
29 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/demo-angular/app/item/items.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from "@angular/core";
2 |
3 | import { Item } from "./item";
4 | import { ItemService } from "./item.service";
5 |
6 | @Component({
7 | selector: "ns-items",
8 | templateUrl: "./items.component.html",
9 | })
10 | export class ItemsComponent implements OnInit {
11 | items: Item[];
12 |
13 | // This pattern makes use of Angular’s dependency injection implementation to inject an instance of the ItemService service into this class.
14 | // Angular knows about this service because it is included in your app’s main NgModule, defined in app.module.ts.
15 | constructor(private itemService: ItemService) { }
16 |
17 | ngOnInit(): void {
18 | this.items = this.itemService.getItems();
19 | }
20 |
21 | tap(): void {
22 | console.log('Tapped');
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/demo-angular/app/main.aot.ts:
--------------------------------------------------------------------------------
1 | // this import should be first in order to load some required settings (like globals and reflect-metadata)
2 | import { platformNativeScript } from "nativescript-angular/platform-static";
3 |
4 | import { AppModuleNgFactory } from "./app.module.ngfactory";
5 |
6 | platformNativeScript().bootstrapModuleFactory(AppModuleNgFactory);
7 |
--------------------------------------------------------------------------------
/demo-angular/app/main.ts:
--------------------------------------------------------------------------------
1 | // this import should be first in order to load some required settings (like globals and reflect-metadata)
2 | import { platformNativeScriptDynamic } from "nativescript-angular/platform";
3 |
4 | import { AppModule } from "./app.module";
5 |
6 | // A traditional NativeScript application starts by initializing global objects, setting up global CSS rules, creating, and navigating to the main page.
7 | // Angular applications need to take care of their own initialization: modules, components, directives, routes, DI providers.
8 | // A NativeScript Angular app needs to make both paradigms work together, so we provide a wrapper platform object, platformNativeScriptDynamic,
9 | // that sets up a NativeScript application and can bootstrap the Angular framework.
10 | platformNativeScriptDynamic().bootstrapModule(AppModule);
11 |
--------------------------------------------------------------------------------
/demo-angular/app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "android": {
3 | "v8Flags": "--expose_gc"
4 | },
5 | "main": "main.js",
6 | "name": "tns-template-hello-world-ng",
7 | "version": "3.1.1"
8 | }
--------------------------------------------------------------------------------
/demo-angular/app/vendor-platform.android.ts:
--------------------------------------------------------------------------------
1 | require("application");
2 | if (!global["__snapshot"]) {
3 | /*
4 | In case snapshot generation is enabled these modules will get into the bundle but will not be required/evaluated.
5 | The snapshot webpack plugin will add them to the tns-java-classes.js bundle file. This way, they will be evaluated on app start as early as possible.
6 | */
7 | require("ui/frame");
8 | require("ui/frame/activity");
9 | }
10 |
--------------------------------------------------------------------------------
/demo-angular/app/vendor-platform.ios.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo-angular/app/vendor-platform.ios.ts
--------------------------------------------------------------------------------
/demo-angular/app/vendor.ts:
--------------------------------------------------------------------------------
1 | require("./vendor-platform");
2 | require("reflect-metadata");
3 | require("@angular/platform-browser");
4 | require("@angular/core");
5 | require("@angular/common");
6 | require("@angular/forms");
7 | require("@angular/http");
8 | require("@angular/router");
9 | require("nativescript-angular/platform-static");
10 | require("nativescript-angular/forms");
11 | require("nativescript-angular/router");
12 |
--------------------------------------------------------------------------------
/demo-angular/e2e-tests/sample-test.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | var nsAppium = require("nativescript-dev-appium");
3 |
4 | describe("android simple", function () {
5 | this.timeout(10000);
6 | var driver;
7 |
8 | before(function () {
9 | driver = nsAppium.createDriver();
10 | });
11 |
12 | after(function () {
13 | return driver
14 | .quit()
15 | .finally(function () {
16 | console.log("Driver quit successfully");
17 | });
18 | });
19 |
20 | it("should find an element", function () {
21 | return driver
22 | .elementByAccessibilityId("tapButton")
23 | .should.eventually.exist
24 | .tap()
25 | .elementByAccessibilityId("messageLabel")
26 | .text().should.eventually.equal("41 taps left")
27 | });
28 | });
29 |
--------------------------------------------------------------------------------
/demo-angular/e2e/config/appium.capabilities.json:
--------------------------------------------------------------------------------
1 | {
2 | "android19": {
3 | "platformName": "Android",
4 | "platformVersion": "4.4",
5 | "deviceName": "Emulator-Api19-Default",
6 | "avd": "Emulator-Api19-Default",
7 | "lt": 60000,
8 | "newCommandTimeout": 720,
9 | "noReset": true,
10 | "fullReset": false,
11 | "app": ""
12 | },
13 | "android21": {
14 | "platformName": "Android",
15 | "platformVersion": "5.0",
16 | "deviceName": "Emulator-Api21-Default",
17 | "avd": "Emulator-Api21-Default",
18 | "lt": 60000,
19 | "newCommandTimeout": 720,
20 | "noReset": true,
21 | "fullReset": false,
22 | "app": ""
23 | },
24 | "android23": {
25 | "platformName": "Android",
26 | "platformVersion": "6.0",
27 | "deviceName": "Emulator-Api23-Default",
28 | "avd": "Emulator-Api23-Default",
29 | "lt": 60000,
30 | "newCommandTimeout": 720,
31 | "noReset": true,
32 | "fullReset": false,
33 | "app": ""
34 | },
35 | "android24": {
36 | "platformName": "Android",
37 | "platformVersion": "7.0",
38 | "deviceName": "Emulator-Api24-Default",
39 | "avd": "Emulator-Api24-Default",
40 | "lt": 60000,
41 | "newCommandTimeout": 720,
42 | "noReset": true,
43 | "fullReset": false,
44 | "app": ""
45 | },
46 | "android25": {
47 | "platformName": "Android",
48 | "platformVersion": "7.1",
49 | "deviceName": "Emulator-Api25-Google",
50 | "avd": "Emulator-Api25-Google",
51 | "lt": 60000,
52 | "newCommandTimeout": 720,
53 | "noReset": true,
54 | "fullReset": false,
55 | "app": ""
56 | },
57 | "android26": {
58 | "platformName": "Android",
59 | "platformVersion": "8.0",
60 | "deviceName": "Emulator-Api26-Google",
61 | "avd": "Emulator-Api26-Google",
62 | "lt": 60000,
63 | "newCommandTimeout": 720,
64 | "noReset": true,
65 | "fullReset": false,
66 | "app": ""
67 | },
68 | "android27": {
69 | "platformName": "Android",
70 | "platformVersion": "27",
71 | "deviceName": "Emulator-Api27-Google",
72 | "avd": "Emulator-Api27-Google",
73 | "lt": 60000,
74 | "newCommandTimeout": 720,
75 | "noReset": true,
76 | "fullReset": false,
77 | "app": ""
78 | },
79 | "sim.iPhone7.100": {
80 | "platformName": "iOS",
81 | "platformVersion": "10.0",
82 | "deviceName": "iPhone 7",
83 | "noReset": true,
84 | "fullReset": false,
85 | "app": ""
86 | },
87 | "sim.iPhone7.110": {
88 | "platformName": "iOS",
89 | "platformVersion": "11.0",
90 | "deviceName": "iPhone 7 110",
91 | "noReset": true,
92 | "fullReset": false,
93 | "app": ""
94 | },
95 | "sim.iPhone8": {
96 | "platformName": "iOS",
97 | "platformVersion": "11.3",
98 | "deviceName": "iPhone 8",
99 | "noReset": true,
100 | "fullReset": false,
101 | "app": ""
102 | },
103 | "sim.iPhoneX": {
104 | "platformName": "iOS",
105 | "platformVersion": "11.3",
106 | "deviceName": "iPhone X",
107 | "noReset": true,
108 | "fullReset": false,
109 | "app": ""
110 | }
111 | }
112 |
--------------------------------------------------------------------------------
/demo-angular/e2e/config/mocha.opts:
--------------------------------------------------------------------------------
1 | --timeout 999999
2 | --recursive e2e
3 | --reporter mocha-multi
4 | --reporter-options spec=-,mocha-junit-reporter=test-results.xml
5 | --exit
--------------------------------------------------------------------------------
/demo-angular/e2e/sample.e2e-spec.ts:
--------------------------------------------------------------------------------
1 | import { AppiumDriver, createDriver, SearchOptions } from "nativescript-dev-appium";
2 | import { assert } from "chai";
3 |
4 | describe("sample scenario", () => {
5 | const defaultWaitTime = 5000;
6 | let driver: AppiumDriver;
7 |
8 | before(async () => {
9 | driver = await createDriver();
10 | });
11 |
12 | after(async () => {
13 | await driver.quit();
14 | console.log("Quit driver!");
15 | });
16 |
17 | afterEach(async function () {
18 | if (this.currentTest.state === "failed") {
19 | await driver.logTestArtifacts(this.currentTest.title);
20 | }
21 | });
22 |
23 | it("should find an element by text", async () => {
24 | const btnTap = await driver.findElementByText("TAP", SearchOptions.exact);
25 | await btnTap.click();
26 |
27 | const message = " taps left";
28 | const lblMessage = await driver.findElementByText(message, SearchOptions.contains);
29 | assert.equal(await lblMessage.text(), "41" + message);
30 |
31 | // Image verification
32 | // const screen = await driver.compareScreen("hello-world-41");
33 | // assert.isTrue(screen);
34 | });
35 |
36 | it("should find an element by type", async () => {
37 | const btnTap = await driver.findElementByClassName(driver.locators.button);
38 | await btnTap.click();
39 |
40 | const message = " taps left";
41 | const lblMessage = await driver.findElementByText(message, SearchOptions.contains);
42 | assert.equal(await lblMessage.text(), "40" + message);
43 | });
44 | });
--------------------------------------------------------------------------------
/demo-angular/e2e/setup.ts:
--------------------------------------------------------------------------------
1 | import { startServer, stopServer } from "nativescript-dev-appium";
2 |
3 | before("start server", async () => {
4 | await startServer();
5 | });
6 |
7 | after("stop server", async () => {
8 | await stopServer();
9 | });
10 |
--------------------------------------------------------------------------------
/demo-angular/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs",
4 | "target": "es6",
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "importHelpers": false,
8 | "types": [
9 | "node",
10 | "mocha",
11 | "chai"
12 | ],
13 | "lib": [
14 | "es2015",
15 | "dom"
16 | ]
17 | }
18 | }
--------------------------------------------------------------------------------
/demo-angular/karma.conf.js:
--------------------------------------------------------------------------------
1 | module.exports = function(config) {
2 | config.set({
3 |
4 | // base path that will be used to resolve all patterns (eg. files, exclude)
5 | basePath: '',
6 |
7 |
8 | // frameworks to use
9 | // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
10 | frameworks: ['jasmine'],
11 |
12 |
13 | // list of files / patterns to load in the browser
14 | files: [
15 | 'app/**/*.js',
16 | ],
17 |
18 |
19 | // list of files to exclude
20 | exclude: [
21 | ],
22 |
23 |
24 | // preprocess matching files before serving them to the browser
25 | // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
26 | preprocessors: {
27 | },
28 |
29 |
30 | // test results reporter to use
31 | // possible values: 'dots', 'progress'
32 | // available reporters: https://npmjs.org/browse/keyword/karma-reporter
33 | reporters: ['progress'],
34 |
35 |
36 | // web server port
37 | port: 9876,
38 |
39 |
40 | // enable / disable colors in the output (reporters and logs)
41 | colors: true,
42 |
43 |
44 | // level of logging
45 | // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
46 | logLevel: config.LOG_INFO,
47 |
48 |
49 | // enable / disable watching file and executing tests whenever any file changes
50 | autoWatch: true,
51 |
52 |
53 | // start these browsers
54 | // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
55 | browsers: [],
56 |
57 | customLaunchers: {
58 | android: {
59 | base: 'NS',
60 | platform: 'android'
61 | },
62 | ios: {
63 | base: 'NS',
64 | platform: 'ios'
65 | },
66 | ios_simulator: {
67 | base: 'NS',
68 | platform: 'ios',
69 | arguments: ['--emulator']
70 | }
71 | },
72 |
73 | // Continuous Integration mode
74 | // if true, Karma captures browsers, runs the tests and exits
75 | singleRun: false
76 | })
77 | }
78 |
--------------------------------------------------------------------------------
/demo-angular/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": {
3 | "ns-bundle": "ns-bundle",
4 | "build.plugin": "cd ../src && npm run build",
5 | "ci.tslint": "npm i && tslint --config '../tslint.json' 'app/**/*.ts' --exclude '**/node_modules/**'",
6 | "ci.android.build": "npm run build.plugin && tns prepare android && tns build android",
7 | "ci.ios.build": "npm run build.plugin && tns prepare ios && tns build ios",
8 | "publish-ios-bundle": "tns build ios --bundle --publish-app",
9 | "generate-android-snapshot": "generate-android-snapshot --targetArchs arm,arm64,ia32 --install",
10 | "start-android-bundle": "tns build android --bundle --run-app",
11 | "start-ios-bundle": "tns build ios --bundle --run-app",
12 | "build-android-bundle": "tns build android --env.snapshot --env.uglify --env.aot",
13 | "build-ios-bundle": "tns build ios --env.uglify --env.aot",
14 | "e2e": "tsc -p e2e && mocha --opts ./e2e/config/mocha.opts",
15 | "e2e-watch": "tsc -p e2e --watch"
16 | },
17 | "nativescript": {
18 | "id": "org.nativescript.demoangular",
19 | "tns-ios": {
20 | "version": "5.1.1"
21 | },
22 | "tns-android": {
23 | "version": "5.1.0"
24 | }
25 | },
26 | "dependencies": {
27 | "@angular/common": "~7.2.0",
28 | "@angular/compiler": "~7.2.0",
29 | "@angular/core": "~7.2.0",
30 | "@angular/forms": "~7.2.0",
31 | "@angular/http": "~7.2.0",
32 | "@angular/platform-browser": "~7.2.0",
33 | "@angular/platform-browser-dynamic": "~7.2.0",
34 | "@angular/router": "~7.2.0",
35 | "nativescript-angular": "^7.2.0",
36 | "nativescript-theme-core": "1.0.4",
37 | "nativescript-urlhandler": "*",
38 | "rxjs": "^6.3.3",
39 | "tns-core-modules": "^5.1.2",
40 | "zone.js": "^0.8.4"
41 | },
42 | "devDependencies": {
43 | "@angular/compiler-cli": "^7.2.7",
44 | "@ngtools/webpack": "~7.2.0",
45 | "@types/chai": "~4.1.3",
46 | "@types/mocha": "~5.2.1",
47 | "@types/node": "^7.0.5",
48 | "ajv": "^6.8.1",
49 | "babel-traverse": "^6.26.0",
50 | "babel-types": "^6.26.0",
51 | "babylon": "6.8.4",
52 | "filewalker": "0.1.2",
53 | "jasmine-core": "^2.8.0",
54 | "karma": "^4.0.1",
55 | "karma-jasmine": "1.1.2",
56 | "karma-nativescript-launcher": "^0.4.0",
57 | "lazy": "1.0.11",
58 | "mocha": "^5.2.0",
59 | "nativescript-css-loader": "~0.26.1",
60 | "nativescript-dev-appium": "^5.0.0",
61 | "nativescript-dev-typescript": "^0.7.3",
62 | "nativescript-dev-webpack": "^0.19.1",
63 | "nativescript-unit-test-runner": "0.3.4",
64 | "tns-platform-declarations": "~5.1.2",
65 | "tslint": "~5.11.0",
66 | "typescript": "~3.1.1",
67 | "wd": "^1.11.1"
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/demo-angular/references.d.ts:
--------------------------------------------------------------------------------
1 | /// Needed for autocompletion and compilation.
--------------------------------------------------------------------------------
/demo-angular/tsconfig.aot.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig",
3 | "compilerOptions": {
4 | "baseUrl": ".",
5 | "paths": {
6 | "ui/*": ["node_modules/tns-core-modules/ui/*"],
7 | "platform": ["node_modules/tns-core-modules/platform"],
8 | "image-source": ["node_modules/tns-core-modules/image-source"],
9 | "xml": ["node_modules/tns-core-modules/xml"],
10 | "xhr": ["node_modules/tns-core-modules/xhr"],
11 | "text": ["node_modules/tns-core-modules/text"],
12 | "data": ["node_modules/tns-core-modules/data"],
13 | "fetch": ["node_modules/tns-core-modules/fetch"],
14 | "trace": ["node_modules/tns-core-modules/trace"],
15 | "fps-meter": ["node_modules/tns-core-modules/fps-meter"],
16 | "color": ["node_modules/tns-core-modules/color"],
17 | "application-settings": ["node_modules/tns-core-modules/application-settings"],
18 | "http": ["node_modules/tns-core-modules/http"],
19 | "camera": ["node_modules/tns-core-modules/camera"],
20 | "console": ["node_modules/tns-core-modules/console"],
21 | "timer": ["node_modules/tns-core-modules/timer"],
22 | "utils": ["node_modules/tns-core-modules/utils"],
23 | "location": ["node_modules/tns-core-modules/location"],
24 | "file-system": ["node_modules/tns-core-modules/file-system"],
25 | "application": ["node_modules/tns-core-modules/application"],
26 | "image-asset": ["node_modules/tns-core-modules/image-asset"],
27 | "connectivity": ["node_modules/tns-core-modules/connectivity"],
28 | "globals": ["node_modules/tns-core-modules/globals"]
29 | }
30 | },
31 | "exclude": [
32 | "node_modules",
33 | "platforms"
34 | ],
35 | "angularCompilerOptions": {
36 | "skipMetadataEmit": true,
37 | "genDir": "./"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/demo-angular/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs",
4 | "target": "es5",
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "noEmitHelpers": true,
8 | "noEmitOnError": true,
9 | "lib": [
10 | "es6",
11 | "dom",
12 | "es2015.iterable"
13 | ],
14 | "baseUrl": ".",
15 | "paths": {
16 | "*": [
17 | "./node_modules/tns-core-modules/*",
18 | "./node_modules/*"
19 | ],
20 | "~/*": [
21 | "app/*"
22 | ]
23 | }
24 | },
25 | "exclude": [
26 | "node_modules",
27 | "platforms",
28 | "**/*.aot.ts"
29 | ]
30 | }
--------------------------------------------------------------------------------
/demo-angular/tsconfig.tns.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig",
3 | "compilerOptions": {
4 | "module": "es2015",
5 | "moduleResolution": "node"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/demo/.nvmrc:
--------------------------------------------------------------------------------
1 | v10
--------------------------------------------------------------------------------
/demo/README.MD:
--------------------------------------------------------------------------------
1 | # Demo App
2 |
3 | You can open the app with this url `demo://test?foo=bar`
4 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
27 |
28 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/app.gradle:
--------------------------------------------------------------------------------
1 | // Add your native dependencies here:
2 |
3 | // Uncomment to add recyclerview-v7 dependency
4 | //dependencies {
5 | // compile 'com.android.support:recyclerview-v7:+'
6 | //}
7 |
8 | android {
9 | defaultConfig {
10 | generatedDensities = []
11 | applicationId = "org.nativescript.demo"
12 | }
13 | aaptOptions {
14 | additionalParameters "--no-version-vectors"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-hdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-hdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-hdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-hdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-ldpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-ldpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-ldpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-ldpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-mdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-mdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-mdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-mdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-nodpi/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 |
-
3 |
4 |
5 | -
6 |
7 |
8 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-xhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-xhdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-xhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-xhdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-xxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-xxhdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-xxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-xxhdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-xxxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-xxxhdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/drawable-xxxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/Android/drawable-xxxhdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/values-v21/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3d5afe
4 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
14 |
15 |
16 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #F5F5F5
4 | #757575
5 | #33B5E5
6 | #272734
7 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
18 |
19 |
21 |
22 |
23 |
31 |
32 |
34 |
35 |
36 |
42 |
43 |
45 |
46 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "29x29",
5 | "idiom" : "iphone",
6 | "filename" : "icon-29.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "29x29",
11 | "idiom" : "iphone",
12 | "filename" : "icon-29@2x.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "icon-29@3x.png",
19 | "scale" : "3x"
20 | },
21 | {
22 | "size" : "40x40",
23 | "idiom" : "iphone",
24 | "filename" : "icon-40@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "40x40",
29 | "idiom" : "iphone",
30 | "filename" : "icon-40@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "57x57",
35 | "idiom" : "iphone",
36 | "filename" : "icon-57.png",
37 | "scale" : "1x"
38 | },
39 | {
40 | "size" : "57x57",
41 | "idiom" : "iphone",
42 | "filename" : "icon-57@2x.png",
43 | "scale" : "2x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "icon-60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "icon-60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "29x29",
59 | "idiom" : "ipad",
60 | "filename" : "icon-29.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "29x29",
65 | "idiom" : "ipad",
66 | "filename" : "icon-29@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "40x40",
71 | "idiom" : "ipad",
72 | "filename" : "icon-40.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "40x40",
77 | "idiom" : "ipad",
78 | "filename" : "icon-40@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "50x50",
83 | "idiom" : "ipad",
84 | "filename" : "icon-50.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "50x50",
89 | "idiom" : "ipad",
90 | "filename" : "icon-50@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "72x72",
95 | "idiom" : "ipad",
96 | "filename" : "icon-72.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "72x72",
101 | "idiom" : "ipad",
102 | "filename" : "icon-72@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "76x76",
107 | "idiom" : "ipad",
108 | "filename" : "icon-76.png",
109 | "scale" : "1x"
110 | },
111 | {
112 | "size" : "76x76",
113 | "idiom" : "ipad",
114 | "filename" : "icon-76@2x.png",
115 | "scale" : "2x"
116 | },
117 | {
118 | "size" : "83.5x83.5",
119 | "idiom" : "ipad",
120 | "filename" : "icon-83.5@2x.png",
121 | "scale" : "2x"
122 | }
123 | ],
124 | "info" : {
125 | "version" : 1,
126 | "author" : "xcode"
127 | }
128 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "extent" : "full-screen",
5 | "idiom" : "iphone",
6 | "subtype" : "736h",
7 | "filename" : "Default-736h@3x.png",
8 | "minimum-system-version" : "8.0",
9 | "orientation" : "portrait",
10 | "scale" : "3x"
11 | },
12 | {
13 | "extent" : "full-screen",
14 | "idiom" : "iphone",
15 | "subtype" : "736h",
16 | "filename" : "Default-Landscape@3x.png",
17 | "minimum-system-version" : "8.0",
18 | "orientation" : "landscape",
19 | "scale" : "3x"
20 | },
21 | {
22 | "extent" : "full-screen",
23 | "idiom" : "iphone",
24 | "subtype" : "667h",
25 | "filename" : "Default-667h@2x.png",
26 | "minimum-system-version" : "8.0",
27 | "orientation" : "portrait",
28 | "scale" : "2x"
29 | },
30 | {
31 | "orientation" : "portrait",
32 | "idiom" : "iphone",
33 | "filename" : "Default@2x.png",
34 | "extent" : "full-screen",
35 | "minimum-system-version" : "7.0",
36 | "scale" : "2x"
37 | },
38 | {
39 | "extent" : "full-screen",
40 | "idiom" : "iphone",
41 | "subtype" : "retina4",
42 | "filename" : "Default-568h@2x.png",
43 | "minimum-system-version" : "7.0",
44 | "orientation" : "portrait",
45 | "scale" : "2x"
46 | },
47 | {
48 | "orientation" : "portrait",
49 | "idiom" : "ipad",
50 | "filename" : "Default-Portrait.png",
51 | "extent" : "full-screen",
52 | "minimum-system-version" : "7.0",
53 | "scale" : "1x"
54 | },
55 | {
56 | "orientation" : "landscape",
57 | "idiom" : "ipad",
58 | "filename" : "Default-Landscape.png",
59 | "extent" : "full-screen",
60 | "minimum-system-version" : "7.0",
61 | "scale" : "1x"
62 | },
63 | {
64 | "orientation" : "portrait",
65 | "idiom" : "ipad",
66 | "filename" : "Default-Portrait@2x.png",
67 | "extent" : "full-screen",
68 | "minimum-system-version" : "7.0",
69 | "scale" : "2x"
70 | },
71 | {
72 | "orientation" : "landscape",
73 | "idiom" : "ipad",
74 | "filename" : "Default-Landscape@2x.png",
75 | "extent" : "full-screen",
76 | "minimum-system-version" : "7.0",
77 | "scale" : "2x"
78 | },
79 | {
80 | "orientation" : "portrait",
81 | "idiom" : "iphone",
82 | "filename" : "Default.png",
83 | "extent" : "full-screen",
84 | "scale" : "1x"
85 | },
86 | {
87 | "orientation" : "portrait",
88 | "idiom" : "iphone",
89 | "filename" : "Default@2x.png",
90 | "extent" : "full-screen",
91 | "scale" : "2x"
92 | },
93 | {
94 | "orientation" : "portrait",
95 | "idiom" : "iphone",
96 | "filename" : "Default-568h@2x.png",
97 | "extent" : "full-screen",
98 | "subtype" : "retina4",
99 | "scale" : "2x"
100 | },
101 | {
102 | "orientation" : "portrait",
103 | "idiom" : "ipad",
104 | "extent" : "to-status-bar",
105 | "scale" : "1x"
106 | },
107 | {
108 | "orientation" : "portrait",
109 | "idiom" : "ipad",
110 | "filename" : "Default-Portrait.png",
111 | "extent" : "full-screen",
112 | "scale" : "1x"
113 | },
114 | {
115 | "orientation" : "landscape",
116 | "idiom" : "ipad",
117 | "extent" : "to-status-bar",
118 | "scale" : "1x"
119 | },
120 | {
121 | "orientation" : "landscape",
122 | "idiom" : "ipad",
123 | "filename" : "Default-Landscape.png",
124 | "extent" : "full-screen",
125 | "scale" : "1x"
126 | },
127 | {
128 | "orientation" : "portrait",
129 | "idiom" : "ipad",
130 | "extent" : "to-status-bar",
131 | "scale" : "2x"
132 | },
133 | {
134 | "orientation" : "portrait",
135 | "idiom" : "ipad",
136 | "filename" : "Default-Portrait@2x.png",
137 | "extent" : "full-screen",
138 | "scale" : "2x"
139 | },
140 | {
141 | "orientation" : "landscape",
142 | "idiom" : "ipad",
143 | "extent" : "to-status-bar",
144 | "scale" : "2x"
145 | },
146 | {
147 | "orientation" : "landscape",
148 | "idiom" : "ipad",
149 | "filename" : "Default-Landscape@2x.png",
150 | "extent" : "full-screen",
151 | "scale" : "2x"
152 | }
153 | ],
154 | "info" : {
155 | "version" : 1,
156 | "author" : "xcode"
157 | }
158 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-AspectFill.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-AspectFill@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-Center.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-Center@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIRequiresFullScreen
28 |
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 | CFBundleURLTypes
47 |
48 |
49 | CFBundleURLName
50 | ${PACKAGE}
51 |
52 |
53 | CFBundleURLSchemes
54 |
55 | demo
56 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/build.xcconfig:
--------------------------------------------------------------------------------
1 | // You can add custom settings here
2 | // for example you can uncomment the following line to force distribution code signing
3 | // CODE_SIGN_IDENTITY = iPhone Distribution
4 | // 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
5 | // DEVELOPMENT_TEAM = YOUR_TEAM_ID;
6 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
7 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
8 |
--------------------------------------------------------------------------------
/demo/app/README.md:
--------------------------------------------------------------------------------
1 | # NativeScript TypeScript Template
2 |
3 | This template creates a NativeScript app with the NativeScript hello world example,
4 | however, in this template the example is built with TypeScript.
5 |
6 | You can create a new app that uses this template with either the `--template` option.
7 |
8 | ```
9 | tns create my-app-name --template tns-template-hello-world-ts
10 | ```
11 |
12 | Or the `--tsc` shorthand.
13 |
14 | ```
15 | tns create my-app-name --tsc
16 | ```
17 |
18 | > 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-ts).
19 |
20 | If you want to create a new app that uses the source of the template from the `master` branch, you can execute the following:
21 |
22 | ```
23 | tns create my-app-name --template https://github.com/NativeScript/template-hello-world-ts.git#master
24 | ```
25 |
--------------------------------------------------------------------------------
/demo/app/app.scss:
--------------------------------------------------------------------------------
1 | /*
2 | In NativeScript, the app.css file is where you place CSS rules that
3 | you would like to apply to your entire application. Check out
4 | http://docs.nativescript.org/ui/styling for a full list of the CSS
5 | selectors and properties you can use to style UI components.
6 |
7 | /*
8 | In many cases you may want to use the NativeScript core theme instead
9 | of writing your own CSS rules. For a full list of class names in the theme
10 | refer to http://docs.nativescript.org/ui/theme.
11 | The imported CSS rules must precede all other types of rules.
12 | */
13 | @import '~nativescript-theme-core/scss/light';
14 | @import '~nativescript-theme-core/scss/index';
15 |
16 | /*
17 | The following CSS rule changes the font size of all UI
18 | components that have the btn class name.
19 | */
20 | .btn {
21 | font-size: 18;
22 | }
23 |
--------------------------------------------------------------------------------
/demo/app/app.ts:
--------------------------------------------------------------------------------
1 | /*
2 | In NativeScript, the app.ts file is the entry point to your application.
3 | You can use this file to perform app-level initialization, but the primary
4 | purpose of the file is to pass control to the app’s first module.
5 | */
6 | import { handleOpenURL, AppURL } from 'nativescript-urlhandler';
7 |
8 | import './app.scss';
9 | import './bundle-config';
10 | import * as app from 'application';
11 |
12 | handleOpenURL((appURL: AppURL) => {
13 | console.log('handleOpenURL', appURL);
14 | });
15 |
16 | app.start({ moduleName: 'main-page' });
--------------------------------------------------------------------------------
/demo/app/bundle-config.ts:
--------------------------------------------------------------------------------
1 | if ((global).TNS_WEBPACK) {
2 | // registers tns-core-modules UI framework modules
3 | require('bundle-entry-points');
4 |
5 | // register application modules
6 | global.registerModule('main-page', () => require('./main-page'));
7 | }
8 |
--------------------------------------------------------------------------------
/demo/app/main-page.ts:
--------------------------------------------------------------------------------
1 | /*
2 | In NativeScript, a file with the same name as an XML file is known as
3 | a code-behind file. The code-behind is a great place to place your view
4 | logic, and to set up your page’s data binding.
5 | */
6 |
7 | import { EventData } from 'data/observable';
8 | import { Page } from 'ui/page';
9 | import { HelloWorldModel } from './main-view-model';
10 |
11 | // Event handler for Page "navigatingTo" event attached in main-page.xml
12 | export function navigatingTo(args: EventData) {
13 | /*
14 | This gets a reference this page’s UI component. You can
15 | view the API reference of the Page to see what’s available at
16 | https://docs.nativescript.org/api-reference/classes/_ui_page_.page.html
17 | */
18 | let page = args.object;
19 |
20 | /*
21 | A page’s bindingContext is an object that should be used to perform
22 | data binding between XML markup and TypeScript code. Properties
23 | on the bindingContext can be accessed using the {{ }} syntax in XML.
24 | In this example, the {{ message }} and {{ onTap }} bindings are resolved
25 | against the object returned by createViewModel().
26 |
27 | You can learn more about data binding in NativeScript at
28 | https://docs.nativescript.org/core-concepts/data-binding.
29 | */
30 | page.bindingContext = new HelloWorldModel();
31 | }
32 |
--------------------------------------------------------------------------------
/demo/app/main-page.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
12 |
13 |
14 |
15 |
16 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/demo/app/main-view-model.ts:
--------------------------------------------------------------------------------
1 | import { Observable } from 'data/observable';
2 |
3 | export class HelloWorldModel extends Observable {
4 |
5 | private _counter: number;
6 | private _message: string;
7 |
8 | constructor() {
9 | super();
10 |
11 | // Initialize default values.
12 | this._counter = 42;
13 | this.updateMessage();
14 | }
15 |
16 | get message(): string {
17 | return this._message;
18 | }
19 |
20 | set message(value: string) {
21 | if (this._message !== value) {
22 | this._message = value;
23 | this.notifyPropertyChange('message', value);
24 | }
25 | }
26 |
27 | public onTap() {
28 | this._counter--;
29 | this.updateMessage();
30 | }
31 |
32 | private updateMessage() {
33 | if (this._counter <= 0) {
34 | this.message = 'Hoorraaay! You unlocked the NativeScript clicker achievement!';
35 | } else {
36 | this.message = `${this._counter} taps left`;
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/demo/app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "android": {
3 | "v8Flags": "--expose_gc"
4 | },
5 | "main": "app.js",
6 | "name": "tns-template-hello-world-ts",
7 | "version": "3.1.1"
8 | }
--------------------------------------------------------------------------------
/demo/app/vendor-platform.android.ts:
--------------------------------------------------------------------------------
1 | require("application");
2 | if (!global["__snapshot"]) {
3 | /*
4 | In case snapshot generation is enabled these modules will get into the bundle but will not be required/evaluated.
5 | The snapshot webpack plugin will add them to the tns-java-classes.js bundle file. This way, they will be evaluated on app start as early as possible.
6 | */
7 | require("ui/frame");
8 | require("ui/frame/activity");
9 | }
10 |
--------------------------------------------------------------------------------
/demo/app/vendor-platform.ios.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/demo/app/vendor-platform.ios.ts
--------------------------------------------------------------------------------
/demo/app/vendor.ts:
--------------------------------------------------------------------------------
1 | require("./vendor-platform");
2 | require("bundle-entry-points");
3 |
--------------------------------------------------------------------------------
/demo/e2e-tests/sample-test.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 | let nsAppium = require("nativescript-dev-appium");
3 | let isAndroid = process.env.npm_config_runType.includes("android");
4 | let isSauceRun = process.env.npm_config_sauceLab;
5 | // CONFIG CONSTANTS
6 | const OVERALL_TIMEOUT = 800000;
7 | const WAIT_TIMEOUT = 100000;
8 |
9 | describe("simple", function () {
10 |
11 | this.timeout(OVERALL_TIMEOUT);
12 | var driver;
13 |
14 | before(function () {
15 | driver = nsAppium.createDriver();
16 | });
17 |
18 | after(function () {
19 | if (isSauceRun) {
20 | driver.getSessionId().then(function (sessionId) {
21 | console.log("Report: https://saucelabs.com/beta/tests/" + sessionId);
22 | });
23 | }
24 | return driver
25 | .quit()
26 | .finally(function () {
27 | console.log("Driver quit successfully");
28 | });
29 | });
30 |
31 | it("should find an element", function () {
32 | return driver
33 | .waitForElementByAccessibilityId('tapButton', WAIT_TIMEOUT)
34 | .should.eventually.exist
35 | .tap()
36 | .elementByAccessibilityId("messageLabel")
37 | .should.eventually.exist;
38 | });
39 | });
40 |
--------------------------------------------------------------------------------
/demo/e2e/config/appium.capabilities.json:
--------------------------------------------------------------------------------
1 | {
2 | "android19": {
3 | "platformName": "Android",
4 | "platformVersion": "4.4",
5 | "deviceName": "Emulator-Api19-Default",
6 | "avd": "Emulator-Api19-Default",
7 | "lt": 60000,
8 | "appActivity": "com.tns.NativeScriptActivity",
9 | "newCommandTimeout": 720,
10 | "noReset": true,
11 | "fullReset": false,
12 | "app": ""
13 | },
14 | "android21": {
15 | "platformName": "Android",
16 | "platformVersion": "5.0",
17 | "deviceName": "Emulator-Api21-Default",
18 | "avd": "Emulator-Api21-Default",
19 | "lt": 60000,
20 | "appActivity": "com.tns.NativeScriptActivity",
21 | "newCommandTimeout": 720,
22 | "noReset": true,
23 | "fullReset": false,
24 | "app": ""
25 | },
26 | "android23": {
27 | "platformName": "Android",
28 | "platformVersion": "6.0",
29 | "deviceName": "Emulator-Api23-Default",
30 | "avd": "Emulator-Api23-Default",
31 | "lt": 60000,
32 | "appActivity": "com.tns.NativeScriptActivity",
33 | "newCommandTimeout": 720,
34 | "noReset": true,
35 | "fullReset": false,
36 | "app": ""
37 | },
38 | "android24": {
39 | "platformName": "Android",
40 | "platformVersion": "7.0",
41 | "deviceName": "Emulator-Api24-Default",
42 | "avd": "Emulator-Api24-Default",
43 | "lt": 60000,
44 | "appActivity": "com.tns.NativeScriptActivity",
45 | "newCommandTimeout": 720,
46 | "noReset": true,
47 | "fullReset": false,
48 | "app": ""
49 | },
50 | "android25": {
51 | "platformName": "Android",
52 | "platformVersion": "7.1",
53 | "deviceName": "Emulator-Api25-Google",
54 | "avd": "Emulator-Api25-Google",
55 | "lt": 60000,
56 | "appActivity": "com.tns.NativeScriptActivity",
57 | "newCommandTimeout": 720,
58 | "noReset": true,
59 | "fullReset": false,
60 | "app": ""
61 | },
62 | "android26": {
63 | "platformName": "Android",
64 | "platformVersion": "8.0",
65 | "deviceName": "Emulator-Api26-Google",
66 | "avd": "Emulator-Api26-Google",
67 | "lt": 60000,
68 | "appActivity": "com.tns.NativeScriptActivity",
69 | "newCommandTimeout": 720,
70 | "noReset": true,
71 | "fullReset": false,
72 | "app": ""
73 | },
74 | "sim.iPhone7.iOS100": {
75 | "platformName": "iOS",
76 | "platformVersion": "10.0",
77 | "deviceName": "iPhone 7 100",
78 | "noReset": true,
79 | "fullReset": false,
80 | "app": ""
81 | },
82 | "sim.iPhone8.iOS110": {
83 | "platformName": "iOS",
84 | "platformVersion": "11.0",
85 | "deviceName": "iPhone 8 110",
86 | "noReset": true,
87 | "fullReset": false,
88 | "app": ""
89 | },
90 | "sim.iPhoneX.iOS110": {
91 | "platformName": "iOS",
92 | "platformVersion": "11.0",
93 | "deviceName": "iPhone X",
94 | "noReset": true,
95 | "fullReset": false,
96 | "app": ""
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/demo/e2e/config/mocha.opts:
--------------------------------------------------------------------------------
1 | --timeout 80000
2 | --recursive e2e
3 | --reporter mocha-multi
4 | --reporter-options spec=-,mocha-junit-reporter=test-results.xml
--------------------------------------------------------------------------------
/demo/e2e/sample.e2e-spec.ts:
--------------------------------------------------------------------------------
1 | import { AppiumDriver, createDriver, SearchOptions } from "nativescript-dev-appium";
2 | import { assert } from "chai";
3 |
4 | describe("sample scenario", () => {
5 | const defaultWaitTime = 5000;
6 | let driver: AppiumDriver;
7 |
8 | before(async () => {
9 | driver = await createDriver();
10 | });
11 |
12 | after(async () => {
13 | await driver.quit();
14 | console.log("Quit driver!");
15 | });
16 |
17 | afterEach(async function () {
18 | if (this.currentTest.state === "failed") {
19 | await driver.logScreenshot(this.currentTest.title);
20 | }
21 | });
22 |
23 | it("should find an element by text", async () => {
24 | const btnTap = await driver.findElementByText("TAP", SearchOptions.exact);
25 | await btnTap.click();
26 |
27 | const message = " taps left";
28 | const lblMessage = await driver.findElementByText(message, SearchOptions.contains);
29 | assert.equal(await lblMessage.text(), "41" + message);
30 |
31 | // Image verification
32 | // const screen = await driver.compareScreen("hello-world-41");
33 | // assert.isTrue(screen);
34 | });
35 |
36 | it("should find an element by type", async () => {
37 | const btnTap = await driver.findElementByClassName(driver.locators.button);
38 | await btnTap.click();
39 |
40 | const message = " taps left";
41 | const lblMessage = await driver.findElementByText(message, SearchOptions.contains);
42 | assert.equal(await lblMessage.text(), "40" + message);
43 | });
44 | });
--------------------------------------------------------------------------------
/demo/e2e/setup.ts:
--------------------------------------------------------------------------------
1 | import { startServer, stopServer } from "nativescript-dev-appium";
2 |
3 | before("start server", async () => {
4 | await startServer();
5 | });
6 |
7 | after("stop server", async () => {
8 | await stopServer();
9 | });
10 |
--------------------------------------------------------------------------------
/demo/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs",
4 | "target": "es6",
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "importHelpers": false,
8 | "types": [
9 | "node",
10 | "mocha",
11 | "chai"
12 | ],
13 | "lib": [
14 | "es2015",
15 | "dom"
16 | ]
17 | }
18 | }
--------------------------------------------------------------------------------
/demo/karma.conf.js:
--------------------------------------------------------------------------------
1 | module.exports = function(config) {
2 | config.set({
3 |
4 | // base path that will be used to resolve all patterns (eg. files, exclude)
5 | basePath: '',
6 |
7 |
8 | // frameworks to use
9 | // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
10 | frameworks: ['jasmine'],
11 |
12 |
13 | // list of files / patterns to load in the browser
14 | files: [
15 | 'app/**/*.js',
16 | ],
17 |
18 |
19 | // list of files to exclude
20 | exclude: [],
21 |
22 |
23 | // preprocess matching files before serving them to the browser
24 | // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
25 | preprocessors: {},
26 |
27 |
28 | // test results reporter to use
29 | // possible values: 'dots', 'progress'
30 | // available reporters: https://npmjs.org/browse/keyword/karma-reporter
31 | reporters: ['progress'],
32 |
33 |
34 | // web server port
35 | port: 9876,
36 |
37 |
38 | // enable / disable colors in the output (reporters and logs)
39 | colors: true,
40 |
41 |
42 | // level of logging
43 | // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
44 | logLevel: config.LOG_INFO,
45 |
46 |
47 | // enable / disable watching file and executing tests whenever any file changes
48 | autoWatch: true,
49 |
50 |
51 | // start these browsers
52 | // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
53 | browsers: [],
54 |
55 | customLaunchers: {
56 | android: {
57 | base: 'NS',
58 | platform: 'android'
59 | },
60 | ios: {
61 | base: 'NS',
62 | platform: 'ios'
63 | },
64 | ios_simulator: {
65 | base: 'NS',
66 | platform: 'ios',
67 | arguments: ['--emulator']
68 | }
69 | },
70 |
71 | /*
72 | * test results reporter to use
73 | *
74 | * possible values: 'dots', 'progress'
75 | * available reporters: https://npmjs.org/browse/keyword/karma-reporter
76 | */
77 | reporters: ['progress', 'junit'],
78 |
79 | /**
80 | * See https://github.com/karma-runner/karma-junit-reporter#configuration
81 | */
82 | junitReporter: {
83 | outputDir: 'target/junit-report', // results will be saved as $outputDir/$browserName.xml
84 | outputFile: 'TEST-Fabric.xml', // if included, results will be saved as $outputDir/$browserName/$outputFile
85 | suite: 'Fabrc-Test-MobileApp', // suite will become the package name attribute in xml testsuite element
86 | useBrowserName: false, // add browser name to report and classes names
87 | },
88 |
89 | // Continuous Integration mode
90 | // if true, Karma captures browsers, runs the tests and exits
91 | singleRun: false
92 | })
93 | }
--------------------------------------------------------------------------------
/demo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": {
3 | "ns-bundle": "ns-bundle",
4 | "appium": "nativescript-dev-appium",
5 | "build.plugin": "cd ../src && npm run build",
6 | "ci.tslint": "npm i && tslint --config '../tslint.json' 'app/**/*.ts' --exclude '**/node_modules/**'",
7 | "ci.android.build": "npm run build.plugin && tns build android",
8 | "ci.android.uitest": "npm run appium --runtype=android23",
9 | "ci.ios.build": "npm run build.plugin && tns build ios",
10 | "ci.ios.uitest": "npm run appium --runtype=ios-simulator103iPhone6",
11 | "publish-ios-bundle": "tns build ios --bundle --publish-app",
12 | "generate-android-snapshot": "generate-android-snapshot --targetArchs arm,arm64,ia32 --install",
13 | "start-android-bundle": "tns build android --bundle --run-app",
14 | "start-ios-bundle": "tns build ios --bundle --run-app",
15 | "build-android-bundle": "tns build android --env.uglify --env.snapshot",
16 | "build-ios-bundle": "tns build ios --bundle --env.uglify",
17 | "e2e": "tsc -p e2e && mocha --opts ./e2e/config/mocha.opts",
18 | "compile-tests": "tsc -p e2e --watch"
19 | },
20 | "nativescript": {
21 | "id": "org.nativescript.demo",
22 | "tns-ios": {
23 | "version": "5.1.1"
24 | },
25 | "tns-android": {
26 | "version": "5.1.0"
27 | }
28 | },
29 | "dependencies": {
30 | "nativescript-theme-core": "^1.0.2",
31 | "nativescript-unit-test-runner": "^0.3.4",
32 | "nativescript-urlhandler": "*",
33 | "tns-core-modules": "^5.1.2"
34 | },
35 | "devDependencies": {
36 | "@types/chai": "~4.1.3",
37 | "@types/mocha": "~5.2.1",
38 | "@types/node": "^7.0.5",
39 | "awesome-typescript-loader": "^5.2.1",
40 | "babel-traverse": "^6.26.0",
41 | "babel-types": "^6.26.0",
42 | "babylon": "6.8.4",
43 | "chai": "~3.5.0",
44 | "chai-as-promised": "~5.3.0",
45 | "filewalker": "0.1.2",
46 | "jasmine-core": "^2.5.2",
47 | "karma": "^4.0.1",
48 | "karma-jasmine": "1.1.2",
49 | "karma-junit-reporter": "1.2.0",
50 | "karma-nativescript-launcher": "^0.4.0",
51 | "lazy": "1.0.11",
52 | "mocha": "^5.2.0",
53 | "nativescript-css-loader": "~0.26.0",
54 | "nativescript-dev-appium": "^5.0.0",
55 | "nativescript-dev-typescript": "^0.7.3",
56 | "nativescript-dev-webpack": "^0.20.2",
57 | "node-sass": "^4.11.0",
58 | "tslint": "~5.4.3",
59 | "typescript": "2.7.2",
60 | "wd": "^1.11.1"
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/demo/references.d.ts:
--------------------------------------------------------------------------------
1 | /// Needed for autocompletion and compilation.
--------------------------------------------------------------------------------
/demo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs",
4 | "target": "es5",
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "noEmitHelpers": true,
8 | "noEmitOnError": true,
9 | "lib": [
10 | "es6",
11 | "dom"
12 | ],
13 | "baseUrl": ".",
14 | "paths": {
15 | "*": [
16 | "./node_modules/tns-core-modules/*",
17 | "./node_modules/*"
18 | ],
19 | "~/*": [
20 | "app/*"
21 | ]
22 | }
23 | },
24 | "exclude": [
25 | "node_modules",
26 | "platforms",
27 | "**/*.aot.ts"
28 | ]
29 | }
--------------------------------------------------------------------------------
/demo/tsconfig.tns.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig",
3 | "compilerOptions": {
4 | "module": "es2015",
5 | "moduleResolution": "node"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/publish/.nvmrc:
--------------------------------------------------------------------------------
1 | v10
--------------------------------------------------------------------------------
/publish/pack.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -e
3 | CURRENT_DIR=$(pwd)
4 | SOURCE_DIR=../src;
5 | TO_SOURCE_DIR=src;
6 | PACK_DIR=package;
7 | ROOT_DIR=..;
8 | PUBLISH=--publish
9 |
10 | install(){
11 | npm i
12 | }
13 |
14 | pack() {
15 |
16 | echo 'Clearing /src and /package...'
17 | node_modules/.bin/rimraf "$TO_SOURCE_DIR"
18 | node_modules/.bin/rimraf "$PACK_DIR"
19 |
20 | # build plugin
21 | echo 'Building plugin...'
22 | cd "$SOURCE_DIR"
23 | npm run build
24 | cd "$CURRENT_DIR"
25 |
26 | # copy plugin
27 | echo 'Copying plugin source...'
28 | node_modules/.bin/ncp "$SOURCE_DIR" "$TO_SOURCE_DIR"
29 |
30 | # copy README & LICENSE to src
31 | echo 'Copying README and LICENSE to /src...'
32 | node_modules/.bin/ncp "$ROOT_DIR"/LICENSE "$TO_SOURCE_DIR"/LICENSE
33 | node_modules/.bin/ncp "$ROOT_DIR"/README.md "$TO_SOURCE_DIR"/README.md
34 |
35 | echo 'Creating package...'
36 | # create package dir
37 | mkdir "$PACK_DIR"
38 |
39 | # create the package
40 | cd "$PACK_DIR"
41 | npm pack ../"$TO_SOURCE_DIR"
42 |
43 | # delete source directory used to create the package
44 | cd ..
45 | node_modules/.bin/rimraf "$TO_SOURCE_DIR"
46 | }
47 |
48 | install && pack
49 |
--------------------------------------------------------------------------------
/publish/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nativescript-publish",
3 | "version": "1.0.0",
4 | "description": "Publish helper",
5 | "scripts": {
6 | "create-lib-scripts": "npm install --ignore-scripts && cd ../src && rm -rf node_modules/ package-lock.json && npm install --ignore-scripts",
7 | "setup-local-package": "rm -rf package/* && ./pack.sh && cd ../demo && npm install && npm i ../publish/package/*.tgz --ignore-scripts --no-save && cd ../demo-angular && npm install && npm i ../publish/package/*.tgz --ignore-scripts --no-save",
8 | "setup-dev-env": "npm run create-lib-scripts && npm run setup-local-package",
9 | "end2end:demo": "cd ../demo && rm -rf hooks/ node_modules/ platforms/ package-lock.json && npm run build.plugin && npm i && npm run build-android-bundle && npm run build-ios-bundle && tns test android --justlaunch && tns test ios --emulator --justlaunch",
10 | "end2end:demo-ng": "cd ../demo-angular && rm -rf hooks/ node_modules/ platforms/ package-lock.json && npm run build.plugin && npm i && npm run build-android-bundle",
11 | "end2end": "npm run setup-dev-env && npm run end2end:demo && npm run end2end:demo-ng",
12 | "changelog": "cd ../src && conventional-changelog -p angular -i ../CHANGELOG.md -s -r 0",
13 | "release:pre": "cd ../src && npm run clean && npm run test && cd ../publish && npm run setup-local-package",
14 | "release:post": "npm run changelog && npm run release:pre && git add ../src && git add ../CHANGELOG.md && git commit -m 'chore(release): New Release'",
15 | "release:major": "npm run release:pre && cd ../src && npm version major && cd ../publish && npm run release:post && git push origin && git push origin --tags && npm run version-and-push",
16 | "release:minor": "npm run release:pre && cd ../src && npm version minor && cd ../publish && npm run release:post && git push origin && git push origin --tags && npm run version-and-push",
17 | "release:patch": "npm run release:pre && cd ../src && npm version patch && cd ../publish && npm run release:post && git push origin && git push origin --tags && npm run version-and-push",
18 | "version-and-push": "git push origin && git push origin --tags && npm run merge-and-publish",
19 | "premerge-and-publish": "git checkout master && git merge develop",
20 | "merge-and-publish": "mv ../README.md ../src && mv ../LICENSE ../src && cd ../src && npm publish && git reset --hard && git clean -f",
21 | "postmerge-and-publish": "git checkout develop"
22 | },
23 | "devDependencies": {
24 | "conventional-changelog-cli": "1.3.1",
25 | "ncp": "^2.0.0",
26 | "prompt-lite": "~0.1.0",
27 | "rimraf": "^2.5.0",
28 | "webpack": "~2.2.0"
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/publish/publish.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | PACK_DIR=package;
4 |
5 | publish() {
6 | cd $PACK_DIR
7 | echo 'Publishing to npm...'
8 | npm publish *.tgz
9 | }
10 |
11 | ./pack.sh && publish
12 |
--------------------------------------------------------------------------------
/src/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | "es2015"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/src/.npmignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | .vscode/
3 | .babelrc
4 | build.xcconfig
5 | app/
6 | demo/
7 | node_modules
8 | *.yml
9 | Jenkinsfile
10 | *.gif
11 | *.jpg
12 | *.png
13 | *.log
14 | *.ts
15 | !*.d.ts
16 | target/
17 | test/
18 |
--------------------------------------------------------------------------------
/src/getappdelegate.d.ts:
--------------------------------------------------------------------------------
1 | export declare function getAppDelegate(): any;
2 |
--------------------------------------------------------------------------------
/src/getappdelegate.ts:
--------------------------------------------------------------------------------
1 | import * as application from 'application';
2 |
3 | /**
4 | * The following function is part of the NativeScript plugin: nativescript-plugin-firebase
5 | * It is licensed under the MIT license. The license can be found at the bottom of this file.
6 | * Copyright (c) EddyVerbruggen
7 | *
8 | * This function is an unmodified copy of the original function that can be found at:
9 | * https://github.com/EddyVerbruggen/nativescript-plugin-firebase/blob/78f60f55be30b022690722006e1080b1685548fa/src/firebase.ios.ts#L469
10 | */
11 |
12 | export function getAppDelegate() {
13 | // Play nice with other plugins by not completely ignoring anything already added to the appdelegate
14 | if (application.ios.delegate === undefined) {
15 | class UIApplicationDelegateImpl extends UIResponder implements UIApplicationDelegate {
16 | public static ObjCProtocols = [UIApplicationDelegate];
17 |
18 | static new(): UIApplicationDelegateImpl {
19 | return super.new();
20 | }
21 | }
22 |
23 | application.ios.delegate = UIApplicationDelegateImpl;
24 | }
25 |
26 | return application.ios.delegate;
27 | }
28 |
29 | /*
30 |
31 | The MIT License (MIT)
32 |
33 | Permission is hereby granted, free of charge, to any person obtaining a copy
34 | of this software and associated documentation files (the "Software"), to deal
35 | in the Software without restriction, including without limitation the rights
36 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
37 | copies of the Software, and to permit persons to whom the Software is
38 | furnished to do so, subject to the following conditions:
39 |
40 | The above copyright notice and this permission notice shall be included in all
41 | copies or substantial portions of the Software.
42 |
43 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
44 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
45 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
46 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
47 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
48 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
49 | SOFTWARE.
50 |
51 | */
52 |
--------------------------------------------------------------------------------
/src/index.d.ts:
--------------------------------------------------------------------------------
1 | export * from './urlhandler';
2 |
--------------------------------------------------------------------------------
/src/references.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
27 |
28 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/app.gradle:
--------------------------------------------------------------------------------
1 | // Add your native dependencies here:
2 |
3 | // Uncomment to add recyclerview-v7 dependency
4 | //dependencies {
5 | // compile 'com.android.support:recyclerview-v7:+'
6 | //}
7 |
8 | android {
9 | defaultConfig {
10 | generatedDensities = []
11 | applicationId = "org.nativescript.sampleApp"
12 | }
13 | aaptOptions {
14 | additionalParameters "--no-version-vectors"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-hdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-hdpi/background.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-hdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-hdpi/logo.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-ldpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-ldpi/background.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-ldpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-ldpi/logo.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-mdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-mdpi/background.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-mdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-mdpi/logo.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-nodpi/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 | -
3 |
4 |
5 | -
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-xhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-xhdpi/background.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-xhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-xhdpi/logo.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-xxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-xxhdpi/background.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-xxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-xxhdpi/logo.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-xxxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-xxxhdpi/background.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/drawable-xxxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/Android/drawable-xxxhdpi/logo.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/values-v21/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3d5afe
4 |
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
14 |
15 |
16 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #F5F5F5
4 | #757575
5 | #33B5E5
6 | #272734
7 |
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/Android/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
18 |
19 |
21 |
22 |
23 |
31 |
32 |
34 |
35 |
36 |
42 |
43 |
45 |
46 |
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "29x29",
5 | "idiom" : "iphone",
6 | "filename" : "icon-29.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "29x29",
11 | "idiom" : "iphone",
12 | "filename" : "icon-29@2x.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "icon-29@3x.png",
19 | "scale" : "3x"
20 | },
21 | {
22 | "size" : "40x40",
23 | "idiom" : "iphone",
24 | "filename" : "icon-40@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "40x40",
29 | "idiom" : "iphone",
30 | "filename" : "icon-40@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "57x57",
35 | "idiom" : "iphone",
36 | "filename" : "icon-57.png",
37 | "scale" : "1x"
38 | },
39 | {
40 | "size" : "57x57",
41 | "idiom" : "iphone",
42 | "filename" : "icon-57@2x.png",
43 | "scale" : "2x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "icon-60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "icon-60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "29x29",
59 | "idiom" : "ipad",
60 | "filename" : "icon-29.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "29x29",
65 | "idiom" : "ipad",
66 | "filename" : "icon-29@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "40x40",
71 | "idiom" : "ipad",
72 | "filename" : "icon-40.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "40x40",
77 | "idiom" : "ipad",
78 | "filename" : "icon-40@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "50x50",
83 | "idiom" : "ipad",
84 | "filename" : "icon-50.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "50x50",
89 | "idiom" : "ipad",
90 | "filename" : "icon-50@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "72x72",
95 | "idiom" : "ipad",
96 | "filename" : "icon-72.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "72x72",
101 | "idiom" : "ipad",
102 | "filename" : "icon-72@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "76x76",
107 | "idiom" : "ipad",
108 | "filename" : "icon-76.png",
109 | "scale" : "1x"
110 | },
111 | {
112 | "size" : "76x76",
113 | "idiom" : "ipad",
114 | "filename" : "icon-76@2x.png",
115 | "scale" : "2x"
116 | },
117 | {
118 | "size" : "83.5x83.5",
119 | "idiom" : "ipad",
120 | "filename" : "icon-83.5@2x.png",
121 | "scale" : "2x"
122 | }
123 | ],
124 | "info" : {
125 | "version" : 1,
126 | "author" : "xcode"
127 | }
128 | }
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-AspectFill.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-AspectFill@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-Center.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-Center@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIRequiresFullScreen
28 |
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 | CFBundleURLTypes
47 |
48 |
49 | CFBundleURLName
50 | ${PACKAGE}
51 |
52 |
53 | CFBundleURLSchemes
54 |
55 | sampleApp
56 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/test/e2e/app/App_Resources/iOS/build.xcconfig:
--------------------------------------------------------------------------------
1 | // You can add custom settings here
2 | // for example you can uncomment the following line to force distribution code signing
3 | // CODE_SIGN_IDENTITY = iPhone Distribution
4 | // 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
5 | // DEVELOPMENT_TEAM = YOUR_TEAM_ID;
6 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
7 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
8 |
--------------------------------------------------------------------------------
/src/test/e2e/app/app.component.d.ts:
--------------------------------------------------------------------------------
1 | export declare class AppComponent {
2 | constructor();
3 | }
4 |
--------------------------------------------------------------------------------
/src/test/e2e/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/test/e2e/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from "@angular/core";
2 | import { handleOpenURL, AppURL } from 'nativescript-urlhandler';
3 |
4 | @Component({
5 | selector: "ns-app",
6 | templateUrl: "app.component.html",
7 | })
8 | export class AppComponent {
9 |
10 | constructor() {
11 | handleOpenURL((appURL: AppURL) => {
12 | console.log(appURL);
13 | });
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/src/test/e2e/app/app.css:
--------------------------------------------------------------------------------
1 | /*
2 | In NativeScript, the app.css file is where you place CSS rules that
3 | you would like to apply to your entire application. Check out
4 | http://docs.nativescript.org/ui/styling for a full list of the CSS
5 | selectors and properties you can use to style UI components.
6 |
7 | /*
8 | In many cases you may want to use the NativeScript core theme instead
9 | of writing your own CSS rules. For a full list of class names in the theme
10 | refer to http://docs.nativescript.org/ui/theme.
11 | */
12 | @import 'nativescript-theme-core/css/core.light.css';
13 |
--------------------------------------------------------------------------------
/src/test/e2e/app/app.module.d.ts:
--------------------------------------------------------------------------------
1 | export declare class AppModule {
2 | }
3 |
--------------------------------------------------------------------------------
/src/test/e2e/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
2 | import { NativeScriptModule } from "nativescript-angular/nativescript.module";
3 | import { AppRoutingModule } from "./app.routing";
4 | import { AppComponent } from "./app.component";
5 |
6 | import { ItemService } from "./item/item.service";
7 | import { ItemsComponent } from "./item/items.component";
8 | import { ItemDetailComponent } from "./item/item-detail.component";
9 |
10 | @NgModule({
11 | bootstrap: [
12 | AppComponent
13 | ],
14 | imports: [
15 | NativeScriptModule,
16 | AppRoutingModule
17 | ],
18 | declarations: [
19 | AppComponent,
20 | ItemsComponent,
21 | ItemDetailComponent
22 | ],
23 | providers: [
24 | ItemService
25 | ],
26 | schemas: [
27 | NO_ERRORS_SCHEMA
28 | ]
29 | })
30 | export class AppModule { }
31 |
--------------------------------------------------------------------------------
/src/test/e2e/app/app.routing.d.ts:
--------------------------------------------------------------------------------
1 | export declare class AppRoutingModule {
2 | }
3 |
--------------------------------------------------------------------------------
/src/test/e2e/app/app.routing.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from "@angular/core";
2 | import { NativeScriptRouterModule } from "nativescript-angular/router";
3 | import { Routes } from "@angular/router";
4 |
5 | import { ItemsComponent } from "./item/items.component";
6 | import { ItemDetailComponent } from "./item/item-detail.component";
7 |
8 | const routes: Routes = [
9 | { path: "", redirectTo: "/items", pathMatch: "full" },
10 | { path: "items", component: ItemsComponent },
11 | { path: "item/:id", component: ItemDetailComponent },
12 | ];
13 |
14 | @NgModule({
15 | imports: [NativeScriptRouterModule.forRoot(routes)],
16 | exports: [NativeScriptRouterModule]
17 | })
18 | export class AppRoutingModule { }
--------------------------------------------------------------------------------
/src/test/e2e/app/item/item-detail.component.d.ts:
--------------------------------------------------------------------------------
1 | import { OnInit } from "@angular/core";
2 | import { ActivatedRoute } from "@angular/router";
3 | import { Item } from "./item";
4 | import { ItemService } from "./item.service";
5 | export declare class ItemDetailComponent implements OnInit {
6 | private itemService;
7 | private route;
8 | item: Item;
9 | constructor(itemService: ItemService, route: ActivatedRoute);
10 | ngOnInit(): void;
11 | }
12 |
--------------------------------------------------------------------------------
/src/test/e2e/app/item/item-detail.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/test/e2e/app/item/item-detail.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from "@angular/core";
2 | import { ActivatedRoute } from "@angular/router";
3 |
4 | import { Item } from "./item";
5 | import { ItemService } from "./item.service";
6 |
7 | @Component({
8 | selector: "ns-details",
9 | moduleId: module.id,
10 | templateUrl: "./item-detail.component.html",
11 | })
12 | export class ItemDetailComponent implements OnInit {
13 | item: Item;
14 |
15 | constructor(
16 | private itemService: ItemService,
17 | private route: ActivatedRoute
18 | ) { }
19 |
20 | ngOnInit(): void {
21 | const id = +this.route.snapshot.params["id"];
22 | this.item = this.itemService.getItem(id);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/test/e2e/app/item/item.d.ts:
--------------------------------------------------------------------------------
1 | export declare class Item {
2 | id: number;
3 | name: string;
4 | role: string;
5 | }
6 |
--------------------------------------------------------------------------------
/src/test/e2e/app/item/item.service.d.ts:
--------------------------------------------------------------------------------
1 | import { Item } from "./item";
2 | export declare class ItemService {
3 | private items;
4 | getItems(): Item[];
5 | getItem(id: number): Item;
6 | }
7 |
--------------------------------------------------------------------------------
/src/test/e2e/app/item/item.service.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from "@angular/core";
2 |
3 | import { Item } from "./item";
4 |
5 | @Injectable()
6 | export class ItemService {
7 | private items = new Array- (
8 | { id: 1, name: "Ter Stegen", role: "Goalkeeper" },
9 | { id: 3, name: "Piqué", role: "Defender" },
10 | { id: 4, name: "I. Rakitic", role: "Midfielder" },
11 | { id: 5, name: "Sergio", role: "Midfielder" },
12 | { id: 6, name: "Denis Suárez", role: "Midfielder" },
13 | { id: 7, name: "Arda", role: "Midfielder" },
14 | { id: 8, name: "A. Iniesta", role: "Midfielder" },
15 | { id: 9, name: "Suárez", role: "Forward" },
16 | { id: 10, name: "Messi", role: "Forward" },
17 | { id: 11, name: "Neymar", role: "Forward" },
18 | { id: 12, name: "Rafinha", role: "Midfielder" },
19 | { id: 13, name: "Cillessen", role: "Goalkeeper" },
20 | { id: 14, name: "Mascherano", role: "Defender" },
21 | { id: 17, name: "Paco Alcácer", role: "Forward" },
22 | { id: 18, name: "Jordi Alba", role: "Defender" },
23 | { id: 19, name: "Digne", role: "Defender" },
24 | { id: 20, name: "Sergi Roberto", role: "Midfielder" },
25 | { id: 21, name: "André Gomes", role: "Midfielder" },
26 | { id: 22, name: "Aleix Vidal", role: "Midfielder" },
27 | { id: 23, name: "Umtiti", role: "Defender" },
28 | { id: 24, name: "Mathieu", role: "Defender" },
29 | { id: 25, name: "Masip", role: "Goalkeeper" },
30 | );
31 |
32 | getItems(): Item[] {
33 | return this.items;
34 | }
35 |
36 | getItem(id: number): Item {
37 | return this.items.filter(item => item.id === id)[0];
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/src/test/e2e/app/item/item.ts:
--------------------------------------------------------------------------------
1 | export class Item {
2 | id: number;
3 | name: string;
4 | role: string;
5 | }
6 |
--------------------------------------------------------------------------------
/src/test/e2e/app/item/items.component.d.ts:
--------------------------------------------------------------------------------
1 | import { OnInit } from "@angular/core";
2 | import { Item } from "./item";
3 | import { ItemService } from "./item.service";
4 | export declare class ItemsComponent implements OnInit {
5 | private itemService;
6 | items: Item[];
7 | constructor(itemService: ItemService);
8 | ngOnInit(): void;
9 | }
10 |
--------------------------------------------------------------------------------
/src/test/e2e/app/item/items.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/test/e2e/app/item/items.component.ts:
--------------------------------------------------------------------------------
1 | import { Component, OnInit } from "@angular/core";
2 |
3 | import { Item } from "./item";
4 | import { ItemService } from "./item.service";
5 |
6 | @Component({
7 | selector: "ns-items",
8 | moduleId: module.id,
9 | templateUrl: "./items.component.html",
10 | })
11 | export class ItemsComponent implements OnInit {
12 | items: Item[];
13 |
14 | constructor(private itemService: ItemService) { }
15 |
16 | ngOnInit(): void {
17 | this.items = this.itemService.getItems();
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/test/e2e/app/main.aot.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/main.aot.d.ts
--------------------------------------------------------------------------------
/src/test/e2e/app/main.aot.ts:
--------------------------------------------------------------------------------
1 | // this import should be first in order to load some required settings (like globals and reflect-metadata)
2 | import { platformNativeScript } from "nativescript-angular/platform-static";
3 |
4 | import { AppModuleNgFactory } from "./app.module.ngfactory";
5 |
6 | platformNativeScript().bootstrapModuleFactory(AppModuleNgFactory);
7 |
--------------------------------------------------------------------------------
/src/test/e2e/app/main.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hypery2k/nativescript-urlhandler/4314824b4d5a9326be9333c57d08eee7cfa906ed/src/test/e2e/app/main.d.ts
--------------------------------------------------------------------------------
/src/test/e2e/app/main.ts:
--------------------------------------------------------------------------------
1 | // this import should be first in order to load some required settings (like globals and reflect-metadata)
2 | import { platformNativeScriptDynamic } from "nativescript-angular/platform";
3 |
4 | import { AppModule } from "./app.module";
5 |
6 | platformNativeScriptDynamic().bootstrapModule(AppModule);
7 |
--------------------------------------------------------------------------------
/src/test/e2e/app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "android": {
3 | "v8Flags": "--expose_gc"
4 | },
5 | "main": "main.js",
6 | "name": "tns-template-hello-world-ng",
7 | "version": "3.0.0"
8 | }
--------------------------------------------------------------------------------
/src/test/e2e/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "description": "NativeScript Application",
3 | "license": "SEE LICENSE IN ",
4 | "readme": "NativeScript Application",
5 | "repository": "",
6 | "nativescript": {
7 | "id": "org.nativescript.sampleApp",
8 | "tns-ios": {
9 | "version": "3.1.0"
10 | },
11 | "tns-android": {
12 | "version": "3.1.0"
13 | }
14 | },
15 | "dependencies": {
16 | "@angular/common": "4.0.1",
17 | "@angular/compiler": "4.0.1",
18 | "@angular/core": "4.0.1",
19 | "@angular/forms": "4.0.1",
20 | "@angular/http": "4.0.1",
21 | "@angular/platform-browser": "4.0.1",
22 | "@angular/platform-browser-dynamic": "4.0.1",
23 | "@angular/router": "4.0.1",
24 | "nativescript-angular": "^3.0.0 || ^2.0.0-rc.1",
25 | "nativescript-theme-core": "1.0.2",
26 | "nativescript-urlhandler": "file:../..",
27 | "reflect-metadata": "0.1.8",
28 | "rxjs": "5.3.0",
29 | "tns-core-modules": "^3.0.0 || ^3.0.0-rc.1",
30 | "zone.js": "0.8.4"
31 | },
32 | "devDependencies": {
33 | "babel-traverse": "6.4.5",
34 | "babel-types": "6.4.5",
35 | "babylon": "6.4.5",
36 | "lazy": "1.0.11",
37 | "nativescript-dev-android-snapshot": "^0.*.*",
38 | "nativescript-dev-typescript": "^0.4.2",
39 | "tns-core-modules": "3.1.0",
40 | "typescript": "2.2.2"
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/src/test/e2e/references.d.ts:
--------------------------------------------------------------------------------
1 | /// Needed for autocompletion and compilation.
--------------------------------------------------------------------------------
/src/test/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs",
4 | "target": "es5",
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "noEmitHelpers": true,
8 | "noEmitOnError": true,
9 | "lib": [
10 | "es2015.iterable",
11 | "es6",
12 | "dom"
13 | ],
14 | "baseUrl": ".",
15 | "paths": {
16 | "*": [
17 | "./node_modules/tns-core-modules/*",
18 | "./node_modules/*"
19 | ]
20 | }
21 | },
22 | "exclude": [
23 | "../../node_modules",
24 | "node_modules",
25 | "platforms",
26 | "**/*.aot.ts"
27 | ]
28 | }
--------------------------------------------------------------------------------
/src/test/spec/mocks/general.mock.js:
--------------------------------------------------------------------------------
1 | import mockery from "mockery";
2 | mockery.enable();
3 | mockery.warnOnUnregistered(false);
4 | mockery.registerMock("application", {
5 | android: {
6 | on: function() {
7 |
8 | }
9 | },
10 | ios: {
11 | delegate: {
12 | prototype: {}
13 | }
14 | },
15 | AndroidApplication: {
16 | activityResumedEvent: {}
17 | }
18 | });
19 | mockery.registerMock("android", {});
20 | mockery.registerMock("platform", {});
21 | mockery.registerMock("utils/utils", {});
22 | mockery.registerMock("ui/frame", {});
23 |
24 | global.android = {
25 | app: {
26 | Activity: {}
27 | }
28 | };
29 | global.JavaProxy = () => {};
30 | global.Activity = {};
31 | global.UIResponder = {};
32 | global.UIApplicationDelegate = {};
33 |
--------------------------------------------------------------------------------
/src/test/spec/run.js:
--------------------------------------------------------------------------------
1 | import Jasmine from 'jasmine';
2 | import jasmineReporters from 'jasmine-reporters';
3 | var jasmine = new Jasmine();
4 | var junitReporter = new jasmineReporters.JUnitXmlReporter({
5 | savePath: 'target/junit-report',
6 | consolidateAll: false
7 | });
8 | jasmine.loadConfigFile('test/spec/support/jasmine.json');
9 | jasmine.addReporter(junitReporter);
10 | jasmine.execute();
11 |
--------------------------------------------------------------------------------
/src/test/spec/support/jasmine.json:
--------------------------------------------------------------------------------
1 | {
2 | "spec_dir": "test/spec",
3 | "spec_files": [
4 | "**/*[sS]pec.js"
5 | ],
6 | "helpers": [
7 | "helpers/**/*.js"
8 | ],
9 | "stopSpecOnExpectationFailure": false,
10 | "random": false
11 | }
--------------------------------------------------------------------------------
/src/test/spec/urlhandler.android.spec.js:
--------------------------------------------------------------------------------
1 | import './mocks/general.mock';
2 | import {
3 | handleOpenURL,
4 | handleIntent
5 | } from '../../urlhandler.android';
6 |
7 | describe('Android', function () {
8 |
9 | describe('handleOpenURL', function () {
10 |
11 | it('function should be defined', function () {
12 | expect(handleOpenURL).toBeDefined();
13 | });
14 |
15 | });
16 |
17 | describe('handleIntent', function () {
18 |
19 | it('function should be defined', function () {
20 | expect(handleOpenURL).toBeDefined();
21 | });
22 |
23 | it('should handle empty data', function () {
24 | handleIntent({ getData: () => '', getAction: () => '' });
25 | });
26 |
27 | });
28 |
29 | });
30 |
--------------------------------------------------------------------------------
/src/test/spec/urlhandler.common.spec.js:
--------------------------------------------------------------------------------
1 | import {
2 | extractAppURL
3 | } from '../../urlhandler.common';
4 |
5 |
6 | describe('extractAppURL', function() {
7 | it('should handle empty url', function() {
8 | let url = null;
9 | let result = extractAppURL(url);
10 | expect(result).toBeNull();
11 | });
12 | it('should handle empty path and param', function() {
13 | let url = 'app://';
14 | let result = extractAppURL(url);
15 | expect(result.path).toBeNull();
16 | expect(result.params.size).toBe(0);
17 | });
18 | it('should split url into path only', function() {
19 | let url = 'app://config';
20 | let result = extractAppURL(url);
21 | expect(result.path).toBe('config');
22 | expect(result.params.size).toBe(0);
23 | });
24 | it('should split url into path and param', function() {
25 | let url = 'app://config?dev=true';
26 | let result = extractAppURL(url);
27 | expect(result.path).toBe('config');
28 | expect(result.params.get('dev')).toBe('true');
29 | });
30 | it('should split url into path and two params', function() {
31 | let url = 'app://config?dev=true&test=abc';
32 | let result = extractAppURL(url);
33 | expect(result.path).toBe('config');
34 | expect(result.params.get('dev')).toBe('true');
35 | expect(result.params.get('test')).toBe('abc');
36 | });
37 | });
--------------------------------------------------------------------------------
/src/test/spec/urlhandler.ios.spec.js:
--------------------------------------------------------------------------------
1 | import './mocks/general.mock';
2 | import {
3 | handleOpenURL,
4 | appDelegate
5 | } from '../../urlhandler.ios';
6 |
7 |
8 | describe('iOS', function() {
9 | it('handleOpenURL', function() {
10 | expect(handleOpenURL).toBeDefined();
11 | });
12 | it('continueUserActivity', function() {
13 | expect(appDelegate.prototype.applicationContinueUserActivityRestorationHandler).toBeDefined();
14 | });
15 | it('applicationOpenURLOptions', function() {
16 | expect(appDelegate.prototype.applicationOpenURLOptions).toBeDefined();
17 | });
18 | });
19 |
--------------------------------------------------------------------------------
/src/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "declaration": true,
6 | "sourceMap": true,
7 | "pretty": true,
8 | "removeComments": true,
9 | "experimentalDecorators": true,
10 | "noEmitHelpers": true,
11 | "noEmitOnError": true,
12 | "skipDefaultLibCheck": true,
13 | "skipLibCheck": true,
14 | "noLib": false,
15 | "importHelpers": false,
16 | "noImplicitAny": false,
17 | "noImplicitReturns": true,
18 | "noImplicitUseStrict": false,
19 | "noFallthroughCasesInSwitch": true,
20 | "lib": [
21 | "dom",
22 | "es5",
23 | "es2015",
24 | "es2015.iterable"
25 | ],
26 | "types": [
27 | "jasmine"
28 | ],
29 | "baseUrl": ".",
30 | "paths": {
31 | "*": [
32 | "./node_modules/tns-core-modules/*",
33 | "./node_modules/*"
34 | ]
35 | }
36 | },
37 | "compileOnSave": true,
38 | "exclude": [
39 | "node_modules",
40 | "test",
41 | "platforms"
42 | ]
43 | }
--------------------------------------------------------------------------------
/src/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "noEmitHelpers": false
5 | }
6 | }
--------------------------------------------------------------------------------
/src/urlhandler.android.d.ts:
--------------------------------------------------------------------------------
1 | export { handleOpenURL } from './urlhandler.common';
2 | export declare function handleIntent(intent: any): void;
3 |
--------------------------------------------------------------------------------
/src/urlhandler.android.ts:
--------------------------------------------------------------------------------
1 |
2 | import * as application from 'application';
3 | import { getCallback, extractAppURL } from './urlhandler.common';
4 | export { handleOpenURL } from './urlhandler.common';
5 |
6 | export function handleIntent(intent: any) {
7 | let data = intent.getData();
8 | try {
9 | let appURL = extractAppURL(data);
10 | if (appURL != null &&
11 | (new String(intent.getAction()).valueOf() === new String(android.content.Intent.ACTION_MAIN).valueOf()
12 | || new String(intent.getAction()).valueOf() === new String(android.content.Intent.ACTION_VIEW).valueOf())) {
13 | try {
14 | setTimeout(() => {
15 | let result = getCallback()(appURL);
16 | // clear intent so that url will not be re-handled upon subsequent ActivityStarted event
17 | intent.setAction('');
18 | intent.setData(null);
19 | return result;
20 | });
21 | } catch (ignored) {
22 | application.android.on(application.AndroidApplication.activityResultEvent, () => {
23 | setTimeout(() => getCallback()(appURL));
24 | });
25 | }
26 | }
27 | } catch (e) {
28 | console.error('Unknown error during getting App URL data', e);
29 | }
30 |
31 | }
32 | application.android.on(application.AndroidApplication.activityNewIntentEvent, (args) => {
33 | setTimeout(() => {
34 | let intent: android.content.Intent = args.activity.getIntent();
35 | try {
36 | handleIntent(intent);
37 | } catch (e) {
38 | console.error('Unknown error during getting App URL data', e);
39 | }
40 |
41 | });
42 | });
43 |
--------------------------------------------------------------------------------
/src/urlhandler.common.d.ts:
--------------------------------------------------------------------------------
1 | import { AppURL, UrlHandlerCallback } from './urlhandler';
2 | export declare function extractAppURL(urlParam: any): AppURL;
3 | export declare function handleOpenURL(handler: UrlHandlerCallback): void;
4 | export declare function getCallback(): UrlHandlerCallback;
5 |
--------------------------------------------------------------------------------
/src/urlhandler.common.ts:
--------------------------------------------------------------------------------
1 | import { AppURL, UrlHandlerCallback } from './urlhandler';
2 | let URL_HANDLER_CB: UrlHandlerCallback;
3 |
4 | /**
5 | * Extract url string param to a nice object
6 | * @param urlParam to parse
7 | * @returns AppURL object or null if invalid was used
8 | */
9 | export function extractAppURL(urlParam: any): AppURL {
10 | if (!!urlParam) {
11 | let url = urlParam.toString(),
12 | params = new Map(),
13 | urlWithPath = url.indexOf('//') < url.length - 2,
14 | urlWithParams = url.indexOf('?') !== -1,
15 | path = urlWithPath ? url.substring(url.indexOf('//') + 2, urlWithParams ? url.indexOf('?') : url.length) : null,
16 | parameters = url.substring(url.indexOf('?') + 1).split('&');
17 | // create JSON object
18 | if (urlWithParams) {
19 | for (let i = 0, len = parameters.length; i < len; i++) {
20 | let paramData = parameters[i].split('=');
21 | params.set(paramData[0], paramData[1] ? paramData[1] : null);
22 | }
23 | }
24 | return {
25 | params: params,
26 | path: path,
27 | toString: () => url
28 | };
29 | } else {
30 | return null;
31 | }
32 | }
33 |
34 | export function handleOpenURL(handler: UrlHandlerCallback): void {
35 | URL_HANDLER_CB = handler;
36 | }
37 |
38 | export function getCallback(): UrlHandlerCallback {
39 | if (!URL_HANDLER_CB) {
40 | URL_HANDLER_CB = function () {
41 | console.error('No callback provided. Please ensure that you called "handleOpenURL" during application init!');
42 | };
43 | }
44 | return URL_HANDLER_CB;
45 | }
46 |
--------------------------------------------------------------------------------
/src/urlhandler.d.ts:
--------------------------------------------------------------------------------
1 | export interface UrlHandlerCallback { (data: any): void; }
2 | export interface AppURL extends Object {
3 | path: string;
4 | params: Map;
5 | }
6 | export function handleOpenURL(handler: UrlHandlerCallback): void;
7 |
--------------------------------------------------------------------------------
/src/urlhandler.ios.d.ts:
--------------------------------------------------------------------------------
1 | export { handleOpenURL } from './urlhandler.common';
2 | export declare const appDelegate: any;
3 |
--------------------------------------------------------------------------------
/src/urlhandler.ios.ts:
--------------------------------------------------------------------------------
1 | import { getCallback, extractAppURL } from './urlhandler.common';
2 | import { getAppDelegate } from "./getappdelegate";
3 | export { handleOpenURL } from './urlhandler.common';
4 |
5 | export const appDelegate = getAppDelegate();
6 |
7 | function enableMultipleOverridesFor(classRef, methodName, nextImplementation) {
8 | const currentImplementation = classRef.prototype[methodName];
9 | classRef.prototype[methodName] = function () {
10 | const result = currentImplementation && currentImplementation.apply(currentImplementation, Array.from(arguments));
11 | return nextImplementation.apply(nextImplementation, Array.from(arguments).concat([result]));
12 | };
13 | }
14 |
15 | enableMultipleOverridesFor(
16 | appDelegate,
17 | 'applicationOpenURLOptions',
18 | function (
19 | application: UIApplication,
20 | url: NSURL,
21 | options: any
22 | ): boolean {
23 | const lastArgument = arguments[arguments.length - 1];
24 | const previousResult = lastArgument !== options ? lastArgument : undefined;
25 |
26 | if (!previousResult) {
27 | let appURL = extractAppURL(url.absoluteString);
28 | if (appURL != null) {
29 | setTimeout(() => getCallback()(appURL));
30 | }
31 | return true;
32 | }
33 |
34 | return previousResult;
35 | });
36 |
37 | enableMultipleOverridesFor(
38 | appDelegate,
39 | 'applicationContinueUserActivityRestorationHandler',
40 | function (
41 | application: UIApplication,
42 | userActivity: NSUserActivity
43 | ): boolean {
44 | if (userActivity.activityType === NSUserActivityTypeBrowsingWeb) {
45 |
46 | let appURL = extractAppURL(userActivity.webpageURL);
47 |
48 | if (appURL !== null) {
49 | setTimeout(() => getCallback()(appURL));
50 | }
51 | }
52 |
53 | return true;
54 | });
55 |
--------------------------------------------------------------------------------
/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "class-name": true,
4 | "comment-format": [
5 | true,
6 | "check-space"
7 | ],
8 | "indent": [
9 | true,
10 | "spaces"
11 | ],
12 | "no-duplicate-variable": true,
13 | "no-eval": true,
14 | "no-internal-module": true,
15 | "no-trailing-whitespace": true,
16 | "no-var-keyword": true,
17 | "one-line": [
18 | true,
19 | "check-open-brace",
20 | "check-whitespace"
21 | ],
22 | "quotemark": [
23 | false,
24 | "double"
25 | ],
26 | "semicolon": [
27 | true,
28 | "always"
29 | ],
30 | "triple-equals": [
31 | true,
32 | "allow-null-check"
33 | ],
34 | "typedef-whitespace": [
35 | true,
36 | {
37 | "call-signature": "nospace",
38 | "index-signature": "nospace",
39 | "parameter": "nospace",
40 | "property-declaration": "nospace",
41 | "variable-declaration": "nospace"
42 | }
43 | ],
44 | "variable-name": [
45 | true,
46 | "ban-keywords"
47 | ],
48 | "whitespace": [
49 | true,
50 | "check-branch",
51 | "check-decl",
52 | "check-operator",
53 | "check-separator",
54 | "check-type"
55 | ]
56 | }
57 | }
58 |
--------------------------------------------------------------------------------