Fix longpress issue

This commit is contained in:
ahjephson
2025-10-20 13:44:57 +01:00
parent 2ad7be1073
commit 88d66b4887
7 changed files with 78 additions and 16 deletions

View File

@@ -0,0 +1,47 @@
using System;
using Lantean.QBTMud;
using Microsoft.AspNetCore.Components.Web;
namespace Lantean.QBTMud.Helpers
{
public static class EventArgsExtensions
{
public static EventArgs NormalizeForContextMenu(this EventArgs eventArgs)
{
if (eventArgs is null)
{
throw new ArgumentNullException(nameof(eventArgs));
}
if (eventArgs is LongPressEventArgs longPressEventArgs)
{
return longPressEventArgs.ToMouseEventArgs();
}
return eventArgs;
}
public static MouseEventArgs ToMouseEventArgs(this LongPressEventArgs longPressEventArgs)
{
if (longPressEventArgs is null)
{
throw new ArgumentNullException(nameof(longPressEventArgs));
}
return new MouseEventArgs
{
Button = 2,
Buttons = 2,
ClientX = longPressEventArgs.ClientX,
ClientY = longPressEventArgs.ClientY,
OffsetX = longPressEventArgs.OffsetX,
OffsetY = longPressEventArgs.OffsetY,
PageX = longPressEventArgs.PageX,
PageY = longPressEventArgs.PageY,
ScreenX = longPressEventArgs.ScreenX,
ScreenY = longPressEventArgs.ScreenY,
Type = longPressEventArgs.Type ?? "contextmenu",
};
}
}
}