/* global Pjax */ var pjax; var initButtons = function() { var buttons = document.querySelectorAll("button[data-manual-trigger]"); if (!buttons) { return; } // jshint -W083 for (var i = 0; i < buttons.length; i++) { buttons[i].addEventListener("click", function(e) { var el = e.currentTarget; if (el.getAttribute("data-manual-trigger-override") === "true") { // Manually load URL with overridden Pjax instance options pjax.loadUrl("/example/page2.html", { cacheBust: false }); } else { // Manually load URL with current Pjax instance options pjax.loadUrl("/example/page2.html"); } }); } // jshint +W083 }; console.log("Document initialized:", window.location.href); document.addEventListener("pjax:send", function() { console.log("Event: pjax:send", arguments); }); document.addEventListener("pjax:complete", function() { console.log("Event: pjax:complete", arguments); }); document.addEventListener("pjax:error", function() { console.log("Event: pjax:error", arguments); }); document.addEventListener("pjax:success", function() { console.log("Event: pjax:success", arguments); // Init page content initButtons(); }); document.addEventListener("DOMContentLoaded", function() { // Init Pjax instance pjax = new Pjax({ elements: [".js-Pjax"], selectors: [".body", "title"], cacheBust: true }); console.log("Pjax initialized.", pjax); // Init page content initButtons(); });