1
1
// "nativescript-angular/application" import should be first in order to load some required settings (like globals and reflect-metadata)
2
- import { nativeScriptBootstrap , bootstrap } from "nativescript-angular/application" ;
2
+ import { NativeScriptModule , platformNativeScriptDynamic } from "nativescript-angular/platform" ;
3
+ import { NativeScriptRouterModule } from "nativescript-angular/router" ;
4
+ import { NativeScriptFormsModule } from "nativescript-angular/forms" ;
3
5
import { AppComponent } from "./app.component" ;
4
6
import { GestureComponent } from "./snippets/gestures.component" ;
5
7
import { LayoutsComponent } from "./snippets/layouts.component" ;
@@ -10,9 +12,9 @@ import {StackLayout} from "ui/layouts/stack-layout";
10
12
11
13
import * as application from "application" ;
12
14
import { HOOKS_LOG } from "./base.component" ;
13
- import { MultiPageMain , MultiPageRouterProviders } from "./multi-page-main.component" ;
14
- import { SinglePageMain , SinglePageRouterProviders } from "./single-page-main.component" ;
15
- import { provide , OpaqueToken } from "@angular/core" ;
15
+ import { MultiPageMain , routes as multiPageRoutes } from "./multi-page-main.component" ;
16
+ import { SinglePageMain , routes as singlePageRoutes } from "./single-page-main.component" ;
17
+ import { provide , OpaqueToken , NgModule } from "@angular/core" ;
16
18
17
19
import { APP_ROUTER_PROVIDERS } from "./snippets/navigation/app.routes" ;
18
20
import { PageNavigationApp } from "./snippets/navigation/page-outlet" ;
@@ -28,17 +30,73 @@ trace.setCategories(routerTraceCategory);
28
30
trace . enable ( ) ;
29
31
30
32
// nativeScriptBootstrap(NavigationApp, [APP_ROUTER_PROVIDERS]);
31
- // nativeScriptBootstrap(PageRouterNavigationApp, [APP_ROUTER_PROVIDERS]);
32
33
33
34
34
- // nativeScriptBootstrap(MultiPageMain, [NS_ROUTER_PROVIDERS]);
35
35
// nativeScriptBootstrap(GestureComponent);
36
36
// nativeScriptBootstrap(LayoutsComponent);
37
37
// nativeScriptBootstrap(IconFontComponent);
38
+ const platform = platformNativeScriptDynamic ( { bootInExistingPage : true } ) ;
39
+ const root = new StackLayout ( ) ;
40
+ const rootViewProvider = provide ( APP_ROOT_VIEW , { useValue : root } ) ;
41
+ const singlePageHooksLog = new BehaviorSubject ( [ ] ) ;
42
+ const singlePageHooksLogProvider = provide ( HOOKS_LOG , { useValue : singlePageHooksLog } ) ;
43
+ const multiPageHooksLog = new BehaviorSubject ( [ ] ) ;
44
+ const multiPageHooksLogProvider = provide ( HOOKS_LOG , { useValue : multiPageHooksLog } ) ;
45
+
46
+ @NgModule ( {
47
+ bootstrap : [
48
+ SinglePageMain
49
+ ] ,
50
+ declarations : [
51
+ SinglePageMain
52
+ ] ,
53
+ imports : [
54
+ NativeScriptModule ,
55
+ NativeScriptFormsModule ,
56
+ NativeScriptRouterModule ,
57
+ NativeScriptRouterModule . forRoot ( singlePageRoutes ) ,
58
+ ] ,
59
+ exports : [
60
+ NativeScriptModule ,
61
+ NativeScriptFormsModule ,
62
+ NativeScriptRouterModule ,
63
+ ] ,
64
+ providers : [
65
+ rootViewProvider ,
66
+ singlePageHooksLogProvider ,
67
+ ]
68
+ } )
69
+ class SinglePageModule { }
70
+
71
+ @NgModule ( {
72
+ bootstrap : [
73
+ MultiPageMain
74
+ ] ,
75
+ declarations : [
76
+ MultiPageMain
77
+ ] ,
78
+ imports : [
79
+ NativeScriptModule ,
80
+ NativeScriptFormsModule ,
81
+ NativeScriptRouterModule ,
82
+ NativeScriptRouterModule . forRoot ( multiPageRoutes ) ,
83
+ ] ,
84
+ exports : [
85
+ NativeScriptModule ,
86
+ NativeScriptFormsModule ,
87
+ NativeScriptRouterModule ,
88
+ ] ,
89
+ providers : [
90
+ rootViewProvider ,
91
+ multiPageHooksLogProvider ,
92
+ ]
93
+ } )
94
+ class MultiPageModule { }
95
+
96
+
38
97
application . start ( {
39
98
create : ( ) : Page => {
40
99
const page = new Page ( ) ;
41
- const root = new StackLayout ( ) ;
42
100
page . content = root ;
43
101
44
102
let onLoadedHandler = function ( args ) {
@@ -48,17 +106,9 @@ application.start({
48
106
49
107
//profiling.start('ng-bootstrap');
50
108
console . log ( 'BOOTSTRAPPING TEST APPS...' ) ;
51
- //bootstrap(MultiPageMain, [NS_ROUTER_PROVIDERS]);
52
-
53
- const rootViewProvider = provide ( APP_ROOT_VIEW , { useValue : root } ) ;
54
109
55
- let singlePageHooksLog = new BehaviorSubject ( [ ] ) ;
56
- const singlePageHooksLogProvider = provide ( HOOKS_LOG , { useValue : singlePageHooksLog } ) ;
57
- bootstrap ( SinglePageMain , [ rootViewProvider , singlePageHooksLogProvider , SinglePageRouterProviders ] ) ;
58
-
59
- let multiPageHooksLog = new BehaviorSubject ( [ ] ) ;
60
- const multiPageHooksLogProvider = provide ( HOOKS_LOG , { useValue : multiPageHooksLog } ) ;
61
- bootstrap ( MultiPageMain , [ rootViewProvider , multiPageHooksLogProvider , MultiPageRouterProviders ] ) ;
110
+ platform . bootstrapModule ( SinglePageModule ) ;
111
+ platform . bootstrapModule ( MultiPageModule ) ;
62
112
}
63
113
64
114
page . on ( 'loaded' , onLoadedHandler ) ;
0 commit comments