TF-2101 Add tex input fields to dialog

(cherry picked from commit a8b71de2bd8d847f17bb513578ec934a26bd2c31)
This commit is contained in:
hieubt
2023-12-21 15:57:55 +07:00
committed by Dat H. Pham
parent 4dd8e7b727
commit 842b2dcb3f
3 changed files with 110 additions and 0 deletions
@@ -6,6 +6,8 @@ import 'package:tmail_ui_user/features/email_recovery/presentation/email_recover
import 'package:tmail_ui_user/features/email_recovery/presentation/model/email_recovery_field.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/styles/email_recovery_form_styles.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/date_selection_field/date_selection_field_web_widget.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/text_input_field/text_input_field_suggestion_widget.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/text_input_field/text_input_field_widget.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class EmailRecoveryFormDesktopBuilder extends GetWidget<EmailRecoveryController> {
@@ -57,6 +59,42 @@ class EmailRecoveryFormDesktopBuilder extends GetWidget<EmailRecoveryController>
onTapCalendar: () => controller.onSelectReceptionDateRange(context),
onRecoveryTimeSelected: (type) => controller.onReceptionDateTypeSelected(context, type),
)),
TextInputFieldWidget(
field: EmailRecoveryField.subject,
textEditingController: controller.subjectFieldInputController,
currentFocusNode: controller.focusManager.subjectFieldFocusNode,
nextFocusNode: controller.focusManager.recipientsFieldFocusNode,
responsiveUtils: controller.responsiveUtils,
imagePaths: controller.imagePaths,
),
Obx(() => TextInputFieldSuggestionWidget(
keyTagEditor: controller.recipientsFieldKey,
field: EmailRecoveryField.recipients,
listEmailAddress: controller.listRecipients,
responsiveUtils: controller.responsiveUtils,
expandMode: controller.recipientsExpandMode.value,
textEditingController: controller.recipientsFieldInputController,
focusNode: controller.focusManager.recipientsFieldFocusNode,
nextFocusNode: controller.listSenders.length != 1
? controller.focusManager.senderFieldFocusNode
: controller.focusManager.attachmentCheckboxFocusNode,
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
)),
Obx(() => TextInputFieldSuggestionWidget(
keyTagEditor: controller.senderFieldKey,
field: EmailRecoveryField.sender,
listEmailAddress: controller.listSenders,
responsiveUtils: controller.responsiveUtils,
expandMode: controller.senderExpandMode.value,
textEditingController: controller.senderFieldInputController,
focusNode: controller.focusManager.senderFieldFocusNode,
nextFocusNode: controller.focusManager.attachmentCheckboxFocusNode,
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
)),
],
),
),
@@ -6,6 +6,8 @@ import 'package:tmail_ui_user/features/email_recovery/presentation/email_recover
import 'package:tmail_ui_user/features/email_recovery/presentation/model/email_recovery_field.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/styles/email_recovery_form_styles.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/date_selection_field/date_selection_field_mobile_widget.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/text_input_field/text_input_field_suggestion_widget.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/text_input_field/text_input_field_widget.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class EmailRecoveryFormMobileBuilder extends GetWidget<EmailRecoveryController> {
@@ -53,6 +55,40 @@ class EmailRecoveryFormMobileBuilder extends GetWidget<EmailRecoveryController>
startDate: controller.startReceptionDate.value,
endDate: controller.endReceptionDate.value,
)),
TextInputFieldWidget(
field: EmailRecoveryField.subject,
responsiveUtils: controller.responsiveUtils,
imagePaths: controller.imagePaths,
textEditingController: controller.subjectFieldInputController,
currentFocusNode: controller.focusManager.subjectFieldFocusNode,
nextFocusNode: controller.focusManager.recipientsFieldFocusNode,
),
Obx(() => TextInputFieldSuggestionWidget(
keyTagEditor: controller.recipientsFieldKey,
field: EmailRecoveryField.recipients,
listEmailAddress: controller.listRecipients,
responsiveUtils: controller.responsiveUtils,
focusNode: controller.focusManager.recipientsFieldFocusNode,
nextFocusNode: controller.focusManager.senderFieldFocusNode,
expandMode: controller.recipientsExpandMode.value,
textEditingController: controller.recipientsFieldInputController,
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
)),
Obx(() => TextInputFieldSuggestionWidget(
keyTagEditor: controller.senderFieldKey,
field: EmailRecoveryField.sender,
listEmailAddress: controller.listSenders,
responsiveUtils: controller.responsiveUtils,
focusNode: controller.focusManager.senderFieldFocusNode,
nextFocusNode: controller.focusManager.attachmentCheckboxFocusNode,
expandMode: controller.senderExpandMode.value,
textEditingController: controller.senderFieldInputController,
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
)),
],
),
),
@@ -6,6 +6,8 @@ import 'package:tmail_ui_user/features/email_recovery/presentation/email_recover
import 'package:tmail_ui_user/features/email_recovery/presentation/model/email_recovery_field.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/styles/email_recovery_form_styles.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/date_selection_field/date_selection_field_web_widget.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/text_input_field/text_input_field_suggestion_widget.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/text_input_field/text_input_field_widget.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class EmailRecoveryFormTabletBuilder extends GetWidget<EmailRecoveryController> {
@@ -57,6 +59,40 @@ class EmailRecoveryFormTabletBuilder extends GetWidget<EmailRecoveryController>
onTapCalendar: () => controller.onSelectReceptionDateRange(context),
onRecoveryTimeSelected: (type) => controller.onReceptionDateTypeSelected(context, type),
)),
TextInputFieldWidget(
field: EmailRecoveryField.subject,
textEditingController: controller.subjectFieldInputController,
currentFocusNode: controller.focusManager.subjectFieldFocusNode,
nextFocusNode: controller.focusManager.recipientsFieldFocusNode,
responsiveUtils: controller.responsiveUtils,
imagePaths: controller.imagePaths,
),
Obx(() => TextInputFieldSuggestionWidget(
keyTagEditor: controller.recipientsFieldKey,
field: EmailRecoveryField.recipients,
listEmailAddress: controller.listRecipients,
responsiveUtils: controller.responsiveUtils,
expandMode: controller.recipientsExpandMode.value,
textEditingController: controller.recipientsFieldInputController,
focusNode: controller.focusManager.recipientsFieldFocusNode,
nextFocusNode: controller.focusManager.senderFieldFocusNode,
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
)),
Obx(() => TextInputFieldSuggestionWidget(
keyTagEditor: controller.senderFieldKey,
field: EmailRecoveryField.sender,
listEmailAddress: controller.listSenders,
responsiveUtils: controller.responsiveUtils,
expandMode: controller.senderExpandMode.value,
textEditingController: controller.senderFieldInputController,
focusNode: controller.focusManager.senderFieldFocusNode,
nextFocusNode: controller.focusManager.attachmentCheckboxFocusNode,
onShowFullListEmailAddressAction: controller.showFullEmailAddress,
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
)),
],
),
),