From c537d453e6d0a5e97fad3976fb3147234c2e4f20 Mon Sep 17 00:00:00 2001 From: Matthias Wilhelm Date: Mon, 23 Mar 2020 19:14:14 +0100 Subject: [PATCH] Inline timezoneProvider function, remove ui/vis/lib/timezone (#60475) * Inline getTimezone in discover, vis_type_timeseries, timelion app & vis_type_timelion --- .../kibana/public/discover/kibana_services.ts | 3 --- .../np_ready/angular/directives/histogram.tsx | 15 +++++++++++++-- .../core_plugins/timelion/public/app.js | 7 +++---- .../public/helpers/get_timezone.ts} | 19 +++++++++---------- .../helpers/timelion_request_handler.ts | 4 ++-- .../vis_type_timelion/public/index.ts | 2 ++ .../public/legacy_imports.ts | 3 --- .../get_timezone.ts} | 14 ++++++++++++-- .../public/request_handler.js | 4 ++-- .../visualizations/views/timeseries/index.js | 5 ++--- 10 files changed, 45 insertions(+), 31 deletions(-) rename src/legacy/{ui/public/vis/lib/timezone.js => core_plugins/vis_type_timelion/public/helpers/get_timezone.ts} (70%) rename src/legacy/core_plugins/vis_type_timeseries/public/{legacy_imports.ts => lib/get_timezone.ts} (66%) diff --git a/src/legacy/core_plugins/kibana/public/discover/kibana_services.ts b/src/legacy/core_plugins/kibana/public/discover/kibana_services.ts index cf76a9355e38..d369eb9679de 100644 --- a/src/legacy/core_plugins/kibana/public/discover/kibana_services.ts +++ b/src/legacy/core_plugins/kibana/public/discover/kibana_services.ts @@ -52,9 +52,6 @@ export { angular }; export { wrapInI18nContext } from 'ui/i18n'; import { search } from '../../../../../plugins/data/public'; export const { getRequestInspectorStats, getResponseInspectorStats, tabifyAggResponse } = search; -// @ts-ignore -// @ts-ignore -export { timezoneProvider } from 'ui/vis/lib/timezone'; export { unhashUrl, redirectWhenMissing, diff --git a/src/legacy/core_plugins/kibana/public/discover/np_ready/angular/directives/histogram.tsx b/src/legacy/core_plugins/kibana/public/discover/np_ready/angular/directives/histogram.tsx index 107c30ec5e68..f788347ac016 100644 --- a/src/legacy/core_plugins/kibana/public/discover/np_ready/angular/directives/histogram.tsx +++ b/src/legacy/core_plugins/kibana/public/discover/np_ready/angular/directives/histogram.tsx @@ -42,9 +42,10 @@ import { } from '@elastic/charts'; import { i18n } from '@kbn/i18n'; +import { IUiSettingsClient } from 'kibana/public'; import { EuiChartThemeType } from '@elastic/eui/dist/eui_charts_theme'; import { Subscription } from 'rxjs'; -import { getServices, timezoneProvider } from '../../../kibana_services'; +import { getServices } from '../../../kibana_services'; export interface DiscoverHistogramProps { chartData: any; @@ -86,6 +87,16 @@ function getIntervalInMs( } } +function getTimezone(uiSettings: IUiSettingsClient) { + if (uiSettings.isDefault('dateFormat:tz')) { + const detectedTimezone = moment.tz.guess(); + if (detectedTimezone) return detectedTimezone; + else return moment().format('Z'); + } else { + return uiSettings.get('dateFormat:tz', 'Browser'); + } +} + export function findMinInterval( xValues: number[], esValue: number, @@ -193,7 +204,7 @@ export class DiscoverHistogram extends Component { const config = getUISettings(); - const timezone = timezoneProvider(config)(); + const timezone = getTimezone(config); const uiStateObj = uiState.get(visParams.type, {}); const parsedTimeRange = getDataStart().query.timefilter.timefilter.calculateBounds(timeRange); const scaledDataFormat = config.get('dateFormat:scaled'); diff --git a/src/legacy/core_plugins/vis_type_timeseries/public/visualizations/views/timeseries/index.js b/src/legacy/core_plugins/vis_type_timeseries/public/visualizations/views/timeseries/index.js index bec76433eb8a..3ce3aae2649e 100644 --- a/src/legacy/core_plugins/vis_type_timeseries/public/visualizations/views/timeseries/index.js +++ b/src/legacy/core_plugins/vis_type_timeseries/public/visualizations/views/timeseries/index.js @@ -31,8 +31,7 @@ import { TooltipType, } from '@elastic/charts'; import { EuiIcon } from '@elastic/eui'; - -import { timezoneProvider } from '../../../legacy_imports'; +import { getTimezone } from '../../../lib/get_timezone'; import { eventBus, ACTIVE_CURSOR } from '../../lib/active_cursor'; import { getUISettings } from '../../../services'; import { GRID_LINE_CONFIG, ICON_TYPES_MAP, STACKED_OPTIONS } from '../../constants'; @@ -87,7 +86,7 @@ export const TimeSeries = ({ const tooltipFormatter = decorateFormatter(xAxisFormatter); const uiSettings = getUISettings(); - const timeZone = timezoneProvider(uiSettings)(); + const timeZone = getTimezone(uiSettings); const hasBarChart = series.some(({ bars }) => bars.show); // compute the theme based on the bg color