Skip to content

Commit

Permalink
feat: 新增可配置动态头部按钮
Browse files Browse the repository at this point in the history
  • Loading branch information
crlang committed Aug 24, 2022
1 parent 87219cc commit 01498d7
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 13 deletions.
59 changes: 46 additions & 13 deletions src/layouts/default/setting/SettingDrawer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ export default defineComponent({
getShowDarkModeToggle,
getThemeColor,
getShowSettingButton,
getUseErrorHandle,
} = useRootSetting()

const { getOpenPageLoading, getBasicTransition, getEnableTransition, getOpenNProgress } = useTransitionSetting()
Expand All @@ -68,7 +69,13 @@ export default defineComponent({
getMixSideFixed,
} = useMenuSetting()

const { getShowHeader, getFixed: getHeaderFixed, getHeaderBgColor, getShowSearch } = useHeaderSetting()
const {
getShowHeader,
getFixed: getHeaderFixed,
getHeaderBgColor,
getShowSearch,
getShowNotice,
} = useHeaderSetting()

const { getShowMultipleTab, getShowQuick, getShowRedo, getShowFold } = useMultipleTabSetting()

Expand Down Expand Up @@ -124,6 +131,41 @@ export default defineComponent({
)
}

function renderHeader() {
return (
<>
<SwitchItem
title={'项目配置入口'}
event={HandlerEnum.THEME_SETTING}
def={unref(getShowSettingButton)}
disabled={!unref(getShowHeader)}
/>

<SwitchItem
title={'菜单搜索'}
event={HandlerEnum.HEADER_SEARCH}
def={unref(getShowSearch)}
disabled={!unref(getShowHeader)}
/>

<SwitchItem
title={'错误日志'}
event={HandlerEnum.HEADER_ERROR_LOG}
def={unref(getUseErrorHandle)}
disabled={!unref(getShowHeader)}
/>

<SwitchItem
title={'通知中心'}
event={HandlerEnum.HEADER_NOTICE}
def={unref(getShowNotice)}
disabled={!unref(getShowHeader)}
/>

</>
)
}

function renderFeatures() {
let triggerDef = unref(getTrigger)

Expand All @@ -135,11 +177,6 @@ export default defineComponent({

return (
<>
<SwitchItem
title={'项目配置入口'}
event={HandlerEnum.THEME_SETTING}
def={unref(getShowSettingButton)}
/>
<SwitchItem
title={'分割菜单'}
event={HandlerEnum.MENU_SPLIT}
Expand Down Expand Up @@ -172,12 +209,6 @@ export default defineComponent({
def={unref(getCanDrag)}
disabled={!unref(getShowMenuRef)}
/>
<SwitchItem
title={'菜单搜索'}
event={HandlerEnum.HEADER_SEARCH}
def={unref(getShowSearch)}
disabled={!unref(getShowHeader)}
/>
<SwitchItem
title={'侧边菜单手风琴模式'}
event={HandlerEnum.MENU_ACCORDION}
Expand Down Expand Up @@ -383,7 +414,7 @@ export default defineComponent({
{{
default: () => (
<>
{unref(getShowDarkModeToggle) && <ElDivider>{() => '主题'}</ElDivider>}
{unref(getShowDarkModeToggle) && <ElDivider>{() => '暗黑主题'}</ElDivider>}
{unref(getShowDarkModeToggle) && <AppDarkModeToggle class='mx-auto' />}
<ElDivider>{() => '导航栏模式'}</ElDivider>
{renderSidebar()}
Expand All @@ -393,6 +424,8 @@ export default defineComponent({
{renderHeaderTheme()}
<ElDivider>{() => '菜单主题'}</ElDivider>
{renderSiderTheme()}
<ElDivider>{() => '界面头部'}</ElDivider>
{renderHeader()}
<ElDivider>{() => '界面功能'}</ElDivider>
{renderFeatures()}
<ElDivider>{() => '界面显示'}</ElDivider>
Expand Down
2 changes: 2 additions & 0 deletions src/layouts/default/setting/enum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ export enum HandlerEnum {
OPEN_ROUTE_TRANSITION,

THEME_SETTING,
HEADER_ERROR_LOG,
HEADER_NOTICE,
}

export const contentModeOptions = [
Expand Down
6 changes: 6 additions & 0 deletions src/layouts/default/setting/handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,9 @@ export function handler(event: HandlerEnum, value: any): DeepPartial<ProjectConf
case HandlerEnum.THEME_SETTING:
return { showSettingButton: value }

case HandlerEnum.HEADER_ERROR_LOG:
return { useErrorHandle: value }

case HandlerEnum.LOCK_TIME:
return { lockTime: value }

Expand Down Expand Up @@ -160,6 +163,9 @@ export function handler(event: HandlerEnum, value: any): DeepPartial<ProjectConf
case HandlerEnum.HEADER_SEARCH:
return { headerSetting: { showSearch: value } }

case HandlerEnum.HEADER_NOTICE:
return { headerSetting: { showNotice: value } }

case HandlerEnum.HEADER_FIXED:
return { headerSetting: { fixed: value } }

Expand Down

0 comments on commit 01498d7

Please sign in to comment.