Skip to content

Commit ca5b5d8

Browse files
author
vakrilov
committed
NativeScriptModule extracted
1 parent 64bc16a commit ca5b5d8

File tree

2 files changed

+86
-71
lines changed

2 files changed

+86
-71
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
import 'globals';
2+
import "./zone.js/dist/zone-nativescript";
3+
4+
import 'reflect-metadata';
5+
import './polyfills/array';
6+
import './polyfills/console';
7+
8+
import { CommonModule } from '@angular/common';
9+
import { NativeScriptRootRenderer, NativeScriptRenderer } from './renderer';
10+
import { DetachedLoader } from "./common/detached-loader";
11+
import { ModalDialogHost, ModalDialogService } from "./directives/dialogs";
12+
import {
13+
ApplicationModule,
14+
ErrorHandler,
15+
Renderer,
16+
RootRenderer,
17+
Sanitizer,
18+
NgModule
19+
} from '@angular/core';
20+
import {
21+
defaultPageProvider, defaultFrameProvider, defaultDeviceProvider
22+
} from "./platform-providers";
23+
import { NativeScriptSanitizer } from './dom-adapter';
24+
import { NS_DIRECTIVES } from './directives';
25+
26+
import * as nativescriptIntl from "nativescript-intl";
27+
global.Intl = nativescriptIntl;
28+
29+
export interface AppOptions {
30+
bootInExistingPage: boolean,
31+
cssFile?: string;
32+
startPageActionBarHidden?: boolean;
33+
}
34+
35+
export const errorHandlerFactory = () => {
36+
return new ErrorHandler(true);
37+
};
38+
39+
@NgModule({
40+
declarations: [
41+
DetachedLoader,
42+
ModalDialogHost,
43+
...NS_DIRECTIVES,
44+
],
45+
providers: [
46+
{ provide: ErrorHandler, useFactory: errorHandlerFactory },
47+
defaultFrameProvider,
48+
defaultPageProvider,
49+
defaultDeviceProvider,
50+
NativeScriptRootRenderer,
51+
{ provide: RootRenderer, useClass: NativeScriptRootRenderer },
52+
NativeScriptRenderer,
53+
{ provide: Renderer, useClass: NativeScriptRenderer },
54+
{ provide: Sanitizer, useClass: NativeScriptSanitizer },
55+
ModalDialogService
56+
],
57+
entryComponents: [
58+
DetachedLoader,
59+
],
60+
imports: [
61+
CommonModule,
62+
ApplicationModule,
63+
],
64+
exports: [
65+
CommonModule,
66+
ApplicationModule,
67+
DetachedLoader,
68+
ModalDialogHost,
69+
...NS_DIRECTIVES,
70+
]
71+
})
72+
export class NativeScriptModule {
73+
}

nativescript-angular/platform.ts

Lines changed: 13 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -9,109 +9,53 @@ import {
99
ElementSchemaRegistry,
1010
ResourceLoader,
1111
COMPILER_PROVIDERS,
12-
CompilerConfig,
1312
platformCoreDynamic
1413
} from '@angular/compiler';
15-
import {CommonModule} from '@angular/common';
16-
import {Provider} from '@angular/core';
17-
import {NativeScriptRootRenderer, NativeScriptRenderer} from './renderer';
18-
import {DetachedLoader} from "./common/detached-loader";
19-
import {ModalDialogHost, ModalDialogService} from "./directives/dialogs";
14+
import { Provider } from '@angular/core';
2015
import {
2116
Type,
2217
Injector,
23-
OpaqueToken,
24-
ApplicationModule,
25-
ErrorHandler,
26-
platformCore,
2718
CompilerOptions,
2819
COMPILER_OPTIONS,
29-
CompilerFactory,
30-
PLATFORM_INITIALIZER,
31-
Renderer,
32-
RootRenderer,
33-
Sanitizer,
3420
PlatformRef,
35-
ComponentRef,
36-
NgModule,
3721
NgModuleFactory,
3822
NgModuleRef,
3923
EventEmitter,
24+
OpaqueToken,
4025
createPlatformFactory
4126
} from '@angular/core';
4227
import * as application from "application";
4328
import { topmost, NavigationEntry } from "ui/frame";
4429
import { Page } from 'ui/page';
4530
import { rendererLog, rendererError } from "./trace";
4631
import { TextView } from 'ui/text-view';
47-
import {
48-
defaultPageProvider, defaultFrameProvider, defaultDeviceProvider
49-
} from "./platform-providers";
50-
import { NativeScriptDomAdapter, NativeScriptElementSchemaRegistry, NativeScriptSanitizer
51-
} from './dom-adapter';
32+
33+
import { NativeScriptElementSchemaRegistry } from './dom-adapter';
5234
import { FileSystemResourceLoader } from './resource-loader';
53-
import { NS_DIRECTIVES } from './directives';
5435

