From b594769c075b291e701701d3524dcc11e7d7b084 Mon Sep 17 00:00:00 2001
From: emisv011 <emisv011@student.liu.se>
Date: Sat, 18 Nov 2023 18:41:22 +0100
Subject: [PATCH] Hospital name, unit name and area are now displayed on all
 project pages in pgsa

---
 client/projectPage/projectPageA.ts   |  4 +--
 client/projectPage/projectPageG.html |  9 ++++---
 client/projectPage/projectPageG.ts   | 39 +++++++++++++++++++++++++++-
 client/projectPage/projectPageP.html |  9 ++++---
 client/projectPage/projectPageP.ts   | 38 ++++++++++++++++++++++++++-
 client/projectPage/projectPageS.html | 11 +++++---
 client/projectPage/projectPageS.ts   | 39 +++++++++++++++++++++++++++-
 7 files changed, 134 insertions(+), 15 deletions(-)

diff --git a/client/projectPage/projectPageA.ts b/client/projectPage/projectPageA.ts
index 12f792c8..ede5383f 100644
--- a/client/projectPage/projectPageA.ts
+++ b/client/projectPage/projectPageA.ts
@@ -71,7 +71,7 @@ async function loadImprovementWorkDataPageA(projectId:string) {
     a3.value = improvementWork.a3;
     a4.value = improvementWork.a4;
 
-    const aAreaElement = document.getElementById("aUnit") as HTMLParagraphElement;
+    const aAreaElement = document.getElementById("aArea") as HTMLParagraphElement;
     aAreaElement.textContent = improvementWork.area;
 
     try {
@@ -85,7 +85,7 @@ async function loadImprovementWorkDataPageA(projectId:string) {
         const aUnit = aUnitArray[0];
         const unitName = aUnit.name;
     
-        const aUnitElement = document.getElementById("aArea") as HTMLParagraphElement;
+        const aUnitElement = document.getElementById("aUnit") as HTMLParagraphElement;
         aUnitElement.textContent = unitName;
     
         try {
diff --git a/client/projectPage/projectPageG.html b/client/projectPage/projectPageG.html
index 648ececc..98ec9c2a 100644
--- a/client/projectPage/projectPageG.html
+++ b/client/projectPage/projectPageG.html
@@ -26,9 +26,12 @@
 
         <!-- Right content -->
   <div>
-      <p>Sjukhus: </p>
-      <p>Enhet: </p>
-      <p>Område: </p>
+    <p>Sjukhus: </p>
+    <p id="gHospital"></p>
+    <p>Enhet: </p>
+    <p id="gUnit"></p>
+    <p>Område: </p>
+    <p id="gArea"></p>
 </div>
 </div>
 
diff --git a/client/projectPage/projectPageG.ts b/client/projectPage/projectPageG.ts
index 98d05654..06866c38 100644
--- a/client/projectPage/projectPageG.ts
+++ b/client/projectPage/projectPageG.ts
@@ -1,5 +1,5 @@
 import { loadProjectPageP, loadProjectPageS } from "../SidebarAndHeader/pageHandler.js";
-import {getObjectById, updateInstance } from "../Database/database.js";
+import {getObjectById, updateInstance, getHospitals, getUnits } from "../Database/database.js";
 
 async function updateStage(stage : string, id : string){
     updateInstance("improvementWork", id, {currentStage:stage}) 
@@ -68,6 +68,43 @@ async function loadImprovementWorkDataPageG(projectId:string) {
     g3.value = improvementWork.g3;
     g4.value = improvementWork.g4;
     g5.value = improvementWork.g5;
+
+    const aAreaElement = document.getElementById("gArea") as HTMLParagraphElement;
+    aAreaElement.textContent = improvementWork.area;
+
+    try {
+        const aUnitArray = await getUnits({ unitId: improvementWork.unitId });
+    
+        if (aUnitArray.length === 0) {
+            console.log("Error loading the units.")
+            return;
+        }
+    
+        const aUnit = aUnitArray[0];
+        const unitName = aUnit.name;
+    
+        const aUnitElement = document.getElementById("gUnit") as HTMLParagraphElement;
+        aUnitElement.textContent = unitName;
+    
+        try {
+            const hospitalArray = await getHospitals({ hospitalId: aUnit.hospitalId });
+    
+            if (hospitalArray.length === 0) {
+                console.log("Error loading the hospitals.")
+                return;
+            }
+    
+            const aHospital = hospitalArray[0];
+            const hospitalName = aHospital.name;
+    
+            const aHospitalElement = document.getElementById("gHospital") as HTMLParagraphElement;
+            aHospitalElement.textContent = hospitalName;
+        } catch (error) {
+            console.error("Error loading the hospital. (catch)");
+        }
+    } catch (error) {
+        console.error("Error loading the unit. (catch)");
+    }
 }
 
 async function saveImprovementWorkEditG(projectId:string) {
diff --git a/client/projectPage/projectPageP.html b/client/projectPage/projectPageP.html
index 6df4b25f..1157fb84 100644
--- a/client/projectPage/projectPageP.html
+++ b/client/projectPage/projectPageP.html
@@ -22,9 +22,12 @@
 
         <!-- Right content -->
   <div>
-      <p>Sjukhus: </p>
-      <p>Enhet: </p>
-      <p>Område: </p>
+    <p>Sjukhus: </p>
+    <p id="pHospital"></p>
+    <p>Enhet: </p>
+    <p id="pUnit"></p>
+    <p>Område: </p>
+    <p id="pArea"></p>
 </div>
 </div>
 
diff --git a/client/projectPage/projectPageP.ts b/client/projectPage/projectPageP.ts
index 0edda516..6f377e9f 100644
--- a/client/projectPage/projectPageP.ts
+++ b/client/projectPage/projectPageP.ts
@@ -1,5 +1,5 @@
 import { loadProjectPageG } from "../SidebarAndHeader/pageHandler.js";
-import {getObjectById, updateInstance } from "../Database/database.js";
+import {getObjectById, updateInstance, getHospitals, getUnits} from "../Database/database.js";
 
 async function updateStage(stage : string, id : string){
     updateInstance("improvementWork", id, {currentStage:stage}) 
@@ -85,6 +85,42 @@ async function loadImprovementWorkDataPageP(projectId:string) {
     p6.value = improvementWork.p6;
     p7.value = improvementWork.p7;
     
+    const aAreaElement = document.getElementById("pArea") as HTMLParagraphElement;
+    aAreaElement.textContent = improvementWork.area;
+
+    try {
+        const aUnitArray = await getUnits({ unitId: improvementWork.unitId });
+    
+        if (aUnitArray.length === 0) {
+            console.log("Error loading the units.")
+            return;
+        }
+    
+        const aUnit = aUnitArray[0];
+        const unitName = aUnit.name;
+    
+        const aUnitElement = document.getElementById("pUnit") as HTMLParagraphElement;
+        aUnitElement.textContent = unitName;
+    
+        try {
+            const hospitalArray = await getHospitals({ hospitalId: aUnit.hospitalId });
+    
+            if (hospitalArray.length === 0) {
+                console.log("Error loading the hospitals.")
+                return;
+            }
+    
+            const aHospital = hospitalArray[0];
+            const hospitalName = aHospital.name;
+    
+            const aHospitalElement = document.getElementById("pHospital") as HTMLParagraphElement;
+            aHospitalElement.textContent = hospitalName;
+        } catch (error) {
+            console.error("Error loading the hospital. (catch)");
+        }
+    } catch (error) {
+        console.error("Error loading the unit. (catch)");
+    }
 }
 
 async function saveImprovementWorkEditP(projectId:string) {
diff --git a/client/projectPage/projectPageS.html b/client/projectPage/projectPageS.html
index f374a448..4903c722 100644
--- a/client/projectPage/projectPageS.html
+++ b/client/projectPage/projectPageS.html
@@ -24,10 +24,13 @@
 
         <!-- Right content -->
     <div>
-        <p>Sjukhus: </p>
-        <p>Enhet: </p>
-        <p>Område: </p>
-</div>
+      <p>Sjukhus: </p>
+      <p id="sHospital"></p>
+      <p>Enhet: </p>
+      <p id="sUnit"></p>
+      <p>Område: </p>
+      <p id="sArea"></p>
+    </div>
 </div>
 
 <article class="infoText">
diff --git a/client/projectPage/projectPageS.ts b/client/projectPage/projectPageS.ts
index acfdd179..57d310ca 100644
--- a/client/projectPage/projectPageS.ts
+++ b/client/projectPage/projectPageS.ts
@@ -1,5 +1,5 @@
 import { loadProjectPageA,loadProjectPageP,loadProjectPageG, loadProjectPageS } from "../SidebarAndHeader/pageHandler.js";
-import {getObjectById, updateInstance } from "../Database/database.js";
+import {getObjectById, updateInstance, getHospitals, getUnits } from "../Database/database.js";
 
 async function updateStage(stage : string, id : string){
     updateInstance("improvementWork", id, {currentStage:stage}) 
@@ -63,6 +63,43 @@ async function loadImprovementWorkDataPageS(projectId:string) {
     s1.value = improvementWork.s1;
     s2.value = improvementWork.s2;
     s3.value = improvementWork.s3;
+
+    const aAreaElement = document.getElementById("sArea") as HTMLParagraphElement;
+    aAreaElement.textContent = improvementWork.area;
+
+    try {
+        const aUnitArray = await getUnits({ unitId: improvementWork.unitId });
+    
+        if (aUnitArray.length === 0) {
+            console.log("Error loading the units.")
+            return;
+        }
+    
+        const aUnit = aUnitArray[0];
+        const unitName = aUnit.name;
+    
+        const aUnitElement = document.getElementById("sUnit") as HTMLParagraphElement;
+        aUnitElement.textContent = unitName;
+    
+        try {
+            const hospitalArray = await getHospitals({ hospitalId: aUnit.hospitalId });
+    
+            if (hospitalArray.length === 0) {
+                console.log("Error loading the hospitals.")
+                return;
+            }
+    
+            const aHospital = hospitalArray[0];
+            const hospitalName = aHospital.name;
+    
+            const aHospitalElement = document.getElementById("sHospital") as HTMLParagraphElement;
+            aHospitalElement.textContent = hospitalName;
+        } catch (error) {
+            console.error("Error loading the hospital. (catch)");
+        }
+    } catch (error) {
+        console.error("Error loading the unit. (catch)");
+    }
 }
 
 async function saveImprovementWorkEditS(projectId:string) {
-- 
GitLab