getItemIfCompatibleSearch method
Implementation
ItemSelectExpanded? getItemIfCompatibleSearch(
ItemSelectExpanded item, String text) {
ItemSelectExpanded? newItem;
for (var value in item.strings.values) {
if (value != null) {
if (removeDiacritics(value.toString()).toLowerCase().contains(text) ==
true) {
newItem = item;
break;
}
}
}
if (item.items?.isNotEmpty == true) {
item = item.clone();
// Faz esse esquema de remover e substuir para que a lista dos filhos fique correta tmb
for (int i = 0; i < item.items!.length; i++) {
var newItem = getItemIfCompatibleSearch(item.items![i], text);
if (newItem == null) {
item.items!.removeAt(i);
i--;
} else {
item.items![i] = newItem;
}
}
// Caso encontre algum filho compatÃvel, adiciona o objeto na lsita
if (item.items!.isNotEmpty) {
newItem = item;
newItem.isExpanded = true;
}
}
return newItem;
}