verbesserungen bei den knöpfen

This commit is contained in:
Christian Fraß 2017-11-10 19:00:25 +01:00
parent 4a2ae361ca
commit ecbcb3c906
3 changed files with 119 additions and 78 deletions

View file

@ -204,23 +204,32 @@ module mod_vtm_manifestation
*/
public erneuern_knoepfe() : void
{
// Knöpfe anzeigen/ausblenden
let modus : mod_vtm_aufbau.typ_modus = this.aufbau.modus_lesen();
let klasse : string;
switch (modus)
{
document.querySelector("#knoepfe").setAttribute
(
"class",
(
(this.aufbau.modus_lesen() === mod_vtm_aufbau.modus_initial)
? "initial"
: (
this.intervall.ist_schlicht()
? "testen_laufend"
: "testen_stehend"
)
)
)
;
case mod_vtm_aufbau.modus_initial:
{
klasse = "initial";
break;
}
case mod_vtm_aufbau.modus_ungewiss:
{
klasse = (
this.intervall.ist_schlicht()
? "ungewiss_laufend"
: "ungewiss_stehend"
);
break;
}
case mod_vtm_aufbau.modus_fehlerhaft:
case mod_vtm_aufbau.modus_korrekt:
{
klasse = "fertig";
break;
}
}
document.querySelector("#knoepfe").setAttribute("class", klasse);
}
@ -238,6 +247,65 @@ module mod_vtm_manifestation
}
/**
* @author kcf <vidofnir@folksprak.org>
*/
private anhalten() : void
{
if (this.intervall.ist_schlicht())
{
clearInterval(this.intervall.lesen());
this.intervall = (new klasse_nichts<any>());
}
else
{
let meldung : string = "kein Intervall gesetzt";
console.warn(meldung);
}
this.erneuern_knoepfe();
}
/**
* @author kcf <vidofnir@folksprak.org>
*/
private fortfahren() : void
{
this.aufbau.fortfahren();
let modus : mod_vtm_aufbau.typ_modus = this.aufbau.modus_lesen();
if (modus <= 1)
{
// nichts tun
}
else
{
this.anhalten();
}
this.erneuern_knoepfe();
}
/**
* @author kcf <vidofnir@folksprak.org>
*/
private testen() : void
{
let handle : any = setInterval(() => this.fortfahren(), 500);
this.intervall = (new klasse_schlicht<any>(handle));
}
/**
* @author kcf <vidofnir@folksprak.org>
*/
private bearbeiten() : void
{
this.anhalten();
this.aufbau.zuruecksetzen();
this.erneuern_knoepfe();
}
/**
* @author kcf <vidofnir@folksprak.org>
* @implementation
@ -318,45 +386,24 @@ module mod_vtm_manifestation
}
)
;
// Schritt
document.querySelector("#knopf_schritt").addEventListener
(
"click",
event =>
{
this.anhalten();
this.fortfahren();
}
)
;
// Testen
document.querySelector("#knopf_testen").addEventListener
(
"click",
event =>
{
this.intervall = (
new klasse_schlicht<any>
(
setInterval
(
() =>
{
this.aufbau.fortfahren();
let modus : mod_vtm_aufbau.typ_modus = this.aufbau.modus_lesen();
if (modus <= 1)
{
// nichts tun
}
else
{
if (this.intervall.ist_schlicht())
{
clearInterval(this.intervall.lesen());
this.intervall = (new klasse_nichts<int>());
}
else
{
let meldung : string = "kein Intervall gesetzt";
console.warn(meldung);
}
}
this.erneuern_knoepfe();
}
,
500
)
)
);
this.testen();
}
)
;
@ -366,17 +413,7 @@ module mod_vtm_manifestation
"click",
event =>
{
if (this.intervall.ist_schlicht())
{
clearInterval(this.intervall.lesen());
this.intervall = (new klasse_nichts<int>());
}
else
{
let meldung : string = "kein Intervall gesetzt";
console.warn(meldung);
}
this.erneuern_knoepfe();
this.anhalten();
}
)
;
@ -386,17 +423,7 @@ module mod_vtm_manifestation
"click",
event =>
{
if (this.intervall.ist_schlicht())
{
clearInterval(this.intervall.lesen());
this.intervall = (new klasse_nichts<int>());
}
else
{
// nichts tun
}
this.aufbau.zuruecksetzen();
this.erneuern_knoepfe();
this.bearbeiten();
}
)
;

View file

@ -96,17 +96,30 @@ body > header
font-size: 150%;
}
#knoepfe > *
{
margin: 2px;
}
#knoepfe.initial > #knopf_schritt {}
#knoepfe.initial > #knopf_testen {}
#knoepfe.initial > #knopf_anhalten {display: none;}
#knoepfe.initial > #knopf_bearbeiten {display: none;}
#knoepfe.testen_laufend > #knopf_testen {display: none;}
#knoepfe.testen_laufend > #knopf_anhalten {}
#knoepfe.testen_laufend > #knopf_bearbeiten {}
#knoepfe.ungewiss_laufend > #knopf_schritt {display: none;}
#knoepfe.ungewiss_laufend > #knopf_testen {display: none;}
#knoepfe.ungewiss_laufend > #knopf_anhalten {}
#knoepfe.ungewiss_laufend > #knopf_bearbeiten {display: none;}
#knoepfe.testen_stehend > #knopf_testen {}
#knoepfe.testen_stehend > #knopf_anhalten {display: none;}
#knoepfe.testen_stehend > #knopf_bearbeiten {}
#knoepfe.ungewiss_stehend > #knopf_schritt {}
#knoepfe.ungewiss_stehend > #knopf_testen {}
#knoepfe.ungewiss_stehend > #knopf_anhalten {display: none;}
#knoepfe.ungewiss_stehend > #knopf_bearbeiten {}
#knoepfe.fertig > #knopf_schritt {display: none;}
#knoepfe.fertig > #knopf_testen {display: none;}
#knoepfe.fertig > #knopf_anhalten {display: none;}
#knoepfe.fertig > #knopf_bearbeiten {}
#aufgabe_status
{

View file

@ -20,7 +20,8 @@
<hr/>
<div id="aufgabe_status"></div>
<div id="knoepfe">
<button id="knopf_testen">Testen</button>
<button id="knopf_schritt">Nächster Schritt</button>
<button id="knopf_testen">Ablaufen</button>
<button id="knopf_anhalten">Anhalten</button>
<button id="knopf_bearbeiten">Bearbeiten</button>
</div>