`loadUrl` enhancements - Make `options` parameter optional - Allow partial overriding of instance options when calling `loadUrl` directly - Make `requestOptions` optional - Document `loadUrl` usage and provide examples
62 lines
1.5 KiB
JavaScript
62 lines
1.5 KiB
JavaScript
/* 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()
|
|
})
|