VIsualize.js Render
by NesterOne
HTML
<!--Provide URL to visualize.js-->
<script src="http://underscorejs.org/underscore.js"></script>
<script src="http://code.jquery.com/jquery-2.1.0.js"></script>
<script src="http://build-master.jaspersoft.com:7580/jrs-pro-feature-amber-embedded-report/client/visualize.js"></script>
<!--Provide container to render your visualization-->
<div>
<div style="width:830px;" id="main"></div>
<div style="width:500px;" id="drill-down"></div>
</div>
CSS
#main{
float: left;
}
#drill-down{
float: left;
}
JavaScript
visualize({
auth: {
name: "jasperadmin",
password: "jasperadmin",
organization: "organization_1"
}
}, function (v) {
v("#main").report({
resource: "/AdditionalResourcesForTesting/Drill_Reports_with_Controls/main_report",
linkOptions: {
beforeRender: function (linkToElemPairs) {
linkToElemPairs.forEach(showCursor);
},
events: {
"click": function(ev, link){
link = fixLink(link);
if (link.type == "ReportExecution"){
v("#drill-down").report({
resource: link.hint.resource,
params: link.hint.params,
});
console.log(link.hint);
}
}
}
},
success: function(data){
console.log(data);
},
error: function (err) {
alert(err.message);
}
});
function showCursor(pair){
var el = pair.element;
el.style.cursor = "pointer";
}
function fixLink(link){
//TODO: fix inside visualize.js
var resource = link.params._report;
delete link.params._report;
var params = link.params;
delete link.params;
link.hint = {
resource: resource,
params : _.chain(params)
.pairs()
.map(function(pair){
var paramName = pair[0],
paramValue = pair[1];
if (!_.isArray(paramValue)){
paramValue = [paramValue];
}
return [paramName, paramValue];
})
...