FnzBoostrapContainerComponentBase.cs 892 B

12345678910111213141516171819202122
  1. using Microsoft.AspNetCore.Components;
  2. using Microsoft.JSInterop;
  3. namespace FNZCM.BlazorWasm.UI.Components.FnzBoostrap.Bases
  4. {
  5. public class FnzBoostrapContainerComponentBase<T, TOptions> : FnzBoostrapComponentBase<T, TOptions>
  6. where T : class
  7. where TOptions : OptionsBase, new()
  8. {
  9. [Parameter] public EventCallback OnShown { get; set; } = EventCallback.Empty;
  10. [Parameter] public EventCallback OnHidden { get; set; } = EventCallback.Empty;
  11. public void Hide() => JSRuntime.InvokeVoidAsync($"{Prefix}.hide", ElementId, dotNetRef);
  12. public void Show() => JSRuntime.InvokeVoidAsync($"{Prefix}.show", ElementId, dotNetRef);
  13. [JSInvokable("OnShown")] public virtual void JsCallbackOnShown() { OnShown.InvokeAsync(); }
  14. [JSInvokable("OnHidden")] public virtual void JsCallbackOnHidden() { OnHidden.InvokeAsync(); }
  15. }
  16. }