diff --git a/src/main/ts-v7/src/app/app.module.ts b/src/main/ts-v7/src/app/app.module.ts index 50e8e8c..a262bce 100755 --- a/src/main/ts-v7/src/app/app.module.ts +++ b/src/main/ts-v7/src/app/app.module.ts @@ -20,6 +20,7 @@ import { UnauthorizedInterceptor } from './core/interceptors/unauthorized.interc // Components import { AppComponent } from './app.component'; import { HeaderComponent } from './header/header.component'; +import { FooterComponent } from './footer/footer.component'; import { LoginComponent } from './login/login.component'; import { DisconnectionComponent } from './disconnection/disconnection.component'; import { HomeComponent } from './home/home.component'; @@ -31,6 +32,7 @@ import { PostComponent } from './posts/post.component'; import { NotFoundComponent } from './not-found/not-found.component'; import { ByCategoryComponent } from './posts/byCategory/by-category.component'; import { CreateUpdatePostComponent } from './posts/create-update/create-update-post.component'; +import { VersionRevisionComponent } from './version-revisions/version-revisions.component'; // Reusable components import { PostCardComponent } from './core/post-card/post-card.component'; @@ -47,7 +49,7 @@ import { ProfilEditionService } from './account-settings/profil-edition/profil-e import { PostService } from './posts/post.service'; import { ByCategoryService } from './posts/byCategory/by-category.service'; import { CreateUpdatePostService } from './posts/create-update/create-update-post.service'; -import { FooterComponent } from './footer/footer.component'; +import { VersionRevisionService } from './version-revisions/version-revisions.service'; @NgModule({ declarations: [ @@ -66,7 +68,8 @@ import { FooterComponent } from './footer/footer.component'; PostComponent, NotFoundComponent, ByCategoryComponent, - CreateUpdatePostComponent + CreateUpdatePostComponent, + VersionRevisionComponent ], imports: [ BrowserModule, @@ -92,6 +95,7 @@ import { FooterComponent } from './footer/footer.component'; PostService, ByCategoryService, CreateUpdatePostService, + VersionRevisionService, { provide: HTTP_INTERCEPTORS, useClass: UnauthorizedInterceptor, multi: true } ], bootstrap: [AppComponent] diff --git a/src/main/ts-v7/src/app/app.routing.ts b/src/main/ts-v7/src/app/app.routing.ts index 885a8e9..86d8aa8 100755 --- a/src/main/ts-v7/src/app/app.routing.ts +++ b/src/main/ts-v7/src/app/app.routing.ts @@ -12,6 +12,7 @@ import { ProfilEditionComponent } from './account-settings/profil-edition/profil import { PostComponent } from './posts/post.component'; import { ByCategoryComponent } from './posts/byCategory/by-category.component'; import { CreateUpdatePostComponent } from './posts/create-update/create-update-post.component'; +import { VersionRevisionComponent } from './version-revisions/version-revisions.component'; export const appRoutes: Routes = [ { path: '', redirectTo: '/home', pathMatch: 'full' }, @@ -26,5 +27,7 @@ export const appRoutes: Routes = [ { path: 'posts/:postKey', component: PostComponent }, { path: 'posts/byCategory/:categoryId', component: ByCategoryComponent}, { path: 'posts/update/:postKey', component: CreateUpdatePostComponent, canActivate: [AuthGuard] }, + { path: 'versionrevisions', component: VersionRevisionComponent }, + { path: '', redirectTo: '/home', pathMatch: 'full' }, { path: '**', redirectTo: '/home' } ]; diff --git a/src/main/ts-v7/src/app/version-revisions/version-revisions.component.html b/src/main/ts-v7/src/app/version-revisions/version-revisions.component.html new file mode 100644 index 0000000..dfd464f --- /dev/null +++ b/src/main/ts-v7/src/app/version-revisions/version-revisions.component.html @@ -0,0 +1,34 @@ +
+
+

Versions

+ +
+
+
+

Ajouts de fonctionnalités

+
    +
  • + {{versionRevision.text}} +
  • +
+
+

Aucune nouvelle fonctionnalité pour cette version.

+ +
+

Correction d'anomalies

+
    +
  • + {{versionRevision.text}} +
  • +
+
+

Aucune correction d'anomalie pour cette version.

+
+
diff --git a/src/main/ts-v7/src/app/version-revisions/version-revisions.component.ts b/src/main/ts-v7/src/app/version-revisions/version-revisions.component.ts new file mode 100644 index 0000000..faf1b2b --- /dev/null +++ b/src/main/ts-v7/src/app/version-revisions/version-revisions.component.ts @@ -0,0 +1,49 @@ +import { Component, OnInit } from '@angular/core'; +import { VersionRevisionService } from './version-revisions.service'; +import { VersionRevision, Version } from '../core/entities'; + +@Component({ + selector: 'app-version-revisions', + templateUrl: 'version-revisions.component.html', + styles: [` + #versionRevisionsArea { + padding-top: 70px; + } + + @media screen and (max-width: 767px) { + #versionRevisionsArea { + padding-top: 20px; + } + } + `] +}) +export class VersionRevisionComponent implements OnInit { + versionsList: Array; + versionRevisionsList: Array; + versionRevisionsBugfixList: Array; + + constructor( + private versionRevisionService: VersionRevisionService + ) { + this.versionsList = []; + this.versionRevisionsList = []; + this.versionRevisionsBugfixList = []; + } + + ngOnInit(): void { + this.versionRevisionService.getVersions().subscribe(versionsList => { + this.versionsList = versionsList; + this.showVersionRevision(this.versionsList[0]); + }); + } + + showVersionRevision(version: Version): void { + this.versionsList.forEach(versionTmp => versionTmp.active = false); + version.active = true; + + this.versionRevisionService.findByVersionNumber(version.number).subscribe(versionRevisionsList => { + this.versionRevisionsList = versionRevisionsList.filter(vr => !vr.bugfix); + this.versionRevisionsBugfixList = versionRevisionsList.filter(vr => vr.bugfix); + }); + } +} diff --git a/src/main/ts-v7/src/app/version-revisions/version-revisions.service.ts b/src/main/ts-v7/src/app/version-revisions/version-revisions.service.ts new file mode 100644 index 0000000..f9da7c2 --- /dev/null +++ b/src/main/ts-v7/src/app/version-revisions/version-revisions.service.ts @@ -0,0 +1,19 @@ +import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { Observable } from 'rxjs'; +import { Version, VersionRevision } from '../core/entities'; + +@Injectable() +export class VersionRevisionService { + constructor( + private http: HttpClient + ) {} + + getVersions(): Observable> { + return this.http.get>(`/api/versionrevisions/versions`); + } + + findByVersionNumber(versionNumber: string): Observable> { + return this.http.get>(`/api/versionrevisions/${versionNumber}`); + } +}