support filters on load event

fixes https://github.com/bigskysoftware/htmx/issues/752
This commit is contained in:
Carson Gross 2022-05-13 08:44:41 -06:00
parent 3f4b7bfb93
commit 742f05b9bd
2 changed files with 22 additions and 1 deletions

View File

@ -1652,7 +1652,9 @@ return (function () {
observer.observe(elt);
addEventListener(elt, verb, path, nodeData, triggerSpec);
} else if (triggerSpec.trigger === "load") {
loadImmediately(elt, verb, path, nodeData, triggerSpec.delay);
if (!maybeFilterEvent(triggerSpec, makeEvent("load", {elt:elt}))) {
loadImmediately(elt, verb, path, nodeData, triggerSpec.delay);
}
} else if (triggerSpec.pollInterval) {
nodeData.polling = true;
processPolling(elt, verb, path, triggerSpec);

View File

@ -714,5 +714,24 @@ describe("hx-trigger attribute", function(){
div.innerText.should.equal("Requests: 1");
});
it('load event works w/ positive filters', function()
{
this.server.respondWith("GET", "/test", "Loaded!");
var div = make('<div hx-get="/test" hx-trigger="load[true]">Load Me!</div>');
div.innerHTML.should.equal("Load Me!");
this.server.respond();
div.innerHTML.should.equal("Loaded!");
});
it('load event works w/ negative filters', function()
{
this.server.respondWith("GET", "/test", "Loaded!");
var div = make('<div hx-get="/test" hx-trigger="load[false]">Load Me!</div>');
div.innerHTML.should.equal("Load Me!");
this.server.respond();
div.innerHTML.should.equal("Load Me!");
});
})