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;
|
hasAttachment.value = searchEmailFilter.hasAttachment;
|
||||||
if (searchEmailFilter.from.isEmpty) {
|
if (searchEmailFilter.from.isEmpty) {
|
||||||
listFromEmailAddress.clear();
|
listFromEmailAddress.clear();
|
||||||
|
} else {
|
||||||
|
fromAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||||
}
|
}
|
||||||
if (searchEmailFilter.to.isEmpty) {
|
if (searchEmailFilter.to.isEmpty) {
|
||||||
listToEmailAddress.clear();
|
listToEmailAddress.clear();
|
||||||
|
} else {
|
||||||
|
toAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -476,6 +480,11 @@ class AdvancedFilterController extends BaseController {
|
|||||||
listFromEmailAddress = List.from(listEmailAddress);
|
listFromEmailAddress = List.from(listEmailAddress);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void onSearchAction(BuildContext context) {
|
||||||
|
FocusScope.of(context).unfocus();
|
||||||
|
applyAdvancedSearchFilter(context);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onClose() {
|
void onClose() {
|
||||||
_removeFocusListener();
|
_removeFocusListener();
|
||||||
|
|||||||
+3
-2
@@ -40,6 +40,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
|
|||||||
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
|
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
|
||||||
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
|
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
|
||||||
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
|
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
|
||||||
|
onSearchAction: () => controller.onSearchAction.call(context),
|
||||||
)),
|
)),
|
||||||
Obx(() => TextFieldAutocompleteEmailAddressWeb(
|
Obx(() => TextFieldAutocompleteEmailAddressWeb(
|
||||||
field: AdvancedSearchFilterField.to,
|
field: AdvancedSearchFilterField.to,
|
||||||
@@ -52,6 +53,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
|
|||||||
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
|
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
|
||||||
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
|
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
|
||||||
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
|
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
|
||||||
|
onSearchAction: () => controller.onSearchAction.call(context),
|
||||||
)),
|
)),
|
||||||
_buildFilterField(
|
_buildFilterField(
|
||||||
textEditingController: controller.subjectFilterInputController,
|
textEditingController: controller.subjectFilterInputController,
|
||||||
@@ -271,8 +273,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
|
|||||||
if (isSelectFormList) {
|
if (isSelectFormList) {
|
||||||
onTap?.call();
|
onTap?.call();
|
||||||
} else {
|
} else {
|
||||||
FocusScope.of(context).unfocus();
|
controller.onSearchAction.call(context);
|
||||||
controller.applyAdvancedSearchFilter(context);
|
|
||||||
popBack();
|
popBack();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
+7
@@ -40,6 +40,7 @@ class TextFieldAutocompleteEmailAddressWeb extends StatefulWidget {
|
|||||||
final OnDeleteEmailAddressTypeAction? onDeleteEmailAddressTypeAction;
|
final OnDeleteEmailAddressTypeAction? onDeleteEmailAddressTypeAction;
|
||||||
final OnShowFullListEmailAddressAction? onShowFullListEmailAddressAction;
|
final OnShowFullListEmailAddressAction? onShowFullListEmailAddressAction;
|
||||||
final TextEditingController? controller;
|
final TextEditingController? controller;
|
||||||
|
final VoidCallback? onSearchAction;
|
||||||
|
|
||||||
const TextFieldAutocompleteEmailAddressWeb({
|
const TextFieldAutocompleteEmailAddressWeb({
|
||||||
Key? key,
|
Key? key,
|
||||||
@@ -57,6 +58,7 @@ class TextFieldAutocompleteEmailAddressWeb extends StatefulWidget {
|
|||||||
this.onDeleteEmailAddressTypeAction,
|
this.onDeleteEmailAddressTypeAction,
|
||||||
this.onShowFullListEmailAddressAction,
|
this.onShowFullListEmailAddressAction,
|
||||||
this.controller,
|
this.controller,
|
||||||
|
this.onSearchAction,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -302,6 +304,11 @@ class _TextFieldAutocompleteEmailAddressWebState extends State<TextFieldAutocomp
|
|||||||
StateSetter stateSetter
|
StateSetter stateSetter
|
||||||
) {
|
) {
|
||||||
final textTrim = value.trim();
|
final textTrim = value.trim();
|
||||||
|
if (textTrim.isEmpty) {
|
||||||
|
widget.onSearchAction?.call();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!_isDuplicated(textTrim)) {
|
if (!_isDuplicated(textTrim)) {
|
||||||
stateSetter(() => _currentListEmailAddress.add(EmailAddress(null, textTrim)));
|
stateSetter(() => _currentListEmailAddress.add(EmailAddress(null, textTrim)));
|
||||||
_updateListEmailAddressAction();
|
_updateListEmailAddressAction();
|
||||||
|
|||||||
Reference in New Issue
Block a user