From 3b13e30b1129feaf3c313cf44b2e9d23a7c27d53 Mon Sep 17 00:00:00 2001 From: Chneemann Date: Mon, 8 Apr 2024 07:41:29 +0200 Subject: [PATCH] pass variable to parrent component --- .../add-task/add-task.component.html | 19 ++++++++++++++++++- .../components/add-task/add-task.component.ts | 8 +++++++- .../add-task/assigned/assigned.component.ts | 12 ++++++++++-- src/app/interfaces/task-data.interface.ts | 8 ++++++++ 4 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 src/app/interfaces/task-data.interface.ts diff --git a/src/app/components/add-task/add-task.component.html b/src/app/components/add-task/add-task.component.html index c350bd0..dd305c6 100644 --- a/src/app/components/add-task/add-task.component.html +++ b/src/app/components/add-task/add-task.component.html @@ -72,7 +72,24 @@ + (assignedChange)="receiveAssigned($event)" + > + > + } + +
+ @for (user of taskData.assigned; track user ) { +
+
+ {{ firebaseService.getUserDetails(user, "initials") }} +
+
}
diff --git a/src/app/components/add-task/add-task.component.ts b/src/app/components/add-task/add-task.component.ts index 2a3b5c6..4361987 100644 --- a/src/app/components/add-task/add-task.component.ts +++ b/src/app/components/add-task/add-task.component.ts @@ -4,6 +4,7 @@ import { FormsModule, NgForm, NgModel } from '@angular/forms'; import { AssignedComponent } from './assigned/assigned.component'; import { User } from '../../interfaces/user.interface'; import { FirebaseService } from '../../services/firebase.service'; +import { TaskData } from '../../interfaces/task-data.interface'; @Component({ selector: 'app-add-task', @@ -23,10 +24,11 @@ export class AddTaskComponent { searchValue: string = ''; searchInput: boolean = false; filteredUsers: User[] = []; + parentAssigned: string[] = []; constructor(public firebaseService: FirebaseService) {} - taskData = { + taskData: TaskData = { title: '', description: '', date: this.currentDate, @@ -35,6 +37,10 @@ export class AddTaskComponent { assigned: [], }; + receiveAssigned(assigned: string[]) { + this.taskData.assigned = assigned; + } + ngOnInit() { const storedTaskData = localStorage.getItem('taskData'); if (storedTaskData) { diff --git a/src/app/components/add-task/assigned/assigned.component.ts b/src/app/components/add-task/assigned/assigned.component.ts index fc1330f..ad4ce88 100644 --- a/src/app/components/add-task/assigned/assigned.component.ts +++ b/src/app/components/add-task/assigned/assigned.component.ts @@ -1,24 +1,31 @@ -import { Component, Input } from '@angular/core'; +import { Component, EventEmitter, Input, Output } from '@angular/core'; import { FirebaseService } from '../../../services/firebase.service'; import { CommonModule } from '@angular/common'; import { User } from '../../../interfaces/user.interface'; +import { AddTaskComponent } from '../add-task.component'; @Component({ selector: 'app-assigned', standalone: true, - imports: [CommonModule], + imports: [CommonModule, AddTaskComponent], templateUrl: './assigned.component.html', styleUrl: './assigned.component.scss', }) export class AssignedComponent { @Input() filteredUsers: User[] = []; @Input() searchInput: boolean = false; + @Output() assignedChange = new EventEmitter(); + assigned: string[] = []; constructor(public firebaseService: FirebaseService) { this.loadTaskAssigedData(); } + updateAssigned() { + this.assignedChange.emit(this.assigned); + } + addAssignedToTask(userId: string) { if (!this.assigned.includes(userId)) { this.assigned.push(userId); @@ -26,6 +33,7 @@ export class AssignedComponent { this.assigned.splice(this.assigned.indexOf(userId), 1); } this.saveTaskData(); + this.updateAssigned(); } saveTaskData() { diff --git a/src/app/interfaces/task-data.interface.ts b/src/app/interfaces/task-data.interface.ts new file mode 100644 index 0000000..14b8b6b --- /dev/null +++ b/src/app/interfaces/task-data.interface.ts @@ -0,0 +1,8 @@ +export interface TaskData { + title: string; + description: string; + date: string; + priority: string; + category: string; + assigned: string[]; +}