From aafbb05236919bb0a9b5ba130d969a9ff921af37 Mon Sep 17 00:00:00 2001 From: vben Date: Mon, 21 Dec 2020 22:20:01 +0800 Subject: [PATCH] chore: fix types --- src/hooks/core/useEffect.ts | 16 ++++++++++++++++ .../default/setting/components/SettingFooter.vue | 2 +- src/layouts/default/setting/handler.ts | 2 +- src/logics/mitt/tabChange.ts | 4 +--- src/{setup => logics}/theme/index.ts | 2 +- src/router/types.d.ts | 3 ++- src/setup/App.ts | 2 +- 7 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 src/hooks/core/useEffect.ts rename src/{setup => logics}/theme/index.ts (99%) diff --git a/src/hooks/core/useEffect.ts b/src/hooks/core/useEffect.ts new file mode 100644 index 00000000..7c85565b --- /dev/null +++ b/src/hooks/core/useEffect.ts @@ -0,0 +1,16 @@ +import { WatchOptions } from 'vue'; +import { watch } from 'vue'; +import { isFunction } from '/@/utils/is'; + +export const useEffect = (effectHandler: Fn, dependencies: any[]) => { + return watch( + dependencies, + (changedDependencies, prevDependencies, onCleanUp) => { + const effectCleaner = effectHandler(changedDependencies, prevDependencies); + if (isFunction(effectCleaner)) { + onCleanUp(effectCleaner); + } + }, + { immediate: true, deep: true } as WatchOptions + ); +}; diff --git a/src/layouts/default/setting/components/SettingFooter.vue b/src/layouts/default/setting/components/SettingFooter.vue index 270b85f1..6c8a8c24 100644 --- a/src/layouts/default/setting/components/SettingFooter.vue +++ b/src/layouts/default/setting/components/SettingFooter.vue @@ -27,7 +27,7 @@ import { useMessage } from '/@/hooks/web/useMessage'; import { useCopyToClipboard } from '/@/hooks/web/useCopyToClipboard'; import { useRootSetting } from '/@/hooks/setting/useRootSetting'; - import { updateColorWeak, updateGrayMode } from '/@/setup/theme'; + import { updateColorWeak, updateGrayMode } from '/@/logics/theme'; export default defineComponent({ name: 'SettingFooter', diff --git a/src/layouts/default/setting/handler.ts b/src/layouts/default/setting/handler.ts index 6a2dc415..2a711a45 100644 --- a/src/layouts/default/setting/handler.ts +++ b/src/layouts/default/setting/handler.ts @@ -4,7 +4,7 @@ import { updateGrayMode, updateHeaderBgColor, updateSidebarBgColor, -} from '/@/setup/theme'; +} from '/@/logics/theme'; import { appStore } from '/@/store/modules/app'; import { ProjectConfig } from '/@/types/config'; diff --git a/src/logics/mitt/tabChange.ts b/src/logics/mitt/tabChange.ts index 59668812..5ca7f464 100644 --- a/src/logics/mitt/tabChange.ts +++ b/src/logics/mitt/tabChange.ts @@ -23,7 +23,5 @@ export function listenerLastChangeTab( immediate = true ) { mitt.on(key, callback); - if (immediate) { - callback(lastChangeTab); - } + immediate && callback(lastChangeTab); } diff --git a/src/setup/theme/index.ts b/src/logics/theme/index.ts similarity index 99% rename from src/setup/theme/index.ts rename to src/logics/theme/index.ts index 91967244..7e1b3b5d 100644 --- a/src/setup/theme/index.ts +++ b/src/logics/theme/index.ts @@ -24,7 +24,7 @@ function toggleClass(flag: boolean, clsName: string, target?: HTMLElement) { /** * Change the status of the project's color weakness mode - * @param gray + * @param colorWeak */ export const updateColorWeak = (colorWeak: boolean) => { toggleClass(colorWeak, 'color-weak', document.documentElement); diff --git a/src/router/types.d.ts b/src/router/types.d.ts index bb40d916..2dd45706 100644 --- a/src/router/types.d.ts +++ b/src/router/types.d.ts @@ -14,7 +14,8 @@ export interface RouteMeta { affix?: boolean; // icon on tab icon?: string; - // Jump address + + frameSrc?: string; // current page transition transitionName?: string; diff --git a/src/setup/App.ts b/src/setup/App.ts index b7b97d8d..127bff8c 100644 --- a/src/setup/App.ts +++ b/src/setup/App.ts @@ -17,7 +17,7 @@ import { updateColorWeak, updateHeaderBgColor, updateSidebarBgColor, -} from '/@/setup/theme'; +} from '/@/logics/theme'; import { appStore } from '/@/store/modules/app'; import { deepMerge } from '/@/utils'; -- GitLab