MediaPreview.razor.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. using AI.Platform.Core;
  2. using AI.Platform.Core.Entity.Media;
  3. using AI.Platform.Page.Pages.Media.Model;
  4. using AI.Platform.Page.Pages.Site.Model;
  5. using Microsoft.AspNetCore.Components;
  6. namespace AI.Platform.Page.Pages.Media;
  7. public partial class MediaPreview
  8. {
  9. /// <summary>
  10. /// 信息回调
  11. /// </summary>
  12. [Parameter] public EventCallback<PreviewInfo> MediaChanged { get; set; }
  13. /// <summary>
  14. /// 打开/关闭窗口回调
  15. /// </summary>
  16. [Parameter] public EventCallback<bool> IsVisibleChanged { get; set; }
  17. /// <summary>
  18. /// 打开/关闭窗口回调
  19. /// </summary>
  20. [Parameter] public EventCallback<bool> onVisibleCallback { get; set; }
  21. /// <summary>
  22. /// 广告地址
  23. /// </summary>
  24. [Parameter] public PreviewInfo Media { get; set; }
  25. /// <summary>
  26. /// 配置是否弹窗
  27. /// </summary>
  28. [Parameter] public bool IsVisible { get; set; }
  29. protected override void OnParametersSet()
  30. {
  31. }
  32. /// <summary>
  33. /// 关闭弹窗
  34. /// </summary>
  35. public async Task Close()
  36. {
  37. await OnlyClose();
  38. }
  39. /// <summary>
  40. /// 仅关闭弹窗
  41. /// </summary>
  42. /// <returns></returns>
  43. private async Task OnlyClose()
  44. {
  45. if (IsVisibleChanged.HasDelegate)
  46. {
  47. await IsVisibleChanged.InvokeAsync(false);
  48. }
  49. if (onVisibleCallback.HasDelegate)
  50. {
  51. await onVisibleCallback.InvokeAsync(false);
  52. }
  53. }
  54. /// <summary>
  55. /// 确定按钮事件
  56. /// </summary>
  57. /// <returns></returns>
  58. private async Task onSure()
  59. {
  60. await OnlyClose();
  61. }
  62. }