TF-4066 Add unread filter in mobile search
This commit is contained in:
@@ -171,7 +171,6 @@ class SearchEmailController extends BaseController
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void handleSuccessViewState(Success success) {
|
void handleSuccessViewState(Success success) {
|
||||||
super.handleSuccessViewState(success);
|
|
||||||
if (success is SearchEmailSuccess) {
|
if (success is SearchEmailSuccess) {
|
||||||
_searchEmailsSuccess(success);
|
_searchEmailsSuccess(success);
|
||||||
} else if (success is SearchingMoreState) {
|
} else if (success is SearchingMoreState) {
|
||||||
@@ -180,16 +179,19 @@ class SearchEmailController extends BaseController
|
|||||||
_searchMoreEmailsSuccess(success);
|
_searchMoreEmailsSuccess(success);
|
||||||
} else if (success is SearchingState) {
|
} else if (success is SearchingState) {
|
||||||
resultSearchViewState.value = Right(success);
|
resultSearchViewState.value = Right(success);
|
||||||
|
} else {
|
||||||
|
super.handleSuccessViewState(success);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void handleFailureViewState(Failure failure) {
|
void handleFailureViewState(Failure failure) {
|
||||||
super.handleFailureViewState(failure);
|
|
||||||
if (failure is SearchEmailFailure) {
|
if (failure is SearchEmailFailure) {
|
||||||
_searchEmailsFailure(failure);
|
_searchEmailsFailure(failure);
|
||||||
} else if (failure is SearchMoreEmailFailure) {
|
} else if (failure is SearchMoreEmailFailure) {
|
||||||
_searchMoreEmailsFailure(failure);
|
_searchMoreEmailsFailure(failure);
|
||||||
|
} else {
|
||||||
|
super.handleFailureViewState(failure);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -627,6 +629,11 @@ class SearchEmailController extends BaseController
|
|||||||
_searchEmailAction(context);
|
_searchEmailAction(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void selectUnreadSearchFilter(BuildContext context) {
|
||||||
|
_updateSimpleSearchFilter(unreadOption: const Some(true));
|
||||||
|
_searchEmailAction(context);
|
||||||
|
}
|
||||||
|
|
||||||
bool checkQuickSearchFilterSelected(QuickSearchFilter filter) {
|
bool checkQuickSearchFilterSelected(QuickSearchFilter filter) {
|
||||||
switch (filter) {
|
switch (filter) {
|
||||||
case QuickSearchFilter.hasAttachment:
|
case QuickSearchFilter.hasAttachment:
|
||||||
@@ -1014,6 +1021,9 @@ class SearchEmailController extends BaseController
|
|||||||
case QuickSearchFilter.starred:
|
case QuickSearchFilter.starred:
|
||||||
_deleteStarredSearchFilter(context);
|
_deleteStarredSearchFilter(context);
|
||||||
break;
|
break;
|
||||||
|
case QuickSearchFilter.unread:
|
||||||
|
_deleteUnreadSearchFilter(context);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1065,6 +1075,11 @@ class SearchEmailController extends BaseController
|
|||||||
_searchEmailAction(context);
|
_searchEmailAction(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _deleteUnreadSearchFilter(BuildContext context) {
|
||||||
|
_updateSimpleSearchFilter(unreadOption: const None());
|
||||||
|
_searchEmailAction(context);
|
||||||
|
}
|
||||||
|
|
||||||
void clearAllSearchFilterApplied(BuildContext context) {
|
void clearAllSearchFilterApplied(BuildContext context) {
|
||||||
textInputSearchController.clear();
|
textInputSearchController.clear();
|
||||||
currentSearchText.value = '';
|
currentSearchText.value = '';
|
||||||
|
|||||||
@@ -271,6 +271,8 @@ class SearchEmailView extends GetWidget<SearchEmailController>
|
|||||||
SearchEmailViewStyle.searchFilterSizeBoxMargin,
|
SearchEmailViewStyle.searchFilterSizeBoxMargin,
|
||||||
_buildSearchFilterButton(context, QuickSearchFilter.starred),
|
_buildSearchFilterButton(context, QuickSearchFilter.starred),
|
||||||
SearchEmailViewStyle.searchFilterSizeBoxMargin,
|
SearchEmailViewStyle.searchFilterSizeBoxMargin,
|
||||||
|
_buildSearchFilterButton(context, QuickSearchFilter.unread),
|
||||||
|
SearchEmailViewStyle.searchFilterSizeBoxMargin,
|
||||||
_buildSearchFilterButton(context, QuickSearchFilter.sortBy),
|
_buildSearchFilterButton(context, QuickSearchFilter.sortBy),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -382,6 +384,9 @@ class SearchEmailView extends GetWidget<SearchEmailController>
|
|||||||
case QuickSearchFilter.starred:
|
case QuickSearchFilter.starred:
|
||||||
controller.selectStarredSearchFilter(context);
|
controller.selectStarredSearchFilter(context);
|
||||||
break;
|
break;
|
||||||
|
case QuickSearchFilter.unread:
|
||||||
|
controller.selectUnreadSearchFilter(context);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user