Commit fab2252bcee18770e190667b36798604dd95fe18
1 parent
3a23c07d
[Orga] Réponse adaptée aux évènements des boutons
- Script externe C'est moche, mais ça marche. On verra si on a le temps de faire un truc plus robuste / sémantiquement correct.
Showing
2 changed files
with
76 additions
and
28 deletions
Show diff stats
@@ -0,0 +1,66 @@ | @@ -0,0 +1,66 @@ | ||
1 | +$(document).ready(function() { | ||
2 | + $(".ev_li").each(function(index) { | ||
3 | + var id = this.id.replace('ev_li_', '') | ||
4 | + // console.debug(id) | ||
5 | + _this = this | ||
6 | + $('.ev_modifier', this).click(function(e) { | ||
7 | + // console.debug(id, 'modifier', e) | ||
8 | + | ||
9 | + // Bouton | ||
10 | + $(e.currentTarget).replaceWith('<button type="button" class="ev_appliquer btn btn-success"><span class="glyphicon glyphicon-ok"></span> Appliquer les changements</button>') | ||
11 | + valider = $('#ev_li_' + id + ' .ev_appliquer') | ||
12 | + | ||
13 | + // Description | ||
14 | + // var description = $('.ev_description', _this) | ||
15 | + // TODO replaceWith ne fonctionne pas avec context (_this) pour une raison obscure | ||
16 | + var description = $('#ev_li_' + id + ' .ev_description') | ||
17 | + console.debug(description) | ||
18 | + description.replaceWith('<textarea class="ev_description form-control">' + description[0].innerHTML + '</textarea>') | ||
19 | + description = $('#ev_li_' + id + ' .ev_description') | ||
20 | + | ||
21 | + // Durée | ||
22 | + var duree = $('#ev_li_' + id + ' .ev_duree') | ||
23 | + console.debug($('.ev_duree_h', duree).text() || '00', ':', $('.ev_duree_m', duree).text() || '00') | ||
24 | + h = $('.ev_duree_h', duree).text() || 0 | ||
25 | + h = h < 10 ? '0' + h : h | ||
26 | + m = $('.ev_duree_m', duree).text() || 0 | ||
27 | + m = m < 10 ? '0' + m : m | ||
28 | + duree.replaceWith('<input type="time" class="ev_duree form-control" value="' + h + ':' + m + '">') | ||
29 | + duree = $('#ev_li_' + id + ' .ev_duree') | ||
30 | + | ||
31 | + valider.click(function(e) { | ||
32 | + console.debug('ACTION modifier', id, description[0].innerHTML, duree[0].value) | ||
33 | + | ||
34 | + // TODO Envoyer et refresh | ||
35 | + }) | ||
36 | + }) | ||
37 | + $('.ev_annuler', this).click(function(e) { | ||
38 | + // console.debug(id, 'annuler', e) | ||
39 | + if (window.confirm('Voulez-vous vraiment annuler cet évènement ?')) { | ||
40 | + console.debug('ACTION annuler', id) | ||
41 | + | ||
42 | + // TODO Envoyer et refresh | ||
43 | + } | ||
44 | + }) | ||
45 | + $('.ev_supprimer', this).click(function(e) { | ||
46 | + // console.debug(id, 'supprimer', e) | ||
47 | + if (window.confirm('Voulez-vous vraiment supprimer cet évènement ? \nIl ne sera plus visible.')) { | ||
48 | + console.debug('ACTION supprimer', id) | ||
49 | + } | ||
50 | + | ||
51 | + // TODO Envoyer et refresh | ||
52 | + }) | ||
53 | + $('.ev_pos_proposer', this).click(function(e) { | ||
54 | + console.debug(id, 'pos_proposer', e) | ||
55 | + }) | ||
56 | + $('.ev_pos_valider', this).click(function(e) { | ||
57 | + console.debug(id, 'pos_valider', e) | ||
58 | + }) | ||
59 | + }) | ||
60 | + $("#ev_ajouter_fixe").click(function(e) { | ||
61 | + console.debug('ajouter_fixe', e) | ||
62 | + }) | ||
63 | + $("#ev_ajouter_choix").click(function(e) { | ||
64 | + console.debug('ajouter_choix', e) | ||
65 | + }) | ||
66 | +}) |
orga.php
@@ -70,7 +70,7 @@ class Evenement | @@ -70,7 +70,7 @@ class Evenement | ||
70 | $heures = floor($this->duree/3600); | 70 | $heures = floor($this->duree/3600); |
71 | $minutes = floor($this->duree%3600/60); | 71 | $minutes = floor($this->duree%3600/60); |
72 | $secondes = floor($this->duree%3600%60); | 72 | $secondes = floor($this->duree%3600%60); |
73 | - $html .= 'Durée : <span class="ev_duree">'.($heures > 0 ? $heures.' heure'.($heures > 1 ? 's' : '').' ' : '').($minutes > 0 ? $minutes.' minute'.($minutes > 1 ? 's' : '').' ' : '').($secondes > 0 ? $secondes.' seconde'.($secondes > 1 ? 's' : '').' ' : '').'</span><br/>'; | 73 | + $html .= 'Durée : <span class="ev_duree">'.($heures > 0 ? '<span class="ev_duree_h">'.$heures.'</span> heure'.($heures > 1 ? 's' : '').' ' : '').($minutes > 0 ? '<span class="ev_duree_m">'.$minutes.'</span> minute'.($minutes > 1 ? 's' : '').' ' : '').($secondes > 0 ? '<span class="ev_duree_s">'.$secondes.'</span> seconde'.($secondes > 1 ? 's' : '').' ' : '').'</span><br/>'; |
74 | if ($this->valide) { | 74 | if ($this->valide) { |
75 | $html .= 'Date : le <span class="ev_date">'.date('j/m/o', $this->valide).' à '.date('H:i', $this->valide).'</span><br/>'; | 75 | $html .= 'Date : le <span class="ev_date">'.date('j/m/o', $this->valide).' à '.date('H:i', $this->valide).'</span><br/>'; |
76 | } | 76 | } |
@@ -165,18 +165,23 @@ function a_evenement() { | @@ -165,18 +165,23 @@ function a_evenement() { | ||
165 | # DEBUG | 165 | # DEBUG |
166 | $test1 = new Evenement; | 166 | $test1 = new Evenement; |
167 | $test1->id = 1; | 167 | $test1->id = 1; |
168 | + $test1->duree = 12345; | ||
168 | $test1->nom = 'Évènement de test n°1'; | 169 | $test1->nom = 'Évènement de test n°1'; |
170 | + $test1->description = 'Description de l\'évènement de test n°1'; | ||
169 | $test1->valide = time(); | 171 | $test1->valide = time(); |
170 | 172 | ||
171 | $test2 = new Evenement; | 173 | $test2 = new Evenement; |
172 | $test2->id = 2; | 174 | $test2->id = 2; |
173 | $test2->nom = 'Évènement de test n°2'; | 175 | $test2->nom = 'Évènement de test n°2'; |
176 | + $test2->description = 'Description de l\'évènement de test n°2'; | ||
177 | + $test2->duree = 36000; | ||
174 | $test2->valide = time(); | 178 | $test2->valide = time(); |
175 | $test2->annule = true; | 179 | $test2->annule = true; |
176 | 180 | ||
177 | $test3 = new Evenement; | 181 | $test3 = new Evenement; |
178 | $test3->id = 3; | 182 | $test3->id = 3; |
179 | $test3->nom = 'Évènement de test n°3'; | 183 | $test3->nom = 'Évènement de test n°3'; |
184 | + $test3->description = 'Description de l\'évènement de test n°3'; | ||
180 | $test3->dates[] = 1415482197; | 185 | $test3->dates[] = 1415482197; |
181 | $test3->datesVotes[] = 42; | 186 | $test3->datesVotes[] = 42; |
182 | $test3->dates[] = time(); | 187 | $test3->dates[] = time(); |
@@ -187,6 +192,7 @@ function a_evenement() { | @@ -187,6 +192,7 @@ function a_evenement() { | ||
187 | $test4 = new Evenement; | 192 | $test4 = new Evenement; |
188 | $test4->id = 4; | 193 | $test4->id = 4; |
189 | $test4->nom = 'Évènement de test n°4'; | 194 | $test4->nom = 'Évènement de test n°4'; |
195 | + $test4->description = 'Description de l\'évènement de test n°4'; | ||
190 | $test4->dates[] = time(); | 196 | $test4->dates[] = time(); |
191 | $test4->datesVotes[] = 5; | 197 | $test4->datesVotes[] = 5; |
192 | $test4->dates[] = time()+365*24*3600; | 198 | $test4->dates[] = time()+365*24*3600; |
@@ -197,6 +203,7 @@ function a_evenement() { | @@ -197,6 +203,7 @@ function a_evenement() { | ||
197 | $test5 = new Evenement; | 203 | $test5 = new Evenement; |
198 | $test5->id = 5; | 204 | $test5->id = 5; |
199 | $test5->nom = 'Évènement de test n°5'; | 205 | $test5->nom = 'Évènement de test n°5'; |
206 | + $test5->description = 'Description de l\'évènement de test n°5'; | ||
200 | $test5->dates[] = time(); | 207 | $test5->dates[] = time(); |
201 | $test5->datesVotes[] = 0; | 208 | $test5->datesVotes[] = 0; |
202 | $test5->supprime = true; | 209 | $test5->supprime = true; |
@@ -204,6 +211,7 @@ function a_evenement() { | @@ -204,6 +211,7 @@ function a_evenement() { | ||
204 | $test6 = new Evenement; | 211 | $test6 = new Evenement; |
205 | $test6->id = 6; | 212 | $test6->id = 6; |
206 | $test6->nom = 'Évènement de test n°6'; | 213 | $test6->nom = 'Évènement de test n°6'; |
214 | + $test6->description = 'Description de l\'évènement de test n°6'; | ||
207 | $test6->valide = 1415452197; | 215 | $test6->valide = 1415452197; |
208 | 216 | ||
209 | return array($test1, $test2, $test3, $test4, $test5, $test6); | 217 | return array($test1, $test2, $test3, $test4, $test5, $test6); |
@@ -272,33 +280,7 @@ foreach ($evenementsPasses as $evenement) { | @@ -272,33 +280,7 @@ foreach ($evenementsPasses as $evenement) { | ||
272 | ?> | 280 | ?> |
273 | </ul> | 281 | </ul> |
274 | 282 | ||
275 | -<script type="text/javascript"> | ||
276 | - $(".ev_li").each(function (index) { | ||
277 | - var id = this.id.replace('ev_li_', '') | ||
278 | - // console.debug(id) | ||
279 | - $('.ev_modifier', this).click(function(e) { | ||
280 | - console.debug(id, 'modifier', e) | ||
281 | - }) | ||
282 | - $('.ev_annuler', this).click(function(e) { | ||
283 | - console.debug(id, 'annuler', e) | ||
284 | - }) | ||
285 | - $('.ev_supprimer', this).click(function(e) { | ||
286 | - console.debug(id, 'supprimer', e) | ||
287 | - }) | ||
288 | - $('.ev_pos_proposer', this).click(function(e) { | ||
289 | - console.debug(id, 'pos_proposer', e) | ||
290 | - }) | ||
291 | - $('.ev_pos_valider', this).click(function(e) { | ||
292 | - console.debug(id, 'pos_valider', e) | ||
293 | - }) | ||
294 | - }) | ||
295 | - $("#ev_ajouter_fixe").click(function(e) { | ||
296 | - console.debug('ajouter_fixe', e) | ||
297 | - }) | ||
298 | - $("#ev_ajouter_choix").click(function(e) { | ||
299 | - console.debug('ajouter_choix', e) | ||
300 | - }) | ||
301 | -</script> | 283 | +<script type="text/javascript" src="js/orga.js"></script> |
302 | 284 | ||
303 | <?php | 285 | <?php |
304 | } else { | 286 | } else { |