Visualize.js: UI for login/logout
Provide a UI layout to demonstrate the potential for authentication control
by Kishoreajey
HTML
<!-- Visualize: UI for Login/Logout
-->
<script type='text/javascript' src="https://code.jquery.com/jquery-2.1.0.js"></script>
<script src="https://jaspersoftdev.healthcareit.net/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>
<div style="font-size: 8pt">Sample login - Organization: organization_1, User ID: joeuser, Password: joeuser</div>
<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</option>
<option value="ja">ja</option>
<option value="pt_BR">pt_BR</option>
<option value="zh_CN">zh_CN</option>
</select>
</label>
<label class="control select" for="userTimezone">Time Zone:
<select id="userTimezone" name="userTimezone">
<option value="Europe/Helsinki" selected="">Europe/Helsinki - Eastern European Time</option>
<option value="America/Los_Angeles">America/Los_Angeles - Pacific Standard Time</option>
<option value="America/Denver">America/Denver - Mountain Standard Time</option>
<option value="America/Chicago">America/Chicago -...
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
// Visualize: UI for Login/Logout
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().done(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 {name: $("#j_username").val(),
password: $("#j_password").val(),
organization:$("#orgId").val(),
locale:$("#userLocale").val(),
timezone:$("#userTimezone").val()
}
};