Subversion Repositories Applications.gtt

Rev

Rev 97 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 97 Rev 157
Line 1... Line 1...
1
// Fonction déclanchant l'ouverture d'une fenêtre externe pour les liens possédant la classe "ext"
1
// Fonction déclanchant l'ouverture d'une fenêtre externe pour les liens possédant la classe "ext"
2
function ouvrirLienExterne()
2
function ouvrirLienExterne() {
3
{
-
 
4
	var liens = document.getElementsByTagName('a');
3
	var liens = document.getElementsByTagName('a');
5
	// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens.
4
	// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens.
6
	// Une boucle qui parcourt le tableau (array) liens du début à la fin.
5
	// Une boucle qui parcourt le tableau (array) liens du début à la fin.
7
	for (var i = 0 ; i < liens.length ; ++i)  {
6
	for (var i = 0 ; i < liens.length ; ++i)  {
8
		// Si les liens ont un nom de class égal à  lien_ext, alors on agit.
7
		// Si les liens ont un nom de class égal à lien_ext, alors on agit.
9
		if (liens[i].className == 'ext')  {
8
		if (liens[i].className == 'ext')  {
10
			liens[i].title = liens[i].title + 'S\'ouvre dans une nouvelle fenêtre';
9
			liens[i].title = liens[i].title + 'S\'ouvre dans une nouvelle fenêtre';
11
			// Au clique de la souris.
10
			// Au clique de la souris.
12
			liens[i].onclick = function()  {
11
			liens[i].onclick = function()  {
13
				window.open(this.href);
12
				window.open(this.href);
14
				return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
13
				return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
15
			};
14
			};
16
		}
15
		}
17
	}
16
	}
18
}
17
}
19
	
18
 
-
 
19
function caseACocherUnique() {
20
// Fonction initialisant d'autres fonctions
20
    $('input.ab').on('click', function(){
-
 
21
        var id = $(this).attr('id'),
-
 
22
            name = $(this).attr('name'),
-
 
23
            numJour = $(this).attr('data-num-jour'),
-
 
24
            abId = $(this).attr('data-ab-id'),
-
 
25
            dureeDefaut = $(this).attr('data-duree-defaut'),
-
 
26
            checked = $(this).is(':checked');
-
 
27
        if (checked) {
-
 
28
            $(this).val(abId + ':' + dureeDefaut);
-
 
29
        } else {
-
 
30
            $(this).val(abId + ':0');
-
 
31
        }
-
 
32
 
-
 
33
        // Nous forçons une seul case cochable
-
 
34
        $('input.ab[name="'+name+'"]:checked').each(function() {
-
 
35
            if ($(this).attr('id') != id) {
-
 
36
                $(this).removeAttr('checked');
-
 
37
            }
-
 
38
        });
-
 
39
        
-
 
40
        // Mise à zéro des projets du jour
-
 
41
        $('input.pr[data-num-jour="'+numJour+'"]').each(function() {
-
 
42
            if (checked) {
-
 
43
                if ($(this).attr('value') != '') {
-
 
44
                    $(this).attr('value', 0);
-
 
45
                }
-
 
46
                $(this).attr('disabled', 'disabled');
21
function initialiser()
47
            } else {
-
 
48
                $(this).removeAttr('disabled');
-
 
49
            }
-
 
50
        });
22
{
51
        
-
 
52
        // Mise à zéro des catégories du jour
-
 
53
        $('td.categorie_total.pr[data-num-jour="'+numJour+'"]').each(function() {
-
 
54
            if (checked) {
-
 
55
                $(this).text('');
23
	ouvrirLienExterne();
56
            } else {
-
 
57
                $(this).removeAttr('disabled');
-
 
58
            }
-
 
59
        });
-
 
60
    });
-
 
61
    
-
 
62
    $('form#gestion').bind('submit', function() {
-
 
63
        $(this).find(':input').removeAttr('disabled');
-
 
64
    });
-
 
65
 
-
 
66
    // Nous rendons par défaut les champs projets inactifs pour chaque jour d'abscence
-
 
67
    $('input.ab:checked').each(function() {
-
 
68
        var numJour = $(this).attr('data-num-jour');
-
 
69
        $('input.pr[data-num-jour="'+numJour+'"]').each(function() {
-
 
70
            $(this).attr('disabled', 'disabled');
-
 
71
        });
-
 
72
    });
24
}
73
}
Line 25... Line -...
25
 
-
 
26
// Au chargement de la page, on appelle la fonction d'initialisation :
-
 
27
window.onload = initialiser;
74
 
-
 
75
$(document).ready(function() {
-
 
76
    ouvrirLienExterne();
-
 
77
    caseACocherUnique();
-
 
78
});
28
79