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 { percent_metrics: percentMetrics, order_desc: orderDesc = false } = formData;
|
||||||
const queryMode = getQueryMode(formData);
|
const queryMode = getQueryMode(formData);
|
||||||
const sortByMetric = ensureIsArray(formData.timeseries_limit_metric)[0];
|
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 { metrics, orderby } = baseQueryObject;
|
||||||
let postProcessing: PostProcessingRule[] = [];
|
let postProcessing: PostProcessingRule[] = [];
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@ import {
|
|||||||
smartDateFormatter,
|
smartDateFormatter,
|
||||||
getTimeFormatterForGranularity,
|
getTimeFormatterForGranularity,
|
||||||
TimeFormatter,
|
TimeFormatter,
|
||||||
|
TimeFormats,
|
||||||
GenericDataType,
|
GenericDataType,
|
||||||
getMetricLabel,
|
getMetricLabel,
|
||||||
} from '@superset-ui/core';
|
} from '@superset-ui/core';
|
||||||
@ -34,6 +35,7 @@ import DateWithFormatter from './utils/DateWithFormatter';
|
|||||||
import { TableChartProps, TableChartTransformedProps, DataColumnMeta } from './types';
|
import { TableChartProps, TableChartTransformedProps, DataColumnMeta } from './types';
|
||||||
|
|
||||||
const { PERCENT_3_POINT } = NumberFormats;
|
const { PERCENT_3_POINT } = NumberFormats;
|
||||||
|
const { DATABASE_DATETIME } = TimeFormats;
|
||||||
const TIME_COLUMN = '__timestamp';
|
const TIME_COLUMN = '__timestamp';
|
||||||
|
|
||||||
function isTimeColumn(key: string) {
|
function isTimeColumn(key: string) {
|
||||||
@ -114,9 +116,12 @@ const processColumns = memoizeOne(function processColumns(props: TableChartProps
|
|||||||
} else if (format) {
|
} else if (format) {
|
||||||
// other columns respect the column-specific format
|
// other columns respect the column-specific format
|
||||||
formatter = getTimeFormatter(format);
|
formatter = getTimeFormatter(format);
|
||||||
|
} else if (isNumeric(key, records)) {
|
||||||
|
// if column is numeric values, it is considered a timestamp64
|
||||||
|
formatter = getTimeFormatter(DATABASE_DATETIME);
|
||||||
} else {
|
} else {
|
||||||
// if no column-specific format, use smart_date
|
// if no column-specific format, print cell as is
|
||||||
formatter = smartDateFormatter;
|
formatter = String;
|
||||||
}
|
}
|
||||||
} else if (timeFormat) {
|
} else if (timeFormat) {
|
||||||
formatter = getTimeFormatter(timeFormat);
|
formatter = getTimeFormatter(timeFormat);
|
||||||
|
@ -50,6 +50,7 @@ export interface TableChartData {
|
|||||||
export type TableChartFormData = QueryFormData & {
|
export type TableChartFormData = QueryFormData & {
|
||||||
align_pn?: boolean;
|
align_pn?: boolean;
|
||||||
color_pn?: boolean;
|
color_pn?: boolean;
|
||||||
|
include_time?: boolean;
|
||||||
include_search?: boolean;
|
include_search?: boolean;
|
||||||
query_mode?: QueryMode;
|
query_mode?: QueryMode;
|
||||||
page_length?: string | number | null; // null means auto-paginate
|
page_length?: string | number | null; // null means auto-paginate
|
||||||
|
Loading…
Reference in New Issue
Block a user