Add version revisions component.
This commit is contained in:
@@ -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]
|
||||
|
||||
@@ -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' }
|
||||
];
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<div class="row">
|
||||
<div class="col-md-3 col-lg-2">
|
||||
<h1>Versions</h1>
|
||||
<ul class="list-group">
|
||||
<a *ngFor="let version of versionsList">
|
||||
<li [className]="version.active ? 'list-group-item active' : 'list-group-item'"
|
||||
(click)="showVersionRevision(version)">
|
||||
{{version.number}}
|
||||
</li>
|
||||
</a>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="versionRevisionsArea" class="col-md-9 col-lg-10">
|
||||
<div *ngIf="versionRevisionsList.length">
|
||||
<h3>Ajouts de fonctionnalités</h3>
|
||||
<ul>
|
||||
<li *ngFor="let versionRevision of versionRevisionsList">
|
||||
{{versionRevision.text}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h4 *ngIf="!versionRevisionsList.length">Aucune nouvelle fonctionnalité pour cette version.</h4>
|
||||
|
||||
<div *ngIf="versionRevisionsBugfixList.length">
|
||||
<h3>Correction d'anomalies</h3>
|
||||
<ul>
|
||||
<li *ngFor="let versionRevision of versionRevisionsBugfixList">
|
||||
{{versionRevision.text}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h4 *ngIf="!versionRevisionsBugfixList.length">Aucune correction d'anomalie pour cette version.</h4>
|
||||
</div>
|
||||
</div>
|
||||
@@ -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<Version>;
|
||||
versionRevisionsList: Array<VersionRevision>;
|
||||
versionRevisionsBugfixList: Array<VersionRevision>;
|
||||
|
||||
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);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -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<Array<Version>> {
|
||||
return this.http.get<Array<Version>>(`/api/versionrevisions/versions`);
|
||||
}
|
||||
|
||||
findByVersionNumber(versionNumber: string): Observable<Array<VersionRevision>> {
|
||||
return this.http.get<Array<VersionRevision>>(`/api/versionrevisions/${versionNumber}`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user