diff --git a/public/assets/js/bridge/blocks-api.js b/public/assets/js/bridge/blocks-api.js index 7e81510..689453b 100644 --- a/public/assets/js/bridge/blocks-api.js +++ b/public/assets/js/bridge/blocks-api.js @@ -538,7 +538,7 @@ log('SAVE FAILED (API)', `Speichern fehlgeschlagen: API-Fehler: ${data.error || 'Unbekannt'}`, 'red', 'error', true); alert(`Speichern fehlgeschlagen: ${data.error || 'API-Fehler'}`); } else { - log('SAVE SUCCESS', `Speichern erfolgreich für Aktion ${action}.`, '#008000', 'info', true); + log('SAVE SUCCESS', `Speichern erfolgreich für Aktion ${action}.`, '#008000', 'info'); // 💡 HINZUGEFÜGT: Bestätigung an das Elternfenster senden window.parent.postMessage({ source: 'editor', type: 'save:success' }, '*'); editor.refresh(); // Optional: Editor-Ansicht aktualisieren diff --git a/public/assets/js/bridge/blocks-custom.js b/public/assets/js/bridge/blocks-custom.js index 0f260b3..7fdb98c 100644 --- a/public/assets/js/bridge/blocks-custom.js +++ b/public/assets/js/bridge/blocks-custom.js @@ -127,7 +127,7 @@ Datenschutz

` }); - log('SUCCESS', `Registrierung abgeschlossen. ${ALL_CUSTOM_BLOCK_IDS.length} Blöcke erstellt.`, '#008000', 'info', true); + log('SUCCESS', `Registrierung abgeschlossen. ${ALL_CUSTOM_BLOCK_IDS.length} Blöcke erstellt.`, '#008000', 'info'); } // 🛑 KRITISCHE EXPORT-KORREKTUR: Exportiere 'register', um den Fehler in bridge-core.js zu beheben diff --git a/public/assets/js/bridge/blocks-placeholder.js b/public/assets/js/bridge/blocks-placeholder.js index 063fe3b..05b6975 100644 --- a/public/assets/js/bridge/blocks-placeholder.js +++ b/public/assets/js/bridge/blocks-placeholder.js @@ -1108,7 +1108,7 @@ const refreshPlaceholderComponent = (component) => { log('PLACEHOLDER WARN', 'DB Placeholder Schema konnte nicht geladen werden – Fallback bleibt aktiv.', '#b45309'); }); - log('SUCCESS', `Placeholder-Registrierung abgeschlossen. ${ALL_PLACEHOLDER_BLOCK_IDS.length} Blöcke erstellt.`, '#008000', 'info', true); + log('SUCCESS', `Placeholder-Registrierung abgeschlossen. ${ALL_PLACEHOLDER_BLOCK_IDS.length} Blöcke erstellt.`, '#008000', 'info'); } window.BridgeBlocksPlaceholder = { diff --git a/public/assets/js/bridge/blocks-standard.js b/public/assets/js/bridge/blocks-standard.js index 3b7a4a5..a2636d5 100644 --- a/public/assets/js/bridge/blocks-standard.js +++ b/public/assets/js/bridge/blocks-standard.js @@ -128,7 +128,7 @@ // Löst die notwendigen Events für den Bridge Core / Cleanup aus. editor.trigger('block:add'); - log('SUCCESS', `Erfolgreich ${ALL_STANDARD_BLOCK_IDS.length} Standardblöcke in Kategorie '${TARGET_CAT_LABEL}' registriert.`, '#008000', 'info', true); + log('SUCCESS', `Erfolgreich ${ALL_STANDARD_BLOCK_IDS.length} Standardblöcke in Kategorie '${TARGET_CAT_LABEL}' registriert.`, '#008000', 'info'); }; // Exportiere für den manuellen Aufruf in bridge-core.js diff --git a/public/assets/js/bridge/categorization-cleanup.js b/public/assets/js/bridge/categorization-cleanup.js index c369709..0885428 100644 --- a/public/assets/js/bridge/categorization-cleanup.js +++ b/public/assets/js/bridge/categorization-cleanup.js @@ -214,7 +214,7 @@ // DOM Cleanup wird über renderBlocks aufgerufen renderBlocks(editor); - log('END', `Kategorisierung abgeschlossen. Sichtbare Kategorien (Modelle): ${visibleCategories.sort().join(', ')}.`, 'green', 'info', true); // FINAL Log ist forced=true für Abschlussmeldung + log('END', `Kategorisierung abgeschlossen. Sichtbare Kategorien (Modelle): ${visibleCategories.sort().join(', ')}.`, 'green', 'info'); normalizationIsRunning = false; }; diff --git a/public/assets/js/bridge/categorization-master.js b/public/assets/js/bridge/categorization-master.js index d544c7f..5d31880 100644 --- a/public/assets/js/bridge/categorization-master.js +++ b/public/assets/js/bridge/categorization-master.js @@ -4,11 +4,16 @@ if (!B || typeof grapesjs === 'undefined') return; const PluginName = 'bridge-categorization-master'; + const log = (message) => { + if (typeof B.log === 'function') { + B.log(PluginName, message, '#888', 'info'); + } + }; // Dies ist nun ein leeres Plugin. Die Logik wurde nach categorization-cleanup.js verschoben. grapesjs.plugins.add(PluginName, (editor, opts = {}) => { // Leere Plugin-Funktion. Führt keine Aufräumarbeiten, Normalisierung oder Exporte durch. - console.log(`[${PluginName}] Plugin existiert (Logik nach cleanup.js verschoben).`); + log('Plugin existiert (Logik nach cleanup.js verschoben).'); }); })(window.BridgeParts || (window.BridgeParts = {})); diff --git a/public/assets/js/ui-editor.js b/public/assets/js/ui-editor.js index 6546809..2ba45be 100644 --- a/public/assets/js/ui-editor.js +++ b/public/assets/js/ui-editor.js @@ -354,11 +354,15 @@ export function initEditor() {       try { hideReadyBadge(iframe.contentDocument); } catch {} -      bridgeListener = (ev) => { -        const d = ev?.data || {}; -        if (!d) return; -        // wir erwarten Nachrichten aus der Bridge/Editor -        if (d.source !== 'bridge' && d.source !== 'editor') return; + bridgeListener = (ev) => { + const d = ev?.data || {}; + if (!d) return; + if (d.source === 'bridge-core' && d.type === 'rte-blur') { + try { console.log(d.detail || '[RTE BLUR]'); } catch {} + return; + } + // wir erwarten Nachrichten aus der Bridge/Editor + if (d.source !== 'bridge' && d.source !== 'editor') return;         if (myToken !== reqToken) return;         // NEU: Wenn der Editor meldet, dass er *gespeichert* hat, diff --git a/public/editor/bridge-core.js b/public/editor/bridge-core.js index b336db3..eb6a890 100644 --- a/public/editor/bridge-core.js +++ b/public/editor/bridge-core.js @@ -698,7 +698,7 @@ }); } - if (!editor.Commands.get('bridge-open-richtext')) { + if (editor.Commands && editor.Commands.add) { editor.Commands.add('bridge-open-richtext', { run(ed, sender, opts = {}) { if (sender && sender.set) sender.set('active', 0); @@ -961,7 +961,7 @@ modal.open(); }; - if (!editor.Commands.get('bridge-table:edit')) { + if (editor.Commands && editor.Commands.add) { editor.Commands.add('bridge-table:edit', { run(ed, sender, opts = {}) { if (sender && sender.set) sender.set('active', 0); @@ -1109,9 +1109,7 @@ }); const ensurePlaceholderCommandStub = (editor) => { - if (!editor || !editor.Commands) return; - const existing = editor.Commands.get && editor.Commands.get('bridge-placeholder:edit'); - if (existing) return; + if (!editor || !editor.Commands || !editor.Commands.add) return; editor.Commands.add('bridge-placeholder:edit', { __bridgePlaceholderStub: true, run(ed, sender, opts = {}) {