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/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/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/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> {
|
class ComposerView extends GetWidget<ComposerController> {
|
||||||
|
|
||||||
@@ -45,7 +46,8 @@ class ComposerView extends GetWidget<ComposerController> {
|
|||||||
final iframeOverlay = Obx(() {
|
final iframeOverlay = Obx(() {
|
||||||
bool isOverlayEnabled = controller.mailboxDashBoardController.isDisplayedOverlayViewOnIFrame ||
|
bool isOverlayEnabled = controller.mailboxDashBoardController.isDisplayedOverlayViewOnIFrame ||
|
||||||
MessageDialogActionManager().isDialogOpened ||
|
MessageDialogActionManager().isDialogOpened ||
|
||||||
ColorDialogPicker().isOpened.isTrue;
|
ColorDialogPicker().isOpened.isTrue ||
|
||||||
|
DialogRouter.isRuleFilterDialogOpened.isTrue;
|
||||||
|
|
||||||
if (isOverlayEnabled) {
|
if (isOverlayEnabled) {
|
||||||
return Positioned.fill(
|
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/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/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/localizations/app_localizations.dart';
|
||||||
|
import 'package:tmail_ui_user/main/routes/dialog_router.dart';
|
||||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||||
|
|
||||||
class EmailView extends GetWidget<SingleEmailController> {
|
class EmailView extends GetWidget<SingleEmailController> {
|
||||||
@@ -535,7 +536,8 @@ class EmailView extends GetWidget<SingleEmailController> {
|
|||||||
bool isOverlayEnabled = controller.mailboxDashBoardController.isDisplayedOverlayViewOnIFrame ||
|
bool isOverlayEnabled = controller.mailboxDashBoardController.isDisplayedOverlayViewOnIFrame ||
|
||||||
MessageDialogActionManager().isDialogOpened ||
|
MessageDialogActionManager().isDialogOpened ||
|
||||||
EmailActionReactor.isDialogOpened ||
|
EmailActionReactor.isDialogOpened ||
|
||||||
ColorDialogPicker().isOpened.isTrue;
|
ColorDialogPicker().isOpened.isTrue ||
|
||||||
|
DialogRouter.isRuleFilterDialogOpened.isTrue;
|
||||||
|
|
||||||
if (isOverlayEnabled) {
|
if (isOverlayEnabled) {
|
||||||
return Positioned.fill(
|
return Positioned.fill(
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ class SignatureBuilder extends StatelessWidget {
|
|||||||
if (PlatformInfo.isWeb) {
|
if (PlatformInfo.isWeb) {
|
||||||
final iframeOverlay = Obx(() {
|
final iframeOverlay = Obx(() {
|
||||||
if (MessageDialogActionManager().isDialogOpened ||
|
if (MessageDialogActionManager().isDialogOpened ||
|
||||||
DialogRouter.isDialogOpened) {
|
DialogRouter.isDialogOpened ||
|
||||||
|
DialogRouter.isRuleFilterDialogOpened.isTrue) {
|
||||||
return Positioned.fill(
|
return Positioned.fill(
|
||||||
child: PointerInterceptor(
|
child: PointerInterceptor(
|
||||||
child: const SizedBox.expand(),
|
child: const SizedBox.expand(),
|
||||||
|
|||||||
@@ -33,10 +33,15 @@ class DialogRouter {
|
|||||||
);
|
);
|
||||||
|
|
||||||
_isDialogOpened.value = false;
|
_isDialogOpened.value = false;
|
||||||
|
if (routeName == AppRoutes.rulesFilterCreator) {
|
||||||
|
isRuleFilterDialogOpened.value = false;
|
||||||
|
}
|
||||||
return returnedValue;
|
return returnedValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
static final RxBool _isDialogOpened = false.obs;
|
static final RxBool _isDialogOpened = false.obs;
|
||||||
|
static final RxBool isRuleFilterDialogOpened = false.obs;
|
||||||
|
|
||||||
static bool get isDialogOpened => _isDialogOpened.value;
|
static bool get isDialogOpened => _isDialogOpened.value;
|
||||||
|
|
||||||
static void _bindingDI(String routeName) {
|
static void _bindingDI(String routeName) {
|
||||||
@@ -46,6 +51,7 @@ class DialogRouter {
|
|||||||
MailboxCreatorBindings().dependencies();
|
MailboxCreatorBindings().dependencies();
|
||||||
break;
|
break;
|
||||||
case AppRoutes.rulesFilterCreator:
|
case AppRoutes.rulesFilterCreator:
|
||||||
|
isRuleFilterDialogOpened.value = true;
|
||||||
RulesFilterCreatorBindings().dependencies();
|
RulesFilterCreatorBindings().dependencies();
|
||||||
break;
|
break;
|
||||||
case AppRoutes.identityCreator:
|
case AppRoutes.identityCreator:
|
||||||
|
|||||||
Reference in New Issue
Block a user