From 1edf27845de78dda6adb428a2988ee264007ca70 Mon Sep 17 00:00:00 2001 From: Markus Haack Date: Wed, 1 Oct 2025 09:37:11 +0200 Subject: [PATCH 1/2] fix: solve move issues --- ue/scripts/ue.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/ue/scripts/ue.js b/ue/scripts/ue.js index 3711f95..998db1e 100644 --- a/ue/scripts/ue.js +++ b/ue/scripts/ue.js @@ -145,6 +145,28 @@ const setupUEEventHandlers = () => { } } }); + + document.addEventListener('aue:content-move', (event) => { + const { from, component } = event.detail; + if (from === 'urn:ab:main' && component.startsWith('urn:ab:section')) { + const mainEl = document.querySelector('main[data-aue-resource="urn:ab:main"]'); + if (mainEl) { + const sectionEls = mainEl.children; + sectionEls.forEach((sectionEl, sIndex) => { + sectionEl.setAttribute('data-aue-resource', `urn:ab:section-${sIndex}`); + + const attributedEls = sectionEl.querySelectorAll('[data-aue-resource]'); + attributedEls.forEach((attributedEl) => { + const currentAueResource = attributedEl.getAttribute('data-aue-resource'); + const updatedResource = currentAueResource.replace(/urn:ab:section-\d+/, `urn:ab:section-${sIndex}`); + attributedEl.setAttribute('data-aue-resource', updatedResource); + }); + }); + } + } else if (from.startsWith('urn:ab:section')) { + window.location.reload(); + } + }); }; export default () => { From a654810bbfdc596a112daf461ca8152d6ab01f46 Mon Sep 17 00:00:00 2001 From: Hannes Hertach Date: Wed, 8 Oct 2025 17:38:43 +0200 Subject: [PATCH 2/2] fix foreach loop --- ue/scripts/ue.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ue/scripts/ue.js b/ue/scripts/ue.js index 998db1e..7f44f2a 100644 --- a/ue/scripts/ue.js +++ b/ue/scripts/ue.js @@ -152,11 +152,11 @@ const setupUEEventHandlers = () => { const mainEl = document.querySelector('main[data-aue-resource="urn:ab:main"]'); if (mainEl) { const sectionEls = mainEl.children; - sectionEls.forEach((sectionEl, sIndex) => { + [...sectionEls].forEach((sectionEl, sIndex) => { sectionEl.setAttribute('data-aue-resource', `urn:ab:section-${sIndex}`); const attributedEls = sectionEl.querySelectorAll('[data-aue-resource]'); - attributedEls.forEach((attributedEl) => { + [...attributedEls].forEach((attributedEl) => { const currentAueResource = attributedEl.getAttribute('data-aue-resource'); const updatedResource = currentAueResource.replace(/urn:ab:section-\d+/, `urn:ab:section-${sIndex}`); attributedEl.setAttribute('data-aue-resource', updatedResource);