From e2820047863e4296c43ae6aafc8b073a5bba913d Mon Sep 17 00:00:00 2001 From: Lars Gebhardt-Kusche Date: Tue, 3 Feb 2026 03:54:15 +0100 Subject: [PATCH] =?UTF-8?q?Change=20info,=20obwohl=20nichts=20ge=C3=A4nder?= =?UTF-8?q?t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/current.ver | 2 +- public/assets/js/ui-editor.js | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/config/current.ver b/config/current.ver index 280fc9d..717d98b 100644 --- a/config/current.ver +++ b/config/current.ver @@ -1 +1 @@ -1.2.29 \ No newline at end of file +1.2.30 \ No newline at end of file diff --git a/public/assets/js/ui-editor.js b/public/assets/js/ui-editor.js index c58053c..253fb38 100644 --- a/public/assets/js/ui-editor.js +++ b/public/assets/js/ui-editor.js @@ -238,6 +238,18 @@ export function initEditor() { if (!editor || typeof editor.on !== 'function') return () => {}; let selectionJustChanged = false; let selectionTimer = null; + const isLibRef = (model) => { + if (!model) return false; + const attrs = typeof model.getAttributes === 'function' + ? model.getAttributes() + : (model.attributes && model.attributes.attributes) ? model.attributes.attributes : {}; + if (attrs && (attrs['data-lib-ref'] || attrs['data-lib-kind'] || attrs['data-lib-id'])) return true; + try { + const classes = typeof model.getClasses === 'function' ? model.getClasses() : []; + if (Array.isArray(classes) && classes.includes('lib-ref-wrapper')) return true; + } catch {} + return false; + }; const onSelect = () => { selectionJustChanged = true; if (selectionTimer) clearTimeout(selectionTimer); @@ -251,6 +263,7 @@ export function initEditor() { markDirty(); }; const onComponentUpdate = (model) => { + if (isLibRef(model)) return; const changed = (model && typeof model.changedAttributes === 'function') ? model.changedAttributes() : (model && model.changed) ? model.changed : null;