Erweiterungen
This commit is contained in:
@@ -64,11 +64,13 @@ public class EditProfileView extends HorizontalLayout {
|
|||||||
// Linke Spalte: Formular
|
// Linke Spalte: Formular
|
||||||
VerticalLayout formColumn = new VerticalLayout();
|
VerticalLayout formColumn = new VerticalLayout();
|
||||||
formColumn.setWidth("68%");
|
formColumn.setWidth("68%");
|
||||||
|
formColumn.setHeightFull();
|
||||||
formColumn.setPadding(false);
|
formColumn.setPadding(false);
|
||||||
formColumn.setSpacing(false);
|
formColumn.setSpacing(false);
|
||||||
// TabSheet
|
// TabSheet
|
||||||
TabSheet tabSheet = new TabSheet();
|
TabSheet tabSheet = new TabSheet();
|
||||||
tabSheet.setSizeFull();
|
tabSheet.setSizeFull();
|
||||||
|
formColumn.setFlexGrow(1, tabSheet);
|
||||||
|
|
||||||
|
|
||||||
FormLayout form = new FormLayout();
|
FormLayout form = new FormLayout();
|
||||||
@@ -289,21 +291,26 @@ public class EditProfileView extends HorizontalLayout {
|
|||||||
billingRight.setWidth("55%");
|
billingRight.setWidth("55%");
|
||||||
billingRight.setPadding(false);
|
billingRight.setPadding(false);
|
||||||
billingRight.setSpacing(false);
|
billingRight.setSpacing(false);
|
||||||
billingRight.setHeight("70vh");
|
billingRight.setHeightFull();
|
||||||
|
billingTab.setFlexGrow(1, billingRight);
|
||||||
H3 previewTitle = new H3("Rechnungsvorschau");
|
H3 previewTitle = new H3("Rechnungsvorschau");
|
||||||
previewTitle.getStyle().set("margin", "0 0 var(--lumo-space-s) 0");
|
previewTitle.getStyle().set("margin", "0 0 var(--lumo-space-s) 0");
|
||||||
|
|
||||||
// Echte PDF-Vorschau mittels StreamResource und iframe
|
// Echte PDF-Vorschau mittels StreamResource und iframe
|
||||||
Div previewWrapper = new Div();
|
Div previewWrapper = new Div();
|
||||||
previewWrapper.setWidth("100%");
|
previewWrapper.setWidth("100%");
|
||||||
previewWrapper.setHeight("100%");
|
previewWrapper.setHeight("600px");
|
||||||
previewWrapper.getStyle()
|
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)
|
// Initial noch keine PDF laden (erst bei aktiver Checkbox)
|
||||||
pdfFrame = new IFrame();
|
pdfFrame = new IFrame();
|
||||||
pdfFrame.setWidth("100%");
|
pdfFrame.setWidth("100%");
|
||||||
pdfFrame.setHeight("100%");
|
pdfFrame.setHeight("100%");
|
||||||
|
pdfFrame.getStyle().set("border", "none");
|
||||||
|
pdfFrame.getStyle().set("background", "var(--lumo-contrast-10pct)");
|
||||||
previewWrapper.removeAll();
|
previewWrapper.removeAll();
|
||||||
previewWrapper.add(pdfFrame);
|
previewWrapper.add(pdfFrame);
|
||||||
|
|
||||||
@@ -408,11 +415,19 @@ public class EditProfileView extends HorizontalLayout {
|
|||||||
pdfFrame.setSrc((String) null);
|
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() {
|
private void refreshPdf() {
|
||||||
byte[] bytes = generatePreviewPdf();
|
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) {
|
if (pdfFrame != null) {
|
||||||
pdfFrame.setSrc(dataUrl);
|
pdfFrame.setSrc(dataUrl);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user