disabled={this.props.disabled}
disabledHelper={translate('coding_rules.filters.language.inactive')}
facetHeader={translate('coding_rules.facet.languages')}
+ showMoreAriaLabel={translate('coding_rules.facet.language.show_more')}
+ showLessAriaLabel={translate('coding_rules.facet.language.show_less')}
fetching={false}
getFacetItemText={this.getLanguageName}
getSearchResultKey={(language) => language.key}
return (
<ListStyleFacet<string>
facetHeader={translate('coding_rules.facet.repositories')}
+ showMoreAriaLabel={translate('coding_rules.facet.repository.show_more')}
+ showLessAriaLabel={translate('coding_rules.facet.repository.show_less')}
fetching={false}
getFacetItemText={this.renderTextName}
getSearchResultKey={(rep) => rep}
getFacetItemText={this.getTagName}
getSearchResultKey={(tag) => tag}
getSearchResultText={(tag) => tag}
+ showMoreAriaLabel={translate('coding_rules.facet.tag.show_more')}
+ showLessAriaLabel={translate('coding_rules.facet.tag.show_less')}
onChange={this.props.onChange}
onSearch={this.handleSearch}
onToggle={this.props.onToggle}
renderFacetItem={[Function]}
renderSearchResult={[Function]}
searchPlaceholder="search.search_for_tags"
+ showLessAriaLabel="coding_rules.facet.tag.show_less"
+ showMoreAriaLabel="coding_rules.facet.tag.show_more"
stats={{}}
values={[]}
/>
)}
{!allItemShown && (
<ListStyleFacetFooter
+ showMoreAriaLabel={translate('issues.facet.sonarsource.show_more')}
count={limitedList.length + selectedBelowLimit.length}
- showLess={
- this.state.showFullSonarSourceList
- ? () => this.setState({ showFullSonarSourceList: false })
- : undefined
- }
showMore={() => this.setState({ showFullSonarSourceList: true })}
total={sortedItems.length}
/>
/>
)}
<ListFooter
- accessibleLoadMoreLabel={translate('projects.show_more')}
+ loadMoreAriaLabel={translate('projects.show_more')}
count={this.state.projects !== undefined ? this.state.projects.length : 0}
loading={this.state.loading}
loadMore={this.fetchMoreProjects}
}
/>
<ListFooter
- accessibleLoadMoreLabel="projects.show_more"
count={1}
loadMore={[Function]}
+ loadMoreAriaLabel="projects.show_more"
loading={false}
ready={true}
total={0}
import { Button } from './buttons';
export interface ListFooterProps {
- accessibleLoadMoreLabel?: string;
+ loadMoreAriaLabel?: string;
count: number;
className?: string;
loading?: boolean;
export default function ListFooter(props: ListFooterProps) {
const {
- accessibleLoadMoreLabel,
+ loadMoreAriaLabel,
className,
count,
loadMore,
} else if (hasMore && props.loadMore) {
button = (
<Button
- aria-label={accessibleLoadMoreLabel}
+ aria-label={loadMoreAriaLabel}
className="spacer-left"
disabled={loading}
data-test="show-more"
getSortedItems?: () => string[];
stats: Dict<number> | undefined;
values: string[];
+ showMoreAriaLabel?: string;
+ showLessAriaLabel?: string;
}
interface State<S> {
};
renderList() {
- const { stats } = this.props;
+ const { stats, showMoreAriaLabel, showLessAriaLabel } = this.props;
if (!stats) {
return null;
showLess={this.state.showFullList ? this.hideFullList : undefined}
showMore={this.showFullList}
total={sortedItems.length}
+ showMoreAriaLabel={showMoreAriaLabel}
+ showLessAriaLabel={showLessAriaLabel}
/>
{mightHaveMoreResults && this.state.showFullList && (
<Alert className="spacer-top" variant="warning">
}
renderSearchResults() {
+ const { showMoreAriaLabel } = this.props;
const { searching, searchMaxResults, searchResults, searchPaging } = this.state;
if (!searching && (!searchResults || !searchResults.length)) {
loadMore={this.searchMore}
ready={!searching}
total={searchPaging.total}
+ loadMoreAriaLabel={showMoreAriaLabel}
/>
)}
</>
interface Props {
count: number;
showMore: () => void;
- showLess: (() => void) | undefined;
+ showLess?: () => void;
total: number;
+ showMoreAriaLabel?: string;
+ showLessAriaLabel?: string;
}
export default class ListStyleFacetFooter extends React.PureComponent<Props> {
};
render() {
- const { count, total } = this.props;
+ const { count, total, showMoreAriaLabel, showLessAriaLabel } = this.props;
const hasMore = total > count;
const allShown = Boolean(total && total === count);
{translateWithParameters('x_show', formatMeasure(count, 'INT', null))}
{hasMore && (
- <ButtonLink className="spacer-left" onClick={this.handleShowMoreClick}>
+ <ButtonLink
+ className="spacer-left"
+ aria-label={showMoreAriaLabel}
+ onClick={this.handleShowMoreClick}
+ >
{translate('show_more')}
</ButtonLink>
)}
{this.props.showLess && allShown && (
- <ButtonLink className="spacer-left" onClick={this.handleShowLessClick}>
+ <ButtonLink
+ className="spacer-left"
+ aria-label={showLessAriaLabel}
+ onClick={this.handleShowLessClick}
+ >
{translate('show_less')}
</ButtonLink>
)}
issues.facet.sansTop25=SANS Top 25
issues.facet.sonarsourceSecurity=SonarSource
issues.facet.cwe=CWE
+issues.facet.sonarsource.show_more=Show more SonarSource categories
#------------------------------------------------------------------------------
#
coding_rules.facet.rule_key=Rule
coding_rules.facet.types=Type
+coding_rules.facet.language.show_more=Show more languages
+coding_rules.facet.language.show_less=Show less languages
+coding_rules.facet.tag.show_more=Show more tags
+coding_rules.facet.tag.show_less=Show less tags
+coding_rules.facet.repository.show_more=Show more repositories
+coding_rules.facet.repository.show_less=Show less repositories
+
coding_rules.facets.languages=Languages
coding_rules.facets.tags=Tags
coding_rules.facets.repositories=Repositories