TF-1436 Disable show/hide mailbox button for child team-mailbox
This commit is contained in:
@@ -195,16 +195,22 @@ class SearchMailboxView extends GetWidget<SearchMailboxController>
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
List<FocusedMenuItem> _listPopupMenuItemAction(BuildContext context, PresentationMailbox mailbox) {
|
List<ContextMenuItemMailboxAction> _generateListContextMenuItemAction(PresentationMailbox mailbox) {
|
||||||
final mailboxActionsSupported = mailbox.isSubscribed?.value == true
|
final mailboxActionsSupported = mailbox.supportedSubscribe
|
||||||
? _listActionForMailboxSubscribed(mailbox)
|
? _listActionForMailboxSubscribed(mailbox)
|
||||||
: _listActionForMailboxUnsubscribed();
|
: _listActionForMailboxUnsubscribed(mailbox);
|
||||||
|
|
||||||
final listContextMenuItemAction = mailboxActionsSupported
|
final contextMenuActions = listContextMenuItemAction(
|
||||||
.map((action) => ContextMenuItemMailboxAction(action, action.getContextMenuItemState(mailbox)))
|
mailbox,
|
||||||
.toList();
|
controller.dashboardController,
|
||||||
|
mailboxActions: mailboxActionsSupported
|
||||||
|
);
|
||||||
|
|
||||||
return listContextMenuItemAction
|
return contextMenuActions;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<FocusedMenuItem> _listPopupMenuItemAction(BuildContext context, PresentationMailbox mailbox) {
|
||||||
|
return _generateListContextMenuItemAction(mailbox)
|
||||||
.map((action) => _mailboxFocusedMenuItem(context, action, mailbox))
|
.map((action) => _mailboxFocusedMenuItem(context, action, mailbox))
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
@@ -251,9 +257,10 @@ class SearchMailboxView extends GetWidget<SearchMailboxController>
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<MailboxActions> _listActionForMailboxUnsubscribed() {
|
List<MailboxActions> _listActionForMailboxUnsubscribed(PresentationMailbox mailbox) {
|
||||||
return [
|
return [
|
||||||
MailboxActions.enableMailbox
|
if (mailbox.isSupportedEnableMailbox)
|
||||||
|
MailboxActions.enableMailbox
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -266,15 +273,7 @@ class SearchMailboxView extends GetWidget<SearchMailboxController>
|
|||||||
PresentationMailbox mailbox,
|
PresentationMailbox mailbox,
|
||||||
{RelativeRect? position}
|
{RelativeRect? position}
|
||||||
) {
|
) {
|
||||||
final mailboxActionsSupported = mailbox.supportedSubscribe
|
final contextMenuActions = _generateListContextMenuItemAction(mailbox);
|
||||||
? _listActionForMailboxSubscribed(mailbox)
|
|
||||||
: _listActionForMailboxUnsubscribed();
|
|
||||||
|
|
||||||
final contextMenuActions = listContextMenuItemAction(
|
|
||||||
mailbox,
|
|
||||||
controller.dashboardController,
|
|
||||||
mailboxActions: mailboxActionsSupported
|
|
||||||
);
|
|
||||||
|
|
||||||
if (controller.responsiveUtils.isScreenWithShortestSide(context) || position == null) {
|
if (controller.responsiveUtils.isScreenWithShortestSide(context) || position == null) {
|
||||||
controller.openContextMenuAction(
|
controller.openContextMenuAction(
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ class _MailboxSearchedItemBuilderState extends State<MailboxSearchedItemBuilder>
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildMenuIcon(BuildContext context) {
|
Widget _buildMenuIcon(BuildContext context) {
|
||||||
if (isHoverItem) {
|
if (isHoverItem && widget.listPopupMenuItemAction?.isNotEmpty == true) {
|
||||||
return InkWell(
|
return InkWell(
|
||||||
onTapDown: (detail) {
|
onTapDown: (detail) {
|
||||||
final screenSize = MediaQuery.of(context).size;
|
final screenSize = MediaQuery.of(context).size;
|
||||||
|
|||||||
@@ -116,6 +116,16 @@ class PresentationMailbox with EquatableMixin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool get isSupportedEnableMailbox {
|
||||||
|
if (supportedSubscribe) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (isPersonal) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return isTeamMailboxes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
List<Object?> get props => [
|
List<Object?> get props => [
|
||||||
|
|||||||
Reference in New Issue
Block a user