From 8f72091b04eb22c28339e89c603e3f52ad26d4a4 Mon Sep 17 00:00:00 2001 From: stanislavh Date: Wed, 1 Feb 2023 13:07:32 +0100 Subject: [PATCH] SONAR-18067 Buttons have same name but different actions --- .../coding-rules/components/LanguageFacet.tsx | 2 ++ .../components/RepositoryFacet.tsx | 2 ++ .../apps/coding-rules/components/TagFacet.tsx | 2 ++ .../__snapshots__/TagFacet-test.tsx.snap | 2 ++ .../js/apps/issues/sidebar/StandardFacet.tsx | 6 +----- .../apps/projects/components/AllProjects.tsx | 2 +- .../__snapshots__/AllProjects-test.tsx.snap | 2 +- .../main/js/components/controls/ListFooter.tsx | 6 +++--- .../js/components/facet/ListStyleFacet.tsx | 8 +++++++- .../components/facet/ListStyleFacetFooter.tsx | 18 ++++++++++++++---- .../resources/org/sonar/l10n/core.properties | 8 ++++++++ 11 files changed, 43 insertions(+), 15 deletions(-) diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/LanguageFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/LanguageFacet.tsx index dd581137e23..eabd93eaa72 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/LanguageFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/LanguageFacet.tsx @@ -68,6 +68,8 @@ export class LanguageFacet extends React.PureComponent { 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} diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/RepositoryFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/RepositoryFacet.tsx index 2eda13557bc..321e49e4c65 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/RepositoryFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/RepositoryFacet.tsx @@ -88,6 +88,8 @@ export class RepositoryFacet extends React.PureComponent { return ( 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} diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/TagFacet.tsx b/server/sonar-web/src/main/js/apps/coding-rules/components/TagFacet.tsx index d196cd47b5c..255badc4571 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/TagFacet.tsx +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/TagFacet.tsx @@ -65,6 +65,8 @@ export default class TagFacet extends React.PureComponent { 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} diff --git a/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/__snapshots__/TagFacet-test.tsx.snap b/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/__snapshots__/TagFacet-test.tsx.snap index cabca9e9a09..51eabc32eae 100644 --- a/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/__snapshots__/TagFacet-test.tsx.snap +++ b/server/sonar-web/src/main/js/apps/coding-rules/components/__tests__/__snapshots__/TagFacet-test.tsx.snap @@ -43,6 +43,8 @@ exports[`should render correctly 1`] = ` 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={[]} /> diff --git a/server/sonar-web/src/main/js/apps/issues/sidebar/StandardFacet.tsx b/server/sonar-web/src/main/js/apps/issues/sidebar/StandardFacet.tsx index 44734aca30f..407fe9341e9 100644 --- a/server/sonar-web/src/main/js/apps/issues/sidebar/StandardFacet.tsx +++ b/server/sonar-web/src/main/js/apps/issues/sidebar/StandardFacet.tsx @@ -398,12 +398,8 @@ export default class StandardFacet extends React.PureComponent { )} {!allItemShown && ( this.setState({ showFullSonarSourceList: false }) - : undefined - } showMore={() => this.setState({ showFullSonarSourceList: true })} total={sortedItems.length} /> diff --git a/server/sonar-web/src/main/js/apps/projects/components/AllProjects.tsx b/server/sonar-web/src/main/js/apps/projects/components/AllProjects.tsx index 1c42ddcfa5a..55aa17d9838 100644 --- a/server/sonar-web/src/main/js/apps/projects/components/AllProjects.tsx +++ b/server/sonar-web/src/main/js/apps/projects/components/AllProjects.tsx @@ -266,7 +266,7 @@ export class AllProjects extends React.PureComponent { /> )} { getSortedItems?: () => string[]; stats: Dict | undefined; values: string[]; + showMoreAriaLabel?: string; + showLessAriaLabel?: string; } interface State { @@ -238,7 +240,7 @@ export default class ListStyleFacet extends React.Component, State extends React.Component, State {mightHaveMoreResults && this.state.showFullList && ( @@ -328,6 +332,7 @@ export default class ListStyleFacet extends React.Component, State extends React.Component, State )} diff --git a/server/sonar-web/src/main/js/components/facet/ListStyleFacetFooter.tsx b/server/sonar-web/src/main/js/components/facet/ListStyleFacetFooter.tsx index 5498906d885..0d0faead164 100644 --- a/server/sonar-web/src/main/js/components/facet/ListStyleFacetFooter.tsx +++ b/server/sonar-web/src/main/js/components/facet/ListStyleFacetFooter.tsx @@ -25,8 +25,10 @@ import { ButtonLink } from '../controls/buttons'; interface Props { count: number; showMore: () => void; - showLess: (() => void) | undefined; + showLess?: () => void; total: number; + showMoreAriaLabel?: string; + showLessAriaLabel?: string; } export default class ListStyleFacetFooter extends React.PureComponent { @@ -41,7 +43,7 @@ export default class ListStyleFacetFooter extends React.PureComponent { }; render() { - const { count, total } = this.props; + const { count, total, showMoreAriaLabel, showLessAriaLabel } = this.props; const hasMore = total > count; const allShown = Boolean(total && total === count); @@ -50,13 +52,21 @@ export default class ListStyleFacetFooter extends React.PureComponent { {translateWithParameters('x_show', formatMeasure(count, 'INT', null))} {hasMore && ( - + {translate('show_more')} )} {this.props.showLess && allShown && ( - + {translate('show_less')} )} diff --git a/sonar-core/src/main/resources/org/sonar/l10n/core.properties b/sonar-core/src/main/resources/org/sonar/l10n/core.properties index e188285828e..5989351b9ef 100644 --- a/sonar-core/src/main/resources/org/sonar/l10n/core.properties +++ b/sonar-core/src/main/resources/org/sonar/l10n/core.properties @@ -1012,6 +1012,7 @@ issues.facet.owaspTop10_2021=OWASP Top 10 2021 issues.facet.sansTop25=SANS Top 25 issues.facet.sonarsourceSecurity=SonarSource issues.facet.cwe=CWE +issues.facet.sonarsource.show_more=Show more SonarSource categories #------------------------------------------------------------------------------ # @@ -2023,6 +2024,13 @@ coding_rules.facet.template=Template 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 -- 2.39.5