using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; using Microsoft.JSInterop; namespace BlazorReorderList { public interface IReorderService : IAsyncDisposable { bool isDragging { get; set; } TItem? selected { get; set; } List? originItems { get; set; } int elemIndex { get; set; } point elemClickPosition { get; set; } ValueTask getClientRect(ElementReference el); ValueTask getPoint(double PageX, double PageY, double ClientX, double ClientY); ValueTask getPosition(ElementReference el); ValueTask getWidth(ElementReference el); ValueTask initEvents(DotNetObjectReference> dotNetInstance); ReorderService InitService(IJSRuntime jsRuntime); bool isCopy(); ValueTask removeEvents(DotNetObjectReference> dotNetInstance); void Reset(); void Set(List list, TItem item, int index, point clickPoint, bool copy); } }