diff --git a/client/KnowledgeBank/completedProjects.ts b/client/KnowledgeBank/completedProjects.ts index 602b4250474def082b41b025bdd9bfb338762bc9..7a3a5eef9ef8159046938caa23852c659bdf1d51 100644 --- a/client/KnowledgeBank/completedProjects.ts +++ b/client/KnowledgeBank/completedProjects.ts @@ -107,7 +107,7 @@ export class projectCard { } else if (this.stage == "Plan") { stageSymbol = "P"; } else if (this.stage == "Do") { - stageSymbol = "D"; + stageSymbol = "G"; } else if (this.stage == "Study") { stageSymbol = "S"; } else if (this.stage == "Act") { diff --git a/client/SidebarAndHeader/pageHandler.ts b/client/SidebarAndHeader/pageHandler.ts index 91f0a9a0565acb8a80c15c1be41d758eff11b5f7..a8273e55875896d98ebc3a31e7cc1ca42b208a6c 100644 --- a/client/SidebarAndHeader/pageHandler.ts +++ b/client/SidebarAndHeader/pageHandler.ts @@ -351,7 +351,7 @@ function loadMyProfile() { function loadMyProfilePage() { clearContent(); setTitle("Din Profil"); - profilePage.loadPage(); //fix containers + profilePage.loadPage(currentProjectsListenersAdded); //fix containers document.addEventListener("click", function (event) { const target = event.target as HTMLElement; //adds an event listener for the initiate page diff --git a/client/currentProjects/currentProjects.ts b/client/currentProjects/currentProjects.ts index f06ca70c99ab0dbd23d7855c1597f85a33159ea7..434867874b8f049e39b9449a255ed50fd38ec02a 100644 --- a/client/currentProjects/currentProjects.ts +++ b/client/currentProjects/currentProjects.ts @@ -108,7 +108,7 @@ export class projectCard { } else if (this.stage == "Plan") { stageSymbol = "P"; } else if (this.stage == "Do") { - stageSymbol = "D"; + stageSymbol = "G"; } else if (this.stage == "Study") { stageSymbol = "S"; } else if (this.stage == "Act") { diff --git a/client/homePage.ts b/client/homePage.ts index eb58f580115f878cc26d3282035efdca11d69f86..a3bf7feb88612103371e3c6904152af8e0bc5381 100644 --- a/client/homePage.ts +++ b/client/homePage.ts @@ -485,7 +485,7 @@ async function improvementWorkInfo(departmentContainer: any, user: any) { } } -async function getProjects( +export async function getProjects( selectElement: HTMLElement, listenersLoaded: boolean, userHsaId: string @@ -538,7 +538,7 @@ async function getProjects( } else if (project.currentStage == "Plan") { stageDiv.innerHTML = "P"; } else if (project.currentStage == "Do") { - stageDiv.innerHTML = "D"; + stageDiv.innerHTML = "G"; } else if (project.currentStage == "Study") { stageDiv.innerText = "S"; } else if (project.currentStage == "Act") { diff --git a/client/profilePage.ts b/client/profilePage.ts index 9aabacee1b3d1c023b2f5d1c231ec023af2395a2..d4d55da9393ef4f1177979e490c4416621e143cd 100644 --- a/client/profilePage.ts +++ b/client/profilePage.ts @@ -1,7 +1,19 @@ import { onAuthStateChanged } from "firebase/auth"; import { auth } from "./Database/database.js"; import { logout } from "./Database/authentication.js"; -import { getUsers, getSuggestions, getImprovementWorks, getUnits, getObjectById, getImprovementWorksForUser } from "../client/Database/database.js"; +import { getUsers, getSuggestions, getImprovementWorks, getImprovementWorkResponsible, getUnits, getObjectById, getImprovementWorksForUser } from "../client/Database/database.js"; +import { formatDate } from "./projectPage/projectPage.js"; +import { + loadProjectPageP, + loadProjectPageA, + loadProjectPageG, + loadProjectPageS, +} from "./SidebarAndHeader/pageHandler.js"; +import { projectCard, addEventListener } from "./currentProjects/currentProjects.js"; + +import { + getProjects +} from "./homePage.js" function logoutUser(event : Event) { event.preventDefault(); @@ -192,7 +204,7 @@ async function createNewIdeaCard( container.appendChild(div); } - export async function loadPage() { + export async function loadPage(listenersLoaded: boolean) { const container = document.querySelector('#container-fluid'); @@ -247,7 +259,7 @@ async function createNewIdeaCard( } const projectContainer = document.getElementById("project-container"); if(projectContainer) { - await getProjects(projectContainer, user.id); + await getProjects(projectContainer, listenersLoaded, user.id); } }) @@ -287,112 +299,79 @@ async function createNewIdeaCard( }); } - - async function getProjects (selectElement : HTMLElement, /*listenersLoaded:boolean,*/ userHsaId: string) { - const data = await getImprovementWorksForUser(userHsaId); - let id = 0; - data.forEach(async(project) => { - let title = project.name; - let department = await getObjectById('unit', project.unitId); - if(department) { - let name = "Ansvarig"; //Waiting for backend fix - let description = project.content; - let i = id; - let card = new projectCard(i, name, department.name, title, description, project.id); - projectCards[i] = card; - let cardHTML = card.generateHTML(); - //addEventListener(listenersLoaded, project.id, card); - let div = document.createElement('div'); - div.className = 'homePageProjectCardDiv'; // Set the class name(s) here - div.innerHTML = cardHTML; - if (!selectElement) return; - selectElement.appendChild(div); // Stop if the container isn't found - id ++; - } else { - console.log(project.unitId + " is not a unit"); //Unit Ids on improvement work that do not exist - } - }); - } - - - - - let projectCards: { [key: number]: projectCard } = {}; - -class projectCard { - private name: string; // Projectowner - private department: string; - private title: string; - private description: string; - private id: number; - private projectId: string; - - constructor(id: number, name: string, department: string, title: string, description: string, projectId: string) { - this.name = name; - this.department = department; - this.title = title; - this.description = description; - this.id = id; - this.projectId = projectId; - } - - showMoreInfo(blockId: string, thisTextId: string): void { - const blockElement = document.getElementById(blockId); - if (blockElement) { - blockElement.style.display = "flex"; - } - - const textElement = document.getElementById(thisTextId); - if (textElement) { - textElement.innerText = '^ Stäng detaljer'; - } - } - - closeMoreInfo(blockId: string, thisTextId: string): void { - const blockElement = document.getElementById(blockId) as HTMLSelectElement; - if (blockElement) { - blockElement.style.display = "none"; - } - const textElement = document.getElementById(thisTextId); - if (textElement) { - textElement.innerText = '> Mer information'; - } - } + let projectCards: projectCard[] = []; + + // async function getProjects( + // selectElement: Element, + // listenersLoaded: boolean, + // improvementWorks: any[] + // ) { + // let id = 0; + // projectCards = []; + // improvementWorks.forEach(async (improvementWork) => { + // let title = improvementWork.name; + // let department = await getObjectById("unit", improvementWork.unitId); + // let projectLeader = await getImprovementWorkResponsible(improvementWork.id); + // if (department) { + // let card = new projectCard( + // id, + // projectLeader.firstName + " " + projectLeader.lastName, + // department.name, + // title, + // improvementWork.content, + // improvementWork.id, + // improvementWork.currentStage, + // improvementWork.dateStarted, + // improvementWork.endDate, + // improvementWork.completed, + // ); + // projectCards.push(card); + // let cardHTML = card.generateHTML(); + // 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(improvementWork.id, card); - loadInitiatePage() { - alert('The initiate project page should now be loaded'); - } - + // // Display end date for completed projects + // if (improvementWork.completed) { + // const datesDiv = document.getElementById( + // "ongoingCardDatesCurrentProjects" + improvementWork.id + // ); + // if (datesDiv) { + // datesDiv.innerText += + // " till " + formatDate(improvementWork.endDate); + // } + // } - - generateHTML(): string { - return `<div class="homeTotalExpandedOngoingWorkCard"> - <div style="cursor: pointer;" class="flex-container ongoingCard" id="${this.projectId}"> - <div class="ongoingCardImageContainer toSinglePage"> - <div class = "flex-box ongoingCardImage toSinglePage" id="pinkFaded"></div> - </div> - <div class="div ongoingCardInfo toSinglePage"> - <p class="toSinglePage" id="ongoingCardManager">${this.name}</p> - <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>--> - - - <div class="container ongoingSeeCardDetails toSinglePage"> - <div class="ongoingSeeCardDetailsInner"> - - </div> - </div> - </div> - <div class = "expandedOngoingWorkCard" id="expandedOngoingWorkCard${this.projectId}" style="display: none;"> - <div class ="expandedTextOngoingWorkCard"> - ${this.description} - </div> - </div> - </div> ` - } -} + // // Display "Avslutat" for completed projects + // const stageDiv = document.getElementById( + // "currentStageLetter" + improvementWork.id + // ); + // if (stageDiv) { + // if (improvementWork.completed) { + // stageDiv.innerText = "Avslutat"; + // stageDiv.style.fontSize = "25px"; + // stageDiv.style.marginLeft = "5px"; + // stageDiv.style.marginTop = "30px"; + // } else if (improvementWork.currentStage == "Plan") { + // console.log("hej"); + // stageDiv.innerHTML = "P"; + // } else if (improvementWork.currentStage == "Do") { + // stageDiv.innerHTML = "D"; + // } else if (improvementWork.currentStage == "Study") { + // stageDiv.innerText = "S"; + // } else if (improvementWork.currentStage == "Act") { + // stageDiv.innerText = "A"; + // } + // } + + // id++; + // } else { + // console.log(improvementWork.unitId + " is not a unit"); //Unit Ids on improvement work that do not exist + // } + // }); + // } //<p id="ongoingSeeDetailsButton${this.projectId}" class = "moreInfoClass">> Mer information</p> \ No newline at end of file