UserGroupUserModal.jsx 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import { withTranslation } from 'react-i18next';
  4. import {
  5. Modal, ModalHeader, ModalBody,
  6. } from 'reactstrap';
  7. import UserGroupUserFormByInput from './UserGroupUserFormByInput';
  8. import { createSubscribedElement } from '../../UnstatedUtils';
  9. import AppContainer from '../../../services/AppContainer';
  10. import UserGroupDetailContainer from '../../../services/UserGroupDetailContainer';
  11. class UserGroupUserModal extends React.Component {
  12. render() {
  13. const { t, userGroupDetailContainer } = this.props;
  14. return (
  15. <Modal show={userGroupDetailContainer.state.isUserGroupUserModalOpen} onHide={userGroupDetailContainer.closeUserGroupUserModal}>
  16. <ModalHeader closeButton>
  17. { t('user_group_management.add_user') }
  18. </ModalHeader>
  19. <ModalBody>
  20. <UserGroupUserFormByInput />
  21. </ModalBody>
  22. </Modal>
  23. );
  24. }
  25. }
  26. UserGroupUserModal.propTypes = {
  27. t: PropTypes.func.isRequired, // i18next
  28. appContainer: PropTypes.instanceOf(AppContainer).isRequired,
  29. userGroupDetailContainer: PropTypes.instanceOf(UserGroupDetailContainer).isRequired,
  30. };
  31. /**
  32. * Wrapper component for using unstated
  33. */
  34. const UserGroupUserModalWrapper = (props) => {
  35. return createSubscribedElement(UserGroupUserModal, props, [AppContainer, UserGroupDetailContainer]);
  36. };
  37. export default withTranslation()(UserGroupUserModalWrapper);