140 lines
4.5 KiB
JavaScript
140 lines
4.5 KiB
JavaScript
$(window).on("load", function() {
|
|
|
|
// Adapt some class to fit Bootstrap theme
|
|
$("div.message-positive").addClass("alert-success");
|
|
$("div.message-warning").addClass("alert-warning");
|
|
$("div.message-negative").addClass("alert-danger");
|
|
|
|
$("table.info").addClass("table");
|
|
|
|
$(".notifCheck").addClass("checkbox");
|
|
|
|
// Collapse menu on click
|
|
$('.collapse li[class!="dropdown"]').on('click', function() {
|
|
if (!$('.navbar-toggler').hasClass('collapsed')) {
|
|
$(".navbar-toggler").trigger("click");
|
|
}
|
|
});
|
|
|
|
// Remember selected tab
|
|
$('#authMenu .nav-link').on('click', function (e) {
|
|
window.datas.choicetab = e.target.hash.substr(1)
|
|
});
|
|
|
|
// Transmit attributes to remove2f modal
|
|
$('#remove2fModal').on('show.bs.modal', function (event) {
|
|
var button = $(event.relatedTarget) // Button that triggered the modal
|
|
var device = button.attr('device') // Extract device/epoch from button
|
|
var epoch = button.attr('epoch')
|
|
var modal = $(this)
|
|
|
|
// Set device/epoch on modal remove2f button so that the portal JS code can find it
|
|
modal.find('.remove2f').attr('device', device)
|
|
modal.find('.remove2f').attr('epoch', epoch)
|
|
})
|
|
|
|
// Set tab items (my applications, password, history, logout) tabbable
|
|
// (ie accessible via tab key)
|
|
// needed because of jquery-ui setting only active element tabbable
|
|
// (see #2561)
|
|
$('.nav-item').click(function() {
|
|
$('.nav-item').attr( "tabIndex", 0 );
|
|
});
|
|
$('.nav-item').focusin(function() {
|
|
$('.nav-item').attr( "tabIndex", 0 );
|
|
});
|
|
$('.nav-item').focusout(function() {
|
|
$('.nav-item').attr( "tabIndex", 0 );
|
|
});
|
|
|
|
// tick all checkboxes remembering the authentication choice
|
|
// when global checkbox is clicked
|
|
$("#globalrememberauthchoice").change(function() {
|
|
var checked = this.checked;
|
|
$( 'input[name="rememberauthchoice"]' ).each(function() {
|
|
$( this ).val(checked);
|
|
});
|
|
});
|
|
|
|
// if rememberStopped button has been clicked, stop the timer
|
|
// from lauching the previously remembered authentication
|
|
$("#buttonRememberStopped").click(function() {
|
|
var curval = $( "input#rememberStopped" ).val();
|
|
var newval;
|
|
if( curval != "stopped" )
|
|
{
|
|
newval = "stopped";
|
|
}
|
|
else
|
|
{
|
|
newval = "running";
|
|
window.setTimeout( launchAuthenticationChoice, 0 );
|
|
}
|
|
// store the new value
|
|
$( "input#rememberStopped" ).val(newval);
|
|
$( "#remembertimer" ).hide();
|
|
$( "#globalrememberauthchoicecontainer" ).css('display', 'flex');
|
|
});
|
|
|
|
// function running the previously remembered authentication choice
|
|
// when the timer is over
|
|
function launchAuthenticationChoice()
|
|
{
|
|
|
|
var timer = $( "#remembertimer span" ).text();
|
|
var isStopped = $( "input#rememberStopped" ).val();
|
|
|
|
if ( isStopped != "stopped" )
|
|
{
|
|
timer--;
|
|
// display decremented timer in the appropriate html element
|
|
$( "#remembertimer span" ).text(timer);
|
|
|
|
if ( timer > 0 )
|
|
{
|
|
// wait for another 1s
|
|
window.setTimeout( launchAuthenticationChoice, 1000 );
|
|
}
|
|
else
|
|
{
|
|
// launch authentication choice defined in cookie
|
|
var choiceform = "#" + $.cookie(rememberCookieName) + " form";
|
|
$( choiceform ).submit();
|
|
}
|
|
}
|
|
|
|
};
|
|
|
|
|
|
// Check rememberauthchoice cookie
|
|
var rememberCookieName = $( "#rememberCookieName" ).val();
|
|
var errorCode = $( "#errormsg div span" ).attr("trmsg");
|
|
// if this is first access
|
|
if( errorCode == 9 )
|
|
{
|
|
// if there is a rememberauthchoice cookie
|
|
if ( ! ( typeof rememberCookieName === 'undefined' ) &&
|
|
! ( typeof $.cookie(rememberCookieName) === 'undefined' )
|
|
)
|
|
{
|
|
// show timer
|
|
$( "#remembertimer" ).css('display', 'flex');
|
|
// remember last authentication choice again
|
|
$("#globalrememberauthchoice").prop('checked',true);
|
|
$( 'input[name="rememberauthchoice"]' ).each(function() {
|
|
$( this ).val('true');
|
|
});
|
|
// increment timer for starting to correct time
|
|
$( "#remembertimer span" ).text( parseInt($( "#remembertimer span" ).text()) + 1 );
|
|
// launch remembered authentication choice when timer reaches 0
|
|
window.setTimeout( launchAuthenticationChoice, 0 );
|
|
}
|
|
else
|
|
{
|
|
// display the global checkbox
|
|
$( "#globalrememberauthchoicecontainer" ).css('display', 'flex');
|
|
}
|
|
}
|
|
|
|
});
|