Files
emailtemplate.it/public/editor/config.js
2026-02-09 01:38:39 +01:00

81 lines
3.3 KiB
JavaScript
Executable File

/* /editor/config.js (SCHRITT 35: LOG-EBENEN-KONTROLLE) */
(function() {
// Stelle sicher, dass BridgeParts existiert und hole die registrierten Plugins.
const B = window.BridgeParts || {};
// --- 🎯 ZENTRALE LOG-KONFIGURATION (Überschreibt general-functions.js Defaults) ---
// HINWEIS: Dies muss NACH general-functions.js geladen werden.
B.LOG_CONFIG = B.LOG_CONFIG || {};
// 1. HAUPTSCHALTER: Deaktiviert alle normalen Logs (muss auf 'true' sein, damit die Ebenen-Schalter wirken)
B.LOG_CONFIG.GLOBAL_DEBUG = true;
// 2. EBENEN-SCHALTER (wirken nur, wenn GLOBAL_DEBUG = true):
B.LOG_CONFIG.INFO_ENABLED = true; // Aktiviert/Deaktiviert alle Info-Logs (B.log mit type='info')
B.LOG_CONFIG.WARN_ENABLED = true; // Aktiviert/Deaktiviert alle Warn-Logs (B.log mit type='warn')
B.LOG_CONFIG.ERROR_ENABLED = true; // Aktiviert/Deaktiviert alle Error-Logs (B.log mit type='error')
// 3. DATEN-SCHALTER: Aktiviert/Deaktiviert die Ausgabe großer Array-Daten (B.logData)
B.LOG_CONFIG.DATA_ENABLED = true;
// ----------------------------------------------------------------------------------
// Sammle alle dynamisch registrierten Plugin-Namen.
// Der Array B.GrapesJSPlugins wurde von bridge-core.js, blocks-api.js etc. gefüllt.
const dynamicPluginNames = B.GrapesJSPlugins
? B.GrapesJSPlugins.map(p => p.name)
: [];
// Optional: Fügen Sie statische GrapesJS-Plugins hinzu
const staticPlugins = [
'gjs-preset-newsletter' // Beispiel: Fügt den Newsletter-Preset hinzu, falls gewünscht
];
// Kombiniere alle Plugin-Namen zu einer eindeutigen Liste
const uniquePlugins = [...new Set([
...dynamicPluginNames,
...staticPlugins
])];
// Definiere die Haupt-Konfiguration für GrapesJS
const editorConfig = {
// 1. WICHTIG: Ersetze 'gjs' durch die ID des Containers
container: '#gjs',
// 2. KRITISCH: Die dynamisch erstellte Plugin-Liste
plugins: uniquePlugins,
// 3. Plugin-Optionen (können leer bleiben, wenn keine Optionen benötigt werden)
pluginsOpts: {
// Hier Optionen für einzelne Plugins eintragen
},
// --- Andere Basis-Konfigurationen ---
panels: {
defaults: [
{ id: 'options', el: '.panel__options', buttons: [{ id: 'save', label: 'Speichern', className: 'fa fa-floppy-o' }] },
{ id: 'views', el: '.panel__views' },
]
},
domComponents: {
// Ensure plain text is preserved when editing text blocks.
textTags: ['p','span','div','br','b','strong','i','em','u','a','ul','ol','li']
},
// ... Fügen Sie hier weitere GrapesJS-Optionen ein (z.B. device buttons)
};
// Starte GrapesJS
// window.GrapesJS.init wurde in bridge-core.js definiert, um GrapesJS zu starten.
if (window.GrapesJS && window.GrapesJS.init) {
// Übergebe editorConfig und die Liste der Plugin-Funktionen
window.GrapesJS.init(editorConfig, B.GrapesJSPlugins.map(p => p.name), B.GrapesJSPlugins);
} else {
console.error('GrapesJS.init ist in window.GrapesJS nicht verfügbar. Wurde bridge-core.js geladen?');
}
})();