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:
@@ -338,36 +338,34 @@ abstract class BaseMailboxController extends BaseController {
|
||||
)))
|
||||
).show(context);
|
||||
} else {
|
||||
showDialog(
|
||||
context: context,
|
||||
Get.dialog(
|
||||
PointerInterceptor(child: (EditTextDialogBuilder()
|
||||
..key(const Key('rename_mailbox_dialog'))
|
||||
..title(AppLocalizations.of(context).renameFolder)
|
||||
..cancelText(AppLocalizations.of(context).cancel)
|
||||
..setErrorString((value) {
|
||||
return verifyMailboxNameAction(
|
||||
context,
|
||||
value,
|
||||
listMailboxName,
|
||||
MailboxActions.rename
|
||||
);
|
||||
})
|
||||
..setTextController(TextEditingController.fromValue(
|
||||
TextEditingValue(
|
||||
text: presentationMailbox.name?.name ?? '',
|
||||
selection: TextSelection(
|
||||
baseOffset: 0,
|
||||
extentOffset: presentationMailbox.name?.name.length ?? 0
|
||||
)
|
||||
))
|
||||
)
|
||||
..onConfirmButtonAction(
|
||||
AppLocalizations.of(context).rename,
|
||||
(value) => onRenameMailboxAction(presentationMailbox, MailboxName(value))
|
||||
)
|
||||
).build()),
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
builder: (context) =>
|
||||
PointerInterceptor(child: (EditTextDialogBuilder()
|
||||
..key(const Key('rename_mailbox_dialog'))
|
||||
..title(AppLocalizations.of(context).renameFolder)
|
||||
..cancelText(AppLocalizations.of(context).cancel)
|
||||
..setErrorString((value) {
|
||||
return verifyMailboxNameAction(
|
||||
context,
|
||||
value,
|
||||
listMailboxName,
|
||||
MailboxActions.rename
|
||||
);
|
||||
})
|
||||
..setTextController(TextEditingController.fromValue(
|
||||
TextEditingValue(
|
||||
text: presentationMailbox.name?.name ?? '',
|
||||
selection: TextSelection(
|
||||
baseOffset: 0,
|
||||
extentOffset: presentationMailbox.name?.name.length ?? 0
|
||||
)
|
||||
))
|
||||
)
|
||||
..onConfirmButtonAction(
|
||||
AppLocalizations.of(context).rename,
|
||||
(value) => onRenameMailboxAction(presentationMailbox, MailboxName(value))
|
||||
)
|
||||
).build())
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -418,10 +416,8 @@ abstract class BaseMailboxController extends BaseController {
|
||||
..onConfirmAction(AppLocalizations.of(context).delete, () => onDeleteMailboxAction(presentationMailbox))
|
||||
).show();
|
||||
} else {
|
||||
showDialog(
|
||||
context: context,
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
builder: (context) => PointerInterceptor(
|
||||
Get.dialog(
|
||||
PointerInterceptor(
|
||||
child: (ConfirmDialogBuilder(imagePaths)
|
||||
..key(const Key('confirm_dialog_delete_mailbox'))
|
||||
..title(AppLocalizations.of(context).deleteFolders)
|
||||
@@ -436,7 +432,8 @@ abstract class BaseMailboxController extends BaseController {
|
||||
..onCloseButtonAction(() => popBack())
|
||||
..onConfirmButtonAction(AppLocalizations.of(context).delete, () => onDeleteMailboxAction(presentationMailbox))
|
||||
..onCancelButtonAction(AppLocalizations.of(context).cancel, () => popBack())
|
||||
).build())
|
||||
).build()),
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,33 +74,34 @@ mixin MailboxActionHandlerMixin {
|
||||
}))
|
||||
.show();
|
||||
} else {
|
||||
showDialog(
|
||||
context: context,
|
||||
Get.dialog(
|
||||
PointerInterceptor(child: (ConfirmDialogBuilder(imagePaths)
|
||||
..key(const Key('confirm_dialog_empty_trash'))
|
||||
..title(AppLocalizations.of(context).emptyTrash)
|
||||
..content(AppLocalizations.of(context).emptyTrashMessageDialog)
|
||||
..addIcon(SvgPicture.asset(imagePaths.icRemoveDialog, fit: BoxFit.fill))
|
||||
..colorConfirmButton(AppColor.colorConfirmActionDialog)
|
||||
..styleTextConfirmButton(const TextStyle(
|
||||
fontSize: 17,
|
||||
fontWeight: FontWeight.w500,
|
||||
color: AppColor.colorActionDeleteConfirmDialog))
|
||||
..onCloseButtonAction(popBack)
|
||||
..onConfirmButtonAction(AppLocalizations.of(context).delete, () {
|
||||
popBack();
|
||||
if (mailbox.countTotalEmails > 0) {
|
||||
dashboardController.emptyTrashFolderAction(trashFolderId: mailbox.id);
|
||||
} else {
|
||||
appToast.showToastWarningMessage(
|
||||
context,
|
||||
AppLocalizations.of(context).noEmailInYourCurrentFolder
|
||||
);
|
||||
}
|
||||
})
|
||||
..onCancelButtonAction(AppLocalizations.of(context).cancel, popBack))
|
||||
.build()
|
||||
),
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
builder: (context) => PointerInterceptor(child: (ConfirmDialogBuilder(imagePaths)
|
||||
..key(const Key('confirm_dialog_empty_trash'))
|
||||
..title(AppLocalizations.of(context).emptyTrash)
|
||||
..content(AppLocalizations.of(context).emptyTrashMessageDialog)
|
||||
..addIcon(SvgPicture.asset(imagePaths.icRemoveDialog, fit: BoxFit.fill))
|
||||
..colorConfirmButton(AppColor.colorConfirmActionDialog)
|
||||
..styleTextConfirmButton(const TextStyle(
|
||||
fontSize: 17,
|
||||
fontWeight: FontWeight.w500,
|
||||
color: AppColor.colorActionDeleteConfirmDialog))
|
||||
..onCloseButtonAction(popBack)
|
||||
..onConfirmButtonAction(AppLocalizations.of(context).delete, () {
|
||||
popBack();
|
||||
if (mailbox.countTotalEmails > 0) {
|
||||
dashboardController.emptyTrashFolderAction(trashFolderId: mailbox.id);
|
||||
} else {
|
||||
appToast.showToastWarningMessage(
|
||||
context,
|
||||
AppLocalizations.of(context).noEmailInYourCurrentFolder
|
||||
);
|
||||
}
|
||||
})
|
||||
..onCancelButtonAction(AppLocalizations.of(context).cancel, popBack))
|
||||
.build()));
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,10 +135,8 @@ mixin MailboxActionHandlerMixin {
|
||||
}))
|
||||
.show();
|
||||
} else {
|
||||
showDialog(
|
||||
context: context,
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
builder: (context) => PointerInterceptor(child: (ConfirmDialogBuilder(imagePaths)
|
||||
Get.dialog(
|
||||
PointerInterceptor(child: (ConfirmDialogBuilder(imagePaths)
|
||||
..key(const Key('confirm_dialog_empty_spam'))
|
||||
..title(AppLocalizations.of(context).emptySpamFolder)
|
||||
..content(AppLocalizations.of(context).emptySpamMessageDialog)
|
||||
@@ -160,7 +159,9 @@ mixin MailboxActionHandlerMixin {
|
||||
}
|
||||
})
|
||||
..onCancelButtonAction(AppLocalizations.of(context).cancel, popBack)
|
||||
).build()));
|
||||
).build()),
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -34,10 +34,8 @@ mixin MessageDialogActionMixin {
|
||||
final imagePaths = Get.find<ImagePaths>();
|
||||
|
||||
if (alignCenter) {
|
||||
return await showDialog(
|
||||
context: context,
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
builder: (BuildContext context) => PointerInterceptor(
|
||||
return await Get.dialog(
|
||||
PointerInterceptor(
|
||||
child: (ConfirmDialogBuilder(imagePaths, listTextSpan: listTextSpan, heightButton: 44)
|
||||
..key(const Key('confirm_dialog_action'))
|
||||
..title(title ?? '')
|
||||
@@ -66,18 +64,14 @@ mixin MessageDialogActionMixin {
|
||||
}
|
||||
)
|
||||
).build()
|
||||
)
|
||||
),
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
);
|
||||
} else {
|
||||
if (responsiveUtils.isMobile(context)) {
|
||||
if (showAsBottomSheet) {
|
||||
return await showModalBottomSheet(
|
||||
context: context,
|
||||
isScrollControlled: true,
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
backgroundColor: Colors.transparent,
|
||||
enableDrag: true,
|
||||
builder: (BuildContext context) => PointerInterceptor(
|
||||
return await Get.bottomSheet(
|
||||
PointerInterceptor(
|
||||
child: (ConfirmDialogBuilder(imagePaths, showAsBottomSheet: true, listTextSpan: listTextSpan)
|
||||
..key(const Key('confirm_dialog_action'))
|
||||
..title(title ?? '')
|
||||
@@ -108,7 +102,13 @@ mixin MessageDialogActionMixin {
|
||||
}
|
||||
)
|
||||
..onCloseButtonAction(() => popBack()))
|
||||
.build()));
|
||||
.build()
|
||||
),
|
||||
isScrollControlled: true,
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
backgroundColor: Colors.transparent,
|
||||
enableDrag: true,
|
||||
);
|
||||
} else {
|
||||
return (ConfirmationDialogActionSheetBuilder(context, listTextSpan: listTextSpan)
|
||||
..messageText(message)
|
||||
@@ -128,10 +128,8 @@ mixin MessageDialogActionMixin {
|
||||
})).show();
|
||||
}
|
||||
} else {
|
||||
return await showDialog(
|
||||
context: context,
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
builder: (BuildContext context) => PointerInterceptor(
|
||||
return await Get.dialog(
|
||||
PointerInterceptor(
|
||||
child: (ConfirmDialogBuilder(imagePaths, listTextSpan: listTextSpan)
|
||||
..key(const Key('confirm_dialog_action'))
|
||||
..title(title ?? '')
|
||||
@@ -161,7 +159,8 @@ mixin MessageDialogActionMixin {
|
||||
)
|
||||
..onCloseButtonAction(() => popBack()))
|
||||
.build()
|
||||
)
|
||||
),
|
||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,8 +9,8 @@ import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
mixin PopupContextMenuActionMixin {
|
||||
|
||||
void openContextMenuAction(BuildContext context, List<Widget> actionTiles, {Widget? cancelButton}) {
|
||||
(CupertinoActionSheetBuilder(context)
|
||||
void openContextMenuAction(BuildContext context, List<Widget> actionTiles, {Widget? cancelButton}) async {
|
||||
await (CupertinoActionSheetBuilder(context)
|
||||
..addTiles(actionTiles)
|
||||
..addCancelButton(cancelButton ?? buildCancelButton(context)))
|
||||
.show();
|
||||
|
||||
Reference in New Issue
Block a user