Skip to content
Snippets Groups Projects
toggles.js 2.4 KiB
Newer Older
  • Learn to ignore specific revisions
  • Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    "use strict";
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    import Scenari from './scenari.js';
    
    import { showAlert } from './alerts.js';
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
    
    function setToggleMovement() {
        const toggles = document.querySelectorAll('.toggle-button');
        for (const toggle of toggles) {
    
            setToggleMovement2(toggle);
    
    function setToggleMovement2(toggle) {
        toggle.addEventListener('click', event => {
    
            event.preventDefault();
    
            toggle.classList.toggle('active');
    
        }, false);
    
    function scenariToggleListener(toggle, scenarioID) {
    
        const registerBtn = document.getElementById('scenari-registra');
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
        toggle.addEventListener('click', event => {
    
            event.preventDefault();
            if(registerBtn.innerText !== "Registra"){//sto registrando
                showAlert("Attenzione", "Stai registrando uno scenario, termina la registrazione per attivare lo scenario.", false);
                Scenari.makeElementBounce(registerBtn);
                return;
            }
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
            // select the option from the dropdown
    
            Scenari.addNameHere.value = scenarioID;
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
            // change text of the modal based on toggle state
            const modalBody = document.getElementById('attiva-scenari-modal').querySelector('.modal-body');
            const children = modalBody.children;
            //p, fieldset, p.more-margin-top, p
            //0,    1,            2,          3
            const okBtn = document.getElementById('attiva-scenari-btn')
            if (toggle.classList.contains('active')) {
                children[0].innerText = "Disabilitando questo scenario, disabiliterai l'antifurto.";
                children[2].innerText = "Disabilitare lo scenario?";
                children[3].classList.add('invisible')
                okBtn.innerText = "Disabilita";
            }
            else {
                children[0].innerText = "Attivando questo scenario, abiliterai l'antifurto.";
                if (Scenari.scenarioAttivoToggle != null) {
                    children[2].innerText = "Inoltre disabiliterai gli altri scenari attivi.";
                    children[3].classList.remove('invisible')
                } else {
                    children[2].innerText = "Continuare l'attivazione?";
                    children[3].classList.add('invisible')
                }
                okBtn.innerText = "Attiva";
            }
            // launch the modal
    
            const modalLauncher = document.getElementById('launch-modal-' + scenarioID);
    
    Alfredo Chissotti's avatar
    Alfredo Chissotti committed
            modalLauncher.click();
        }, false);
    }
    
    export { setToggleMovement, setToggleMovement2, scenariToggleListener };