Skip to content

Commit

Permalink
TF-1844 Fix mailbox not selected in advanced search
Browse files Browse the repository at this point in the history
  • Loading branch information
dab246 committed Aug 25, 2023
1 parent 8b0feba commit 5711f01
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,13 @@ class AdvancedFilterController extends BaseController {
void selectedMailBox(BuildContext context) async {
final accountId = _mailboxDashBoardController.accountId.value;
final session = _mailboxDashBoardController.sessionCurrent;
if (accountId != null) {
if (accountId != null && session != null) {
final arguments = DestinationPickerArguments(
accountId,
MailboxActions.select,
session,
mailboxIdSelected: searchController.searchEmailFilter.value.mailbox?.id);
mailboxIdSelected: _destinationMailboxSelected?.id
);

final destinationMailbox = PlatformInfo.isWeb
? await DialogRouter.pushGeneralDialog(routeName: AppRoutes.destinationPicker, arguments: arguments)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import 'package:flutter/material.dart';

class AdvancedSearchInputFormStyle {
static const TextStyle inputTextStyle = TextStyle(
color: Colors.black,
fontSize: 16,
fontWeight: FontWeight.w400,
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import 'package:flutter/material.dart';

class TextFieldAutocompleteEmailAddressStyle {
static const TextStyle inputTextStyle = TextStyle(
color: Colors.black,
fontSize: 16,
fontWeight: FontWeight.w400,
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'package:core/core.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_form.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_input_form.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';

Future<void> showAdvancedSearchFilterBottomSheet(BuildContext context) async {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pointer_interceptor/pointer_interceptor.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_form.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_input_form.dart';

class AdvancedSearchFilterOverlay extends StatelessWidget {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ import 'package:tmail_ui_user/features/base/widget/popup_item_no_icon_widget.dar
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/advanced_search_filter.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/styles/advanced_search_input_form_style.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_form_bottom_view.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/date_drop_down_button.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/text_field_auto_complete_email_adress.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/text_field_autocomplete_email_adress.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';

Expand Down Expand Up @@ -66,14 +67,15 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
nextFocusNode: controller.focusManager.mailboxFieldFocusNode,
),
_buildFilterField(
textEditingController: controller.mailBoxFilterInputController,
context: context,
advancedSearchFilterField: AdvancedSearchFilterField.mailBox,
isSelectFormList: true,
currentFocusNode: controller.focusManager.mailboxFieldFocusNode,
nextFocusNode: controller.focusManager.attachmentCheckboxFocusNode,
mouseCursor: SystemMouseCursors.click,
onTap: () => controller.selectedMailBox(context)),
textEditingController: controller.mailBoxFilterInputController,
context: context,
advancedSearchFilterField: AdvancedSearchFilterField.mailBox,
isSelectFormList: true,
currentFocusNode: controller.focusManager.mailboxFieldFocusNode,
nextFocusNode: controller.focusManager.attachmentCheckboxFocusNode,
mouseCursor: SystemMouseCursors.click,
onTap: () => controller.selectedMailBox(context)
),
Row(children: [
Expanded(child: _buildFilterField(
context: context,
Expand Down Expand Up @@ -253,7 +255,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
),
const Padding(padding: EdgeInsets.all(4)),
_responsiveUtils.isMobile(context) || _responsiveUtils.landscapeTabletSupported(context)
? TextFieldAutoCompleteEmailAddress(
? TextFieldAutocompleteEmailAddress(
optionsBuilder: controller.getAutoCompleteSuggestion,
advancedSearchFilterField: advancedSearchFilterField,
initialTags: listTagInitial,
Expand Down Expand Up @@ -289,7 +291,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
},
)
: Expanded(
child: TextFieldAutoCompleteEmailAddress(
child: TextFieldAutocompleteEmailAddress(
optionsBuilder: controller.getAutoCompleteSuggestion,
advancedSearchFilterField: advancedSearchFilterField,
initialTags: listTagInitial,
Expand Down Expand Up @@ -363,6 +365,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
mouseCursor: mouseCursor,
maxLines: 1,
textInputAction: isSelectFormList ? TextInputAction.done : TextInputAction.next,
textStyle: AdvancedSearchInputFormStyle.inputTextStyle,
onTap: onTap,
onTextSubmitted: (value) {
if (isSelectFormList) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,13 @@ import 'package:model/extensions/email_address_extension.dart';
import 'package:textfield_tags/textfield_tags.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/advanced_search_filter.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/custom_tf_tag_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/styles/text_field_autocomplete_email_address_style.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/autocomplete_suggestion_item_widget.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/autocomplete_tag_item_widget.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';

class TextFieldAutoCompleteEmailAddress extends StatefulWidget {
const TextFieldAutoCompleteEmailAddress({
class TextFieldAutocompleteEmailAddress extends StatefulWidget {
const TextFieldAutocompleteEmailAddress({
Key? key,
required this.advancedSearchFilterField,
required this.initialTags,
Expand All @@ -36,12 +37,12 @@ class TextFieldAutoCompleteEmailAddress extends StatefulWidget {
final FocusNode? nextFocusNode;

@override
State<TextFieldAutoCompleteEmailAddress> createState() =>
_TextFieldAutoCompleteEmailAddressState();
State<TextFieldAutocompleteEmailAddress> createState() =>
_TextFieldAutocompleteEmailAddressState();
}

class _TextFieldAutoCompleteEmailAddressState
extends State<TextFieldAutoCompleteEmailAddress> {
class _TextFieldAutocompleteEmailAddressState
extends State<TextFieldAutocompleteEmailAddress> {
final double _distanceToField = 380;
final _responsiveUtils = Get.find<ResponsiveUtils>();
late CustomController _controller;
Expand Down Expand Up @@ -138,6 +139,7 @@ class _TextFieldAutoCompleteEmailAddressState
focusNode: fn,
textInputAction: TextInputAction.next,
maxLines: 1,
textStyle: TextFieldAutocompleteEmailAddressStyle.inputTextStyle,
decoration: InputDecoration(
filled: true,
fillColor: Colors.white,
Expand Down

0 comments on commit 5711f01

Please sign in to comment.