2017-11-14 07:58:20 +00:00
|
|
|
// (C) Copyright 2015 Martin Dougiamas
|
|
|
|
//
|
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
// you may not use this file except in compliance with the License.
|
|
|
|
// You may obtain a copy of the License at
|
|
|
|
//
|
|
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
//
|
|
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
// See the License for the specific language governing permissions and
|
|
|
|
// limitations under the License.
|
|
|
|
|
2017-10-18 10:20:40 +00:00
|
|
|
import { BrowserModule } from '@angular/platform-browser';
|
|
|
|
import { ErrorHandler, NgModule } from '@angular/core';
|
2017-11-07 12:01:32 +00:00
|
|
|
import { IonicApp, IonicErrorHandler, IonicModule, Platform } from 'ionic-angular';
|
2017-10-30 15:40:50 +00:00
|
|
|
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
2017-10-26 13:03:08 +00:00
|
|
|
|
2017-10-18 10:20:40 +00:00
|
|
|
import { SplashScreen } from '@ionic-native/splash-screen';
|
|
|
|
import { StatusBar } from '@ionic-native/status-bar';
|
2017-10-25 13:17:59 +00:00
|
|
|
import { SQLite } from '@ionic-native/sqlite';
|
2017-10-26 13:03:08 +00:00
|
|
|
import { Keyboard } from '@ionic-native/keyboard';
|
|
|
|
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
|
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
2017-10-18 10:20:40 +00:00
|
|
|
|
|
|
|
import { MyApp } from './app.component';
|
2017-10-23 08:58:03 +00:00
|
|
|
import { CoreLoggerProvider } from '../providers/logger';
|
2017-10-25 13:17:59 +00:00
|
|
|
import { CoreDbProvider } from '../providers/db';
|
2017-10-26 13:03:08 +00:00
|
|
|
import { CoreAppProvider } from '../providers/app';
|
2017-10-27 06:56:18 +00:00
|
|
|
import { CoreConfigProvider } from '../providers/config';
|
2017-10-30 15:40:50 +00:00
|
|
|
import { CoreEmulatorModule } from '../core/emulator/emulator.module';
|
2017-11-02 11:38:01 +00:00
|
|
|
import { CoreLangProvider } from '../providers/lang';
|
2017-11-06 16:17:11 +00:00
|
|
|
import { CoreTextUtilsProvider } from '../providers/utils/text';
|
|
|
|
import { CoreDomUtilsProvider } from '../providers/utils/dom';
|
|
|
|
import { CoreTimeUtilsProvider } from '../providers/utils/time';
|
|
|
|
import { CoreUrlUtilsProvider } from '../providers/utils/url';
|
|
|
|
import { CoreUtilsProvider } from '../providers/utils/utils';
|
|
|
|
import { CoreMimetypeUtilsProvider } from '../providers/utils/mimetype';
|
2017-11-07 12:01:32 +00:00
|
|
|
import { CoreInitDelegate } from '../providers/init';
|
2017-11-08 13:48:34 +00:00
|
|
|
import { CoreFileProvider } from '../providers/file';
|
2017-11-09 12:00:08 +00:00
|
|
|
import { CoreWSProvider } from '../providers/ws';
|
2017-11-13 12:35:44 +00:00
|
|
|
import { CoreEventsProvider } from '../providers/events';
|
|
|
|
import { CoreSitesFactoryProvider } from '../providers/sites-factory';
|
2017-11-14 07:58:20 +00:00
|
|
|
import { CoreSitesProvider } from '../providers/sites';
|
2017-11-14 14:43:03 +00:00
|
|
|
import { CoreLocalNotificationsProvider } from '../providers/local-notifications';
|
2017-11-15 07:47:28 +00:00
|
|
|
import { CoreGroupsProvider } from '../providers/groups';
|
2017-11-15 13:51:18 +00:00
|
|
|
import { CoreCronDelegate } from '../providers/cron';
|
2017-11-20 15:19:21 +00:00
|
|
|
import { CoreFileSessionProvider } from '../providers/file-session';
|
|
|
|
import { CoreFilepoolProvider } from '../providers/filepool';
|
2017-10-26 13:03:08 +00:00
|
|
|
|
|
|
|
// For translate loader. AoT requires an exported function for factories.
|
|
|
|
export function createTranslateLoader(http: HttpClient) {
|
2017-11-02 11:38:01 +00:00
|
|
|
return new TranslateHttpLoader(http, './assets/lang/', '.json');
|
2017-10-26 13:03:08 +00:00
|
|
|
}
|
2017-10-18 10:20:40 +00:00
|
|
|
|
|
|
|
@NgModule({
|
2017-10-26 13:03:08 +00:00
|
|
|
declarations: [
|
|
|
|
MyApp
|
|
|
|
],
|
|
|
|
imports: [
|
|
|
|
BrowserModule,
|
2017-10-30 15:40:50 +00:00
|
|
|
HttpClientModule,
|
2017-10-26 13:03:08 +00:00
|
|
|
IonicModule.forRoot(MyApp),
|
|
|
|
TranslateModule.forRoot({
|
|
|
|
loader: {
|
|
|
|
provide: TranslateLoader,
|
|
|
|
useFactory: (createTranslateLoader),
|
|
|
|
deps: [HttpClient]
|
|
|
|
}
|
2017-10-30 15:40:50 +00:00
|
|
|
}),
|
|
|
|
CoreEmulatorModule
|
2017-10-26 13:03:08 +00:00
|
|
|
],
|
|
|
|
bootstrap: [IonicApp],
|
|
|
|
entryComponents: [
|
|
|
|
MyApp
|
|
|
|
],
|
|
|
|
providers: [
|
|
|
|
StatusBar,
|
|
|
|
SplashScreen,
|
|
|
|
SQLite,
|
|
|
|
Keyboard,
|
|
|
|
{provide: ErrorHandler, useClass: IonicErrorHandler},
|
|
|
|
CoreLoggerProvider,
|
|
|
|
CoreDbProvider,
|
|
|
|
CoreAppProvider,
|
2017-11-02 11:38:01 +00:00
|
|
|
CoreConfigProvider,
|
2017-11-06 16:17:11 +00:00
|
|
|
CoreLangProvider,
|
|
|
|
CoreTextUtilsProvider,
|
|
|
|
CoreDomUtilsProvider,
|
|
|
|
CoreTimeUtilsProvider,
|
|
|
|
CoreUrlUtilsProvider,
|
|
|
|
CoreUtilsProvider,
|
2017-11-07 12:01:32 +00:00
|
|
|
CoreMimetypeUtilsProvider,
|
2017-11-08 13:48:34 +00:00
|
|
|
CoreInitDelegate,
|
2017-11-09 12:00:08 +00:00
|
|
|
CoreFileProvider,
|
2017-11-13 12:35:44 +00:00
|
|
|
CoreWSProvider,
|
|
|
|
CoreEventsProvider,
|
|
|
|
CoreSitesFactoryProvider,
|
2017-11-14 07:58:20 +00:00
|
|
|
CoreSitesProvider,
|
2017-11-14 14:43:03 +00:00
|
|
|
CoreLocalNotificationsProvider,
|
2017-11-15 07:47:28 +00:00
|
|
|
CoreGroupsProvider,
|
2017-11-15 13:51:18 +00:00
|
|
|
CoreCronDelegate,
|
2017-11-20 15:19:21 +00:00
|
|
|
CoreFileSessionProvider,
|
|
|
|
CoreFilepoolProvider,
|
2017-10-26 13:03:08 +00:00
|
|
|
]
|
2017-10-18 10:20:40 +00:00
|
|
|
})
|
2017-11-07 12:01:32 +00:00
|
|
|
export class AppModule {
|
|
|
|
constructor(platform: Platform, initDelegate: CoreInitDelegate) {
|
|
|
|
// Create a handler for platform ready and register it in the init delegate.
|
|
|
|
let handler = {
|
|
|
|
name: 'CorePlatformReady',
|
|
|
|
priority: initDelegate.MAX_RECOMMENDED_PRIORITY + 400,
|
|
|
|
blocking: true,
|
|
|
|
load: platform.ready
|
|
|
|
};
|
|
|
|
initDelegate.registerProcess(handler);
|
|
|
|
|
|
|
|
// Execute the init processes.
|
|
|
|
initDelegate.executeInitProcesses();
|
|
|
|
}
|
|
|
|
}
|