support hx-swap="none"

fixes https://github.com/bigskysoftware/htmx/issues/89
This commit is contained in:
carson 2020-06-11 06:02:23 -07:00
parent 5e8fbb2956
commit 4ef719e63a
3 changed files with 12 additions and 1 deletions

View File

@ -483,6 +483,8 @@ return (function () {
function swap(swapStyle, elt, target, fragment, settleInfo) {
switch (swapStyle) {
case "none":
return;
case "outerHTML":
swapOuterHTML(target, fragment, settleInfo);
return;

View File

@ -246,7 +246,6 @@ describe("hx-swap attribute", function(){
}, 30);
});
it('swap outerHTML properly w/ data-* prefix', function()
{
this.server.respondWith("GET", "/test", '<a id="a1" data-hx-get="/test2">Click Me</a>');
@ -262,5 +261,14 @@ describe("hx-swap attribute", function(){
byId("a1").innerHTML.should.equal('Clicked!');
});
it('swap none works properly', function()
{
this.server.respondWith("GET", "/test", 'Ooops, swapped');
var div = make('<div hx-swap="none" hx-get="/test">Foo</div>')
div.click();
this.server.respond();
div.innerHTML.should.equal('Foo');
});
})

View File

@ -302,6 +302,7 @@ with any of the following values:
| `beforebegin` | prepends the content before the target in the targets parent element
| `beforeend` | appends the content after the last child inside the target
| `afterend` | appends the content after the target in the targets parent element
| `none` | does not append content from respons (out of band items will still be processed)
#### <a name="oob_swaps"></a>[Out of Band Swaps](#oob_swaps)