diff options
author | Pascal Mugnier <pascal.mugnier@sonarsource.com> | 2018-04-18 16:09:17 +0200 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2018-04-26 20:20:52 +0200 |
commit | 4c9a714da9a988f779652f43e53bf2dc23d8cbeb (patch) | |
tree | 93fcdb97aa981063d84ef5322865266398dc527d /server/sonar-web/src/main/js/components/issue | |
parent | 9c04ec39f96d56889bd5a7570d4728f82046b1df (diff) | |
download | sonarqube-4c9a714da9a988f779652f43e53bf2dc23d8cbeb.tar.gz sonarqube-4c9a714da9a988f779652f43e53bf2dc23d8cbeb.zip |
Feature/pm/sonar 10554 display issues from external engine (#155)
Diffstat (limited to 'server/sonar-web/src/main/js/components/issue')
3 files changed, 22 insertions, 6 deletions
diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueMessage.js b/server/sonar-web/src/main/js/components/issue/components/IssueMessage.js index 515edd9b3ba..888d7f2d521 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueMessage.js +++ b/server/sonar-web/src/main/js/components/issue/components/IssueMessage.js @@ -20,13 +20,15 @@ // @flow import React from 'react'; import PropTypes from 'prop-types'; -import { translate } from '../../../helpers/l10n'; +import Tooltip from '../../controls/Tooltip'; +import { translate, translateWithParameters } from '../../../helpers/l10n'; export default class IssueMessage extends React.PureComponent { /*:: props: { + engine?: string; message: string, - rule: string, - organization: string + organization: string, + rule: string }; */ @@ -52,6 +54,14 @@ export default class IssueMessage extends React.PureComponent { aria-label={translate('issue.rule_details')} onClick={this.handleClick} /> + {this.props.engine && ( + <Tooltip + overlay={translateWithParameters('issue.from_external_rule_engine', this.props.engine)}> + <div className="outline-badge badge-tiny-height spacer-left vertical-text-top"> + {this.props.engine} + </div> + </Tooltip> + )} </div> ); } diff --git a/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.js b/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.js index 3dbe2919e6e..0dad342b1b5 100644 --- a/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.js +++ b/server/sonar-web/src/main/js/components/issue/components/IssueTitleBar.js @@ -75,7 +75,12 @@ export default function IssueTitleBar(props /*: Props */) { return ( <div className="issue-row"> - <IssueMessage message={issue.message} rule={issue.rule} organization={issue.organization} /> + <IssueMessage + engine={issue.externalRuleEngine} + message={issue.message} + organization={issue.organization} + rule={issue.rule} + /> <div className="issue-row-meta"> <ul className="list-inline issue-meta-list"> @@ -84,8 +89,8 @@ export default function IssueTitleBar(props /*: Props */) { creationDate={issue.creationDate} isOpen={props.currentPopup === 'changelog'} issue={issue} - togglePopup={props.togglePopup} onFail={props.onFail} + togglePopup={props.togglePopup} /> </li> {issue.textRange != null && ( @@ -120,9 +125,9 @@ export default function IssueTitleBar(props /*: Props */) { <SimilarIssuesFilter isOpen={props.currentPopup === 'similarIssues'} issue={issue} - togglePopup={props.togglePopup} onFail={props.onFail} onFilter={props.onFilter} + togglePopup={props.togglePopup} /> </li> )} diff --git a/server/sonar-web/src/main/js/components/issue/types.js b/server/sonar-web/src/main/js/components/issue/types.js index 6b0ee3a90af..2a5ce7ed3fa 100644 --- a/server/sonar-web/src/main/js/components/issue/types.js +++ b/server/sonar-web/src/main/js/components/issue/types.js @@ -65,6 +65,7 @@ export type Issue = { componentUuid: string, creationDate: string, effort?: string, + externalRuleEngine?: string, key: string, flows: Array<Array<FlowLocation>>, line?: number, |