task data update & delete task
This commit is contained in:
parent
5439ad21b5
commit
8ed2e3644a
4 changed files with 36 additions and 5 deletions
|
|
@ -6,6 +6,7 @@ import { User } from '../../interfaces/user.interface';
|
|||
import { FirebaseService } from '../../services/firebase.service';
|
||||
import { Task } from '../../interfaces/task.interface';
|
||||
import { OverlayService } from '../../services/overlay.service';
|
||||
import { empty } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'app-add-task',
|
||||
|
|
@ -179,12 +180,19 @@ export class AddTaskComponent {
|
|||
this.firebaseService.addNewTask(taskWithoutId);
|
||||
this.removeTaskData();
|
||||
} else {
|
||||
this.closeOverlay();
|
||||
if (this.getTaskData(overlayData).length > 0) {
|
||||
const { id, ...taskWithoutId } = this.taskData;
|
||||
this.firebaseService.replaceTaskData(overlayData, taskWithoutId);
|
||||
this.closeOverlay();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
deleteTaskData(overlayData: string) {}
|
||||
deleteTaskData(overlayData: string) {
|
||||
this.firebaseService.deleteTask(overlayData);
|
||||
this.closeOverlay();
|
||||
}
|
||||
|
||||
@HostListener('document:click', ['$event'])
|
||||
checkOpenNavbar(event: MouseEvent) {
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import {
|
|||
deleteDoc,
|
||||
doc,
|
||||
onSnapshot,
|
||||
setDoc,
|
||||
updateDoc,
|
||||
} from '@angular/fire/firestore';
|
||||
import { Task } from '../interfaces/task.interface';
|
||||
|
|
@ -51,7 +52,7 @@ export class FirebaseService implements OnDestroy {
|
|||
return this.filteredTasks;
|
||||
}
|
||||
|
||||
async updateTask(taskId: any, index: number) {
|
||||
async updateTask(taskId: string, index: number) {
|
||||
await updateDoc(doc(collection(this.firestore, 'tasks'), taskId), {
|
||||
status: this.allTasks[index].status,
|
||||
}).catch((err) => {
|
||||
|
|
@ -59,7 +60,7 @@ export class FirebaseService implements OnDestroy {
|
|||
});
|
||||
}
|
||||
|
||||
async updateSubTask(taskId: any, array: boolean[]) {
|
||||
async updateSubTask(taskId: string, array: boolean[]) {
|
||||
await updateDoc(doc(collection(this.firestore, 'tasks'), taskId), {
|
||||
subtasksDone: array,
|
||||
}).catch((err) => {
|
||||
|
|
@ -67,6 +68,23 @@ export class FirebaseService implements OnDestroy {
|
|||
});
|
||||
}
|
||||
|
||||
async replaceTaskData(taskId: string, newData: Task) {
|
||||
await setDoc(
|
||||
doc(collection(this.firestore, 'tasks'), taskId),
|
||||
newData
|
||||
).catch((err) => {
|
||||
console.error(err);
|
||||
});
|
||||
}
|
||||
|
||||
async deleteTask(taskId: string) {
|
||||
await deleteDoc(doc(collection(this.firestore, 'tasks'), taskId)).catch(
|
||||
(err) => {
|
||||
console.error(err);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
async addNewTask(task: Task) {
|
||||
await addDoc(collection(this.firestore, 'tasks'), task)
|
||||
.catch((err) => {
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="btns">
|
||||
<div class="btn btn-delete">
|
||||
<div class="btn btn-delete" (click)="deleteTask(overlayData)">
|
||||
<img src="./../../../../../assets/img/contact/delete.svg" alt="" />
|
||||
<p>Delete</p>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -33,6 +33,11 @@ export class TaskOverlayComponent {
|
|||
this.overlayService.setOverlayData('taskOverlayEdit', overlayData);
|
||||
}
|
||||
|
||||
deleteTask(overlayData: string) {
|
||||
this.firebaseService.deleteTask(overlayData);
|
||||
this.closeDialog();
|
||||
}
|
||||
|
||||
getTaskData(taskId: string) {
|
||||
return this.firebaseService
|
||||
.getAllTasks()
|
||||
|
|
|
|||
Loading…
Reference in a new issue