Platform Widgets
Very often each vendor needs specific logic/UI in some parts of the application.
Platform UI or business rules can be customized by PlatformWidget.
Standard navigation elements and other things could be replaced with <PlatformWidget />.
For example:
<PlatformWidget
domain="dashboard"
placement="header"
componentProps={{}}
fallback={{
isLoading: () => "Loading",
failed: FallbackHeaderInfo,
default: FallbackHeaderInfo,
}}
/>
These widgets' metadata should be stored on the customization backend, and is being requested on the app starting
from the platformWidgetList endpoint. domain and placement props determine a path for widget metadata selector.
Domain indicates that this widget is related to some broad scope inside the app, and placement is a particular place in the components tree where a custom widget should appear.
Fallbacks should be provided to keep the view layout consistent and inform users that something is being loaded.
Most parts of PlatformWidgets have specific component props.