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 {
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">
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} />
}
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');
+ }
+}
#------------------------------------------------------------------------------
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