events_js.html 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. {% load i18n %}
  2. <script lang="JavaScript">
  3. $(function() {
  4. $('.event-form').each(function() {
  5. var $form = $(this);
  6. var $list = $form.parents('.post-events');
  7. var $li = $form.parent();
  8. var $divider = $li.prev();
  9. var action = $form.attr('action');
  10. $form.find('.event-toggle').click(function() {
  11. var $btn = $(this);
  12. var data = $form.serialize() + "&action=toggle";
  13. $.post(action, data, function(data) {
  14. if (data.is_hidden) {
  15. $btn.text("{% trans "Show" %}");
  16. $label = $('<span class="text-warning">{% trans "Hidden" %}</span>');
  17. $label.hide();
  18. $divider.find('div').append($label)
  19. $label.fadeIn();
  20. } else {
  21. $btn.text("{% trans "Hide" %}");
  22. $divider.find('.text-warning').fadeOut(function() {$(this).remove()});
  23. }
  24. });
  25. return false;
  26. });
  27. $form.find('.event-delete').click(function() {
  28. var $btn = $(this);
  29. var data = $form.serialize() + "&action=delete";
  30. var decision = confirm("{% trans "Are you sure you want to delete this event?" %}");
  31. if (decision) {
  32. $.post(action, data, function(data) {
  33. if (data.is_deleted) {
  34. if ($list.find('.event:visible').length == 1) {
  35. $list.slideUp();
  36. } else {
  37. $li.slideUp();
  38. $divider.slideUp();
  39. }
  40. }
  41. });
  42. }
  43. return false;
  44. });
  45. })
  46. });
  47. </script>