From a7e18e580713338fc5e8e001031417de8232b64b Mon Sep 17 00:00:00 2001 From: Gato Date: Mon, 25 May 2026 22:46:30 +0200 Subject: [PATCH] =?UTF-8?q?Ajoute=20icone=20pour=20priorite=20+=20changeme?= =?UTF-8?q?nt=20donn=C3=A9e=20envoy=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/settings.local.json | 4 +++- .../issue-comments/issue-comments.spec.ts | 2 +- src/app/issues/issue-detail/issue-detail.html | 14 ++++++++++---- .../issues/issue-detail/issue-detail.spec.ts | 2 +- src/app/issues/issue-detail/issue-detail.ts | 17 ++++++++++++++--- src/app/issues/issues.html | 8 +++++++- src/app/issues/issues.spec.ts | 4 ++-- src/app/issues/issues.store.spec.ts | 2 +- src/app/issues/issues.store.ts | 2 +- src/app/issues/issues.ts | 11 +++++++++++ 10 files changed, 51 insertions(+), 15 deletions(-) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 97e5598..8594700 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -6,7 +6,9 @@ "Bash(npm list *)", "Bash(./node_modules/.bin/ng test *)", "Bash(npx ng *)", - "Bash(npm start *)" + "Bash(npm start *)", + "Bash(xargs cat -n)", + "Bash(xargs ls -la)" ] } } diff --git a/src/app/issues/issue-comments/issue-comments.spec.ts b/src/app/issues/issue-comments/issue-comments.spec.ts index 4bb3bea..1a1fbb9 100644 --- a/src/app/issues/issue-comments/issue-comments.spec.ts +++ b/src/app/issues/issue-comments/issue-comments.spec.ts @@ -14,7 +14,7 @@ const makeIssue = (overrides: Partial = {}): IssueEntity => ({ estimatedTime: null, dependsOnIds: [], comments: [], - priority: 'Moyenne', + priority: 'MOYENNE', status: 'draft', progress: 0, ...overrides, diff --git a/src/app/issues/issue-detail/issue-detail.html b/src/app/issues/issue-detail/issue-detail.html index 7f99959..473331f 100644 --- a/src/app/issues/issue-detail/issue-detail.html +++ b/src/app/issues/issue-detail/issue-detail.html @@ -67,9 +67,11 @@
@if (!isEpicIssue) { @@ -204,7 +206,11 @@ #{{ composedIssue.id }} – {{ composedIssue.name || 'Sans nom' }}
- {{ composedIssue.priority }} + {{ priorityDisplay(composedIssue.priority).symbol }} {{ composedIssue.assignee || 'Non assigné' }}
diff --git a/src/app/issues/issue-detail/issue-detail.spec.ts b/src/app/issues/issue-detail/issue-detail.spec.ts index 187c461..6e4e02b 100644 --- a/src/app/issues/issue-detail/issue-detail.spec.ts +++ b/src/app/issues/issue-detail/issue-detail.spec.ts @@ -18,7 +18,7 @@ const makeIssue = (overrides: Partial = {}): IssueEntity => ({ estimatedTime: null, dependsOnIds: [], comments: [], - priority: 'Moyenne', + priority: 'MOYENNE', status: 'draft', progress: 0, ...overrides, diff --git a/src/app/issues/issue-detail/issue-detail.ts b/src/app/issues/issue-detail/issue-detail.ts index 4dc99ae..43413d8 100644 --- a/src/app/issues/issue-detail/issue-detail.ts +++ b/src/app/issues/issue-detail/issue-detail.ts @@ -171,7 +171,7 @@ export class IssueDetail { estimatedTime: null, dependsOnIds: [], comments: [], - priority: 'Moyenne', + priority: 'MOYENNE', status: 'draft', progress: 0, }); @@ -213,6 +213,17 @@ export class IssueDetail { return this.getBadgeClass(this.issueTypeValue); } + protected priorityDisplay(priority: IssueEntity['priority']): { symbol: string; color: string; label: string } { + const map: Record = { + 'TRES_HAUTE': { symbol: '↑↑', color: '#dc3545', label: 'Très haute' }, + 'HAUTE': { symbol: '↑', color: '#fd7e14', label: 'Haute' }, + 'MOYENNE': { symbol: '–', color: '#ffc107', label: 'Moyenne' }, + 'BASSE': { symbol: '↓', color: '#0d6efd', label: 'Basse' }, + 'TRES_FAIBLE':{ symbol: '↓↓', color: '#6c757d', label: 'Très faible'}, + }; + return map[priority] ?? { symbol: '?', color: '#6c757d', label: priority }; + } + protected getBadgeClass(type: IssueEntity['type']): string { const map: Record = { Bug: 'text-bg-danger', @@ -290,7 +301,7 @@ export class IssueDetail { estimatedTime: null, dependsOnIds: [], comments: [], - priority: 'Moyenne', + priority: 'MOYENNE', status: 'draft', progress: 0, }; @@ -311,7 +322,7 @@ export class IssueDetail { estimatedTime: null, dependsOnIds: [], comments: [], - priority: 'Moyenne', + priority: 'MOYENNE', status: 'draft', progress: 0, } diff --git a/src/app/issues/issues.html b/src/app/issues/issues.html index 20e5713..aeaccaf 100644 --- a/src/app/issues/issues.html +++ b/src/app/issues/issues.html @@ -51,7 +51,13 @@ #{{ issue.id }} {{ issue.name }} {{ issue.type }} - {{ issue.priority }} + + {{ priorityDisplay(issue.priority).symbol }} + {{ issue.status }} {{ issue.assignee }} diff --git a/src/app/issues/issues.spec.ts b/src/app/issues/issues.spec.ts index baa25dc..689c428 100644 --- a/src/app/issues/issues.spec.ts +++ b/src/app/issues/issues.spec.ts @@ -17,7 +17,7 @@ const makeIssue = (overrides: Partial = {}): IssueEntity => ({ estimatedTime: null, dependsOnIds: [], comments: [], - priority: 'Moyenne', + priority: 'MOYENNE', status: 'draft', progress: 50, ...overrides, @@ -58,7 +58,7 @@ class FakeIssuesStore { description: '', estimatedTime: et ?? null, comments: Array.isArray(c) ? c : [], - priority: 'Moyenne', + priority: 'MOYENNE', status: 'draft', progress: 0, ...rest, diff --git a/src/app/issues/issues.store.spec.ts b/src/app/issues/issues.store.spec.ts index fe02fd6..a176185 100644 --- a/src/app/issues/issues.store.spec.ts +++ b/src/app/issues/issues.store.spec.ts @@ -15,7 +15,7 @@ const makeIssue = (overrides: Partial = {}): IssueEntity => ({ estimatedTime: null, dependsOnIds: [], comments: [], - priority: 'Moyenne', + priority: 'MOYENNE', status: 'draft', progress: 0, ...overrides, diff --git a/src/app/issues/issues.store.ts b/src/app/issues/issues.store.ts index c6bfb19..464a6b8 100644 --- a/src/app/issues/issues.store.ts +++ b/src/app/issues/issues.store.ts @@ -3,7 +3,7 @@ import { firstValueFrom } from 'rxjs'; import { IssuesApiService } from './issues-api.service'; export type IssueStatus = 'draft' | 'todo' | 'done' | 'in-progress'; -export type IssuePriority = 'Basse' | 'Moyenne' | 'Haute'; +export type IssuePriority = 'TRES_FAIBLE' | 'BASSE' | 'MOYENNE' | 'HAUTE' | 'TRES_HAUTE'; export type IssueType = 'Epic' | 'Bug' | 'Study' | 'Story' | 'Task' | 'Technical Story'; export type IssueComment = { diff --git a/src/app/issues/issues.ts b/src/app/issues/issues.ts index 4486d2f..0843bb7 100644 --- a/src/app/issues/issues.ts +++ b/src/app/issues/issues.ts @@ -52,6 +52,17 @@ export class Issues { return Math.round((done / children.length) * 100); } + protected priorityDisplay(priority: IssueEntity['priority']): { symbol: string; color: string; label: string } { + const map: Record = { + 'TRES_HAUTE': { symbol: '↑↑', color: '#dc3545', label: 'Très haute' }, + 'HAUTE': { symbol: '↑', color: '#fd7e14', label: 'Haute' }, + 'MOYENNE': { symbol: '–', color: '#ffc107', label: 'Moyenne' }, + 'BASSE': { symbol: '↓', color: '#0d6efd', label: 'Basse' }, + 'TRES_FAIBLE':{ symbol: '↓↓', color: '#6c757d', label: 'Très faible'}, + }; + return map[priority] ?? { symbol: '?', color: '#6c757d', label: priority }; + } + protected typeBadgeClass(type: IssueEntity['type']): string { const map: Record = { Bug: 'text-bg-danger',