// Visualize: Discover available types, formats etc. (5.6) visualize({ auth: { name: "jasperadmin", password: "jasperadmin", 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); // not working yet // buildControl("Resources search access types", v.reourcesSearch.accessType); buildControl("Report export formats", v.report.exportFormats); buildControl("Report table column types", v.report.table.column.types); //not working yet // buildControl("Report crosstab elements types", v.report.crosstab.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)); }
<!-- Visualize: Discover available types, formats etc. (5.6) --> <script type='text/javascript' src="http://code.jquery.com/jquery-2.1.0.js"></script> <script type='text/javascript' src="http://localhost:8080/jasperserver-pro/client/visualize.js"></script> <div id="container"></div>
#container select { margin: 10px; }