TF-4004 Avoid lost focus when display above iframe
This commit is contained in:
@@ -30,6 +30,7 @@ import 'package:tmail_ui_user/features/composer/presentation/widgets/web/local_f
|
||||
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/mobile_responsive_app_bar_composer_widget.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/toolbar_rich_text_widget.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/verify_display_overlay_view_on_iframe_extension.dart';
|
||||
import 'package:tmail_ui_user/main/routes/dialog_router.dart';
|
||||
|
||||
class ComposerView extends GetWidget<ComposerController> {
|
||||
|
||||
@@ -45,7 +46,8 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
final iframeOverlay = Obx(() {
|
||||
bool isOverlayEnabled = controller.mailboxDashBoardController.isDisplayedOverlayViewOnIFrame ||
|
||||
MessageDialogActionManager().isDialogOpened ||
|
||||
ColorDialogPicker().isOpened.isTrue;
|
||||
ColorDialogPicker().isOpened.isTrue ||
|
||||
DialogRouter.isRuleFilterDialogOpened.isTrue;
|
||||
|
||||
if (isOverlayEnabled) {
|
||||
return Positioned.fill(
|
||||
|
||||
@@ -38,6 +38,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/vacation_response_extension.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/widgets/vacation_notification_message_widget.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/dialog_router.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||
|
||||
class EmailView extends GetWidget<SingleEmailController> {
|
||||
@@ -535,7 +536,8 @@ class EmailView extends GetWidget<SingleEmailController> {
|
||||
bool isOverlayEnabled = controller.mailboxDashBoardController.isDisplayedOverlayViewOnIFrame ||
|
||||
MessageDialogActionManager().isDialogOpened ||
|
||||
EmailActionReactor.isDialogOpened ||
|
||||
ColorDialogPicker().isOpened.isTrue;
|
||||
ColorDialogPicker().isOpened.isTrue ||
|
||||
DialogRouter.isRuleFilterDialogOpened.isTrue;
|
||||
|
||||
if (isOverlayEnabled) {
|
||||
return Positioned.fill(
|
||||
|
||||
@@ -28,7 +28,8 @@ class SignatureBuilder extends StatelessWidget {
|
||||
if (PlatformInfo.isWeb) {
|
||||
final iframeOverlay = Obx(() {
|
||||
if (MessageDialogActionManager().isDialogOpened ||
|
||||
DialogRouter.isDialogOpened) {
|
||||
DialogRouter.isDialogOpened ||
|
||||
DialogRouter.isRuleFilterDialogOpened.isTrue) {
|
||||
return Positioned.fill(
|
||||
child: PointerInterceptor(
|
||||
child: const SizedBox.expand(),
|
||||
|
||||
@@ -33,10 +33,15 @@ class DialogRouter {
|
||||
);
|
||||
|
||||
_isDialogOpened.value = false;
|
||||
if (routeName == AppRoutes.rulesFilterCreator) {
|
||||
isRuleFilterDialogOpened.value = false;
|
||||
}
|
||||
return returnedValue;
|
||||
}
|
||||
|
||||
static final RxBool _isDialogOpened = false.obs;
|
||||
static final RxBool isRuleFilterDialogOpened = false.obs;
|
||||
|
||||
static bool get isDialogOpened => _isDialogOpened.value;
|
||||
|
||||
static void _bindingDI(String routeName) {
|
||||
@@ -46,6 +51,7 @@ class DialogRouter {
|
||||
MailboxCreatorBindings().dependencies();
|
||||
break;
|
||||
case AppRoutes.rulesFilterCreator:
|
||||
isRuleFilterDialogOpened.value = true;
|
||||
RulesFilterCreatorBindings().dependencies();
|
||||
break;
|
||||
case AppRoutes.identityCreator:
|
||||
|
||||
Reference in New Issue
Block a user