# Alarmhinweis

> Referenz der Dashboard-Komponente für den Alarmhinweis, seine drei Darstellungen, alle Eigenschaften und die Art, wie Alarme von ihm aus quittiert werden.

Der **Alarmhinweis** zeigt den anstehenden Ausschnitt des Alarmregisters: jeden Alarm, der aktiv
ist oder noch auf eine Quittierung wartet, die schlimmste Priorität zuerst, innerhalb einer
Priorität der älteste zuerst. Er ist die eine Komponente, die das Register unmittelbar liest, er
hat keine Adresse zu binden, sein Bereich fragt also nur, wie viel vom Register gezeigt wird und
wie. Er ist zugleich der Ort, an dem der Bediener Alarme beantwortet: auf einem Dashboard im
Vollbild gibt es keine andere Seite, zu der man gehen könnte, die Schaltflächen zum Quittieren
wohnen also auf dem Hinweis selbst.

## Darstellungen {#presentations}

Die Eigenschaft **Zeigt** wählt eine von drei Formen. Alle drei sind derselbe Messwert in drei
Größen; der Boden für den Schweregrad und die Obergrenze der Zeilen darunter wirken dort, wo das
Register gelesen wird, eine Zusammenfassung zählt also nie einen Alarm, den die Liste daneben
weglassen sollte.

| Option | Was sie zeichnet |
|---|---|
| Jeder anstehende Alarm | Eine Zeile je Alarm, mit seiner Bezeichnung, seinem Zustand und seiner Priorität sowie Datum und Uhrzeit, zu der er aktiv wurde, dazu eine Schaltfläche **Quittieren** je Zeile, wenn das Quittieren eingeschaltet ist. |
| Eine Zeile über alle | Ein einziger Satz, zum Beispiel `2 anstehend (1 unquittiert)`. |
| Wie viele je Schweregrad | Ein Chip je Schweregrad, der etwas anstehen hat, der schlimmste zuerst, jeder mit seiner Summe und, wenn das Quittieren eingeschaltet ist, mit seiner Anzahl unquittierter Alarme. Ein Schweregrad ohne etwas Anstehendes zeichnet keinen Chip. |

Datum und Uhrzeit einer Zeile sind der Moment, in dem die laufende Aktivierung des Alarms
begann, im Datums- und Zeitformat der Station: ein fester Zeitstempel, keine Zählung, wie lange
der Alarm schon ansteht. Ein gespeicherter Alarm, dessen Bedingung bereits gegangen ist, behält
diesen Zeitstempel, solange seine Zeile auf die Quittierung wartet.

Die Kopfzeile trägt immer die Zusammenfassung. Zeigt der Hinweis überhaupt nichts, liest sie
sich als **Keine anstehenden Alarme**; solange quittierte Zeilen noch aus einer Liste
heraustreten, liest sie sich stattdessen als **Alle quittiert**, die Kopfzeile meldet also nie
eine ruhige Anlage über sichtbaren Zeilen.

## Eigenschaften {#properties}

| Eigenschaft | Was sie tut | Werte | Vorgabe |
|---|---|---|---|
| Zeigt | Die Darstellung, wie oben. | Jeder anstehende Alarm · Eine Zeile über alle · Wie viele je Schweregrad | Jeder anstehende Alarm |
| Herunter bis | Die am wenigsten schwere Priorität, die der Hinweis noch zeigt. Prioritäten laufen von der schlimmsten aus, das ist also ein Boden für den Schweregrad. Er gehört zum Messwert, nicht zur Zeichnung: ein Alarm unter dem Boden ist aus den Zeilen, aus der Zusammenfassung, aus den Zählungen und aus dem Quittieren gleichermaßen heraus. | Nur Kritisch · Hoch und schlimmer · Mittel und schlimmer · Jede Priorität | Jede Priorität |
| Zeilen höchstens | Wie viele Zeilen die Darstellung als Liste zeichnet. Was über der Obergrenze liegt, wird unter der Liste gezählt (`3 weitere Alarme werden nicht gezeigt.`), nie stillschweigend weggelassen. Nur von der Darstellung als Liste gefragt. | 1 bis 200 | 20 |
| Sagen, was auf eine Quittierung wartet, und das Quittieren anbieten | Ein Schalter, der beide Hälften des Quittierens regelt: die Zeichen, die sagen, was noch auf eine Antwort wartet (die unquittierte Hälfte der Zusammenfassung, die Anzahl unquittierter Alarme auf einem Chip, das Zeichen auf einer Zeile), und die Schaltflächen, die sie geben (das **Quittieren** je Zeile und das **Alle quittieren** der Kopfzeile). Aus ist der Hinweis rein informativ; auf einer Station im Vollbild nimmt das zugleich den einzigen Weg weg, einen Alarm zu beantworten. Was der eigene Zustandsautomat des Alarms tut, wird davon nie verborgen. | ein / aus | ein |
| Sie auch nach Schweregrad zählen | Fügt die Chips je Schweregrad neben die Zusammenfassung der beiden anderen Darstellungen. Bei der Darstellung nach Schweregrad nicht angeboten, denn die besteht bereits aus ihnen. | ein / aus | aus |

