Visualize: login/logout usage sample
Test plugins
by Gene Arnold
HTML
<script src="http://code.jquery.com/jquery-2.1.0.js"></script>
<!--Provide URL to visualize.js-->
<script type='text/javascript' src="http://build-master.jaspersoft.com:5980/jrs-pro-trunk/client/visualize.js"></script>
<!--<script type='text/javascript' src="http://localhost:8080/jasperserver-pro/client/visualize.js"></script>-->
<div>
<label class="control input text hidden" accesskey="o" for="orgId">
<span class="wrap">Organization:</span>
<input id="orgId" name="orgId" type="text" autocapitalize="off"/>
</label>
<label class="control input text" for="j_username">
<span class="wrap">User ID:</span>
<input id="j_username" name="j_username" type="text" autocapitalize="off"/>
</label>
<label class="control input password" for="j_password">
<span class="wrap">Password:</span>
<input class="" id="j_password" name="j_password" type="password"/>
</label>
<label class="control select" for="userLocale">
<span class="wrap">Locale:</span>
<select id="userLocale" name="userLocale">
<option value="en" selected="">
en
</option>
<option value="de">
de
</option>
<option value="es">
es
</option>
<option value="fr">
fr
</option>
<option value="it">
it
...
CSS
.control {
display: block;
}
.control.input.text > .wrap {
display:block;
}
.control.input.password > .wrap {
display:block;
}
.error, .logout{
color: red;
}
.success{
color: green;
}
.message{
display: none;
}
JavaScript
var v;
$("#login").click(function(){
if(v){
v.login(getAuthData())
.done(loginSuccess)
.fail(loginError);
} else {
visualize({auth: getAuthData()}, function(client){
v = client;
loginSuccess();
}, loginError);
}
});
$("#selected_resource").change(function () {
$("#container").html("");
createReport($("#selected_resource").val(), v);
});
$("#logout").click(function(){
v.logout().done(function(){showMessage(".logout");});
});
function loginSuccess(){
$(':disabled').prop('disabled', false);
createReport($("#selected_resource").val(),v);
showMessage(".success");
}
function loginError(){
showMessage(".error");
}
//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 {name: $("#j_username").val(),
password: $("#j_password").val(),
organization:$("#orgId").val(),
locale:$("#userLocale").val(),
timezone:$("#userTimezone").val()
}
};