Mess commit.
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
import { Location } from "@angular/common";
|
||||
import { inject, Injectable } from "@angular/core";
|
||||
import { inject, Injectable, OnDestroy } from "@angular/core";
|
||||
import { MatSnackBar } from "@angular/material/snack-bar";
|
||||
import { ActivatedRoute } from "@angular/router";
|
||||
import { BehaviorSubject, Observable } from "rxjs";
|
||||
import { BehaviorSubject, Observable, Subscription } from "rxjs";
|
||||
import { Publication } from "../../core/rest-services/publications/model/publication";
|
||||
import { PublicationRestService } from "../../core/rest-services/publications/publication.rest-service";
|
||||
import { copy } from '../../core/utils/ObjectUtils';
|
||||
import { MatDialog } from "@angular/material/dialog";
|
||||
import { PictureSelectionDialog } from "./picture-selection-dialog/picture-selection-dialog.component";
|
||||
|
||||
|
||||
const DEFAULT_PUBLICATION: Publication = {
|
||||
id: '',
|
||||
@@ -25,14 +28,20 @@ const DEFAULT_PUBLICATION: Publication = {
|
||||
};
|
||||
|
||||
@Injectable()
|
||||
export class PublicationEditionService {
|
||||
private activatedRoute = inject(ActivatedRoute);
|
||||
private publicationRestService = inject(PublicationRestService);
|
||||
private location = inject(Location);
|
||||
private snackBar = inject(MatSnackBar);
|
||||
export class PublicationEditionService implements OnDestroy {
|
||||
private readonly activatedRoute = inject(ActivatedRoute);
|
||||
private readonly publicationRestService = inject(PublicationRestService);
|
||||
private readonly location = inject(Location);
|
||||
private readonly snackBar = inject(MatSnackBar);
|
||||
private readonly dialog = inject(MatDialog);
|
||||
|
||||
private isLoadingSubject = new BehaviorSubject<boolean>(false);
|
||||
private publicationSubject = new BehaviorSubject<Publication>(copy(DEFAULT_PUBLICATION));
|
||||
private subscriptions: Subscription[] = [];
|
||||
|
||||
ngOnDestroy(): void {
|
||||
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
||||
}
|
||||
|
||||
private get _publication(): Publication {
|
||||
return this.publicationSubject.value;
|
||||
@@ -90,4 +99,22 @@ export class PublicationEditionService {
|
||||
publication.text = text;
|
||||
this._save(publication);
|
||||
}
|
||||
|
||||
editIllustrationId(pictureId: string): void {
|
||||
const publication = this._publication;
|
||||
publication.illustrationId = pictureId
|
||||
this._save(publication);
|
||||
}
|
||||
|
||||
displayPictureSectionDialog(): void {
|
||||
const dialogRef = this.dialog.open(PictureSelectionDialog);
|
||||
|
||||
const afterDialogCloseSubscription = dialogRef.afterClosed()
|
||||
.subscribe(newPictureId => {
|
||||
if (newPictureId) {
|
||||
this.editIllustrationId(newPictureId);
|
||||
}
|
||||
});
|
||||
this.subscriptions.push(afterDialogCloseSubscription);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user