24 lines
1.1 KiB
TypeScript
24 lines
1.1 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 = $localize`An error occured while uploading a picture...`;
|
|
console.error(errorMessage, error);
|
|
this.snackBar.open(errorMessage, $localize`Close`, { duration: 5000 });
|
|
});
|
|
}
|
|
} |