fix(table-charts): Prevent time grain from altering Raw Records in Tables + Interactive Tables (#37561)

This commit is contained in:
Levis Mbote
2026-02-19 12:24:09 +03:00
committed by GitHub
parent 6b80135aa2
commit c175346808
6 changed files with 439 additions and 9 deletions

View File

@@ -251,8 +251,13 @@ export default function TableChart<D extends DataRecord = DataRecord>(
);
const timestampFormatter = useCallback(
value => getTimeFormatterForGranularity(timeGrain)(value),
[timeGrain],
(value: DataRecordValue) =>
isRawRecords
? String(value ?? '')
: getTimeFormatterForGranularity(timeGrain)(
value as number | Date | null | undefined,
),
[timeGrain, isRawRecords],
);
const toggleFilter = useCallback(
@@ -276,7 +281,14 @@ export default function TableChart<D extends DataRecord = DataRecord>(
setDataMask(getCrossFilterDataMask(crossFilterProps).dataMask);
}
},
[emitCrossFilters, setDataMask, filters, timeGrain],
[
emitCrossFilters,
setDataMask,
filters,
timeGrain,
isActiveFilterValue,
timestampFormatter,
],
);
const handleServerPaginationChange = useCallback(

View File

@@ -343,6 +343,7 @@ const processColumns = memoizeOne(function processColumns(
metrics: metrics_,
percent_metrics: percentMetrics_,
column_config: columnConfig = {},
query_mode: queryMode,
},
queriesData,
} = props;
@@ -393,7 +394,7 @@ const processColumns = memoizeOne(function processColumns(
const timeFormat = customFormat || tableTimestampFormat;
// When format is "Adaptive Formatting" (smart_date)
if (timeFormat === SMART_DATE_ID) {
if (granularity) {
if (granularity && queryMode !== QueryMode.Raw) {
// time column use formats based on granularity
formatter = getTimeFormatterForGranularity(granularity);
} else if (customFormat) {