InviteUserControl.jsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import React, { Fragment } from 'react';
  2. import PropTypes from 'prop-types';
  3. import { withTranslation } from 'react-i18next';
  4. import { createSubscribedElement } from '../../UnstatedUtils';
  5. import AppContainer from '../../../services/AppContainer';
  6. import AdminUsersContainer from '../../../services/AdminUsersContainer';
  7. import UserInviteModal from './UserInviteModal';
  8. class InviteUserControl extends React.Component {
  9. render() {
  10. const { t, adminUsersContainer } = this.props;
  11. return (
  12. <Fragment>
  13. <button type="button" className="btn btn-default" onClick={adminUsersContainer.toggleUserInviteModal}>
  14. { t('user_management.invite_users') }
  15. </button>
  16. <UserInviteModal />
  17. </Fragment>
  18. );
  19. }
  20. }
  21. const InviteUserControlWrapper = (props) => {
  22. return createSubscribedElement(InviteUserControl, props, [AppContainer, AdminUsersContainer]);
  23. };
  24. InviteUserControl.propTypes = {
  25. t: PropTypes.func.isRequired, // i18next
  26. appContainer: PropTypes.instanceOf(AppContainer).isRequired,
  27. adminUsersContainer: PropTypes.instanceOf(AdminUsersContainer).isRequired,
  28. };
  29. export default withTranslation()(InviteUserControlWrapper);