Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Documentação — Implementação de Tutoriais no Core

Introdução

O sistema permite a criação de tutoriais interativos que guiam o usuário pelas telas do Core.
Esses tutoriais são registrados em banco de dados e exibidos automaticamente quando o usuário acessa uma página que possui um tutorial disponível.


Estrutura de Dados

Para criar um novo tutorial, deve ser inserido um registro na tabela nfs_tours com as seguintes colunas:

CampoDescrição
DESCRIPTIONBreve descrição do tutorial.
TITLENome do tutorial exibido ao usuário.
URLCaminho relativo da rota onde o tutorial será executado (exemplo: /transport/diario).
STEPSArray contendo os passos (steps) do tutorial, em formato JSON.
ACTIVEDefine se o tutorial está ativo (true ou false).

Estrutura dos STEPS

O campo STEPS deve conter um array de objetos JSON, onde cada objeto representa um passo do tutorial.

Exemplo

[
  {
    "element": "#corporate > div > div > div:nth-child(3) > div:nth-child(1) > div:nth-child(1)",
    "popover": {
      "title": "Lista de recentes",
      "description": "Aqui você pode ver a lista de salas que você entrou recentemente.",
      "side": "left",
      "align": "start"
    }
  },
  {
    "element": "#corporate > div > div > div.btn-logout > button:nth-child(1)",
    "popover": {
      "title": "Logout",
      "description": "Aqui você pode sair do sistema.",
      "side": "left",
      "align": "start"
    }
  },
  {
    "popover": {
      "title": "Fim do tutorial",
      "description": "E isso é tudo, agora você pode começar a adicionar tours ao seu aplicativo."
    }
  }
]

Propriedades de cada Step

Cada objeto dentro do array STEPS pode conter as seguintes propriedades:

PropriedadeTipoObrigatórioDescrição
elementStringNãoSeletor CSS do elemento a ser destacado.
popoverObjectSimObjeto contendo as informações do popover.
popover.titleStringSimTítulo exibido no popover.
popover.descriptionStringSimTexto explicativo do passo.
popover.sideStringNãoPosição do popover (top, bottom, left, right).
popover.alignStringNãoAlinhamento do popover (start, center, end).

Nota: Steps sem a propriedade element são exibidos no centro da tela, úteis para mensagens introdutórias ou finais.

Exemplo de Step

Obtendo o element (Seletor CSS)

O campo element indica o componente HTML que será destacado em cada etapa do tutorial.
Para identificar corretamente o seletor de um elemento, siga os passos abaixo:

  1. Abra a página desejada no navegador.
  2. Clique com o botão direito sobre o elemento que deseja destacar.
  3. Escolha a opção “Inspecionar” (Inspect).
  4. No painel do DevTools, clique com o botão direito sobre a tag correspondente ao elemento.
  5. Selecione “Copiar → Copiar seletor” (Copy → Copy selector).
  6. Cole o seletor copiado no campo "element" dentro do passo do tutorial.

Dica: prefira seletores estáveis (como id ou classes fixas) em vez de seletores muito longos com nth-child, que podem mudar com alterações na interface.


Estrutura do popover

Cada popover define o conteúdo textual e o posicionamento da explicação que será exibida durante o tutorial.

CampoDescrição
titleDefine o título do passo exibido ao usuário.
descriptionTexto explicativo sobre o elemento destacado.
sidePosição do popover em relação ao elemento.
alignAlinhamento do popover dentro da posição definida.

Opções de side

  • top → Exibe o popover acima do elemento.
  • bottom → Exibe o popover abaixo do elemento.
  • left → Exibe o popover à esquerda do elemento.
  • right → Exibe o popover à direita do elemento.

Opções de align

  • start → Alinha o popover ao início do elemento.
  • center → Centraliza o popover em relação ao elemento.
  • end → Alinha o popover ao final do elemento.

Indicador de Tutoriais Pendentes

Quando há tutoriais disponíveis para uma página, um ícone de interrogação (?) é exibido no header do Core.

  • Se o usuário ainda não executou o tutorial da página, o ícone aparecerá amarelo.
  • Após a conclusão do tutorial, o ícone retorna à cor padrão, indicando que não há pendências.

Tutorial

✅ Resumo do Processo

  1. Criar um registro na tabela nfs_tours.
  2. Preencher os campos DESCRIPTION, TITLE, URL, ACTIVE e STEPS.
  3. Obter os seletores dos elementos via DevTools e inseri-los em element.
  4. Definir corretamente side e align no popover.
  5. Verificar o ícone de interrogação no header para identificar tutoriais pendentes.