@flatbiz/antd
Version:
65 lines (62 loc) • 2.01 kB
TypeScript
import { TNoopDefine } from '@flatbiz/utils';
import { FormInstance } from 'antd';
import { CSSProperties, ReactElement } from 'react';
export type DialogDragModalProps = {
/** 相同的modalKey,最多只有一个弹起状态 */
modalKey?: string;
className?: string;
style?: CSSProperties;
styles?: {
header?: CSSProperties;
body?: CSSProperties;
footer?: CSSProperties;
};
width?: number;
bodyHeight?: number;
/** 触发弹起点击事件event,用于计算鼠标位置 */
event?: React.MouseEvent<HTMLElement>;
/** 定义弹出层距离触发点的x轴偏移量 */
xOffset?: number;
title?: string;
okText?: string | ReactElement;
cancelText?: string | ReactElement;
okHidden?: boolean;
cancelHidden?: boolean;
onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;
onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;
content: string | ReactElement | ((form: FormInstance, operate: {
onClose: TNoopDefine;
}) => ReactElement);
/** 覆盖当前footer,自定义操作按钮 */
footer?: null | ((form: FormInstance, operate: {
onClose: TNoopDefine;
}) => ReactElement);
/** 当前footer操作按钮,左侧扩展 */
footerOperateBeforeRender?: (form: FormInstance, operate: {
onClose: TNoopDefine;
}) => ReactElement;
/** 当前footer操作按钮,右侧扩展 */
footerOperateAfterRender?: (form: FormInstance, operate: {
onClose: TNoopDefine;
}) => ReactElement;
};
/**
* 可移动弹框
* ```
* 1. 设置 event 后,弹起位置受鼠标点击位置控制
* 2. 相同的modalKey,最多只有一个弹起状态
* ```
*/
export declare const dialogDragModal: {
open: (props: DialogDragModalProps) => {
close: () => void;
} | undefined;
/**
* ```
* 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个
* 2. 多个弹框主动关闭,只能使用 dialogDrawer.open()返回值中的close
* ```
*/
close: (modalKey?: string) => void;
};
export {};