Skip to content
Snippets Groups Projects
app.js 1.56 KiB
Newer Older
  • Learn to ignore specific revisions
  • Elisa Giglio's avatar
    Elisa Giglio committed
    'use strict';
    import {createRowDomain} from '../templates/domains-template.js';
    import {statoDomainToggle} from '../toggles.js';
    import { getToken } from './script.js';
    
    class App {
        constructor(myDomains) {
            this.myDomains = myDomains;
            this.showAllDomains(myDomains);
        }
    
        showAllDomains(myDomains) {
            const addHere = document.getElementById('table-row-domains');
            for(const d of myDomains) {
                const row = createRowDomain(d);
                const tr = document.createElement('tr');
                tr.innerHTML = row;
                const plusRow = addHere.lastElementChild;
                addHere.insertBefore(row, plusRow);
                if(d.admin) {
                    const toggle = row.querySelector('.toggle-button');
                    statoDomainToggle(d, toggle);
                    const deleteDomain = row.querySelector('.fa-trash');
                    deleteDomain.addEventListener('click', () => {
                        const token = getToken();
                        const response = await fetch('http://localhost:3001/delete', {
                            method: 'POST',
                            headers: , // DA FARE: inserire il token
                            body: JSON.stringify({domain: domain.nome})
                        });
                        if(response.ok) {
                            addHere.removeChild(row);
                        }
                        else {
                            throw new Error('Impossibile eliminare il dominio, provare piu\' tardi');
                        } 
                    });
                }
            }
            
        }
    }
    
    export default App;