Skip to content
Snippets Groups Projects
Commit 84173f3d authored by Benjamin Åstrand's avatar Benjamin Åstrand
Browse files

Cached improvementWorks on homePage and profilePage

parent 777bc613
No related branches found
No related tags found
1 merge request!239Faster card loading
......@@ -37,6 +37,8 @@ interface Project {
let myIdeaCards: { [key: number]: IdeaCard } = {};
const cache: {[key: string]: any[]} = {};
class IdeaCard {
private header: string;
private department: string;
......@@ -323,7 +325,9 @@ export async function loadPage(listenersLoaded: boolean) {
}
const projectContainer = document.getElementById("project-container");
if (projectContainer) {
await getProjects(projectContainer, listenersLoaded, user.id);
const startGetProjects = performance.now();
getProjects(projectContainer, listenersLoaded, user.id);
console.log(`getProjects duration: ${performance.now() - startGetProjects} ms`)
}
console.log("innan");
const departmentContainer = document.getElementById(
......@@ -490,7 +494,19 @@ export async function getProjects(
listenersLoaded: boolean,
userHsaId: string
) {
const data = await getImprovementWorksForUser(userHsaId);
let data: any[] = [];
if(cache[userHsaId]) {
const startGetCachedProjects = performance.now();
data = cache[userHsaId];
console.log(`getCachedProjects duration: ${performance.now() - startGetCachedProjects} ms`);
} else {
const startGetImprovementWorksForUser = performance.now();
data = await getImprovementWorksForUser(userHsaId);
cache[userHsaId] = data;
console.log(`getImprovementWorksForUser duration: ${performance.now() - startGetImprovementWorksForUser} ms`);
}
let id = 0;
data.forEach(async (project) => {
let title = project.name;
......@@ -511,7 +527,9 @@ export async function getProjects(
dateStarted
);
projectCards[i] = card;
const startGenerateHTML = performance.now();
let cardHTML = card.generateHTML();
console.log(`GenerateHTML duration ${performance.now() - startGenerateHTML} ms`);
let div = document.createElement("div");
div.className = "homePageProjectCardDiv"; // Set the class name(s) here
div.innerHTML = cardHTML;
......
......@@ -259,7 +259,7 @@ async function createNewIdeaCard(
}
const projectContainer = document.getElementById("project-container");
if(projectContainer) {
await getProjects(projectContainer, listenersLoaded, user.id);
getProjects(projectContainer, listenersLoaded, user.id);
}
})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment