TF-1709 Add select sort to advance search view

(cherry picked from commit 6b1b52909ef30d5618bb5bc9557fe2f17770a0b3)
This commit is contained in:
hieubt
2023-11-11 00:37:13 +07:00
committed by Dat Vu
parent 5f9b69f693
commit 8923bb42ad
2 changed files with 22 additions and 0 deletions
@@ -10,6 +10,7 @@ enum AdvancedSearchFilterField {
notKeyword, notKeyword,
mailBox, mailBox,
date, date,
sortBy,
hasAttachment; hasAttachment;
String getTitle(BuildContext context) { String getTitle(BuildContext context) {
@@ -28,6 +29,8 @@ enum AdvancedSearchFilterField {
return AppLocalizations.of(context).folder; return AppLocalizations.of(context).folder;
case AdvancedSearchFilterField.date: case AdvancedSearchFilterField.date:
return AppLocalizations.of(context).date; return AppLocalizations.of(context).date;
case AdvancedSearchFilterField.sortBy:
return AppLocalizations.of(context).sortBy;
case AdvancedSearchFilterField.hasAttachment: case AdvancedSearchFilterField.hasAttachment:
return AppLocalizations.of(context).hasAttachment; return AppLocalizations.of(context).hasAttachment;
} }
@@ -47,6 +50,8 @@ enum AdvancedSearchFilterField {
return AppLocalizations.of(context).allFolders; return AppLocalizations.of(context).allFolders;
case AdvancedSearchFilterField.date: case AdvancedSearchFilterField.date:
return AppLocalizations.of(context).allTime; return AppLocalizations.of(context).allTime;
case AdvancedSearchFilterField.sortBy:
return AppLocalizations.of(context).mostRecent;
case AdvancedSearchFilterField.hasAttachment: case AdvancedSearchFilterField.hasAttachment:
return AppLocalizations.of(context).hasAttachment; return AppLocalizations.of(context).hasAttachment;
} }
@@ -11,6 +11,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/sear
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/styles/advanced_search_input_form_style.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/styles/advanced_search_input_form_style.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_form_bottom_view.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_form_bottom_view.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/date_drop_down_button.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/date_drop_down_button.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/sort_by_drop_down_button.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/text_field_autocomplete_email_address_web.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/text_field_autocomplete_email_address_web.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart'; import 'package:tmail_ui_user/main/routes/route_navigation.dart';
@@ -109,6 +110,10 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
iconPadding: EdgeInsets.zero, iconPadding: EdgeInsets.zero,
onTap: () => controller.selectDateRange(context)), onTap: () => controller.selectDateRange(context)),
]), ]),
_buildFilterField(
context: context,
advancedSearchFilterField: AdvancedSearchFilterField.sortBy
),
AdvancedSearchFilterFormBottomView(focusManager: controller.focusManager) AdvancedSearchFilterFormBottomView(focusManager: controller.focusManager)
], ],
), ),
@@ -172,6 +177,12 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
receiveTimeSelected: controller.dateFilterSelectedFormAdvancedSearch.value, receiveTimeSelected: controller.dateFilterSelectedFormAdvancedSearch.value,
onReceiveTimeSelected: (receiveTime) => controller.updateReceiveDateSearchFilter(context, receiveTime), onReceiveTimeSelected: (receiveTime) => controller.updateReceiveDateSearchFilter(context, receiveTime),
)) ))
else if (advancedSearchFilterField == AdvancedSearchFilterField.sortBy)
Obx(() => SortByDropDownButton(
imagePaths: _imagePaths,
sortOrderSelected: controller.searchController.sortOrderFiltered.value,
onSortOrderSelected: controller.updateSortOrder,
))
else else
_buildTextField( _buildTextField(
isSelectFormList: isSelectFormList, isSelectFormList: isSelectFormList,
@@ -229,6 +240,12 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
receiveTimeSelected: controller.dateFilterSelectedFormAdvancedSearch.value, receiveTimeSelected: controller.dateFilterSelectedFormAdvancedSearch.value,
onReceiveTimeSelected: (receiveTime) => controller.updateReceiveDateSearchFilter(context, receiveTime), onReceiveTimeSelected: (receiveTime) => controller.updateReceiveDateSearchFilter(context, receiveTime),
)); ));
case AdvancedSearchFilterField.sortBy:
return Obx(() => SortByDropDownButton(
imagePaths: _imagePaths,
sortOrderSelected: controller.searchController.sortOrderFiltered.value,
onSortOrderSelected: controller.updateSortOrder,
));
default: default:
return _buildTextField( return _buildTextField(
isSelectFormList: isSelectFormList, isSelectFormList: isSelectFormList,