feat: récupération sommaire des groupes de tâches

This commit is contained in:
2026-09-22 15:06:26 +02:00
parent 7b6a925e54
commit 9dae6471a9
12 changed files with 74 additions and 13 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
import { Routes } from '@angular/router'; import { Routes } from '@angular/router';
import { Home } from '../view/pages/home/home'; import { Home } from '../view/pages/home/home.component';
export const routes: Routes = [ export const routes: Routes = [
{path:'',component:Home} {path:'',component:Home}
+5
View File
@@ -0,0 +1,5 @@
export interface Group{
id_group: number;
id_project: number;
name_group: string;
}
+15
View File
@@ -0,0 +1,15 @@
import { TestBed } from '@angular/core/testing';
import { GroupService } from './group-service';
describe('GroupService', () => {
let service: GroupService;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(GroupService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
});
+10
View File
@@ -0,0 +1,10 @@
import { Service } from '@angular/core';
import { BaseService } from './base.service';
import { Observable } from 'rxjs';
import { Group } from '../model/Group';
@Service()
export class GroupService extends BaseService{
public getGroups():Observable<Group[]>{
return this.get<Group[]>("http://127.0.0.1:8080/group");
}
}
@@ -1,7 +1,7 @@
import { Service } from '@angular/core'; import { Service } from '@angular/core';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { Task } from '../model/Task'; import { Task } from '../model/Task';
import { BaseService } from './base-service'; import { BaseService } from './base.service';
@Service() @Service()
export class TaskService extends BaseService{ export class TaskService extends BaseService{
+30
View File
@@ -0,0 +1,30 @@
<h1>
Page d'accueil
</h1>
<h2>
Section tâches
</h2>
<div>
@for (task of tasks(); track task.id_task) {
<p>
{{ task.name_task }}
</p>
}
</div>
<h2>
Section groupes de tâches
</h2>
<div>
@for (group of groups(); track group.id_group) {
<p>
{{ group.name_group }}
</p>
}
</div>
<h2>
Section projets
</h2>
<router-outlet />
@@ -1,21 +1,30 @@
import { Component, inject, signal, WritableSignal } from '@angular/core'; import { Component, inject, signal, WritableSignal } from '@angular/core';
import { RouterOutlet } from '@angular/router'; import { RouterOutlet } from '@angular/router';
import { TaskService } from '../../../services/task-service'; import { TaskService } from '../../../services/task.service';
import { Task } from '../../../model/Task'; import { Task } from '../../../model/Task';
import { GroupService} from '../../../services/group.service';
import { Group } from '../../../model/Group';
@Component({ @Component({
imports: [RouterOutlet], imports: [RouterOutlet],
selector: 'app-root', selector: 'app-root',
styleUrl: './home.css', styleUrl: './home.component.css',
templateUrl: './home.html', templateUrl: './home.component.html',
}) })
export class Home { export class Home {
private taskService: TaskService = inject(TaskService); private taskService: TaskService = inject(TaskService);
private groupService: GroupService = inject(GroupService);
tasks: WritableSignal<Task[]> = signal<Task[]>([]); tasks: WritableSignal<Task[]> = signal<Task[]>([]);
groups: WritableSignal<Group[]> = signal<Group[]>([]);
public ngOnInit(): void { public ngOnInit(): void {
this.taskService.getTasks().subscribe((response: Task[]): void => { this.taskService.getTasks().subscribe((response: Task[]): void => {
this.tasks.set(response); this.tasks.set(response);
}); });
this.groupService.getGroups().subscribe((response:Group[]): void => {
this.groups.set(response);
})
} }
} }
-8
View File
@@ -1,8 +0,0 @@
<div>
@for (task of tasks(); track task.id_task) {
<p>
{{ task.name_task }}
</p>
}
</div>
<router-outlet />