123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- import type { HeaderSetting } from '/@/types/config';
- import { computed, unref } from 'vue';
- import { appStore } from '/@/store/modules/app';
- import { useMultipleTabSetting } from '/@/hooks/setting/useMultipleTabSetting';
- import { useMenuSetting } from '/@/hooks/setting/useMenuSetting';
- import { useRootSetting } from '/@/hooks/setting/useRootSetting';
- import { useFullContent } from '/@/hooks/web/useFullContent';
- import { MenuModeEnum } from '/@/enums/menuEnum';
- export function useHeaderSetting() {
- const { getFullContent } = useFullContent();
- const { getShowMultipleTab } = useMultipleTabSetting();
- const {
- getMenuMode,
- getSplit,
- getShowHeaderTrigger,
- getIsSidebarType,
- getIsTopMenu,
- } = useMenuSetting();
- const { getShowBreadCrumb, getShowLogo } = useRootSetting();
- const getShowMixHeaderRef = computed(() => !unref(getIsSidebarType) && unref(getShowHeader));
- const getShowFullHeaderRef = computed(() => {
- return (
- !unref(getFullContent) &&
- unref(getShowMixHeaderRef) &&
- unref(getShowHeader) &&
- !unref(getIsTopMenu)
- );
- });
- const getShowInsetHeaderRef = computed(() => {
- const need = !unref(getFullContent) && unref(getShowHeader);
- return (need && !unref(getShowMixHeaderRef)) || (need && unref(getIsTopMenu));
- });
- // Get header configuration
- const getHeaderSetting = computed(() => appStore.getProjectConfig.headerSetting);
- const getShowDoc = computed(() => unref(getHeaderSetting).showDoc);
- const getHeaderTheme = computed(() => unref(getHeaderSetting).theme);
- const getShowHeader = computed(() => unref(getHeaderSetting).show);
- const getFixed = computed(() => unref(getHeaderSetting).fixed);
- const getHeaderBgColor = computed(() => unref(getHeaderSetting).bgColor);
- const getShowRedo = computed(() => unref(getHeaderSetting).showRedo && unref(getShowMultipleTab));
- const getUseLockPage = computed(() => unref(getHeaderSetting).useLockPage);
- const getShowFullScreen = computed(() => unref(getHeaderSetting).showFullScreen);
- const getShowNotice = computed(() => unref(getHeaderSetting).showNotice);
- const getUnFixedAndFull = computed(() => !unref(getFixed) && !unref(getShowFullHeaderRef));
- const getShowBread = computed(() => {
- return (
- unref(getMenuMode) !== MenuModeEnum.HORIZONTAL && unref(getShowBreadCrumb) && !unref(getSplit)
- );
- });
- const getShowHeaderLogo = computed(() => {
- return unref(getShowLogo) && !unref(getIsSidebarType);
- });
- const getShowContent = computed(() => {
- return unref(getShowBread) || unref(getShowHeaderTrigger);
- });
- // Set header configuration
- function setHeaderSetting(headerSetting: Partial<HeaderSetting>): void {
- appStore.commitProjectConfigState({ headerSetting });
- }
- return {
- setHeaderSetting,
- getHeaderSetting,
- getShowDoc,
- getHeaderTheme,
- getShowRedo,
- getUseLockPage,
- getShowFullScreen,
- getShowNotice,
- getShowBread,
- getShowContent,
- getShowHeaderLogo,
- getShowHeader,
- getFixed,
- getShowMixHeaderRef,
- getShowFullHeaderRef,
- getShowInsetHeaderRef,
- getUnFixedAndFull,
- getHeaderBgColor,
- };
- }
|