Dynamic resource types
Visualize: Discover available types, formats etc.
by Kishoreajey
HTML
<script type='text/javascript' src="https://code.jquery.com/jquery-2.1.0.js"></script>
<script src="https://jaspersoftdev.healthcareit.net/jasperserver-pro/client/visualize.js"></script>
<div id="container">Loading...</div>
CSS
#container select {
margin: 10px;
}
JavaScript
// Visualize: Discover available types, formats etc.
visualize({
auth: {
name: "joeuser",
password: "joeuser",
organization: "organization_1"
}
}, function (v) {
buildControl("Chart types", v.report.chart.types);
buildControl("Resources types", v.resourcesSearch.types);
buildControl("Resources search sort types", v.resourcesSearch.sortBy);
buildControl("Report export formats", v.report.exportFormats);
buildControl("Report table column types", v.report.table.column.types);
});
function buildControl(name, options) {
function buildOptions(options) {
var template = "<option>{value}</option>";
return options.reduce(function (memo, option) {
return memo + template.replace("{value}", option);
}, "")
}
console.log(options);
if (!options.length){
console.log(options);
}
var template = "<label>{label}</label><select>{options}</select><br>",
content = template.replace("{label}", name)
.replace("{options}", buildOptions(options));
$("#container").append($(content));
}