JSFiddle - React, Tailwind, and code Playground
HTML
<!-- Visualize: login/logout with SSO sample
-->
<script type='text/javascript' src="https://mobiledemo.jaspersoft.com/jasperserver-pro/client/visualize.js"></script>
<select id="selected_resource" disabled="false" name="report">
<option value="/public/Samples/Reports/AllAccounts">All Accounts (light)</option>
<option value="/public/Samples/Reports/5g.AccountsReport">All Accounts (dark)</option>
<option value="/public/Samples/Reports/SalesByMonthReport">Sales By Month Report (light)</option>
<option value="/public/Samples/Reports/11g.SalesByMonthReport">Sales By Month Report (dark)</option>
<option value="/public/Samples/Reports/ProfitDetailReport">Profit Detail Report (light)</option>
<option value="/public/Samples/Reports/06g.ProfitDetailReport">Profit Detail Report (dark)</option>
<option value="/public/Samples/Reports/9.CustomerDetailReport">Customer Detail Report (light)</option>
<option value="/public/Samples/Reports/9g.CustomerDetailReport">Customer Detail Report (dark)</option>
<option value="/public/Samples/Reports/State_Performance">Performance by Store Type (light) </option>
<option value="/public/Samples/Reports/10g.PerformanceByStoreType">Performance By Store Type (dark) </option>
<option value="/public/Samples/Reports/14.PerformanceSummary">Performance Summary</option>
</select>
<!--Provide container to render your visualization-->
<br><br>
<div id="App"></div>
React
function RenderVisualize () {
React.useEffect(function () {
visualize({
auth: {
name: "joeuser",
password: "joeuser",
organization:"organization_1",
timezone: "Europe/Helsinki"
}
}, function (v){
//enable report chooser
$(':disabled').prop('disabled', false);
function createReport(uri) {
v("#container").report({
resource: uri,
error: function (err) {
alert(err.message);
}
});
};
createReport($("#selected_resource").val());
$("#selected_resource").change(function () {
$("#container").html("");
createReport($("#selected_resource").val());
});
}, function(err){
alert(err.message);
});
}, [])
return (
<div id='container'></div>
)
}
ReactDOM.render(<RenderVisualize />, document.querySelector("#App"))