feat: Ajout d'un groupe de tâches
This commit is contained in:
+1
-1
@@ -1,5 +1,5 @@
|
||||
export interface Group{
|
||||
id_group: number;
|
||||
id_project: number;
|
||||
id_project?: number;
|
||||
name_group: string;
|
||||
}
|
||||
|
||||
@@ -7,4 +7,13 @@ export class GroupService extends BaseService {
|
||||
public getGroups(): Observable<Group[]> {
|
||||
return this.get<Group[]>("group");
|
||||
}
|
||||
|
||||
public addGroup(name:string):Observable<Group>{
|
||||
let body:Group = {
|
||||
id_group:0,
|
||||
name_group:name,
|
||||
};
|
||||
|
||||
return this.post<Group>("group/add",body);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
</p>
|
||||
}
|
||||
|
||||
<button (click)="toggleForm()">
|
||||
<button (click)="toggleTaskForm()">
|
||||
Ajouter une tâche
|
||||
</button>
|
||||
|
||||
@@ -44,6 +44,18 @@
|
||||
{{ group.name_group }}
|
||||
</p>
|
||||
}
|
||||
|
||||
<button (click)="toggleGroupForm()">Ajouter un groupe</button>
|
||||
|
||||
|
||||
@if (showGroupForm){
|
||||
<form [formGroup]="newGroupForm" (ngSubmit)="submitGroup()">
|
||||
<label for="name-group">Nom </label>
|
||||
<input id="name-group" type="text" formControlName="name" />
|
||||
|
||||
<button type="submit" [disabled]="!newGroupForm.valid">Valider</button>
|
||||
</form>
|
||||
}
|
||||
</div>
|
||||
|
||||
<h2>
|
||||
|
||||
@@ -16,6 +16,7 @@ import { Observable } from 'rxjs';
|
||||
templateUrl: './home.component.html',
|
||||
})
|
||||
export class Home {
|
||||
//#region Attributs
|
||||
private taskService: TaskService = inject(TaskService);
|
||||
private groupService: GroupService = inject(GroupService);
|
||||
private projectService: ProjectService = inject(ProjectService);
|
||||
@@ -33,6 +34,13 @@ export class Home {
|
||||
|
||||
showTaskForm: boolean = false;
|
||||
|
||||
newGroupForm = new FormGroup({
|
||||
name: new FormControl('', Validators.required),
|
||||
});
|
||||
|
||||
showGroupForm: boolean = false;
|
||||
//#endregion
|
||||
|
||||
public ngOnInit(): void {
|
||||
this.taskService.getTasks().subscribe((response: Task[]): void => {
|
||||
this.tasks.set(response);
|
||||
@@ -47,7 +55,7 @@ export class Home {
|
||||
})
|
||||
}
|
||||
|
||||
public toggleForm(): void {
|
||||
public toggleTaskForm(): void {
|
||||
this.showTaskForm = !this.showTaskForm;
|
||||
}
|
||||
|
||||
@@ -66,4 +74,22 @@ export class Home {
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public toggleGroupForm(): void {
|
||||
this.showGroupForm = !this.showGroupForm;
|
||||
}
|
||||
|
||||
/**
|
||||
* submitGroup
|
||||
*/
|
||||
public submitGroup() {
|
||||
let response: Observable<Group> = this.groupService.addGroup(this.newGroupForm.controls.name.value!);
|
||||
|
||||
response.subscribe(response => {
|
||||
this.groups.update(values => {
|
||||
return [...values, response];
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user