Skip to content

Commit 35f2f61

Browse files
committed
feat: add new constructor using DownloadHandler
1 parent e7ec1ff commit 35f2f61

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

vcf-pdf-viewer-demo/src/main/java/com/vaadin/componentfactory/pdfviewer/BasicPdfViewerExample.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.vaadin.flow.component.html.Div;
44
import com.vaadin.flow.router.Route;
5-
import com.vaadin.flow.server.StreamResource;
5+
import com.vaadin.flow.server.streams.DownloadHandler;
66

77
@Route(value = "", layout = MainLayout.class)
88
public class BasicPdfViewerExample extends Div {
@@ -11,8 +11,7 @@ public BasicPdfViewerExample() {
1111

1212
PdfViewer pdfViewer = new PdfViewer();
1313
pdfViewer.setSizeFull();
14-
StreamResource resource = new StreamResource("example.pdf", () -> getClass().getResourceAsStream("/pdf/example.pdf"));
15-
pdfViewer.setSrc(resource);
14+
pdfViewer.setSrc(DownloadHandler.forClassResource(getClass(), "/pdf/example.pdf", "example.pdf"));
1615
add(pdfViewer);
1716
}
1817

vcf-pdf-viewer/src/main/java/com/vaadin/componentfactory/pdfviewer/PdfViewer.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import com.vaadin.flow.component.icon.Icon;
3636
import com.vaadin.flow.component.icon.VaadinIcon;
3737
import com.vaadin.flow.server.AbstractStreamResource;
38+
import com.vaadin.flow.server.streams.DownloadHandler;
3839
import org.apache.commons.lang3.StringUtils;
3940

4041
@Tag("vcf-pdf-viewer")
@@ -101,6 +102,18 @@ public void setSrc(AbstractStreamResource src) {
101102
updateDownloadSource();
102103
}
103104

105+
/**
106+
* Sets a pdf file to render as a DownloadHandler.
107+
* <p>
108+
* Example: {@code DownloadHandler.forClassResource(getClass(), "mypdf.pdf")}
109+
*
110+
* @since 5.0.0
111+
*/
112+
public void setSrc(DownloadHandler downloadHandler) {
113+
getElement().setAttribute("src", downloadHandler);
114+
updateDownloadSource();
115+
}
116+
104117
/**
105118
* @return current zoom level
106119
*/

0 commit comments

Comments
 (0)