Visualize: UI for Login/Logout (5.6)

by Kishoreajey

HTML

<!-- Visualize: UI for Login/Logout  (5.6)
  -->

<script type='text/javascript' src="http://code.jquery.com/jquery-2.1.0.js"></script>
<script type="text/javascript" src="http://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>
    
    <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 - Central Standard Time</option>
            <option value="America/New_York">America/New_York -...

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  (5.6)

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()
           }
};