Visualize: Drill-Down in separate container (5.6)

by Stas_P

HTML

<script src="http://underscorejs.org/underscore.js"></script>
<script src="http://code.jquery.com/jquery-2.1.0.js"></script>
<!-- Visualize: Drill-Down in separate container  (5.6)
  -->

<script type="text/javascript" src="http://localhost:8640/jasperserver-pro/client/visualize.js"></script>

<!--Provide container to render your visualization-->
<div>
    <div id="main"></div>
    <div id="drill-down"></div>
</div>

CSS

#main{
   float: left; 
}

#drill-down{
    float: left; 
}

JavaScript

// Visualize: Drill-Down in separate container  (5.6)

// This Fiddle uses a non-standard demo report:
//    /public/viz/Hyperlinks/Drill_Reports_with_Controls/main_report

visualize({
    auth: {
        name: "jasperadmin",
        password: "jasperadmin",
        organization: "organization_1"
    }
}, function (v) {
      
    v("#main").report({
        resource: "/public/relativeTimestamp_master_report",
        linkOptions: {
            beforeRender: function (linkToElemPairs) {
                linkToElemPairs.forEach(showCursor);
            },
            events: {
                "click": function(ev, link){
                   if (link.type == "ReportExecution"){
                        v("#drill-down").report({
                            resource: link.parameters._report,
                            params: {
                                endTime: [link.parameters.endTime]
                            }, 
                        });     
                    }
                     console.log(link);
                }
            }    
        },
        error: function (err) {
            alert(err.message);
        }
    });
    
    function showCursor(pair){
           var el = pair.element;
              // el.style.cursor = "pointer";
    }
    
});