TF-2101 Add `hasAttachment checkbox and buttons to dialog

(cherry picked from commit 87e4808fb252b2565b78992b9775ffa8a7bcd71f)
This commit is contained in:
hieubt
2023-12-21 16:51:09 +07:00
committed by Dat H. Pham
parent 4d458a574c
commit a87f4b8b10
3 changed files with 62 additions and 0 deletions
@@ -5,7 +5,9 @@ import 'package:get/get.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/email_recovery_controller.dart';
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/check_box_has_attachment_widget.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/list_button_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';
@@ -100,6 +102,27 @@ class EmailRecoveryFormDesktopBuilder extends GetWidget<EmailRecoveryController>
),
)
),
Padding(
padding: EmailRecoveryFormStyles.bottomAreaPadding,
child: Row(
children: [
Obx(() => CheckBoxHasAttachmentWidget(
hasAttachmentValue: controller.hasAttachment.value,
currentFocusNode: controller.focusManager.attachmentCheckboxFocusNode,
nextFocusNode: controller.focusManager.createButtonFocusNode,
onChanged: (value) => controller.onChangeHasAttachment(value),
)),
SizedBox(width: controller.responsiveUtils.getDeviceWidth(context) * 0.04),
Expanded(
child: ListButtonWidget(
onCancel: () => controller.closeView(context),
onRestore: () => controller.onRestore(context),
responsiveUtils: controller.responsiveUtils,
),
)
],
),
)
],
),
Positioned(
@@ -5,7 +5,9 @@ import 'package:get/get.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/email_recovery_controller.dart';
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/check_box_has_attachment_widget.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/list_button_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';
@@ -89,11 +91,25 @@ class EmailRecoveryFormMobileBuilder extends GetWidget<EmailRecoveryController>
onUpdateListEmailAddressAction: controller.updateListEmailAddress,
onSuggestionEmailAddress: controller.getAutoCompleteSuggestion,
)),
Obx(() => CheckBoxHasAttachmentWidget(
hasAttachmentValue: controller.hasAttachment.value,
currentFocusNode: controller.focusManager.attachmentCheckboxFocusNode,
nextFocusNode: controller.focusManager.deletionDateFieldFocusNode,
onChanged: (value) => controller.onChangeHasAttachment(value),
))
],
),
),
),
),
Padding(
padding: EmailRecoveryFormStyles.bottomAreaPadding,
child: ListButtonWidget(
onCancel: () => controller.closeView(context),
onRestore: () => controller.onRestore(context),
responsiveUtils: controller.responsiveUtils,
),
)
],
),
Positioned(
@@ -5,7 +5,9 @@ import 'package:get/get.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/email_recovery_controller.dart';
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/check_box_has_attachment_widget.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/list_button_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';
@@ -98,6 +100,27 @@ class EmailRecoveryFormTabletBuilder extends GetWidget<EmailRecoveryController>
),
)
),
Padding(
padding: EmailRecoveryFormStyles.bottomAreaPadding,
child: Row(
children: [
Obx(() => CheckBoxHasAttachmentWidget(
hasAttachmentValue: controller.hasAttachment.value,
currentFocusNode: controller.focusManager.attachmentCheckboxFocusNode,
nextFocusNode: controller.focusManager.deletionDateFieldFocusNode,
onChanged: (value) => controller.onChangeHasAttachment(value),
)),
SizedBox(width: controller.responsiveUtils.getDeviceWidth(context) * 0.04),
Expanded(
child: ListButtonWidget(
onCancel: () => controller.closeView(context),
onRestore: () => controller.onRestore(context),
responsiveUtils: controller.responsiveUtils,
),
)
],
),
)
],
),
Positioned(