Erweiterungen
This commit is contained in:
@@ -176,12 +176,7 @@ public class PDFBuilderView extends Div {
|
||||
inspectorList.setPadding(false);
|
||||
inspectorList.setSpacing(false);
|
||||
|
||||
Button refresh = new Button("Aktualisieren", e -> refreshInspectorFromDom());
|
||||
refresh.addThemeVariants(ButtonVariant.LUMO_TERTIARY);
|
||||
refresh.getStyle().set("width", "100%");
|
||||
refresh.getStyle().set("margin-top", "var(--lumo-space-s)");
|
||||
|
||||
inspector.add(title, inspectorList, refresh);
|
||||
inspector.add(title, inspectorList);
|
||||
|
||||
return inspector;
|
||||
}
|
||||
@@ -370,7 +365,18 @@ public class PDFBuilderView extends Div {
|
||||
double dy = y == null ? 0 : Math.max(0, y);
|
||||
double dw = w == null ? 10 : Math.max(10, w);
|
||||
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);
|
||||
// Serverliste aktualisieren
|
||||
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('touchstart', onDown, { passive: false });\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