From 95bcaca3623a017028fef2e2b4b5e5aac9267d28 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Tue, 13 Sep 2016 21:49:26 -0500 Subject: [PATCH] chore(module): move all providers to IonicModule --- src/module.ts | 113 +++++++++++++++++++++++++++++++++++++++++++-- src/providers.ts | 118 ----------------------------------------------- 2 files changed, 109 insertions(+), 122 deletions(-) delete mode 100644 src/providers.ts diff --git a/src/module.ts b/src/module.ts index f78ce90810..43f7a014a4 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1,13 +1,50 @@ -import { ModuleWithProviders, NgModule } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; +import { ANALYZE_FOR_ENTRY_COMPONENTS, ModuleWithProviders, NgModule } from '@angular/core'; +import { BrowserModule, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { HttpModule } from '@angular/http'; + +/** + * Import Providers + */ +import { ActionSheetController } from './components/action-sheet/action-sheet'; +import { AlertController } from './components/alert/alert'; +import { App } from './components/app/app'; +import { provideConfig } from './config/config'; +import { provideEvents } from './util/events'; +import { FeatureDetect } from './util/feature-detect'; +import { Form } from './util/form'; +import { GestureController } from './gestures/gesture-controller'; +import { IonicGestureConfig } from './gestures/gesture-config'; +import { Keyboard } from './util/keyboard'; +import { LoadingController } from './components/loading/loading'; +import { MenuController } from './components/menu/menu-controller'; +import { ModalController } from './components/modal/modal'; +import { PickerController } from './components/picker/picker'; +import { providePlatform, UserAgent, UserNavigatorPlatform, UserDir, UserLang } from './platform/platform'; +import { PopoverController } from './components/popover/popover'; +import { provideDeepLinker } from './navigation/deep-linker'; +import { provideQueryParams, UserUrl } from './platform/query-params'; +import { TapClick, provideTapClick } from './components/tap-click/tap-click'; +import { ToastController } from './components/toast/toast'; +import { Translate } from './translation/translate'; +import { TransitionController } from './transitions/transition-controller'; +import { UserRoot } from './components/app/app-root'; + +) +/** + * Export Providers + */ +export { DeepLinker, provideDeepLinker } from './navigation/deep-linker'; +export { NavController } from './navigation/nav-controller'; +export { NavParams } from './navigation/nav-params'; +export { NavLink, NavOptions, DeepLink, DeepLinkConfig } from './navigation/nav-util'; +export { ViewController } from './navigation/view-controller'; + import { ActionSheetCmp } from './components/action-sheet/action-sheet-component'; import { AlertCmp } from './components/alert/alert-component'; import { IONIC_DIRECTIVES } from './directives'; import { IonicApp } from './components/app/app-root'; -import { ionicProviders } from './providers'; import { LoadingCmp } from './components/loading/loading-component'; import { ModalCmp } from './components/modal/modal-component'; import { PickerCmp } from './components/picker/picker-component'; @@ -44,8 +81,76 @@ export class IonicModule { static forRoot(userAppRoot: any, userConfig?: any, userDeepLinkConfig?: any): ModuleWithProviders { return { ngModule: IonicModule, - providers: ionicProviders(userAppRoot, userConfig, userDeepLinkConfig) + providers: [ + { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: userAppRoot, multi: true }, + { provide: HAMMER_GESTURE_CONFIG, useClass: IonicGestureConfig }, + { provide: UserAgent, useFactory: getWindowUserAgent }, + { provide: UserDir, useFactory: getDocumentDir }, + { provide: UserLang, useFactory: getDocumentLang }, + { provide: UserNavigatorPlatform, useFactory: getWindowPlatform }, + { provide: UserRoot, useValue: userAppRoot }, + { provide: UserUrl, useFactory: getWindowLocation }, + + provideConfig(userConfig), + provideDeepLinker(userDeepLinkConfig), + provideEvents(), + providePlatform(), + provideQueryParams(), + provideTapClick(), + + ActionSheetController, + AlertController, + App, + Form, + FeatureDetect, + GestureController, + Keyboard, + LoadingController, + MenuController, + ModalController, + PickerController, + PopoverController, + TapClick, + ToastController, + Translate, + TransitionController + ] }; } } + +/** + * @private + */ +export function getWindowUserAgent() { + return window && window.navigator.userAgent; +} + +/** + * @private + */ +export function getWindowPlatform() { + return window && window.navigator.platform; +} + +/** + * @private + */ +export function getWindowLocation() { + return window && window.location.href; +} + +/** + * @private + */ +export function getDocumentDir() { + return document && document.documentElement.dir; +} + +/** + * @private + */ +export function getDocumentLang() { + return document && document.documentElement.lang; +} diff --git a/src/providers.ts b/src/providers.ts deleted file mode 100644 index f5f81b96ae..0000000000 --- a/src/providers.ts +++ /dev/null @@ -1,118 +0,0 @@ -import { ANALYZE_FOR_ENTRY_COMPONENTS } from '@angular/core'; -import { HAMMER_GESTURE_CONFIG } from '@angular/platform-browser'; - - -/** - * Import Providers - */ -import { ActionSheetController } from './components/action-sheet/action-sheet'; -import { AlertController } from './components/alert/alert'; -import { App } from './components/app/app'; -import { provideConfig } from './config/config'; -import { provideEvents } from './util/events'; -import { FeatureDetect } from './util/feature-detect'; -import { Form } from './util/form'; -import { GestureController } from './gestures/gesture-controller'; -import { IonicGestureConfig } from './gestures/gesture-config'; -import { Keyboard } from './util/keyboard'; -import { LoadingController } from './components/loading/loading'; -import { MenuController } from './components/menu/menu-controller'; -import { ModalController } from './components/modal/modal'; -import { PickerController } from './components/picker/picker'; -import { providePlatform, UserAgent, UserNavigatorPlatform, UserDir, UserLang } from './platform/platform'; -import { PopoverController } from './components/popover/popover'; -import { provideDeepLinker } from './navigation/deep-linker'; -import { provideQueryParams, UserUrl } from './platform/query-params'; -import { TapClick, provideTapClick } from './components/tap-click/tap-click'; -import { ToastController } from './components/toast/toast'; -import { Translate } from './translation/translate'; -import { TransitionController } from './transitions/transition-controller'; -import { UserRoot } from './components/app/app-root'; - - -/** - * Export Providers - */ -export { DeepLinker, provideDeepLinker } from './navigation/deep-linker'; -export { NavController } from './navigation/nav-controller'; -export { NavParams } from './navigation/nav-params'; -export { NavLink, NavOptions, DeepLink, DeepLinkConfig } from './navigation/nav-util'; -export { ViewController } from './navigation/view-controller'; - - -/** - * @private - * ionicProviders used by IonicModule - */ -export function ionicProviders(userRoot: any, userConfig?: any, userDeepLinkConfig?: any): any[] { - return [ - { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: userRoot, multi: true }, - { provide: HAMMER_GESTURE_CONFIG, useClass: IonicGestureConfig }, - { provide: UserAgent, useFactory: getWindowUserAgent }, - { provide: UserDir, useFactory: getDocumentDir }, - { provide: UserLang, useFactory: getDocumentLang }, - { provide: UserNavigatorPlatform, useFactory: getWindowPlatform }, - { provide: UserRoot, useValue: userRoot }, - { provide: UserUrl, useFactory: getWindowLocation }, - - provideConfig(userConfig), - provideDeepLinker(userDeepLinkConfig), - provideEvents(), - providePlatform(), - provideQueryParams(), - provideTapClick(), - - ActionSheetController, - AlertController, - App, - Form, - FeatureDetect, - GestureController, - Keyboard, - LoadingController, - MenuController, - ModalController, - PickerController, - PopoverController, - TapClick, - ToastController, - Translate, - TransitionController - ]; -} - - -/** - * @private - */ -export function getWindowUserAgent() { - return window && window.navigator.userAgent; -} - -/** - * @private - */ -export function getWindowPlatform() { - return window && window.navigator.platform; -} - -/** - * @private - */ -export function getWindowLocation() { - return window && window.location.href; -} - -/** - * @private - */ -export function getDocumentDir() { - return document && document.documentElement.dir; -} - -/** - * @private - */ -export function getDocumentLang() { - return document && document.documentElement.lang; -}