global_view.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. "use strict";
  2. var panel_loading = false;
  3. function load_panel(link) {
  4. if (panel_loading) {
  5. return;
  6. }
  7. panel_loading = true;
  8. $.get(link, function (data) {
  9. $("#panel").append($(".nav_menu, #stream .day, #stream .flux, #stream .pagination", data));
  10. $("#panel .nav_menu").children().not("#nav_menu_read_all").remove();
  11. init_load_more($("#panel"));
  12. init_posts();
  13. $("#overlay").fadeIn();
  14. $("#panel").slideToggle();
  15. // force le démarrage du scroll en haut.
  16. // Sans ça, si l'on scroll en lisant une catégorie par exemple,
  17. // en en ouvrant une autre ensuite, on se retrouve au même point de scroll
  18. $("#panel").scrollTop(0);
  19. panel_loading = false;
  20. });
  21. }
  22. function init_close_panel() {
  23. $("#panel .close").click(function () {
  24. $("#panel").html('<a class="close" href="#"><i class="icon i_close"></i></a>');
  25. init_close_panel();
  26. $("#panel").slideToggle();
  27. $("#overlay").fadeOut();
  28. return false;
  29. });
  30. }
  31. function init_global_view() {
  32. $("#stream .box-category a").click(function () {
  33. var link = $(this).attr("href");
  34. load_panel(link);
  35. return false;
  36. });
  37. $(".nav_menu #nav_menu_read_all, .nav_menu .toggle_aside").remove();
  38. init_stream_delegates($("#panel"));
  39. }
  40. function init_all_global_view() {
  41. if (!(window.$ && window.init_stream_delegates)) {
  42. window.setTimeout(init_all_global_view, 50); //Wait for all js to be loaded
  43. return;
  44. }
  45. init_global_view();
  46. init_close_panel();
  47. }
  48. if (document.readyState && document.readyState !== 'loading') {
  49. init_all_global_view();
  50. } else if (document.addEventListener) {
  51. document.addEventListener('DOMContentLoaded', function () {
  52. init_all_global_view();
  53. }, false);
  54. }