aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js/apps
diff options
context:
space:
mode:
authorStas Vilchik <stas.vilchik@sonarsource.com>2018-08-16 14:35:47 +0200
committerSonarTech <sonartech@sonarsource.com>2018-08-21 20:21:03 +0200
commitf91cf3ea0050655c715dc20465118a0568d4ec83 (patch)
treef95216310aa1f6ed4210ad832cdeba11086fe6af /server/sonar-web/src/main/js/apps
parentcd96a36db6438e47721332f7bef8b3e3a8a7f94c (diff)
downloadsonarqube-f91cf3ea0050655c715dc20465118a0568d4ec83.tar.gz
sonarqube-f91cf3ea0050655c715dc20465118a0568d4ec83.zip
SONAR-10938 do not display undefined language in rule facet (#618)
Diffstat (limited to 'server/sonar-web/src/main/js/apps')
-rw-r--r--server/sonar-web/src/main/js/apps/coding-rules/components/SimilarRulesFilter.tsx4
-rw-r--r--server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.tsx16
-rw-r--r--server/sonar-web/src/main/js/apps/issues/utils.ts2
-rw-r--r--server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.tsx4
4 files changed, 16 insertions, 10 deletions
diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/SimilarRulesFilter.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/SimilarRulesFilter.tsx
index 6d98a0959d4..0ec38b7e1ff 100644
--- a/server/sonar-web/src/main/js/apps/coding-rules/components/SimilarRulesFilter.tsx
+++ b/server/sonar-web/src/main/js/apps/coding-rules/components/SimilarRulesFilter.tsx
@@ -36,7 +36,9 @@ export default class SimilarRulesFilter extends React.PureComponent<Props> {
handleLanguageClick = (event: React.SyntheticEvent<HTMLAnchorElement>) => {
event.preventDefault();
event.currentTarget.blur();
- this.props.onFilterChange({ languages: [this.props.rule.lang] });
+ if (this.props.rule.lang) {
+ this.props.onFilterChange({ languages: [this.props.rule.lang] });
+ }
};
handleTypeClick = (event: React.SyntheticEvent<HTMLAnchorElement>) => {
diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.tsx
index 64ef05a7d1c..c8cd81a4633 100644
--- a/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.tsx
+++ b/server/sonar-web/src/main/js/apps/issues/sidebar/RuleFacet.tsx
@@ -62,15 +62,19 @@ export default class RuleFacet extends React.PureComponent<Props> {
return this.props.loadSearchResultCount({ rules: [rule.key] });
};
- getRuleName = (rule: string) => {
- const { referencedRules } = this.props;
- return referencedRules[rule]
- ? `(${referencedRules[rule].langName}) ${referencedRules[rule].name}`
- : rule;
+ getRuleName = (ruleKey: string) => {
+ const rule = this.props.referencedRules[ruleKey];
+ return rule ? this.formatRuleName(rule.name, rule.langName) : ruleKey;
+ };
+
+ formatRuleName = (name: string, langName: string | undefined) => {
+ // external rules don't have a language associated
+ // see https://jira.sonarsource.com/browse/MMF-1407
+ return langName ? `(${langName}) ${name}` : name;
};
renderSearchResult = (rule: Rule) => {
- return `(${rule.langName}) ${rule.name}`;
+ return this.formatRuleName(rule.name, rule.langName);
};
render() {
diff --git a/server/sonar-web/src/main/js/apps/issues/utils.ts b/server/sonar-web/src/main/js/apps/issues/utils.ts
index e6449228325..f600d4b1efd 100644
--- a/server/sonar-web/src/main/js/apps/issues/utils.ts
+++ b/server/sonar-web/src/main/js/apps/issues/utils.ts
@@ -202,7 +202,7 @@ export interface ReferencedLanguage {
}
export interface ReferencedRule {
- langName: string;
+ langName?: string;
name: string;
}
diff --git a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.tsx b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.tsx
index 2842268340f..f0e4363e8dc 100644
--- a/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.tsx
+++ b/server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionRules.tsx
@@ -122,12 +122,12 @@ export default class EvolutionRules extends React.PureComponent<Props, State> {
{rule.activations
? translateWithParameters(
'quality_profiles.latest_new_rules.activated',
- rule.langName,
+ rule.langName!,
rule.activations
)
: translateWithParameters(
'quality_profiles.latest_new_rules.not_activated',
- rule.langName
+ rule.langName!
)}
</div>
</div>