import { NgModule, Injectable } from '@angular/core'; import { RouterModule, Route } from '@angular/router'; import { HttpClient } from '@angular/common/http'; import { Observable, of } from 'rxjs'; import { ConfigModule } from '@arrow/bom/config'; import { HooksModule } from '@arrow/bom/hooks'; import { ViewModule, ViewComponent } from '@arrow/bom/view'; import { ManagementModule, ManagementComponent } from '@arrow/bom/management'; import { FeatureFlagRoutingModule } from './feature-flag'; import { MaintenanceModule } from './maintenance'; import { environment } from '../../environments/environment'; import { MappingComponent, MappingModule } from '@arrow/bom/mapping'; const bomConfig = environment.bomConfig; export const routes: Route[] = [ { path: '', component: ManagementComponent }, { path: 'view/:id/:page/:size', component: ViewComponent }, { path: 'view/:id/:page', redirectTo: 'view/:id/:page/25'}, { path: 'mapping', component: MappingComponent } ]; @Injectable() export class Refresh { constructor(private http: HttpClient) {} public refresh() { console.log(this.http.get('http://google.com')); } public getCurrencyObservable(): Observable { const currencyCode = 'USD'; console.log('Playground app setting initial currency: ', currencyCode); return of(currencyCode); } public getFeatureFlags(): Observable { // TODO move this to some local config file return of({ bomScopeMaintenance: false }); } } @NgModule({ imports: [ RouterModule.forChild(routes), ConfigModule.forRoot(bomConfig), HooksModule.forRoot(Refresh), ViewModule, ManagementModule, FeatureFlagRoutingModule, MaintenanceModule, MappingModule ], exports: [RouterModule] }) export class BomRouterModule {}