TIME LINE#
O widget Time Line exibe intervalos de tempo em uma linha do tempo horizontal. Ele é útil para mostrar a duração de Jobs, etapas de um processo ou ações do usuário em um formulário.
.png)
Por exemplo, o Time Line pode mostrar quando cada Job começou e terminou, quanto durou cada etapa de uma solicitação ou como as ações se distribuíram ao longo do tempo.
Início da configuração do widget#
Para configurar o widget, clique no ícone de edição
.
.png)
A janela "Configurações do widget" será aberta:
.png)
Preencha os campos necessários para configurar o widget.
Campos gerais#
| N.º | Campo | Descrição |
| 1. | Nome do widget * | Nome exibido no cabeçalho do widget. Preenchido manualmente. |
| 2. | Modo | Forma de configurar a consulta de dados. |
| 2.1. | Modo construtor | Permite montar a consulta com blocos: tabelas, junções, filtros, séries do widget, agrupamento, ordenação e número de linhas. |
| 2.2. | Modo avançado | Permite digitar uma consulta SQL manualmente. Esse modo é conveniente para Time Line porque os nomes de coluna necessários podem ser definidos explicitamente. |
Campos adicionais disponíveis apenas no modo construtor#
Junção de tabelas#
A junção de tabelas permite obter dados de várias tabelas relacionadas e produzir resultados mais completos.
Os operadores abaixo são usados para comparar colunas de duas tabelas antes de uni-las:
| Operador | Descrição |
|---|---|
| = | Retorna as linhas em que os valores nas colunas indicadas das duas tabelas são iguais. |
| != | Retorna as linhas em que os valores nas colunas indicadas das duas tabelas são diferentes. |
| > | Retorna as linhas em que o valor da coluna indicada da primeira tabela é maior do que o da segunda tabela. |
| < | Retorna as linhas em que o valor da coluna indicada da primeira tabela é menor do que o da segunda tabela. |
Para unir apenas duas tabelas, preencha estes campos:
- Selecione a primeira "Coluna" na lista;
- Selecione o "Operador" na lista;
- Selecione a "Coluna 2" na lista.
Por exemplo:

Para unir mais de duas tabelas, clique em
e preencha os campos necessários.
Para remover uma junção de tabelas, clique em
.
Filtros#
Os filtros definem condições para os dados selecionados usando operadores de comparação e operadores lógicos.
Para definir uma condição, preencha estes campos:
- Selecione a "Coluna" na lista;
- Selecione o "Operador" na lista;
- Digite o "Valor".
Por exemplo:

Para combinar várias condições, por exemplo, ((robots.is_deleted = 0) AND (robots.id > 13)), use operadores lógicos. Clique em
para alterar para OR ou em
para alterar para AND. Depois, clique em
e preencha os campos necessários:

Para definir uma condição complexa de Filtro com vários grupos de parênteses, clique em
e preencha os campos necessários.
Para remover uma condição, clique em
.
Séries do widget#
As séries do widget indicam quais colunas do banco de dados devem ser obtidas e retornadas nos resultados da consulta.
Para configurar as Séries do widget, preencha estes campos:
- Selecione a "Coluna" na lista;
- Selecione o "Operador" na lista;
- Digite o "Nome da série".
Por exemplo:

Para exibir dados adicionais na legenda, clique em
.
Agrupar por#
Este campo agrupa linhas com os mesmos valores em uma ou mais colunas para permitir operações de agregação. Selecione uma coluna na lista.
Ordenação#
Estes campos determinam a ordem das linhas no resultado. Digite "ASC" em "Ordenar por" para ordem crescente ou "DESC" para decrescente e selecione uma "Coluna" na lista.
Número de linhas#
Digite um valor ou use o contador
. Este campo limita o número de registros retornados pela consulta para montar o painel.
Teste#
Para verificar se a consulta está configurada corretamente, clique em
. Uma tabela será exibida com os dados usados para montar o painel Line Chart.
Clique em "OK" para exibir o painel.
Clique em "Cancelar" para limpar todos os dados inseridos.
Formato de dados para Time Line#
Para que o widget seja montado corretamente, a consulta deve retornar três colunas:
| Coluna | Descrição |
| name | Nome de uma linha na linha do tempo, como um Job, uma etapa ou um formulário. |
| StartTime | Data e hora de início do intervalo. |
| FinishTime | Data e hora de término do intervalo. |
Se FinishTime estiver vazio, o widget exibirá um intervalo curto de 60 segundos a partir de StartTime.
Modo construtor (exemplo)#
Este exemplo mostra os Jobs mais recentes que têm horário de início. Cada Job aparece como um intervalo independente do início ao término.
.png)
.png)
.png)
.png)
Preencha estes campos:
Tabelas *
jobs
process_versions
processes
Junção de tabelas
| Coluna | Operador | Coluna 2 |
|---|---|---|
jobs.process_version_id |
= | process_versions.id |
process_versions.process_id |
= | processes.id |
Filtros
| Coluna | Operador | Valor |
|---|---|---|
jobs.is_deleted |
= | 0 |
jobs.created |
> | 2026-01-01 00:00:00 |
Séries do widget
| Coluna | Operador | Nome da série |
processes.name |
name |
|
jobs.created |
StartTime |
|
jobs.updated |
FinishTime |
No Time Line, as Séries do widget devem ter exatamente os nomes name, StartTime e FinishTime. O código do widget usa esses nomes para montar a linha do tempo.
Ordenar por
| Campo | Valor |
| Coluna | jobs.created |
| Ordenar por | DESC |
Número de linhas
10
.png)
Modo avançado (exemplo)#
Este exemplo mostra os Jobs mais recentes que têm horário de início. Cada Job aparece como um intervalo independente do início ao término.
No campo SQL, informe a seguinte consulta:
SELECT
COALESCE(processes.name, CONCAT('Работа ', jobs.id)) AS name,
COALESCE(jobs.started, jobs.created) AS StartTime,
DATE_ADD(COALESCE(jobs.started, jobs.created), INTERVAL 2 HOUR) AS FinishTime
FROM jobs
LEFT JOIN process_versions ON jobs.process_version_id = process_versions.id
LEFT JOIN processes ON process_versions.process_id = processes.id
WHERE
jobs.is_deleted = 0
AND COALESCE(jobs.started, jobs.created) IS NOT NULL
ORDER BY COALESCE(jobs.started, jobs.created) DESC
LIMIT 10
Clique em "OK" para exibir o widget no painel.