Älä käytä prompt():ia tai alert():ia
This commit is contained in:
parent
d676ff37b0
commit
643c68dc2c
13
index.html
13
index.html
|
@ -7,6 +7,19 @@
|
||||||
.testit-epäonnistunut {
|
.testit-epäonnistunut {
|
||||||
background-color: #e77;
|
background-color: #e77;
|
||||||
}
|
}
|
||||||
|
.virhe {
|
||||||
|
background-color: #fbb;
|
||||||
|
margin-right: 0.5em;
|
||||||
|
}
|
||||||
|
.luokka-aste-lomake {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
.piilotettu {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.luokka-aste-kenttä {
|
||||||
|
width: 3em;
|
||||||
|
}
|
||||||
#luokka-asteet {
|
#luokka-asteet {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,26 +59,45 @@ function luoLuokkaAsteListassa(aste) {
|
||||||
|
|
||||||
luokkaAsteListassa.appendChild(luoLuokkaLista(aste));
|
luokkaAsteListassa.appendChild(luoLuokkaLista(aste));
|
||||||
|
|
||||||
luokkaAsteListassa.appendChild(luoPainike('✎', () => {
|
let muokkausVirhe = document.createElement('span');
|
||||||
// TODO: Älä käytä prompt():ia ja alert():ia
|
muokkausVirhe.classList.add('virhe');
|
||||||
let vastaus = prompt('Uusi luokka-aste');
|
muokkausVirhe.classList.add('piilotettu');
|
||||||
if (vastaus === null) {
|
muokkausVirhe.appendChild(document.createTextNode(''));
|
||||||
// Käytääjä painoi 'Peruuta'
|
luokkaAsteListassa.appendChild(muokkausVirhe);
|
||||||
return;
|
|
||||||
|
// Luo muokkauspainike ja -lomake, joista vain yksi on näkyvillä kerralla
|
||||||
|
let muokkausLomake = document.createElement('form');
|
||||||
|
muokkausLomake.classList.add('piilotettu');
|
||||||
|
muokkausLomake.classList.add('luokka-aste-lomake');
|
||||||
|
let asteValitsin = document.createElement('input');
|
||||||
|
asteValitsin.classList.add('luokka-aste-kenttä');
|
||||||
|
asteValitsin.type = 'number';
|
||||||
|
asteValitsin.min = 1;
|
||||||
|
asteValitsin.value = aste;
|
||||||
|
muokkausLomake.append(asteValitsin);
|
||||||
|
let muokkausLomakePainike = document.createElement('input');
|
||||||
|
muokkausLomakePainike.type = 'submit';
|
||||||
|
muokkausLomakePainike.value = '✓';
|
||||||
|
muokkausLomake.appendChild(muokkausLomakePainike);
|
||||||
|
muokkausLomake.addEventListener('submit', (tapahtuma) => {
|
||||||
|
tapahtuma.preventDefault();
|
||||||
|
let uusiAste = parseInt(asteValitsin.value);
|
||||||
|
if (luokkaAsteet.asteet[uusiAste] === undefined || aste === uusiAste) {
|
||||||
|
suorita(tapahtumaTyypit.muutaAste, aste, uusiAste);
|
||||||
|
piirräLuokat();
|
||||||
|
} else {
|
||||||
|
muokkausVirhe.firstChild.textContent =
|
||||||
|
`Luokka-aste ${uusiAste} on jo olemassa.`;
|
||||||
|
muokkausVirhe.classList.remove('piilotettu');
|
||||||
}
|
}
|
||||||
vastaus = parseInt(vastaus, 10);
|
});
|
||||||
if (Number.isNaN(vastaus)) {
|
luokkaAsteListassa.appendChild(muokkausLomake);
|
||||||
// Ei numero
|
|
||||||
alert('Luokka-asteen pitää olla numero');
|
let muokkausPainike = luoPainike('✎', () => {
|
||||||
return;
|
muokkausLomake.classList.remove('piilotettu');
|
||||||
} else if (vastaus < 1) {
|
muokkausPainike.classList.add('piilotettu');
|
||||||
// Luokka-aste alkaa 1:stä
|
});
|
||||||
alert('Luokka-asteeen pitää olla vähintään 1');
|
luokkaAsteListassa.appendChild(muokkausPainike);
|
||||||
return;
|
|
||||||
}
|
|
||||||
suorita(tapahtumaTyypit.muutaAste, aste, vastaus);
|
|
||||||
piirräLuokat();
|
|
||||||
}));
|
|
||||||
|
|
||||||
return luokkaAsteListassa;
|
return luokkaAsteListassa;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue