TF-4141 Disable drag & drop email to Action required folder

This commit is contained in:
dab246
2025-12-16 16:47:32 +07:00
committed by Dat H. Pham
parent e8a76542cf
commit 8e2932658b
@@ -77,13 +77,12 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
if (_responsiveUtils.isWebDesktop(context) && widget.mailboxDisplayed == MailboxDisplayed.mailbox) { if (_responsiveUtils.isWebDesktop(context) && widget.mailboxDisplayed == MailboxDisplayed.mailbox) {
return DragTarget<List<PresentationEmail>>( final itemWidget = Material(
key: _key, key: widget.mailboxNode.item.isActionRequired ? _key : null,
builder: (context, candidateEmails, rejectedEmails) {
return Material(
type: MaterialType.transparency, type: MaterialType.transparency,
child: InkWell( child: InkWell(
onTap: () => widget.onOpenMailboxFolderClick?.call(widget.mailboxNode), onTap: () =>
widget.onOpenMailboxFolderClick?.call(widget.mailboxNode),
onHover: (value) => setState(() => _isItemHovered = value), onHover: (value) => setState(() => _isItemHovered = value),
borderRadius: const BorderRadius.all( borderRadius: const BorderRadius.all(
Radius.circular(MailboxItemWidgetStyles.borderRadius), Radius.circular(MailboxItemWidgetStyles.borderRadius),
@@ -98,7 +97,8 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
padding: const EdgeInsetsDirectional.symmetric( padding: const EdgeInsetsDirectional.symmetric(
horizontal: MailboxItemWidgetStyles.itemPadding, horizontal: MailboxItemWidgetStyles.itemPadding,
), ),
height: widget.itemHeight ?? (widget.mailboxNode.item.isTeamMailboxes height: widget.itemHeight ??
(widget.mailboxNode.item.isTeamMailboxes
? MailboxItemWidgetStyles.teamMailboxHeight ? MailboxItemWidgetStyles.teamMailboxHeight
: MailboxItemWidgetStyles.height), : MailboxItemWidgetStyles.height),
child: Row( child: Row(
@@ -121,15 +121,26 @@ class _MailboxItemWidgetState extends State<MailboxItemWidget> {
isHighlighted: widget.isHighlighted, isHighlighted: widget.isHighlighted,
textStyle: widget.textStyle, textStyle: widget.textStyle,
onMenuActionClick: widget.onMenuActionClick, onMenuActionClick: widget.onMenuActionClick,
onEmptyMailboxActionCallback: widget.onEmptyMailboxActionCallback, onEmptyMailboxActionCallback:
onClickExpandMailboxNodeAction: widget.onExpandFolderActionClick, widget.onEmptyMailboxActionCallback,
) onClickExpandMailboxNodeAction:
widget.onExpandFolderActionClick,
),
),
],
), ),
]
)
), ),
), ),
); );
if (widget.mailboxNode.item.isActionRequired) {
return itemWidget;
}
return DragTarget<List<PresentationEmail>>(
key: _key,
builder: (context, candidateEmails, rejectedEmails) {
return itemWidget;
}, },
onAcceptWithDetails: (emails) => widget.onDragItemAccepted?.call(emails.data, widget.mailboxNode.item), onAcceptWithDetails: (emails) => widget.onDragItemAccepted?.call(emails.data, widget.mailboxNode.item),
); );