diff --git a/client/KnowledgeBank/completedProjects.ts b/client/KnowledgeBank/completedProjects.ts index 924af64db2a3aa02753d3fcbb31119b27d0b81ea..821ddbaa7dc63ed24e315487a2c717147f6899b5 100644 --- a/client/KnowledgeBank/completedProjects.ts +++ b/client/KnowledgeBank/completedProjects.ts @@ -100,7 +100,7 @@ class projectCard { return ` <div class="totalExpandedOngoingWorkCard"> - <div style="cursor: pointer;" class="flex-container ongoingCard" id="${this.projectId}"> + <div style="cursor: pointer;" class="flex-container ongoingCard" id="completed-page-${this.projectId}"> <div class="ongoingCardImageContainer toSinglePage"> <div class = "flex-box ongoingCardImage toSinglePage" id="pinkFaded"></div> </div> @@ -109,10 +109,10 @@ class projectCard { <p class="toSinglePage" id="ongoingCardDepartment">${this.department}</p> <p class="toSinglePage" id="ongoingCardIdeaTitle">${this.title}</p> </div> - <button data-project-id="${this.id}" class="projectButton" role="button">Gå till projektsidan</button> + <button id="completed-page-button-${this.projectId}" data-project-id="${this.id}" class="projectButton" role="button">Gå till projektsidan</button> <div class="container ongoingSeeCardDetails toSinglePage"> <div class="ongoingSeeCardDetailsInner"> - <p id="ongoingSeeDetailsButton${this.projectId}" class = "moreInfoClass">> Mer information</p> + <p id="completed-page-ongoingSeeDetailsButton${this.projectId}" class = "moreInfoClass">> Mer information</p> </div> </div> </div> @@ -388,12 +388,12 @@ async function getProjects( ); projectCards.push(card); let cardHTML = card.generateHTML(); - addEventListener(listenersLoaded, improvementWork.id, card); let div = document.createElement("div"); div.className = "projectCardCardDiv"; // Set the class name(s) here div.innerHTML = cardHTML; if (!selectElement) return; selectElement.appendChild(div); // Stop if the container isn't found + addEventListener(listenersLoaded, improvementWork.id, card); id++; } else { console.log(improvementWork.unitId + " is not a unit"); //Unit Ids on improvement work that do not exist @@ -406,8 +406,42 @@ async function addEventListener( projectId: string, card: projectCard ) { - if (!listenersLoaded) { - $(document).on("click", "#" + projectId, async function (event) { + //if (!listenersLoaded) { + + $("#completed-page-ongoingSeeDetailsButton"+projectId).off("click").on("click",async function () { + const expandedDiv = document.getElementById("expandedOngoingWorkCard" + projectId); + if (expandedDiv && expandedDiv.style.display === "none") { + card.showMoreInfo( + `expandedOngoingWorkCard` + projectId, + `completed-page-ongoingSeeDetailsButton` + projectId + ); + } else { + card.closeMoreInfo( + `expandedOngoingWorkCard` + projectId, + `completed-page-ongoingSeeDetailsButton` + projectId + ); + } + }); + + $("#completed-page-button-"+projectId).off("click").on("click", async function () { + let tmp = await getObjectById("improvementWork", projectId); + const currentStage = tmp.currentStage; + if (currentStage === "Act") { + loadProjectPageA(projectId); + } else if (currentStage === "Study") { + loadProjectPageS(projectId); + } else if (currentStage === "Do") { + loadProjectPageG(projectId); + } else if (currentStage === "Plan") { + loadProjectPageP(projectId); + } else if (currentStage === "Finished") { + loadProjectPageP(projectId); + } + }); + + + + /*$(document).on("click", "#" + projectId, async function (event) { let tmp = await getObjectById("improvementWork", projectId); const currentStage = tmp.currentStage; const element = event.target as HTMLElement; @@ -426,7 +460,7 @@ async function addEventListener( `ongoingSeeDetailsButton` + projectId ); } - } else if (element.classList.contains("projectButton") || element.classList.contains("toSinglePage")) { + } else if (element.classList.contains("projectButton")) { document.removeEventListener("click", event.target); if (currentStage === "Act") { loadProjectPageA(projectId); @@ -440,8 +474,8 @@ async function addEventListener( loadProjectPageP(projectId); } } - }); - } + });*/ + // } } const patientRiskLevelMapping: { [key: string]: string } = {