UNPKG

@whitesev/pops

Version:

弹窗库

145 lines (141 loc) 2.52 kB
import type { PopsTitleConfig, PopsDragConfig, PopsCommonConfig, } from "../../types/components"; import type { PopsEventDetails } from "../../types/event"; /** * pops.iframe的按钮的点击回调参数event */ export interface PopsBtnIframeCallBackEvent { /** * 动画元素(包裹着弹窗元素) */ animElement: HTMLElement; /** * 弹窗元素 */ popsElement: HTMLElement; /** * 遮罩层元素,如果未设置,那么不存在 */ maskElement?: HTMLElement; /** * iframe元素 */ iframePopsElement: HTMLIFrameElement; /** * 使用的方法名 */ function: "iframe"; /** * 唯一id */ guid: string; } /** * pops.iframe */ export interface PopsIframeDetails extends PopsTitleConfig, PopsDragConfig, PopsCommonConfig { /** * 加载配置 */ loading: { /** * 是否启用加载中的loading */ enable: boolean; /** * 是否启用loading图标 */ icon: boolean; /** * 文字 */ text: string; }; /** * 按钮配置 */ btn: { /** * 最小化 */ min: { /** * 点击的回调函数 */ callback: ( eventDetails: PopsEventDetails & { iframeElement: HTMLIFrameElement; }, event: MouseEvent | PointerEvent ) => void; }; /** * 最大化 */ max: { /** * 点击的回调函数 */ callback: ( eventDetails: PopsEventDetails & { iframeElement: HTMLIFrameElement; }, event: MouseEvent | PointerEvent ) => void; }; /** * 窗口化 */ mise: { /** * 点击的回调函数 */ callback: ( eventDetails: PopsEventDetails & { iframeElement: HTMLIFrameElement; }, event: MouseEvent | PointerEvent ) => void; }; /** * 关闭 */ close: { /** * 点击的回调函数 */ callback: ( eventDetails: PopsEventDetails & { iframeElement: HTMLIFrameElement; }, event: MouseEvent | PointerEvent ) => void; }; }; /** * 加载的地址,默认为window.location.href */ url?: string; /** * 右上角按钮顺序:最小化、最大化、窗口化、关闭 */ topRightButton: "min|max|mise|close"; /** * 是否启用沙箱,默认false */ sandbox?: boolean; /** * 加载完毕的回调 */ loadEndCallBack?: ( details: PopsEventDetails & { iframeElement: HTMLIFrameElement; } ) => void; }