Visualize: login/logout with SSO sample
Test plugins
by Yuriy Bablyukh
HTML
<script src="http://code.jquery.com/jquery-2.1.0.js"></script>
<!--Provide URL to visualize.js-->
<script type='text/javascript' src="http://localhost:8080/jasperserver-pro/client/visualize.js"></script>
<!--<script type='text/javascript' src="http://localhost:8080/jasperserver-pro/client/visualize.js"></script>-->
<div>
<label class="control input text" for="j_username">
<span class="wrap">Authentication Token:</span>
<input id="token" disabled="true" name="token" type="text" autocapitalize="off" value="ST-40-CZeUUnGPxEqgScNbxh9l-sso-cas.eng.jaspersoft.com"/>
</label>
<button id="login" disabled="true">Login</button>
<button id="logout" disabled="true">Logout</button>
<span class="message error">Authentication Error</span>
<span class="message success">Logged in</span>
<span class="message logout">Logged out</span>
</div>
<select id="selected_resource" disabled="true" name="report">
<option value="/public/Samples/Reports/1._Geographic_Results_by_Segment_Report">1._Geographic_Results_by_Segment_Report</option>
<option value="/public/Samples/Reports/2_Sales_Mix_by_Demographic_Report">2_Sales_Mix_by_Demographic_Report</option>
<option value="/public/Samples/Reports/3_Store_Segment_Performance_Report">3_Store_Segment_Performance_Report</option>
<option value="/public/Samples/Reports/04._Product_Results_by_Store_Type_Report">04._Product_Results_by_Store_Type_Report</option>
<option value="/public/Samples/Reports/AllAccounts">AllAccounts</option>
<option value="/public/Samples/Reports/5g.AccountsReport">5g.AccountsReport</option>
<option value="/public/Samples/Reports/06g.ProfitDetailReport">06g.ProfitDetailReport</option>
<option value="/public/Samples/Reports/ProfitDetailReport">ProfitDetailReport</option>
<option value="/public/Samples/Reports/07g.RevenueDetailReport">07g.RevenueDetailReport</option>
<option selected="selected"...
CSS
.control {
display: block;
}
.control.input.text > .wrap {
display:block;
}
.control > input{
width: 360px;
}
.error, .logout{
color: red;
}
.success{
color: green;
}
.message{
display: none;
}
JavaScript
visualize(
function(v){
$("#selected_resource").change(function () {
$("#container").html("");
createReport($("#selected_resource").val(), v);
});
$("#login").click(function(){
v.login(getAuthData()).done(function(){
createReport($("#selected_resource").val(),v);
showMessage(".success");
}).fail(function(){showMessage(".error");});
});
$("#logout").click(function(){
v.logout().always(function(){showMessage(".logout");});
});
$(':disabled').prop('disabled', false);
}
);
//create and render report to specific container
function createReport(uri, v) {
v("#container").report({
resource: uri,
error: function (err) {
alert(err.message);
}
});
};
function showMessage(selector){
$(".message").hide();
$(selector).show();
};
function getAuthData(){
return {token: $("#token").val()};
};