oqtane.framework/Oqtane.Client/Modules/Controls/ConfirmationDialog.razor

70 lines
1.7 KiB
Plaintext

@namespace Oqtane.Modules.Controls
@inherits ModuleBase
@if (visible)
{
<div class="app-admin-modal">
<div class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">@Header</h5>
<button type="button" class="close" @onclick="DisplayModal" aria-label="Close">&times;</button>
</div>
<div class="modal-body">
<p>@Message</p>
</div>
<div class="modal-footer">
<button type="button" class="@Class" @onclick="Confirm">@Action</button>
<button type="button" class="btn btn-secondary" @onclick="DisplayModal">Cancel</button>
</div>
</div>
</div>
</div>
</div>
}
<button class="@Class" @onclick="DisplayModal">@Action</button>
@code {
[Parameter]
public string Header { get; set; }
[Parameter]
public string Message { get; set; }
[Parameter]
public string Action { get; set; }
[Parameter]
public string Class { get; set; }
[Parameter]
public Action OnClick { get; set; }
bool visible = false;
protected override void OnParametersSet()
{
if (string.IsNullOrEmpty(Action))
{
Action = "Ok";
}
if (string.IsNullOrEmpty(Class))
{
Class = "btn btn-success";
}
}
private void DisplayModal()
{
visible = !visible;
StateHasChanged();
}
private void Confirm()
{
DisplayModal();
OnClick();
}
}