-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpanel.js
109 lines (94 loc) · 3.08 KB
/
panel.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/*
***************************************************
* panel.js *
* Panneau de l'animation *
* *
* Auteurs : *
* Loïc FAIZANT, Cyril GORRIERI, Maurice RAMBERT *
* *
* Ecole Polytech' Nice Sophia Antipolis *
* Sciences Informatiques - 4e année *
***************************************************
*/
// Définir le panneau de l'animation
Quintus.Panel = function(Q) {
Q.GameObject.extend("LeftPanel",{
// Initialiser le panneau de l'animation
init: function(p) {
this.groups = new Array();
this.id = p.id;
// Obtenir les sous-panneaux
var searchEles = document.getElementById(p.id).children;
for(var i = 0; i < searchEles.length; i++) {
if(searchEles[i].tagName == 'DIV') {
this.groups.push(searchEles[i].id);
}
}
},
// Définir la remise à zéro du panneau
reset: function(p) { this.init(p); },
// Définir les accesseurs de consultation sur les éléments
get: function(key) {
return document.getElementById(key).value;
},
getRadio: function(key) {
var radios = document.getElementsByName(key);
for (var i = 0, length = radios.length; i < length; i++) {
if (radios[i].checked) {
return radios[i].value;
}
}
},
// Définir les accesseurs de modification des éléments
_setProperty: function(value, key) {
document.getElementById(key).value = value;
},
set: function(properties, value) {
// Contrôler la multiplicité des propriétés à modifier
if(Q._isObject(properties)) {
Q._each(properties,this._setProperty,this);
} else {
this._setProperty(value,properties);
}
},
// Définir le non-affichage du panneau
hide: function() {
this.hideEl(this.id);
},
// Définir l'affichage du panneau
show: function() {
this.showEl(this.id);
},
// Définir le non-affichage d'un élément
hideEl: function(el) {
document.getElementById(el).style.display="none";
},
// Définir l'affichage d'un élément
showEl: function(el) {
document.getElementById(el).style.display="block";
},
// Définir le non-affichage d'un groupe d'éléments
hideGroup: function(groups) {
// Contrôler la multiplicité des éléments à masquer
if(groups instanceof Array) {
Q._each(groups,this.hideEl,this);
} else {
this.hideEl(groups);
}
},
// Définir le non-affichage de tous les éléments
hideAll: function() {
Q._each(this.groups,this.hideEl,this);
},
// Définir l'affichage d'un groupe d'éléments
showGroup: function(groups) {
// Contrôler la multiplicité des éléments à masquer
if(groups instanceof Array) {
Q._each(groups,this.showEl,this);
} else {
this.showEl(groups);
}
}
});
return Q;
};