aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx')
-rw-r--r--server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx34
1 files changed, 8 insertions, 26 deletions
diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx
index ce7df2a1c43..9b243f7ec6b 100644
--- a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx
+++ b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx
@@ -19,17 +19,17 @@
*/
import * as React from 'react';
import { Link } from 'react-router';
+import ProjectRowActions from './ProjectRowActions';
import { Project } from './utils';
import { Visibility } from '../../app/types';
import PrivateBadge from '../../components/common/PrivateBadge';
import Checkbox from '../../components/controls/Checkbox';
import QualifierIcon from '../../components/shared/QualifierIcon';
-import { translate } from '../../helpers/l10n';
-import { getComponentPermissionsUrl } from '../../helpers/urls';
import DateTooltipFormatter from '../../components/intl/DateTooltipFormatter';
interface Props {
- onApplyTemplateClick: (project: Project) => void;
+ currentUser: { login: string };
+ onApplyTemplate: (project: Project) => void;
onProjectCheck: (project: Project, checked: boolean) => void;
project: Project;
selected: boolean;
@@ -40,12 +40,6 @@ export default class ProjectRow extends React.PureComponent<Props> {
this.props.onProjectCheck(this.props.project, checked);
};
- handleApplyTemplateClick = (event: React.SyntheticEvent<HTMLAnchorElement>) => {
- event.preventDefault();
- event.currentTarget.blur();
- this.props.onApplyTemplateClick(this.props.project);
- };
-
render() {
const { project, selected } = this.props;
@@ -82,23 +76,11 @@ export default class ProjectRow extends React.PureComponent<Props> {
</td>
<td className="thin nowrap">
- <div className="dropdown">
- <button className="dropdown-toggle" data-toggle="dropdown">
- {translate('actions')} <i className="icon-dropdown" />
- </button>
- <ul className="dropdown-menu dropdown-menu-right">
- <li>
- <Link to={getComponentPermissionsUrl(project.key)}>
- {translate('edit_permissions')}
- </Link>
- </li>
- <li>
- <a className="js-apply-template" href="#" onClick={this.handleApplyTemplateClick}>
- {translate('projects_role.apply_template')}
- </a>
- </li>
- </ul>
- </div>
+ <ProjectRowActions
+ currentUser={this.props.currentUser}
+ onApplyTemplate={this.props.onApplyTemplate}
+ project={project}
+ />
</td>
</tr>
);