|
|
@ -1,26 +1,30 @@ |
|
|
import type { Ref } from 'vue'; |
|
|
import type { Ref } from 'vue'; |
|
|
|
|
|
|
|
|
import { computed, unref, onMounted, nextTick, ref } from 'vue'; |
|
|
import { computed, unref, onMounted, nextTick } from 'vue'; |
|
|
|
|
|
|
|
|
import { TriggerEnum } from '/@/enums/menuEnum'; |
|
|
import { TriggerEnum } from '/@/enums/menuEnum'; |
|
|
|
|
|
|
|
|
import { useMenuSetting } from '/@/hooks/setting/useMenuSetting'; |
|
|
import { useMenuSetting } from '/@/hooks/setting/useMenuSetting'; |
|
|
import { useDebounceFn } from '@vueuse/core'; |
|
|
import { useDebounceFn } from '@vueuse/core'; |
|
|
|
|
|
import { useAppStore } from '/@/store/modules/app'; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* Handle related operations of menu events |
|
|
* Handle related operations of menu events |
|
|
*/ |
|
|
*/ |
|
|
export function useSiderEvent() { |
|
|
export function useSiderEvent() { |
|
|
const brokenRef = ref(false); |
|
|
const appStore = useAppStore(); |
|
|
|
|
|
|
|
|
const { getMiniWidthNumber } = useMenuSetting(); |
|
|
const { getMiniWidthNumber } = useMenuSetting(); |
|
|
|
|
|
|
|
|
const getCollapsedWidth = computed(() => { |
|
|
const getCollapsedWidth = computed(() => { |
|
|
return unref(brokenRef) ? 0 : unref(getMiniWidthNumber); |
|
|
return unref(getMiniWidthNumber); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
function onBreakpointChange(broken: boolean) { |
|
|
function onBreakpointChange(broken: boolean) { |
|
|
brokenRef.value = broken; |
|
|
appStore.setProjectConfig({ |
|
|
|
|
|
menuSetting: { |
|
|
|
|
|
siderHidden: broken, |
|
|
|
|
|
}, |
|
|
|
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return { getCollapsedWidth, onBreakpointChange }; |
|
|
return { getCollapsedWidth, onBreakpointChange }; |
|
|
|