TF-599 Apply action context menu for mailbox
This commit is contained in:
+25
-16
@@ -57,29 +57,38 @@ class ConfirmationDialogActionSheetBuilder {
|
|||||||
Container(
|
Container(
|
||||||
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 10),
|
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 10),
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
child: CupertinoActionSheetAction(
|
child: MouseRegion(
|
||||||
child: Text(
|
cursor: BuildUtils.isWeb ? MaterialStateMouseCursor.clickable : MouseCursor.defer,
|
||||||
_messageText ?? '',
|
child: CupertinoActionSheetAction(
|
||||||
textAlign: TextAlign.center,
|
child: Text(
|
||||||
style: _styleMessage ?? TextStyle(fontSize: 14, color: AppColor.colorMessageConfirmDialog)),
|
_messageText ?? '',
|
||||||
onPressed: () => {},
|
textAlign: TextAlign.center,
|
||||||
|
style: _styleMessage ?? TextStyle(fontSize: 14, color: AppColor.colorMessageConfirmDialog)),
|
||||||
|
onPressed: () => {},
|
||||||
|
),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
Container(
|
Container(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
child: CupertinoActionSheetAction(
|
child: MouseRegion(
|
||||||
child: Text(
|
cursor: BuildUtils.isWeb ? MaterialStateMouseCursor.clickable : MouseCursor.defer,
|
||||||
_confirmText ?? '',
|
child: CupertinoActionSheetAction(
|
||||||
style: _styleConfirmButton ?? TextStyle(fontWeight: FontWeight.w500, fontSize: 20, color: AppColor.colorActionDeleteConfirmDialog)),
|
child: Text(
|
||||||
onPressed: () => _onConfirmActionClick?.call(),
|
_confirmText ?? '',
|
||||||
|
style: _styleConfirmButton ?? TextStyle(fontWeight: FontWeight.w500, fontSize: 20, color: AppColor.colorActionDeleteConfirmDialog)),
|
||||||
|
onPressed: () => _onConfirmActionClick?.call(),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
cancelButton: CupertinoActionSheetAction(
|
cancelButton: MouseRegion(
|
||||||
child: Text(
|
cursor: BuildUtils.isWeb ? MaterialStateMouseCursor.clickable : MouseCursor.defer,
|
||||||
_cancelText ?? '',
|
child: CupertinoActionSheetAction(
|
||||||
style: _styleCancelButton ?? TextStyle(fontWeight: FontWeight.w500, fontSize: 20, color: AppColor.colorActionCancelDialog)),
|
child: Text(
|
||||||
onPressed: () => _onCancelActionClick?.call(),
|
_cancelText ?? '',
|
||||||
|
style: _styleCancelButton ?? TextStyle(fontWeight: FontWeight.w500, fontSize: 20, color: AppColor.colorActionCancelDialog)),
|
||||||
|
onPressed: () => _onCancelActionClick?.call(),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
))
|
))
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -25,11 +25,14 @@ mixin PopupContextMenuActionMixin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget buildCancelButton(BuildContext context) {
|
Widget buildCancelButton(BuildContext context) {
|
||||||
return CupertinoActionSheetAction(
|
return MouseRegion(
|
||||||
child: Text(
|
cursor: BuildUtils.isWeb ? MaterialStateMouseCursor.clickable : MouseCursor.defer,
|
||||||
AppLocalizations.of(context).cancel,
|
child: CupertinoActionSheetAction(
|
||||||
style: const TextStyle(fontWeight: FontWeight.w500, fontSize: 20, color: AppColor.colorTextButton)),
|
child: Text(
|
||||||
onPressed: () => popBack(),
|
AppLocalizations.of(context).cancel,
|
||||||
|
style: const TextStyle(fontWeight: FontWeight.w500, fontSize: 20, color: AppColor.colorTextButton)),
|
||||||
|
onPressed: () => popBack(),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+16
-13
@@ -30,19 +30,22 @@ class EmailActionCupertinoActionSheetActionBuilder extends CupertinoActionSheetA
|
|||||||
Widget build() {
|
Widget build() {
|
||||||
return Container(
|
return Container(
|
||||||
color: bgColor ?? Colors.white,
|
color: bgColor ?? Colors.white,
|
||||||
child: CupertinoActionSheetAction(
|
child: MouseRegion(
|
||||||
key: key,
|
cursor: BuildUtils.isWeb ? MaterialStateMouseCursor.clickable : MouseCursor.defer,
|
||||||
child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [
|
child: CupertinoActionSheetAction(
|
||||||
Padding(
|
key: key,
|
||||||
padding: iconLeftPadding ?? const EdgeInsets.only(left: 12, right: 16),
|
child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [
|
||||||
child: actionIcon),
|
Padding(
|
||||||
Expanded(child: Text(actionName, textAlign: TextAlign.left, style: actionTextStyle())),
|
padding: iconLeftPadding ?? const EdgeInsets.only(left: 12, right: 16),
|
||||||
]),
|
child: actionIcon),
|
||||||
onPressed: () {
|
Expanded(child: Text(actionName, textAlign: TextAlign.left, style: actionTextStyle())),
|
||||||
if (onCupertinoActionSheetActionClick != null) {
|
]),
|
||||||
onCupertinoActionSheetActionClick!(presentationEmail);
|
onPressed: () {
|
||||||
}
|
if (onCupertinoActionSheetActionClick != null) {
|
||||||
},
|
onCupertinoActionSheetActionClick!(presentationEmail);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -684,6 +684,28 @@ class MailboxController extends BaseMailboxController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void handleMailboxAction(BuildContext context, MailboxActions actions,
|
||||||
|
PresentationMailbox mailbox) {
|
||||||
|
popBack();
|
||||||
|
|
||||||
|
switch(actions) {
|
||||||
|
case MailboxActions.delete:
|
||||||
|
_openConfirmationDialogDeleteMailboxAction(context, mailbox);
|
||||||
|
break;
|
||||||
|
case MailboxActions.rename:
|
||||||
|
_openDialogRenameMailboxAction(context, mailbox);
|
||||||
|
break;
|
||||||
|
case MailboxActions.move:
|
||||||
|
_appToast.showToast(AppLocalizations.of(context).the_feature_is_under_development);
|
||||||
|
break;
|
||||||
|
case MailboxActions.markAsRead:
|
||||||
|
_appToast.showToast(AppLocalizations.of(context).the_feature_is_under_development);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void closeMailboxScreen(BuildContext context) {
|
void closeMailboxScreen(BuildContext context) {
|
||||||
_cancelSelectMailbox();
|
_cancelSelectMailbox();
|
||||||
mailboxDashBoardController.closeMailboxMenuDrawer();
|
mailboxDashBoardController.closeMailboxMenuDrawer();
|
||||||
|
|||||||
@@ -5,17 +5,20 @@ import 'package:get/get.dart';
|
|||||||
import 'package:model/model.dart';
|
import 'package:model/model.dart';
|
||||||
import 'package:package_info_plus/package_info_plus.dart';
|
import 'package:package_info_plus/package_info_plus.dart';
|
||||||
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
|
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
|
||||||
|
import 'package:tmail_ui_user/features/base/mixin/popup_menu_widget_mixin.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_controller.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_controller.dart';
|
||||||
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_categories.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_categories.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/bottom_bar_selection_mailbox_widget.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/bottom_bar_selection_mailbox_widget.dart';
|
||||||
|
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/mailbox_bottom_sheet_action_tile_builder.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/mailbox_folder_tile_builder.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/mailbox_folder_tile_builder.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/mailbox_search_tile_builder.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/mailbox_search_tile_builder.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/user_information_widget_builder.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/user_information_widget_builder.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/presentation/widgets/search_app_bar_widget.dart';
|
import 'package:tmail_ui_user/features/thread/presentation/widgets/search_app_bar_widget.dart';
|
||||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||||
|
|
||||||
class MailboxView extends GetWidget<MailboxController> with AppLoaderMixin {
|
class MailboxView extends GetWidget<MailboxController> with AppLoaderMixin, PopupMenuWidgetMixin {
|
||||||
|
|
||||||
final _imagePaths = Get.find<ImagePaths>();
|
final _imagePaths = Get.find<ImagePaths>();
|
||||||
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
||||||
@@ -350,6 +353,63 @@ class MailboxView extends GetWidget<MailboxController> with AppLoaderMixin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _openMailboxMenuAction(BuildContext context, RelativeRect position,
|
void _openMailboxMenuAction(BuildContext context, RelativeRect position,
|
||||||
PresentationMailbox presentationMailbox) {
|
PresentationMailbox mailbox) {
|
||||||
|
final listMailboxActions = [
|
||||||
|
MailboxActions.markAsRead,
|
||||||
|
if (!mailbox.hasRole()) MailboxActions.move,
|
||||||
|
if (!mailbox.hasRole()) MailboxActions.rename,
|
||||||
|
if (!mailbox.hasRole()) MailboxActions.delete,
|
||||||
|
];
|
||||||
|
|
||||||
|
if (_responsiveUtils.isScreenWithShortestSide(context)) {
|
||||||
|
controller.openContextMenuAction(context,
|
||||||
|
_bottomSheetIdentityActionTiles(context, mailbox, listMailboxActions));
|
||||||
|
} else {
|
||||||
|
controller.openPopupMenuAction(context, position,
|
||||||
|
_popupMenuMailboxActionTiles(context, mailbox, listMailboxActions));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Widget> _bottomSheetIdentityActionTiles(BuildContext context,
|
||||||
|
PresentationMailbox mailbox, List<MailboxActions> listMailboxActions) {
|
||||||
|
return listMailboxActions
|
||||||
|
.map((action) => _mailboxContextMenuActionTile(context, action, mailbox))
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _mailboxContextMenuActionTile(BuildContext context, MailboxActions actions,
|
||||||
|
PresentationMailbox mailbox) {
|
||||||
|
return (MailboxBottomSheetActionTileBuilder(
|
||||||
|
Key('${actions.name}_action'),
|
||||||
|
SvgPicture.asset(
|
||||||
|
actions.getContextMenuIcon(_imagePaths),
|
||||||
|
color: actions.getColorContextMenuIcon()),
|
||||||
|
actions.getTitleContextMenu(context),
|
||||||
|
mailbox)
|
||||||
|
..onActionClick((mailbox) =>
|
||||||
|
controller.handleMailboxAction(context, actions, mailbox)))
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
List<PopupMenuEntry> _popupMenuMailboxActionTiles(BuildContext context,
|
||||||
|
PresentationMailbox mailbox, List<MailboxActions> listMailboxActions) {
|
||||||
|
return listMailboxActions
|
||||||
|
.map((action) => _mailboxPopupMenuActionTile(context, action, mailbox))
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
PopupMenuItem _mailboxPopupMenuActionTile(BuildContext context, MailboxActions actions,
|
||||||
|
PresentationMailbox mailbox) {
|
||||||
|
return PopupMenuItem(
|
||||||
|
padding: EdgeInsets.zero,
|
||||||
|
child: popupItem(actions.getContextMenuIcon(_imagePaths),
|
||||||
|
actions.getTitleContextMenu(context),
|
||||||
|
colorIcon: actions.getColorContextMenuIcon(),
|
||||||
|
styleName: TextStyle(
|
||||||
|
fontWeight: FontWeight.normal,
|
||||||
|
fontSize: 17,
|
||||||
|
color: actions.getColorContextMenuIcon()),
|
||||||
|
onCallbackAction: () =>
|
||||||
|
controller.handleMailboxAction(context, actions, mailbox)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
|
|
||||||
|
import 'package:core/core.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||||
|
|
||||||
enum MailboxActions {
|
enum MailboxActions {
|
||||||
@@ -7,6 +9,8 @@ enum MailboxActions {
|
|||||||
moveEmail,
|
moveEmail,
|
||||||
delete,
|
delete,
|
||||||
rename,
|
rename,
|
||||||
|
move,
|
||||||
|
markAsRead,
|
||||||
}
|
}
|
||||||
|
|
||||||
extension MailboxActionsExtension on MailboxActions {
|
extension MailboxActionsExtension on MailboxActions {
|
||||||
@@ -21,4 +25,43 @@ extension MailboxActionsExtension on MailboxActions {
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String getTitleContextMenu(BuildContext context) {
|
||||||
|
switch(this) {
|
||||||
|
case MailboxActions.markAsRead:
|
||||||
|
return AppLocalizations.of(context).mark_as_read;
|
||||||
|
case MailboxActions.move:
|
||||||
|
return AppLocalizations.of(context).moveMailbox;
|
||||||
|
case MailboxActions.rename:
|
||||||
|
return AppLocalizations.of(context).rename_mailbox;
|
||||||
|
case MailboxActions.delete:
|
||||||
|
return AppLocalizations.of(context).deleteMailbox;
|
||||||
|
default:
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String getContextMenuIcon(ImagePaths imagePaths) {
|
||||||
|
switch(this) {
|
||||||
|
case MailboxActions.markAsRead:
|
||||||
|
return imagePaths.icRead;
|
||||||
|
case MailboxActions.move:
|
||||||
|
return imagePaths.icMove;
|
||||||
|
case MailboxActions.rename:
|
||||||
|
return imagePaths.icRenameMailbox;
|
||||||
|
case MailboxActions.delete:
|
||||||
|
return imagePaths.icDelete;
|
||||||
|
default:
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Color getColorContextMenuIcon() {
|
||||||
|
switch(this) {
|
||||||
|
case MailboxActions.delete:
|
||||||
|
return AppColor.colorActionDeleteConfirmDialog;
|
||||||
|
default:
|
||||||
|
return Colors.black;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+52
@@ -0,0 +1,52 @@
|
|||||||
|
|
||||||
|
import 'package:core/core.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_svg/svg.dart';
|
||||||
|
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||||
|
|
||||||
|
class MailboxBottomSheetActionTileBuilder extends CupertinoActionSheetActionBuilder<PresentationMailbox> {
|
||||||
|
|
||||||
|
final PresentationMailbox presentationMailbox;
|
||||||
|
final SvgPicture? actionSelected;
|
||||||
|
final Color? bgColor;
|
||||||
|
final EdgeInsets? iconLeftPadding;
|
||||||
|
final EdgeInsets? iconRightPadding;
|
||||||
|
|
||||||
|
MailboxBottomSheetActionTileBuilder(
|
||||||
|
Key key,
|
||||||
|
SvgPicture actionIcon,
|
||||||
|
String actionName,
|
||||||
|
this.presentationMailbox,
|
||||||
|
{
|
||||||
|
this.actionSelected,
|
||||||
|
this.bgColor,
|
||||||
|
this.iconLeftPadding,
|
||||||
|
this.iconRightPadding,
|
||||||
|
}
|
||||||
|
) : super(key, actionIcon, actionName);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build() {
|
||||||
|
return Container(
|
||||||
|
color: bgColor ?? Colors.white,
|
||||||
|
child: MouseRegion(
|
||||||
|
cursor: BuildUtils.isWeb ? MaterialStateMouseCursor.clickable : MouseCursor.defer,
|
||||||
|
child: CupertinoActionSheetAction(
|
||||||
|
key: key,
|
||||||
|
child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [
|
||||||
|
Padding(
|
||||||
|
padding: iconLeftPadding ?? const EdgeInsets.only(left: 12, right: 16),
|
||||||
|
child: actionIcon),
|
||||||
|
Expanded(child: Text(actionName, textAlign: TextAlign.left, style: actionTextStyle())),
|
||||||
|
]),
|
||||||
|
onPressed: () {
|
||||||
|
if (onCupertinoActionSheetActionClick != null) {
|
||||||
|
onCupertinoActionSheetActionClick!(presentationMailbox);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
+16
-13
@@ -30,19 +30,22 @@ class IdentityBottomSheetActionTileBuilder extends CupertinoActionSheetActionBui
|
|||||||
Widget build() {
|
Widget build() {
|
||||||
return Container(
|
return Container(
|
||||||
color: bgColor ?? Colors.white,
|
color: bgColor ?? Colors.white,
|
||||||
child: CupertinoActionSheetAction(
|
child: MouseRegion(
|
||||||
key: key,
|
cursor: BuildUtils.isWeb ? MaterialStateMouseCursor.clickable : MouseCursor.defer,
|
||||||
child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [
|
child: CupertinoActionSheetAction(
|
||||||
Padding(
|
key: key,
|
||||||
padding: iconLeftPadding ?? const EdgeInsets.only(left: 12, right: 16),
|
child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [
|
||||||
child: actionIcon),
|
Padding(
|
||||||
Expanded(child: Text(actionName, textAlign: TextAlign.left, style: actionTextStyle())),
|
padding: iconLeftPadding ?? const EdgeInsets.only(left: 12, right: 16),
|
||||||
]),
|
child: actionIcon),
|
||||||
onPressed: () {
|
Expanded(child: Text(actionName, textAlign: TextAlign.left, style: actionTextStyle())),
|
||||||
if (onCupertinoActionSheetActionClick != null) {
|
]),
|
||||||
onCupertinoActionSheetActionClick!(identity);
|
onPressed: () {
|
||||||
}
|
if (onCupertinoActionSheetActionClick != null) {
|
||||||
},
|
onCupertinoActionSheetActionClick!(identity);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,15 +23,18 @@ class AppActionSheetActionBuilder extends CupertinoActionSheetActionBuilder {
|
|||||||
Widget build() {
|
Widget build() {
|
||||||
return Container(
|
return Container(
|
||||||
color: bgColor ?? Colors.white,
|
color: bgColor ?? Colors.white,
|
||||||
child: CupertinoActionSheetAction(
|
child: MouseRegion(
|
||||||
key: key,
|
cursor: BuildUtils.isWeb ? MaterialStateMouseCursor.clickable : MouseCursor.defer,
|
||||||
child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [
|
child: CupertinoActionSheetAction(
|
||||||
Padding(
|
key: key,
|
||||||
padding: iconLeftPadding ?? const EdgeInsets.only(left: 12, right: 16),
|
child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [
|
||||||
child: actionIcon),
|
Padding(
|
||||||
Expanded(child: Text(actionName, textAlign: TextAlign.left, style: actionTextStyle())),
|
padding: iconLeftPadding ?? const EdgeInsets.only(left: 12, right: 16),
|
||||||
]),
|
child: actionIcon),
|
||||||
onPressed: () => onCupertinoActionSheetActionClick?.call(null),
|
Expanded(child: Text(actionName, textAlign: TextAlign.left, style: actionTextStyle())),
|
||||||
|
]),
|
||||||
|
onPressed: () => onCupertinoActionSheetActionClick?.call(null),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
+19
-16
@@ -33,23 +33,26 @@ class FilterMessageCupertinoActionSheetActionBuilder
|
|||||||
Widget build() {
|
Widget build() {
|
||||||
return Container(
|
return Container(
|
||||||
color: bgColor ?? Colors.white,
|
color: bgColor ?? Colors.white,
|
||||||
child: CupertinoActionSheetAction(
|
child: MouseRegion(
|
||||||
key: key,
|
cursor: BuildUtils.isWeb ? MaterialStateMouseCursor.clickable : MouseCursor.defer,
|
||||||
child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [
|
child: CupertinoActionSheetAction(
|
||||||
Padding(
|
key: key,
|
||||||
padding: iconLeftPadding ?? const EdgeInsets.only(left: 12, right: 16),
|
child: Row(mainAxisAlignment: MainAxisAlignment.center, children: [
|
||||||
child: actionIcon),
|
|
||||||
Expanded(child: Text(actionName, textAlign: TextAlign.left, style: actionTextStyle())),
|
|
||||||
if (optionCurrent == option && actionSelected != null)
|
|
||||||
Padding(
|
Padding(
|
||||||
padding: iconRightPadding ?? const EdgeInsets.only(right: 12),
|
padding: iconLeftPadding ?? const EdgeInsets.only(left: 12, right: 16),
|
||||||
child: actionSelected!),
|
child: actionIcon),
|
||||||
]),
|
Expanded(child: Text(actionName, textAlign: TextAlign.left, style: actionTextStyle())),
|
||||||
onPressed: () {
|
if (optionCurrent == option && actionSelected != null)
|
||||||
if (onCupertinoActionSheetActionClick != null) {
|
Padding(
|
||||||
onCupertinoActionSheetActionClick!(option);
|
padding: iconRightPadding ?? const EdgeInsets.only(right: 12),
|
||||||
}
|
child: actionSelected!),
|
||||||
},
|
]),
|
||||||
|
onPressed: () {
|
||||||
|
if (onCupertinoActionSheetActionClick != null) {
|
||||||
|
onCupertinoActionSheetActionClick!(option);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@@last_modified": "2022-05-27T10:11:30.148525",
|
"@@last_modified": "2022-05-31T15:17:59.229845",
|
||||||
"initializing_data": "Initializing data...",
|
"initializing_data": "Initializing data...",
|
||||||
"@initializing_data": {
|
"@initializing_data": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@@ -1371,5 +1371,17 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"moveMailbox": "Move mailbox",
|
||||||
|
"@moveMailbox": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders_order": [],
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"deleteMailbox": "Delete mailbox",
|
||||||
|
"@deleteMailbox": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders_order": [],
|
||||||
|
"placeholders": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1405,4 +1405,17 @@ class AppLocalizations {
|
|||||||
'Can not get token, please check with your system administrator',
|
'Can not get token, please check with your system administrator',
|
||||||
name: 'canNotGetToken');
|
name: 'canNotGetToken');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String get moveMailbox {
|
||||||
|
return Intl.message(
|
||||||
|
'Move mailbox',
|
||||||
|
name: 'moveMailbox',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
String get deleteMailbox {
|
||||||
|
return Intl.message(
|
||||||
|
'Delete mailbox',
|
||||||
|
name: 'deleteMailbox');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user