import 'package:flutter/foundation.dart'; import 'package:hash_wallet/view_model/settings/settings_list_item.dart'; import 'package:flutter/material.dart'; class PickerListItem extends SettingsListItem { PickerListItem( {required String title, required this.selectedItem, required this.items, this.displayItem, this.images, this.searchHintText, this.isGridView = false, void Function(ItemType item)? onItemSelected, bool Function(ItemType item, String searchText)? matchingCriteria}) : _onItemSelected = onItemSelected, _matchingCriteria = matchingCriteria, super(title); final ItemType Function() selectedItem; final List items; final String Function(ItemType item)? displayItem; final void Function(ItemType item)? _onItemSelected; final List? images; final String? searchHintText; final bool isGridView; final bool Function(ItemType, String)? _matchingCriteria; void onItemSelected(dynamic item) { if (item is ItemType) { _onItemSelected?.call(item); } } bool matchingCriteria(dynamic item, String searchText) { if (item is ItemType) { return _matchingCriteria?.call(item, searchText) ?? false; } return true; } }