HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/quadcode-site/src/js/components/modal/Modal.js
import {createEvent} from "../events";

export const Modal = (name, autoOpen) => {
    const modalEl = document.querySelector(`[data-widget="${name}"]`);
    const btnEl = document.querySelectorAll(`[data-role="${name}"]`);
    const btnCloseEl = document.querySelector(`[data-role="${name}-close"]`);

    if (btnEl.length === 0 && !modalEl) return false;

    const open = () => {
        if (['contacts', 'saas', 'saas2'].includes(name)) {
            createEvent({event:'saas_form_opening'});
        }
        return modalEl.classList.add('active');
    }

    const close = () => {
        return modalEl.classList.remove('active');
    }

    btnEl.forEach((item) => {
        item.addEventListener('click', () => {
            open();
        }, false);
    })

    if (autoOpen) {
        open();
    }

    if (btnCloseEl) {
        btnCloseEl.addEventListener('click', close, false);
    }
}