asdasd
This commit is contained in:
@@ -538,7 +538,7 @@
|
|||||||
log('SAVE FAILED (API)', `Speichern fehlgeschlagen: API-Fehler: ${data.error || 'Unbekannt'}`, 'red', 'error', true);
|
log('SAVE FAILED (API)', `Speichern fehlgeschlagen: API-Fehler: ${data.error || 'Unbekannt'}`, 'red', 'error', true);
|
||||||
alert(`Speichern fehlgeschlagen: ${data.error || 'API-Fehler'}`);
|
alert(`Speichern fehlgeschlagen: ${data.error || 'API-Fehler'}`);
|
||||||
} else {
|
} 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
|
// 💡 HINZUGEFÜGT: Bestätigung an das Elternfenster senden
|
||||||
window.parent.postMessage({ source: 'editor', type: 'save:success' }, '*');
|
window.parent.postMessage({ source: 'editor', type: 'save:success' }, '*');
|
||||||
editor.refresh(); // Optional: Editor-Ansicht aktualisieren
|
editor.refresh(); // Optional: Editor-Ansicht aktualisieren
|
||||||
|
|||||||
@@ -127,7 +127,7 @@
|
|||||||
<a href="#" style="${css({color:'#0ea5e9','text-decoration':'none'})}">Datenschutz</a></p>
|
<a href="#" style="${css({color:'#0ea5e9','text-decoration':'none'})}">Datenschutz</a></p>
|
||||||
</div>` });
|
</div>` });
|
||||||
|
|
||||||
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
|
// 🛑 KRITISCHE EXPORT-KORREKTUR: Exportiere 'register', um den Fehler in bridge-core.js zu beheben
|
||||||
|
|||||||
@@ -1108,7 +1108,7 @@ const refreshPlaceholderComponent = (component) => {
|
|||||||
log('PLACEHOLDER WARN', 'DB Placeholder Schema konnte nicht geladen werden – Fallback bleibt aktiv.', '#b45309');
|
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 = {
|
window.BridgeBlocksPlaceholder = {
|
||||||
|
|||||||
@@ -128,7 +128,7 @@
|
|||||||
// Löst die notwendigen Events für den Bridge Core / Cleanup aus.
|
// Löst die notwendigen Events für den Bridge Core / Cleanup aus.
|
||||||
editor.trigger('block:add');
|
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
|
// Exportiere für den manuellen Aufruf in bridge-core.js
|
||||||
|
|||||||
@@ -214,7 +214,7 @@
|
|||||||
// DOM Cleanup wird über renderBlocks aufgerufen
|
// DOM Cleanup wird über renderBlocks aufgerufen
|
||||||
renderBlocks(editor);
|
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;
|
normalizationIsRunning = false;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,11 +4,16 @@
|
|||||||
if (!B || typeof grapesjs === 'undefined') return;
|
if (!B || typeof grapesjs === 'undefined') return;
|
||||||
|
|
||||||
const PluginName = 'bridge-categorization-master';
|
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.
|
// Dies ist nun ein leeres Plugin. Die Logik wurde nach categorization-cleanup.js verschoben.
|
||||||
grapesjs.plugins.add(PluginName, (editor, opts = {}) => {
|
grapesjs.plugins.add(PluginName, (editor, opts = {}) => {
|
||||||
// Leere Plugin-Funktion. Führt keine Aufräumarbeiten, Normalisierung oder Exporte durch.
|
// 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 = {}));
|
})(window.BridgeParts || (window.BridgeParts = {}));
|
||||||
|
|||||||
@@ -354,11 +354,15 @@ export function initEditor() {
|
|||||||
|
|
||||||
try { hideReadyBadge(iframe.contentDocument); } catch {}
|
try { hideReadyBadge(iframe.contentDocument); } catch {}
|
||||||
|
|
||||||
bridgeListener = (ev) => {
|
bridgeListener = (ev) => {
|
||||||
const d = ev?.data || {};
|
const d = ev?.data || {};
|
||||||
if (!d) return;
|
if (!d) return;
|
||||||
// wir erwarten Nachrichten aus der Bridge/Editor
|
if (d.source === 'bridge-core' && d.type === 'rte-blur') {
|
||||||
if (d.source !== 'bridge' && d.source !== 'editor') return;
|
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;
|
if (myToken !== reqToken) return;
|
||||||
|
|
||||||
// NEU: Wenn der Editor meldet, dass er *gespeichert* hat,
|
// NEU: Wenn der Editor meldet, dass er *gespeichert* hat,
|
||||||
|
|||||||
@@ -698,7 +698,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!editor.Commands.get('bridge-open-richtext')) {
|
if (editor.Commands && editor.Commands.add) {
|
||||||
editor.Commands.add('bridge-open-richtext', {
|
editor.Commands.add('bridge-open-richtext', {
|
||||||
run(ed, sender, opts = {}) {
|
run(ed, sender, opts = {}) {
|
||||||
if (sender && sender.set) sender.set('active', 0);
|
if (sender && sender.set) sender.set('active', 0);
|
||||||
@@ -961,7 +961,7 @@
|
|||||||
modal.open();
|
modal.open();
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!editor.Commands.get('bridge-table:edit')) {
|
if (editor.Commands && editor.Commands.add) {
|
||||||
editor.Commands.add('bridge-table:edit', {
|
editor.Commands.add('bridge-table:edit', {
|
||||||
run(ed, sender, opts = {}) {
|
run(ed, sender, opts = {}) {
|
||||||
if (sender && sender.set) sender.set('active', 0);
|
if (sender && sender.set) sender.set('active', 0);
|
||||||
@@ -1109,9 +1109,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
const ensurePlaceholderCommandStub = (editor) => {
|
const ensurePlaceholderCommandStub = (editor) => {
|
||||||
if (!editor || !editor.Commands) return;
|
if (!editor || !editor.Commands || !editor.Commands.add) return;
|
||||||
const existing = editor.Commands.get && editor.Commands.get('bridge-placeholder:edit');
|
|
||||||
if (existing) return;
|
|
||||||
editor.Commands.add('bridge-placeholder:edit', {
|
editor.Commands.add('bridge-placeholder:edit', {
|
||||||
__bridgePlaceholderStub: true,
|
__bridgePlaceholderStub: true,
|
||||||
run(ed, sender, opts = {}) {
|
run(ed, sender, opts = {}) {
|
||||||
|
|||||||
Reference in New Issue
Block a user