Visualize: Ad Hoc View Data API
Test plugins
by Yuriy Bablyukh
HTML
<script src="http://code.jquery.com/jquery-2.1.0.js"></script>
<!--Provide URL to visualize.js-->
<script src="http://localhost:8710/jasperserver-pro/client/visualize.js?_opt=true"></script>
<div>
<button id="left"><<</button>
<button id="print">Current Data</button>
<button id="right">>></button>
</div>
<!--Provide container to render your visualization-->
<div id="container"></div>
CSS
.control {
display: block;
}
.control.input.text>.wrap {
display: block;
}
.control>input {
width: 360px;
}
.error,
.logout {
color: red;
}
.success {
color: green;
}
.message {
display: none;
}
.button {
height: 35px;
width: 200px;
border: thin solid black;
padding: auto;
display: inline-block;
margin: 5px;
}
.disabled {
border-color: !important #777;
background-color: #BBB;
}
.selected {
border-color: red
}
JavaScript
var counts = [];
visualize({
auth: {
name: "jasperadmin",
password: "jasperadmin",
organization: "organization_1"
}
}, function(v) {
var adv = v.adhocView({
resource: "/public/Samples/Ad_Hoc_Views/11__Top_5_Products_by_City",
container: "#container",
error: function() {
console.log(arguments);
},
success: function(ada) {
console.log("Data param");
console.log(ada);
counts = ada._dataset_internal_.counts;
}
});
$("#right").click(function() {
var params = adv.data()._dataset_internal_.params;
params.offset[1] += 25;
if (counts[1] > params.offset[1] + 25) {
adv._updateComponent_internal_("_dataset_internal_", {
params: params
}).done(function(data) {
console.log(data);
});
} else {
$("#right").attr('disabled', 'disabled');
}
});
$("#left").click(function() {
var params = adv.data()._dataset_internal_.params;
params.offset[0] -= 25;
if (params.offset[0] < 0) {
params.offset[0] = 0;
}
if (counts[1] > params.offset[1] + 25) {
adv._updateComponent_internal_("_dataset_internal_", {
params: params
}).done(function(data) {
console.log(data);
});
}
console.log(params.limit);
adv._updateComponent_internal_("_dataset_internal_", {
params: params
}).done(function(data) {
console.log(data);
})
});
$("#print").click(function() {
console.log(adv.data());
});
});