Erweiterungen
This commit is contained in:
@@ -176,12 +176,7 @@ public class PDFBuilderView extends Div {
|
|||||||
inspectorList.setPadding(false);
|
inspectorList.setPadding(false);
|
||||||
inspectorList.setSpacing(false);
|
inspectorList.setSpacing(false);
|
||||||
|
|
||||||
Button refresh = new Button("Aktualisieren", e -> refreshInspectorFromDom());
|
inspector.add(title, inspectorList);
|
||||||
refresh.addThemeVariants(ButtonVariant.LUMO_TERTIARY);
|
|
||||||
refresh.getStyle().set("width", "100%");
|
|
||||||
refresh.getStyle().set("margin-top", "var(--lumo-space-s)");
|
|
||||||
|
|
||||||
inspector.add(title, inspectorList, refresh);
|
|
||||||
|
|
||||||
return inspector;
|
return inspector;
|
||||||
}
|
}
|
||||||
@@ -370,7 +365,18 @@ public class PDFBuilderView extends Div {
|
|||||||
double dy = y == null ? 0 : Math.max(0, y);
|
double dy = y == null ? 0 : Math.max(0, y);
|
||||||
double dw = w == null ? 10 : Math.max(10, w);
|
double dw = w == null ? 10 : Math.max(10, w);
|
||||||
double dh = h == null ? 10 : Math.max(10, h);
|
double dh = h == null ? 10 : Math.max(10, h);
|
||||||
String js = "(function(){ const el = document.getElementById('" + id + "'); if(!el) return; el.style.left='" + (int)dx + "px'; el.style.top='" + (int)dy + "px'; el.style.width='" + (int)dw + "px'; el.style.height='" + (int)dh + "px'; })()";
|
|
||||||
|
// Set flag to indicate programmatic change before updating styles
|
||||||
|
String js = "(function(){ " +
|
||||||
|
"const el = document.getElementById('" + id + "'); " +
|
||||||
|
"if(!el) return; " +
|
||||||
|
"el._programmaticUpdate = true; " + // Flag to ignore ResizeObserver during programmatic updates
|
||||||
|
"el.style.left='" + (int)dx + "px'; " +
|
||||||
|
"el.style.top='" + (int)dy + "px'; " +
|
||||||
|
"el.style.width='" + (int)dw + "px'; " +
|
||||||
|
"el.style.height='" + (int)dh + "px'; " +
|
||||||
|
"setTimeout(() => { el._programmaticUpdate = false; }, 100); " + // Reset flag after DOM updates
|
||||||
|
"})()";
|
||||||
UI.getCurrent().getPage().executeJs(js);
|
UI.getCurrent().getPage().executeJs(js);
|
||||||
// Serverliste aktualisieren
|
// Serverliste aktualisieren
|
||||||
upsertServerFrame(id, null, null, (int)dx, (int)dy, (int)dw, (int)dh);
|
upsertServerFrame(id, null, null, (int)dx, (int)dy, (int)dw, (int)dh);
|
||||||
@@ -811,7 +817,7 @@ public class PDFBuilderView extends Div {
|
|||||||
"frame.addEventListener('mousedown', onDown);\n" +
|
"frame.addEventListener('mousedown', onDown);\n" +
|
||||||
"frame.addEventListener('touchstart', onDown, { passive: false });\n" +
|
"frame.addEventListener('touchstart', onDown, { passive: false });\n" +
|
||||||
"// Größenänderungen beobachten (ResizeObserver)\n" +
|
"// Größenänderungen beobachten (ResizeObserver)\n" +
|
||||||
"if (window.ResizeObserver) { const ro = new ResizeObserver(()=>{ try { if (canvas && canvas.parentElement && canvas.parentElement.$server && canvas.parentElement.$server.onFrameChanged) { canvas.parentElement.$server.onFrameChanged(); } } catch(e){} }); ro.observe(frame); }\n"
|
"if (window.ResizeObserver) { const ro = new ResizeObserver(()=>{ try { if (!frame._programmaticUpdate && canvas && canvas.parentElement && canvas.parentElement.$server && canvas.parentElement.$server.onFrameChanged) { canvas.parentElement.$server.onFrameChanged(); } } catch(e){} }); ro.observe(frame); }\n"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user