private IRenderedComponent <MyButton> SetupButtonComponent() { var jsModule = JSInterop.SetupModule("import", new string[] { "./_content/HeadlessUI/common.js" }); jsModule.SetupVoid("preventDefaultKeyBehaviorOnKeys").SetVoidResult(); return(RenderComponent <MyButton>()); }
public void FailWithoutScripts() { JSInterop.Setup <bool>("window.hasOwnProperty", (_) => true).SetResult(true); JSInterop.Setup <bool>("Excubo.hasOwnProperty", (_) => true).SetResult(true); JSInterop.SetupVoid("Excubo.ScriptInjection.Register", (_) => true); _ = Assert.Throws <InvalidOperationException>(() => RenderComponent <AddScript>()); }
public async Task UpdateChart() { object config = await JSInterop.InvokeAsync <object>(ConfigMethodName); SetOptionsByParameters(config); await JSInterop.InvokeAsync <object>("RunTSUpdateChart", ChartOpts); }
public async Task UpdateCode(string code) { QrOpts.Text = code; await JSInterop.InvokeAsync <object>("RunTSQrCode", TSQrCodeContainer, QrOpts); StateHasChanged(); }
/// <summary> /// OnAfterRenderAsync 方法 /// </summary> /// <param name="firstRender"></param> /// <returns></returns> protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { Interop = new(JSRuntime); await Interop.InvokeVoidAsync(this, Id, "bb_ribbon", nameof(SetExpand)); } }
protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { //await JSInterop.InvokeAsync<string>("console.log", DatepickerContainer); await JSInterop.InvokeAsync <string>("RunPickdate", DatepickerContainer); } }
protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { //await JSInterop.InvokeAsync<string>("console.log", MaskedInputContainer); await JSInterop.InvokeAsync <string>("RunMaskedInput", MaskedInputContainer); } }
public void InvalidUri(string uri) { _ = Services.AddScriptInjection(); JSInterop.Setup <bool>("window.hasOwnProperty", (_) => true).SetResult(true); JSInterop.Setup <bool>("Excubo.hasOwnProperty", (_) => true).SetResult(true); JSInterop.SetupVoid("Excubo.ScriptInjection.Register", (_) => true); _ = NUnit.Framework.Assert.Throws <InvalidOperationException>(() => _ = RenderComponent <AddScript>((nameof(AddScript.Src), uri))); }
/// <summary> /// OnAfterRenderAsync 方法 /// </summary> /// <param name="firstRender"></param> /// <returns></returns> protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { Interop = new JSInterop <Notifications>(JSRuntime); await BrowserNotification.CheckPermission(Interop, this, nameof(GetPermissionCallback), false); } }
private void OnBeginInvokeJS(int asyncHandle, string identifier, string argsJson) { var call = new CapturedJSInteropCall(asyncHandle, identifier, argsJson); Operations?.JSInteropCalls.Enqueue(call); JSInterop?.Invoke(call); NextJSInteropReceived?.Completion?.TrySetResult(null); }
protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await JSInterop.InvokeAsync <object>("RunTSTabs", TSTabsContainer); StateHasChanged(); } }
/// <summary> /// OnAfterRenderAsync 方法 /// </summary> /// <param name="firstRender"></param> /// <returns></returns> protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { Interop = new JSInterop <ResizeNotification>(JSRuntime); var point = await Interop.InvokeAsync <BreakPoint>(this, null, "bb_resize_monitor", nameof(OnResize)); await OnResize(point); } }
protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { object config = await JSInterop.InvokeAsync <object>(ConfigMethodName); SetOptionsByParameters(config); await JSInterop.InvokeAsync <object>("RunTSChart", TSChartContainer, ChartOpts); } }
/// <summary> /// OnAfterRenderAsync 方法 /// </summary> /// <param name="firstRender"></param> /// <returns></returns> protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender) { Interop = new JSInterop <TableFilter>(JSRuntime); await Interop.InvokeVoidAsync(this, FilterElement, "bb_filter", nameof(Close)); } }
/// <summary> /// OnAfterRenderAsync 方法 /// </summary> /// <param name="firstRender"></param> protected override async Task OnAfterRenderAsync(bool firstRender) { base.OnAfterRender(firstRender); if (firstRender) { Interop = new JSInterop <Transition>(JSRuntime); await Interop.InvokeVoidAsync(this, TransitionElement, "bb_transition", nameof(TransitionEndAsync)); } }
/// <summary> /// OnAfterRenderAsync 方法 /// </summary> /// <param name="firstRender"></param> /// <returns></returns> protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender) { Interop = new JSInterop <MultiSelect <TValue> >(JSRuntime); await Interop.InvokeVoidAsync(this, SelectElement, "bb_multi_select", nameof(Close)); } }
/// <summary> /// OnAfterRenderAsync 方法 /// </summary> /// <param name="firstRender"></param> /// <returns></returns> protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender) { Interop = new JSInterop <Slider>(JSRuntime); await Interop.InvokeVoidAsync(this, SliderElement, "bb_slider", nameof(SetValue)); } }
protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { SetOptionsByParameters(); await JSInterop.InvokeAsync <string>("RunTSDatepicker", TSDatepickerContainer, DpkrOpts); StateHasChanged(); } }
/// <summary> /// OnAfterRenderAsync 方法 /// </summary> /// <param name="firstRender"></param> /// <returns></returns> protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender) { Interop = new JSInterop <Layout>(JSRuntime); await Interop.InvokeVoidAsync(this, null, "bb_layout", nameof(SetCollapsed)); } }
protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { SetOptionsByParameters(); _ = await JSInterop.InvokeAsync <object>("RunTSQrCode", TSQrCodeContainer, QrOpts); StateHasChanged(); } }
protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { SetOptionsByParameters(); _ = await JSInterop.InvokeAsync <string>("RunTSTextMask", TSTextMaskContainer, TMskOpts); StateHasChanged(); } }
/// <summary> /// OnAfterRender 方法 /// </summary> /// <param name="firstRender"></param> protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender && Message != null) { _interop = new JSInterop <Message>(JSRuntime); await _interop.InvokeVoidAsync(Message, MessageItemElement, "bb_message", nameof(Message.Clear)); } }
public AntDesignTestBase() { Services.AddAntDesign(); //Needed for Tests using Overlay Services.AddScoped <AntDesign.JsInterop.DomEventService>(sp => new TestDomEventService(Context.JSInterop.JSRuntime)); JSInterop.SetupVoid(JSInteropConstants.OverlayComponentHelper.DeleteOverlayFromContainer, _ => true); CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US"); }
/// <summary> /// OnAfterRenderAsync /// </summary> /// <param name="firstRender"></param> /// <returns></returns> protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender); if (firstRender) { Interop = new JSInterop <Test1>(JSRuntime); await Interop.Invoke(this, TableElement, "table_test", nameof(Update)); } }
public void AddOnceEmpty() { _ = Services.AddScriptInjection(); JSInterop.Setup <bool>("window.hasOwnProperty", (_) => true).SetResult(true); JSInterop.Setup <bool>("Excubo.hasOwnProperty", (_) => true).SetResult(true); JSInterop.SetupVoid("Excubo.ScriptInjection.Register", (_) => true); IRenderedComponent <AddScript> cut = null; NUnit.Framework.Assert.DoesNotThrow(() => cut = RenderComponent <AddScript>()); cut.MarkupMatches(""); }
public void AddOnceValidUriWithDeferEnabled(string uri) { _ = Services.AddScriptInjection(onload_notification: false); JSInterop.Setup <bool>("window.hasOwnProperty", (_) => true).SetResult(true); JSInterop.Setup <bool>("Excubo.hasOwnProperty", (_) => true).SetResult(true); JSInterop.SetupVoid("Excubo.ScriptInjection.Register", (_) => true); IRenderedComponent <AddScript> cut = null; NUnit.Framework.Assert.DoesNotThrow(() => cut = RenderComponent <AddScript>((nameof(AddScript.Src), uri), (nameof(AddScript.Defer), true))); cut.MarkupMatches($@"<script src=""{uri}"" defer type=""text/javascript""></script>"); }
public CategoryService( QueryOptions queryOptions, DropdownList dropdownList, ModelValidator modelValidator, IUriHelper uriHelper, JSInterop js, DataContextFactory contextFactory) : base(queryOptions, modelValidator) { DropdownList = dropdownList; _uriHelper = uriHelper; _js = js; _contextFactory = contextFactory; }
/// <summary> /// 重置组件方法 /// </summary> public async Task Reset() { var option = GetCaptchaOption(); if (Interop == null) { Interop = new JSInterop <Captcha>(JSRuntime); } await Interop.InvokeVoidAsync(this, CaptchaElement, "captcha", nameof(Verify), option); }
/// <summary> /// Dispose 方法 /// </summary> /// <param name="disposing"></param> protected virtual void Dispose(bool disposing) { if (disposing) { if (Interop != null) { Interop.Dispose(); Interop = null; } } }
public void AddOnceValidUriWithAsyncAndDeferEnabled(string uri) { _ = Services.AddScriptInjection(); JSInterop.Setup <bool>("window.hasOwnProperty", (_) => true).SetResult(true); JSInterop.Setup <bool>("Excubo.hasOwnProperty", (_) => true).SetResult(true); JSInterop.SetupVoid("Excubo.ScriptInjection.Register", (_) => true); IRenderedComponent <AddScript> cut = null; NUnit.Framework.Assert.DoesNotThrow(() => cut = RenderComponent <AddScript>((nameof(AddScript.Src), uri), (nameof(AddScript.Async), true), (nameof(AddScript.Defer), true))); cut.MarkupMatches($@"<script type=""text/javascript"" src=""_content/Excubo.Blazor.ScriptInjection/bootstrap.min.js""></script><script src=""{uri}"" async defer type=""text/javascript"" onload=""window.Excubo.ScriptInjection.Notify('{uri}')""></script>"); }