Visualize: search in report and zoom in/out

Visualize: search in report and scale

by Pavel Savushchyk

HTML

<script src='http://localhost:8080/trunk/client/visualize.js?_opt=false'></script>
<input id="search-query" type="input" />

<button id="search-button">Search</button>
<button id="zoom_in">+</button>
<button id="zoom_out">-</button>
<!--Provide container to render your visualization-->
<div id="container"></div>

CSS

.jr_search_result {
    background-color: green;
}

JavaScript

visualize({
    auth: {
        name: "superuser",
        password: "superuser"
    }
}, function (v) {

    var scale_index=1;
    //render report from provided resource
    var report = v.report({
        resource: "/public/Samples/Reports/ProfitDetailReport",
        error: handleError,
        container: "#container"
    });
    $("#zoom_in").click(function () {
        report.scale(scale_index+=0.1).run();   
    })
    
    $("#zoom_out").click(function () {
        report.scale(scale_index-=0.1).run();   
    })
    

    $("#search-button").click(function () {
        var sObj = {
            "text": $("#search-query").val()
        };
        report.search(sObj)
            .done(function (results) {
            if (results.length > 0) {

                for (var i = 0; i < results.length; i++) {
                    console.log("found " + results[i].hitCount + " results on page: #" + results[i].page);
                }
                report.pages(results[0].page).run().done(function (data) {
                    console.log(data);
                });
            } else {
                console.log("The search did not return any results!");
            }
        })
            .fail(handleError);
    });


    //show error
    function handleError(err) {
        alert(err.message);
    }

});