JSFiddle - React, Tailwind, and code Playground
by Stas_P
HTML
<script src="http://localhost:8080/jrio-client/optimized-scripts/client/jrio.js"></script>
<div id="search">
<input id="search-query" type="input" placeholder="Enter text here"/>
<button id="search-button">Search</button>
<span id="info">The results will be highlighted in yellow!</span>
</div>
<ul id="search-results"></ul>
<div id="reportContainer"></div>
CSS
body {
background-color: lightgreen;
}
#search {
margin-bottom: 10px;
}
#info {
font-family: Arial;
font-size: 12px;
}
#info, .jr_search_result > span {
background-color: yellow;
}
.gotoPage {
color: blue;
cursor: pointer;
}
JavaScript
jrio.config({
server : "http://localhost:8080/jrio",
scripts : "http://localhost:8080/jrio-client/optimized-scripts",
locale: "en_US"
});
jrio(function(jrioClient) {
var report = jrioClient.report({
resource: "/samples/reports/TableReport",
container: "#reportContainer",
error: handleError,
});
var $resultsContainer = $("#search-results");
$("#search-button").click(function(){
report.search({
text: $("#search-query").val(),
caseSensitive: false,
wholeWordsOnly: false
}).done(function(results) {
var $elem;
$resultsContainer.empty();
if (!results.length) {
$elem = $("<li class='jr_search_result'><span>The search did not return any results!</span></li>");
$resultsContainer.append($elem);
} else {
report.refresh();
for (var i = 0; i < results.length; i++) {
$elem = $("<li>Found " + results[i].hitCount + " results on page: <span class='gotoPage' data-page='" + results[i].page +"'>#" + results[i].page + "<span></li>");
$resultsContainer.append($elem);
}
}
}).fail(handleError);
});
$resultsContainer.on("click", ".gotoPage", function(evt) {
report.pages($(this).data("page"))
.run()
.fail(handleError);
});
function handleError(err){
alert(err.message);
}
});