DropdownCreateButton.jsx 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import React from 'react'
  2. import PropTypes from 'prop-types'
  3. import classnames from 'classnames'
  4. import SubDropdownCreateButton from './SubDropdownCreateButton.jsx'
  5. import { translate } from 'react-i18next'
  6. const DropdownCreateButton = props => {
  7. return (
  8. <div className={classnames(props.parentClass, props.customClass, 'dropdownCreateBtn')}>
  9. <button
  10. className={classnames(`${props.parentClass}__label`, 'dropdownCreateBtn__label btn btn-primary dropdown-toggle')}
  11. type='button'
  12. id='dropdownCreateBtn'
  13. data-toggle='dropdown'
  14. aria-haspopup='true'
  15. aria-expanded='false'
  16. >
  17. <div className={classnames(`${props.parentClass}__label__text`, 'dropdownCreateBtn__label__text')}>
  18. {props.t('Create ...')}
  19. </div>
  20. </button>
  21. <div
  22. className={classnames(`${props.parentClass}__setting`, 'dropdownCreateBtn__setting dropdown-menu')}
  23. aria-labelledby='dropdownCreateBtn'
  24. >
  25. <SubDropdownCreateButton
  26. idFolder={props.idFolder}
  27. availableApp={props.availableApp}
  28. onClickCreateContent={props.onClickCreateContent}
  29. />
  30. </div>
  31. </div>
  32. )
  33. }
  34. export default translate()(DropdownCreateButton)
  35. DropdownCreateButton.propTypes = {
  36. availableApp: PropTypes.array.isRequired,
  37. onClickCreateContent: PropTypes.func.isRequired,
  38. parentClass: PropTypes.string,
  39. customClass: PropTypes.string,
  40. idFolder: PropTypes.number
  41. }
  42. DropdownCreateButton.defaultProps = {
  43. parentClass: '',
  44. customClass: ''
  45. }