TF-1155 Automatically collapsed and created tags when fields lose focus

Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit 6c2ffefca87d26b115bae628e48a0ed356de6b33)
This commit is contained in:
dab246
2023-11-08 13:50:49 +07:00
committed by Dat Vu
parent bfb35a7187
commit a0fede7b8f
4 changed files with 49 additions and 67 deletions
@@ -30,7 +30,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
child: Obx(() => Column(
children: [
TextFieldAutocompleteEmailAddressWeb(
field: AdvancedSearchFilterField.form,
field: AdvancedSearchFilterField.from,
listEmailAddress: controller.listFromEmailAddress,
expandMode: controller.fromAddressExpandMode.value,
controller: controller.fromEmailAddressController,
@@ -40,7 +40,6 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
onRemoveEmailAddressAction: controller.removeEmailAddress,
),
TextFieldAutocompleteEmailAddressWeb(
field: AdvancedSearchFilterField.to,
@@ -53,7 +52,6 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
onRemoveEmailAddressAction: controller.removeEmailAddress,
),
_buildFilterField(
textEditingController: controller.subjectFilterInputController,
@@ -21,7 +21,6 @@ typedef OnSuggestionEmailAddress = Future<List<EmailAddress>> Function(String wo
typedef OnUpdateListEmailAddressAction = void Function(AdvancedSearchFilterField field, List<EmailAddress> newData);
typedef OnDeleteEmailAddressTypeAction = void Function(AdvancedSearchFilterField field);
typedef OnShowFullListEmailAddressAction = void Function(AdvancedSearchFilterField field);
typedef OnRemoveEmailAddressAction = void Function(EmailAddress emailAddress, AdvancedSearchFilterField field);
typedef OnDeleteTagAction = void Function(EmailAddress emailAddress);
class TextFieldAutocompleteEmailAddressWeb extends StatefulWidget {
@@ -39,7 +38,6 @@ class TextFieldAutocompleteEmailAddressWeb extends StatefulWidget {
final OnUpdateListEmailAddressAction? onUpdateListEmailAddressAction;
final OnDeleteEmailAddressTypeAction? onDeleteEmailAddressTypeAction;
final OnShowFullListEmailAddressAction? onShowFullListEmailAddressAction;
final OnRemoveEmailAddressAction? onRemoveEmailAddressAction;
final TextEditingController? controller;
const TextFieldAutocompleteEmailAddressWeb({
@@ -57,7 +55,6 @@ class TextFieldAutocompleteEmailAddressWeb extends StatefulWidget {
this.onUpdateListEmailAddressAction,
this.onDeleteEmailAddressTypeAction,
this.onShowFullListEmailAddressAction,
this.onRemoveEmailAddressAction,
this.controller,
}) : super(key: key);
@@ -113,7 +110,7 @@ class _TextFieldAutocompleteEmailAddressWebState extends State<TextFieldAutocomp
textInputAction: TextInputAction.done,
debounceDuration: TextFieldAutoCompleteEmailAddressWebStyles.debounceDuration,
hasAddButton: false,
autofocus: widget.field == AdvancedSearchFilterField.form && _currentListEmailAddress.isEmpty,
autofocus: widget.field == AdvancedSearchFilterField.from && _currentListEmailAddress.isEmpty,
inputDecoration: InputDecoration(
filled: true,
fillColor: TextFieldAutoCompleteEmailAddressWebStyles.textInputFillColor,