Add version revisions component.
This commit is contained in:
@@ -20,6 +20,7 @@ import { UnauthorizedInterceptor } from './core/interceptors/unauthorized.interc
|
|||||||
// Components
|
// Components
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
import { HeaderComponent } from './header/header.component';
|
import { HeaderComponent } from './header/header.component';
|
||||||
|
import { FooterComponent } from './footer/footer.component';
|
||||||
import { LoginComponent } from './login/login.component';
|
import { LoginComponent } from './login/login.component';
|
||||||
import { DisconnectionComponent } from './disconnection/disconnection.component';
|
import { DisconnectionComponent } from './disconnection/disconnection.component';
|
||||||
import { HomeComponent } from './home/home.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 { NotFoundComponent } from './not-found/not-found.component';
|
||||||
import { ByCategoryComponent } from './posts/byCategory/by-category.component';
|
import { ByCategoryComponent } from './posts/byCategory/by-category.component';
|
||||||
import { CreateUpdatePostComponent } from './posts/create-update/create-update-post.component';
|
import { CreateUpdatePostComponent } from './posts/create-update/create-update-post.component';
|
||||||
|
import { VersionRevisionComponent } from './version-revisions/version-revisions.component';
|
||||||
|
|
||||||
// Reusable components
|
// Reusable components
|
||||||
import { PostCardComponent } from './core/post-card/post-card.component';
|
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 { PostService } from './posts/post.service';
|
||||||
import { ByCategoryService } from './posts/byCategory/by-category.service';
|
import { ByCategoryService } from './posts/byCategory/by-category.service';
|
||||||
import { CreateUpdatePostService } from './posts/create-update/create-update-post.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({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [
|
||||||
@@ -66,7 +68,8 @@ import { FooterComponent } from './footer/footer.component';
|
|||||||
PostComponent,
|
PostComponent,
|
||||||
NotFoundComponent,
|
NotFoundComponent,
|
||||||
ByCategoryComponent,
|
ByCategoryComponent,
|
||||||
CreateUpdatePostComponent
|
CreateUpdatePostComponent,
|
||||||
|
VersionRevisionComponent
|
||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
BrowserModule,
|
BrowserModule,
|
||||||
@@ -92,6 +95,7 @@ import { FooterComponent } from './footer/footer.component';
|
|||||||
PostService,
|
PostService,
|
||||||
ByCategoryService,
|
ByCategoryService,
|
||||||
CreateUpdatePostService,
|
CreateUpdatePostService,
|
||||||
|
VersionRevisionService,
|
||||||
{ provide: HTTP_INTERCEPTORS, useClass: UnauthorizedInterceptor, multi: true }
|
{ provide: HTTP_INTERCEPTORS, useClass: UnauthorizedInterceptor, multi: true }
|
||||||
],
|
],
|
||||||
bootstrap: [AppComponent]
|
bootstrap: [AppComponent]
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import { ProfilEditionComponent } from './account-settings/profil-edition/profil
|
|||||||
import { PostComponent } from './posts/post.component';
|
import { PostComponent } from './posts/post.component';
|
||||||
import { ByCategoryComponent } from './posts/byCategory/by-category.component';
|
import { ByCategoryComponent } from './posts/byCategory/by-category.component';
|
||||||
import { CreateUpdatePostComponent } from './posts/create-update/create-update-post.component';
|
import { CreateUpdatePostComponent } from './posts/create-update/create-update-post.component';
|
||||||
|
import { VersionRevisionComponent } from './version-revisions/version-revisions.component';
|
||||||
|
|
||||||
export const appRoutes: Routes = [
|
export const appRoutes: Routes = [
|
||||||
{ path: '', redirectTo: '/home', pathMatch: 'full' },
|
{ path: '', redirectTo: '/home', pathMatch: 'full' },
|
||||||
@@ -26,5 +27,7 @@ export const appRoutes: Routes = [
|
|||||||
{ path: 'posts/:postKey', component: PostComponent },
|
{ path: 'posts/:postKey', component: PostComponent },
|
||||||
{ path: 'posts/byCategory/:categoryId', component: ByCategoryComponent},
|
{ path: 'posts/byCategory/:categoryId', component: ByCategoryComponent},
|
||||||
{ path: 'posts/update/:postKey', component: CreateUpdatePostComponent, canActivate: [AuthGuard] },
|
{ path: 'posts/update/:postKey', component: CreateUpdatePostComponent, canActivate: [AuthGuard] },
|
||||||
|
{ path: 'versionrevisions', component: VersionRevisionComponent },
|
||||||
|
{ path: '', redirectTo: '/home', pathMatch: 'full' },
|
||||||
{ path: '**', redirectTo: '/home' }
|
{ 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