5536
import * as nativescriptIntl from "nativescript-intl";
5637
global.Intl = nativescriptIntl;
5738

5839
type PlatformFactory = (extraProviders?: Provider[]) => PlatformRef;
5940

41+
export { NativeScriptModule } from "./nativescript.module";
42+
6043
export interface AppOptions {
6144
bootInExistingPage: boolean,
6245
cssFile?: string;
6346
startPageActionBarHidden?: boolean;
6447
}
6548

66-
@NgModule({
67-
declarations: [
68-
DetachedLoader,
69-
ModalDialogHost,
70-
...NS_DIRECTIVES,
71-
],
72-
providers: [
73-
{
74-
provide:ErrorHandler,
75-
useFactory: () => {
76-
return new ErrorHandler(true)
77-
}
78-
},
79-
defaultFrameProvider,
80-
defaultPageProvider,
81-
defaultDeviceProvider,
82-
NativeScriptRootRenderer,
83-
{provide: RootRenderer, useClass: NativeScriptRootRenderer},
84-
NativeScriptRenderer,
85-
{provide: Renderer, useClass: NativeScriptRenderer},
86-
{provide: Sanitizer, useClass: NativeScriptSanitizer},
87-
ModalDialogService
88-
],
89-
entryComponents: [
90-
DetachedLoader,
91-
],
92-
imports: [
93-
CommonModule,
94-
ApplicationModule,
95-
],
96-
exports: [
97-
CommonModule,
98-
ApplicationModule,
99-
DetachedLoader,
100-
ModalDialogHost,
101-
...NS_DIRECTIVES,
102-
]
103-
})
104-
export class NativeScriptModule {
105-
}
106-
10749
export const NS_COMPILER_PROVIDERS = [
10850
COMPILER_PROVIDERS,
10951
{
11052
provide: COMPILER_OPTIONS,
111-
useValue: {providers: [
112-
{provide: ResourceLoader, useClass: FileSystemResourceLoader},
113-
{provide: ElementSchemaRegistry, useClass: NativeScriptElementSchemaRegistry},
114-
]},
53+
useValue: {
54+
providers: [
55+
{ provide: ResourceLoader, useClass: FileSystemResourceLoader },
56+
{ provide: ElementSchemaRegistry, useClass: NativeScriptElementSchemaRegistry },
57+
]
58+
},
11559
multi: true
11660
}
11761
];
@@ -124,8 +68,6 @@ interface BootstrapParams {
12468
appOptions?: AppOptions
12569
}
12670

127-
let bootstrapCache: BootstrapParams;
128-
12971
class NativeScriptPlatformRef extends PlatformRef {
13072
constructor(private platform: PlatformRef, private appOptions?: AppOptions) {
13173
super();
@@ -244,7 +186,7 @@ class NativeScriptPlatformRef extends PlatformRef {
244186
}
245187
}
246188

247-
var _platformNativeScriptDynamic: PlatformFactory = createPlatformFactory(
189+
const _platformNativeScriptDynamic: PlatformFactory = createPlatformFactory(
248190
platformCoreDynamic, 'nativeScriptDynamic', NS_COMPILER_PROVIDERS);
249191

250192
export function platformNativeScriptDynamic(options?: AppOptions, extraProviders?: any[]): PlatformRef {

0 commit comments

Comments
 (0)