setSearch method

dynamic setSearch(
  1. String text
)

Implementation

setSearch(String text) {
  if (lastInputValue != text.trim()) {
    lastInputValue = text.trim();
    filteredPosition.clear();
    if (searchedText.text.trim().isNotEmpty) {
      for (var i = 0; i < chatList.length; i++) {
        if (chatList[i].messageType.toUpperCase() == Constants.mText &&
            chatList[i]
                .messageTextContent
                .startsWithTextInWords(searchedText.text.trim())) {
          filteredPosition.add(i);
        } else if (chatList[i].messageType.toUpperCase() ==
                Constants.mImage &&
            chatList[i].mediaChatMessage!.mediaCaptionText.isNotEmpty &&
            chatList[i]
                .mediaChatMessage!
                .mediaCaptionText
                .startsWithTextInWords(searchedText.text.trim())) {
          filteredPosition.add(i);
        } else if (chatList[i].messageType.toUpperCase() ==
                Constants.mVideo &&
            chatList[i].mediaChatMessage!.mediaCaptionText.isNotEmpty &&
            chatList[i]
                .mediaChatMessage!
                .mediaCaptionText
                .startsWithTextInWords(searchedText.text.trim())) {
          filteredPosition.add(i);
        } else if (chatList[i].messageType.toUpperCase() ==
                Constants.mDocument &&
            chatList[i].mediaChatMessage!.mediaFileName.isNotEmpty &&
            chatList[i]
                .mediaChatMessage!
                .mediaFileName
                .startsWithTextInWords(searchedText.text.trim())) {
          filteredPosition.add(i);
        } else if (chatList[i].messageType.toUpperCase() ==
                Constants.mContact &&
            chatList[i].contactChatMessage!.contactName.isNotEmpty &&
            chatList[i]
                .contactChatMessage!
                .contactName
                .startsWithTextInWords(searchedText.text.trim())) {
          filteredPosition.add(i);
        }
      }
    }
    chatList.refresh();
  }
}