Files
frontend-app-discussions/src/components/SelectableDropdown.jsx
Kshitij Sobti 5db87f54bb feat: Add post actions dropdown menu
Adds a dropdown menu for comments and posts to perform actions like pinning, unpinning, reporting etc.
2021-09-20 14:52:19 +05:30

40 lines
772 B
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import { MenuItem, SelectMenu } from '@edx/paragon';
function SelectableDropdown({
options,
onChange,
label,
}) {
return (
<SelectMenu defaultMessage={label}>
{
options.map(option => (
<MenuItem key={option.value} onClick={() => onChange(option)}>
{option.label}
</MenuItem>
))
}
</SelectMenu>
);
}
SelectableDropdown.propTypes = {
options: PropTypes.arrayOf(
PropTypes.shape({
value: PropTypes.string,
label: PropTypes.string,
}),
).isRequired,
onChange: PropTypes.func.isRequired,
label: PropTypes.node,
};
SelectableDropdown.defaultProps = {
label: null,
};
export default SelectableDropdown;