From 255639b33a9b46b60b00eb318f87b08bebdab71f Mon Sep 17 00:00:00 2001 From: Oliver Haas Date: Tue, 28 Jan 2025 13:00:34 +0100 Subject: [PATCH] feat: handle 'unset'for HX-Reselect in swap function (+ test) --- src/htmx.js | 2 +- test/core/headers.js | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/htmx.js b/src/htmx.js index 424da472c..ee76fade8 100644 --- a/src/htmx.js +++ b/src/htmx.js @@ -4854,7 +4854,7 @@ var htmx = (function() { } swap(target, serverResponse, swapSpec, { - select: selectOverride || select, + select: selectOverride === 'unset' ? null : selectOverride || select, selectOOB, eventInfo: responseInfo, anchor: responseInfo.pathInfo.anchor, diff --git a/test/core/headers.js b/test/core/headers.js index 2cf214230..5c56ea6e5 100644 --- a/test/core/headers.js +++ b/test/core/headers.js @@ -286,6 +286,16 @@ describe('Core htmx AJAX headers', function() { div.innerHTML.should.equal('
bar
') }) + it('should handle HX-Reselect unset', function() { + this.server.respondWith('GET', '/test', [200, { 'HX-Reselect': 'unset' }, 'bar']) + + var div = make('
') + div.click() + this.server.respond() + + div.innerHTML.should.equal('bar') + }) + it('should handle simple string HX-Trigger-After-Swap response header properly w/ outerHTML swap', function() { this.server.respondWith('GET', '/test', [200, { 'HX-Trigger-After-Swap': 'foo' }, ''])