Skip to content
Snippets Groups Projects

Added autofill from database into text boxes, but now data is taken from wrong...

Closed Sahel Cedighi Chafjiri requested to merge dev into FR18
Files
7
import { loadCurrentProjects } from "../SidebarAndHeader/pageHandler.js";
import {getObjectById, finalizeImprovementWork, updateInstance, getUnits, getHospitals} from "../Database/database.js";
import { updateDoc, doc } from "firebase/firestore";
import { loadProjectPageP, loadProjectPageS,loadProjectPageG, loadProjectPageA } from "../SidebarAndHeader/pageHandler.js";
export function loadPage () {
async function updateStage(stage : string, id : string){
updateInstance("improvementWork", id, {currentStage:stage})
}
export function loadPage (projectId : string) {
const container = document.querySelector('#container-fluid');
const nextPageButton = document.getElementById('toCurrentProjects') as HTMLElement;
if (!container) return; // Stop if the container isn't found
updateStage("Agera", projectId);
fetch('projectPage/ProjectPageA.html')
.then(response => response.text())
.then(data => {
@@ -21,6 +30,7 @@ export function loadPage () {
// Insert the specific element into the target element
container.insertBefore(specificElement, container.firstChild);
initializeTooltips();
}
})
@@ -28,7 +38,98 @@ export function loadPage () {
const target = event.target as HTMLElement; // Type assertion
if (target.id === 'toCurrentProjects') {
loadCurrentProjects();
updateStage("Avslutat", projectId);
finalize(projectId);
} else if(target.id === 'nolansToP'){
loadProjectPageP(projectId);
} else if(target.id === 'nolansToG'){
loadProjectPageG(projectId);
} else if(target.id === 'nolansToS'){
loadProjectPageS(projectId);
} else if(target.id === "saveEditBtnA") {
saveImprovementWorkEditA(projectId);
}
});
}
function initializeTooltips() {
// Use jQuery to select the elements and initialize the tooltip
($('[data-toggle="tooltip"]') as any).tooltip({ delay: { "show": 0, "hide": 100 } });
}
loadImprovementWorkDataPageA(projectId);
}
async function loadImprovementWorkDataPageA(projectId:string) {
const improvementWork = await getObjectById('improvementWork', projectId);
const title = document.getElementById("title") as HTMLTextAreaElement;
const a1 = document.getElementById("a1") as HTMLTextAreaElement;
const a2 = document.getElementById("a2") as HTMLTextAreaElement;
const a3 = document.getElementById("a3") as HTMLTextAreaElement;
const a4 = document.getElementById("a4") as HTMLTextAreaElement;
title.textContent = improvementWork.name;
a1.value = improvementWork.a1;
a2.value = improvementWork.a2;
a3.value = improvementWork.a3;
a4.value = improvementWork.a4;
const aAreaElement = document.getElementById("aArea") as HTMLParagraphElement;
aAreaElement.textContent = improvementWork.area;
const pAreaElement = document.getElementById("pMembers") as HTMLParagraphElement;
pAreaElement.textContent = improvementWork.members;
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("aUnit") 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("aHospital") 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 finalize(projectId : string) {
var user = localStorage.getItem('user');
if(user){
var userId = JSON.parse(user)[0].id;
}
finalizeImprovementWork(userId, projectId);
loadCurrentProjects();
}
async function saveImprovementWorkEditA(projectId:string) {
const a1 = document.getElementById("a1") as HTMLTextAreaElement;
const a2 = document.getElementById("a2") as HTMLTextAreaElement;
const a3 = document.getElementById("a3") as HTMLTextAreaElement;
const a4 = document.getElementById("a4") as HTMLTextAreaElement;
let update = { a1: a1.value, a2: a2.value, a3: a3.value, a4: a4.value };
updateInstance("improvementWork", projectId, update);
}
Loading