enum.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. import { ContentEnum, RouterTransitionEnum } from '/@/enums/appEnum';
  2. import {
  3. MenuModeEnum,
  4. MenuTypeEnum,
  5. TopMenuAlignEnum,
  6. TriggerEnum,
  7. MixSidebarTriggerEnum,
  8. } from '/@/enums/menuEnum';
  9. import { useI18n } from '/@/hooks/web/useI18n';
  10. const { t } = useI18n();
  11. export enum HandlerEnum {
  12. CHANGE_LAYOUT,
  13. CHANGE_THEME_COLOR,
  14. CHANGE_THEME,
  15. // menu
  16. MENU_HAS_DRAG,
  17. MENU_ACCORDION,
  18. MENU_TRIGGER,
  19. MENU_TOP_ALIGN,
  20. MENU_COLLAPSED,
  21. MENU_COLLAPSED_SHOW_TITLE,
  22. MENU_WIDTH,
  23. MENU_SHOW_SIDEBAR,
  24. MENU_THEME,
  25. MENU_SPLIT,
  26. MENU_FIXED,
  27. MENU_CLOSE_MIX_SIDEBAR_ON_CHANGE,
  28. MENU_TRIGGER_MIX_SIDEBAR,
  29. MENU_FIXED_MIX_SIDEBAR,
  30. // header
  31. HEADER_SHOW,
  32. HEADER_THEME,
  33. HEADER_FIXED,
  34. HEADER_SEARCH,
  35. TABS_SHOW_QUICK,
  36. TABS_SHOW_REDO,
  37. TABS_SHOW,
  38. TABS_SHOW_FOLD,
  39. LOCK_TIME,
  40. FULL_CONTENT,
  41. CONTENT_MODE,
  42. SHOW_BREADCRUMB,
  43. SHOW_BREADCRUMB_ICON,
  44. GRAY_MODE,
  45. COLOR_WEAK,
  46. SHOW_LOGO,
  47. SHOW_FOOTER,
  48. ROUTER_TRANSITION,
  49. OPEN_PROGRESS,
  50. OPEN_PAGE_LOADING,
  51. OPEN_ROUTE_TRANSITION,
  52. }
  53. export const contentModeOptions = [
  54. {
  55. value: ContentEnum.FULL,
  56. label: t('layout.setting.contentModeFull'),
  57. },
  58. {
  59. value: ContentEnum.FIXED,
  60. label: t('layout.setting.contentModeFixed'),
  61. },
  62. ];
  63. export const topMenuAlignOptions = [
  64. {
  65. value: TopMenuAlignEnum.CENTER,
  66. label: t('layout.setting.topMenuAlignRight'),
  67. },
  68. {
  69. value: TopMenuAlignEnum.START,
  70. label: t('layout.setting.topMenuAlignLeft'),
  71. },
  72. {
  73. value: TopMenuAlignEnum.END,
  74. label: t('layout.setting.topMenuAlignCenter'),
  75. },
  76. ];
  77. export const getMenuTriggerOptions = (hideTop: boolean) => {
  78. return [
  79. {
  80. value: TriggerEnum.NONE,
  81. label: t('layout.setting.menuTriggerNone'),
  82. },
  83. {
  84. value: TriggerEnum.FOOTER,
  85. label: t('layout.setting.menuTriggerBottom'),
  86. },
  87. ...(hideTop
  88. ? []
  89. : [
  90. {
  91. value: TriggerEnum.HEADER,
  92. label: t('layout.setting.menuTriggerTop'),
  93. },
  94. ]),
  95. ];
  96. };
  97. export const routerTransitionOptions = [
  98. RouterTransitionEnum.ZOOM_FADE,
  99. RouterTransitionEnum.FADE,
  100. RouterTransitionEnum.ZOOM_OUT,
  101. RouterTransitionEnum.FADE_SIDE,
  102. RouterTransitionEnum.FADE_BOTTOM,
  103. RouterTransitionEnum.FADE_SCALE,
  104. ].map((item) => {
  105. return {
  106. label: item,
  107. value: item,
  108. };
  109. });
  110. export const menuTypeList = [
  111. {
  112. title: t('layout.setting.menuTypeSidebar'),
  113. mode: MenuModeEnum.INLINE,
  114. type: MenuTypeEnum.SIDEBAR,
  115. },
  116. {
  117. title: t('layout.setting.menuTypeMix'),
  118. mode: MenuModeEnum.INLINE,
  119. type: MenuTypeEnum.MIX,
  120. },
  121. {
  122. title: t('layout.setting.menuTypeTopMenu'),
  123. mode: MenuModeEnum.HORIZONTAL,
  124. type: MenuTypeEnum.TOP_MENU,
  125. },
  126. {
  127. title: t('layout.setting.menuTypeMixSidebar'),
  128. mode: MenuModeEnum.INLINE,
  129. type: MenuTypeEnum.MIX_SIDEBAR,
  130. },
  131. ];
  132. export const mixSidebarTriggerOptions = [
  133. {
  134. value: MixSidebarTriggerEnum.HOVER,
  135. label: t('layout.setting.triggerHover'),
  136. },
  137. {
  138. value: MixSidebarTriggerEnum.CLICK,
  139. label: t('layout.setting.triggerClick'),
  140. },
  141. ];