TF-3002 [MOBILE] Apply new design for SearchFilterButton

This commit is contained in:
dab246
2024-09-13 14:22:06 +07:00
committed by Dat H. Pham
parent fec26a555b
commit 33bf16d8f9
10 changed files with 433 additions and 438 deletions
@@ -94,6 +94,7 @@ class SearchEmailController extends BaseController
final textInputSearchController = TextEditingController();
final resultSearchScrollController = ScrollController();
final textInputSearchFocus = FocusNode();
final listSearchFilterScrollController = ScrollController();
final currentSearchText = RxString('');
final listRecentSearch = RxList<RecentSearch>();
@@ -499,8 +500,14 @@ class SearchEmailController extends BaseController
_searchEmailAction(context);
}
void selectQuickSearchFilter(BuildContext context, QuickSearchFilter filter) {
_selectQuickSearchFilter(filter);
void selectHasAttachmentSearchFilter(BuildContext context) {
_updateSimpleSearchFilter(
hasAttachmentOption: const Some(true),
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition()
? const Some(0)
: const None()
);
_searchEmailAction(context);
}
@@ -517,34 +524,6 @@ class SearchEmailController extends BaseController
}
}
void _selectQuickSearchFilter(QuickSearchFilter filter) {
final filterSelected = checkQuickSearchFilterSelected(filter);
switch (filter) {
case QuickSearchFilter.hasAttachment:
_updateSimpleSearchFilter(
hasAttachmentOption: Some(!filterSelected),
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition() ? const Some(0) : const None()
);
break;
case QuickSearchFilter.last7Days:
_updateSimpleSearchFilter(
emailReceiveTimeTypeOption: optionOf(emailReceiveTimeType.value),
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition() ? const Some(0) : const None()
);
break;
case QuickSearchFilter.sortBy:
_updateSimpleSearchFilter(
sortOrderOption: emailSortOrderType.value.getSortOrder(),
beforeOption: const None(),
positionOption: emailSortOrderType.value.isScrollByPosition() ? const Some(0) : const None()
);
default:
break;
}
}
void _setEmailReceiveTimeType(EmailReceiveTimeType receiveTimeType) {
emailReceiveTimeType.value = receiveTimeType;
}
@@ -937,6 +916,7 @@ class SearchEmailController extends BaseController
textInputSearchController.dispose();
textInputSearchFocus.dispose();
resultSearchScrollController.dispose();
listSearchFilterScrollController.dispose();
_deBouncerTime.cancel();
dashBoardViewStateWorker.dispose();
dashBoardActionWorker.dispose();