using Microsoft.JSInterop;
|
|
namespace HotelPms.Client.Blazor.Util
|
{
|
public static class JSInteropEx
|
{
|
public static async Task SaveAsFileAsync(this IJSRuntime js, string fileName, byte[] data, string type = "application/octet-stream", bool useBom = false)
|
{
|
await js.InvokeAsync<object>("NetCallJs.saveAsFile", fileName, type, Convert.ToBase64String(data), useBom);
|
}
|
|
public static async Task SetTRTop(this IJSRuntime js, string ownerID, int rowIndex)
|
{
|
await js.InvokeAsync<object>("NetCallJs.setTRTop", ownerID, rowIndex);
|
}
|
|
public static async Task SetGridWidth(this IJSRuntime js, string ownerID, string width)
|
{
|
await js.InvokeAsync<object>("NetCallJs.setTableWidth", ownerID, width);
|
}
|
|
public static async Task DelGridCol(this IJSRuntime js, string ownerID, int colIndex)
|
{
|
await js.InvokeAsync<object>("NetCallJs.delTableCol", ownerID, colIndex);
|
}
|
|
public static async Task SetGridStyle(this IJSRuntime js, string ownerID, string style)
|
{
|
await js.InvokeAsync<object>("NetCallJs.setTableStyle", ownerID, style);
|
}
|
|
public static async Task RemoveGridClass(this IJSRuntime js, string ownerID, string className)
|
{
|
await js.InvokeAsync<object>("NetCallJs.removeTableClass", ownerID, className);
|
}
|
|
public static async Task<BoundingClientRect> GetClientRectByID(this IJSRuntime js, string id)
|
{
|
return await js.InvokeAsync<BoundingClientRect>("NetCallJs.getClientRectByID", id);
|
}
|
|
/// <summary>
|
/// 注意:約0.8秒かかる
|
/// </summary>
|
/// <param name="js"></param>
|
/// <returns></returns>
|
public static async Task<WindowDimensions> GetWindowSize(this IJSRuntime js)
|
{
|
return await js.InvokeAsync<WindowDimensions>("NetCallJs.getWindowSize");
|
}
|
|
public static async Task<ElementBase> GetActiveElement(this IJSRuntime js)
|
{
|
return await js.InvokeAsync<ElementBase>("NetCallJs.getActiveElement");
|
}
|
|
public static async Task SetFocusByKey(this IJSRuntime js, string key)
|
{
|
await js.InvokeAsync<object>("NetCallJs.setFocusByKey", key);
|
}
|
}
|
}
|