misago-bindings.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // Extra data bindings
  2. $(function() {
  3. // hide all pop-ins
  4. $('[data-misago-pop-in]').hide();
  5. // update bindings on new data from server
  6. Misago.Server.on_data(function(data) {
  7. // Update and fade in/out badges
  8. $('[data-misago-badge]').each(function() {
  9. var new_value = Misago.getattr(data, $(this).data('misago-badge'));
  10. if (new_value != undefined) {
  11. $(this).text(new_value);
  12. if (new_value > 0) {
  13. $(this).addClass("in");
  14. } else {
  15. $(this).removeClass("in");
  16. }
  17. }
  18. });
  19. // update text
  20. $('[data-misago-text]').each(function() {
  21. var new_value = Misago.getattr(data, $(this).data('misago-text'));
  22. if (new_value != undefined) {
  23. $(this).text(new_value);
  24. }
  25. });
  26. // fade in/out depending on value
  27. $('[data-misago-fade-in]').each(function() {
  28. var new_value = Misago.getattr(data, $(this).data('misago-fade-in'));
  29. if (new_value != undefined) {
  30. if (new_value > 0) {
  31. $(this).addClass("in");
  32. } else {
  33. $(this).removeClass("in");
  34. }
  35. }
  36. });
  37. // pop in/out depending on value
  38. $('[data-misago-pop-in]').each(function() {
  39. var new_value = Misago.getattr(data, $(this).data('misago-pop-in'));
  40. if (new_value != undefined) {
  41. if (new_value > 0) {
  42. $(this).slideIn();
  43. } else {
  44. $(this).slideOut();
  45. }
  46. }
  47. });
  48. });
  49. });