fix: inline rename uses .tree-item-text span instead of direct text node
CI / lint (push) Failing after 5s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 9s

This commit is contained in:
2026-06-04 15:01:05 -04:00
parent 247d78374c
commit e22967ada8
+8 -11
View File
@@ -843,13 +843,14 @@ const FileOperations = {
return;
}
const textNode = Array.from(item.childNodes).find((node) => node.nodeType === Node.TEXT_NODE && node.textContent.trim());
if (!textNode) {
// Find the text span (.tree-item-text) — tree items use spans, not direct text nodes
const textSpan = item.querySelector('.tree-item-text');
if (!textSpan) {
showToast('Impossible de renommer cet élément', 'error');
return;
}
const originalText = textNode.textContent;
const originalText = textSpan.textContent;
const trimmedOriginal = originalText.trim();
const currentName = path.split('/').pop() || trimmedOriginal;
const baseName = type === 'file' ? currentName.replace(/(\.[^./\\]+)$/i, '') : currentName;
@@ -860,17 +861,13 @@ const FileOperations = {
input.className = 'sidebar-item-input';
input.value = baseName;
textNode.textContent = ' ';
const badge = item.querySelector('.badge-small');
if (badge) {
item.insertBefore(input, badge);
} else {
item.appendChild(input);
}
// Hide the text span, show input
textSpan.style.display = 'none';
textSpan.insertAdjacentElement('afterend', input);
const restore = () => {
input.remove();
textNode.textContent = originalText;
textSpan.style.display = '';
};
const validateName = (name) => {