UserMenuItem.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using System.Collections.Generic;
  2. using Abp.Localization;
  3. namespace Abp.Application.Navigation
  4. {
  5. /// <summary>
  6. /// Represents an item in a <see cref="UserMenu"/>.
  7. /// </summary>
  8. public class UserMenuItem
  9. {
  10. /// <summary>
  11. /// Unique name of the menu item in the application.
  12. /// </summary>
  13. public string Name { get; set; }
  14. /// <summary>
  15. /// Icon of the menu item if exists.
  16. /// </summary>
  17. public string Icon { get; set; }
  18. /// <summary>
  19. /// Display name of the menu item.
  20. /// </summary>
  21. public string DisplayName { get; set; }
  22. /// <summary>
  23. /// The Display order of the menu. Optional.
  24. /// </summary>
  25. public int Order { get; set; }
  26. /// <summary>
  27. /// The URL to navigate when this menu item is selected.
  28. /// </summary>
  29. public string Url { get; set; }
  30. /// <summary>
  31. /// A custom object related to this menu item.
  32. /// </summary>
  33. public object CustomData { get; set; }
  34. /// <summary>
  35. /// Target of the menu item. Can be "_blank", "_self", "_parent", "_top" or a frame name.
  36. /// </summary>
  37. public string Target { get; set; }
  38. /// <summary>
  39. /// Can be used to enable/disable a menu item.
  40. /// </summary>
  41. public bool IsEnabled { get; set; }
  42. /// <summary>
  43. /// Can be used to show/hide a menu item.
  44. /// </summary>
  45. public bool IsVisible { get; set; }
  46. /// <summary>
  47. /// Sub items of this menu item.
  48. /// </summary>
  49. public IList<UserMenuItem> Items { get; set; }
  50. /// <summary>
  51. /// Creates a new <see cref="UserMenuItem"/> object.
  52. /// </summary>
  53. public UserMenuItem()
  54. {
  55. }
  56. /// <summary>
  57. /// Creates a new <see cref="UserMenuItem"/> object from given <see cref="MenuItemDefinition"/>.
  58. /// </summary>
  59. public UserMenuItem(MenuItemDefinition menuItemDefinition, ILocalizationContext localizationContext)
  60. {
  61. Name = menuItemDefinition.Name;
  62. Icon = menuItemDefinition.Icon;
  63. DisplayName = menuItemDefinition.DisplayName.Localize(localizationContext);
  64. Order = menuItemDefinition.Order;
  65. Url = menuItemDefinition.Url;
  66. CustomData = menuItemDefinition.CustomData;
  67. Target = menuItemDefinition.Target;
  68. IsEnabled = menuItemDefinition.IsEnabled;
  69. IsVisible = menuItemDefinition.IsVisible;
  70. Items = new List<UserMenuItem>();
  71. }
  72. }
  73. }