Pular para o conteúdo

Vistas de Entidade

As vistas de entidade permitem adicionar abas personalizadas à página de detalhe da entidade, juntamente com o formulário predefinido. Use-as para:

  • Pré-visualizações ao vivo (pré-visualização de website, conteúdo renderizado)
  • Vistas de dados relacionados (itens de pedido, entidades filhas)
  • Análises ou gráficos
  • Editores personalizados (texto formatado, editores de mapa)
const articlesCollection: EntityCollection = {
slug: "articles",
name: "Articles",
entityViews: [
{
key: "preview",
name: "Preview",
Builder: ArticlePreview
},
{
key: "related",
name: "Related Articles",
Builder: RelatedArticlesView
}
],
properties: { /* ... */ }
};
import { EntityCustomViewParams } from "@rebasepro/types";
function ArticlePreview({
entity,
modifiedValues,
formContext
}: EntityCustomViewParams) {
// modifiedValues has the unsaved, live form values
const title = modifiedValues?.title ?? entity?.values?.title;
const content = modifiedValues?.content ?? entity?.values?.content;
return (
<div className="p-8 max-w-2xl mx-auto">
<h1 className="text-3xl font-bold">{title}</h1>
<div dangerouslySetInnerHTML={{ __html: content }} />
</div>
);
}
PropTipoDescrição
entityEntityA entidade guardada (null para novas entidades)
modifiedValuesEntityValuesValores atuais do formulário não guardados (atualizados à medida que o utilizador digita)
formContextFormContextContexto completo do formulário
collectionEntityCollectionDefinição da coleção

Vista de entidade com formulário secundário

As vistas aparecem como abas. Pode configurar a sua posição:

entityViews: [
{
key: "preview",
name: "Preview",
Builder: ArticlePreview,
position: "start" // Aparece antes da aba do formulário predefinido
}
]