Update to have a configuration file out of the

app bundle.
This commit is contained in:
Sébastien André
2021-02-03 10:57:30 +01:00
parent 9a9dc3fbea
commit 671f02f440
18 changed files with 99 additions and 34 deletions

View File

@@ -2,10 +2,10 @@ import { Component, OnInit } from "@angular/core";
import { Router } from "@angular/router";
import { User } from "../models/user";
import { environment } from "../environments/environment";
import { AuthenticationService } from "../services/authentication.service";
import { ServiceComm } from "../services/service-comm.service";
import { ConfigurationHelper } from "../services/configuration-helper";
@Component({
selector: "app-root",
@@ -16,7 +16,7 @@ export class AppComponent implements OnInit {
public title = "app";
public showMenu = false;
public currentUser: User;
public version: string = environment.version;
public version: string;
constructor(
private router: Router,
@@ -26,6 +26,7 @@ export class AppComponent implements OnInit {
this.authenticationService.currentUser.subscribe(
x => (this.currentUser = x)
);
//this.version = ConfigurationHelper.settings.version;
}
ngOnInit() {

View File

@@ -1,5 +1,5 @@
import { BrowserModule } from "@angular/platform-browser";
import { NgModule } from "@angular/core";
import { APP_INITIALIZER, NgModule } from "@angular/core";
import { RouterModule, Routes } from "@angular/router";
import { HttpClientModule, HTTP_INTERCEPTORS } from "@angular/common/http";
@@ -33,6 +33,7 @@ import { ServiceComm } from "../services/service-comm.service";
import { RequestCache } from "../services/request-cache.service";
import { AuthGuardService } from "../services/auth-guard.service";
import { ImageService } from "../services/image.service";
import { ConfigurationHelper } from "../services/configuration-helper";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
@@ -107,9 +108,14 @@ const appRoutes: Routes = [
{ path: "login", component: LoginComponent },
{ path: "**", redirectTo: "" },
//{ path: "**", redirectTo: "" },
];
// Déclaration de la fonction d'initialisation de la configuration
export function initConfig(configService: ConfigurationHelper) {
return () => configService.load(environment.env);
}
@NgModule({
declarations: [
AppComponent,
@@ -136,7 +142,6 @@ const appRoutes: Routes = [
RouterModule.forRoot(
appRoutes,
{ enableTracing: !environment.production, relativeLinkResolution: 'legacy' } // <-- debugging purposes only
// <-- debugging purposes only
),
ReactiveFormsModule,
FormsModule,
@@ -172,10 +177,13 @@ const appRoutes: Routes = [
ServiceComm,
DateService,
RequestCache,
// { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true }
ConfigurationHelper,
{ provide: APP_INITIALIZER, useFactory: initConfig, deps: [ConfigurationHelper], multi: true },
{ provide: HTTP_INTERCEPTORS, useClass: JwtAuthInterceptor, multi: true },
{ provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },
// { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true }
],
bootstrap: [AppComponent],
})
export class AppModule {}
export class AppModule {
}