]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-20984 Application's Projects list metrics are not retrieved for "New code"
authorguillaume-peoch-sonarsource <guillaume.peoch@sonarsource.com>
Wed, 8 Nov 2023 13:45:44 +0000 (14:45 +0100)
committersonartech <sonartech@sonarsource.com>
Wed, 8 Nov 2023 20:02:52 +0000 (20:02 +0000)
server/sonar-web/src/main/js/apps/code/components/Search.tsx
sonar-core/src/main/resources/org/sonar/l10n/core.properties

index 0a95d1baece8672dfa8945f00e9500e58bc0d196..9fe54cf31fa730f51a15f99dc74e046aee448871 100644 (file)
@@ -28,7 +28,7 @@ import { getBranchLikeQuery } from '../../../helpers/branch-like';
 import { KeyboardKeys } from '../../../helpers/keycodes';
 import { translate } from '../../../helpers/l10n';
 import { BranchLike } from '../../../types/branch-like';
-import { ComponentQualifier } from '../../../types/component';
+import { ComponentQualifier, isPortfolioLike } from '../../../types/component';
 import { ComponentMeasure } from '../../../types/types';
 
 interface Props {
@@ -144,7 +144,9 @@ export class Search extends React.PureComponent<Props, State> {
   render() {
     const { component, newCodeSelected } = this.props;
     const { loading, query } = this.state;
-    const isPortfolio = ['VW', 'SVW', 'APP'].includes(component.qualifier);
+
+    const isPortfolio = isPortfolioLike(component.qualifier);
+    const searchPlaceholder = getSearchPlaceholderLabel(component.qualifier as ComponentQualifier);
 
     return (
       <div className="code-search" id="code-search">
@@ -171,9 +173,8 @@ export class Search extends React.PureComponent<Props, State> {
           minLength={3}
           onChange={this.handleQueryChange}
           onKeyDown={this.handleKeyDown}
-          placeholder={translate(
-            isPortfolio ? 'code.search_placeholder.portfolio' : 'code.search_placeholder'
-          )}
+          placeholder={searchPlaceholder}
+          aria-label={searchPlaceholder}
           value={this.state.query}
         />
         <DeferredSpinner className="spacer-left" loading={loading} />
@@ -183,3 +184,17 @@ export class Search extends React.PureComponent<Props, State> {
 }
 
 export default withRouter(Search);
+
+function getSearchPlaceholderLabel(qualifier: ComponentQualifier) {
+  switch (qualifier) {
+    case ComponentQualifier.Portfolio:
+    case ComponentQualifier.SubPortfolio:
+      return translate('code.search_placeholder.portfolio');
+
+    case ComponentQualifier.Application:
+      return translate('code.search_placeholder.application');
+
+    default:
+      return translate('code.search_placeholder');
+  }
+}
index 8f399e90dfe4b0082762e4f9b3beaff5ad009280..c43b1e3a9fb94ca4d49a4e925fa92eba782975bc 100644 (file)
@@ -3435,6 +3435,7 @@ api_documentation.search=Search by name...
 #------------------------------------------------------------------------------
 code.open_component_page=Open Component's Page
 code.search_placeholder=Search for files...
+code.search_placeholder.application=Search for projects...
 code.search_placeholder.portfolio=Search for projects and sub-portfolios...
 code.parent_folder=Parent folder
 code.last_analysis_date=Last analysis