selectFeedWidget function

Widget selectFeedWidget(
  1. BuildContext context,
  2. AppModel app,
  3. StorageConditionsModel? containerStorageConditions,
  4. FeedModel? feed,
  5. dynamic selectedCallback(
    1. dynamic selected
    ),
)

Implementation

Widget selectFeedWidget(
    BuildContext context,
    AppModel app,
    StorageConditionsModel? containerStorageConditions,
    FeedModel? feed,
    Function(dynamic selected) selectedCallback) {
  return SelectWidget<FeedModel>(
    app: app,
    currentlySelected: feed,
    title: 'Feed',
    selectTitle: 'Select feed',
    displayItemFunction: (item) =>
        text(app, context, item.documentID + ' ' + (item.description ?? '?')),
    blocProviderProvider: () => BlocProvider<FeedListBloc>(
      create: (context) => FeedListBloc(
        feedRepository: feedRepository(appId: app.documentID)!,
      )..add(LoadFeedList()),
    ),
    blocBuilder: (contentsLoaded, contentsNotLoaded) {
      return BlocBuilder<FeedListBloc, FeedListState>(
          builder: (context, state) {
        if ((state is FeedListLoaded) && (state.values != null)) {
          return contentsLoaded(context, state.values!);
        } else {
          return contentsNotLoaded(
            context,
          );
        }
      });
    },
    selectedCallback: selectedCallback,
    addCallback: () => FeedDashboard.addFeed(app, context),
    deleteCallback: null,
    updateCallback: (item) => FeedDashboard.updateFeed(app, context, item),
  );
}