diff options
author | Carson Gross <carson@bigsky.software> | 2023-07-14 14:28:53 -0600 |
---|---|---|
committer | Carson Gross <carson@bigsky.software> | 2023-07-14 14:28:53 -0600 |
commit | 5c6805a19c0ed02404b2db7bcaf161163c03cc98 (patch) | |
tree | ac0e272b75602ff3314d5ee0e35de0f4b2ddfac5 /dist/htmx.js | |
parent | 1837f1fa976100332b09cbf49c2384ffcf4b9eb7 (diff) | |
download | htmx-5c6805a19c0ed02404b2db7bcaf161163c03cc98.tar.gz htmx-5c6805a19c0ed02404b2db7bcaf161163c03cc98.zip |
slide in one change, what could go wrong?
Diffstat (limited to 'dist/htmx.js')
-rw-r--r-- | dist/htmx.js | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/dist/htmx.js b/dist/htmx.js index 556247b2..2fb8b9c5 100644 --- a/dist/htmx.js +++ b/dist/htmx.js @@ -1010,8 +1010,8 @@ return (function () { } } - function maybeSelectFromResponse(elt, fragment) { - var selector = getClosestAttributeValue(elt, "hx-select"); + function maybeSelectFromResponse(elt, fragment, selectOverride) { + var selector = selectOverride || getClosestAttributeValue(elt, "hx-select"); if (selector) { var newFragment = getDocument().createDocumentFragment(); forEach(fragment.querySelectorAll(selector), function (node) { @@ -1085,12 +1085,12 @@ return (function () { } } - function selectAndSwap(swapStyle, target, elt, responseText, settleInfo) { + function selectAndSwap(swapStyle, target, elt, responseText, settleInfo, selectOverride) { settleInfo.title = findTitle(responseText); var fragment = makeFragment(responseText); if (fragment) { handleOutOfBandSwaps(elt, fragment, settleInfo); - fragment = maybeSelectFromResponse(elt, fragment); + fragment = maybeSelectFromResponse(elt, fragment, selectOverride); handlePreservedElements(fragment); return swap(swapStyle, elt, target, fragment, settleInfo); } @@ -3325,8 +3325,13 @@ return (function () { // safari issue - see https://github.com/microsoft/playwright/issues/5894 } + var selectOverride; + if (hasHeader(xhr, /HX-Reselect:/i)) { + selectOverride = xhr.getResponseHeader("HX-Reselect"); + } + var settleInfo = makeSettleInfo(target); - selectAndSwap(swapSpec.swapStyle, target, elt, serverResponse, settleInfo); + selectAndSwap(swapSpec.swapStyle, target, elt, serverResponse, settleInfo, selectOverride); if (selectionInfo.elt && !bodyContains(selectionInfo.elt) && |