Commit fab2252bcee18770e190667b36798604dd95fe18

Authored by Geoffrey PREUD'HOMME
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
js/orga.js 0 → 100644
... ... @@ -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 {
... ...