TF-3002 [WEB] Remove BuildContext in dashboard action

This commit is contained in:
dab246
2024-09-16 13:14:25 +07:00
committed by Dat H. Pham
parent e1357b1a79
commit f7ff775a10
15 changed files with 113 additions and 193 deletions
@@ -78,7 +78,7 @@ class AdvancedFilterController extends BaseController {
super.onReady();
}
void clearSearchFilter(BuildContext context) {
void clearSearchFilter() {
searchController.clearSearchFilter();
_resetAllToOriginalValue();
_clearAllTextFieldInput();
@@ -86,7 +86,7 @@ class AdvancedFilterController extends BaseController {
searchController.clearSortOrder();
searchController.deactivateAdvancedSearch();
searchController.isAdvancedSearchViewOpen.value = false;
_mailboxDashBoardController.searchEmail(context);
_mailboxDashBoardController.searchEmail();
}
void _updateFilterEmailFromAdvancedSearchView() {
@@ -156,7 +156,7 @@ class AdvancedFilterController extends BaseController {
}
}
void applyAdvancedSearchFilter(BuildContext context) {
void applyAdvancedSearchFilter() {
_updateFilterEmailFromAdvancedSearchView();
if (isAdvancedSearchHasApplied) {
searchController.activateAdvancedSearch();
@@ -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 {
@@ -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) {
@@ -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();
}
}
);
@@ -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
@@ -667,7 +667,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();
@@ -676,17 +676,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() {
@@ -913,7 +914,6 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
}
void moveSelectedMultipleEmailToMailbox(
BuildContext context,
List<PresentationEmail> listEmails,
PresentationMailbox currentMailbox
) async {
@@ -1864,8 +1864,8 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
!responsiveUtils.isWebDesktop(context);
}
void emptyTrashAction(BuildContext context) {
dispatchAction(EmptyTrashAction(context));
void emptyTrashAction() {
dispatchAction(EmptyTrashAction());
}
void showAppDashboardAction() async {
@@ -2487,11 +2487,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();
@@ -2820,13 +2820,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