JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://underscorejs.org/underscore-min.js"></script>
<script src="https://mobiledemo.jaspersoft.com/jasperserver-pro/client/visualize.js"></script>
<select id="productFamilySelector"></select>
<br>
<div id="App"></div>
React
function RenderVisualize () {
React.useEffect(function () {
let reportUri = "/public/Samples/Reports/Cascading_Report_2_Updated";
visualize({
auth: {
name: "joeuser",
password: "joeuser",
organization: "organization_1"
}
}, function (v) {
let inputControls = v.inputControls({
resource: reportUri,
success: renderInputControls
});
let report = v.report({
resource: reportUri,
container: "#container"
});
$("#productFamilySelector").on("change", function () {
report.params({
"Product_Family": [$(this).val()]
}).run();
});
});
function renderInputControls(data) {
let productFamilyInputControl = _.findWhere(data, {
id: "Product_Family"
});
let select = $("#productFamilySelector");
_.each(productFamilyInputControl.state.options, function (option) {
select.append("<option " + (option.selected ? "selected" : "") + " value='" + option.value + "'>" + option.label + "</option>");
});
}
}, [])
return (
<div id='container'></div>
)
}
ReactDOM.render(<RenderVisualize />, document.querySelector("#App"))