Skip to content

Commit

Permalink
fixup! TF-3008 [MOBILE] Apply search To chip
Browse files Browse the repository at this point in the history
  • Loading branch information
dab246 committed Sep 16, 2024
1 parent c887973 commit da86b48
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 74 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -667,27 +667,26 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo

void searchEmail({
String? queryString,
EmailAddress? emailAddress
String? emailAddress
}) {
log('MailboxDashBoardController::searchEmail():QueryString = $queryString | EmailAddress = $emailAddress');
clearFilterMessageOption();
searchController.clearFilterSuggestion();
if (queryString?.isNotEmpty == true) {
searchController.updateFilterEmail(
textOption: Some(SearchQuery(queryString!)),
sortOrderOption: searchController.sortOrderFiltered.value.getSortOrder()
);
} else {
searchController.updateFilterEmail(
sortOrderOption: searchController.sortOrderFiltered.value.getSortOrder()
);
}
if (emailAddress?.emailAddress.isNotEmpty == true) {
searchController.updateFilterEmail(toOption: Some({emailAddress!.emailAddress}));
dispatchAction(StartSearchEmailAction(filter: QuickSearchFilter.to));
} else {
dispatchAction(StartSearchEmailAction());
}

searchController.updateFilterEmail(
textOption: queryString?.isNotEmpty == true
? Some(SearchQuery(queryString!))
: null,
toOption: emailAddress?.isNotEmpty == true
? Some({emailAddress!})
: null,
sortOrderOption: searchController.sortOrderFiltered.value.getSortOrder()
);

dispatchAction(StartSearchEmailAction(
filter: emailAddress?.isNotEmpty == true ? QuickSearchFilter.to : null
));

FocusManager.instance.primaryFocus?.unfocus();
if (_searchInsideEmailDetailedViewIsActive()) {
_closeEmailDetailedView();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,11 +138,13 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
if (query.isNotEmpty || _searchController.listFilterOnSuggestionForm.isNotEmpty) {
_searchController.clearSortOrder();
_searchController.clearSearchFilter();
_searchController.applyFilterSuggestionToSearchFilter(_dashBoardController.sessionCurrent?.username);
_searchController.applyFilterSuggestionToSearchFilter(
_dashBoardController.sessionCurrent?.username
);

if (EmailUtils.isEmailAddressValid(query)) {
_searchController.searchInputController.clear();
_dashBoardController.searchEmail(emailAddress: EmailAddress(null, query));
_dashBoardController.searchEmail(emailAddress: query);
} else {
_dashBoardController.searchEmail(queryString: query);
}
Expand All @@ -151,8 +153,6 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
}
}



void _invokeSelectSuggestionItem(PresentationEmail presentationEmail) {
_dashBoardController.dispatchAction(
OpenEmailDetailedFromSuggestionQuickSearchAction(
Expand All @@ -168,13 +168,14 @@ class SearchInputFormWidget extends StatelessWidget with AppLoaderMixin {
_searchController.clearSearchFilter();
_searchController.applyFilterSuggestionToSearchFilter(_dashBoardController.sessionCurrent?.username);

if (EmailUtils.isEmailAddressValid(recent.value)) {
_searchController.searchInputController.clear();
_dashBoardController.searchEmail(emailAddress: EmailAddress(null, recent.value));
} else {
_searchController.searchInputController.text = recent.value;
_dashBoardController.searchEmail(queryString: recent.value);
}
final isEmailAddress = EmailUtils.isEmailAddressValid(recent.value);
_searchController.searchInputController.text = isEmailAddress
? ''
: recent.value;
_dashBoardController.searchEmail(
queryString: !isEmailAddress ? recent.value : null,
emailAddress: isEmailAddress ? recent.value : null
);
}

Widget _buildShowAllResultButton(BuildContext context, String keyword) {
Expand Down
85 changes: 39 additions & 46 deletions lib/features/search/email/presentation/search_email_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -463,50 +463,46 @@ class SearchEmailController extends BaseController
}

void showAllResultSearchAction(BuildContext context, String query) {
if (EmailUtils.isEmailAddressValid(query)) {
_updateSimpleSearchFilter(
toOption: Some({query}),
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition()
? const Some(0)
: const None()
);
final isEmailAddress = EmailUtils.isEmailAddressValid(query);

if (isEmailAddress) {
textInputSearchController.clear();
currentSearchText.value = '';
} else {
setTextInputSearchForm(query);
_updateSimpleSearchFilter(
textOption: Some(SearchQuery(query)),
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition()
? const Some(0)
: const None()
);
}

_updateSimpleSearchFilter(
textOption: !isEmailAddress ? Some(SearchQuery(query)) : null,
toOption: isEmailAddress ? Some({query}) : null,
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition()
? const Some(0)
: const None()
);

_searchEmailAction(context);
}

void searchEmailByRecentAction(BuildContext context, RecentSearch recentSearch) {
if (EmailUtils.isEmailAddressValid(recentSearch.value)) {
_updateSimpleSearchFilter(
toOption: Some({recentSearch.value}),
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition()
? const Some(0)
: const None()
);
final isEmailAddress = EmailUtils.isEmailAddressValid(recentSearch.value);

_updateSimpleSearchFilter(
textOption: !isEmailAddress ? Some(SearchQuery(recentSearch.value)) : null,
toOption: isEmailAddress ? Some({recentSearch.value}) : null,
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition()
? const Some(0)
: const None()
);

if (isEmailAddress) {
textInputSearchController.clear();
currentSearchText.value = '';
} else {
setTextInputSearchForm(recentSearch.value);
_updateSimpleSearchFilter(
textOption: Some(SearchQuery(recentSearch.value)),
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition()
? const Some(0)
: const None()
);
}

_searchEmailAction(context);
}

Expand All @@ -523,25 +519,22 @@ class SearchEmailController extends BaseController
}

void submitSearchAction(BuildContext context, String query) {
if (EmailUtils.isEmailAddressValid(query)) {
_updateSimpleSearchFilter(
toOption: Some({query}),
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition()
? const Some(0)
: const None()
);
final isEmailAddress = EmailUtils.isEmailAddressValid(query);

_updateSimpleSearchFilter(
textOption: !isEmailAddress ? Some(SearchQuery(query)) : null,
toOption: isEmailAddress ? Some({query}) : null,
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition()
? const Some(0)
: const None()
);

if (isEmailAddress) {
textInputSearchController.clear();
currentSearchText.value = '';
} else {
_updateSimpleSearchFilter(
textOption: Some(SearchQuery(query)),
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition()
? const Some(0)
: const None()
);
}

_searchEmailAction(context);
}

Expand Down

0 comments on commit da86b48

Please sign in to comment.