fix(main-updated): register section-manager handlers before the documentControls early return
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

setupEventHandlers returned immediately when documentControls was absent (it
is never created now), so changes-accepted was never wired and accepted edits
updated the model but not the page. Verified end to end with a headless
Chromium edit through markitect md-render.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 299063@bnt-lap001
Assistant-Session: 53eb1e1c-c13a-4277-9ce2-3702960d93f7
This commit is contained in:
tegwick 2026-10-02 23:07:03 +02:00
parent 4fe036a338
commit c79cfd19c9

View file

@ -127,6 +127,32 @@ const MarkitectMain = {
setupEventHandlers: function() {
console.log('🔌 Setting up event handlers...');
// Setup section manager event handlers
if (this.sectionManager) {
// The DOM refresh must not depend on the optional debug panel.
this.sectionManager.on('changes-accepted', (data) => {
if (this.debugPanel) {
this.debugPanel.addMessage(`Changes accepted for section: ${data.sectionId}`, 'SUCCESS');
}
this.updateSectionDOM(data.sectionId);
});
}
if (this.sectionManager && this.debugPanel) {
this.sectionManager.on('sections-created', (data) => {
this.debugPanel.addMessage(`Created ${data.count} sections`, 'INFO');
});
this.sectionManager.on('edit-started', (data) => {
this.debugPanel.addMessage(`Edit started for section: ${data.sectionId}`, 'DEBUG');
});
this.sectionManager.on('changes-cancelled', (data) => {
this.debugPanel.addMessage(`Changes cancelled for section: ${data.sectionId}`, 'WARNING');
});
}
// Document-controls handlers need the (optional) document controls
if (!this.documentControls) return;
this.documentControls.setEventHandlers({
@ -187,31 +213,6 @@ const MarkitectMain = {
}
}
});
// Setup section manager event handlers
if (this.sectionManager) {
// The DOM refresh must not depend on the optional debug panel.
this.sectionManager.on('changes-accepted', (data) => {
if (this.debugPanel) {
this.debugPanel.addMessage(`Changes accepted for section: ${data.sectionId}`, 'SUCCESS');
}
this.updateSectionDOM(data.sectionId);
});
}
if (this.sectionManager && this.debugPanel) {
this.sectionManager.on('sections-created', (data) => {
this.debugPanel.addMessage(`Created ${data.count} sections`, 'INFO');
});
this.sectionManager.on('edit-started', (data) => {
this.debugPanel.addMessage(`Edit started for section: ${data.sectionId}`, 'DEBUG');
});
this.sectionManager.on('changes-cancelled', (data) => {
this.debugPanel.addMessage(`Changes cancelled for section: ${data.sectionId}`, 'WARNING');
});
}
},
// Render content using the configuration