69 lines
1.5 KiB
JavaScript
Raw Normal View History

2019-07-23 17:37:07 +02:00
import React, { memo, useState } from 'react';
import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types';
import {
ButtonDropdown,
DropdownToggle,
DropdownMenu,
DropdownItem,
} from 'reactstrap';
import { Wrapper } from './components';
function Add({ data, onClick, pStyle, style }) {
2019-08-01 16:33:51 +02:00
const [isOpen, setIsOpen] = useState(false);
2019-07-23 17:37:07 +02:00
return (
2019-08-01 16:33:51 +02:00
<Wrapper isOpen={isOpen} notAllowed={data.length === 0} style={style}>
2019-07-23 17:37:07 +02:00
<ButtonDropdown
2019-08-01 16:33:51 +02:00
isOpen={isOpen}
2019-07-23 17:37:07 +02:00
toggle={() => {
if (data.length > 0) {
2019-08-01 16:33:51 +02:00
setIsOpen(prevState => !prevState);
2019-07-23 17:37:07 +02:00
}
}}
>
<DropdownToggle>
<FormattedMessage id="content-manager.containers.SettingPage.addField">
{msg => (
<p style={pStyle}>
<span />
{msg}
</p>
)}
</FormattedMessage>
</DropdownToggle>
<DropdownMenu>
{data.map(item => (
<DropdownItem
key={item}
onClick={() => {
onClick(item);
}}
>
{item}
</DropdownItem>
))}
</DropdownMenu>
</ButtonDropdown>
</Wrapper>
);
}
Add.defaultProps = {
data: [],
onClick: () => {},
pStyle: {},
style: {},
};
Add.propTypes = {
data: PropTypes.array,
onClick: PropTypes.func,
pStyle: PropTypes.object,
style: PropTypes.object,
};
export default memo(Add);