From ba651d0a9f3a4e7b1811e8ce9166e9369d08f4f9 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sun, 23 Jul 2023 22:54:42 +0200 Subject: [PATCH] add dashboard with metadata and analysis --- src/modules/feature/store.ts | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/modules/feature/store.ts b/src/modules/feature/store.ts index 1d9028c..4855a37 100644 --- a/src/modules/feature/store.ts +++ b/src/modules/feature/store.ts @@ -5,18 +5,34 @@ import { Strategy } from '@/modules/lean/strategy' import { sumElements } from '@/utils' import { defineStore } from 'pinia' +type Meta = { + totalDays: number + daysWithProblemSolving: number + strategy: Record +} + +type Analysis = { + worstFeature: Feature + daysToDeliver: number + meanComplexity: number + meanLeadTime: number +} + +type Dashboard = Array<{ + uuid: string + meta: Meta + analysis: Analysis +}> + type State = { steps: FeatureStep[] features: Feature[] backlog: Feature[] - meta: { - totalDays: number - daysWithProblemSolving: number - strategy: Record - } + meta: Meta + dashboard: Dashboard } -const resetMeta = (): State['meta'] => ({ +const resetMeta = (): Meta => ({ totalDays: 0, daysWithProblemSolving: 0, strategy: { @@ -31,7 +47,8 @@ export const useFeatureStore = defineStore('feature', { steps: [], features: [], backlog: [], - meta: resetMeta() + meta: resetMeta(), + dashboard: [] }), actions: { initBoard() { @@ -46,7 +63,6 @@ export const useFeatureStore = defineStore('feature', { if (strategy === 'problem-solving') { this.meta.daysWithProblemSolving++ - return } this.features = nextDay({