suche function

List<KasseArtikel> suche(
  1. List<Kategorie> kategorien,
  2. String text
)

Suche über alle sichtbaren Kacheln (Name, ohne Groß/Klein, Teilwort).

Implementation

List<KasseArtikel> suche(List<Kategorie> kategorien, String text) {
  final t = text.trim().toLowerCase();
  if (t.isEmpty) return const [];
  final gesehen = <String>{};
  final aus = <KasseArtikel>[];
  for (final k in kategorien) {
    for (final a in k.kacheln) {
      if (gesehen.contains(a.id)) continue;
      if (!a.name.toLowerCase().contains(t)) continue;
      gesehen.add(a.id);
      aus.add(a);
    }
  }
  return aus;
}