SelectStatus.jsx 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import React from 'react'
  2. import { translate } from 'react-i18next'
  3. import i18n from '../../../i18n.js'
  4. require('./SelectStatus.styl')
  5. export const SelectStatus = props => {
  6. translate.setI18n(props.i18n ? props.i18n : i18n) // mandatory to allow Apps to overrides trad
  7. return (
  8. <div className='selectStatus dropdown'>
  9. <button
  10. className='selectStatus__dropdownbtn check btn dropdown-toggle'
  11. type='button'
  12. id='dropdownMenu2'
  13. data-toggle='dropdown'
  14. aria-haspopup='true'
  15. aria-expanded='false'
  16. style={{color: props.selectedStatus ? props.selectedStatus.hexcolor : 'transparent'}}
  17. disabled={props.disabled}
  18. >
  19. {props.selectedStatus ? props.selectedStatus.label : ''}
  20. <div className='selectStatus__dropdownbtn__icon'>
  21. <i className={`fa fa-${props.selectedStatus ? props.selectedStatus.faIcon : ''}`} />
  22. </div>
  23. </button>
  24. <div className='selectStatus__submenu dropdown-menu' aria-labelledby='dropdownMenu2'>
  25. <h6 className='dropdown-header'>{props.t('Input.SelectStatus.file_status')}</h6>
  26. <div className='dropdown-divider' />
  27. {props.availableStatus.map(s =>
  28. <button
  29. className='selectStatus__submenu__item current dropdown-item'
  30. type='button'
  31. onClick={() => props.onChangeStatus(s.slug)}
  32. key={`status_${s.slug}`}
  33. style={{color: s.hexcolor}}
  34. >
  35. {s.label /* props.t('Input.SelectStatus.ongoing') */}
  36. <div className='selectStatus__submenu__item__icon'>
  37. <i className={`fa fa-fw fa-${s.faIcon}`} />
  38. </div>
  39. </button>
  40. )}
  41. </div>
  42. </div>
  43. )
  44. }
  45. export default translate()(SelectStatus)