TF-3226 Apply minInputLength on autocomplete capability to app
This commit is contained in:
@@ -124,6 +124,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listToEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
fromState: controller.fromRecipientState.value,
|
||||
ccState: controller.ccRecipientState.value,
|
||||
bccState: controller.bccRecipientState.value,
|
||||
@@ -150,6 +153,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listCcEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
expandMode: controller.ccAddressExpandMode.value,
|
||||
controller: controller.ccEmailAddressController,
|
||||
focusNode: controller.ccAddressFocusNode,
|
||||
@@ -176,6 +182,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listBccEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
expandMode: controller.bccAddressExpandMode.value,
|
||||
controller: controller.bccEmailAddressController,
|
||||
focusNode: controller.bccAddressFocusNode,
|
||||
@@ -280,6 +289,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listToEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
fromState: controller.fromRecipientState.value,
|
||||
ccState: controller.ccRecipientState.value,
|
||||
bccState: controller.bccRecipientState.value,
|
||||
@@ -305,6 +317,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listCcEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
expandMode: controller.ccAddressExpandMode.value,
|
||||
controller: controller.ccEmailAddressController,
|
||||
focusNode: controller.ccAddressFocusNode,
|
||||
@@ -326,6 +341,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listBccEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
expandMode: controller.bccAddressExpandMode.value,
|
||||
controller: controller.bccEmailAddressController,
|
||||
focusNode: controller.bccAddressFocusNode,
|
||||
|
||||
@@ -89,6 +89,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listToEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
fromState: controller.fromRecipientState.value,
|
||||
ccState: controller.ccRecipientState.value,
|
||||
bccState: controller.bccRecipientState.value,
|
||||
@@ -115,6 +118,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listCcEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
expandMode: controller.ccAddressExpandMode.value,
|
||||
controller: controller.ccEmailAddressController,
|
||||
focusNode: controller.ccAddressFocusNode,
|
||||
@@ -138,6 +144,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listBccEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
expandMode: controller.bccAddressExpandMode.value,
|
||||
controller: controller.bccEmailAddressController,
|
||||
focusNode: controller.bccAddressFocusNode,
|
||||
@@ -328,6 +337,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listToEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
fromState: controller.fromRecipientState.value,
|
||||
ccState: controller.ccRecipientState.value,
|
||||
bccState: controller.bccRecipientState.value,
|
||||
@@ -354,6 +366,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listCcEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
expandMode: controller.ccAddressExpandMode.value,
|
||||
controller: controller.ccEmailAddressController,
|
||||
focusNode: controller.ccAddressFocusNode,
|
||||
@@ -377,6 +392,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listBccEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
expandMode: controller.bccAddressExpandMode.value,
|
||||
controller: controller.bccEmailAddressController,
|
||||
focusNode: controller.bccAddressFocusNode,
|
||||
@@ -600,6 +618,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listToEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
fromState: controller.fromRecipientState.value,
|
||||
ccState: controller.ccRecipientState.value,
|
||||
bccState: controller.bccRecipientState.value,
|
||||
@@ -626,6 +647,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listCcEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
expandMode: controller.ccAddressExpandMode.value,
|
||||
controller: controller.ccEmailAddressController,
|
||||
focusNode: controller.ccAddressFocusNode,
|
||||
@@ -649,6 +673,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
listEmailAddress: controller.listBccEmailAddress,
|
||||
imagePaths: controller.imagePaths,
|
||||
maxWidth: constraints.maxWidth,
|
||||
minInputLengthAutocomplete: controller
|
||||
.mailboxDashBoardController
|
||||
.minInputLengthAutocomplete,
|
||||
expandMode: controller.bccAddressExpandMode.value,
|
||||
controller: controller.bccEmailAddressController,
|
||||
focusNode: controller.bccAddressFocusNode,
|
||||
|
||||
@@ -64,6 +64,7 @@ class RecipientComposerWidget extends StatefulWidget {
|
||||
final EdgeInsetsGeometry? margin;
|
||||
final OnEnableAllRecipientsInputAction? onEnableAllRecipientsInputAction;
|
||||
final bool isTestingForWeb;
|
||||
final int minInputLengthAutocomplete;
|
||||
|
||||
const RecipientComposerWidget({
|
||||
super.key,
|
||||
@@ -71,6 +72,7 @@ class RecipientComposerWidget extends StatefulWidget {
|
||||
required this.listEmailAddress,
|
||||
required this.imagePaths,
|
||||
required this.maxWidth,
|
||||
this.minInputLengthAutocomplete = AppConfig.defaultMinInputLengthAutocomplete,
|
||||
@visibleForTesting this.isTestingForWeb = false,
|
||||
this.ccState = PrefixRecipientState.disabled,
|
||||
this.bccState = PrefixRecipientState.disabled,
|
||||
@@ -410,10 +412,13 @@ class _RecipientComposerWidgetState extends State<RecipientComposerWidget> {
|
||||
}
|
||||
|
||||
final tmailSuggestion = List<SuggestionEmailAddress>.empty(growable: true);
|
||||
if (processedQuery.length >= AppConfig.limitCharToStartSearch &&
|
||||
if (processedQuery.length >= widget.minInputLengthAutocomplete &&
|
||||
widget.onSuggestionEmailAddress != null) {
|
||||
final listEmailAddress = await widget.onSuggestionEmailAddress!(processedQuery);
|
||||
final listSuggestionEmailAddress = listEmailAddress.map((emailAddress) => _toSuggestionEmailAddress(emailAddress, _currentListEmailAddress));
|
||||
final listSuggestionEmailAddress = listEmailAddress
|
||||
.map((emailAddress) => _toSuggestionEmailAddress(
|
||||
emailAddress,
|
||||
_currentListEmailAddress));
|
||||
tmailSuggestion.addAll(listSuggestionEmailAddress);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user