diff --git a/components/frontend/src/AppUI.js b/components/frontend/src/AppUI.js index 5a0449df97..1d94ae55a3 100644 --- a/components/frontend/src/AppUI.js +++ b/components/frontend/src/AppUI.js @@ -58,7 +58,7 @@ export function AppUI({ const [dateOrder, setDateOrder] = useURLSearchQuery("date_order" + urlSearchQueryKeyPostfix, "string", "descending"); const [hiddenColumns, toggleHiddenColumn, clearHiddenColumns] = useURLSearchQuery("hidden_columns" + urlSearchQueryKeyPostfix, "array"); const [hiddenTags, toggleHiddenTag, clearHiddenTags] = useURLSearchQuery("hidden_tags" + urlSearchQueryKeyPostfix, "array"); - const [hideMetricsNotRequiringAction, setHideMetricsNotRequiringAction] = useURLSearchQuery("hide_metrics_not_requiring_action" + urlSearchQueryKeyPostfix, "boolean", false); + const [metricsToHide, setMetricsToHide] = useURLSearchQuery("metrics_to_hide" + urlSearchQueryKeyPostfix, "string", "none"); const [nrDates, setNrDates] = useURLSearchQuery("nr_dates" + urlSearchQueryKeyPostfix, "integer", 1); const [sortColumn, setSortColumn] = useURLSearchQuery("sort_column" + urlSearchQueryKeyPostfix, "string", null); const [sortDirection, setSortDirection] = useURLSearchQuery("sort_direction" + urlSearchQueryKeyPostfix, "string", "ascending"); @@ -121,13 +121,13 @@ export function AppUI({ handleSort={handleSort} hiddenColumns={hiddenColumns} hiddenTags={hiddenTags} - hideMetricsNotRequiringAction={hideMetricsNotRequiringAction} + metricsToHide={metricsToHide} issueSettings={issueSettings} nrDates={nrDates} reportDate={report_date} setDateInterval={setDateInterval} setDateOrder={setDateOrder} - setHideMetricsNotRequiringAction={setHideMetricsNotRequiringAction} + setMetricsToHide={setMetricsToHide} setNrDates={setNrDates} setShowIssueCreationDate={setShowIssueCreationDate} setShowIssueSummary={setShowIssueSummary} @@ -157,7 +157,7 @@ export function AppUI({ handleSort={handleSort} hiddenColumns={hiddenColumns} hiddenTags={hiddenTags} - hideMetricsNotRequiringAction={hideMetricsNotRequiringAction} + metricsToHide={metricsToHide} issueSettings={issueSettings} loading={loading} nrDates={nrDates} diff --git a/components/frontend/src/PageContent.js b/components/frontend/src/PageContent.js index dad79cb95b..3391dc88b1 100644 --- a/components/frontend/src/PageContent.js +++ b/components/frontend/src/PageContent.js @@ -5,6 +5,7 @@ import { Segment } from './semantic_ui_react_wrappers'; import { Report } from './report/Report'; import { ReportsOverview } from './report/ReportsOverview'; import { get_measurements } from './api/measurement'; +import { metricsToHidePropType } from './sharedPropTypes'; function getColumnDates(reportDate, dateInterval, dateOrder, nrDates) { const baseDate = reportDate ? new Date(reportDate) : new Date(); @@ -28,7 +29,7 @@ export function PageContent({ handleSort, hiddenColumns, hiddenTags, - hideMetricsNotRequiringAction, + metricsToHide, issueSettings, loading, nrDates, @@ -67,7 +68,7 @@ export function PageContent({ handleSort={handleSort} hiddenColumns={hiddenColumns} hiddenTags={hiddenTags} - hideMetricsNotRequiringAction={hideMetricsNotRequiringAction} + metricsToHide={metricsToHide} issueSettings={issueSettings} measurements={measurements} reload={reload} @@ -97,6 +98,7 @@ export function PageContent({ } PageContent.propTypes = { hiddenTags: PropTypes.arrayOf(PropTypes.string), + metricsToHide: metricsToHidePropType, openReportsOverview: PropTypes.func, toggleHiddenTag: PropTypes.func } diff --git a/components/frontend/src/header_footer/SettingsPanel.js b/components/frontend/src/header_footer/SettingsPanel.js index 0fb80fc27a..f6ce04c31c 100644 --- a/components/frontend/src/header_footer/SettingsPanel.js +++ b/components/frontend/src/header_footer/SettingsPanel.js @@ -2,7 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Button, Grid, Header, Menu, Segment } from 'semantic-ui-react'; import { Icon } from '../semantic_ui_react_wrappers'; -import { datePropType, issueSettingsPropType, sortDirectionPropType } from '../sharedPropTypes'; +import { datePropType, issueSettingsPropType, metricsToHidePropType, sortDirectionPropType } from '../sharedPropTypes'; import { capitalize, pluralize } from "../utils"; import { SettingsMenuItem} from "./SettingsMenuItem"; import './SettingsPanel.css'; @@ -18,13 +18,13 @@ export function SettingsPanel({ handleSort, hiddenColumns, hiddenTags, - hideMetricsNotRequiringAction, + metricsToHide, issueSettings, nrDates, reportDate, setDateInterval, setDateOrder, - setHideMetricsNotRequiringAction, + setMetricsToHide, setNrDates, setShowIssueCreationDate, setShowIssueSummary, @@ -49,8 +49,8 @@ export function SettingsPanel({ setDateInterval: setDateInterval } const metricMenuItemProps = { - hideMetricsNotRequiringAction: hideMetricsNotRequiringAction, - setHideMetricsNotRequiringAction: setHideMetricsNotRequiringAction + metricsToHide: metricsToHide, + setMetricsToHide: setMetricsToHide } const sortColumnMenuItemProps = { sortColumn: sortColumn, sortDirection: sortDirection, handleSort: handleSort } const sortOrderMenuItemProps = { @@ -83,13 +83,13 @@ export function SettingsPanel({ handleSort={handleSort} hiddenColumns={hiddenColumns} hiddenTags={hiddenTags} - hideMetricsNotRequiringAction={hideMetricsNotRequiringAction} + metricsToHide={metricsToHide} issueSettings={issueSettings} nrDates={nrDates} reportDate={reportDate} setDateInterval={setDateInterval} setDateOrder={setDateOrder} - setHideMetricsNotRequiringAction={setHideMetricsNotRequiringAction} + setMetricsToHide={setMetricsToHide} setNrDates={setNrDates} setShowIssueCreationDate={setShowIssueCreationDate} setShowIssueSummary={setShowIssueSummary} @@ -108,8 +108,9 @@ export function SettingsPanel({
Visible metrics
- - + + +
@@ -420,21 +421,21 @@ SortOrderMenuItem.propTypes = { help: PropTypes.string } -function MetricMenuItem({ hide, hideMetricsNotRequiringAction, setHideMetricsNotRequiringAction }) { +function MetricMenuItem({ hide, metricsToHide, setMetricsToHide }) { return ( - {hide ? 'Metrics requiring action' : 'All metrics'} + {{"none": "All metrics", "no_action_needed": "Metrics requiring action", "all": "No metrics"}[hide]} ) } MetricMenuItem.propTypes = { - hide: PropTypes.bool, - hideMetricsNotRequiringAction: PropTypes.bool, - setHideMetricsNotRequiringAction: PropTypes.func + hide: metricsToHidePropType, + metricsToHide: metricsToHidePropType, + setMetricsToHide: PropTypes.func } function IssueAttributeMenuItem({ help, issueAttributeName, issueAttribute, setIssueAttribute }) { @@ -468,13 +469,13 @@ function ResetSettingsButton( handleSort, hiddenColumns, hiddenTags, - hideMetricsNotRequiringAction, + metricsToHide, issueSettings, nrDates, reportDate, setDateInterval, setDateOrder, - setHideMetricsNotRequiringAction, + setMetricsToHide, setNrDates, setShowIssueCreationDate, setShowIssueSummary, @@ -490,26 +491,25 @@ function ResetSettingsButton( return (