mirror of
https://github.com/ant-design/ant-design.git
synced 2024-11-29 21:59:41 +08:00
50fe770458
* refactor(modal): rewrite with hook and support strict mode * Update ActionButton.tsx * improve code
51 lines
1.1 KiB
TypeScript
51 lines
1.1 KiB
TypeScript
import OriginModal, { ModalFuncProps, destroyFns } from './Modal';
|
|
import confirm, {
|
|
withWarn,
|
|
withInfo,
|
|
withSuccess,
|
|
withError,
|
|
withConfirm,
|
|
ModalStaticFunctions,
|
|
} from './confirm';
|
|
|
|
export { ActionButtonProps } from './ActionButton';
|
|
export { ModalProps, ModalFuncProps } from './Modal';
|
|
|
|
function modalWarn(props: ModalFuncProps) {
|
|
return confirm(withWarn(props));
|
|
}
|
|
|
|
type Modal = typeof OriginModal & ModalStaticFunctions & { destroyAll: () => void };
|
|
const Modal = OriginModal as Modal;
|
|
|
|
Modal.info = function infoFn(props: ModalFuncProps) {
|
|
return confirm(withInfo(props));
|
|
};
|
|
|
|
Modal.success = function successFn(props: ModalFuncProps) {
|
|
return confirm(withSuccess(props));
|
|
};
|
|
|
|
Modal.error = function errorFn(props: ModalFuncProps) {
|
|
return confirm(withError(props));
|
|
};
|
|
|
|
Modal.warning = modalWarn;
|
|
|
|
Modal.warn = modalWarn;
|
|
|
|
Modal.confirm = function confirmFn(props: ModalFuncProps) {
|
|
return confirm(withConfirm(props));
|
|
};
|
|
|
|
Modal.destroyAll = function destroyAllFn() {
|
|
while (destroyFns.length) {
|
|
const close = destroyFns.pop();
|
|
if (close) {
|
|
close();
|
|
}
|
|
}
|
|
};
|
|
|
|
export default Modal;
|