156 lines
3.0 KiB
TypeScript
156 lines
3.0 KiB
TypeScript
import { ContentEnum, RouterTransitionEnum } from '/@/enums/appEnum';
|
|
import {
|
|
MenuModeEnum,
|
|
MenuTypeEnum,
|
|
TopMenuAlignEnum,
|
|
TriggerEnum,
|
|
MixSidebarTriggerEnum,
|
|
} from '/@/enums/menuEnum';
|
|
|
|
import { useI18n } from '/@/hooks/web/useI18n';
|
|
|
|
const { t } = useI18n();
|
|
|
|
export enum HandlerEnum {
|
|
CHANGE_LAYOUT,
|
|
CHANGE_THEME_COLOR,
|
|
// menu
|
|
MENU_HAS_DRAG,
|
|
MENU_ACCORDION,
|
|
MENU_TRIGGER,
|
|
MENU_TOP_ALIGN,
|
|
MENU_COLLAPSED,
|
|
MENU_COLLAPSED_SHOW_TITLE,
|
|
MENU_WIDTH,
|
|
MENU_SHOW_SIDEBAR,
|
|
MENU_THEME,
|
|
MENU_SPLIT,
|
|
MENU_FIXED,
|
|
MENU_CLOSE_MIX_SIDEBAR_ON_CHANGE,
|
|
MENU_TRIGGER_MIX_SIDEBAR,
|
|
MENU_FIXED_MIX_SIDEBAR,
|
|
|
|
// header
|
|
HEADER_SHOW,
|
|
HEADER_THEME,
|
|
HEADER_FIXED,
|
|
|
|
HEADER_SEARCH,
|
|
|
|
TABS_SHOW_QUICK,
|
|
TABS_SHOW_REDO,
|
|
TABS_SHOW,
|
|
TABS_SHOW_FOLD,
|
|
|
|
LOCK_TIME,
|
|
FULL_CONTENT,
|
|
CONTENT_MODE,
|
|
SHOW_BREADCRUMB,
|
|
SHOW_BREADCRUMB_ICON,
|
|
GRAY_MODE,
|
|
COLOR_WEAK,
|
|
SHOW_LOGO,
|
|
SHOW_FOOTER,
|
|
|
|
ROUTER_TRANSITION,
|
|
OPEN_PROGRESS,
|
|
OPEN_PAGE_LOADING,
|
|
OPEN_ROUTE_TRANSITION,
|
|
}
|
|
|
|
export const contentModeOptions = [
|
|
{
|
|
value: ContentEnum.FULL,
|
|
label: t('layout.setting.contentModeFull'),
|
|
},
|
|
{
|
|
value: ContentEnum.FIXED,
|
|
label: t('layout.setting.contentModeFixed'),
|
|
},
|
|
];
|
|
|
|
export const topMenuAlignOptions = [
|
|
{
|
|
value: TopMenuAlignEnum.CENTER,
|
|
label: t('layout.setting.topMenuAlignRight'),
|
|
},
|
|
{
|
|
value: TopMenuAlignEnum.START,
|
|
label: t('layout.setting.topMenuAlignLeft'),
|
|
},
|
|
{
|
|
value: TopMenuAlignEnum.END,
|
|
label: t('layout.setting.topMenuAlignCenter'),
|
|
},
|
|
];
|
|
|
|
export const getMenuTriggerOptions = (hideTop: boolean) => {
|
|
return [
|
|
{
|
|
value: TriggerEnum.NONE,
|
|
label: t('layout.setting.menuTriggerNone'),
|
|
},
|
|
{
|
|
value: TriggerEnum.FOOTER,
|
|
label: t('layout.setting.menuTriggerBottom'),
|
|
},
|
|
...(hideTop
|
|
? []
|
|
: [
|
|
{
|
|
value: TriggerEnum.HEADER,
|
|
label: t('layout.setting.menuTriggerTop'),
|
|
},
|
|
]),
|
|
];
|
|
};
|
|
|
|
export const routerTransitionOptions = [
|
|
RouterTransitionEnum.ZOOM_FADE,
|
|
RouterTransitionEnum.FADE,
|
|
RouterTransitionEnum.ZOOM_OUT,
|
|
RouterTransitionEnum.FADE_SIDE,
|
|
RouterTransitionEnum.FADE_BOTTOM,
|
|
RouterTransitionEnum.FADE_SCALE,
|
|
].map((item) => {
|
|
return {
|
|
label: item,
|
|
value: item,
|
|
};
|
|
});
|
|
|
|
export const menuTypeList = [
|
|
{
|
|
title: t('layout.setting.menuTypeSidebar'),
|
|
mode: MenuModeEnum.INLINE,
|
|
type: MenuTypeEnum.SIDEBAR,
|
|
},
|
|
{
|
|
title: t('layout.setting.menuTypeMix'),
|
|
mode: MenuModeEnum.INLINE,
|
|
type: MenuTypeEnum.MIX,
|
|
},
|
|
|
|
{
|
|
title: t('layout.setting.menuTypeTopMenu'),
|
|
mode: MenuModeEnum.HORIZONTAL,
|
|
type: MenuTypeEnum.TOP_MENU,
|
|
},
|
|
{
|
|
title: t('layout.setting.menuTypeMixSidebar'),
|
|
mode: MenuModeEnum.INLINE,
|
|
type: MenuTypeEnum.MIX_SIDEBAR,
|
|
},
|
|
];
|
|
|
|
export const mixSidebarTriggerOptions = [
|
|
{
|
|
value: MixSidebarTriggerEnum.HOVER,
|
|
label: t('layout.setting.triggerHover'),
|
|
},
|
|
{
|
|
value: MixSidebarTriggerEnum.CLICK,
|
|
label: t('layout.setting.triggerClick'),
|
|
},
|
|
];
|