123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- import { HandlerEnum } from './const';
- import { MenuThemeEnum, MenuTypeEnum } from '/@/enums/menuEnum';
- import { updateColorWeak, updateGrayMode } from '/@/setup/theme';
- import { appStore } from '/@/store/modules/app';
- import { ProjectConfig } from '/@/types/config';
- export function baseHandler(event: HandlerEnum, value: any) {
- const config = handler(event, value);
- appStore.commitProjectConfigState(config);
- }
- export function handler(event: HandlerEnum, value: any): DeepPartial<ProjectConfig> {
- switch (event) {
- case HandlerEnum.CHANGE_LAYOUT:
- const { mode, type, split } = value;
- const splitOpt = split === undefined ? { split } : {};
- let headerSetting = {};
- if (type === MenuTypeEnum.TOP_MENU) {
- headerSetting = {
- theme: MenuThemeEnum.DARK,
- };
- }
- return {
- menuSetting: {
- mode,
- type,
- collapsed: false,
- show: true,
- ...splitOpt,
- },
- headerSetting,
- };
- case HandlerEnum.MENU_HAS_DRAG:
- return {
- menuSetting: {
- hasDrag: value,
- },
- };
- case HandlerEnum.MENU_ACCORDION:
- return {
- menuSetting: {
- accordion: value,
- },
- };
- case HandlerEnum.MENU_TRIGGER:
- return {
- menuSetting: {
- trigger: value,
- },
- };
- case HandlerEnum.MENU_TOP_ALIGN:
- return {
- menuSetting: {
- topMenuAlign: value,
- },
- };
- case HandlerEnum.MENU_COLLAPSED:
- return {
- menuSetting: {
- collapsed: value,
- },
- };
- case HandlerEnum.MENU_WIDTH:
- return {
- menuSetting: {
- menuWidth: value,
- },
- };
- case HandlerEnum.MENU_COLLAPSED_SHOW_TITLE:
- return {
- menuSetting: {
- collapsedShowTitle: value,
- },
- };
- case HandlerEnum.MENU_SHOW_SIDEBAR:
- return {
- menuSetting: {
- show: value,
- },
- };
- case HandlerEnum.MENU_THEME:
- return {
- menuSetting: {
- theme: value,
- },
- };
- case HandlerEnum.MENU_SPLIT:
- return {
- menuSetting: {
- split: value,
- },
- };
- case HandlerEnum.MENU_SHOW_SEARCH:
- return {
- menuSetting: {
- showSearch: value,
- },
- };
- case HandlerEnum.OPEN_PAGE_LOADING:
- return {
- openPageLoading: value,
- };
- case HandlerEnum.OPEN_ROUTE_TRANSITION:
- return {
- openRouterTransition: value,
- };
- case HandlerEnum.ROUTER_TRANSITION:
- return {
- routerTransition: value,
- };
- case HandlerEnum.LOCK_TIME:
- return {
- lockTime: value,
- };
- case HandlerEnum.FULL_CONTENT:
- return {
- fullContent: value,
- };
- case HandlerEnum.CONTENT_MODE:
- return {
- contentMode: value,
- };
- case HandlerEnum.SHOW_BREADCRUMB:
- return {
- showBreadCrumb: value,
- };
- case HandlerEnum.SHOW_BREADCRUMB_ICON:
- return {
- showBreadCrumbIcon: value,
- };
- case HandlerEnum.GRAY_MODE:
- updateGrayMode(value);
- return {
- grayMode: value,
- };
- case HandlerEnum.COLOR_WEAK:
- updateColorWeak(value);
- return {
- colorWeak: value,
- };
- case HandlerEnum.SHOW_LOGO:
- return {
- showLogo: value,
- };
- case HandlerEnum.TABS_SHOW_QUICK:
- return {
- multiTabsSetting: {
- showQuick: value,
- },
- };
- case HandlerEnum.TABS_SHOW_QUICK:
- return {
- multiTabsSetting: {
- showIcon: value,
- },
- };
- case HandlerEnum.TABS_SHOW:
- return {
- multiTabsSetting: {
- show: value,
- },
- };
- case HandlerEnum.HEADER_THEME:
- return {
- headerSetting: {
- theme: value,
- },
- };
- case HandlerEnum.HEADER_FIXED:
- return {
- headerSetting: {
- fixed: value,
- },
- };
- case HandlerEnum.HEADER_SHOW:
- return {
- headerSetting: {
- show: value,
- },
- };
- default:
- return {};
- }
- }
|