Skip to main content
Version: 2.0.0-alpha

Type alias: FireCMSPlugin<T>

Ƭ FireCMSPlugin<T>: Object

Interface used to define plugins for FireCMS. NOTE: This is a work in progress and the API is not stable yet.

Type parameters

NameType
Tany

Type declaration

NameTypeDescription
collections?{ CollectionActions?: React.ComponentType<CollectionActionsProps> | React.ComponentType<CollectionActionsProps>[] ; injectCollections?: (collections: EntityCollection[]) => EntityCollection[] }-
collections.CollectionActions?React.ComponentType<CollectionActionsProps> | React.ComponentType<CollectionActionsProps>[]Use this component to add custom actions to the entity collections toolbar.
collections.injectCollections?(collections: EntityCollection[]) => EntityCollection[]Use this method to inject collections to the CMS. You receive the current collections as a parameter, and you can return a new list of collections. See joinCollectionLists
homePage?{ AdditionalCards?: React.ComponentType<HomePageAdditionalCardsProps> | React.ComponentType<HomePageAdditionalCardsProps>[] ; CollectionActions?: React.ComponentType<HomePageActionsProps> ; includeSection?: (props: GenericPluginProps) => { children: React.ReactNode ; title: string } }-
homePage.AdditionalCards?React.ComponentType<HomePageAdditionalCardsProps> | React.ComponentType<HomePageAdditionalCardsProps>[]Add additional cards to each collection group in the home page.
homePage.CollectionActions?React.ComponentType<HomePageActionsProps>Use this component to add custom actions to the navigation card in the home page.
homePage.includeSection?(props: GenericPluginProps) => { children: React.ReactNode ; title: string }Include a section in the home page with a custom component and title.
loading?booleanIf this flag is set to true, no content will be shown in the CMS until the plugin is fully loaded.
namestringName of the plugin
wrapperComponent?{ Component: React.ComponentType<PropsWithChildren<T & { context: FireCMSContext }>> ; props?: T }You can use this prop to add higher order components to the CMS. The components will be added to the root of the CMS, so any component rendered underneath by this plugin will have access to the context provided by this HOC. Anyhow, this is rendered below the FireCMSContext provider, so you can use the hooks provided by the CMS. Param
wrapperComponent.ComponentReact.ComponentType<PropsWithChildren<T & { context: FireCMSContext }>>-
wrapperComponent.props?T-

Defined in

lib/src/types/plugins.tsx:11

Need a hand?

We are happy to offer consulting services to help you get the most out of FireCMS.
Get in touch