created generic confirmation dialog control and implemented in File Management module
This commit is contained in:
		@ -9,18 +9,16 @@
 | 
			
		||||
}
 | 
			
		||||
else
 | 
			
		||||
{
 | 
			
		||||
    <ActionLink Action="Add" Text="Add Files" Style="float: right; margin: 10px;" />
 | 
			
		||||
    <ActionLink Action="Add" Text="Add Files" />
 | 
			
		||||
 | 
			
		||||
    <Pager Items="@Files">
 | 
			
		||||
        <Header>
 | 
			
		||||
            <th>Name</th>
 | 
			
		||||
            <th> </th>
 | 
			
		||||
            <th>Name</th>
 | 
			
		||||
        </Header>
 | 
			
		||||
        <Row>
 | 
			
		||||
            <td><ConfirmationDialog Header="Delete File" Message="@("Are You Sure You Wish To Delete " + context + "?")" Action="Delete" Class="btn btn-danger" OnClick="@(async () => await DeleteFile(context))" /></td>
 | 
			
		||||
            <td><a href="@(uri.Scheme + "://" + uri.Authority + "/" + PageState.Site.SiteRootPath + context)" target="_new">@context</a></td>
 | 
			
		||||
            <td>
 | 
			
		||||
                <button type="button" class="btn btn-danger" @onclick=@(async () => await DeleteFile(context))>Delete</button>
 | 
			
		||||
            </td>
 | 
			
		||||
        </Row>
 | 
			
		||||
    </Pager>
 | 
			
		||||
}
 | 
			
		||||
@ -40,7 +38,7 @@ else
 | 
			
		||||
        }
 | 
			
		||||
        catch (Exception ex)
 | 
			
		||||
        {
 | 
			
		||||
            await logger.LogError("Error Loading Files {Error}", ex.Message);
 | 
			
		||||
            await logger.LogError(ex, "Error Loading Files {Error}", ex.Message);
 | 
			
		||||
            AddModuleMessage("Error Loading Files", MessageType.Error);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@ -51,13 +49,13 @@ else
 | 
			
		||||
        {
 | 
			
		||||
            await FileService.DeleteFileAsync(PageState.Site.SiteRootPath, filename);
 | 
			
		||||
            Files = await FileService.GetFilesAsync(PageState.Site.SiteRootPath);
 | 
			
		||||
            await logger.LogInformation("File Deleted");
 | 
			
		||||
            AddModuleMessage("File Deleted", MessageType.Success);
 | 
			
		||||
            await logger.LogInformation("File Deleted {File}", filename);
 | 
			
		||||
            AddModuleMessage("File " + filename + " Deleted", MessageType.Success);
 | 
			
		||||
        }
 | 
			
		||||
        catch (Exception ex)
 | 
			
		||||
        {
 | 
			
		||||
            await logger.LogError("Error Deleting File {Error}", ex.Message);
 | 
			
		||||
            AddModuleMessage("Error Deleting File", MessageType.Error);
 | 
			
		||||
            await logger.LogError(ex, "Error Deleting File {File} {Error}", filename, ex.Message);
 | 
			
		||||
            AddModuleMessage("Error Deleting File " + filename, MessageType.Error);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										69
									
								
								Oqtane.Client/Modules/Controls/ConfirmationDialog.razor
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								Oqtane.Client/Modules/Controls/ConfirmationDialog.razor
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,69 @@
 | 
			
		||||
@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">×</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();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user