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