diff options
Diffstat (limited to 'p/scripts/global_view.js')
| -rw-r--r-- | p/scripts/global_view.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/p/scripts/global_view.js b/p/scripts/global_view.js new file mode 100644 index 000000000..0cdcdd3fa --- /dev/null +++ b/p/scripts/global_view.js @@ -0,0 +1,71 @@ +"use strict"; +var panel_loading = false; + +function load_panel(link) { + if (panel_loading) { + return; + } + + panel_loading = true; + + $.get(link, function (data) { + $("#panel").append($(".nav_menu, #stream .day, #stream .flux, #stream .pagination", data)); + + $("#panel .nav_menu").children().not("#nav_menu_read_all").remove(); + + init_load_more($("#panel")); + init_posts(); + + $("#overlay").fadeIn(); + $("#panel").slideToggle(); + + // force le démarrage du scroll en haut. + // Sans ça, si l'on scroll en lisant une catégorie par exemple, + // en en ouvrant une autre ensuite, on se retrouve au même point de scroll + $("#panel").scrollTop(0); + + panel_loading = false; + }); +} + +function init_close_panel() { + $("#panel .close").click(function () { + $("#panel").html('<a class="close" href="#">' + window.iconClose + '</a>'); + init_close_panel(); + $("#panel").slideToggle(); + $("#overlay").fadeOut(); + + return false; + }); +} + +function init_global_view() { + $("#stream .box-category a").click(function () { + var link = $(this).attr("href"); + + load_panel(link); + + return false; + }); + + $(".nav_menu #nav_menu_read_all, .nav_menu .toggle_aside").remove(); + + init_stream_delegates($("#panel")); +} + +function init_all_global_view() { + if (!(window.$ && window.init_stream_delegates)) { + window.setTimeout(init_all_global_view, 50); //Wait for all js to be loaded + return; + } + init_global_view(); + init_close_panel(); +} + +if (document.readyState && document.readyState !== 'loading') { + init_all_global_view(); +} else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', function () { + init_all_global_view(); + }, false); +} |
