Skip to content

Conversation

bm2ilabs
Copy link

No description provided.

@bitfactory-oussama-fadlaoui

Unfortunately, this package seems to be abandoned by the maintainers. We too have experienced this issue. As a workaround (last measure to prevent having to maintain the package ourselves), we implemented the following in nova.js:

const observer = new MutationObserver(mutations => {
    mutations.forEach(mutation => {
        mutation.addedNodes.forEach((node) => {
            if (typeof node.querySelector !== 'function') {
                return;
            }

            const dangerButton = node.querySelector('dangerbutton');

            if (dangerButton) {
                const button = document.createElement('button');
                // clone all attributes
                for (let i = 0; i < dangerButton.attributes.length; i++) {
                    const { name, value } = dangerButton.attributes[i];
                    button.setAttribute(name, value);
                }
                dangerButton.replaceWith(button);
            }
        });
    });
});

observer.observe(document.body, {
    childList: true,
    subtree: true,
});

// Clean-up is not necessary because we cannot watch for Inertia route events
// and the MutationObserver will be garbage collected when the page is unloaded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants