# Aviso de alarme

> Referência do componente de dashboard Aviso de alarme, as três apresentações dele, todas as propriedades, e como os alarmes são reconhecidos a partir dele.

O **Aviso de alarme** mostra a fatia pendente do registro de alarmes: todo alarme que está
ativo ou ainda esperando um reconhecimento, a pior prioridade primeiro, o mais antigo primeiro
dentro de uma prioridade. É o único componente que lê o registro diretamente, ele não tem
endereço a vincular, então o painel dele só pergunta quanto do registro mostrar e como. É
também onde o operador responde aos alarmes: num dashboard em tela cheia não há outra página
para onde caminhar, então os botões de reconhecimento moram no próprio aviso.

## Apresentações {#presentations}

A propriedade **Mostra** escolhe uma de três formas. As três são a mesma leitura em três
tamanhos; o piso de severidade e o teto de linhas abaixo são aplicados onde o registro é lido,
então um resumo nunca conta um alarme que a lista ao lado dele foi mandada deixar de fora.

| Opção | O que ela desenha |
|---|---|
| Todo alarme pendente | Uma linha por alarme com o nome, o estado e a prioridade, e a data e a hora em que ele ficou ativo, mais um botão **Reconhecer** por linha quando o reconhecimento está ligado. |
| Uma linha sobre todos eles | Uma frase só, por exemplo `2 ativos (1 não reconhecidos)`. |
| Quantos em cada severidade | Um chip por severidade que tem algo pendente, a pior primeiro, cada um com o total dele e, quando o reconhecimento está ligado, a contagem dos sem reconhecimento. Uma severidade sem nada pendente não desenha chip. |

A data e a hora de uma linha são o instante em que a ativação atual do alarme começou, no
formato de data e hora da estação: um carimbo fixo, não uma contagem de há quanto tempo o
alarme está pendente. Um alarme retido cuja condição já normalizou continua com esse carimbo
enquanto a linha dele espera o reconhecimento.

O cabeçalho sempre carrega a linha de resumo. Quando o aviso não mostra nada, ele diz
**Nenhum alarme ativo**; enquanto linhas reconhecidas ainda estão saindo de uma lista, ele diz
**Todos reconhecidos**, para que o cabeçalho nunca relate uma planta calma por cima de linhas
visíveis.

## Propriedades {#properties}

| Propriedade | O que ela faz | Valores | Padrão |
|---|---|---|---|
| Mostra | A apresentação, como acima. | Todo alarme pendente · Uma linha sobre todos eles · Quantos em cada severidade | Todo alarme pendente |
| Até | A prioridade menos severa que o aviso ainda mostra. As prioridades correm da pior para a melhor, então isto é um piso de severidade. Faz parte da leitura, não do desenho: um alarme abaixo do piso fica fora das linhas, do resumo, das contagens e do Reconhecer, tudo igual. | Só a crítica · Alta e acima · Média e acima · Toda prioridade | Toda prioridade |
| Linhas no máximo | Quantas linhas a apresentação em lista desenha. O que passa do teto é contado sob a lista (`Mais 3 alarmes não são mostrados.`), nunca descartado em silêncio. Pedido só pela apresentação em lista. | de 1 a 200 | 20 |
| Dizer o que aguarda reconhecimento, e oferecer responder | Uma chave só governando as duas metades do reconhecimento: as marcas que dizem o que ainda espera resposta (a metade sem reconhecimento do resumo, a contagem de sem reconhecimento num chip, a marca numa linha) e os botões que dão a resposta (o **Reconhecer** por linha e o **Reconhecer tudo** do cabeçalho). Desligada, o aviso é puramente informativo; numa estação em tela cheia isso também tira o único jeito de responder a um alarme. O que a máquina de estados do próprio alarme está fazendo nunca é escondido por isso. | ligado / desligado | ligado |
| Contar também por severidade | Acrescenta os chips por severidade ao lado do resumo das outras duas apresentações. Não é oferecido na apresentação por severidade, que já é feita deles. | ligado / desligado | desligado |

Uma contagem de linhas digitada fora da faixa de 1 a 200 é tomada na borda mais próxima e o
painel diz isso ao lado do campo; um texto que não é número deixa o teto em vigor sozinho.

## Reconhecer {#acknowledging}

Todo reconhecimento anda na fila da lógica e é registrado no diário como qualquer
reconhecimento de operador.

- **Reconhecer** numa linha responde àquele alarme. Uma linha já respondida mostra um sinal de
  visto em vez de um botão gasto. Num aviso mais estreito que as suas linhas, o **Reconhecer** de
  cada linha (ou o sinal de visto) fica na borda direita do aviso e o resto da linha desliza de
  lado por baixo dele, então a data e a hora se leem deslizando a linha.
- **Reconhecer tudo** no cabeçalho responde a tudo o que o aviso lê, um alarme por vez pelo
  mesmo funil. O piso de severidade se aplica, o aviso nunca responde a um alarme que ele foi
  mandado não mostrar, mas o teto de linhas não, porque o teto limita o desenho e o resumo já
  conta o que ele segurou. A linha de resposta então diz quantos foram reconhecidos; se a
  sequência de escritas parar no meio, ela diz até onde chegou (`2 de 5 reconhecidos`) em vez
  de deixar o resto pendente em silêncio.
- Na apresentação em lista, o **Reconhecer tudo** aparece quando mais de um alarme espera
  resposta (com um só, o botão da própria linha já é esse comando). Os dois resumos não
  desenham linhas, então ali o botão do cabeçalho aparece assim que um alarme está esperando.

Depois de um reconhecimento que tira uma linha da leitura (um alarme retido cuja condição já
normalizou), as posições desenhadas ficam paradas por cerca de dois segundos, até seis ao
longo de uma rajada de toques, para que a linha sob o dedo continue sendo a linha que foi
respondida. Um alarme levantado nesse meio-tempo ainda é desenhado no espaço que o teto tiver
deixado; o resumo, as contagens e o resto do aplicativo seguem em frente. Uma linha que está
assentando é estilizada como quem está de saída, em vez de manter uma marca de sem
reconhecimento que ela não merece mais, e a data e a hora dela ficam em branco, já que o
alarme voltou ao normal e não tem mais ativação a carimbar.

## Permissão {#permission}

Reconhecer exige a permissão **Operar dashboards** do papel do usuário local autenticado; numa
tela de Process de uma unidade, quem governa é a permissão **Executar procedimentos**, como em
todo comando que aquela tela hospeda. Sem ela, o aviso ganha a marca de trava compartilhada e
as dicas dos botões carregam a razão, mas só enquanto uma resposta está mesmo sendo oferecida
e algo espera por ela: um aviso informativo, ou um sem nada pendente, é uma leitura, e uma
leitura não afirma que a estação não pode comandar. O resultado passageiro de cada toque é
escrito no próprio aviso, a única superfície que resta quando um dashboard em tela cheia
esconde a barra de status.
