| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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. |
| */ |
| import {LOCALE_ID, NgModule} from '@angular/core'; |
| import {BrowserModule} from '@angular/platform-browser'; |
| import {Http, HttpModule} from '@angular/http'; |
| import {AppComponent} from './app.component'; |
| import {appRoutes, appRoutingProviders} from './app.routes'; |
| import {HttpClient} from './services/http/http.service'; |
| import {IdentityService} from './services/identity/identity.service'; |
| import {OfficeService} from './services/office/office.service'; |
| import {CustomerService} from './services/customer/customer.service'; |
| import {AuthenticationService} from './services/security/authn/authentication.service'; |
| import {CatalogService} from './services/catalog/catalog.service'; |
| import {AccountingService} from './services/accounting/accounting.service'; |
| import {PortfolioService} from './services/portfolio/portfolio.service'; |
| import {TranslateLoader, TranslateModule, TranslateService} from '@ngx-translate/core'; |
| import {TranslateHttpLoader} from '@ngx-translate/http-loader'; |
| import {PermittableGroupIdMapper} from './services/security/authz/permittable-group-id-mapper'; |
| import {reducer} from './store'; |
| import {StoreModule} from '@ngrx/store'; |
| import {EffectsModule} from '@ngrx/effects'; |
| import {NotificationService} from './services/notification/notification.service'; |
| import {OfficeSearchApiEffects} from './store/office/effects/service.effects'; |
| import {EmployeeSearchApiEffects} from './store/employee/effects/service.effects'; |
| import {RoleSearchApiEffects} from './store/role/effects/service.effects'; |
| import {CustomerSearchApiEffects} from './store/customer/effects/service.effects'; |
| import {AccountSearchApiEffects} from './store/account/effects/service.effects'; |
| import {SecurityRouteEffects} from './store/security/effects/route.effects'; |
| import {SecurityApiEffects} from './store/security/effects/service.effects'; |
| import {SecurityNotificationEffects} from './store/security/effects/notification.effects'; |
| import {LedgerSearchApiEffects} from './store/ledger/effects/service.effects'; |
| import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; |
| import {ExistsGuardService} from './common/guards/exists-guard'; |
| import {CountryService} from './services/country/country.service'; |
| import {ImageService} from './services/image/image.service'; |
| import {DepositAccountService} from './services/depositAccount/deposit-account.service'; |
| import {CurrencyService} from './services/currency/currency.service'; |
| import {TellerService} from './services/teller/teller-service'; |
| import {ReportingService} from './services/reporting/reporting.service'; |
| import {getSelectedLanguage} from './common/i18n/translate'; |
| import {ChequeService} from './services/cheque/cheque.service'; |
| import {PayrollService} from './services/payroll/payroll.service'; |
| |
| export function HttpLoaderFactory(http: Http) { |
| return new TranslateHttpLoader(http, './assets/i18n/', '.json'); |
| } |
| |
| @NgModule({ |
| declarations: [ |
| AppComponent |
| ], |
| imports: [ |
| BrowserModule, |
| BrowserAnimationsModule, |
| HttpModule, |
| TranslateModule.forRoot({ |
| loader: { |
| provide: TranslateLoader, |
| useFactory: HttpLoaderFactory, |
| deps: [Http] |
| } |
| }), |
| appRoutes, |
| StoreModule.provideStore(reducer), |
| |
| /** |
| * Root effects |
| */ |
| EffectsModule.run(SecurityApiEffects), |
| EffectsModule.run(SecurityRouteEffects), |
| EffectsModule.run(SecurityNotificationEffects), |
| |
| EffectsModule.run(OfficeSearchApiEffects), |
| EffectsModule.run(EmployeeSearchApiEffects), |
| EffectsModule.run(CustomerSearchApiEffects), |
| EffectsModule.run(AccountSearchApiEffects), |
| EffectsModule.run(RoleSearchApiEffects), |
| EffectsModule.run(LedgerSearchApiEffects) |
| ], |
| providers: [ |
| HttpClient, |
| AuthenticationService, |
| PermittableGroupIdMapper, |
| IdentityService, |
| OfficeService, |
| CustomerService, |
| CatalogService, |
| AccountingService, |
| PortfolioService, |
| DepositAccountService, |
| TellerService, |
| ReportingService, |
| ChequeService, |
| PayrollService, |
| CountryService, |
| CurrencyService, |
| NotificationService, |
| ExistsGuardService, |
| ...appRoutingProviders, |
| ImageService, |
| { |
| provide: LOCALE_ID, useFactory: getSelectedLanguage, deps: [TranslateService], |
| } |
| ], |
| bootstrap: [ AppComponent ] |
| }) |
| export class AppModule {} |