From 7bc210f8c990c280c9df01e2ecffbe9c7d8a5b1c Mon Sep 17 00:00:00 2001 From: Evelyn Turner Date: Thu, 1 Mar 2018 13:57:16 -0500 Subject: [PATCH 1/2] Fix how the annotation layer interpretes the timestamp string without timezone info; use it as UTC --- superset/assets/visualizations/nvd3_vis.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/superset/assets/visualizations/nvd3_vis.js b/superset/assets/visualizations/nvd3_vis.js index b60c32a0e57c0..1b1ba8decc1a7 100644 --- a/superset/assets/visualizations/nvd3_vis.js +++ b/superset/assets/visualizations/nvd3_vis.js @@ -4,6 +4,7 @@ import throttle from 'lodash.throttle'; import d3 from 'd3'; import nv from 'nvd3'; import mathjs from 'mathjs'; +import moment from 'moment'; import d3tip from 'd3-tip'; import { getColorFromScheme } from '../javascripts/modules/colors'; @@ -624,7 +625,7 @@ function nvd3Vis(slice, payload) { const tip = tipFactory(e); const records = (slice.annotationData[e.name].records || []).map((r) => { - const timeColumn = new Date(r[e.timeColumn]); + const timeColumn = new Date(moment.utc(r[e.timeColumn])); return { ...r, [e.timeColumn]: timeColumn, From ad2b9e2647307561b2d47beccbaf63fcebef136d Mon Sep 17 00:00:00 2001 From: Evelyn Turner Date: Tue, 6 Mar 2018 16:25:24 -0500 Subject: [PATCH 2/2] Fix how the Interval annotation layer interpretes the timestamp string without timezone info; use it as UTC --- superset/assets/visualizations/nvd3_vis.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/superset/assets/visualizations/nvd3_vis.js b/superset/assets/visualizations/nvd3_vis.js index 3739aa41029c8..8bd7229710d11 100644 --- a/superset/assets/visualizations/nvd3_vis.js +++ b/superset/assets/visualizations/nvd3_vis.js @@ -670,8 +670,8 @@ function nvd3Vis(slice, payload) { const tip = tipFactory(e); const records = (slice.annotationData[e.name].records || []).map((r) => { - const timeColumn = new Date(r[e.timeColumn]); - const intervalEndColumn = new Date(r[e.intervalEndColumn]); + const timeColumn = new Date(moment.utc(r[e.timeColumn])); + const intervalEndColumn = new Date(moment.utc(r[e.intervalEndColumn])); return { ...r, [e.timeColumn]: timeColumn,