From f4cd9fec8280218e4148717bcc00c3e910cb0986 Mon Sep 17 00:00:00 2001 From: Gabriel Nyman <gabny226@student.liu.se> Date: Wed, 6 Dec 2023 14:22:05 +0100 Subject: [PATCH] fixed initiate buttons eventlisteners --- client/SidebarAndHeader/pageHandler.ts | 28 ++----------------- client/ideaBank/ideaBank.ts | 20 +++++++++++++ .../initiateIdea.ts | 3 -- 3 files changed, 22 insertions(+), 29 deletions(-) diff --git a/client/SidebarAndHeader/pageHandler.ts b/client/SidebarAndHeader/pageHandler.ts index 68b54f81..dd405210 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 8343d86d..0fd7c2f0 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 d02a51ad..0ed9e696 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) -- GitLab