diff --git a/src/enums/menuEnum.ts b/src/enums/menuEnum.ts index 11fb946f0fe..89cfa9f5c30 100644 --- a/src/enums/menuEnum.ts +++ b/src/enums/menuEnum.ts @@ -43,3 +43,8 @@ export enum TopMenuAlignEnum { START = 'start', END = 'end', } + +export enum MixSidebarTriggerEnum { + HOVER = 'hover', + CLICK = 'click', +} diff --git a/src/layouts/default/setting/SettingDrawer.tsx b/src/layouts/default/setting/SettingDrawer.tsx index f78634ff885..cd4b68b0079 100644 --- a/src/layouts/default/setting/SettingDrawer.tsx +++ b/src/layouts/default/setting/SettingDrawer.tsx @@ -28,6 +28,7 @@ import { getMenuTriggerOptions, routerTransitionOptions, menuTypeList, + mixSidebarTriggerOptions, } from './enum'; import { HEADER_PRESET_BG_COLOR_LIST, SIDE_BAR_BG_COLOR_LIST } from '/@/settings/colorSetting'; @@ -73,6 +74,7 @@ export default defineComponent({ getSplit, getIsMixSidebar, getCloseMixSidebarOnChange, + getMixSideTrigger, } = useMenuSetting(); const { @@ -115,6 +117,14 @@ export default defineComponent({ def={unref(getCloseMixSidebarOnChange)} disabled={!unref(getIsMixSidebar)} /> + + ); } diff --git a/src/layouts/default/setting/enum.ts b/src/layouts/default/setting/enum.ts index d4ab8b40ae4..41e78e43e3f 100644 --- a/src/layouts/default/setting/enum.ts +++ b/src/layouts/default/setting/enum.ts @@ -1,5 +1,11 @@ import { ContentEnum, RouterTransitionEnum } from '/@/enums/appEnum'; -import { MenuModeEnum, MenuTypeEnum, TopMenuAlignEnum, TriggerEnum } from '/@/enums/menuEnum'; +import { + MenuModeEnum, + MenuTypeEnum, + TopMenuAlignEnum, + TriggerEnum, + MixSidebarTriggerEnum, +} from '/@/enums/menuEnum'; import { useI18n } from '/@/hooks/web/useI18n'; @@ -20,6 +26,7 @@ export enum HandlerEnum { MENU_SPLIT, MENU_FIXED, MENU_CLOSE_MIX_SIDEBAR_ON_CHANGE, + MENU_TRIGGER_MIX_SIDEBAR, // header HEADER_SHOW, @@ -132,3 +139,14 @@ export const menuTypeList = [ type: MenuTypeEnum.MIX_SIDEBAR, }, ]; + +export const mixSidebarTriggerOptions = [ + { + value: MixSidebarTriggerEnum.HOVER, + label: t('layout.setting.triggerHover'), + }, + { + value: MixSidebarTriggerEnum.CLICK, + label: t('layout.setting.triggerClick'), + }, +]; diff --git a/src/layouts/default/setting/handler.ts b/src/layouts/default/setting/handler.ts index 7e034c283c9..84c6124d2f7 100644 --- a/src/layouts/default/setting/handler.ts +++ b/src/layouts/default/setting/handler.ts @@ -67,6 +67,9 @@ export function handler(event: HandlerEnum, value: any): DeepPartial