mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-04-20 20:38:06 +00:00
72 lines
2.0 KiB
JavaScript
72 lines
2.0 KiB
JavaScript
import ConfigProvider from '../config-provider';
|
|
import { log } from '../util';
|
|
import Dialog from './dialog';
|
|
import Inner from './inner';
|
|
import { show, alert, confirm } from './show';
|
|
|
|
Dialog.Inner = Inner;
|
|
Dialog.show = config => {
|
|
const { warning } = ConfigProvider.getContextProps(config, 'Dialog');
|
|
if (warning !== false) {
|
|
config = processProps(config, log.deprecated);
|
|
}
|
|
return show(config);
|
|
};
|
|
Dialog.alert = config => {
|
|
const { warning } = ConfigProvider.getContextProps(config, 'Dialog');
|
|
if (warning !== false) {
|
|
config = processProps(config, log.deprecated);
|
|
}
|
|
return alert(config);
|
|
};
|
|
Dialog.confirm = config => {
|
|
const { warning } = ConfigProvider.getContextProps(config, 'Dialog');
|
|
if (warning !== false) {
|
|
config = processProps(config, log.deprecated);
|
|
}
|
|
return confirm(config);
|
|
};
|
|
|
|
/* istanbul ignore next */
|
|
function processProps(props, deprecated) {
|
|
if ('closable' in props) {
|
|
deprecated('closable', 'closeable', 'Dialog');
|
|
const { closable, ...others } = props;
|
|
props = { closeable: closable, ...others };
|
|
}
|
|
|
|
const overlayPropNames = [
|
|
'target',
|
|
'offset',
|
|
'beforeOpen',
|
|
'onOpen',
|
|
'afterOpen',
|
|
'beforePosition',
|
|
'onPosition',
|
|
'cache',
|
|
'safeNode',
|
|
'wrapperClassName',
|
|
'container',
|
|
];
|
|
overlayPropNames.forEach(name => {
|
|
if (name in props) {
|
|
deprecated(name, `overlayProps.${name}`, 'Dialog');
|
|
const { overlayProps, ...others } = props;
|
|
const newOverlayProps = {
|
|
[name]: props[name],
|
|
...(overlayProps || {}),
|
|
};
|
|
delete others[name];
|
|
props = { overlayProps: newOverlayProps, ...others };
|
|
}
|
|
});
|
|
|
|
return props;
|
|
}
|
|
|
|
export default ConfigProvider.config(Dialog, {
|
|
transform: (props, deprecated) => {
|
|
return processProps(props, deprecated);
|
|
},
|
|
});
|