mirror of
https://github.com/apache/superset.git
synced 2024-09-19 12:09:42 -04:00
fix(plugin-chart-table): better rendering for temporal columns (#937)
This commit is contained in:
parent
d3d343d6c4
commit
79f67fe6c3
@ -46,7 +46,17 @@ export default function buildQuery(formData: TableChartFormData) {
|
||||
const { percent_metrics: percentMetrics, order_desc: orderDesc = false } = formData;
|
||||
const queryMode = getQueryMode(formData);
|
||||
const sortByMetric = ensureIsArray(formData.timeseries_limit_metric)[0];
|
||||
return buildQueryContext(formData, baseQueryObject => {
|
||||
let formDataCopy = formData;
|
||||
|
||||
// never include time in raw records mode
|
||||
if (queryMode === QueryMode.raw) {
|
||||
formDataCopy = {
|
||||
...formData,
|
||||
include_time: false,
|
||||
};
|
||||
}
|
||||
|
||||
return buildQueryContext(formDataCopy, baseQueryObject => {
|
||||
let { metrics, orderby } = baseQueryObject;
|
||||
let postProcessing: PostProcessingRule[] = [];
|
||||
|
||||
|
@ -25,6 +25,7 @@ import {
|
||||
smartDateFormatter,
|
||||
getTimeFormatterForGranularity,
|
||||
TimeFormatter,
|
||||
TimeFormats,
|
||||
GenericDataType,
|
||||
getMetricLabel,
|
||||
} from '@superset-ui/core';
|
||||
@ -34,6 +35,7 @@ import DateWithFormatter from './utils/DateWithFormatter';
|
||||
import { TableChartProps, TableChartTransformedProps, DataColumnMeta } from './types';
|
||||
|
||||
const { PERCENT_3_POINT } = NumberFormats;
|
||||
const { DATABASE_DATETIME } = TimeFormats;
|
||||
const TIME_COLUMN = '__timestamp';
|
||||
|
||||
function isTimeColumn(key: string) {
|
||||
@ -114,9 +116,12 @@ const processColumns = memoizeOne(function processColumns(props: TableChartProps
|
||||
} else if (format) {
|
||||
// other columns respect the column-specific format
|
||||
formatter = getTimeFormatter(format);
|
||||
} else if (isNumeric(key, records)) {
|
||||
// if column is numeric values, it is considered a timestamp64
|
||||
formatter = getTimeFormatter(DATABASE_DATETIME);
|
||||
} else {
|
||||
// if no column-specific format, use smart_date
|
||||
formatter = smartDateFormatter;
|
||||
// if no column-specific format, print cell as is
|
||||
formatter = String;
|
||||
}
|
||||
} else if (timeFormat) {
|
||||
formatter = getTimeFormatter(timeFormat);
|
||||
|
@ -50,6 +50,7 @@ export interface TableChartData {
|
||||
export type TableChartFormData = QueryFormData & {
|
||||
align_pn?: boolean;
|
||||
color_pn?: boolean;
|
||||
include_time?: boolean;
|
||||
include_search?: boolean;
|
||||
query_mode?: QueryMode;
|
||||
page_length?: string | number | null; // null means auto-paginate
|
||||
|
Loading…
Reference in New Issue
Block a user