Eine Anzahl Zeilen, die außerhalb des Bandes von 1 bis 200 getippt wird, wird am nächsten Rand
genommen, und der Bereich sagt das neben dem Feld; Text, der keine Zahl ist, lässt die
Obergrenze allein in Kraft.

## Quittieren {#acknowledging}

Jede Quittierung fährt auf der Warteschlange der Logik und wird wie jede Quittierung eines
Bedieners im Journal festgehalten.

- **Quittieren** auf einer Zeile beantwortet diesen Alarm. Eine bereits beantwortete Zeile zeigt
  ein Häkchen statt einer verbrauchten Schaltfläche. In einem Hinweis, der schmaler ist als seine
  Zeilen, bleibt **Quittieren** (oder das Häkchen) jeder Zeile am rechten Rand des Hinweises, und
  der Rest der Zeile gleitet seitlich darunter hindurch; Datum und Uhrzeit liest man also, indem
  man die Zeile seitlich verschiebt.
- **Alle quittieren** in der Kopfzeile beantwortet alles, was der Hinweis liest, einen Alarm
  nach dem anderen durch denselben Kanal. Der Boden für den Schweregrad gilt, der Hinweis
  beantwortet also nie einen Alarm, den er nicht zeigen sollte, die Obergrenze der Zeilen aber
  nicht, denn sie begrenzt die Zeichnung, und die Zusammenfassung zählt bereits, was sie
  zurückhält. Die Rückmeldezeile sagt dann, wie viele quittiert wurden; bleibt der Lauf der
  Schreibzugriffe unterwegs stehen, sagt sie, wie weit er kam (`2 von 5 quittiert`), statt den
  Rest stillschweigend anstehen zu lassen.
- In der Darstellung als Liste erscheint **Alle quittieren**, sobald mehr als ein Alarm auf eine
  Antwort wartet (bei einem einzigen ist die eigene Schaltfläche der Zeile bereits dieser
  Befehl). Die beiden Zusammenfassungen zeichnen keine Zeilen, dort erscheint die Schaltfläche
  der Kopfzeile also, sobald ein Alarm wartet.

Nach einer Quittierung, die eine Zeile aus dem Messwert nimmt (ein gespeicherter Alarm, dessen
Bedingung bereits gegangen ist), halten die gezeichneten Plätze etwa zwei Sekunden lang still,
bei einer Folge von Drücken bis zu sechs, damit die Zeile unter dem Finger die Zeile bleibt, die
beantwortet wurde. Ein Alarm, der währenddessen kommt, wird trotzdem in dem Platz gezeichnet, den
die Obergrenze übrig gelassen hat; die Zusammenfassung, die Zählungen und der Rest der Anwendung
laufen ungerührt weiter. Eine heraustretende Zeile wird als auf dem Weg nach draußen gezeichnet,
statt ein Zeichen für unquittiert zu behalten, das sie nicht mehr verdient, und Datum und
Uhrzeit bleiben auf ihr leer, denn ihr Alarm ist wieder im Normalzustand und hat keine
Aktivierung mehr, die ein Zeitstempel festhalten könnte.

## Berechtigung {#permission}

Das Quittieren verlangt die Berechtigung **Dashboards bedienen** der Rolle des angemeldeten
lokalen Benutzers; auf dem Process-Bild einer Einheit steuert stattdessen die Berechtigung
**Abläufe ausführen** den Zugriff, wie bei jedem Befehl, den dieses Bild beherbergt. Ohne sie
trägt der Hinweis das gemeinsame Sperrzeichen, und die Tooltips der Schaltflächen tragen den
Grund, aber nur, solange eine Antwort tatsächlich angeboten wird und etwas auf eine wartet: ein
informativer Hinweis, oder einer ohne etwas Anstehendes, ist ein Messwert, und ein Messwert
behauptet nicht, dass die Station nicht befehlen darf. Das vorübergehende Ergebnis jedes Drucks
wird auf den Hinweis selbst geschrieben, die eine Fläche, die bleibt, wenn ein Dashboard im
Vollbild die Statusleiste verbirgt.
