Erweiterungen

This commit is contained in:
2025-08-22 11:19:06 +02:00
parent 9d8bf9487a
commit b4dd4fa902

View File

@@ -64,11 +64,13 @@ public class EditProfileView extends HorizontalLayout {
// Linke Spalte: Formular
VerticalLayout formColumn = new VerticalLayout();
formColumn.setWidth("68%");
formColumn.setHeightFull();
formColumn.setPadding(false);
formColumn.setSpacing(false);
// TabSheet
TabSheet tabSheet = new TabSheet();
tabSheet.setSizeFull();
formColumn.setFlexGrow(1, tabSheet);
FormLayout form = new FormLayout();
@@ -289,21 +291,26 @@ public class EditProfileView extends HorizontalLayout {
billingRight.setWidth("55%");
billingRight.setPadding(false);
billingRight.setSpacing(false);
billingRight.setHeight("70vh");
billingRight.setHeightFull();
billingTab.setFlexGrow(1, billingRight);
H3 previewTitle = new H3("Rechnungsvorschau");
previewTitle.getStyle().set("margin", "0 0 var(--lumo-space-s) 0");
// Echte PDF-Vorschau mittels StreamResource und iframe
Div previewWrapper = new Div();
previewWrapper.setWidth("100%");
previewWrapper.setHeight("100%");
previewWrapper.setHeight("600px");
previewWrapper.getStyle()
.set("overflow", "auto");
.set("overflow", "auto")
.set("background", "var(--lumo-contrast-10pct)")
.set("padding", "0");
// Initial noch keine PDF laden (erst bei aktiver Checkbox)
pdfFrame = new IFrame();
pdfFrame.setWidth("100%");
pdfFrame.setHeight("100%");
pdfFrame.getStyle().set("border", "none");
pdfFrame.getStyle().set("background", "var(--lumo-contrast-10pct)");
previewWrapper.removeAll();
previewWrapper.add(pdfFrame);
@@ -408,11 +415,19 @@ public class EditProfileView extends HorizontalLayout {
pdfFrame.setSrc((String) null);
}
}
// Sicherstellen, dass das IFrame den verfügbaren Raum nutzt
if (pdfFrame != null) {
pdfFrame.setWidth("100%");
pdfFrame.setHeight("100%");
pdfFrame.getStyle().set("border", "none");
pdfFrame.getStyle().set("display", "block");
}
}
private void refreshPdf() {
byte[] bytes = generatePreviewPdf();
String dataUrl = "data:application/pdf;base64," + Base64.getEncoder().encodeToString(bytes) + "#toolbar=0&navpanes=0&zoom=page-width&view=FitH";
String dataUrl = "data:application/pdf;base64," + Base64.getEncoder().encodeToString(bytes)
+ "#toolbar=0&navpanes=0&statusbar=0&view=Fit&zoom=page-fit";
if (pdfFrame != null) {
pdfFrame.setSrc(dataUrl);
}