TF-1698 Fix system not redirect correct url when user double click many times to view email in mailbox
(cherry picked from commit 1f205b2d89d6db3b84193e8bd3941a3e310f2a6a)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
|
||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
import 'package:tmail_ui_user/features/base/action/ui_action.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
||||
|
||||
@@ -25,4 +26,14 @@ class RefreshChangeMailboxAction extends MailboxUIAction {
|
||||
|
||||
@override
|
||||
List<Object?> get props => [newState];
|
||||
}
|
||||
|
||||
class OpenMailboxAction extends MailboxUIAction {
|
||||
|
||||
final PresentationMailbox presentationMailbox;
|
||||
|
||||
OpenMailboxAction(this.presentationMailbox);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [presentationMailbox];
|
||||
}
|
||||
@@ -129,7 +129,7 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
|
||||
@override
|
||||
void onReady() {
|
||||
_openMailboxEventController.stream.throttleTime(const Duration(milliseconds: 800)).listen((event) {
|
||||
_openMailboxEventController.stream.debounceTime(const Duration(milliseconds: 500)).listen((event) {
|
||||
_handleOpenMailbox(event.buildContext, event.presentationMailbox);
|
||||
});
|
||||
_initCollapseMailboxCategories();
|
||||
@@ -251,8 +251,6 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
ever(mailboxDashBoardController.dashBoardAction, (action) {
|
||||
if (action is ClearSearchEmailAction) {
|
||||
_switchBackToMailboxDefault();
|
||||
} else if (action is OpenMailboxAction) {
|
||||
openMailbox(action.context, action.presentationMailbox);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -267,6 +265,11 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM
|
||||
_refreshMailboxChanges();
|
||||
}
|
||||
mailboxDashBoardController.clearMailboxUIAction();
|
||||
} else if (action is OpenMailboxAction) {
|
||||
if (currentContext != null) {
|
||||
openMailbox(currentContext!, action.presentationMailbox);
|
||||
}
|
||||
mailboxDashBoardController.clearMailboxUIAction();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user