IVisualizationSwitcherCustomizer
Set of functions you can use to customize some aspects of the VisualizationSwitcher.
export interface IVisualizationSwitcherCustomizer
Methods
Method | Description |
|---|---|
Register a factory for RichText decorator providers. | |
Register a provider for React components to render VisualizationSwitcher. | |
Register a factory for RichText decorator providers. | |
Register a provider for React components to render VisualizationSwitcherToolbar. |
Method details
IVisualizationSwitcherCustomizer.withCustomSwitcherDecorator()method
Register a factory for RichText decorator providers.
withCustomSwitcherDecorator(providerFactory: (next: VisualizationSwitcherComponentProvider) => OptionalVisualizationSwitcherComponentProvider): IVisualizationSwitcherCustomizer;
Parameters
Parameter | Type | Description |
|---|---|---|
providerFactory | (next: VisualizationSwitcherComponentProvider) => OptionalVisualizationSwitcherComponentProvider | factory |
Returns
IVisualizationSwitcherCustomizer
Remarks
Decorators are a way to add customizations or embellishments on top of an existing component. Decorators are more complex to write because they need to work with the component they should decorate and add ‘something’ on top of that component.
This is best illustrated on an example:
Example
withCustomDecorator((next) => {
return (filter) => {
if (some_condition_to_prevent_decoration) {
return undefined;
}
// Make sure you call this outside the component render function,
// otherwise a new instance of the decorated component is created on each re-render.
const Decorated = next(filter);
function MyCustomDecorator(props) {
return (
<div>
<p>My Custom Decoration</p>
<Decorated {...props} />
</div>
)
}
return MyCustomDecorator;
}
})
The above shows how to register a decorator that will use some condition to determine whether particular attribute filter is eligible for decoration.
Note: the factory function that you specify will be called immediately at the registration time. The provider that it returns will be called at render time.
IVisualizationSwitcherCustomizer.withCustomSwitcherProvider()method
Register a provider for React components to render VisualizationSwitcher.
withCustomSwitcherProvider(provider: OptionalVisualizationSwitcherComponentProvider): IVisualizationSwitcherCustomizer;
Parameters
Parameter | Type | Description |
|---|---|---|
provider | provider to register |
Returns
IVisualizationSwitcherCustomizer
self, for call chaining sakes
Remarks
A provider takes the VisualizationSwitcher as input and is expected to return a React component that should be used to render that VisualizationSwitcher.
If the provider returns undefined then:
- if there are other providers registered, they will be called to see if they can provide a component to render the VisualizationSwitcher - if there are no other providers registered, the default, built-in component will be used.
You may register multiple providers. They will be evaluated in the order you register them.
IVisualizationSwitcherCustomizer.withCustomToolbarDecorator()method
Register a factory for RichText decorator providers.
withCustomToolbarDecorator(providerFactory: (next: VisualizationSwitcherToolbarComponentProvider) => OptionalVisualizationSwitcherToolbarComponentProvider): IVisualizationSwitcherCustomizer;
Parameters
Parameter | Type | Description |
|---|---|---|
providerFactory | (next: VisualizationSwitcherToolbarComponentProvider) => OptionalVisualizationSwitcherToolbarComponentProvider | factory |
Returns
IVisualizationSwitcherCustomizer
Remarks
Decorators are a way to add customizations or embellishments on top of an existing component. Decorators are more complex to write because they need to work with the component they should decorate and add ‘something’ on top of that component.
This is best illustrated on an example:
Example
withCustomDecorator((next) => {
return (filter) => {
if (some_condition_to_prevent_decoration) {
return undefined;
}
// Make sure you call this outside the component render function,
// otherwise a new instance of the decorated component is created on each re-render.
const Decorated = next(filter);
function MyCustomDecorator(props) {
return (
<div>
<p>My Custom Decoration</p>
<Decorated {...props} />
</div>
)
}
return MyCustomDecorator;
}
})
The above shows how to register a decorator that will use some condition to determine whether particular attribute filter is eligible for decoration.
Note: the factory function that you specify will be called immediately at the registration time. The provider that it returns will be called at render time.
IVisualizationSwitcherCustomizer.withCustomToolbarProvider()method
Register a provider for React components to render VisualizationSwitcherToolbar.
withCustomToolbarProvider(provider: OptionalVisualizationSwitcherToolbarComponentProvider): IVisualizationSwitcherCustomizer;
Parameters
Parameter | Type | Description |
|---|---|---|
provider | provider to register |
Returns
IVisualizationSwitcherCustomizer
self, for call chaining sakes
Remarks
A provider takes the VisualizationSwitcherToolbar as input and is expected to return a React component that should be used to render that VisualizationSwitcherToolbar.
If the provider returns undefined then:
- if there are other providers registered, they will be called to see if they can provide a component to render the VisualizationSwitcherToolbar - if there are no other providers registered, the default, built-in component will be used.
You may register multiple providers. They will be evaluated in the order you register them.