From 1da77325f86334fab461c77369dd2376370d730f Mon Sep 17 00:00:00 2001
From: Jonas <jonas.zohren@tu-dortmund.de>
Date: Mon, 22 Feb 2021 16:47:09 +0100
Subject: [PATCH] Pass s & u to sumrow

---
 src/App.svelte    | 2 +-
 src/SumRow.svelte | 3 ++-
 src/estimator.ts  | 8 ++++++++
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/App.svelte b/src/App.svelte
index 4a84781..521a36d 100644
--- a/src/App.svelte
+++ b/src/App.svelte
@@ -36,7 +36,7 @@ import type { WorkPackage } from "./estimator";
             {#each workPackages as workPackage, i (i)}
                 <RowWorkItem bind:a={workPackage.a} bind:b={workPackage.b} bind:c={workPackage.c} u={u} r={r}></RowWorkItem>
             {/each}
-            <SumRow {workPackages}></SumRow>
+            <SumRow {workPackages} u={u} r={r}></SumRow>
         </tbody>
     </table>
     <details>
diff --git a/src/SumRow.svelte b/src/SumRow.svelte
index 0f6b015..7c76aa6 100644
--- a/src/SumRow.svelte
+++ b/src/SumRow.svelte
@@ -1,6 +1,6 @@
 <script lang="ts">
     import type { WorkPackage } from "./estimator";
-    import { calculateSSum, calculateESum } from './estimator';
+    import { calculateSSum, calculateESum, calculateVSum } from './estimator';
     import { roundOne, sumIgnoreNonNumbers } from "./utils";
 
     export let workPackages: WorkPackage[]
@@ -26,5 +26,6 @@
     <td class="tg-0lax">
     </td>
     <td class="tg-0lax">
+        ∑ {roundOne(calculateVSum(workPackages, u))}
     </td>
 </tr>
\ No newline at end of file
diff --git a/src/estimator.ts b/src/estimator.ts
index e11e4bf..82ae259 100644
--- a/src/estimator.ts
+++ b/src/estimator.ts
@@ -66,3 +66,11 @@ export function calculateESum(workPackages: WorkPackage[], r: number): number {
       .map((workPackage) => calculateE(workPackage, r))
   );
 }
+
+export function calculateVSum(workPackages: WorkPackage[], u: number): number {
+  return sumIgnoreNonNumbers(
+    workPackages
+      .filter(({ a, b }) => typeof a === "number" && typeof b === "number")
+      .map((workPackage) => calculateV(workPackage, u))
+  );
+}
-- 
GitLab