feat(angular): integrate back-button with ng router

This commit is contained in:
Manu Mtz.-Almeida
2018-09-05 23:39:51 +02:00
parent 3b957a6a59
commit 1bcca01e1a
2 changed files with 10 additions and 3 deletions

View File

@ -1,6 +1,7 @@
import { Injectable, Optional } from '@angular/core'; import { Injectable, Optional } from '@angular/core';
import { Location } from '@angular/common'; import { Location } from '@angular/common';
import { NavigationExtras, Router, UrlTree } from '@angular/router'; import { NavigationExtras, Router, UrlTree } from '@angular/router';
import { BackButtonEvent } from '@ionic/core';
export const enum NavIntent { export const enum NavIntent {
Auto, Auto,
@ -19,7 +20,11 @@ export class NavController {
constructor( constructor(
private location: Location, private location: Location,
@Optional() private router?: Router @Optional() private router?: Router
) {} ) {
window && window.addEventListener('ionBackButton', (ev) => {
(ev as BackButtonEvent).detail.register(0, () => this.goBack());
});
}
navigateForward(url: string | UrlTree | any[], animated?: boolean, extras?: NavigationExtras) { navigateForward(url: string | UrlTree | any[], animated?: boolean, extras?: NavigationExtras) {
this.setIntent(NavIntent.Forward, animated); this.setIntent(NavIntent.Forward, animated);

View File

@ -32,6 +32,7 @@
"@stencil/sass": "0.1.0", "@stencil/sass": "0.1.0",
"@stencil/utils": "latest", "@stencil/utils": "latest",
"@types/jest": "^23.3.1", "@types/jest": "^23.3.1",
"agadoo": "^1.0.0",
"autoprefixer": "^9.0.2", "autoprefixer": "^9.0.2",
"chromedriver": "^2.38.3", "chromedriver": "^2.38.3",
"clean-css-cli": "^4.1.11", "clean-css-cli": "^4.1.11",
@ -77,8 +78,9 @@
"theme-builder:dev": "sd concurrent \"npm run theme-app-build -- --watch\" \"stencil build --dev --watch\" \"stencil-dev-server\" \"npm run theme-server\" ", "theme-builder:dev": "sd concurrent \"npm run theme-app-build -- --watch\" \"stencil build --dev --watch\" \"stencil-dev-server\" \"npm run theme-server\" ",
"theme-server": "node scripts/theme-builder/server.js", "theme-server": "node scripts/theme-builder/server.js",
"tsc": "./node_modules/.bin/tsc -p .", "tsc": "./node_modules/.bin/tsc -p .",
"validate": "npm run lint && npm run test && npm run build", "test.treeshake": "agadoo dist/collection/index.js",
"validate.ci": "npm run lint && npm run test && npm run build --max-workers 1 --debug" "validate": "npm run test.treeshake && npm run lint && npm run test && npm run build",
"validate.ci": "npm run test.treeshake && npm run lint && npm run test && npm run build --max-workers 1 --debug"
}, },
"author": "Ionic Team", "author": "Ionic Team",
"license": "MIT", "license": "MIT",