55 lines
2.5 KiB
TypeScript
55 lines
2.5 KiB
TypeScript
import type { AvatarProps } from 'antd';
|
|
import React from 'react';
|
|
import type { PureSettings } from '../../defaultSettings';
|
|
import type { MenuDataItem } from '../../index';
|
|
import type { WithFalse } from '../../typing';
|
|
import type { AppItemProps, AppListProps } from '../AppsLogoComponents/types';
|
|
import type { HeaderViewProps } from '../Header';
|
|
import type { PrivateSiderMenuProps, SiderMenuProps } from '../SiderMenu/SiderMenu';
|
|
export type GlobalHeaderProps = {
|
|
collapsed?: boolean;
|
|
onCollapse?: (collapsed: boolean) => void;
|
|
isMobile?: boolean;
|
|
logo?: React.ReactNode;
|
|
/**
|
|
* @name 虽然叫menuRender,但是其实是整个 SiderMenu 面板的渲染函数
|
|
*
|
|
* @example 收起时完成不展示菜单 menuRender={(props,defaultDom)=> props.collapsed ? null : defaultDom}
|
|
* @example 不展示菜单 menuRender={false}
|
|
*/
|
|
menuRender?: WithFalse<(props: HeaderViewProps, defaultDom: React.ReactNode) => React.ReactNode>;
|
|
/**
|
|
* @deprecated
|
|
* 使用 actionsRender 和 avatarProps 代替
|
|
*/
|
|
rightContentRender?: WithFalse<(props: HeaderViewProps) => React.ReactNode>;
|
|
className?: string;
|
|
prefixCls?: string;
|
|
/** 相关品牌的列表 */
|
|
appList?: AppListProps;
|
|
/** 相关品牌的列表项 点击事件,当事件存在时,appList 内配置的 url 不在自动跳转 */
|
|
itemClick?: (item: AppItemProps, popoverRef?: React.RefObject<HTMLSpanElement>) => void;
|
|
menuData?: MenuDataItem[];
|
|
onMenuHeaderClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
style?: React.CSSProperties;
|
|
menuHeaderRender?: SiderMenuProps['menuHeaderRender'];
|
|
/**
|
|
* @name 顶部区域的渲染,包含内部的 menu
|
|
*
|
|
* @example headerContentRender={(props) => <div>管理控制台 </div>}
|
|
*/
|
|
headerContentRender?: WithFalse<(props: HeaderViewProps, defaultDom: React.ReactNode) => React.ReactNode>;
|
|
collapsedButtonRender?: SiderMenuProps['collapsedButtonRender'];
|
|
splitMenus?: boolean;
|
|
/** Layout的操作功能列表,不同的 layout 会放到不同的位置 */
|
|
actionsRender?: WithFalse<(props: HeaderViewProps) => React.ReactNode[] | React.ReactNode>;
|
|
/** 头像的设置 */
|
|
avatarProps?: WithFalse<AvatarProps & {
|
|
title?: React.ReactNode;
|
|
render?: (props: AvatarProps, defaultDom: React.ReactNode, siderProps: SiderMenuProps) => React.ReactNode;
|
|
}>;
|
|
children?: React.ReactNode;
|
|
} & Partial<PureSettings>;
|
|
declare const GlobalHeader: React.FC<GlobalHeaderProps & PrivateSiderMenuProps>;
|
|
export { GlobalHeader };
|