create advanced search mobile UI
This commit is contained in:
+20
@@ -36,7 +36,27 @@ class AdvancedFilterController extends BaseController {
|
||||
_searchController.cleanSearchFilter();
|
||||
}
|
||||
|
||||
void _updateFilterEmailFromAdvancedSearchView() {
|
||||
if (fromFilterInputController.text.isNotEmpty) {
|
||||
_searchEmailFilter.from.add(fromFilterInputController.text);
|
||||
}
|
||||
if (toFilterInputController.text.isNotEmpty) {
|
||||
_searchEmailFilter.to.add(toFilterInputController.text);
|
||||
}
|
||||
_searchController.searchEmailFilter.value = _searchEmailFilter.copyWith(
|
||||
subject: StringConvert.writeEmptyToNull(subjectFilterInputController.text),
|
||||
hasKeyword: Wrapped.value(
|
||||
StringConvert.writeEmptyToNull(hasKeyWordFilterInputController.text)),
|
||||
notKeyword: Wrapped.value(
|
||||
StringConvert.writeNullToEmpty(notKeyWordFilterInputController.text)),
|
||||
mailbox: mailboxFilterSelectedFormAdvancedSearch.value,
|
||||
emailReceiveTimeType: dateFilterSelectedFormAdvancedSearch.value,
|
||||
hasAttachment: hasAttachment.value,
|
||||
);
|
||||
}
|
||||
|
||||
applyAdvancedSearchFilter(BuildContext context){
|
||||
_updateFilterEmailFromAdvancedSearchView();
|
||||
_mailboxDashBoardController.searchEmail(context, StringConvert.writeNullToEmpty(_searchEmailFilter.text?.value));
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/save_re
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_bottom_sheet.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/model/search_state.dart';
|
||||
@@ -29,6 +30,8 @@ class SearchController extends BaseController {
|
||||
final SaveRecentSearchInteractor _saveRecentSearchInteractor;
|
||||
final GetAllRecentSearchLatestInteractor _getAllRecentSearchLatestInteractor;
|
||||
|
||||
final ResponsiveUtils _responsiveUtils = Get.find<ResponsiveUtils>();
|
||||
|
||||
final searchInputController = TextEditingController();
|
||||
final searchEmailFilter = SearchEmailFilter().obs;
|
||||
final searchState = SearchState.initial().obs;
|
||||
@@ -216,6 +219,14 @@ class SearchController extends BaseController {
|
||||
emailReceiveTimeType.value = receiveTimeType;
|
||||
}
|
||||
|
||||
showAdvancedFilterView(BuildContext context) async {
|
||||
selectOpenAdvanceSearch();
|
||||
if (_responsiveUtils.isMobile(context)) {
|
||||
await showAdvancedSearchFilterBottomSheet(context);
|
||||
selectOpenAdvanceSearch();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void onDone() {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user