Älä anna poistaa luokkaa, jos se on tunnin käytössä
This commit is contained in:
parent
f769805c72
commit
4522536155
1 changed files with 11 additions and 3 deletions
|
@ -91,7 +91,7 @@ function suoritaMuutos(tietokanta, muutos) {
|
||||||
// "luokka-undefined". seuraava on siis null silloin kuin tämä luokka
|
// "luokka-undefined". seuraava on siis null silloin kuin tämä luokka
|
||||||
// tulee lisätä listan loppuun, joka vastaa insertBefore:n toimintaa
|
// tulee lisätä listan loppuun, joka vastaa insertBefore:n toimintaa
|
||||||
let seuraava = document.getElementById(`luokka-${seuraavaId}`);
|
let seuraava = document.getElementById(`luokka-${seuraavaId}`);
|
||||||
luokatLista.insertBefore(luoLuokka(id, uusi), seuraava);
|
luokatLista.insertBefore(luoLuokka(tietokanta, id, uusi), seuraava);
|
||||||
const tunnitUusiLuokat = document.getElementById('tunnit-uusi-luokat');
|
const tunnitUusiLuokat = document.getElementById('tunnit-uusi-luokat');
|
||||||
seuraava = document.getElementById(`tunnit-uusi-luokka-${seuraavaId}`);
|
seuraava = document.getElementById(`tunnit-uusi-luokka-${seuraavaId}`);
|
||||||
tunnitUusiLuokat.insertBefore(luoLuokkaValinta(id, uusi), seuraava);
|
tunnitUusiLuokat.insertBefore(luoLuokkaValinta(id, uusi), seuraava);
|
||||||
|
@ -158,7 +158,7 @@ function poistaElementti(elementti) {
|
||||||
elementti.parentElement.removeChild(elementti);
|
elementti.parentElement.removeChild(elementti);
|
||||||
}
|
}
|
||||||
|
|
||||||
function luoLuokka(id, nimi) {
|
function luoLuokka(tietokanta, id, nimi) {
|
||||||
const li = document.createElement('li');
|
const li = document.createElement('li');
|
||||||
li.id = `luokka-${id}`;
|
li.id = `luokka-${id}`;
|
||||||
const poistoPainike = document.createElement('input');
|
const poistoPainike = document.createElement('input');
|
||||||
|
@ -166,7 +166,15 @@ function luoLuokka(id, nimi) {
|
||||||
poistoPainike.value = '-';
|
poistoPainike.value = '-';
|
||||||
poistoPainike.addEventListener('click', () => {
|
poistoPainike.addEventListener('click', () => {
|
||||||
suorita(_tietokanta.transaktio((t) => {
|
suorita(_tietokanta.transaktio((t) => {
|
||||||
t.poista(taulut.luokat, id);
|
const käyttävät =
|
||||||
|
t.suodata(taulut.tunnit, (tunti) => tunti.luokat.includes(id))
|
||||||
|
.map((x) => tuntiTeksti(tietokanta, t.hae(taulut.tunnit, x)));
|
||||||
|
if (käyttävät.length === 0) {
|
||||||
|
t.poista(taulut.luokat, id);
|
||||||
|
} else {
|
||||||
|
const lista = käyttävät.join('\n- ');
|
||||||
|
alert(`Ei voida poistaa ennen tunteja:\n- ${lista}`);
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
li.appendChild(poistoPainike);
|
li.appendChild(poistoPainike);
|
||||||
|
|
Loading…
Reference in a new issue