Skip to content

Commit

Permalink
TF-3002 [WEB] Remove BuildContext in dashboard action
Browse files Browse the repository at this point in the history
  • Loading branch information
dab246 committed Sep 16, 2024
1 parent 9861de4 commit 4245825
Show file tree
Hide file tree
Showing 15 changed files with 113 additions and 193 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

import 'package:flutter/cupertino.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
import 'package:model/email/email_action_type.dart';
Expand Down Expand Up @@ -28,36 +27,33 @@ class CancelSelectionAllEmailAction extends DashBoardAction {}

class FilterMessageAction extends DashBoardAction {

final BuildContext context;
final FilterMessageOption option;

FilterMessageAction(this.context, this.option);
FilterMessageAction(this.option);

@override
List<Object?> get props => [context, option];
List<Object?> get props => [option];
}

class HandleEmailActionTypeAction extends DashBoardAction {

final BuildContext context;
final EmailActionType emailAction;
final List<PresentationEmail> listEmailSelected;

HandleEmailActionTypeAction(this.context, this.listEmailSelected, this.emailAction);
HandleEmailActionTypeAction(this.listEmailSelected, this.emailAction);

@override
List<Object> get props => [context, listEmailSelected, emailAction];
List<Object> get props => [listEmailSelected, emailAction];
}

class OpenEmailDetailedFromSuggestionQuickSearchAction extends DashBoardAction {

final BuildContext context;
final PresentationEmail presentationEmail;

OpenEmailDetailedFromSuggestionQuickSearchAction(this.context, this.presentationEmail);
OpenEmailDetailedFromSuggestionQuickSearchAction(this.presentationEmail);

@override
List<Object?> get props => [context, presentationEmail];
List<Object?> get props => [presentationEmail];
}

