You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/05/11 11:43:17 UTC
[isis] branch master updated: ISIS-3040: fixes java-script to enable pdf page printing (v2)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 409e808721 ISIS-3040: fixes java-script to enable pdf page printing (v2)
409e808721 is described below
commit 409e8087211578568d602e977caafb2af51398cc
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed May 11 13:43:10 2022 +0200
ISIS-3040: fixes java-script to enable pdf page printing (v2)
---
.../java/org/apache/isis/applib/value/NamedWithMimeType.java | 4 ++++
.../dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java | 3 ++-
.../extensions/pdfjs/wkt/integration/res/pdfjs-integration-v2.js | 9 ++++++---
.../extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.html | 6 +++---
4 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java b/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
index 69f1abf7cd..445c047142 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/NamedWithMimeType.java
@@ -203,6 +203,10 @@ extends
}
}
+ public boolean matches(final MimeType otherMimeType) {
+ return mimeType.match(otherMimeType);
+ }
+
}
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java
index 1ce4205556..999b41342d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/PropertyLayoutMenu.java
@@ -31,6 +31,7 @@ import org.apache.isis.applib.annotation.PriorityPrecedence;
import org.apache.isis.applib.annotation.SemanticsOf;
import org.apache.isis.applib.services.clock.ClockService;
import org.apache.isis.applib.value.Blob;
+import org.apache.isis.applib.value.NamedWithMimeType.CommonMimeType;
import lombok.RequiredArgsConstructor;
import lombok.val;
@@ -154,7 +155,7 @@ public class PropertyLayoutMenu {
val vm = new PropertyLayoutRepaintingVm();
vm.setEditMe("Modify this field to see if repainting occurs...");
samples.stream()
- .filter(x -> x.getName().endsWith(".pdf"))
+ .filter(x -> CommonMimeType.PDF.matches(x.getMimeType()))
.findFirst()
.ifPresent(pdfBlob -> {
vm.setPropertyUsingAnnotation(pdfBlob);
diff --git a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/pdfjs-integration-v2.js b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/pdfjs-integration-v2.js
index a820f056ca..e96e26371d 100644
--- a/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/pdfjs-integration-v2.js
+++ b/extensions/vw/pdfjs/wicket/integration/src/main/java/org/apache/isis/extensions/pdfjs/wkt/integration/res/pdfjs-integration-v2.js
@@ -135,7 +135,7 @@
pdfDoc.getPage(num).then(function(page) {
if (abortingPrinting) { return; }
- var viewport = page.getViewport(1);
+ var viewport = page.getViewport({scale: 1});
var offScreenCanvas = $('<canvas/>')[0];
offScreenCanvas.width = viewport.width;
offScreenCanvas.height = viewport.height;
@@ -360,7 +360,10 @@
* Get page info from document, resize canvas accordingly, and render page.
* @param num Page number.
*/
- function renderPage(num) {
+ function renderPage(num_) {
+
+ const num = boundedPageNumber(num_);
+
// console.log("renderPage: " + num);
pageRendering = true;
@@ -417,7 +420,7 @@
loadingTask.promise.then(function (pdfDoc_) {
pdfDoc = pdfDoc_;
Wicket.Event.publish(WicketStuff.PDFJS.Topic.TOTAL_PAGES, pdfDoc.numPages, {"canvasId": config.canvasId});
- renderPage(boundedPageNumber(pageNum));
+ renderPage(pageNum);
});
}
};
diff --git a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.html b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.html
index c9552dd4ec..18342391a0 100644
--- a/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.html
+++ b/extensions/vw/pdfjs/wicket/ui/src/main/java/org/apache/isis/extensions/pdfjs/wkt/ui/components/PdfJsViewerPanel.html
@@ -25,10 +25,10 @@
<div class="row">
<div class="scalarValue col-sm-12">
<div>
- <span>Page: <input wicket:id="currentPage" class="pdf-js-page-current" title="Select Page" size="1"></input> / <span wicket:id="totalPages" class="pdf-js-page-total"></span></span>
+ <span>Page: <input wicket:id="currentPage" class="pdf-js-page-current" title="Select Page" size="1"></input> / <span wicket:id="totalPages" class="pdf-js-page-total"></span></span>
- <button wicket:id="prevPage" disabled type="button" class="fa fa-backward btn btn-xs btn-default pdf-js-page-prev" title="Previous"></button>
- <button wicket:id="nextPage" disabled type="button" class="fa fa-forward btn btn-xs btn-default pdf-js-page-next" title="Next"></button>
+ <button wicket:id="prevPage" disabled type="button" class="fa fa-angle-left btn btn-xs btn-default pdf-js-page-prev" title="Previous"></button>
+ <button wicket:id="nextPage" disabled type="button" class="fa fa-angle-right btn btn-xs btn-default pdf-js-page-next" title="Next"></button>
<select wicket:id="currentZoom" title="Current Zoom Level" class="pdf-js-zoom-current">
<option id="pageAutoOption" value="auto" >Automatic Zoom</option>