Icons in module actions menu
This commit is contained in:
		| @ -15,9 +15,20 @@ | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     <a class="dropdown-item" @onclick="(async () => await ModuleAction(action))">@action.Name</a> | ||||
|                     <a class="dropdown-item" @onclick="(async () => await ModuleAction(action))"> | ||||
|                         @if (string.IsNullOrEmpty(action.Icon)) | ||||
|                         { | ||||
|                             @((MarkupString) "  "); | ||||
|                         } | ||||
|                         else | ||||
|                         { | ||||
|                             <span class="oi oi-@action.Icon" aria-hidden="true"></span> | ||||
|                         } | ||||
|                           | ||||
|                         @action.Name | ||||
|                     </a> | ||||
|                 } | ||||
|             } | ||||
|         </div> | ||||
|     </div> | ||||
| } | ||||
| } | ||||
|  | ||||
| @ -19,7 +19,7 @@ namespace Oqtane.Themes.Controls | ||||
|         [Inject] public IPageModuleService PageModuleService { get; set; } | ||||
|         [Inject] public IModuleService ModuleService { get; set; } | ||||
|  | ||||
|         protected List<ActionViewModel> Actions; | ||||
|         public List<ActionViewModel> Actions; | ||||
|  | ||||
|         protected override void OnParametersSet() | ||||
|         { | ||||
| @ -31,51 +31,52 @@ namespace Oqtane.Themes.Controls | ||||
|             var actionList = new List<ActionViewModel>(); | ||||
|             if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, ModuleState.Permissions)) | ||||
|             { | ||||
|                 actionList.Add(new ActionViewModel {Name = "Manage Settings", Action = async (u, m) => await Settings(u, m)}); | ||||
|                 actionList.Add(new ActionViewModel {Icon = Icons.Cog, Name = "Manage Settings", Action = async (u, m) => await Settings(u, m)}); | ||||
|                  | ||||
|                 if (UserSecurity.GetPermissionStrings(ModuleState.Permissions).FirstOrDefault(item => item.PermissionName == PermissionNames.View).Permissions.Split(';').Contains(Constants.AllUsersRole)) | ||||
|                 { | ||||
|                     actionList.Add(new ActionViewModel { Name = "Unpublish Module", Action = async (s, m) => await Unpublish(s, m) }); | ||||
|                     actionList.Add(new ActionViewModel {Icon=Icons.CircleX, Name = "Unpublish Module", Action = async (s, m) => await Unpublish(s, m) }); | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     actionList.Add(new ActionViewModel { Name = "Publish Module", Action = async (s, m) => await Publish(s, m) }); | ||||
|                     actionList.Add(new ActionViewModel {Icon=Icons.CircleCheck, Name = "Publish Module", Action = async (s, m) => await Publish(s, m) }); | ||||
|                 } | ||||
|                 actionList.Add(new ActionViewModel { Name = "Delete Module", Action = async (u, m) => await DeleteModule(u, m) }); | ||||
|                 actionList.Add(new ActionViewModel {Icon=Icons.Trash, Name = "Delete Module", Action = async (u, m) => await DeleteModule(u, m) }); | ||||
|  | ||||
|                 if (ModuleState.ModuleDefinition != null && ModuleState.ModuleDefinition.ServerManagerType != "") | ||||
|                 { | ||||
|                     actionList.Add(new ActionViewModel { Name = "" }); | ||||
|                     actionList.Add(new ActionViewModel {Name = "Import Content", Action = async (u, m) => await EditUrlAsync(u, m.ModuleId, "Import")}); | ||||
|                     actionList.Add(new ActionViewModel {Name = "Export Content", Action = async (u, m) => await EditUrlAsync(u, m.ModuleId, "Export")}); | ||||
|                     actionList.Add(new ActionViewModel {Icon=Icons.CloudUpload, Name = "Import Content", Action = async (u, m) => await EditUrlAsync(u, m.ModuleId, "Import")}); | ||||
|                     actionList.Add(new ActionViewModel {Icon = Icons.CloudDownload, Name = "Export Content", Action = async (u, m) => await EditUrlAsync(u, m.ModuleId, "Export")}); | ||||
|                 } | ||||
|  | ||||
|                 actionList.Add(new ActionViewModel {Name = ""}); | ||||
|  | ||||
|                 if (ModuleState.PaneModuleIndex > 0) | ||||
|                 { | ||||
|                     actionList.Add(new ActionViewModel {Name = "Move To Top", Action = async (s, m) => await MoveTop(s, m)}); | ||||
|                     actionList.Add(new ActionViewModel {Icon = Icons.DataTransferUpload ,Name = "Move To Top", Action = async (s, m) => await MoveTop(s, m)}); | ||||
|                 } | ||||
|  | ||||
|                 if (ModuleState.PaneModuleIndex > 0) | ||||
|                 { | ||||
|                     actionList.Add(new ActionViewModel {Name = "Move Up", Action = async (s, m) => await MoveUp(s, m)}); | ||||
|                     actionList.Add(new ActionViewModel {Icon = Icons.ArrowThickTop, Name = "Move Up", Action = async (s, m) => await MoveUp(s, m)}); | ||||
|                 } | ||||
|  | ||||
|                 if (ModuleState.PaneModuleIndex < (ModuleState.PaneModuleCount - 1)) | ||||
|                 { | ||||
|                     actionList.Add(new ActionViewModel {Name = "Move Down", Action = async (s, m) => await MoveDown(s, m)}); | ||||
|                     actionList.Add(new ActionViewModel {Icon = Icons.ArrowThickBottom, Name = "Move Down", Action = async (s, m) => await MoveDown(s, m)}); | ||||
|                 } | ||||
|  | ||||
|                 if (ModuleState.PaneModuleIndex < (ModuleState.PaneModuleCount - 1)) | ||||
|                 { | ||||
|                     actionList.Add(new ActionViewModel {Name = "Move To Bottom", Action = async (s, m) => await MoveBottom(s, m)}); | ||||
|                     actionList.Add(new ActionViewModel {Icon = Icons.DataTransferDownload, Name = "Move To Bottom", Action = async (s, m) => await MoveBottom(s, m)}); | ||||
|                 } | ||||
|  | ||||
|                 foreach (string pane in PageState.Page.Panes) | ||||
|                 { | ||||
|                     if (pane != ModuleState.Pane) | ||||
|                     { | ||||
|                         actionList.Add(new ActionViewModel {Name = "Move To " + pane + " Pane", Action = async (s, m) => await MoveToPane(s, pane, m)}); | ||||
|                         actionList.Add(new ActionViewModel {Icon = Icons.AccountLogin, Name = "Move To " + pane + " Pane", Action = async (s, m) => await MoveToPane(s, pane, m)}); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
| @ -202,8 +203,8 @@ namespace Oqtane.Themes.Controls | ||||
|  | ||||
|         public class ActionViewModel | ||||
|         { | ||||
|             public string Icon { get; set; } | ||||
|             public string Name { set; get; } | ||||
|  | ||||
|             public Func<string, PageModule, Task<string>> Action { set; get; } | ||||
|         } | ||||
|     } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Pavel Vesely
					Pavel Vesely