import type { PopsPanelViewConfig } from "."; import type { PopsPanelContainerConfig } from "./components-container"; import type { PopsPanelGeneralConfig } from "./components-common"; /** * pops.panel的 深层视图的配置 */ export interface PopsPanelDeepViewConfig extends PopsPanelGeneralConfig { /** * 组件类型 */ type: "deepMenu"; /** * 显示在左边的文字 */ text: string; /** * (可选)左边的文字下面的描述 */ description?: string; /** * (可选)右侧的文字 */ rightText?: string; /** * (可选)右侧的箭头图标,默认启用 */ arrowRightIcon?: boolean; /** * 点击整行触发的事件,可为异步函数 * @param event click事件 * @returns * + true 表示阻止进入深层菜单 * + false (默认)表示允许进入深层菜单 */ clickCallBack?: ( event: MouseEvent | PointerEvent, viewConfig: PopsPanelDeepViewConfig ) => boolean | void | Promise; /** * 进入深层菜单后触发的回调 * @param viewConfig */ afterEnterDeepMenuCallBack?: ( viewConfig: PopsPanelDeepViewConfig, container: { /** 右侧的总容器 */ $sectionContainer: HTMLElement; /** 右侧的总容器的标题头容器 */ $sectionContainerHeaderContainer: HTMLUListElement; /** 右侧的总容器的标题头 */ $sectionContainerHeader: HTMLLIElement; /** 右侧的内容容器 */ $sectionBodyContainer: HTMLUListElement; } ) => void; /** * 菜单配置 */ views?: (PopsPanelContainerConfig | PopsPanelViewConfig)[]; /** * (可选)头部的标题文字,没有的话默认是text */ headerTitle?: string; }