https://htmx.org logo
<@725789255590215732> - I wrote part of multi-swap...
# htmx-general
s
@mysterious-toddler-20573 - I wrote part of multi-swap extension , but now I don't know how to call swapping from htmx. See my TODO in the code (and ignore my attempt with swap()).
Copy code
javascript
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);
            }
        }
    }
});