MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / ensureReportContextMenu

Function ensureReportContextMenu

deployments/desktop/static/desktop.js:2754–2779  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2752 }
2753
2754 function ensureReportContextMenu() {
2755 if (state.reportContextMenu) return state.reportContextMenu;
2756 const menu = document.createElement("div");
2757 menu.id = "reportContextMenu";
2758 menu.className = "report-context-menu hidden";
2759 menu.setAttribute("role", "menu");
2760 menu.innerHTML = `
2761 <button type="button" data-report-menu-action="highlight" role="menuitem"></button>
2762 <button type="button" data-report-menu-action="delete" role="menuitem" class="danger"></button>
2763 `;
2764 menu.addEventListener("click", (event) => {
2765 const button = event.target.closest("[data-report-menu-action]");
2766 if (!button) return;
2767 const reportId = menu.dataset.reportId || "";
2768 const action = button.dataset.reportMenuAction;
2769 hideReportContextMenu();
2770 if (action === "highlight") {
2771 toggleReportCardHighlight(reportId);
2772 } else if (action === "delete") {
2773 runAction(() => deleteReportCard(reportId), "删除报告");
2774 }
2775 });
2776 document.body.appendChild(menu);
2777 state.reportContextMenu = menu;
2778 return menu;
2779 }
2780
2781 function hideReportContextMenu() {
2782 if (!state.reportContextMenu) return;

Callers 1

showReportContextMenuFunction · 0.85

Calls 4

hideReportContextMenuFunction · 0.85
deleteReportCardFunction · 0.85
runActionFunction · 0.70

Tested by

no test coverage detected