Add button to edit publications on publication view page.

This commit is contained in:
Florian THIERRY
2024-08-25 12:02:52 +02:00
parent f00fb103ba
commit 4d20d5f8b8
5 changed files with 51 additions and 28 deletions

View File

@@ -1,26 +1,30 @@
import { Component, OnDestroy, OnInit, inject } from '@angular/core';
import { PublicationRestService } from '../../core/rest-services/publications/publication.rest-service';
import { ActivatedRoute } from '@angular/router';
import { ActivatedRoute, RouterModule } from '@angular/router';
import { Subscription } from 'rxjs';
import { Publication } from '../../core/rest-services/publications/model/publication';
import { MatSnackBar } from '@angular/material/snack-bar';
import { CommonModule } from '@angular/common';
import { MatProgressSpinner } from '@angular/material/progress-spinner';
import { MatTooltip } from '@angular/material/tooltip';
import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
import { MatIcon } from '@angular/material/icon';
import { AuthenticationService } from '../../core/service/authentication.service';
@Component({
selector: 'app-publication',
standalone: true,
imports: [CommonModule, MatProgressSpinner, MatTooltip],
imports: [CommonModule, MatProgressSpinner, MatTooltip, RouterModule, MatIcon, MatTooltipModule],
templateUrl: './publication.component.html',
styleUrl: './publication.component.scss'
})
export class PublicationComponent implements OnInit, OnDestroy {
private activatedRoute = inject(ActivatedRoute);
private authenticationService = inject(AuthenticationService);
private publicationRestService = inject(PublicationRestService);
private paramMapSubscription?: Subscription;
private snackBar = inject(MatSnackBar);
isLoading: boolean = false;
isAuthorAndUserEquals: boolean = false;
publication?: Publication;
ngOnInit(): void {
@@ -35,6 +39,7 @@ export class PublicationComponent implements OnInit, OnDestroy {
this.publicationRestService.getById(publicationId)
.then(publication => {
this.publication = publication;
this.isAuthorAndUserEquals = this.authenticationService.getAuthenticatedUser()?.id === this.publication.author.id;
})
.catch(error => {
this.snackBar.open('An error occurred while loading publication...', 'Close', { duration: 5000 });
@@ -45,8 +50,6 @@ export class PublicationComponent implements OnInit, OnDestroy {
});
}
});
// this.publicationRestService.getById()
}
ngOnDestroy(): void {