import Button from '../button'; import ConfigProvider from '../config-provider'; import React, { Component } from 'react'; import cls from 'classnames'; import { Drawer as NextDrawer } from '@alifd/next'; import { DrawerProps as NextDrawerProps } from '@alifd/next/types/drawer'; interface DrawerAddProps { size?: 'small' | 'medium' | 'large'; fullScreen?: boolean; multilevel?:boolean; footer?: boolean | React.ReactNode; footerAlign?: 'left' | 'center' | 'right'; footerActions?: Array; onOk?: (event: React.MouseEvent) => void; onCancel?: (event: React.MouseEvent) => void; okProps?: any; cancelProps?: any; top?: number; } interface DrawerProps extends NextDrawerProps, DrawerAddProps {} class Drawer extends Component { render() { const { prefix = 'next-', className, size = 'medium', fullScreen, multilevel, children, footer = false, onOk, onCancel, okProps, cancelProps, footerAlign = 'right', width, footerActions, top } = this.props; if (multilevel) { const curwidth = document.getElementsByClassName(`${prefix}drawer-previus`)[0] ? document.getElementsByClassName(`${prefix}drawer-previus`)[0].clientWidth : 0; let prewidth: number; if (size === 'medium') { prewidth = 640; } else if (size === 'small') { prewidth = 480; } else if (size === 'large') { prewidth = 800; } return (
{children}
{(footer == null || footer === true) ?
: (!footer ? undefined : footer)}
); } return ( {children} {(footer == null || footer === true) ? : (!footer ? undefined : footer)} ); } } export default ConfigProvider.config(Drawer);