Editor e widget dos Portais
O Editor dos Portais combina um repositório de arquivos navegável com um compositor visual. Ambos os modos operam sobre o mesmo rascunho: as alterações visuais atualizam os fontes e as partes gerenciadas diretamente no código são preservadas.
Modo Código
O modo Código mostra:
- Explorer, para procurar, criar, renomear e organizar arquivos;
- Carregar imagem, para adicionar ao repositório ativos PNG, JPEG, GIF ou WebP;
- abas para arquivos abertos;
- editor com destaque para JSON, HTML, CSS e JavaScript;
- estado de salvamento e número da revisão atual;
- painel Problemas com erros e indicações corrigíveis.
Explorer e Problemas podem ser recolhidos com o botão no cabeçalho. No Explorer, o chevron junto de cada diretório também permite expandir ou recolher apenas esse ramo. O estado dos diretórios é mantido durante a sessão de edição, enquanto uma pesquisa expande temporariamente os ramos necessários para mostrar as correspondências.
As alterações são salvas de forma assíncrona. Se o rascunho foi atualizado por outra sessão, o editor interrompe a salvaguarda e sinaliza o conflito: recarregue a versão atual antes de retomar o trabalho.
Use Checkpoint para fixar uma revisão imutável e reconhecível do rascunho. Um checkpoint não publica o Portal.
Abrindo um arquivo que não representa uma página — por exemplo portal.json, um Data Resource, um CSS ou um arquivo de componente — o editor passa automaticamente para Código. O compositor Visual permanece associado apenas às páginas e nunca mostra o canvas de um arquivo aberto anteriormente. O modo escolhido para cada página é memorizado durante a sessão de edição: se uma página estava aberta em modo Visual, regressa automaticamente a Visual depois de consultar um arquivo de configuração.
Para criar uma página, selecione Novo arquivo e use um caminho JSON sob pages/, por exemplo pages/dashboard.json ou pages/orders/detail.json. O nome do arquivo é livre: o editor gera automaticamente UUID, título, layout de grade e lista de widgets. Para torná-la navegável, adicione em portal.json uma rota que aponte ao caminho completo da página.
Modo Visual
O modo Visual disponibiliza paletas, canvas e Inspector. É possível adicionar um widget, selecioná-lo e configurá-lo:
- título e propriedades;
- posição, largura e altura na grade;
- estilos para a instância individual;
- CSS scoped;
- renderização Desktop, Tablet e Mobile.
As propriedades guiadas são aplicadas e salvas quando o controle muda; um toaster confirma o resultado. Salvar alterações avançadas serve, em vez disso, para quadros JSON e CSS, nos quais é normal ter conteúdo temporariamente inválido durante a digitação. O estado no cabeçalho distingue alterações em andamento, salvamento e fonte salva.
Os campos do Inspector dependem do widget: rotas, imagens, Visões de Usuário, widgets individuais de uma Visão, Workflow, parâmetros e Data Resource são escolhidos de menus filtrados no Projeto. As cores podem ser escolhidas com o picker ou inseridas como valor CSS ou design token.
Os presets Viewport declaram o tamanho simulado. A barra de zoom oferece
−, +, reposição para 100% e Ajustar. Ajustar utiliza tanto a
largura como a altura disponíveis, reduz uniformemente o canvas e mantém as
proporções da Preview. Um clique na percentagem repõe 100%; um duplo clique
permite introduzir um valor de 5% a 200%. Com zoom personalizado, as barras de
deslocamento permitem explorar as áreas que ficam fora do espaço de trabalho.
O zoom altera apenas a visualização no editor, não a geometria guardada nem a
renderização em execução. Cada widget também mostra largura × altura em
células da grelha.
Para modificar a geometria de um widget:
- arrastar a alça no canto superior esquerdo para movê-lo;
- arrastar a alça no canto inferior direito para redimensioná-lo;
- usar Alt + seta para movê-lo de uma célula;
- usar Shift + Alt + seta para modificar sua largura ou altura de uma célula.
Para excluir um widget, selecione-o e use Excluir widget no Inspector. Alternativamente, pressione Delete ou Backspace quando o cursor não estiver em um campo. O editor sempre pede confirmação.
Quando uma região contém propriedades não gerenciadas pelo compositor, o editor a identifica como gerenciada pelo código e a preserva durante atualizações visuais.
Para configurar a página em vez de um widget, clique em uma área livre do fundo do canvas. O Inspector Estilo da página permite definir cor, fundo, espaçamento interno e altura mínima; Estilo JSON e CSS scoped da página permanecem disponíveis para ajustes avançados.
Configurar aparência e CSS
O Estilo guiado expõe cor, fundo, tamanho do texto, alinhamento, espaçamento e raio da borda. Os valores aceitam sintaxe CSS normal, por exemplo #0f172a, 1rem ou 8px.
A Configuração avançada permite utilizar propriedades CSS em kebab-case, estados e breakpoints:
{
"color": "#0f172a",
"background-color": "#ffffff",
"padding": "1rem",
"states": {
"hover": {"background-color": "#e0f2fe"}
},
"breakpoints": {
"md": {"font-size": "18px"}
}
}
O campo CSS scoped permite intervir em qualquer detalhe sem influenciar
os outros widgets. & representa o container da instância;
.portal-text seleciona o conteúdo do widget de Texto:
&:hover { transform: translateY(-2px); }
.portal-text { font-weight: 600; letter-spacing: .02em; }
Selecione Salvar alterações avançadas para registrar JSON e CSS na página. A Preview mostra a renderização compilada definitiva.
Catálogos do Projeto
Os botões Widgets personalizados e Imagens abrem um catálogo unificado. Cada elemento sempre indica a origem: Portal atual, outro Portal do mesmo Projeto, Visão de Usuário publicada ou catálogo compartilhado das Visões. Objetos externos ao Projeto ou inacessíveis ao usuário não são exibidos.
A paleta inclui também os widgets das Visões de Usuário publicadas do Projeto. É possível incorporar tanto widgets padrão — incluindo gráficos, KPI, tabelas e mapas — quanto widgets do catálogo personalizado. A seleção registra Visão, versão publicada e chave do widget; uma release permanece, portanto, estável mesmo que a Visão seja modificada posteriormente.
Quando se usa uma imagem ou um componente proveniente de outro objeto, o editor cria uma cópia no repositório do Portal. Essa materialização torna os checkpoints, builds e releases reprodutíveis; a card do catálogo conserva a indicação da origem para evitar ambiguidades.
Widgets disponíveis
O catálogo gerenciado inclui:
- Texto, Hero, Card, Imagem e Divisor;
- Link, Menu, Páginas de navegação e Breadcrumb;
- Seção, Painel expansível, Sidebar e Drawer;
- Formulário somente leitura, Formulário de dados, Tabela de dados, Gráfico de barras e Exportação de dados;
- Visão de Usuário completa e widget único de Visão de Usuário;
- Ação de Workflow;
- Relatório Power BI e Dashboard Qlik;
- Widget personalizado sandbox.
Cada widget suporta propriedades de estilo, estados visuais e breakpoints. O CSS scoped permite personalizar também hover, focus, estado ativo e estado desabilitado sem modificar os outros componentes da página.
O botão Guia do widget abre a referência integrada do widget selecionado: lista propriedades, tipos, valores padrão, capacidades e exemplos de estilo. A referência completa também está disponível em Reference dei widget.
Carregar e usar uma imagem
- Se o arquivo é local, use Carregar imagem no Explorer e escolha um PNG, JPEG, GIF ou WebP.
- Para reutilizar um ativo, abra Imagens e filtre o catálogo por nome ou origem.
- Selecione Usar imagem ou Copiar e usar: o editor propõe um
caminho sob
assets/e preenche o widget selecionado. - Preencha sempre
alt, em seguida escolha o ajuste (contain,cover,fill,none,scale-down) e a posição. - Verifique o resultado na Preview.
A altura definida para o widget na grade determina também o espaço ocupado pela
imagem. Por padrão, a imagem é contida sem distorções; o CSS scoped pode
modificar object-fit através do seletor .portal-image.
Data Manager e consultas visuais
Dados abre o Data Manager do Portal. Não é necessário conhecer antecipadamente
a estrutura da pasta data/:
- Criar um Data Resource e atribuir chave e nome;
- escolher Conexão Environment ou Modelo Semântico;
- para Environment carregar o catálogo, em seguida escolher esquema, tabela, dimensões, medidas, agregações e alias;
- para um Modelo Semântico escolher a versão publicada do Projeto, em seguida campos e medidas governadas;
- definir linhas máximas, timeout e parâmetros apenas quando necessário;
- salvar: o arquivo
data/<chiave>.resource.jsoné criado e associado ao widget selecionado.
O modo SQL custom avançado é reservado para consultas read-only que não são expressíveis pelo configurador. Requer também a declaração das colunas de saída. Joins, filtros ou ordenações complexos podem ser refinados abrindo o JSON gerado no modo Código.
O navegador não recebe as credenciais e não consulta diretamente a fonte. Consultas, parâmetros, limites e autorizações são reavaliados na execução.
Dados e integrações Sybot
Os recursos de dados podem usar fontes e Modelos Semânticos autorizados. As consultas são somente leitura e respeitam novamente as permissões do usuário no momento da execução.
No widget Vista Utente, escolher na lista suspensa uma vista publicada do Projeto do Portal. A seleção registra automaticamente tanto a vista quanto a versão publicada fixada.
No widget Ação Workflow, escolher um Workflow executável do Projeto. Para cada parâmetro indicar se usar o valor padrão, solicitar o valor ao usuário ou salvar um valor fixo. Parâmetros sensíveis podem ser solicitados apenas em tempo de execução; Workflows com parâmetros de arquivo, não suportados, não são selecionáveis. Na Preview é executada apenas a verificação da configuração.
Escrever um widget custom
Adicionando Widget custom sandbox, o editor cria uma pasta explícita:
components/<chiave>/
├── component.json
├── template.html
├── styles.css
└── index.js
Abra código componente passa para Código e abre todos os quatro arquivos.
template.html contém o markup, styles.css o estilo isolado, index.js
exporta mount(sdk) e component.json declara arquivos e capability. O código pode
modificar o DOM do próprio iframe, reagir a eventos e usar
PortalWidgetSDK para dados, navegação interna e Workflows autorizados. Não pode
acessar o documento pai, à sessão, a outros widgets, a cookies ou à rede
direta.
Power BI e Qlik
Relatório Power BI suporta Secure URL com a sessão Microsoft do leitor e App
owns data com perfil e associação governados pelo Projeto. Dashboard Qlik
suporta Secure URL e OAuth impersonation com qlik-embed. Nos dois casos, os
segredos permanecem na configuração administrativa e o widget guarda apenas
URL ou associação lógica. Execute Diagnóstico antes da Pré-visualização e
teste permissões, licença e políticas do provedor no domínio publicado.
Consulte Integrações governadas para o procedimento completo.
Validar e testar o rascunho
- Salvar o arquivo ou aplicar as propriedades do composer.
- Selecionar Validar.
- Corrigir os elementos listados no painel Problemas.
- Selecionar Build para verificar a construção do rascunho.
- Selecionar Preview e testar layout, dados e interações.
A Preview é separada da versão publicada. Os erros exibem uma mensagem utilizável e, quando disponível, um identificador para comunicar ao suporte.
Para acessos e ciclo de publicação consultar Pubblicazione e accessi.