When using Experience Builder Dev Edition I am able to create a basic widget and use components from jimu, access the map and a single layer as a Data Source. What I am really struggling with is how to configure Data Sources in the widget, especially multiple feature layers. I've been unable to find advanced documentation and am looking through sample widget code and watching seminars.
Is there a guide to help learn how to create advanced widgets?
What is the pathway to learn how to use multiple data sources in a widget?
Is there any guide on how to actually populate UI components with data? The UI components don't describe how they should be populated. I am seeing that I need to use the state in the widget, but these are just piecemeal things I am gathering from all the online resources. A single guide would be very useful.
Most of the descriptions I find online are circular references (ie. the Repeated Data Source section does not actually say what makes a Data Source Repeatable, what does that actually mean?) How does the List Widget show a Repeated Data Source? I am very confused by this. Why would I use it?
Repeated Data source
The data source provided by RepeatedDataSourceProvider is called a repeated data source. All children widgets of the widget that provide a data source will receive the repeated data source. This is similar to React's Context. A widget can access repeated data source by this.props.repeatedDataSource. The repeated data source will get the data source's id, record, and recordIndex. Any widget can provide repeated data source by using RepeatedDataSourceProvider. The List widget in Experience Builder is a good example that provides a repeated data source. To use a repeated data source, add the supportRepeat property in a widget's manifest file.