hide node action buttons until title clicked

This commit is contained in:
Yisroel Baum 2026-05-04 09:45:36 +03:00
parent e0be4bad11
commit c73cbe2f1a
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
2 changed files with 38 additions and 0 deletions

View file

@ -1,4 +1,5 @@
const expandedNodeIds = new Set();
let activeNodeId = null;
document.addEventListener('DOMContentLoaded', () => {
const textId = window.location.pathname.split('/').pop();
@ -75,8 +76,29 @@ function renderTree(nodes, textId, depth = 0) {
const titleSpan = document.createElement('span');
titleSpan.textContent = node.title;
titleSpan.addEventListener('click', () => {
if (activeNodeId === node.id) {
activeNodeId = null;
li.classList.remove('is-active');
closeAllAddForms();
return;
}
const previousActive = document.querySelector(
'#text-detail li.is-active'
);
if (previousActive) {
previousActive.classList.remove('is-active');
}
closeAllAddForms();
li.classList.add('is-active');
activeNodeId = node.id;
});
li.appendChild(titleSpan);
if (node.id === activeNodeId) {
li.classList.add('is-active');
}
const addBtn = document.createElement('button');
addBtn.textContent = 'Add child';
addBtn.className = 'add-child';