square-oyster-36295
10/09/2022, 6:58 PMjavascript
htmx.defineExtension('multi-swap', {
isInlineSwap: function (swapStyle) {
return swapStyle.indexOf('multi:') === 0;
},
handleSwap: function (swapStyle, target, fragment, settleInfo) {
if (swapStyle.indexOf('multi:') === 0) {
var elements = {};
var elementsSplit = swapStyle.replace(/^multi\s*:\s*/, '').split(/\s*,\s*/);
elementsSplit.map(function (element) {
var elementSplit = element.split(/\s*:\s*/);
if (elementSplit.length == 2) {
elements[elementSplit[0]] = elementSplit[1];
} else if (elementSplit.length == 1) {
elements[elementSplit[0]] = "innerHTML";
}
});
for (var elementSelector in elements) {
var elementSwapStyle = elements[elementSelector];
// TODO: HOW TO CALL SWAP?
// swap(elementSwapStyle, elementSelector, target, fragment, settleInfo);
}
}
}
});