class StartSearchEmailAction extends DashBoardAction {
Expand All @@ -69,15 +65,7 @@ class StartSearchEmailAction extends DashBoardAction {
List<Object?> get props => [filter];
}

class EmptyTrashAction extends DashBoardAction {

final BuildContext context;

EmptyTrashAction(this.context);

@override
List<Object?> get props => [context];
}
class EmptyTrashAction extends DashBoardAction {}

class ClearSearchEmailAction extends DashBoardAction {}

Expand Down Expand Up @@ -165,20 +153,6 @@ class CloseSearchEmailViewAction extends DashBoardAction {}

class CancelSelectionSearchEmailAction extends DashBoardAction {}

class OpenAdvancedSearchViewAction extends DashBoardAction {
final BuildContext context;

OpenAdvancedSearchViewAction(this.context);
class OpenAdvancedSearchViewAction extends DashBoardAction {}

@override
List<Object?> get props => [context];
}

class ClearSearchFilterAppliedAction extends DashBoardAction {
final BuildContext context;

ClearSearchFilterAppliedAction(this.context);

@override
List<Object?> get props => [context];
}
class ClearSearchFilterAppliedAction extends DashBoardAction {}
Original file line number Diff line number Diff line change
Expand Up @@ -78,15 +78,15 @@ class AdvancedFilterController extends BaseController {
super.onReady();
}

void clearSearchFilter(BuildContext context) {
void clearSearchFilter() {
searchController.clearSearchFilter();
_resetAllToOriginalValue();
_clearAllTextFieldInput();
searchController.searchInputController.clear();
searchController.clearSortOrder();
searchController.deactivateAdvancedSearch();
searchController.isAdvancedSearchViewOpen.value = false;
_mailboxDashBoardController.searchEmail(context);
_mailboxDashBoardController.searchEmail();
}

void _updateFilterEmailFromAdvancedSearchView() {
Expand Down Expand Up @@ -156,7 +156,7 @@ class AdvancedFilterController extends BaseController {
}
}

void applyAdvancedSearchFilter(BuildContext context) {
void applyAdvancedSearchFilter() {
_updateFilterEmailFromAdvancedSearchView();
if (isAdvancedSearchHasApplied) {
searchController.activateAdvancedSearch();
Expand All @@ -167,7 +167,7 @@ class AdvancedFilterController extends BaseController {
searchController.updateFilterEmail(beforeOption: const None());
}
searchController.isAdvancedSearchViewOpen.value = false;
_mailboxDashBoardController.searchEmail(context);
_mailboxDashBoardController.searchEmail();
}

Future<List<EmailAddress>> getAutoCompleteSuggestion(String word) async {
Expand Down Expand Up @@ -197,16 +197,20 @@ class AdvancedFilterController extends BaseController {
hasAttachment.isTrue;
}

void initSearchFilterField(BuildContext context) {
void initSearchFilterField() {
subjectFilterInputController.text = StringConvert.writeNullToEmpty(searchEmailFilter.subject);
hasKeyWordFilterInputController.text = StringConvert.writeNullToEmpty(searchEmailFilter.text?.value);
notKeyWordFilterInputController.text = StringConvert.writeNullToEmpty(searchEmailFilter.notKeyword.firstOrNull);
dateFilterSelectedFormAdvancedSearch.value = searchEmailFilter.emailReceiveTimeType;
_destinationMailboxSelected = searchEmailFilter.mailbox;
if (searchEmailFilter.mailbox == null) {
mailBoxFilterInputController.text = AppLocalizations.of(context).allFolders;
} else {
mailBoxFilterInputController.text = StringConvert.writeNullToEmpty(searchEmailFilter.mailbox?.getDisplayName(context));
if (currentContext != null) {
if (searchEmailFilter.mailbox == null) {
mailBoxFilterInputController.text = AppLocalizations.of(currentContext!).allFolders;
} else {
mailBoxFilterInputController.text = StringConvert.writeNullToEmpty(
searchEmailFilter.mailbox?.getDisplayName(currentContext!)
);
}
}
hasAttachment.value = searchEmailFilter.hasAttachment;
if (searchEmailFilter.from.isEmpty) {
Expand Down Expand Up @@ -423,9 +427,9 @@ class AdvancedFilterController extends BaseController {

_mailboxDashBoardController.dispatchAction(StartSearchEmailAction());
} else if (action is OpenAdvancedSearchViewAction) {
initSearchFilterField(action.context);
initSearchFilterField();
} else if (action is ClearSearchFilterAppliedAction) {
clearSearchFilter(action.context);
clearSearchFilter();
}
}
);
Expand Down Expand Up @@ -468,9 +472,9 @@ class AdvancedFilterController extends BaseController {
}
}

void onSearchAction(BuildContext context) {
FocusScope.of(context).unfocus();
applyAdvancedSearchFilter(context);
void onSearchAction() {
FocusManager.instance.primaryFocus?.unfocus();
applyAdvancedSearchFilter();
}

@override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -665,7 +665,7 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo

bool isSelectionEnabled() => currentSelectMode.value == SelectMode.ACTIVE;

void searchEmail(BuildContext context, {String? queryString}) {
void searchEmail({String? queryString}) {
log('MailboxDashBoardController::searchEmail():');
clearFilterMessageOption();
searchController.clearFilterSuggestion();
Expand All @@ -674,17 +674,18 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
}
searchController.updateFilterEmail(sortOrderOption: searchController.sortOrderFiltered.value.getSortOrder());
dispatchAction(StartSearchEmailAction());
KeyboardUtils.hideKeyboard(context);
if (_searchInsideEmailDetailedViewIsActive(context)) {
FocusManager.instance.primaryFocus?.unfocus();
if (_searchInsideEmailDetailedViewIsActive()) {
_closeEmailDetailedView();
}
_unSelectedMailbox();
}

bool _searchInsideEmailDetailedViewIsActive(BuildContext context) {
bool _searchInsideEmailDetailedViewIsActive() {
return PlatformInfo.isWeb
&& responsiveUtils.isDesktop(context)
&& dashboardRoute.value == DashboardRoutes.emailDetailed;
&& currentContext != null
&& responsiveUtils.isDesktop(currentContext!)
&& dashboardRoute.value == DashboardRoutes.emailDetailed;
}

void clearSearchEmail() {
Expand Down Expand Up @@ -911,7 +912,6 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
}

void moveSelectedMultipleEmailToMailbox(
BuildContext context,
List<PresentationEmail> listEmails,
PresentationMailbox currentMailbox
) async {
Expand Down Expand Up @@ -1856,8 +1856,8 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
!responsiveUtils.isWebDesktop(context);
}

void emptyTrashAction(BuildContext context) {
dispatchAction(EmptyTrashAction(context));
void emptyTrashAction() {
dispatchAction(EmptyTrashAction());
}

void showAppDashboardAction() async {
Expand Down Expand Up @@ -2450,11 +2450,11 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
return listEmailAddress;
}

void searchEmailByFromFields(BuildContext context, EmailAddress emailAddress) {
KeyboardUtils.hideKeyboard(context);
void searchEmailByFromFields(EmailAddress emailAddress) {
FocusManager.instance.primaryFocus?.unfocus();
clearFilterMessageOption();
searchController.clearFilterSuggestion();
if (_searchInsideEmailDetailedViewIsActive(context)) {
if (_searchInsideEmailDetailedViewIsActive()) {
_closeEmailDetailedView();
}
_unSelectedMailbox();
Expand Down Expand Up @@ -2783,13 +2783,13 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
filterMessageOption.value != FilterMessageOption.all;
}

void openAdvancedSearchView(BuildContext context) {
dispatchAction(OpenAdvancedSearchViewAction(context));
void openAdvancedSearchView() {
dispatchAction(OpenAdvancedSearchViewAction());
searchController.openAdvanceSearch();
}

void clearAllSearchFilterApplied(BuildContext context) {
dispatchAction(ClearSearchFilterAppliedAction(context));
void clearAllSearchFilterApplied() {
dispatchAction(ClearSearchFilterAppliedAction());
}

@override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
Obx(() {
if (controller.isEmptyTrashBannerEnabledOnWeb(context)) {
return BannerEmptyTrashWidget(
onTapAction: () => controller.emptyTrashAction(context)
onTapAction: controller.emptyTrashAction
);
} else {
return const SizedBox.shrink();
Expand Down Expand Up @@ -235,7 +235,6 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
controller.dispatchAction(CancelSelectionAllEmailAction()),
onEmailActionTypeAction: (listEmails, actionType) =>
controller.dispatchAction(HandleEmailActionTypeAction(
context,
listEmails,
actionType
)),
Expand Down Expand Up @@ -366,7 +365,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
imagePaths: controller.imagePaths,
isSelected: filterMessageCurrent != FilterMessageOption.all,
onSelectFilterMessageOptionAction: _onSelectFilterMessageOptionAction,
onDeleteFilterMessageOptionAction: (_) => _onDeleteFilterMessageOptionAction(context),
onDeleteFilterMessageOptionAction: (_) => _onDeleteFilterMessageOptionAction(),
),
);
}
Expand Down Expand Up @@ -410,17 +409,15 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
context,
filterMessageCurrent,
(filterMessageSelected) {
controller.dispatchAction(FilterMessageAction(
context,
filterMessageSelected));
controller.dispatchAction(FilterMessageAction(filterMessageSelected));
},
isSearchEmailRunning: controller.searchController.isSearchEmailRunning
)
);
}

void _onDeleteFilterMessageOptionAction(BuildContext context) {
controller.dispatchAction(FilterMessageAction(context, FilterMessageOption.all));
void _onDeleteFilterMessageOptionAction() {
controller.dispatchAction(FilterMessageAction(FilterMessageOption.all));
}

Widget _buildDownloadTaskStateWidget() {
Expand Down Expand Up @@ -522,7 +519,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
color: AppColor.primaryColor,
fontSize: 13,
fontWeight: FontWeight.w500),
onTapActionCallback: () => controller.clearAllSearchFilterApplied(context))
onTapActionCallback: controller.clearAllSearchFilterApplied)
else
TMailButtonWidget.fromText(
text: AppLocalizations.of(context).advancedSearch,
Expand All @@ -533,7 +530,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
color: AppColor.primaryColor,
fontSize: 13,
fontWeight: FontWeight.w500),
onTapActionCallback: () => controller.openAdvancedSearchView(context))
onTapActionCallback: controller.openAdvancedSearchView)
]
),
);
Expand Down
Loading

0 comments on commit 4245825

Please sign in to comment.