From f6a34188e3460408191ea3870369c735fe65c344 Mon Sep 17 00:00:00 2001 From: Mehrdad Date: Thu, 21 Sep 2023 16:29:44 +0330 Subject: [PATCH 1/2] Added tooltip functionality to SliceHeader components --- .../dashboard/components/SliceHeaderControls/index.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/superset-frontend/src/dashboard/components/SliceHeaderControls/index.tsx b/superset-frontend/src/dashboard/components/SliceHeaderControls/index.tsx index 4037234f74fd0..0b7002d26a3c2 100644 --- a/superset-frontend/src/dashboard/components/SliceHeaderControls/index.tsx +++ b/superset-frontend/src/dashboard/components/SliceHeaderControls/index.tsx @@ -538,6 +538,14 @@ class SliceHeaderControls extends React.PureComponent< return ( <> + {slice.description && ( + + + + )} + Date: Thu, 21 Sep 2023 16:33:47 +0330 Subject: [PATCH 2/2] fix: Date filter: Shows default values, times corrected in datetime values to 00:00:00 for "from_date" and 23:59:59 for "to_date". --- .../components/CustomFrame.tsx | 74 ++++++++++++++----- .../DateFilterControl/utils/dateParser.ts | 32 -------- 2 files changed, 56 insertions(+), 50 deletions(-) diff --git a/superset-frontend/src/explore/components/controls/DateFilterControl/components/CustomFrame.tsx b/superset-frontend/src/explore/components/controls/DateFilterControl/components/CustomFrame.tsx index 4f67f620581e2..32750ea14f5fb 100644 --- a/superset-frontend/src/explore/components/controls/DateFilterControl/components/CustomFrame.tsx +++ b/superset-frontend/src/explore/components/controls/DateFilterControl/components/CustomFrame.tsx @@ -50,6 +50,7 @@ enum DateType { Month = 'month', LastMonth = 'lastMonth', LastYear = 'LastYear', + Last30Day = 'Last30Day', } export function CustomFrame(props: FrameComponentProps) { @@ -82,9 +83,16 @@ export function CustomFrame(props: FrameComponentProps) { const localFromFlaskBabel = useSelector( (state: ExplorePageState) => state?.common?.locale, ); - - const [untilDate, setUntilDate] = useState('' as unknown as moment.Moment); - const [sinceDate, setSinceDate] = useState('' as unknown as moment.Moment); + const [untilDate, setUntilDate] = useState( + props.value !== 'No filter' && props.value.split(' : ').length > 1 + ? moment(props.value.split(' : ')[1]) + : ('' as unknown as moment.Moment), + ); + const [sinceDate, setSinceDate] = useState( + props.value !== 'No filter' && props.value.split(' : ').length > 1 + ? moment(props.value.split(' : ')[0]) + : ('' as unknown as moment.Moment), + ); const datePickerLocale = locales[LOCALE_MAPPING[localFromFlaskBabel]]?.DatePicker; @@ -115,24 +123,38 @@ export function CustomFrame(props: FrameComponentProps) { [sinceDatetime, untilDatetime] = setLastMonth(); } else if (type === DateType.LastYear) { [sinceDatetime, untilDatetime] = setLastYear(); - } else if (type === DateType.Week) { - untilDatetime = moment().format(MOMENT_FORMAT); - setUntilDate(moment()); - sinceDatetime = moment().subtract(1, 'weeks').format(MOMENT_FORMAT); - setSinceDate(moment().subtract(1, 'weeks')); - } else if (type === DateType.Month) { - untilDatetime = moment().format(MOMENT_FORMAT); - setUntilDate(moment()); + } else { + const untilDate = moment().format(dateFormat); + untilDatetime = moment( + `${untilDate} 23:59:59`, + `YYYY/MM/DD HH:mm:ss`, + ).format(MOMENT_FORMAT); + setUntilDate(moment(`${untilDate} 23:59:59`, `YYYY/MM/DD HH:mm:ss`)); + } + if (type === DateType.Week) { + const sinceDate = moment().subtract(1, 'weeks').format(dateFormat); + sinceDatetime = moment( + `${sinceDate} 00:00:00`, + `YYYY/MM/DD HH:mm:ss`, + ).format(MOMENT_FORMAT); + setSinceDate(moment(`${sinceDate} 00:00:00`, `YYYY/MM/DD HH:mm:ss`)); + } + if (type === DateType.Last30Day) { + const sinceDate = moment().subtract(1, 'month').format(dateFormat); + sinceDatetime = moment( + `${sinceDate} 00:00:00`, + `YYYY/MM/DD HH:mm:ss`, + ).format(MOMENT_FORMAT); + setSinceDate(moment(`${sinceDate} 00:00:00`, `YYYY/MM/DD HH:mm:ss`)); + } + if (type === DateType.Month) { sinceDatetime = moment().startOf('month').format(MOMENT_FORMAT); setSinceDate(moment().startOf('month')); - } else if (type === DateType.Year) { - untilDatetime = moment().format(MOMENT_FORMAT); - setUntilDate(moment()); + } + if (type === DateType.Year) { sinceDatetime = moment().startOf('year').format(MOMENT_FORMAT); setSinceDate(moment().startOf('year')); } - console.log(sinceDatetime); - console.log(untilDatetime); onChange({ sinceDatetime, untilDatetime }); }; @@ -159,6 +181,12 @@ export function CustomFrame(props: FrameComponentProps) { > Last Month +