This is an automated email from the ASF dual-hosted git repository. amitmiran pushed a commit to branch 1.3 in repository https://gitbox.apache.org/repos/asf/superset.git
commit e98239a6215119020083dbdcb8f780537c5138ef Author: Ville Brofeldt <[email protected]> AuthorDate: Mon Jun 28 13:35:14 2021 +0300 fix(native-filters): show human readable time grain label in indicator (#15411) * fix(native-filters): show human readable time grain label in indicator * lint * simplify (cherry picked from commit ddcf4617497ae45302aa4f9ae68aee618326425d) --- .../components/TimeGrain/TimeGrainFilterPlugin.tsx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx b/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx index 1cde951..a2c4a18 100644 --- a/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx +++ b/superset-frontend/src/filters/components/TimeGrain/TimeGrainFilterPlugin.tsx @@ -24,7 +24,7 @@ import { TimeGranularity, tn, } from '@superset-ui/core'; -import React, { useEffect, useState } from 'react'; +import React, { useEffect, useMemo, useState } from 'react'; import { Select } from 'src/common/components'; import { Styles, StyledSelect } from '../common'; import { PluginFilterTimeGrainProps } from './types'; @@ -52,10 +52,22 @@ export default function PluginFilterTimegrain( const { defaultValue, inputRef } = formData; const [value, setValue] = useState<string[]>(defaultValue ?? []); + const durationMap = useMemo( + () => + data.reduce( + (agg, { duration, name }: { duration: string; name: string }) => ({ + ...agg, + [duration]: name, + }), + {} as { [key in string]: string }, + ), + [JSON.stringify(data)], + ); const handleChange = (values: string[] | string | undefined | null) => { const resultValue: string[] = ensureIsArray<string>(values); const [timeGrain] = resultValue; + const label = timeGrain ? durationMap[timeGrain] : undefined; const extraFormData: ExtraFormData = {}; if (timeGrain) { @@ -65,6 +77,7 @@ export default function PluginFilterTimegrain( setDataMask({ extraFormData, filterState: { + label, value: resultValue.length ? resultValue : null, }, });
