asdasd
This commit is contained in:
@@ -74,6 +74,23 @@
|
||||
content:`<div style="${css({'text-align':'center',margin:'0 0 16px'})}">
|
||||
<a href="#" style="${css({display:'inline-block','background-color':'#0ea5e9',color:'#fff','text-decoration':'none',padding:'10px 18px','border-radius':'6px','font-family':'Arial,sans-serif','font-size':'14px'})}">Call To Action</a></div>` });
|
||||
|
||||
// TABLE
|
||||
addOnce(bm, 'cust-table', { id:'cust-table', label:'🧩 Tabelle (2xN)',
|
||||
content:`<table data-gjs-type="bridge-table" data-bridge-rows="3" data-bridge-cols="2" role="presentation" width="100%" cellpadding="0" cellspacing="0" style="${css({'font-family':'Arial,sans-serif','border-collapse':'collapse','width':'100%','margin-bottom':'16px'})}">
|
||||
<tr>
|
||||
<th style="${css({'text-align':'left','padding':'8px','border':'1px solid #e2e8f0','background-color':'#f8fafc','font-size':'13px'})}">Spalte A</th>
|
||||
<th style="${css({'text-align':'left','padding':'8px','border':'1px solid #e2e8f0','background-color':'#f8fafc','font-size':'13px'})}">Spalte B</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="${css({'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'})}">Zeile 1</td>
|
||||
<td style="${css({'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'})}">...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="${css({'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'})}">Zeile 2</td>
|
||||
<td style="${css({'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'})}">...</td>
|
||||
</tr>
|
||||
</table>` });
|
||||
|
||||
// DIVIDER
|
||||
addOnce(bm, 'cust-divider',{ id:'cust-divider',label:'⎯ Divider',
|
||||
content:`<hr style="${css({border:'0',height:'1px','background-color':'#e2e8f0',margin:'16px 0'})}">` });
|
||||
@@ -82,15 +99,6 @@
|
||||
addOnce(bm, 'cust-spacer', { id:'cust-spacer', label:'↕ Spacer',
|
||||
content:`<div style="${css({height:'24px'})}"></div>` });
|
||||
|
||||
// 2 COL
|
||||
addOnce(bm, 'cust-2col', { id:'cust-2col', label:'🧩 2 Spalten',
|
||||
content:`<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="${css({'font-family':'Arial,sans-serif','border-collapse':'collapse','margin-bottom':'16px'})}">
|
||||
<tr><td width="50%" valign="top" style="${css({padding:'0 8px 0 0'})}">
|
||||
<div style="${css({'font-size':'14px','line-height':'1.5',color:'#0f172a'})}"><p style="${css({margin:'0 0 12px'})}">Linke Spalte – Inhalt hier.</p></div>
|
||||
</td><td width="50%" valign="top" style="${css({padding:'0 0 0 8px'})}">
|
||||
<div style="${css({'font-size':'14px','line-height':'1.5',color:'#0f172a'})}"><p style="${css({margin:'0 0 12px'})}">Rechte Spalte – Inhalt hier.</p></div>
|
||||
</td></tr></table>` });
|
||||
|
||||
// MEDIA LEFT
|
||||
addOnce(bm, 'cust-media-left', { id:'cust-media-left', label:'🖼️◀ Text',
|
||||
content:`<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="${css({'font-family':'Arial,sans-serif','border-collapse':'collapse','margin-bottom':'16px'})}">
|
||||
|
||||
@@ -108,22 +108,14 @@
|
||||
addOrUpdate(bm, 'std-button', { label:'Button (Basis)',
|
||||
content:`<a href="#" data-gjs-type="button" style="${css({display:'inline-block','background-color':'#0ea5e9',color:'#fff','text-decoration':'none',padding:'10px 18px','border-radius':'6px','font-family':'Arial,sans-serif','font-size':'14px'})}">Button</a>` });
|
||||
|
||||
// TABLE (Registriert als 'std-table')
|
||||
addOrUpdate(bm, 'std-table', { label:'Tabelle (2xN)',
|
||||
content:`<table data-gjs-type="bridge-table" data-bridge-rows="3" data-bridge-cols="2" role="presentation" width="100%" cellpadding="0" cellspacing="0" style="${css({'font-family':'Arial,sans-serif','border-collapse':'collapse','width':'100%'})}">
|
||||
<tr>
|
||||
<th style="${css({'text-align':'left','padding':'8px','border':'1px solid #e2e8f0','background-color':'#f8fafc','font-size':'13px'})}">Spalte A</th>
|
||||
<th style="${css({'text-align':'left','padding':'8px','border':'1px solid #e2e8f0','background-color':'#f8fafc','font-size':'13px'})}">Spalte B</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="${css({'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'})}">Zeile 1</td>
|
||||
<td style="${css({'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'})}">...</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="${css({'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'})}">Zeile 2</td>
|
||||
<td style="${css({'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'})}">...</td>
|
||||
</tr>
|
||||
</table>` });
|
||||
// 2 COL (Bibliothek)
|
||||
addOrUpdate(bm, 'std-2col', { label:'2 Spalten',
|
||||
content:`<table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="${css({'font-family':'Arial,sans-serif','border-collapse':'collapse','margin-bottom':'16px'})}">
|
||||
<tr><td width="50%" valign="top" style="${css({padding:'0 8px 0 0'})}">
|
||||
<div style="${css({'font-size':'14px','line-height':'1.5',color:'#0f172a'})}"><p style="${css({margin:'0 0 12px'})}">Linke Spalte – Inhalt hier.</p></div>
|
||||
</td><td width="50%" valign="top" style="${css({padding:'0 0 0 8px'})}">
|
||||
<div style="${css({'font-size':'14px','line-height':'1.5',color:'#0f172a'})}"><p style="${css({margin:'0 0 12px'})}">Rechte Spalte – Inhalt hier.</p></div>
|
||||
</td></tr></table>` });
|
||||
|
||||
// DIVIDER (Registriert als 'std-divider')
|
||||
addOrUpdate(bm, 'std-divider',{ label:'Trenner (Basis)',
|
||||
|
||||
@@ -325,6 +325,7 @@
|
||||
if (editor.__bridgeRteModalOpen) return;
|
||||
editor.__bridgeRteModalOpen = true;
|
||||
editor.__bridgeRteAllowClose = false;
|
||||
let reopenGuard = false;
|
||||
|
||||
if (!modal.__bridgeCloseLocked) {
|
||||
modal.__bridgeCloseLocked = true;
|
||||
@@ -550,6 +551,21 @@
|
||||
editor.__bridgeRteAllowClose = false;
|
||||
});
|
||||
}
|
||||
const mdl = modal.getModel && modal.getModel();
|
||||
if (mdl && typeof mdl.on === 'function') {
|
||||
const handler = () => {
|
||||
if (editor.__bridgeRteAllowClose) {
|
||||
mdl.off && mdl.off('change:open', handler);
|
||||
return;
|
||||
}
|
||||
if (!mdl.get('open') && !reopenGuard) {
|
||||
reopenGuard = true;
|
||||
mdl.set('open', true);
|
||||
setTimeout(() => { reopenGuard = false; }, 0);
|
||||
}
|
||||
};
|
||||
mdl.on('change:open', handler);
|
||||
}
|
||||
try {
|
||||
modal.open({ closeOnEsc: false, closeOnClick: false });
|
||||
} catch {
|
||||
|
||||
Reference in New Issue
Block a user