From d551044673f833e167bf45627c8311ccb1915898 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Mon, 23 Dec 2024 19:28:43 +0100 Subject: [PATCH] fix: remove Infinity states --- .../pull-system/feature/FlowDashboard.vue | 2 +- .../pull-system/feature/feature-store.ts | 21 ++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/modules/pull-system/feature/FlowDashboard.vue b/src/modules/pull-system/feature/FlowDashboard.vue index d4b362c..e8e37af 100644 --- a/src/modules/pull-system/feature/FlowDashboard.vue +++ b/src/modules/pull-system/feature/FlowDashboard.vue @@ -51,7 +51,7 @@ const featureStore = useFeatureStore()
ETA
- {{ featureStore.eat }} + {{ featureStore.eta }} days
diff --git a/src/modules/pull-system/feature/feature-store.ts b/src/modules/pull-system/feature/feature-store.ts index 0363382..98a2082 100644 --- a/src/modules/pull-system/feature/feature-store.ts +++ b/src/modules/pull-system/feature/feature-store.ts @@ -10,8 +10,8 @@ import { nextDay } from '@/modules/pull-system/feature/feature-board' import { featureSteps } from '@/modules/pull-system/feature/feature-steps' -import { Strategy } from '@/modules/lean/strategy' -import { FeatureState, Meta } from '@/store-type' +import type { Strategy } from '@/modules/pull-system/lean/strategy' +import type { FeatureState, Meta } from '@/store-type' import { defineStore } from 'pinia' const resetMeta = (): Meta => ({ @@ -57,10 +57,12 @@ export const useFeatureStore = defineStore('feature', { meanComplexity: (state) => getMeanComplexity(state.features), meanLeadTime: (state) => getMeanLeadTime(state.features), meanQualityIssue: (state) => getMeanQualityIssue(state.features), - taktTime: (state): string => - ( + taktTime: (state): string => { + const taktTime = ( state.meta.totalDays / state.features.filter(isFeatureDone).length || 0 - ).toFixed(2), + ).toFixed(2) + return taktTime === 'Infinity' ? '-' : taktTime + }, featuresGroupedByStep: (state) => { const groupedByStep: Record = {} @@ -74,12 +76,17 @@ export const useFeatureStore = defineStore('feature', { return groupedByStep }, - eat(): string { - return ( + eta(): string { + if (this.taktTime === '-') { + return '-' + } + + const eta = ( parseFloat(this.taktTime) * (this.features.filter((feature) => !isFeatureDone(feature)).length + this.backlog.length) ).toFixed(2) + return eta === 'Infinity' ? '-' : eta }, totalFeaturesCount: (state) => state.backlog.length + state.features.length, totalFeaturesDone: (state) =>