diff --git a/static/app.js b/static/app.js index 70106ad..52289c1 100644 --- a/static/app.js +++ b/static/app.js @@ -372,31 +372,34 @@ renumberMorning(); } + var noteModalRow = null; + window.openNoteModal = function(btn) { - var row = btn.closest('.item-row'); - var noteEl = row.querySelector('.item-note-val'); - var input = row.querySelector('input[type="text"]'); + noteModalRow = btn.closest('.item-row'); + var noteEl = noteModalRow.querySelector('.item-note-val'); + var input = noteModalRow.querySelector('input[type="text"]'); var title = input ? input.value.trim() || '未命名任务' : '备注'; document.getElementById('note-modal-title').textContent = title; document.getElementById('note-modal-textarea').value = noteEl ? noteEl.value : ''; document.getElementById('note-modal').style.display = 'flex'; - document.getElementById('note-modal').dataset.rowIndex = Array.prototype.indexOf.call(row.parentElement.children, row); }; window.saveNoteModal = function() { var modal = document.getElementById('note-modal'); - var row = document.querySelectorAll('#morning-list .item-row')[parseInt(modal.dataset.rowIndex)]; - var noteEl = row.querySelector('.item-note-val'); - var btn = row.querySelector('.btn-note-toggle'); + if (!noteModalRow) return; + var noteEl = noteModalRow.querySelector('.item-note-val'); + var btn = noteModalRow.querySelector('.btn-note-toggle'); var val = document.getElementById('note-modal-textarea').value.trim(); if (noteEl) noteEl.value = val; - if (val) { btn.classList.add('has-note'); } else { btn.classList.remove('has-note'); } + if (btn) { if (val) { btn.classList.add('has-note'); } else { btn.classList.remove('has-note'); } } modal.style.display = 'none'; + noteModalRow = null; triggerAutoSave(); }; window.closeNoteModal = function() { document.getElementById('note-modal').style.display = 'none'; + noteModalRow = null; }; function renumberMorning() {