Aller au contenu

Vues d'entité

Les vues d’entité vous permettent d’ajouter des onglets personnalisés à la page de détails de l’entité, en plus du formulaire par défaut. Utilisez-les pour :

  • Des aperçus en direct (aperçu de site web, contenu rendu)
  • Des vues de données connexes (articles de commande, entités enfants)
  • Des analyses ou des graphiques
  • Des éditeurs personnalisés (texte enrichi, éditeurs de cartes)
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>
);
}
PropTypeDescription
entityEntityL’entité sauvegardée (null pour les nouvelles entités)
modifiedValuesEntityValuesValeurs actuelles non sauvegardées du formulaire (mises à jour en direct pendant que l’utilisateur tape)
formContextFormContextContexte complet du formulaire
collectionEntityCollectionDéfinition de la collection

Vue d'entité avec formulaire secondaire

Les vues apparaissent sous forme d’onglets. Vous pouvez configurer leur position :

entityViews: [
{
key: "preview",
name: "Preview",
Builder: ArticlePreview,
position: "start" // Apparaît avant l'onglet du formulaire par défaut
}
]