resolveEmptyStateProperty function

EndlessStateProperty resolveEmptyStateProperty({
  1. required PaginatedSearchBarBuilderStateProperty? emptyBuilderState,
  2. required Widget? emptyBuilder(
    1. BuildContext context
    )?,
  3. required PaginatedSearchBarBuilderStateProperty? placeholderBuilderState,
  4. required Widget? placeholderBuilder(
    1. BuildContext context
    )?,
  5. required Set<PaginatedSearchBarState> searchBarStates,
  6. required bool hasResolvedFirstSearchAboveMinLength,
})

Implementation

EndlessStateProperty resolveEmptyStateProperty({
  required PaginatedSearchBarBuilderStateProperty? emptyBuilderState,
  required Widget? Function(BuildContext context)? emptyBuilder,
  required PaginatedSearchBarBuilderStateProperty? placeholderBuilderState,
  required Widget? Function(BuildContext context)? placeholderBuilder,
  required Set<PaginatedSearchBarState> searchBarStates,
  required bool hasResolvedFirstSearchAboveMinLength,
}) {
  return EndlessStateProperty.resolveWith(
    (context, listStates) {
      final newSearchBarStates = resolveSearchStates(
        listStates: listStates,
        isFocused: searchBarStates.contains(PaginatedSearchBarState.focused),
      );

      if (hasResolvedFirstSearchAboveMinLength) {
        if (emptyBuilderState != null) {
          return emptyBuilderState.resolve(
            context,
            newSearchBarStates,
          );
        }
        if (emptyBuilder != null) {
          return emptyBuilder(context);
        }

        return null;
      }

      if (placeholderBuilderState != null) {
        return placeholderBuilderState.resolve(
          context,
          newSearchBarStates,
        );
      }

      if (placeholderBuilder != null) {
        return placeholderBuilder(context);
      }
    },
  );
}