From dbdf8f58cc4ca68fcaeb98cda31e8de4a61358ca Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 16 Dec 2025 22:43:45 +0000 Subject: [PATCH 1/4] Initial plan From 1e4701bcf4e22c5bbb31e90ad96baa2ec4cf08ac Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 16 Dec 2025 22:51:26 +0000 Subject: [PATCH 2/4] Convert navigation buttons to anchor tags for right-click support Co-authored-by: cubap <1119165+cubap@users.noreply.github.com> --- .../annotorious-annotator/line-parser.js | 10 ++-- components/copy-existing-project/index.js | 6 +- .../copy-project-with-customization/index.js | 6 +- .../copy-project-with-group-member/index.js | 6 +- .../copy-project-without-annotations/index.js | 6 +- components/import-image/index.js | 6 +- components/import-project/index.js | 6 +- components/user-profile/userStats.js | 4 +- interfaces/import-tpen28/index.html | 4 +- interfaces/import-tpen28/index.js | 4 +- interfaces/manage-project/index.html | 12 ++-- interfaces/manage-project/index.js | 55 +++++++++++-------- interfaces/project/index.html | 8 +-- interfaces/project/quick-guide.html | 2 +- manage/collaboration.html | 4 +- manage/index.js | 9 +-- 16 files changed, 73 insertions(+), 75 deletions(-) diff --git a/components/annotorious-annotator/line-parser.js b/components/annotorious-annotator/line-parser.js index 8fca5500..5c345b52 100644 --- a/components/annotorious-annotator/line-parser.js +++ b/components/annotorious-annotator/line-parser.js @@ -164,6 +164,10 @@ class AnnotoriousAnnotator extends HTMLElement { cursor: pointer; width: 100%; margin-top: 1em; + display: block; + text-align: center; + text-decoration: none; + border: none; } #saveBtn[disabled], #createColumnsBtn[disabled], #deleteAllBtn[disabled] { background-color: gray; @@ -269,7 +273,7 @@ class AnnotoriousAnnotator extends HTMLElement { - + Manage Columns @@ -350,9 +354,7 @@ class AnnotoriousAnnotator extends HTMLElement { editTool.addEventListener("change", (e) => this.toggleEditingMode(e)) eraseTool.addEventListener("change", (e) => this.toggleErasingMode(e)) seeTool.addEventListener("change", (e) => this.toggleAnnotationVisibility(e)) - createColumnsBtn.addEventListener("click", () => - window.location.href = `../../components/create-column/?projectID=${TPEN.activeProject._id}&pageID=${this.#annotationPageID}` - ) + createColumnsBtn.href = `../../components/create-column/?projectID=${TPEN.activeProject._id}&pageID=${this.#annotationPageID}` saveButton.addEventListener("click", (e) => { this.#annotoriousInstance.cancelSelected() // Timeout required in order to allow the unfocus native functionality to complete for $isDirty. diff --git a/components/copy-existing-project/index.js b/components/copy-existing-project/index.js index 3ce06971..1fc50d22 100644 --- a/components/copy-existing-project/index.js +++ b/components/copy-existing-project/index.js @@ -142,12 +142,10 @@ class CopyExistingProject extends HTMLElement { const projectTitle = document.createElement('span') projectTitle.textContent = data.label - const manageButton = document.createElement('button') + const manageButton = document.createElement('a') manageButton.className = 'manage-btn' manageButton.textContent = 'Manage' - manageButton.onclick = () => { - window.location.href = `${TPEN.BASEURL}/project/manage?projectID=${data._id}` - } + manageButton.href = `${TPEN.BASEURL}/project/manage?projectID=${data._id}` projectInfo.appendChild(projectTitle) projectInfo.appendChild(manageButton) diff --git a/components/copy-project-with-customization/index.js b/components/copy-project-with-customization/index.js index 5f18b36c..420457e0 100644 --- a/components/copy-project-with-customization/index.js +++ b/components/copy-project-with-customization/index.js @@ -477,12 +477,10 @@ class CopyExistingProjectWithCustomizations extends HTMLElement { const projectTitle = document.createElement('span') projectTitle.textContent = data.label - const manageButton = document.createElement('button') + const manageButton = document.createElement('a') manageButton.className = 'manage-btn' manageButton.textContent = 'Manage' - manageButton.onclick = () => { - window.location.href = `${TPEN.BASEURL}/project/manage?projectID=${data._id}` - } + manageButton.href = `${TPEN.BASEURL}/project/manage?projectID=${data._id}` projectInfo.appendChild(projectTitle) projectInfo.appendChild(manageButton) diff --git a/components/copy-project-with-group-member/index.js b/components/copy-project-with-group-member/index.js index 9c518611..804f3811 100644 --- a/components/copy-project-with-group-member/index.js +++ b/components/copy-project-with-group-member/index.js @@ -143,12 +143,10 @@ class CopyProjectWithGroupMember extends HTMLElement { const projectTitle = document.createElement('span') projectTitle.textContent = data.label - const manageButton = document.createElement('button') + const manageButton = document.createElement('a') manageButton.className = 'manage-btn' manageButton.textContent = 'Manage' - manageButton.onclick = () => { - window.location.href = `${TPEN.BASEURL}/project/manage?projectID=${data._id}` - } + manageButton.href = `${TPEN.BASEURL}/project/manage?projectID=${data._id}` projectInfo.appendChild(projectTitle) projectInfo.appendChild(manageButton) diff --git a/components/copy-project-without-annotations/index.js b/components/copy-project-without-annotations/index.js index 08f7e33f..6717e81c 100644 --- a/components/copy-project-without-annotations/index.js +++ b/components/copy-project-without-annotations/index.js @@ -142,12 +142,10 @@ class CopyExistingProjectWithoutAnnotations extends HTMLElement { const projectTitle = document.createElement('span') projectTitle.textContent = data.label - const manageButton = document.createElement('button') + const manageButton = document.createElement('a') manageButton.className = 'manage-btn' manageButton.textContent = 'Manage' - manageButton.onclick = () => { - window.location.href = `${TPEN.BASEURL}/project/manage?projectID=${data._id}` - } + manageButton.href = `${TPEN.BASEURL}/project/manage?projectID=${data._id}` projectInfo.appendChild(projectTitle) projectInfo.appendChild(manageButton) diff --git a/components/import-image/index.js b/components/import-image/index.js index bb127c75..5bf6710c 100644 --- a/components/import-image/index.js +++ b/components/import-image/index.js @@ -182,12 +182,10 @@ class ImageImporter extends HTMLElement { const pageTitle = document.createElement('span') pageTitle.textContent = project.label || 'Untitled Page' - const manageButton = document.createElement('button') + const manageButton = document.createElement('a') manageButton.className = 'manage-btn' manageButton.textContent = 'Manage' - manageButton.onclick = () => { - window.location.href = `${TPEN.BASEURL}/project/manage?projectID=${project._id}` - } + manageButton.href = `${TPEN.BASEURL}/project/manage?projectID=${project._id}` pageInfo.appendChild(pageTitle) pageInfo.appendChild(manageButton) diff --git a/components/import-project/index.js b/components/import-project/index.js index 3a5b549a..575e532c 100644 --- a/components/import-project/index.js +++ b/components/import-project/index.js @@ -133,12 +133,10 @@ class ProjectImporter extends HTMLElement { const projectTitle = document.createElement('span') projectTitle.textContent = project.label - const manageButton = document.createElement('button') + const manageButton = document.createElement('a') manageButton.className = 'manage-btn' manageButton.textContent = 'Manage' - manageButton.onclick = () => { - window.location.href = `${TPEN.BASEURL}/project/manage?projectID=${project._id}` - } + manageButton.href = `${TPEN.BASEURL}/project/manage?projectID=${project._id}` projectInfo.appendChild(projectTitle) projectInfo.appendChild(manageButton) diff --git a/components/user-profile/userStats.js b/components/user-profile/userStats.js index 8253b295..070f6040 100644 --- a/components/user-profile/userStats.js +++ b/components/user-profile/userStats.js @@ -473,7 +473,9 @@ class UserStats extends HTMLElement {