Component List
<Schema />
This component will render your schema to the document. To make this work you will need to add a schema
file into your event directory.
For more information check out the schema guide for events.
<SchemaViewer />
This component will render your schema as documentation viewer to the document. To make this work you will need to add a schema
file into your event directory.
For more information check out the schema guide for events.
Props
Name | Type | Default | Description |
---|---|---|---|
title | string | (empty) | Title to render above your schema viewer |
maxHeight | number | (empty) | The max height of the schema viewer |
defaultExpandedDepth | number | 1 | Define the expand level for displaying nested objects/properties |
renderRootTreeLines | boolean | false | Define show/hide a visual line for the root level |
Usage
<SchemaViewer />
<SchemaViewer title="Event properties" defaultExpandedDepth='5' renderRootTreeLines maxHeight="500" />
<Mermaid />
This component will render mermaid diagrams into your documents.
If you use <Mermaid />
without any props EventCatalog will render the relationships between your consumers and producers.
If you would like to render custom mermaid diagrams you can use the charts
prop on the diagram.
Read Mermaid documentation if you want to learn what other graphs you can render.
Props
Name | Type | Default | Description |
---|---|---|---|
title | string | (empty) | Title to render above your chart |
charts | string[] | [] | An array of mermaid charts to render to your document |
Usage
<Mermaid />
<Mermaid title="Event Rules & Targets" charts={[`flowchart LR
Start --> Stop`]} />
Remember the relationship between events and services is stored within the event itself through the producer
and consumer
frontmatter properties.
For more information check out the mermaid guide for events and mermaid guide for services.
<NodeGraph />
This component will render ReactFlow diagrams into your documents. Clicking a node will navigate to the event or service page.
EventCatalog will render the relationships between your consumers and producers.
Props
Name | Type | Default | Description |
---|---|---|---|
title | string | (empty) | Title to render above your node graph |
maxHeight | number | (empty) | Set the max height of the node graph |
maxZoom | number | 10 | Set the max zoom level of the node graph |
fitView | boolean | true | Fit all elements on the view size |
isAnimated | boolean | true | Toggle if the node connections should be animating |
isDraggable | boolean | false | Toggle if the nodes are draggable |
Usage
<NodeGraph />
<NodeGraph maxHeight={400} isDraggable={true} isAnimated={true} fitView={false} />
<Admonition />
Rendered Examples
Rendered Example
Usage
<Admonition type="info">Example of information</Admonition>
<Admonition type="warning">Example of warning</Admonition>
<Admonition type="alert">Example of alert</Admonition>
<EventExamples />
This component will allow you share code examples for any event. Reasons why you might do this:
- Help the onboarding of the event with code
- Show developers how to trigger the event
- Show developers how to consume the events
Any language is supported!
Rendered Example
Usage
<EventExamples title="How to trigger event" />
EventCatalog will look inside your examples
directory and every example will be rendered in it's own tab.
If you want to learn more you can read the code examples guide.
<OpenAPI />
This component will render any openapi.yaml
or openapi.json
file inside your service folder
.
EventCatalog uses Swagger UI to render your OpenAPI document within EventCatalog.
To understand how it works and use OpenAPI with your Services checkout the schema guide for openapi.
Props
Name | Type | Default | Description |
---|---|---|---|
showTitle | boolean | true | Show or hide the title rendered by Swagger UI |
url | string | (empty) | Optional URL to load your OpenAPI file. If you provide a URL to load, this will be used over the local file system, and the file will be loaded from an external URL. |
Rendered Example
Usage
<OpenAPI />
Make sure you have your openapi.yaml
or openapi.json
file inside your service.
e.g /services/Payment Service/openapi.yaml
The <OpenAPI />
will only work with a valid openapi file inside your service directory.
<AsyncAPI />
This component will render any asyncapi.yaml
file inside your service folder
.
EventCatalog uses asyncapi-react to render your AsyncAPI document within EventCatalog.
To understand how it works and use AsyncAPI with your Services checkout the schema guide for asyncapi.
Props
Name | Type | Default | Description |
---|---|---|---|
url | string | (empty) | Optional URL to load your AsyncAPI file. If you provide a URL to load, this will be used over |
Rendered Example
Usage
<AsyncAPI />
Make sure you have your asyncapi.yaml
file inside your service.
e.g /services/Payment Service/asyncapi.yaml
The <AsyncAPI />
will only work with a valid asyncapi file inside your service directory.