Newer
Older
import { showAlert, makeElementBounce } from './alerts.js';
/**
* activates all the toggles available
*/
function setToggleMovement() {//TODO call this function after everything is loaded
const toggles = document.querySelectorAll('.toggle-button');
/**
* changes the state of the given toggle
* @param {HTMLElement} toggle the toggle to move
*/
function setToggleMovement2(toggle) {
toggle.addEventListener('click', event => {
* edits the modal used for activating/deactivating a scenario when the user clicks on a toggle
* @param {HTMLElement} toggle the toggle to move
* @param {string} scenarioID the id of the scenario which is being toggled
*/
function scenariToggleListener(toggle, scenarioID) {
const registerBtn = document.getElementById('scenari-registra');
event.preventDefault();
if(registerBtn.innerText !== "Registra"){//sto registrando
showAlert("Attenzione", "Stai registrando uno scenario, termina la registrazione per attivare lo scenario.", false);
Scenari.addNameHere.value = scenarioID;
// 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?";
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.";
} else {
children[2].innerText = "Continuare l'attivazione?";
}
okBtn.innerText = "Attiva";
}
// launch the modal
const modalLauncher = document.getElementById('launch-modal-' + scenarioID);
/**
* switches the toggle and updates the status of the light
* @param {luceTemplate} luce the luce JSON luce (used to change its status)
* @param {HTMLElement} toggle the toggle to move
function luciToggleListener(luce,toggle) {
toggle.addEventListener('click', event => {
event.preventDefault();
luce.stato = !toggle.classList.contains('active');
// HERE server send the toggle state
try{
Api.setLuciStato(luce,toggle,luciToggleCallback);
} catch (error){
console.log(error);
showAlert("Errore",error.message,false);
}
function luciToggleCallback(toggle){
toggle.classList.toggle('active');
}
export { setToggleMovement, scenariToggleListener, luciToggleListener};