diff --git a/client/SidebarAndHeader/pageHandler.ts b/client/SidebarAndHeader/pageHandler.ts index 68b54f81de1c5f4fe2f311bbbd6afb681070e670..dd4052106b2a2196794971f670a40e3ddb749b7e 100644 --- a/client/SidebarAndHeader/pageHandler.ts +++ b/client/SidebarAndHeader/pageHandler.ts @@ -162,24 +162,16 @@ function loadSuggestionPage() { suggestions.loadPage(); } -function loadInitiatePage(id: string) { +export function loadInitiatePage(id: string) { clearContent(); setTitle("Gör ditt förslag till ett förbättringsarbete!"); initiateIdea.loadPage(id); } + export function loadIdeaBank() { clearContent(); setTitle("Förbättringsförslag"); ideaBank.loadPage(); - - $(".initiateProjectButton").off('click').on('click', function (e) { - e.preventDefault(); - const target = e.target as HTMLElement; - const cardId = target.id.replace("initiateProjectFromCard", ""); - loadInitiatePage(cardId); -}); - - } function loadKnowledgeBank() { @@ -338,28 +330,12 @@ function loadMyProfile() { clearContent(); setTitle("Förbättringsportalen"); profile.loadPage(currentProjectsListenersAdded); //fix containers - document.addEventListener("click", function (event) { - const target = event.target as HTMLElement; - //adds an event listener for the initiate page - if (target && target.className === "initiateProjectButton") { - const cardId = target.id.replace("initiateProjectFromCard", ""); - loadInitiatePage(cardId); - } - }); } function loadMyProfilePage() { clearContent(); setTitle("Din Profil"); profilePage.loadPage(currentProjectsListenersAdded); //fix containers - document.addEventListener("click", function (event) { - const target = event.target as HTMLElement; - //adds an event listener for the initiate page - if (target && target.className === "initiateProjectButton") { - const cardId = target.id.replace("initiateProjectFromCard", ""); - loadInitiatePage(cardId); - } - }); } function loadSettings() { diff --git a/client/ideaBank/ideaBank.ts b/client/ideaBank/ideaBank.ts index 8343d86d7afa51bd366333c02347fccd5ab7826d..0fd7c2f011d8ff9c41a5c9587b7df908baadde19 100644 --- a/client/ideaBank/ideaBank.ts +++ b/client/ideaBank/ideaBank.ts @@ -9,6 +9,7 @@ import { upvoteSuggestion, } from "../Database/database.js"; import { formatDate } from "../projectPage/projectPage.js"; +import { loadInitiatePage } from "../SidebarAndHeader/pageHandler.js"; import { hostname } from "os"; import { getEventListeners } from "events"; //import {loadInitiatePage} from "../SidebarAndHeader/pageHandler.js"; @@ -439,6 +440,19 @@ export async function loadPage() { loadHospitals(); } +function removeAllEventListeners(elementId: string) { + const element = document.getElementById(elementId); + console.log(elementId) + if (element) { + const clonedElement = element.cloneNode(true); + element.parentNode!.replaceChild(clonedElement, element); + console.log("removed ok"); + // Now, clonedElement is a new copy of the original element without any event listeners. + // Note: This method won't preserve any modifications made to the element after the listeners were added. + } +} + + async function getFilteredSuggestions(checkedUnitIds: string[]) { let suggestions: any[] = []; if (checkedUnitIds) { @@ -544,6 +558,12 @@ async function addListner( } } + if (target && target.className === "initiateProjectButton") { + const cardId = target.id.replace("initiateProjectFromCard", ""); + console.log(cardId); + loadInitiatePage(cardId); + } + const upvoteButton = target.closest('.upvoteButton') as HTMLButtonElement | null; if (upvoteButton) { const cardIdStr = upvoteButton.id.replace("upvoteButton", ""); diff --git a/client/initiateForbattringsarbete/initiateIdea.ts b/client/initiateForbattringsarbete/initiateIdea.ts index d02a51ad8abb3ed86db859afdf7970af70effcf2..0ed9e69688b1bb75d9edc3a4f81b8668f7bc3ee0 100644 --- a/client/initiateForbattringsarbete/initiateIdea.ts +++ b/client/initiateForbattringsarbete/initiateIdea.ts @@ -5,12 +5,10 @@ import { loadCurrentProjects } from "../SidebarAndHeader/pageHandler.js"; let selectedEmployees: string[] = []; export async function loadEmployees() { - console.log("nu körs koden") const selectProjectLeaderHTML = $('#projectLeader'); // loads the select type from html const selectEmployeeHTML = $('#selectEmployee'); // loads the select type from html const allUsers = await getUsers({}); const allProjectLeaders = await getUsers({}); //here you can put constraints - allUsers.forEach(user => { const optionElement = $('<option>').addClass('ideaCardFont') @@ -31,7 +29,6 @@ export async function loadEmployees() { const selectUnitHTML = $('#selectDepartment'); // loads the select type from html const allHospitals = await getHospitals({}); const allUnits = await getUnits({}); //here you can put constraints - console.log(allHospitals) allHospitals.forEach(user => { const optionElement = $('<option>').addClass('ideaCardFont') .val(user.id)