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