Subversion Repositories Applications.gtt

Compare Revisions

Ignore whitespace Rev 156 → Rev 157

/trunk/presentation/scripts/commun.js
1,27 → 1,78
// Fonction déclanchant l'ouverture d'une fenêtre externe pour les liens possédant la classe "ext"
function ouvrirLienExterne()
{
// Fonction déclanchant l'ouverture d'une fenêtre externe pour les liens possédant la classe "ext"
function ouvrirLienExterne() {
var liens = document.getElementsByTagName('a');
// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens.
// Une boucle qui parcourt le tableau (array) liens du début à la fin.
// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens.
// Une boucle qui parcourt le tableau (array) liens du début à la fin.
for (var i = 0 ; i < liens.length ; ++i) {
// Si les liens ont un nom de class égal à  lien_ext, alors on agit.
// Si les liens ont un nom de class égal à lien_ext, alors on agit.
if (liens[i].className == 'ext') {
liens[i].title = liens[i].title + 'S\'ouvre dans une nouvelle fenêtre';
liens[i].title = liens[i].title + 'S\'ouvre dans une nouvelle fenêtre';
// Au clique de la souris.
liens[i].onclick = function() {
window.open(this.href);
return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
};
}
}
}
// Fonction initialisant d'autres fonctions
function initialiser()
{
ouvrirLienExterne();
 
function caseACocherUnique() {
$('input.ab').on('click', function(){
var id = $(this).attr('id'),
name = $(this).attr('name'),
numJour = $(this).attr('data-num-jour'),
abId = $(this).attr('data-ab-id'),
dureeDefaut = $(this).attr('data-duree-defaut'),
checked = $(this).is(':checked');
if (checked) {
$(this).val(abId + ':' + dureeDefaut);
} else {
$(this).val(abId + ':0');
}
 
// Nous forçons une seul case cochable
$('input.ab[name="'+name+'"]:checked').each(function() {
if ($(this).attr('id') != id) {
$(this).removeAttr('checked');
}
});
// Mise à zéro des projets du jour
$('input.pr[data-num-jour="'+numJour+'"]').each(function() {
if (checked) {
if ($(this).attr('value') != '') {
$(this).attr('value', 0);
}
$(this).attr('disabled', 'disabled');
} else {
$(this).removeAttr('disabled');
}
});
// Mise à zéro des catégories du jour
$('td.categorie_total.pr[data-num-jour="'+numJour+'"]').each(function() {
if (checked) {
$(this).text('');
} else {
$(this).removeAttr('disabled');
}
});
});
$('form#gestion').bind('submit', function() {
$(this).find(':input').removeAttr('disabled');
});
 
// Nous rendons par défaut les champs projets inactifs pour chaque jour d'abscence
$('input.ab:checked').each(function() {
var numJour = $(this).attr('data-num-jour');
$('input.pr[data-num-jour="'+numJour+'"]').each(function() {
$(this).attr('disabled', 'disabled');
});
});
}
 
// Au chargement de la page, on appelle la fonction d'initialisation :
window.onload = initialiser;
$(document).ready(function() {
ouvrirLienExterne();
caseACocherUnique();
});