JSFiddle - React, Tailwind, and code Playground
by Stas_P
HTML
<script src="http://localhost:8710/jasperserver-pro/client/visualize.js"></script>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<div>
<h4>Bookmarks</h4>
<div id="bookmarksContainer"></div>
</div>
<!--Provide container to render your visualization-->
<div id="container"></div>
CSS
#container {
width:400px;
}
JavaScript
visualize({
auth: {
name: "jasperadmin",
password: "jasperadmin",
organization: "Organization_1"
}
}, function (v) {
//render report from provided resource
var report = v.report({
// resource: "/public/Samples/Reports/AllAccounts",
resource: "/public/Samples/Reports/17._Report_Workbook",
error: handleError,
container: "#container",
events: {
bookmarksReady: handleBookmarks
}
});
//show error
function handleError(err){
alert(err.message);
}
$("#bookmarksContainer").on("click", ".jr_bookmark", function(evt) {
report.pages({
anchor: $(this).data("anchor")
}).run();
});
// handle bookmarks
function handleBookmarks(bookmarks, container) {
var li, ul = $("<ul/>");
!container && $("#bookmarksContainer").empty();
container = container || $("#bookmarksContainer");
$.each(bookmarks, function(i, bookmark) {
li = $("<li><span class='jr_bookmark' title='Anchor: " + bookmark.anchor + ", page: " + bookmark.page + "' data-anchor='" + bookmark.anchor + "' data-page='" + bookmark.page + "'>" + bookmark.anchor + "</span></li>");
bookmark.bookmarks && handleBookmarks(bookmark.bookmarks, li);
ul.append(li);
});
container.append(ul);
}
});