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 @@ |
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 | 70 | $heures = floor($this->duree/3600); |
71 | 71 | $minutes = floor($this->duree%3600/60); |
72 | 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 | 74 | if ($this->valide) { |
75 | 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 | 165 | # DEBUG |
166 | 166 | $test1 = new Evenement; |
167 | 167 | $test1->id = 1; |
168 | + $test1->duree = 12345; | |
168 | 169 | $test1->nom = 'Évènement de test n°1'; |
170 | + $test1->description = 'Description de l\'évènement de test n°1'; | |
169 | 171 | $test1->valide = time(); |
170 | 172 | |
171 | 173 | $test2 = new Evenement; |
172 | 174 | $test2->id = 2; |
173 | 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 | 178 | $test2->valide = time(); |
175 | 179 | $test2->annule = true; |
176 | 180 | |
177 | 181 | $test3 = new Evenement; |
178 | 182 | $test3->id = 3; |
179 | 183 | $test3->nom = 'Évènement de test n°3'; |
184 | + $test3->description = 'Description de l\'évènement de test n°3'; | |
180 | 185 | $test3->dates[] = 1415482197; |
181 | 186 | $test3->datesVotes[] = 42; |
182 | 187 | $test3->dates[] = time(); |
... | ... | @@ -187,6 +192,7 @@ function a_evenement() { |
187 | 192 | $test4 = new Evenement; |
188 | 193 | $test4->id = 4; |
189 | 194 | $test4->nom = 'Évènement de test n°4'; |
195 | + $test4->description = 'Description de l\'évènement de test n°4'; | |
190 | 196 | $test4->dates[] = time(); |
191 | 197 | $test4->datesVotes[] = 5; |
192 | 198 | $test4->dates[] = time()+365*24*3600; |
... | ... | @@ -197,6 +203,7 @@ function a_evenement() { |
197 | 203 | $test5 = new Evenement; |
198 | 204 | $test5->id = 5; |
199 | 205 | $test5->nom = 'Évènement de test n°5'; |
206 | + $test5->description = 'Description de l\'évènement de test n°5'; | |
200 | 207 | $test5->dates[] = time(); |
201 | 208 | $test5->datesVotes[] = 0; |
202 | 209 | $test5->supprime = true; |
... | ... | @@ -204,6 +211,7 @@ function a_evenement() { |
204 | 211 | $test6 = new Evenement; |
205 | 212 | $test6->id = 6; |
206 | 213 | $test6->nom = 'Évènement de test n°6'; |
214 | + $test6->description = 'Description de l\'évènement de test n°6'; | |
207 | 215 | $test6->valide = 1415452197; |
208 | 216 | |
209 | 217 | return array($test1, $test2, $test3, $test4, $test5, $test6); |
... | ... | @@ -272,33 +280,7 @@ foreach ($evenementsPasses as $evenement) { |
272 | 280 | ?> |
273 | 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 | 285 | <?php |
304 | 286 | } else { | ... | ... |