KUJUNTI.ID MINISH3LL
Path : /var/www/html/phkaymedia/vendor/livewire/livewire/js/component/
(S)h3ll Cr3at0r :
F!le Upl0ad :

B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H

Current File : /var/www/html/phkaymedia/vendor/livewire/livewire/js/component/SupportStacks.js


import store from '@/Store'

export default function () {
    store.registerHook('message.received', (message, component) => {
        let response = message.response

        if (! response.effects.forStack) return

        // Let's store the updates in an array for execution after the loop,
        // this way we can avoid keyHasAlreadyBeenAddedToTheStack races.
        let updates = []
        
        response.effects.forStack.forEach(({ key, stack, type, contents }) => {
            let startEl = document.querySelector(`[livewire-stack="${stack}"]`)
            let endEl = document.querySelector(`[livewire-end-stack="${stack}"]`)
            if (! startEl || ! endEl) return

            if (keyHasAlreadyBeenAddedToTheStack(startEl, endEl, key)) return

            let prepend = el => startEl.parentElement.insertBefore(el, startEl.nextElementSibling)
            let push = el => endEl.parentElement.insertBefore(el, endEl)

            let frag = createFragment(contents)

            updates.push(() => type === 'push' ? push(frag) : prepend(frag))
        })

        while (updates.length > 0) updates.shift()() 
    })
}

function keyHasAlreadyBeenAddedToTheStack(startEl, endEl, key) {
    let findKeyMarker = el => {
        if (el.isSameNode(endEl)) return

        return el.matches(`[livewire-stack-key="${key}"]`) ? el : findKeyMarker(el.nextElementSibling)
    }

    return findKeyMarker(startEl)
}

function createFragment(html) {
    return document.createRange().createContextualFragment(html)
}

© KUJUNTI.ID