24 lines
1.0 KiB
TypeScript
24 lines
1.0 KiB
TypeScript
import { inject, Injectable } from "@angular/core";
|
|
import { PictureRestService } from "../../../core/rest-services/picture/picture.rest-service";
|
|
import { MatSnackBar } from "@angular/material/snack-bar";
|
|
import { MatDialogRef } from "@angular/material/dialog";
|
|
import { PictureSelectionDialog } from "./picture-selection-dialog.component";
|
|
|
|
@Injectable()
|
|
export class PictureSelectionDialogService {
|
|
private pictureRestService = inject(PictureRestService);
|
|
private snackBar = inject(MatSnackBar);
|
|
private readonly dialogRef = inject(MatDialogRef<PictureSelectionDialog>);
|
|
|
|
uploadPicture(pictureFile: File): void {
|
|
this.pictureRestService.uploadPicture(pictureFile)
|
|
.then(pictureId => {
|
|
this.dialogRef.close(pictureId);
|
|
})
|
|
.catch(error => {
|
|
const errorMessage = 'An error occured while uploading a picture...';
|
|
console.error(errorMessage, error);
|
|
this.snackBar.open(errorMessage, 'Close', { duration: 5000 });
|
|
});
|
|
}
|
|
} |