Add language management page template
This commit is contained in:
		
							
								
								
									
										54
									
								
								Oqtane.Client/Modules/Admin/Languages/Index.razor
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								Oqtane.Client/Modules/Admin/Languages/Index.razor
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,54 @@ | ||||
| @namespace Oqtane.Modules.Admin.Languages | ||||
| @inherits ModuleBase | ||||
| @inject ILanguageService LanguageService | ||||
| @inject IStringLocalizer<Index> Localizer | ||||
|  | ||||
| @if (_languages == null) | ||||
| { | ||||
|     <p><em>@Localizer["Loading..."]</em></p> | ||||
| } | ||||
| else | ||||
| { | ||||
|     <ActionLink Action="Add" Text="Add Language" ResourceKey="AddLanguage" /> | ||||
|  | ||||
|     <Pager Items="@_languages"> | ||||
|         <Header> | ||||
|             <th style="width: 1px;"> </th> | ||||
|             <th>@Localizer["Name"]</th> | ||||
|             <th>@Localizer["Code"]</th> | ||||
|         </Header> | ||||
|         <Row> | ||||
|             <td><ActionDialog Header="Delete Langauge" Message="@Localizer["Are You Sure You Wish To Delete The {0} Language?", context.Name]" Action="Delete" Security="SecurityAccessLevel.Admin" Class="btn btn-danger" OnClick="@(async () => await DeleteLanguage(context))" Disabled="@(context.IsCurrent)" ResourceKey="DeleteLanguage" /></td> | ||||
|             <td>@context.Name</td> | ||||
|             <td>@context.Code</td> | ||||
|         </Row> | ||||
|     </Pager> | ||||
| } | ||||
|  | ||||
| @code { | ||||
|     private List<Language> _languages; | ||||
|  | ||||
|     public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; | ||||
|  | ||||
|     protected override async Task OnParametersSetAsync() | ||||
|     { | ||||
|         _languages = await LanguageService.GetLanguagesAsync(PageState.Site.SiteId); | ||||
|     } | ||||
|  | ||||
|     private async Task DeleteLanguage(Language language) | ||||
|     { | ||||
|         try | ||||
|         { | ||||
|             await LanguageService.DeleteLanguageAsync(language.LanguageId); | ||||
|             await logger.LogInformation("Language Deleted {Language}", language); | ||||
|  | ||||
|             StateHasChanged(); | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             await logger.LogError(ex, "Error Deleting Language {Language} {Error}", language, ex.Message); | ||||
|  | ||||
|             AddModuleMessage(Localizer["Error Deleting Language"], MessageType.Error); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 hishamco
					hishamco