-
-
Notifications
You must be signed in to change notification settings - Fork 241
/
Copy pathmodal.component.ts
86 lines (72 loc) · 2.65 KB
/
modal.component.ts
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import { Component, ViewContainerRef } from "@angular/core";
import { ModalDialogParams, ModalDialogOptions, ModalDialogService } from "nativescript-angular/directives/dialogs";
import { RouterExtensions, PageRoute } from "nativescript-angular/router";
import { ActivatedRoute } from "@angular/router";
import { View, ShownModallyData } from "tns-core-modules/ui/core/view"
import { confirm } from "tns-core-modules/ui/dialogs";
import { ModalRouterComponent } from "../modal/modal-router/modal-router.component";
import { NestedModalComponent } from "../modal-nested/modal-nested.component";
@Component({
moduleId: module.id,
selector: "modal-page",
templateUrl: "./modal.component.html"
})
export class ModalComponent {
public navigationVisibility: string = "collapse";
constructor(private params: ModalDialogParams,
private vcRef: ViewContainerRef,
private routerExtension: RouterExtensions,
private activeRoute: ActivatedRoute,
private modal: ModalDialogService) {
console.log("\nModalContent.constructor: " + JSON.stringify(params));
this.navigationVisibility = params.context.navigationVisibility ? "visible" : "collapse";
}
close(layoutRoot: View) {
layoutRoot.closeModal();
}
ngOnInit() {
}
ngOnDestroy() {
console.log("ModalContent.ngOnDestroy");
}
onShowingModally(args: ShownModallyData) {
console.log("modal-page showingModally");
}
showDialogConfirm() {
let options = {
title: "Dialog",
message: "Message",
okButtonText: "Yes",
cancelButtonText: "No"
}
confirm(options).then((result: boolean) => {
console.log(result);
})
}
showNestedModalFrame() {
const options: ModalDialogOptions = {
context: {
navigationVisibility: true,
modalRoute: "nested-frame-modal"
},
fullscreen: true,
viewContainerRef: this.vcRef
};
this.modal.showModal(ModalRouterComponent, options).then((res: string) => {
console.log("nested-modal-frame closed");
});
}
showNestedModal() {
const options: ModalDialogOptions = {
context: { navigationVisibility: false },
fullscreen: true,
viewContainerRef: this.vcRef
};
this.modal.showModal(NestedModalComponent, options).then((res: string) => {
console.log("nested-modal closed");
});
}
onNavigateSecondPage() {
this.routerExtension.navigate(["../modal-second"], { relativeTo: this.activeRoute });
}
}