diff --git a/config/current.ver b/config/current.ver
index 47ddbf2..d5bad6d 100644
--- a/config/current.ver
+++ b/config/current.ver
@@ -1 +1 @@
-1.2.66
\ No newline at end of file
+1.2.67
\ No newline at end of file
diff --git a/public/assets/js/bridge/blocks-custom/elements/table-2xn.js b/public/assets/js/bridge/blocks-custom/elements/table-2xn.js
index b89bb1c..e4fe0c7 100644
--- a/public/assets/js/bridge/blocks-custom/elements/table-2xn.js
+++ b/public/assets/js/bridge/blocks-custom/elements/table-2xn.js
@@ -1,57 +1,22 @@
(function(){
window.BridgeBlocksCustomElements = window.BridgeBlocksCustomElements || [];
window.BridgeBlocksCustomElements.push(function(ctx){
- const { bm, addOnce } = ctx;
- const hasBridgeTable = !!(ctx.editor && ctx.editor.DomComponents && ctx.editor.DomComponents.getType && ctx.editor.DomComponents.getType('bridge-table'));
- const tableType = hasBridgeTable ? 'bridge-table' : 'default';
+ const { bm, addOnce, css } = ctx;
addOnce(bm, 'cust-table', { id:'cust-table', label:'🧩 Tabelle (2xN)',
- content:{
- type: tableType,
- tagName:'table',
- attributes:{
- role:'presentation',
- width:'100%',
- cellpadding:'0',
- cellspacing:'0',
- 'data-bridge-table':'1',
- 'data-bridge-rows':'3',
- 'data-bridge-cols':'2'
- },
- style:{
- 'font-family':'Arial,sans-serif',
- 'border-collapse':'collapse',
- 'width':'100%',
- 'margin-bottom':'16px'
- },
- components: [
- {
- tagName: 'tbody',
- components: [
- {
- tagName: 'tr',
- components: [
- { tagName: 'th', content: 'Spalte A', style: {'text-align':'left','padding':'8px','border':'1px solid #e2e8f0','background-color':'#f8fafc','font-size':'13px'} },
- { tagName: 'th', content: 'Spalte B', style: {'text-align':'left','padding':'8px','border':'1px solid #e2e8f0','background-color':'#f8fafc','font-size':'13px'} },
- ],
- },
- {
- tagName: 'tr',
- components: [
- { tagName: 'td', content: 'Zeile 1', style: {'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'} },
- { tagName: 'td', content: '...', style: {'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'} },
- ],
- },
- {
- tagName: 'tr',
- components: [
- { tagName: 'td', content: 'Zeile 2', style: {'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'} },
- { tagName: 'td', content: '...', style: {'padding':'8px','border':'1px solid #e2e8f0','font-size':'13px'} },
- ],
- },
- ],
- },
- ]
- }
+ content:`
+
+ | Spalte A |
+ Spalte B |
+
+
+ | Zeile 1 |
+ ... |
+
+
+ | Zeile 2 |
+ ... |
+
+
`
});
});
})();
diff --git a/public/assets/js/bridge/blocks-placeholder.js b/public/assets/js/bridge/blocks-placeholder.js
index 0c3e6b9..aa02243 100644
--- a/public/assets/js/bridge/blocks-placeholder.js
+++ b/public/assets/js/bridge/blocks-placeholder.js
@@ -20,7 +20,8 @@
if (window.__PLACEHOLDER_BLOCKS_LOADED) return;
window.__PLACEHOLDER_BLOCKS_LOADED = true;
-const TARGET_CAT_ID = 'placeholders';
+ const TARGET_CAT_ID = 'placeholders';
+ const SHOW_PLACEHOLDER_BLOCKS = (B && B.SHOW_PLACEHOLDER_BLOCKS === true);
const PLACEHOLDER_COMPONENT = 'placeholder-block';
const ALL_PLACEHOLDER_BLOCK_IDS = [];
const INLINE_PLACEHOLDER_CLASS = 'bridge-placeholder-inline';
@@ -1088,11 +1089,13 @@ const refreshPlaceholderComponent = (component) => {
editor.on('load', bindRteButton, { once: true });
}
- addOnce(bm, 'cust-placeholder-custom', {
- id: 'cust-placeholder-custom',
- label: '🔖 Placeholder (Text)',
- content: `{{UEBERSCHRIFT}}`
- });
+ if (SHOW_PLACEHOLDER_BLOCKS) {
+ addOnce(bm, 'cust-placeholder-custom', {
+ id: 'cust-placeholder-custom',
+ label: '🔖 Placeholder (Text)',
+ content: `{{UEBERSCHRIFT}}`
+ });
+ }
const ensureDbBlock = (tables) => {
const fallback = { table: 'tabelle', column: 'feld' };
@@ -1109,6 +1112,7 @@ const refreshPlaceholderComponent = (component) => {
const blockId = 'cust-placeholder-db';
const label = '🗄️ Placeholder (DB)';
const existing = typeof bm.get === 'function' ? bm.get(blockId) : null;
+ if (!SHOW_PLACEHOLDER_BLOCKS) return;
if (existing && typeof existing.set === 'function') {
existing.set('content', content);
existing.set('label', label);
diff --git a/public/assets/js/bridge/category-config.js b/public/assets/js/bridge/category-config.js
index 25f596c..ba30dc8 100644
--- a/public/assets/js/bridge/category-config.js
+++ b/public/assets/js/bridge/category-config.js
@@ -29,7 +29,7 @@
// --- 3. API Custom-Blocks (Standard-API) ----
custom: {
ord: 1,
- label: 'Custom',
+ label: 'Templates',
open: true,
files: ['library-api.js','blocks-api.js'],
registration_mode: 'async',
diff --git a/public/assets/js/bridge/table-builder.js b/public/assets/js/bridge/table-builder.js
index ba6257f..06dc044 100644
--- a/public/assets/js/bridge/table-builder.js
+++ b/public/assets/js/bridge/table-builder.js
@@ -173,6 +173,13 @@
},
}),
view: BaseView,
+ isComponent(el) {
+ if (!el || !el.hasAttribute) return false;
+ if (el.tagName && el.tagName.toLowerCase() === 'table' && el.getAttribute('data-bridge-table') === '1') {
+ return { type: 'bridge-table' };
+ }
+ return false;
+ },
});
}