renderSimpleTypeaheadOption<K, T> function

RenderSuggestionTile<K, T> renderSimpleTypeaheadOption<K, T>({
  1. required SuggestionElement<K, T> title,
  2. SuggestionElement<K, T>? icon,
  3. bool isAdhocCreator = false,
})

Makes it easy to produce a formatted suggestion tile by proving a SuggestionElement callback for the title and icon

Implementation

RenderSuggestionTile<K, T> renderSimpleTypeaheadOption<K, T>(
    {required SuggestionElement<K, T> title,
    SuggestionElement<K, T>? icon,
    bool isAdhocCreator = false}) {
  return (BuildContext context, suggestion,
      {bool? isSelected, SelectOption<K, T>? selectOption, onTap}) {
    final isAdhocCreator = suggestion is KeyedAdhocOption<K, T> &&
        suggestion.hasAdhocCreator &&
        suggestion.label.isNotNullOrBlank;
    Widget? subtitle() {
      if (isAdhocCreator) {
        return Text("Tap to add this record");
      } else {
        return suggestion.subtitle.toColumn();
      }
    }

    return TypeaheadOption(
      child: ListTile(
        dense: true,
        onTap: onTap,
        leading: imageWidgetOf(context, icon?.call(suggestion),
            size: 30, circle: false),
        title: TileTitle.of(title(suggestion)),
        subtitle: subtitle(),
      ),
    );
  };
}