Refine project navigation and balance calculation behavior
This commit is contained in:
+32
-3
@@ -567,7 +567,21 @@
|
||||
opacity: 0.72;
|
||||
}
|
||||
|
||||
.related-project-tag button {
|
||||
.related-project-open {
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: inherit;
|
||||
font-size: 12px;
|
||||
font-weight: 800;
|
||||
line-height: 1.1;
|
||||
padding: 0;
|
||||
text-decoration: underline;
|
||||
text-underline-offset: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.related-project-tag .related-project-toggle,
|
||||
.related-project-tag [data-remove-related] {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
min-width: 14px;
|
||||
@@ -589,7 +603,8 @@
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.related-project-tag button:hover {
|
||||
.related-project-tag .related-project-toggle:hover,
|
||||
.related-project-tag [data-remove-related]:hover {
|
||||
transform: none;
|
||||
background: rgba(41, 72, 95, 0.14);
|
||||
}
|
||||
@@ -7269,7 +7284,10 @@
|
||||
const isInactive = inactiveCodes.has(item.support_dept_code);
|
||||
return `
|
||||
<span class="related-project-tag${isInactive ? " is-muted" : ""}">
|
||||
${escapeHtml(item.support_dept_code)} · ${escapeHtml(item.support_dept_name)}
|
||||
<button type="button" class="related-project-open" data-open-related-project="${escapeHtml(item.support_dept_code)}" title="${escapeHtml(item.support_dept_name)}">
|
||||
${escapeHtml(item.support_dept_code)}
|
||||
</button>
|
||||
· ${escapeHtml(item.support_dept_name)}
|
||||
<button type="button" class="related-project-toggle" data-toggle-related="${escapeHtml(item.support_dept_code)}" title="${isInactive ? "상세 반영 다시 켜기" : "상세 반영 끄기"}" aria-label="${isInactive ? "상세 반영 다시 켜기" : "상세 반영 끄기"}">${isInactive ? "+" : "-"}</button>
|
||||
<button type="button" data-remove-related="${escapeHtml(item.support_dept_code)}" title="연관 프로젝트 제거" aria-label="연관 프로젝트 제거">×</button>
|
||||
</span>
|
||||
@@ -8671,6 +8689,17 @@
|
||||
relatedBarBox.querySelectorAll("[data-remove-related]").forEach((button) => {
|
||||
button.addEventListener("click", () => removeRelatedProject(button.dataset.removeRelated || ""));
|
||||
});
|
||||
relatedBarBox.querySelectorAll("[data-open-related-project]").forEach((button) => {
|
||||
button.addEventListener("click", (event) => {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
const code = String(button.dataset.openRelatedProject || "").trim();
|
||||
if (!code) return;
|
||||
const targetItem = getAnalysisItem(code);
|
||||
if (!targetItem) return;
|
||||
renderAnalysis(targetItem);
|
||||
});
|
||||
});
|
||||
relatedBarBox.querySelectorAll("[data-analysis-detail-note]").forEach((inputEl) => {
|
||||
inputEl.addEventListener("focusout", async () => {
|
||||
const baseCode = String(inputEl.dataset.analysisDetailNote || "").trim();
|
||||
|
||||
Reference in New Issue
Block a user