Skip to content

Commit fc15cbd

Browse files
vchimevADjenkov
authored and
ADjenkov
committed
test(ng-sample): add modal router outlet example
1 parent 7886b86 commit fc15cbd

File tree

6 files changed

+67
-14
lines changed

6 files changed

+67
-14
lines changed

Diff for: ng-sample/.vscode/launch.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"platform": "ios",
1212
"appRoot": "${workspaceRoot}",
1313
"sourceMaps": true,
14-
"stopOnEntry": true,
14+
"stopOnEntry": false,
1515
"tnsArgs": [
1616
"--syncAllFiles"
1717
],

Diff for: ng-sample/app/app.ts

+9-5
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,14 @@ import { ImageTest } from "./examples/image/image-test";
4545
import { HttpTest } from "./examples/http/http-test";
4646
import { HttpClientTest } from "./examples/http-client/http-client-test";
4747
import { ActionBarTest } from "./examples/action-bar/action-bar-test";
48-
import { ModalTest } from "./examples/modal/modal-test";
49-
import { ModalNestedTest } from "./examples/modal/modal-nested-test";
5048
import { PlatfromDirectivesTest } from "./examples/platform-directives/platform-directives-test";
5149
import { LivesyncApp } from "./examples/livesync-test/livesync-test-app";
5250

51+
// modal
52+
import { ModalTest } from "./examples/modal/modal-test";
53+
import { ModalNestedTest } from "./examples/modal/modal-nested-test";
54+
import { ModalRouterOutletTest } from "./examples/modal/modal-router-outlet-test";
55+
5356
// new router
5457
import { RouterOutletAppComponent } from "./examples/router/router-outlet-test";
5558
import { PageRouterOutletAppComponent } from "./examples/router/page-router-outlet-test";
@@ -82,7 +85,7 @@ import { AnimationStatesMultiTest } from "./examples/animation/animation-states-
8285
],
8386
providers: [],
8487
})
85-
class ExampleModule {}
88+
class ExampleModule { }
8689

8790
function makeExampleModule(componentType) {
8891
let imports: any[] = [NativeScriptAnimationsModule, ExampleModule];
@@ -112,7 +115,7 @@ function makeExampleModule(componentType) {
112115
providers,
113116
exports,
114117
})
115-
class ExampleModuleForComponent {}
118+
class ExampleModuleForComponent { }
116119

117120
return ExampleModuleForComponent;
118121
}
@@ -188,4 +191,5 @@ onAfterLivesync.subscribe(({ moduleRef, error }) => {
188191
// platformNativeScriptDynamic().bootstrapModule(makeExampleModule(LivesyncApp));
189192
// console.log("APP RESTART!!!! !!!");
190193
// platformNativeScriptDynamic().bootstrapModule(makeExampleModule(ModalTest));
191-
platformNativeScriptDynamic().bootstrapModule(makeExampleModule(ModalNestedTest));
194+
// platformNativeScriptDynamic().bootstrapModule(makeExampleModule(ModalNestedTest));
195+
platformNativeScriptDynamic().bootstrapModule(makeExampleModule(ModalRouterOutletTest));

Diff for: ng-sample/app/examples/modal/modal-nested-test.ts

-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ export class ModalNestedTest {
1717
];
1818

1919
static exports = [
20-
ModalContent,
2120
ModalTest
2221
];
2322

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import { Component, ViewContainerRef } from "@angular/core";
2+
import * as dialogs from "ui/dialogs";
3+
import { ModalDialogService, ModalDialogOptions } from "nativescript-angular/directives/dialogs";
4+
import { FirstComponent, SecondComponent, RouterOutletAppComponent } from "../router/router-outlet-test";
5+
6+
@Component({
7+
selector: "modal-router-outlet-test",
8+
template: `
9+
<GridLayout rows="*, auto">
10+
<StackLayout verticalAlignment="top" margin="12">
11+
<Button text="show component" (tap)="showModal(false)"></Button>
12+
<Button text="show component fullscreen" (tap)="showModal(true)"></Button>
13+
</StackLayout>
14+
<Label [text]="'RESULT: ' + result" row="1" margin="12"></Label>
15+
</GridLayout>
16+
`
17+
})
18+
export class ModalRouterOutletTest {
19+
20+
public result: string = "result";
21+
22+
constructor(private modal: ModalDialogService, private vcRef: ViewContainerRef) { }
23+
24+
static entries = [
25+
RouterOutletAppComponent,
26+
];
27+
28+
static exports = [
29+
FirstComponent,
30+
SecondComponent
31+
];
32+
33+
static routes = RouterOutletAppComponent.routes;
34+
35+
public showModal(fullscreen: boolean) {
36+
const options: ModalDialogOptions = {
37+
fullscreen: fullscreen,
38+
viewContainerRef: this.vcRef
39+
};
40+
41+
this.modal.showModal(RouterOutletAppComponent, options).then((res: string) => {
42+
this.result = res || "empty result";
43+
});
44+
}
45+
46+
}

Diff for: ng-sample/app/examples/modal/modal-test.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ export class ModalTest {
3131
ModalContent
3232
];
3333

34-
static exports = [
35-
ModalContent
36-
];
34+
static exports = [];
3735

3836
public showModal(fullscreen: boolean) {
3937
const options: ModalDialogOptions = {

Diff for: ng-sample/app/examples/router/router-outlet-test.ts

+10-4
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import "rxjs/add/operator/map";
1010
<Label text="First component" class="title"></Label>
1111
</StackLayout>`
1212
})
13-
class FirstComponent implements OnInit, OnDestroy {
13+
export class FirstComponent implements OnInit, OnDestroy {
1414
ngOnInit() {
1515
console.log("FirstComponent - ngOnInit()");
1616
}
@@ -28,7 +28,7 @@ class FirstComponent implements OnInit, OnDestroy {
2828
<Label [text]="'Second component: ' + (id | async)" class="title"></Label>
2929
</StackLayout>`
3030
})
31-
class SecondComponent implements OnInit, OnDestroy {
31+
export class SecondComponent implements OnInit, OnDestroy {
3232
id;
3333
constructor(route: ActivatedRoute) {
3434
this.id = route.params.map(r => r["id"]);
@@ -49,8 +49,14 @@ class SecondComponent implements OnInit, OnDestroy {
4949
template: `
5050
<StackLayout>
5151
<StackLayout class="nav">
52-
<Button text="First" [class.rlaActive]="rla.isActive" nsRouterLinkActive="active" nsRouterLink="/first" #rla="routerLinkActive"></Button>
53-
<Button text="Second(1)" nsRouterLinkActive="active" nsRouterLink="/second/1"></Button>
52+
<Button text="First"
53+
[class.rlaActive]="rla.isActive"
54+
nsRouterLinkActive="active"
55+
nsRouterLink="/first"
56+
#rla="routerLinkActive"></Button>
57+
<Button text="Second(1)"
58+
nsRouterLinkActive="active"
59+
nsRouterLink="/second/1"></Button>
5460
<Button text="Second(2)"
5561
nsRouterLinkActive="active"
5662
[nsRouterLink]="['/second', '2' ]">

0 commit comments

Comments
 (0)