enum.ts 2.9 KB

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