TF-1831 Handle system back button in dialog view
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit dc93aa9961987315bd1b478aecda530049b75f02)
This commit is contained in:
@@ -11,15 +11,15 @@ import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||
import 'package:rule_filter/rule_filter/tmail_rule.dart';
|
||||
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_email_rule_filter_request.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/delete_email_rule_request.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/edit_email_rule_filter_request.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/state/delete_email_rule_state.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_email_rule_filter_request.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/state/create_new_rule_filter_state.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/state/delete_email_rule_state.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/state/edit_email_rule_filter_state.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_rules_state.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/delete_email_rule_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/create_new_email_rule_filter_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/delete_email_rule_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/edit_email_rule_filter_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_rules_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/email_rules/widgets/email_rule_bottom_sheet_action_tile_builder.dart';
|
||||
@@ -27,9 +27,9 @@ import 'package:tmail_ui_user/features/manage_account/presentation/manage_accoun
|
||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/model/creator_action_type.dart';
|
||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/model/rules_filter_creator_arguments.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/dialog_router.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
|
||||
class EmailRulesController extends BaseController {
|
||||
|
||||
@@ -166,28 +166,29 @@ class EmailRulesController extends BaseController {
|
||||
}))
|
||||
.show();
|
||||
} else {
|
||||
showDialog(
|
||||
context: context,
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
builder: (BuildContext context) =>
|
||||
PointerInterceptor(child: (ConfirmDialogBuilder(imagePaths)
|
||||
..title(AppLocalizations.of(context).deleteEmailRule)
|
||||
..content(AppLocalizations.of(context).messageConfirmationDialogDeleteEmailRule(emailRule.name))
|
||||
..addIcon(SvgPicture.asset(imagePaths.icRemoveDialog,
|
||||
fit: BoxFit.fill))
|
||||
..marginIcon(EdgeInsets.zero)
|
||||
..colorConfirmButton(AppColor.colorConfirmActionDialog)
|
||||
..styleTextConfirmButton(const TextStyle(
|
||||
fontSize: 17,
|
||||
fontWeight: FontWeight.w500,
|
||||
color: AppColor.colorActionDeleteConfirmDialog))
|
||||
..onCloseButtonAction(() => popBack())
|
||||
..onConfirmButtonAction(AppLocalizations.of(context).delete, () {
|
||||
_handleDeleteEmailRuleAction(emailRule);
|
||||
})
|
||||
..onCancelButtonAction(AppLocalizations.of(context).cancel, () =>
|
||||
popBack()))
|
||||
.build()));
|
||||
Get.dialog(
|
||||
PointerInterceptor(
|
||||
child: (ConfirmDialogBuilder(imagePaths)
|
||||
..title(AppLocalizations.of(context).deleteEmailRule)
|
||||
..content(AppLocalizations.of(context).messageConfirmationDialogDeleteEmailRule(emailRule.name))
|
||||
..addIcon(SvgPicture.asset(imagePaths.icRemoveDialog,
|
||||
fit: BoxFit.fill))
|
||||
..marginIcon(EdgeInsets.zero)
|
||||
..colorConfirmButton(AppColor.colorConfirmActionDialog)
|
||||
..styleTextConfirmButton(const TextStyle(
|
||||
fontSize: 17,
|
||||
fontWeight: FontWeight.w500,
|
||||
color: AppColor.colorActionDeleteConfirmDialog))
|
||||
..onCloseButtonAction(() => popBack())
|
||||
..onConfirmButtonAction(AppLocalizations.of(context).delete, () {
|
||||
_handleDeleteEmailRuleAction(emailRule);
|
||||
})
|
||||
..onCancelButtonAction(AppLocalizations.of(context).cancel, () =>
|
||||
popBack()))
|
||||
.build()
|
||||
),
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+24
-24
@@ -192,14 +192,14 @@ class IdentitiesController extends BaseController {
|
||||
}
|
||||
|
||||
void openConfirmationDialogDeleteIdentityAction(BuildContext context, Identity identity) {
|
||||
showDialog(
|
||||
context: context,
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
builder: (BuildContext context) => DeleteIdentityDialogBuilder(
|
||||
Get.dialog(
|
||||
DeleteIdentityDialogBuilder(
|
||||
responsiveUtils: responsiveUtils,
|
||||
imagePaths: imagePaths,
|
||||
onDeleteIdentityAction: () => _deleteIdentityAction(identity),
|
||||
));
|
||||
),
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
);
|
||||
}
|
||||
|
||||
void _deleteIdentityAction(Identity identity) {
|
||||
@@ -225,25 +225,25 @@ class IdentitiesController extends BaseController {
|
||||
|
||||
void _deleteIdentityFailure(DeleteIdentityFailure failure) {
|
||||
if (currentContext != null) {
|
||||
showDialog(
|
||||
context: currentContext!,
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
builder: (BuildContext context) => (ConfirmDialogBuilder(imagePaths)
|
||||
..key(const Key('dialog_message_delete_identity_failed'))
|
||||
..title(AppLocalizations.of(context).delete_failed)
|
||||
..addIcon(SvgPicture.asset(imagePaths.icDeleteDialogFailed, fit: BoxFit.fill))
|
||||
..marginIcon(EdgeInsets.zero)
|
||||
..styleTitle(const TextStyle(fontSize: 20,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: Colors.black))
|
||||
..colorConfirmButton(AppColor.colorTextButton)
|
||||
..paddingTitle(const EdgeInsets.symmetric(vertical: 12))
|
||||
..styleTextConfirmButton(const TextStyle(fontSize: 17,
|
||||
fontWeight: FontWeight.w500,
|
||||
color: Colors.white))
|
||||
..onCloseButtonAction(() => popBack())
|
||||
..onConfirmButtonAction('${AppLocalizations.of(context).got_it}!', () => popBack()))
|
||||
.build());
|
||||
Get.dialog(
|
||||
(ConfirmDialogBuilder(imagePaths)
|
||||
..key(const Key('dialog_message_delete_identity_failed'))
|
||||
..title(AppLocalizations.of(currentContext!).delete_failed)
|
||||
..addIcon(SvgPicture.asset(imagePaths.icDeleteDialogFailed, fit: BoxFit.fill))
|
||||
..marginIcon(EdgeInsets.zero)
|
||||
..styleTitle(const TextStyle(fontSize: 20,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: Colors.black))
|
||||
..colorConfirmButton(AppColor.colorTextButton)
|
||||
..paddingTitle(const EdgeInsets.symmetric(vertical: 12))
|
||||
..styleTextConfirmButton(const TextStyle(fontSize: 17,
|
||||
fontWeight: FontWeight.w500,
|
||||
color: Colors.white))
|
||||
..onCloseButtonAction(() => popBack())
|
||||
..onConfirmButtonAction('${AppLocalizations.of(currentContext!).got_it}!', () => popBack()))
|
||||
.build(),
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user