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
	 Shaun Walker
					Shaun Walker