TF-1155 Call the search action when pressing enter on the keyboard
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit c8eb9c484f3b421a2555a4541e05ef81b15c41fe)
This commit is contained in:
@@ -266,9 +266,13 @@ class AdvancedFilterController extends BaseController {
|
||||
hasAttachment.value = searchEmailFilter.hasAttachment;
|
||||
if (searchEmailFilter.from.isEmpty) {
|
||||
listFromEmailAddress.clear();
|
||||
} else {
|
||||
fromAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||
}
|
||||
if (searchEmailFilter.to.isEmpty) {
|
||||
listToEmailAddress.clear();
|
||||
} else {
|
||||
toAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -476,6 +480,11 @@ class AdvancedFilterController extends BaseController {
|
||||
listFromEmailAddress = List.from(listEmailAddress);
|
||||
}
|
||||
|
||||
void onSearchAction(BuildContext context) {
|
||||
FocusScope.of(context).unfocus();
|
||||
applyAdvancedSearchFilter(context);
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
_removeFocusListener();
|
||||
|
||||
+3
-2
@@ -40,6 +40,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
|
||||
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
|
||||
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
|
||||
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
|
||||
onSearchAction: () => controller.onSearchAction.call(context),
|
||||
)),
|
||||
Obx(() => TextFieldAutocompleteEmailAddressWeb(
|
||||
field: AdvancedSearchFilterField.to,
|
||||
@@ -52,6 +53,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
|
||||
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
|
||||
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
|
||||
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
|
||||
onSearchAction: () => controller.onSearchAction.call(context),
|
||||
)),
|
||||
_buildFilterField(
|
||||
textEditingController: controller.subjectFilterInputController,
|
||||
@@ -271,8 +273,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
|
||||
if (isSelectFormList) {
|
||||
onTap?.call();
|
||||
} else {
|
||||
FocusScope.of(context).unfocus();
|
||||
controller.applyAdvancedSearchFilter(context);
|
||||
controller.onSearchAction.call(context);
|
||||
popBack();
|
||||
}
|
||||
},
|
||||
|
||||
+7
@@ -40,6 +40,7 @@ class TextFieldAutocompleteEmailAddressWeb extends StatefulWidget {
|
||||
final OnDeleteEmailAddressTypeAction? onDeleteEmailAddressTypeAction;
|
||||
final OnShowFullListEmailAddressAction? onShowFullListEmailAddressAction;
|
||||
final TextEditingController? controller;
|
||||
final VoidCallback? onSearchAction;
|
||||
|
||||
const TextFieldAutocompleteEmailAddressWeb({
|
||||
Key? key,
|
||||
@@ -57,6 +58,7 @@ class TextFieldAutocompleteEmailAddressWeb extends StatefulWidget {
|
||||
this.onDeleteEmailAddressTypeAction,
|
||||
this.onShowFullListEmailAddressAction,
|
||||
this.controller,
|
||||
this.onSearchAction,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
@@ -302,6 +304,11 @@ class _TextFieldAutocompleteEmailAddressWebState extends State<TextFieldAutocomp
|
||||
StateSetter stateSetter
|
||||
) {
|
||||
final textTrim = value.trim();
|
||||
if (textTrim.isEmpty) {
|
||||
widget.onSearchAction?.call();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_isDuplicated(textTrim)) {
|
||||
stateSetter(() => _currentListEmailAddress.add(EmailAddress(null, textTrim)));
|
||||
_updateListEmailAddressAction();
|
||||
|
||||
Reference in New Issue
Block a user