Zum Hauptinhalt springen

Visibility Conditions

Über sog. Visibility-Conditions, welche für jeden in einem Dashboard verbauten Elementarbaustein einstellbar sind, lässt sich definieren, wann bzw. unter welchen Umständen der jeweilige Elementarbaustein sichtbar sein soll im Dashboard:

Screenshot Visibility Condition im Dashboard

Für ein konkretes Beispiel zu inbes. Visibility-Conditions, siehe Dashboard Beispiel / How-To: Anlegen eines Controls, welches sein Aussehen und ggf. Verhalten automatisch ändert abhängig von Werten globaler Variablen

Im Folgenden eine eher technische Erklärung vom Erfinder:

Grundprinzip: Controls in einem Template (!) können auf Basis des Zustands

  • visible
  • hover
  • pressed
  • active
  • inactive
  • enabled
  • disabled

anderer Controls im selben (!) Template ausgeblendet werden.

Die visiblity Condition folgt dem Muster:

\[BUTTON:active\]

Es gibt immer CONTROL:state und !CONTROL:state, also !BUTTON.pressed.

Die gesamte Syntax ist, e.g. \[C1:pressed,!C2:hover\],\[C3:active\],... ==> (C1:pressed ODER NICHT C2:hover) ODER (C3:active) ODER ...

\[C1:pressed+!C2:hover\],==> (C1:pressed UND NICHT C2:hover)

Die Werte für den State sind active, hover, pressed, enabled, disabled, inactive.

Also !BUTTON:pressed.

Bei active gibt es inactive und disabled für enabled.

pressed und hover haben kein Gegenstück, da muss man ! verwenden - wird mal vermutlich SEHR selten brauchen, wenn man die Layer richtig anordnet, kann aber sein.

[!BUTTON.pressed] NICHT ![BUTTON.pressed]

Der Effekt ist dann letztlich eine Multi-Layer Technologie, die natürlich auch für Text etc. funktioniert.

Überblenden ist erst mal nicht vorgesehen, es wird nicht mit opacity:0 sondern mit display:none gearbeitet.