Calendar item context flyout implementation
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
namespace Wino.Core.Domain.Enums;
|
||||
|
||||
public enum CalendarContextMenuActionType
|
||||
{
|
||||
Open,
|
||||
JoinOnline,
|
||||
Delete,
|
||||
ShowAs,
|
||||
Respond
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using System.Collections.Generic;
|
||||
using Wino.Core.Domain.Entities.Calendar;
|
||||
using Wino.Core.Domain.Models.Calendar;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces;
|
||||
|
||||
public interface ICalendarContextMenuItemService
|
||||
{
|
||||
IReadOnlyList<CalendarContextMenuItem> GetContextMenuItems(CalendarItem calendarItem);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Core.Domain.Models.Calendar;
|
||||
|
||||
public sealed record CalendarContextMenuAction(
|
||||
CalendarContextMenuActionType ActionType,
|
||||
CalendarEventTargetType? TargetType = null,
|
||||
CalendarItemShowAs? ShowAs = null,
|
||||
CalendarItemStatus? ResponseStatus = null);
|
||||
@@ -0,0 +1,14 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Wino.Core.Domain.Models.Calendar;
|
||||
|
||||
public sealed record CalendarContextMenuItem(
|
||||
CalendarContextMenuAction Action,
|
||||
bool IsPrimary = false,
|
||||
bool IsEnabled = true,
|
||||
IReadOnlyList<CalendarContextMenuItem> ChildItems = null)
|
||||
{
|
||||
public IReadOnlyList<CalendarContextMenuItem> Children { get; init; } = ChildItems ?? [];
|
||||
|
||||
public bool HasChildren => Children.Count > 0;
|
||||
}
|
||||
@@ -192,6 +192,7 @@
|
||||
"CalendarEventDetails_Organizer": "Organizer",
|
||||
"CalendarEventDetails_People": "People",
|
||||
"CalendarEventDetails_ReadOnlyEvent": "Read-only event",
|
||||
"CalendarContextMenu_Respond": "Respond",
|
||||
"CalendarEventDetails_Reminder": "Reminder",
|
||||
"CalendarReminder_StartedHoursAgo": "Started {0} hours ago",
|
||||
"CalendarReminder_StartedMinutesAgo": "Started {0} minutes ago",
|
||||
@@ -207,7 +208,9 @@
|
||||
"CalendarShowAs_Busy": "Busy",
|
||||
"CalendarShowAs_OutOfOffice": "Out of Office",
|
||||
"CalendarShowAs_WorkingElsewhere": "Working Elsewhere",
|
||||
"CalendarContextMenu_AllEventsInSeries": "All events in the series",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
|
||||
"CalendarContextMenu_ThisEventOnly": "This event only",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarDragDropMoveNotAllowedMessage": "Only events you own and can edit can be moved.",
|
||||
|
||||
Reference in New Issue
Block a user