diff --git a/cypress/e2e/adminText.cy.js b/cypress/e2e/adminText.cy.js index a92e595..f5cad89 100644 --- a/cypress/e2e/adminText.cy.js +++ b/cypress/e2e/adminText.cy.js @@ -65,42 +65,6 @@ describe('The admin text detail page', () => { cy.get('#text-detail li').should('contain', 'Nested Child Node') }) - it('keeps a parent expanded after adding a child to it', () => { - cy.intercept('POST', '/api/nodes').as('createNode') - cy.intercept('GET', '/api/nodes/0').as('getNodesRefresh') - - cy.get('#text-detail > ul > li > ul > li') - .first() - .find('button.toggle-children') - .click() - cy.get('#text-detail > ul > li > ul > li > ul') - .first() - .should('be.visible') - - cy.get('#text-detail > ul > li > ul > li') - .first() - .children('button.add-child') - .click() - cy.get('#text-detail > ul > li > ul > li') - .first() - .children('input.child-title') - .type('Shemos') - cy.get('#text-detail > ul > li > ul > li') - .first() - .children('button.save-child') - .click() - - cy.wait('@createNode').its('response.statusCode').should('eq', 201) - cy.wait('@getNodesRefresh') - - cy.get('#text-detail > ul > li > ul > li > ul') - .first() - .should('be.visible') - cy.get('#text-detail > ul > li > ul > li > ul') - .first() - .should('contain', 'Shemos') - }) - it('newly added child persists after page reload', () => { cy.intercept('POST', '/api/nodes').as('createNode') cy.intercept('GET', '/api/nodes/0').as('getNodesRefresh') diff --git a/public/js/text.js b/public/js/text.js index 486f7f5..59fc4ee 100644 --- a/public/js/text.js +++ b/public/js/text.js @@ -1,5 +1,3 @@ -const expandedNodeIds = new Set(); - document.addEventListener('DOMContentLoaded', () => { const textId = window.location.pathname.split('/').pop(); @@ -71,11 +69,7 @@ function renderTree(nodes, textId, depth = 0) { if (node.children.length > 0) { const childUl = renderTree(node.children, textId, depth + 1); - const childrenVisible = - expandedNodeIds.has(node.id) || depth === 0; - if (childrenVisible) { - expandedNodeIds.add(node.id); - } + const childrenVisible = depth === 0; childUl.style.display = childrenVisible ? '' : 'none'; const toggleBtn = document.createElement('button'); @@ -85,11 +79,6 @@ function renderTree(nodes, textId, depth = 0) { const isHidden = childUl.style.display === 'none'; childUl.style.display = isHidden ? '' : 'none'; toggleBtn.textContent = isHidden ? '▼' : '▶'; - if (isHidden) { - expandedNodeIds.add(node.id); - } else { - expandedNodeIds.delete(node.id); - } }); li.appendChild(toggleBtn); @@ -121,7 +110,6 @@ function toggleAddForm(li, parentNodeId, textId) { const title = input.value.trim(); if (!title) return; - expandedNodeIds.add(parentNodeId); fetch('/api/nodes', { method: 'POST', headers: { 'Content-Type': 'application/json' }, @@ -167,7 +155,6 @@ function toggleBulkAddForm(li, parentNodeId, textId) { const count = parseInt(countInput.value); if (!titlePrefix || !count || count < 1) return; - expandedNodeIds.add(parentNodeId); fetch('/api/nodes/bulk', { method: 'POST', headers: { 'Content-Type': 'application/json' },