View e dashboards
A página View: a coluna Visualização com pastas, telas e painéis de unidade, a barra da tela aberta com Expandir e Tela cheia, a grade em que uma tela é composta, e quem pode pressionar o quê nela.
View é a primeira entrada do trilho de navegação e a página em que a estação abre. Ela lista toda tela que esta estação mostra e executa a que você escolher: os dashboards que você monta numa grade sobre o espaço de endereços ao vivo da Logic, e os painéis que as unidades do Process colocam aqui. Todo papel a alcança, porque "Ver dashboards" é a única permissão que todo papel carrega (veja Permissões); o que um papel pode então fazer na página se lê das outras permissões dele, verbo por verbo.
A página responde a quatro rotas. /view é o endereço canônico e / abre a mesma página;
/home continua valendo para que um atalho antigo ainda chegue aqui. /d/{id} abre uma
tela direto, que é como um favorito num tablet ou um link de outra página chega nela; um id
que o papel desta conexão não pode ver, ou que não existe mais, volta em silêncio para a
tela que a página abriria de qualquer forma. /d/{id}?edit=true abre a tela direto no
editor, o destino depois de uma cópia ou de um link de conserto vindo da
Validação, e é ignorado quando a tela não pode ser editada.
A coluna Visualização
A coluna da esquerda tem o cabeçalho Visualização e traz uma linha por coisa que a estação sabe mostrar:
- Pastas, no máximo dois níveis de profundidade, cada uma com um chevron que dobra o grupo e um nome que abre a própria pasta no palco. A linha de uma pasta termina com quantas telas ela guarda, subpastas incluídas.
- Telas, os seus próprios dashboards, arquivados em pastas ou no nível de cima, cada um com o ícone escolhido nas configurações dele e com a descrição como dica da linha.
- Painéis de unidade, as entradas que os modelos do Process colocam aqui, um por
unidade, com o nome
Modelo · Unidade · Superfície. Os que ninguém arquivou ficam juntos sob um cabeçalho Painéis de unidade depois da árvore; um painel arquivado entra na pasta dele, ao lado das suas telas.
Uma tela que traz um componente cujo ponto não está conseguindo ler ganha um ponto discreto de atenção depois do nome, e toda pasta acima dela também, para que uma falha seja encontrável com os grupos dobrados. O ponto não diz mais nada: nenhuma contagem, nenhum movimento.
O rodapé carrega Novo… (desenhado só para um papel que pode editar dashboards; ele abre um menu com Novo dashboard e Nova pasta, ambos no nível de cima), depois, enquanto o editor está aberto, Mover o dashboard para cima e Mover o dashboard para baixo para a tela aberta, e no canto final Expandir tudo e Recolher tudo sobre as pastas. O clique direito numa linha de tela ou de pasta abre o menu que arquiva, renomeia e remove; tudo isso está em Telas e pastas.
A coluna se recolhe até virar um trilho estreito, pelo chevron do cabeçalho dela. Um toque nesse trilho abre a lista como uma sobreposição sobre o palco, para que o canvas fique com cada pixel que ganhou; escolher uma linha fecha a sobreposição, e o alfinete devolve a coluna fixa. O divisor entre a coluna e o palco arrasta entre 260 e 600 px. Quais pastas você abriu, a largura e o estado recolhido são seus pela sessão: ficam por conexão, então um navegador que dobra um grupo nunca o dobra na janela da própria estação, e nada disso é salvo.
A barra da tela aberta
A barra sobre o palco nomeia o que está aberto, com o ícone e o nome da tela, e carrega os verbos dela. Enquanto o editor está aberto, o nome exibe um selo Editando.
| Comando | O que faz | Esmaecido quando (situação) | Não aparece quando (papel) |
|---|---|---|---|
| Copiar | Faz uma cópia editável da tela aberta ao lado dela, na mesma pasta, com o nome do original mais "(2)", "(3)" e assim por diante até um nome estar livre, e abre a cópia no editor. | Nada está aberto ("Abra uma tela para copiá-la."), a engenharia está travada, o runtime está parado. | O papel não pode editar dashboards, ou a entrada aberta é um painel de unidade ou uma tela de unidade (não há o que copiar: ela é arranjada no modelo dela). |
| Editar / Concluir edição | Entra no editor sobre a tela aberta, ou sai dele e volta a apenas ver. Sair nunca é recusado. | Nada está aberto ("Abra uma tela para editá-la."), a engenharia está travada ("A engenharia fica travada enquanto uma unidade está em execução"), o runtime está parado ("Runtime parado"). | O papel não pode editar dashboards, ou a entrada aberta é um painel de unidade ou uma tela de unidade. |
| Editar no Process | Abre a definição da própria entrada no ambiente do Process: a linha do painel ou a linha da tela do modelo dela. | Nunca fica esmaecido; ele só é desenhado quando pode rodar. | A entrada aberta é uma tela sua, ou o papel não pode gerenciar modelos. |
| Expandir | Esconde o trilho, a barra de título e a própria barra e entrega a janela inteira à tela; a janela continua como está. | Nada está aberto. | Nunca, mas ele é retirado enquanto você edita. |
| Tela cheia | A coisa de verdade: a janela da estação cobre o monitor, ou um navegador entra em tela cheia de documento. F11 faz o mesmo. | Nada está aberto. | Nunca, mas ele é retirado enquanto você edita. |
Expandir e Tela cheia servem para operar uma tela pronta, então a barra retira os dois enquanto o editor está aberto e o F11 não faz nada nesse momento. Tudo sobre os dois modos, o painel deslizante e a barra de status está em Modo de operador em tela cheia.
Quando o que está aberto é uma pasta, e não uma tela, a barra troca de assunto: ela nomeia a pasta e carrega Renomear a pasta (abre o campo de nome na própria linha da pasta) e, na tinta de perigo à direita, Remover a pasta (a mesma confirmação do menu da linha). Os dois são desenhados só para um papel que pode editar dashboards, e ficam esmaecidos enquanto a engenharia está travada.
O palco
O que o palco desenha segue a linha que você escolheu:
- Uma tela roda no canvas: a grade dela cresce até preencher o palco, sem rolagem, e os componentes leem o espaço de endereços no ritmo da própria página (a cada 150 ms na janela da estação, a cada 400 ms num navegador remoto).
- Uma pasta abre como uma visão geral: uma linha dizendo o que está arquivado ali, uma linha por subpasta com a contagem dela, e um cartão por tela com ícone, nome e descrição. Pressionar um cartão abre a tela.
- Um painel de unidade não é um layout e sim uma pilha de cartões, então o palco vira uma coluna deles com rolagem: veja Painéis de unidade na View. Uma tela de unidade (uma tela de modelo mostrada na View) roda no canvas como qualquer tela, resolvida para a unidade dela.
Sem nada a mostrar, o palco diz isso: uma estação sem nenhum dashboard mostra "Nenhum dashboard ainda. Crie um para montar leituras ao vivo, gráficos e comandos para a sua bancada, e depois abra em tela cheia para operar." com um botão Novo dashboard para um papel que pode editar; um papel do qual todo dashboard está escondido lê "Nenhum dashboard está visível para o seu papel."; uma lista com pastas mas sem tela, ou uma pasta aberta sem tela escolhida, diz qual dos dois casos é.
A grade
Todo dashboard tem uma grade de Colunas × Linhas células (24 × 12 até você mudar, cada uma entre 1 e 96) que preenche o palco e se ajusta à janela. Um componente ocupa um retângulo de células (X, Y, largura e altura); os componentes podem se sobrepor livremente, e cada um carrega um número de camada (Z): a camada maior é desenhada por cima e recebe o clique. É assim que uma Moldura vira um fundo de verdade: mande-a para trás e desenhe o grupo sobre ela. A posição, o tamanho e a ordem das camadas são do editor; o tamanho da grade é uma configuração do dashboard.
Comandos, permissões e a marca de trava
Todo componente de comando escreve pelo funil único de escrita da lógica da estação, com registro no diário, e responde a um mesmo modelo de permissão. Isso vale para qualquer controle que dá para pressionar numa tela, para os cartões de procedimento que um painel de unidade traz e para o reconhecimento num Aviso de alarme:
- Pressionar um controle num dashboard seu exige a permissão Operar dashboards do papel, concedida por papel na página Usuários.
- Um acionamento cujo alvo é uma mudança no Process (um comando de execução de unidade, um campo de preparação, um comentário de execução, o seletor de procedimento, o Rearmar do intertravamento) exige além disso Executar procedimentos. O que um acionamento exige se lê do alvo resolvido, nunca do tipo do componente: um botão que escreve um valor ou abre outro dashboard fica na permissão de dashboard.
- Num painel de unidade ou numa tela de unidade, só a permissão do Process governa: Executar procedimentos, nada sobre dashboards.
- Enquanto o runtime está parado, todo comando é recusado com "Runtime parado", qualquer que seja o papel.
Um comando que o papel autenticado não pode pressionar continua na tela e ganha a discreta marca de trava: um cadeado pequeno no canto do componente, com a razão inteira ("É preciso a permissão de operar dashboards." ou "É preciso a permissão Executar procedimentos.") na dica do componente. Ela é discreta de propósito, porque um papel que só vê a encontra em todos os controles de uma vez, e uma planta rodando normalmente não pode parecer uma tela de avisos. A autorização é reconferida no instante de cada acionamento, então uma saída ou uma troca de papel com a tela aberta não consegue despachar um clique velho.
Cada componente de comando responde na própria linha de feedback sob o controle ("Escrito", "OK · 12 ms", ou a recusa), que expira depois de cinco segundos. Essa linha é a única superfície que resta quando uma tela cheia esconde a barra de status, e é por isso que os comandos respondem ali, e não no feed de ações da barra de status.
Travas
Enquanto uma unidade está em execução, a página mostra o aviso Engenharia travada: "Uma operação de unidade está ativa. A configuração fica somente leitura até todas as unidades terminarem; os comandos de execução e as demais ações do operador continuam disponíveis." Criar, copiar, editar, arquivar, renomear e reordenar ficam esmaecidos com essa razão, um editor aberto se fecha, e as telas continuam rodando e aceitando os comandos permitidos. Um runtime parado fecha os mesmos verbos e também os comandos; o aviso de pausa do próprio shell diz onde fica o reinício.
O que a página não faz
Ela nunca edita um painel de unidade nem uma tela de unidade (Editar no Process leva a onde eles são arranjados), nunca os reordena, e nunca deixa um papel ver um dashboard escondido dele, nem pela lista nem pelo endereço. Ela não guarda nenhum estado de layout seu além da sessão: as pastas dobradas, a largura da coluna, o alfinete e a tela escolhida voltam ao início junto com a conexão. Apagar uma tela se faz dentro das Configurações do dashboard no editor, não pela coluna.
Nesta área
| Página | O que ela cobre |
|---|---|
| Telas e pastas | Criar, copiar, arquivar, renomear, reordenar e remover o que a coluna lista, a tela de abertura e quem vê qual tela. |
| O editor de dashboard | A bancada: a paleta, o canvas, a seleção, as seções de propriedade que todo componente compartilha, e as ligações desenhadas entre terminais de símbolo. |
| Configurações do dashboard | O que uma tela declara sobre si mesma: nome, descrição, ícone, grade, abertura, a barra de status em tela cheia, papéis que a veem, exclusão. |
| Modo de operador em tela cheia | Expandir e Tela cheia, F11 e Esc, o painel deslizante e a preferência da barra de status. |
| Painéis de unidade na View | A pilha de cartões pela qual uma unidade do Process é operada, como ela aparece aqui. |
| Gráficos | A barra de ferramentas que todo gráfico carrega, a escala, os painéis de estatísticas e de referência, e a janela de gráfico destacada. |
| Componentes de dashboard | O catálogo de tipos de componente, os endereços que eles vinculam, como uma leitura é desenhada, e uma página de referência por tipo. |