Skip to content

Paineis

Paineis são responsáveis por salvar novas instãncias das estruturas criadas na plataforma bem como exibir essas instancias. É a partir de um painel que o usuário terá acesso a lista de instãncias das estruturas e podera navrgar para as páginas de detalhe.

Acessando a configuração

Para configurar um painel devemos acessar o "Modo de Edição Visual" e depois clicar no botão de configuração que fica a direita dentro do grupo "Setup" em azul dento do Painel.

Painel botão de configuração

Com o popup de configurações do Painel você pode realizar as configurações necessárias.

Configurações Gerais

Responsável pelas configuraçñoes básicas do Painel.

Configuração Geral

O campo Modo de acesso por link define como o link para a página de detalhes das instãncias exibidas pelo painel deve se comportar. As opções são:

OpçãoDescrição
PadrãoA própria plataforma cuida de gerar o link correto
CustomizadoExecuta uma ação expecífica definida na aba Link Customizado
DesabilitadoNão gera nenhum link para acesso da página de detalhes

O campo Modo de exclusão define como serão executada a ação de exclusão das instãncias exibidas. As opções são:

OpçãoDescrição
PadrãoAo excluir a instãncia vai para a lixeira
Com confirmaçãoSolicita uma confirmação antes de excluir e envia para a Lixeira
CustomizadoExecuta uma ação expecífica definida na aba Menu de Açoes
Sem passar pela lixeiraExcluí a instância diretamente sem passar pela lixeira
DesabilitadoNão exibe a ação de enviar para a lixeira

O campo Modo de criação define como será exibido o botão para criar novas instãncias. As opções são:

OpçãoDescrição
PadrãoExibe o botão de acordo com a permissão do usuário
DesabilitadoNão exibe a o botão para nenhum usuário

O campo Resultado por página define quantos itens vão aparecer por página. Caso nenhum valor seja definido o padrão são 50 items.

O campo Modos de Exibição define os tipos de exibição que as instãncias do painel serão exibidas.

O campo Rótulo para o botão de criar define um label para aparecer junto com o icone de "+" no botão de criação de novas instâncias.

O campo Filtros Rápidos define quais campos que já vão aparecer na parte de filtros rápidos do Painel.

O campo Campos para pesquisa por texto define quais campos que estarão sendo utilizdos quando o usuário escrever um texto na caixa de pesquisa do Painel. Caso nenhum campo seja definido a plataforma ira filtrar nos campos de "Rótulo" e "Código" da instãncia. Caso outros campos dejam definidos os campos de "Rótulo" e "Código" param de ser levados em concideração e deve ser incluídos manualmente caso seja necessário.

O campo Estilo aplica um código CSS na tag que envolve o Painel.

Fonte de Dados

Responsável pelas configurações da fonte de dados que carrega as instãncias para serem exibidas pelo Painel.

Configuração da Fonte de Dados

O campo Fonte de Dados é quem define quais resultados serão exibidos pelo painel. Para mais informações sobre a criação de uma nova fonte de dados clique aqui.

Filtros para a Fonte de Dados é utilizado para filtrar os resultados antes deles serem exibidos para os usuários. Há duas formas de preencher o valor desse campo:

json
{
  "$or": [
    { "custom.status": "approved" },
    { "custom.cost.value": { "$gt": 100000 } }
  ]
}
  • Utilizando um array de objetos para pode definir filtros mais complexos. O filtro será construído utilizando cada parte cuja condição seja atendida. Se uma parte do filtro sempre deve ser incluída, basta criar um objeto sem o atributo "condition". O falor do atributo filter deve ser uma string o que quer dizer que é necessário transformar o objeto json em uma string e tratar as aspas duplas.
json
[
  {
    "filter": "{\"active\":true}",
  },
  {
    "condition": "${user.activeProfile === 'client'}",
    "filter": "{\"custom.restricao\":{\"$ne\":\"${instance.custom.cliente}\"}}",
  },
  {
    "condition": "${instance.custom.status === 'published'}",
    "filter": "{\"custom.mapas\":\"${url.id}\"}",
  }
];

