JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://underscorejs.org/underscore-min.js"></script>
<script type='text/javascript' src="https://mobiledemo.jaspersoft.com/jasperserver-pro/client/visualize.js"></script>
<button id="sortAsc">Sort rows ASC</button>
<button id="sortDesc">Sort rows DESC</button>
<button id="sortNone">Sort rows NONE</button>
<div id="App"></div>
React
function RenderVisualize () {
React.useEffect(function () {
visualize({
auth: {
name: "joeuser",
password: "joeuser",
organization: "organization_1"
}
}, function (v) {
var row,
report = v.report({
resource: "/public/viz/crosstab",
container: "#container",
events: {
reportCompleted: function (status, error) {
if (status === "ready") {
row = _.filter(report.data().components, function (component) {
return component.componentType == "crosstabRowGroup";
})[0];
}
}
},
error: function (err) {
alert(err);
}
});
$("#sortAsc").on("click", function () {
report.updateComponent(row.id, {
sort: {
order: "asc"
}
}).fail(function (e) {
alert(e);
});
});
$("#sortDesc").on("click", function () {
report.updateComponent(row.id, {
sort: {
order: "desc"
}
}).fail(function (e) {
alert(e);
});
});
$("#sortNone").on("click", function () {
report.updateComponent(row.id, {
sort: {}
}).fail(function (e) {
alert(e);
});
});
});
}, [])
return (
<div id='container'></div>
)
}
ReactDOM.render(<RenderVisualize />, document.querySelector("#App"))