IDashboardCustomComponentProps
These props allow you to specify custom components or custom component providers that the Dashboard component will use for rendering different parts of the dashboard.
export interface IDashboardCustomComponentProps
Remarks
IMPORTANT: while this interface is marked as public, you also need to heed the maturity annotations on each property. A lot of these properties are at this moment alpha or internal level.
Properties
Property | Modifiers | Type | Description |
|---|---|---|---|
(ALPHA) (Optional) Specify component to use for rendering the alerting dialog. | |||
(ALPHA) (Optional) Specify component to decorate the data the alerting dialog reads. Rendered between the dialog’s data context and its state model; see | |||
(ALPHA) (Optional) Specify component to use for rendering the alerting management dialog. | |||
(ALPHA) (Optional) Specify component to decorate the data the alerting management dialog reads. Rendered between the connector-provided management dialog context and the resolved management dialog component; see | |||
(ALPHA) (Optional) Specify component to decorate the data the automation dialogs’ shared context carries. Rendered once per dialog tree, directly inside each connector-provided automations context; see | |||
(ALPHA) (Optional) Specify component to use for rendering the button bar. | |||
(ALPHA) (Optional) Specify custom component to use for rendering all attribute filters or a factory function to customize the component per different attribute filter. | |||
(ALPHA) (Optional) Specify function to obtain custom component to use for extend rendering of dashboard content. | |||
(ALPHA) (Optional) Specify component to use for rendering the date filters. | |||
(ALPHA) (Optional) Specify custom component to use for rendering all filter groups or a factory function to customize the component per different filter group.
| |||
(Optional) Specify function to obtain custom component to use for rendering a dashboard layout (nested). | |||
(ALPHA) (Optional) Specify component to use for rendering the measure value filters. | |||
(ALPHA) (Optional) Specify the component rendered as drill dialog export dropdown. | |||
ComponentType<IErrorProps> | (ALPHA) (Optional) Component to render if embedding fails. | ||
(ALPHA) (Optional) Specify component to use for rendering the filter bar. | |||
(ALPHA) (Optional) Specify function to obtain custom component to use for rendering an insight body (i.e. the insight itself) in the DefaultDashboardInsight(). | |||
(Optional) Specify function to obtain custom component to use for rendering an insight. | |||
(ALPHA) (Optional) Specify function to obtain custom component to use for rendering an insight menu button. | |||
(ALPHA) (Optional) Specify function to obtain custom component to use for rendering an insight menu. | |||
(ALPHA) (Optional) Specify component to use for rendering the layout. | |||
ComponentType<ILoadingProps> | (ALPHA) (Optional) Component to render while the dashboard or a widget is loading. | ||
(ALPHA) (Optional) Specify component to use for rendering the menu button. | |||
(ALPHA) (Optional) Specify function to obtain a custom component reporting the filters the current user is not allowed to see. | |||
(ALPHA) (Optional) Specify function to obtain a custom component standing in for an insight widget the current user is not allowed to see. | |||
(Optional) Specify function to obtain custom component to use for rendering a rich text. | |||
(ALPHA) (Optional) Specify function to obtain custom component to use for rendering an rich text menu. | |||
(ALPHA) (Optional) Specify component to use for rendering the save as dialog. | |||
(ALPHA) (Optional) Specify component to use for rendering the scheduled email dialog. | |||
(ALPHA) (Optional) Specify component to decorate the data the scheduled email dialog reads. Rendered between the dialog’s data context and its state model; see | |||
(ALPHA) (Optional) Specify component to use for rendering the scheduled email management dialog. | |||
CustomScheduledEmailManagementDialogContextDecoratorComponent | (ALPHA) (Optional) Specify component to decorate the data the scheduled email management dialog reads. Rendered between the connector-provided management dialog context and the resolved management dialog component; see | ||
(ALPHA) (Optional) Specify component to use for rendering the share dialog. | |||
(ALPHA) (Optional) Specify the component rendered as show as table button. | |||
(ALPHA) (Optional) Specify component to use for rendering the sidebar. | |||
(ALPHA) (Optional) Specify component to use for rendering the title. | |||
(ALPHA) (Optional) Specify component to use for rendering the top bar. | |||
(Optional) Specify function to obtain custom component to use for rendering a visualization switcher. | |||
(Optional) Specify function to obtain custom component to use for rendering a visualization switcher toolbar. | |||
(Optional) Specify function to obtain custom component to use for rendering a widget. |
Property details
IDashboardCustomComponentProps.AlertingDialogComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the alerting dialog.
AlertingDialogComponent?: CustomAlertingDialogComponent;
IDashboardCustomComponentProps.AlertingDialogContextDecoratorComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to decorate the data the alerting dialog reads.
Rendered between the dialog’s data context and its state model; see CustomAlertingDialogContextDecoratorComponent for the contract and an example.
AlertingDialogContextDecoratorComponent?: CustomAlertingDialogContextDecoratorComponent;
IDashboardCustomComponentProps.AlertingManagementDialogComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the alerting management dialog.
AlertingManagementDialogComponent?: CustomAlertingManagementDialogComponent;
IDashboardCustomComponentProps.AlertingManagementDialogContextDecoratorComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to decorate the data the alerting management dialog reads.
Rendered between the connector-provided management dialog context and the resolved management dialog component; see CustomAlertingManagementDialogContextDecoratorComponent for the contract and an example.
AlertingManagementDialogContextDecoratorComponent?: CustomAlertingManagementDialogContextDecoratorComponent;
IDashboardCustomComponentProps.AutomationsContextDecoratorComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to decorate the data the automation dialogs’ shared context carries.
Rendered once per dialog tree, directly inside each connector-provided automations context; see CustomAutomationsContextDecoratorComponent for the contract and an example.
AutomationsContextDecoratorComponent?: CustomAutomationsContextDecoratorComponent;
IDashboardCustomComponentProps.ButtonBarComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the button bar.
ButtonBarComponent?: CustomButtonBarComponent;
IDashboardCustomComponentProps.DashboardAttributeFilterComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify custom component to use for rendering all attribute filters or a factory function to customize the component per different attribute filter.
DashboardAttributeFilterComponentProvider?: OptionalAttributeFilterComponentProvider;
Remarks
If you want to hide some or all filters, you can use the HiddenDashboardAttributeFilter() implementation.
- If not provided, the default implementation DefaultDashboardAttributeFilter() will be used. - If factory function is provided and it returns undefined, then the default implementation DefaultDashboardAttributeFilter(). This is useful if you want to customize just one particular filter and keep all other filters the same. - Note this only affects attribute filter directly placed in filter bar. Filters placed in filter groups are not affected. To customize filters in filter groups, use DashboardFilterGroupComponentProvider.
Example
Here is how to override the component for all filters:
ComponentFactory: () => MyCustomComponent
IDashboardCustomComponentProps.DashboardContentComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify function to obtain custom component to use for extend rendering of dashboard content.
DashboardContentComponentProvider?: OptionalDashboardContentComponentProvider;
Remarks
- If not provided, the default implementation will be used. - If factory function is provided and it returns undefined, then the default implementation will be used. This is useful if you want to customize just one particular insight and keep default rendering for the other insights.
IDashboardCustomComponentProps.DashboardDateFilterComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the date filters.
DashboardDateFilterComponentProvider?: OptionalDateFilterComponentProvider;
IDashboardCustomComponentProps.DashboardFilterGroupComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify custom component to use for rendering all filter groups or a factory function to customize the component per different filter group.
- If not provided, the default implementation DefaultDashboardFilterGroup() will be used. - If factory function is provided and it returns undefined, then the default implementation DefaultDashboardFilterGroup(). This is useful if you want to customize just one particular filter group and keep all other filter groups the same. - If you want to customize each filter in a filter group, use this provider and customize DefaultDashboardFilterGroup in it. It accepts some customization props fro deeper component.
DashboardFilterGroupComponentProvider?: OptionalFilterGroupComponentProvider;
IDashboardCustomComponentProps.DashboardLayoutComponentProviderproperty
Specify function to obtain custom component to use for rendering a dashboard layout (nested).
DashboardLayoutComponentProvider?: OptionalDashboardLayoutComponentProvider;
Remarks
- If not provided, the default implementation DefaultDashboardLayout() will be used. - If factory function is provided and it returns undefined, then the default implementation DefaultDashboardLayout(). This is useful if you want to customize just one particular nested layout and keep default rendering for the other nested layouts.
IDashboardCustomComponentProps.DashboardMeasureValueFilterComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the measure value filters.
DashboardMeasureValueFilterComponentProvider?: OptionalMeasureValueFilterComponentProvider;
IDashboardCustomComponentProps.DrillDialogExportDropdownComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify the component rendered as drill dialog export dropdown.
DrillDialogExportDropdownComponentProvider?: OptionalDrillDialogExportDropdownComponentProvider;
Remarks
If not provided, the default implementation will be used.
IDashboardCustomComponentProps.ErrorComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Component to render if embedding fails.
ErrorComponent?: ComponentType<IErrorProps>;
Remarks
This component is also used in all the individual widgets when they have some error occur.
IDashboardCustomComponentProps.FilterBarComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the filter bar.
FilterBarComponent?: CustomFilterBarComponent;
Remarks
Note that if you override this component, the DashboardAttributeFilterComponentFactory and DashboardDateFilterComponent props might get ignored depending on your implementation.
IDashboardCustomComponentProps.InsightBodyComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify function to obtain custom component to use for rendering an insight body (i.e. the insight itself) in the DefaultDashboardInsight().
InsightBodyComponentProvider?: OptionalInsightBodyComponentProvider;
Remarks
- If not provided, the default implementation DefaultInsightBody() will be used. - If factory function is provided and it returns undefined, then the default implementation DefaultInsightBody() will be used. This is useful if you want to customize just one particular insight and keep default rendering for the other insights.
IDashboardCustomComponentProps.InsightComponentProviderproperty
Specify function to obtain custom component to use for rendering an insight.
InsightComponentProvider?: OptionalInsightComponentProvider;
Remarks
- If not provided, the default implementation DefaultDashboardInsight() will be used. - If factory function is provided and it returns undefined, then the default implementation DefaultDashboardInsight() will be used. This is useful if you want to customize just one particular insight and keep default rendering for the other insights.
IDashboardCustomComponentProps.InsightMenuButtonComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify function to obtain custom component to use for rendering an insight menu button.
InsightMenuButtonComponentProvider?: OptionalInsightMenuButtonComponentProvider;
Remarks
- If not provided, the default implementation will be used. - If factory function is provided and it returns undefined, then the default implementation will be used. This is useful if you want to customize just one particular insight and keep default rendering for the other insights.
IDashboardCustomComponentProps.InsightMenuComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify function to obtain custom component to use for rendering an insight menu.
InsightMenuComponentProvider?: OptionalInsightMenuComponentProvider;
Remarks
- If not provided, the default implementation DefaultDashboardInsightMenu() will be used. - If factory function is provided and it returns undefined, then the default implementation DefaultDashboardInsightMenu() will be used. This is useful if you want to customize just one particular insight and keep default rendering for the other insights.
IDashboardCustomComponentProps.LayoutComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the layout.
LayoutComponent?: CustomDashboardLayoutComponent;
IDashboardCustomComponentProps.LoadingComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Component to render while the dashboard or a widget is loading.
LoadingComponent?: ComponentType<ILoadingProps>;
Remarks
This component is also used in all the individual widgets while they are loading.
IDashboardCustomComponentProps.MenuButtonComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the menu button.
MenuButtonComponent?: CustomMenuButtonComponent;
IDashboardCustomComponentProps.RestrictedFiltersPlaceholderComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify function to obtain a custom component reporting the filters the current user is not allowed to see.
RestrictedFiltersPlaceholderComponentProvider?: OptionalRestrictedFiltersPlaceholderComponentProvider;
Remarks
The default notice is used when not provided or when the factory returns undefined. The filters are not passed to the factory: only their number reaches the component.
IDashboardCustomComponentProps.RestrictedPlaceholderComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify function to obtain a custom component standing in for an insight widget the current user is not allowed to see.
RestrictedPlaceholderComponentProvider?: OptionalRestrictedPlaceholderComponentProvider;
Remarks
- If not provided, the default access placeholder is used. - If the factory function returns undefined, the default is used for that widget. This is useful to customize the placeholder for particular widgets only. - The insight is deliberately not passed to the factory: it is the object being withheld.
IDashboardCustomComponentProps.RichTextComponentProviderproperty
Specify function to obtain custom component to use for rendering a rich text.
RichTextComponentProvider?: OptionalRichTextComponentProvider;
Remarks
- If not provided, the default implementation DefaultDashboardRichText will be used. - If factory function is provided and it returns undefined, then the default implementation DefaultDashboardRichText. This is useful if you want to customize just one particular rich text and keep default rendering for the other rich texts.
IDashboardCustomComponentProps.RichTextMenuComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify function to obtain custom component to use for rendering an rich text menu.
RichTextMenuComponentProvider?: OptionalRichTextMenuComponentProvider;
Remarks
- If not provided, the default implementation DefaultDashboardRichTextMenu() will be used. - If factory function is provided and it returns undefined, then the default implementation DefaultDashboardRichTextMenu() will be used. This is useful if you want to customize just one particular insight and keep default rendering for the other rich texts.
IDashboardCustomComponentProps.SaveAsDialogComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the save as dialog.
SaveAsDialogComponent?: CustomSaveAsDialogComponent;
IDashboardCustomComponentProps.ScheduledEmailDialogComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the scheduled email dialog.
ScheduledEmailDialogComponent?: CustomScheduledEmailDialogComponent;
IDashboardCustomComponentProps.ScheduledEmailDialogContextDecoratorComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to decorate the data the scheduled email dialog reads.
Rendered between the dialog’s data context and its state model; see CustomScheduledEmailDialogContextDecoratorComponent for the contract and an example.
ScheduledEmailDialogContextDecoratorComponent?: CustomScheduledEmailDialogContextDecoratorComponent;
IDashboardCustomComponentProps.ScheduledEmailManagementDialogComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the scheduled email management dialog.
ScheduledEmailManagementDialogComponent?: CustomScheduledEmailManagementDialogComponent;
IDashboardCustomComponentProps.ScheduledEmailManagementDialogContextDecoratorComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to decorate the data the scheduled email management dialog reads.
Rendered between the connector-provided management dialog context and the resolved management dialog component; see CustomScheduledEmailManagementDialogContextDecoratorComponent for the contract and an example.
ScheduledEmailManagementDialogContextDecoratorComponent?: CustomScheduledEmailManagementDialogContextDecoratorComponent;
IDashboardCustomComponentProps.ShareDialogComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the share dialog.
ShareDialogComponent?: CustomShareDialogComponent;
IDashboardCustomComponentProps.ShowAsTableButtonComponentProviderpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify the component rendered as show as table button.
ShowAsTableButtonComponentProvider?: OptionalShowAsTableButtonComponentProvider;
Remarks
If not provided, the default implementation will be used.
IDashboardCustomComponentProps.SidebarComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the sidebar.
SidebarComponent?: CustomSidebarComponent;
IDashboardCustomComponentProps.TitleComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the title.
TitleComponent?: CustomTitleComponent;
Remarks
Defaults to DefaultTitle(). For an editable title, you can use EditableTitle() instead. To hide the dashboard title altogether, you can use HiddenTitle().
IDashboardCustomComponentProps.TopBarComponentpropertyAlpha
Alpha API. Initial API, highly likely to change outside SemVer. Don’t build on it in production. See API maturity.
Specify component to use for rendering the top bar.
TopBarComponent?: CustomTopBarComponent;
Remarks
Note that if you override this component, the ButtonBarComponent, MenuButtonComponent and TitleComponent props might get ignored depending on your implementation.
IDashboardCustomComponentProps.VisualizationSwitcherComponentProviderproperty
Specify function to obtain custom component to use for rendering a visualization switcher.
VisualizationSwitcherComponentProvider?: OptionalVisualizationSwitcherComponentProvider;
Remarks
- If not provided, the default implementation DefaultDashboardVisualizationSwitcher will be used. - If factory function is provided and it returns undefined, then the default implementation DefaultDashboardVisualizationSwitcher. This is useful if you want to customize just one particular visualization switcher and keep default rendering for the other visualization switchers.
IDashboardCustomComponentProps.VisualizationSwitcherToolbarComponentProviderproperty
Specify function to obtain custom component to use for rendering a visualization switcher toolbar.
VisualizationSwitcherToolbarComponentProvider?: OptionalVisualizationSwitcherToolbarComponentProvider;
Remarks
- If not provided, the default implementation DefaultVisualizationSwitcherToolbar() will be used. - If factory function is provided and it returns undefined, then the default implementation DefaultVisualizationSwitcherToolbar(). This is useful if you want to customize just one particular visualization switcher toolbar and keep default rendering for the other visualization switchers.
IDashboardCustomComponentProps.WidgetComponentProviderproperty
Specify function to obtain custom component to use for rendering a widget.
WidgetComponentProvider?: OptionalWidgetComponentProvider;
Remarks
- If not provided, the default implementation will be used. - If factory function is provided and it returns undefined, then the default implementation . This is useful if you want to customize just one particular widget and keep default rendering for the other widgets.
Example
// Simple component that alters the title of every widget
const CustomWidget = (props) => {
const widget: IInsightWidget = {
...props.widget,
title: `Prepend to ${props.widget.title}`,
};
return <DefaultDashboardWidget {...props} widget={widget} />;
};