Browse Source

Modification element en ajax: bouton annuler.

bastien 13 years ago
parent
commit
f8f0c47094

+ 2 - 0
app/Resources/translations/userui.fr.yml View File

54
     name:     Nom
54
     name:     Nom
55
   submit:
55
   submit:
56
     value:    Mettre à jour
56
     value:    Mettre à jour
57
+  cancel:
58
+    value:    Annuler
57
     
59
     
58
 tags_filter:
60
 tags_filter:
59
   help:       Pour ne pas filtrer avec des tags, supprimez les tous de la liste.
61
   help:       Pour ne pas filtrer avec des tags, supprimez les tous de la liste.

+ 2 - 1
src/Muzich/CoreBundle/Resources/views/Element/ajax.element.edit.html.twig View File

1
 
1
 
2
-<form name="{{ form_name }}" action="{{ path('element_update', {'element_id': element_id}) }}" method="post" {{ form_enctype(form) }}>
2
+<form class="edit_element" name="{{ form_name }}" action="{{ path('element_update', {'element_id': element_id}) }}" method="post" {{ form_enctype(form) }}>
3
 
3
 
4
   {% include "MuzichCoreBundle:Element:form.edit.html.twig" with { 
4
   {% include "MuzichCoreBundle:Element:form.edit.html.twig" with { 
5
     'form'          : form, 
5
     'form'          : form, 
6
     'form_name'     : form_name
6
     'form_name'     : form_name
7
   } %}
7
   } %}
8
 
8
 
9
+  <input type="button" value="{{ 'element_edit.cancel.value'|trans({}, 'userui') }}" class="cancel_edit" />
9
   <input type="submit" value="{{ 'element_edit.submit.value'|trans({}, 'userui') }}" />
10
   <input type="submit" value="{{ 'element_edit.submit.value'|trans({}, 'userui') }}" />
10
 </form>
11
 </form>

+ 11 - 0
web/bundles/muzichcore/js/muzich.js View File

335
     }
335
     }
336
   });
336
   });
337
 
337
 
338
+ elements_edited = new Array();
338
  // Ouverture du formulaire de modification
339
  // Ouverture du formulaire de modification
339
   $('a.element_edit_link').live('click', function(){
340
   $('a.element_edit_link').live('click', function(){
340
     
341
     
341
     link = $(this);
342
     link = $(this);
342
     li = link.parent('li.element');
343
     li = link.parent('li.element');
344
+    // On garde en mémoire l'élément édité en cas d'annulation
345
+    elements_edited[li.attr('id')] = li.html();
343
     div_loader = li.find('div.loader');
346
     div_loader = li.find('div.loader');
344
     li.html(div_loader);
347
     li.html(div_loader);
345
     li.find('img.element_loader').show();
348
     li.find('img.element_loader').show();
367
         if (response.status == 'success')
370
         if (response.status == 'success')
368
         {
371
         {
369
           li.html(response.html);
372
           li.html(response.html);
373
+          delete(elements_edited[li.attr('id')]);
370
         }
374
         }
371
         else if (response.status == 'error')
375
         else if (response.status == 'error')
372
         {
376
         {
386
     });
390
     });
387
     return false;
391
     return false;
388
   });
392
   });
393
+  
394
+  // Annulation d'un formulaire de modification d'élément
395
+  $('form.edit_element input.cancel_edit').live('click', function(){
396
+    var li = $(this).parent('form').parent('li');
397
+    li.html(elements_edited[li.attr('id')]);
398
+    delete(elements_edited[li.attr('id')]);
399
+  });
389
  
400
  
390
   ////////////////// TAG PROMPT ///////////////
401
   ////////////////// TAG PROMPT ///////////////
391
  
402