You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by yo...@apache.org on 2022/04/13 12:48:19 UTC

[superset] branch master updated: fix(plugin-chart-echarts): xAxis scale is not correct when setting quarter time grain (#19686)

This is an automated email from the ASF dual-hosted git repository.

yongjiezhao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 059cb4ec25 fix(plugin-chart-echarts): xAxis scale is not correct when setting quarter time grain (#19686)
059cb4ec25 is described below

commit 059cb4ec25855b844a9c35be9b6c462595e90a5c
Author: Stephen Liu <75...@qq.com>
AuthorDate: Wed Apr 13 20:48:13 2022 +0800

    fix(plugin-chart-echarts): xAxis scale is not correct when setting quarter time grain (#19686)
---
 .../plugin-chart-echarts/src/Timeseries/transformProps.ts  | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts
index 1a2200db22..b8585c6e68 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts
@@ -28,6 +28,7 @@ import {
   isFormulaAnnotationLayer,
   isIntervalAnnotationLayer,
   isTimeseriesAnnotationLayer,
+  TimeGranularity,
   TimeseriesChartDataResponseResult,
 } from '@superset-ui/core';
 import { EChartsCoreOption, SeriesOption } from 'echarts';
@@ -69,6 +70,14 @@ import {
 } from './transformers';
 import { TIMESERIES_CONSTANTS } from '../constants';
 
+const TimeGrainToTimestamp = {
+  [TimeGranularity.HOUR]: 3600 * 1000,
+  [TimeGranularity.DAY]: 3600 * 1000 * 24,
+  [TimeGranularity.MONTH]: 3600 * 1000 * 24 * 31,
+  [TimeGranularity.QUARTER]: 3600 * 1000 * 24 * 31 * 3,
+  [TimeGranularity.YEAR]: 3600 * 1000 * 24 * 31 * 12,
+};
+
 export default function transformProps(
   chartProps: EchartsTimeseriesChartProps,
 ): TimeseriesChartTransformedProps {
@@ -126,6 +135,7 @@ export default function transformProps(
     yAxisTitleMargin,
     yAxisTitlePosition,
     sliceId,
+    timeGrainSqla,
   }: EchartsTimeseriesFormData = { ...DEFAULT_FORM_DATA, ...formData };
 
   const colorScale = CategoricalColorNamespace.getScale(colorScheme as string);
@@ -324,6 +334,10 @@ export default function transformProps(
         formatter: xAxisFormatter,
         rotate: xAxisLabelRotation,
       },
+      minInterval:
+        xAxisType === 'time' && timeGrainSqla
+          ? TimeGrainToTimestamp[timeGrainSqla]
+          : 0,
     },
     yAxis: {
       ...defaultYAxis,