Service
editMovie(movie: IMovie): Promise<void> {
if (movie.id) {
const itemDoc = doc(this.firestore, 'movies', movie.id);
return updateDoc(itemDoc, {
title: movie.title,
imdb: movie.imdb,
genre: movie.genre,
year: movie.year,
image: movie.image,
}).then(() => {
console.log('Movie updated successfully');
});
} else {
return Promise.reject('Movie ID is missing');
}
}
Component
onEdit(movie: IMovie): void {
this.form.setValue({
formTitle: movie.title,
formImdb: movie.imdb,
formGenre: movie.genre,
formYear: movie.year,
formImage: movie.image,
});
if (movie.id) {
this.movieId = movie.id;
this.isEditing = true;
} else {
console.error('The movie ID is missing.');
}
this.formTitleInput.nativeElement.focus();
}
Definitions
export type IMovie = {
readonly id?: string;
readonly title: string;
readonly imdb: number;
readonly genre: string;
readonly year: number;
readonly image: string;
};