Files
Wino-Mail/Wino.Core.Domain/Interfaces/IMenuItem.cs

41 lines
1.0 KiB
C#
Raw Normal View History

2024-04-18 01:44:37 +02:00
using System;
2025-02-16 11:54:23 +01:00
namespace Wino.Core.Domain.Interfaces;
public interface IMenuItem
2024-04-18 01:44:37 +02:00
{
2025-02-16 11:54:23 +01:00
/// <summary>
/// An id that this menu item holds.
/// For an account, it's AccountId.
/// For folder, it's FolderId.
/// For merged account, it's MergedAccountId.
/// Null if it's a menu item that doesn't hold any valuable entity.
/// </summary>
Guid? EntityId { get; }
2024-04-18 01:44:37 +02:00
2025-02-16 11:54:23 +01:00
/// <summary>
/// Is any of the sub items that this menu item contains selected.
/// </summary>
// bool IsChildSelected { get; }
2024-04-18 01:44:37 +02:00
2025-02-16 11:54:23 +01:00
/// <summary>
/// Whether the menu item is expanded or not.
/// </summary>
bool IsExpanded { get; set; }
2024-04-18 01:44:37 +02:00
2025-02-16 11:54:23 +01:00
/// <summary>
/// Whether the menu item is selected or not.
/// </summary>
bool IsSelected { get; set; }
2024-04-18 01:44:37 +02:00
2025-02-16 11:54:23 +01:00
/// <summary>
/// Parent menu item that contains this menu item.
/// </summary>
IMenuItem ParentMenuItem { get; }
2024-04-18 01:44:37 +02:00
2025-02-16 11:54:23 +01:00
/// <summary>
/// Recursively expand all parent menu items if parent exists, starting from parent.
/// </summary>
void Expand();
2024-04-18 01:44:37 +02:00
}