UserGroupDetailPage.tsx 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import React from 'react';
  2. import { WithTranslation, withTranslation } from 'react-i18next';
  3. import UserGroupEditForm from './UserGroupEditForm';
  4. import UserGroupUserTable from './UserGroupUserTable';
  5. import UserGroupUserModal from './UserGroupUserModal';
  6. import UserGroupPageList from './UserGroupPageList';
  7. import { withUnstatedContainers } from '../../UnstatedUtils';
  8. import AppContainer from '~/client/services/AppContainer';
  9. interface Props extends WithTranslation {};
  10. class UserGroupDetailPage extends React.Component<Props> {
  11. render() {
  12. const { t } = this.props;
  13. return (
  14. <div>
  15. <a href="/admin/user-groups" className="btn btn-outline-secondary">
  16. <i className="icon-fw ti-arrow-left" aria-hidden="true"></i>
  17. {t('admin:user_group_management.back_to_list')}
  18. </a>
  19. {/* TODO 85062: Link to the ancestors group */}
  20. <div className="mt-4 form-box">
  21. <UserGroupEditForm />
  22. </div>
  23. <h2 className="admin-setting-header mt-4">{t('admin:user_group_management.user_list')}</h2>
  24. <UserGroupUserTable />
  25. <UserGroupUserModal />
  26. <h2 className="admin-setting-header mt-4">{t('Page')}</h2>
  27. <div className="page-list">
  28. <UserGroupPageList />
  29. </div>
  30. </div>
  31. );
  32. }
  33. }
  34. /**
  35. * Wrapper component for using unstated
  36. */
  37. const UserGroupDetailPageWrapper = withUnstatedContainers(withTranslation()(UserGroupDetailPage), [AppContainer]);
  38. export default UserGroupDetailPageWrapper;