ModalInfo.razor 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <div class="modal @modalClass" tabindex="-1" role="dialog" style="display:@modalDisplay; overflow-y: auto;">
  2. <div class="modal-dialog modal-lg" role="document">
  3. <div class="modal-content">
  4. <div class="modal-header">
  5. <h5 class="modal-title">@Title</h5>
  6. <button type="button" class="close" data-dismiss="modal" aria-label="Close" @onclick="@Close">
  7. <span aria-hidden="true">&times;</span>
  8. </button>
  9. </div>
  10. <div class="modal-body">
  11. @Body
  12. @if (modalMessage.Length > 0)
  13. {
  14. <p>@modalMessage</p>
  15. }
  16. </div>
  17. <div class="modal-footer">
  18. <button type="button" class="upload__btn" data-dismiss="modal" @onclick="@Close">Закрыть</button>
  19. </div>
  20. </div>
  21. </div>
  22. </div>
  23. @if (showBackdrop)
  24. {
  25. <div class="modal-backdrop fade show"></div>
  26. }
  27. @code {
  28. [Parameter]
  29. public RenderFragment Title { get; set; }
  30. [Parameter]
  31. public RenderFragment Body { get; set; }
  32. private string modalDisplay = "none;";
  33. private string modalClass = "";
  34. private string modalMessage = "";
  35. private bool showBackdrop = false;
  36. public void Open(string message = "")
  37. {
  38. modalDisplay = "block;";
  39. modalClass = "show";
  40. showBackdrop = true;
  41. modalMessage = message;
  42. }
  43. public void Close()
  44. {
  45. modalDisplay = "none";
  46. modalClass = "";
  47. showBackdrop = false;
  48. }
  49. }