getItemIfCompatibleSearch method

ItemSelectExpanded? getItemIfCompatibleSearch(
  1. ItemSelectExpanded item,
  2. String text
)
inherited

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;
}