Skip to content

Commit f8f8af9

Browse files
author
Nedyalko Nikolov
committed
Merge pull request #246 from NativeScript/nnikolov/LoginTest
Adding example for navigation login like.
2 parents 1780dc7 + 65a5113 commit f8f8af9

File tree

3 files changed

+76
-5
lines changed

3 files changed

+76
-5
lines changed

ng-sample/app/app.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ import { NS_ROUTER_PROVIDERS, routerTraceCategory } from "./nativescript-angular
1111
import { rendererTraceCategory } from "./nativescript-angular/renderer";
1212

1313
import trace = require("trace");
14-
// trace.setCategories(routerTraceCategory + ", " + rendererTraceCategory);
14+
//trace.setCategories(routerTraceCategory + ", " + rendererTraceCategory);
1515
// trace.setCategories(rendererTraceCategory);
16-
// trace.setCategories(routerTraceCategory);
16+
trace.setCategories(routerTraceCategory);
1717
trace.enable();
1818

1919
import {RendererTest} from './examples/renderer-test';
@@ -27,8 +27,9 @@ import {ActionBarTest} from "./examples/action-bar/action-bar-test";
2727
import {ModalTest} from "./examples/modal/modal-test";
2828
import {PlatfromDirectivesTest} from "./examples/platform-directives/platform-directives-test";
2929
import {RouterOutletTest} from "./examples/navigation/router-outlet-test";
30+
import {LoginTest} from "./examples/navigation/login-test";
3031

31-
nativeScriptBootstrap(RendererTest);
32+
//nativeScriptBootstrap(RendererTest);
3233
//nativeScriptBootstrap(TabViewTest);
3334
//nativeScriptBootstrap(Benchmark);
3435
//nativeScriptBootstrap(ListTest);
@@ -40,3 +41,4 @@ nativeScriptBootstrap(RendererTest);
4041
//nativeScriptBootstrap(ModalTest);
4142
//nativeScriptBootstrap(PlatfromDirectivesTest);
4243
//nativeScriptBootstrap(RouterOutletTest, [NS_ROUTER_PROVIDERS]);
44+
nativeScriptBootstrap(LoginTest, [NS_ROUTER_PROVIDERS]);
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import {Component} from '@angular/core';
2+
import {RouteConfig, ROUTER_PROVIDERS, ROUTER_DIRECTIVES, ComponentInstruction, Router, RouteParams, RouteData} from '@angular/router-deprecated';
3+
import {NS_ROUTER_DIRECTIVES, NS_ROUTER_PROVIDERS} from "../../nativescript-angular/router/ns-router";
4+
import {isBlank} from '@angular/core/src/facade/lang';
5+
6+
@Component({
7+
selector: 'login-page',
8+
directives: [NS_ROUTER_DIRECTIVES],
9+
template: `
10+
<StackLayout>
11+
<StackLayout orientation='horizontal'>
12+
<Label text="user: "></Label>
13+
<TextField text="user"></TextField>
14+
</StackLayout>
15+
<StackLayout orientation='horizontal'>
16+
<Label text="pass: "></Label>
17+
<TextField text="pass"></TextField>
18+
</StackLayout>
19+
<Button text='Login' (tap)="onLoginTap()"></Button>
20+
</StackLayout>
21+
`
22+
})
23+
export class LoginPage {
24+
private router: Router;
25+
constructor(private _router: Router){
26+
this.router = _router;
27+
}
28+
onLoginTap(args) {
29+
this.router.navigate(["Main", { "success" : true }]);
30+
}
31+
}
32+
33+
@Component({
34+
selector: 'main',
35+
directives: [NS_ROUTER_DIRECTIVES],
36+
template: `
37+
<TextField text="Main Content"></TextField>
38+
`
39+
})
40+
export class MainComponent {
41+
private getParamOrData(key: string, params: RouteParams, data: RouteData) {
42+
let result = params.get(key);
43+
if (!isBlank(result)) {
44+
return result;
45+
} else {
46+
return data.get(key);
47+
}
48+
}
49+
50+
constructor(params: RouteParams, private _router: Router, private _data: RouteData) {
51+
let success = this.getParamOrData("success", params, _data);
52+
if (!success) {
53+
_router.navigate(["Login"]);
54+
}
55+
console.log("params: " + params);
56+
}
57+
}
58+
59+
@Component({
60+
selector: 'login-test',
61+
directives: [NS_ROUTER_DIRECTIVES],
62+
template: `<page-router-outlet></page-router-outlet>`
63+
})
64+
@RouteConfig([
65+
{ path: '/login', component: LoginPage, name: 'Login' },
66+
{ path: '/main', component: MainComponent, name: 'Main', data: {"success": false}, useAsDefault: true },
67+
])
68+
export class LoginTest {
69+
70+
}

src/nativescript-angular/router/ns-router-link.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import {Directive, Input} from '@angular/core';
22
import {isString} from '@angular/core/src/facade/lang';
33
import {Router, Instruction} from '@angular/router-deprecated';
4-
import {Location} from '@angular/common';
54
import { log } from "./common";
65

76
/**
@@ -46,7 +45,7 @@ export class NSRouterLink {
4645
// the instruction passed to the router to navigate
4746
private _navigationInstruction: Instruction;
4847

49-
constructor(private _router: Router, private _location: Location) { }
48+
constructor(private _router: Router) { }
5049

5150
get isRouteActive(): boolean { return this._router.isRouteActive(this._navigationInstruction); }
5251

0 commit comments

Comments
 (0)