Snippets edited on a project page can't be disassociated from that

project on that page.
This commit is contained in:
Asaf Gartner 2022-08-07 00:45:07 +03:00
parent 841264de0f
commit dc94262bfb
3 changed files with 15 additions and 11 deletions

View File

@ -16,7 +16,7 @@ function readableByteSize(numBytes) {
return new Intl.NumberFormat([], { maximumFractionDigits: (scale > 0 ? 2 : 0) }).format(numBytes) + scales[scale]; return new Intl.NumberFormat([], { maximumFractionDigits: (scale > 0 ? 2 : 0) }).format(numBytes) + scales[scale];
} }
function makeSnippetEdit(ownerName, ownerAvatar, ownerUrl, date, text, attachmentElement, projectIds, snippetId, originalSnippetEl) { function makeSnippetEdit(ownerName, ownerAvatar, ownerUrl, date, text, attachmentElement, projectIds, stickyProjectId, snippetId, originalSnippetEl) {
let snippetEdit = snippetEditTemplate(); let snippetEdit = snippetEditTemplate();
let projectSelector = null; let projectSelector = null;
let originalAttachment = null; let originalAttachment = null;
@ -60,10 +60,14 @@ function makeSnippetEdit(ownerName, ownerAvatar, ownerUrl, date, text, attachmen
projEl.projectId.value = proj.id; projEl.projectId.value = proj.id;
projEl.projectLogo.src = proj.logo; projEl.projectLogo.src = proj.logo;
projEl.projectName.textContent = proj.name; projEl.projectName.textContent = proj.name;
projEl.removeButton.addEventListener("click", function(ev) { if (proj.id == stickyProjectId) {
projEl.root.remove(); projEl.removeButton.remove();
updateProjectSelector(); } else {
}); projEl.removeButton.addEventListener("click", function(ev) {
projEl.root.remove();
updateProjectSelector();
});
}
snippetEdit.projectList.appendChild(projEl.root); snippetEdit.projectList.appendChild(projEl.root);
} }
@ -338,7 +342,7 @@ function makeSnippetEdit(ownerName, ownerAvatar, ownerUrl, date, text, attachmen
return snippetEdit; return snippetEdit;
} }
function editTimelineSnippet(timelineItemEl) { function editTimelineSnippet(timelineItemEl, stickyProjectId) {
let ownerName = timelineItemEl.querySelector(".user")?.textContent; let ownerName = timelineItemEl.querySelector(".user")?.textContent;
let ownerUrl = timelineItemEl.querySelector(".user")?.href; let ownerUrl = timelineItemEl.querySelector(".user")?.href;
let ownerAvatar = timelineItemEl.querySelector(".avatar-icon")?.src; let ownerAvatar = timelineItemEl.querySelector(".avatar-icon")?.src;
@ -353,7 +357,7 @@ function editTimelineSnippet(timelineItemEl) {
projectIds.push(projid); projectIds.push(projid);
} }
} }
let snippetEdit = makeSnippetEdit(ownerName, ownerAvatar, ownerUrl, creationDate, rawDesc, attachment, projectIds, timelineItemEl.getAttribute("data-id"), timelineItemEl); let snippetEdit = makeSnippetEdit(ownerName, ownerAvatar, ownerUrl, creationDate, rawDesc, attachment, projectIds, stickyProjectId, timelineItemEl.getAttribute("data-id"), timelineItemEl);
timelineItemEl.parentElement.insertBefore(snippetEdit.root, timelineItemEl); timelineItemEl.parentElement.insertBefore(snippetEdit.root, timelineItemEl);
timelineItemEl.remove(); timelineItemEl.remove();
} }

View File

@ -103,7 +103,7 @@
const currentProjectId = {{ .Project.ID }}; const currentProjectId = {{ .Project.ID }};
document.querySelector(".create_snippet_link")?.addEventListener("click", function() { document.querySelector(".create_snippet_link")?.addEventListener("click", function() {
let snippetEdit = makeSnippetEdit(userName, userAvatar, userUrl, new Date(), "", null, [currentProjectId], null, null); let snippetEdit = makeSnippetEdit(userName, userAvatar, userUrl, new Date(), "", null, [currentProjectId], currentProjectId, null, null);
document.querySelector(".timeline").insertBefore(snippetEdit.root, document.querySelector(".timeline").children[0]); document.querySelector(".timeline").insertBefore(snippetEdit.root, document.querySelector(".timeline").children[0]);
document.querySelector(".create_snippet_link")?.remove(); document.querySelector(".create_snippet_link")?.remove();
}); });
@ -115,7 +115,7 @@
parent = parent.parentElement; parent = parent.parentElement;
} }
if (parent && parent.classList.contains("timeline-item")) { if (parent && parent.classList.contains("timeline-item")) {
editTimelineSnippet(parent); editTimelineSnippet(parent, currentProjectId);
} }
} }
}); });

View File

@ -175,7 +175,7 @@
{{ if .OwnProfile }} {{ if .OwnProfile }}
document.querySelector(".create_snippet_link")?.addEventListener("click", function() { document.querySelector(".create_snippet_link")?.addEventListener("click", function() {
let snippetEdit = makeSnippetEdit(userName, userAvatar, userUrl, new Date(), "", null, [], null, null); let snippetEdit = makeSnippetEdit(userName, userAvatar, userUrl, new Date(), "", null, [], null, null, null);
document.querySelector(".timeline").insertBefore(snippetEdit.root, document.querySelector(".timeline").children[0]); document.querySelector(".timeline").insertBefore(snippetEdit.root, document.querySelector(".timeline").children[0]);
document.querySelector(".create_snippet_link")?.remove(); document.querySelector(".create_snippet_link")?.remove();
}); });
@ -188,7 +188,7 @@
parent = parent.parentElement; parent = parent.parentElement;
} }
if (parent && parent.classList.contains("timeline-item")) { if (parent && parent.classList.contains("timeline-item")) {
editTimelineSnippet(parent); editTimelineSnippet(parent, null);
} }
} }
}); });