INFO

Importante lembra que é possível utilizar valores que estão disponíveis na plataforma para montar os filtros e definir as condições. Estão disponíveis dados do usuário, da instancia, dó módulo e da estrutura pai.

O campo Estrutura define qual estrutua será utilizada para pegar os campos que estão rão disponíveis para um painel do tipo Tabela.

O campo Segurança é utilizado para selecionar qual funcionalidade será utilizada para definir se os usuário tem acesso aos dados. No caso de Fontes de Dados que não são "seguras" ou que já possuam a segurança pré definida na própria configuração da Fonte de Dados, esse campo é opicional.

Já o atributo Campos para incluir no resultado é utilizado quando queremos que o resultado que virá a partir da Fonte de Dados inclua outros campos além dos que foram selecionados como colunas. Isso é muito comum quando precisamos de um determinado dado para executar alguma regra de validação mas o valor não está sendo exibido na Tabela. O valor desse campo deve conter os códigos dos campos da estrutura separados por virgula.

Responsável pelas configurações das ações que estarão disponíveis para cada uma das linhas do painél, além de ações que possam ser executadas pela sessão de ações na barra de comandos do painel.

Configuração do Menu de Ações

INFO

Lembre-se que no campo Menu estarão as ações que vão aparecer no menu de cada uma das linhas do painel e o campo Ações definimos ações auxiliares que serão executadas em sequência a um ação definida no campo Menu.

Além disso o campo Menu recebe um array com todas as ações que estarão disponíveis.

json
[
  {...},
  {...}
]

Para mais detalhes sobre a configuração do menu de ações e de ações individuais clique aqui.

Campos Customizados Extras

Responsável pelas configurações de campos que não estão configurados na estrutura, além disso é possível mudar configurações dos campos padrão.

Configuração de campos extras

Para criar um campo extra que vai estar disponível nas colunas do painel é importante definir as configurações para o campo e se sertificar de que o valor para ele esteja disponível na fonte de dados. Lembre-se que esse campo não será editavel.

json
[
  {
    "code": "code",
    "field": "custom.mapas",
    "parentStructure": "project"
  },
  {
    "code": "activities",
    "field": "atividades",
    "label__translation": {
      "pt": "Atividades"
    },
    "parentStructure": "custom",
    "type": "text",
    "value": "${data.atividades && data.atividades?.length > 0 ? data.atividades.map(act => {return pattern.date(act.custom?.executionDate).apply()+' - '+datasetResult('usersOptions',act.createdBy)?.label+':<br>'+(act.custom.done?'✔ ':'')+act.label+'<br>'}).join('<br>'):''}",
    "view": "textEditor"
  }
]

Responsável pelas configurações customizadas de como o link do painel vai funcionar, caso seja necessário criar um link diferente do padrão.

Configuração de Link Customizado

Para configurar links diferentes podemos utilizar uma condição para saber qual tipo de link deve ser utilizado.

json
[
  {
    "condition": "${data.custom.type === 'program'}",
    "link": "/program/${data.code}"
  },
  {
    "condition": "${data.custom.type === 'issue'}",
    "link": "/issue/${data.code}"
  }
]

INFO

No caso de ser necessário guardar a página do painel, pode ser utilizado o wildcard "panel.page" para que seja incluído na URL essas informações.

json
[
  {
    "link": "/project/${data.code}?map=${url.id}&page=__panel.page__"
  }
]

Criando novas Instâncias

O Painel também é responsável pela criação de novas instãncias de uma determinada estrutura.

Para configurar a seção de criação no painel basta clicar no botão com o icone de "+" e arrastar os campos para definir o layout.

Criando instâncias no painel

ATENÇÃO

Lembre-se que campos definidos como Obrigatório necessariamente terão que ser incluidos para que não seja gerado um erro no momento da crição.