finished code: move task status

This commit is contained in:
Chneemann 2024-04-27 19:55:49 +02:00
parent f6d4983785
commit 34df5bf449
3 changed files with 25 additions and 5 deletions

View file

@ -1,4 +1,5 @@
import { Component, Input } from '@angular/core'; import { Component, Input } from '@angular/core';
import { FirebaseService } from '../../../../services/firebase.service';
@Component({ @Component({
selector: 'app-task-menu', selector: 'app-task-menu',
@ -8,9 +9,24 @@ import { Component, Input } from '@angular/core';
styleUrl: './task-menu.component.scss', styleUrl: './task-menu.component.scss',
}) })
export class TaskMenuComponent { export class TaskMenuComponent {
@Input() taskId: string = '';
@Input() boardTaskStatus: string = ''; @Input() boardTaskStatus: string = '';
constructor(private firebaseService: FirebaseService) {}
moveTask(moveTo: string) { moveTask(moveTo: string) {
console.log(moveTo); const index = this.firebaseService.allTasks.findIndex(
(task) => task.id === this.taskId
);
const filteredIndex = this.firebaseService.filteredTasks.findIndex(
(task) => task.id === this.taskId
);
if (index !== -1) {
this.firebaseService.allTasks[index].status = moveTo;
if (filteredIndex !== -1) {
this.firebaseService.filteredTasks[filteredIndex].status = moveTo;
}
this.firebaseService.updateTask(this.taskId, index);
}
} }
} }

View file

@ -1,4 +1,5 @@
<section> <section>
@if (task.id) {
<div (click)="handleMenuButtonClick($event, task.id)"> <div (click)="handleMenuButtonClick($event, task.id)">
<div <div
class="content" class="content"
@ -52,6 +53,9 @@
</div> </div>
</div> </div>
@if (isMenuOpen){ @if (isMenuOpen){
<app-task-menu [boardTaskStatus]="task.status"></app-task-menu> <app-task-menu
} [taskId]="task.id"
[boardTaskStatus]="task.status"
></app-task-menu>
} }
</section> </section>

View file

@ -46,7 +46,7 @@ export class TaskComponent implements OnInit, OnDestroy {
this.isPageViewMedia = window.innerWidth <= 650; this.isPageViewMedia = window.innerWidth <= 650;
} }
handleMenuButtonClick(event: MouseEvent, taskId: string | undefined) { handleMenuButtonClick(event: MouseEvent, taskId: string) {
event.stopPropagation(); event.stopPropagation();
const targetElement = event.target as HTMLElement; const targetElement = event.target as HTMLElement;
targetElement.classList.contains('menu-btn') || targetElement.classList.contains('menu-btn') ||
@ -59,7 +59,7 @@ export class TaskComponent implements OnInit, OnDestroy {
this.isMenuOpen = !this.isMenuOpen; this.isMenuOpen = !this.isMenuOpen;
} }
openTaskDetailsOverlay(taskId: string | undefined) { openTaskDetailsOverlay(taskId: string) {
if (this.isMenuOpen) { if (this.isMenuOpen) {
this.toggleTaskMenu(); this.toggleTaskMenu();
} }