refactoring(drawer): drawer component.

This commit is contained in:
elforjani3
2021-04-28 20:31:00 +02:00
parent ebd669713a
commit efaa7e04c1
3 changed files with 66 additions and 16 deletions

View File

@@ -1,27 +1,29 @@
import React from 'react';
import { FormattedMessage as T, useIntl } from 'react-intl';
import { Position, Drawer } from '@blueprintjs/core';
import withDrawerActions from 'containers/Drawer/withDrawerActions';
import { compose } from 'utils';
function DrawerComponent(props) {
const { name, children, onClose, closeDrawer } = props;
const handleClose = (event) => {
closeDrawer(name);
onClose && onClose(event);
};
export default function ({
title = <T id={'view_paper'} />,
children,
isOpen,
isClose,
drawerProps,
}) {
return (
<Drawer
isOpen={isOpen}
title={title}
position={Position.RIGHT}
size={'700px'}
canOutsideClickClose={true}
canEscapeKeyClose={true}
size={'700px'}
onClose={isClose}
{...drawerProps}
position={Position.RIGHT}
onClose={handleClose}
{...props}
>
{children}
</Drawer>
);
}
export default compose(withDrawerActions)(DrawerComponent);

View File

@@ -0,0 +1,46 @@
import React from 'react';
import { FormattedMessage as T } from 'react-intl';
import { Classes, Icon, H4, Button } from '@blueprintjs/core';
import withDrawerActions from 'containers/Drawer/withDrawerActions';
import { compose } from 'utils';
/**
* Drawer header content.
*/
function DrawerHeaderContent(props) {
const {
icon,
title = <T id={'view_paper'} />,
onClose,
name,
closeDrawer,
} = props;
if (title == null) {
return null;
}
const handleClose = (event) => {
closeDrawer(name);
onClose && onClose(event);
};
return (
<div className={Classes.DRAWER_HEADER}>
<Icon icon={icon} iconSize={Icon.SIZE_LARGE} />
<H4>{title}</H4>
<Button
aria-label="Close"
className={Classes.DIALOG_CLOSE_BUTTON}
icon={<Icon icon="small-cross" iconSize={Icon.SIZE_LARGE} />}
minimal={true}
onClick={handleClose}
/>
</div>
);
}
export default compose(withDrawerActions)(DrawerHeaderContent);

View File

@@ -51,6 +51,7 @@ import DashboardPageContent from './Dashboard/DashboardPageContent';
import DashboardInsider from './Dashboard/DashboardInsider';
import Drawer from './Drawer/Drawer';
import DrawerSuspense from './Drawer/DrawerSuspense';
import DrawerHeaderContent from './Drawer/DrawerHeaderContent';
import Postbox from './Postbox';
import AccountsSuggestField from './AccountsSuggestField';
import MaterialProgressBar from './MaterialProgressBar';
@@ -112,7 +113,8 @@ export {
DashboardInsider,
Drawer,
DrawerSuspense,
DrawerHeaderContent,
Postbox,
AccountsSuggestField,
MaterialProgressBar
MaterialProgressBar,
};