mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
DateTime: adding support to select preferred timezone for presentation of date and time values. (#23586)
* added moment timezone package. * added a qnd way of selecting timezone. * added a first draft to display how it can be used. * fixed failing tests. * made moment.local to be in utc when running tests. * added tests to verify that the timeZone support works as expected. * Fixed so we use the formatter in the graph context menu. * changed so we will format d3 according to timeZone. * changed from class base to function based for easier consumption. * fixed so tests got green. * renamed to make it shorter. * fixed formatting in logRow. * removed unused value. * added time formatter to flot. * fixed failing tests. * changed so history will use the formatting with support for timezone. * added todo. * added so we append the correct abbrivation behind time. * added time zone abbrevation in timepicker. * adding timezone in rangeutil tool. * will use timezone when formatting range. * changed so we use new functions to format date so timezone is respected. * wip - dashboard settings. * changed so the time picker settings is in react. * added force update. * wip to get the react graph to work. * fixed formatting and parsing on the timepicker. * updated snap to be correct. * fixed so we format values properly in time picker. * make sure we pass timezone on all the proper places. * fixed so we use correct timeZone in explore. * fixed failing tests. * fixed so we always parse from local to selected timezone. * removed unused variable. * reverted back. * trying to fix issue with directive. * fixed issue. * fixed strict null errors. * fixed so we still can select default. * make sure we reads the time zone from getTimezone
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import _ from 'lodash';
|
||||
import {
|
||||
dateTime,
|
||||
escapeStringForRegex,
|
||||
formattedValueToString,
|
||||
getColorFromHexRgbOrName,
|
||||
@@ -11,6 +10,9 @@ import {
|
||||
stringToJsRegex,
|
||||
textUtil,
|
||||
unEscapeStringFromRegex,
|
||||
TimeZone,
|
||||
dateTimeFormatISO,
|
||||
dateTimeFormat,
|
||||
} from '@grafana/data';
|
||||
import { TemplateSrv } from 'app/features/templating/template_srv';
|
||||
import { ColumnRender, TableRenderModel, ColumnStyle } from './types';
|
||||
@@ -23,7 +25,7 @@ export class TableRenderer {
|
||||
constructor(
|
||||
private panel: { styles: ColumnStyle[]; pageSize: number },
|
||||
private table: TableRenderModel,
|
||||
private isUtc: boolean,
|
||||
private timeZone: TimeZone,
|
||||
private sanitize: (v: any) => any,
|
||||
private templateSrv: TemplateSrv,
|
||||
private theme?: GrafanaThemeType
|
||||
@@ -119,13 +121,16 @@ export class TableRenderer {
|
||||
v = parseInt(v, 10);
|
||||
}
|
||||
|
||||
let date = dateTime(v);
|
||||
|
||||
if (this.isUtc) {
|
||||
date = date.utc();
|
||||
if (!column.style.dateFormat) {
|
||||
return dateTimeFormatISO(v, {
|
||||
timeZone: this.timeZone,
|
||||
});
|
||||
}
|
||||
|
||||
return date.format(column.style.dateFormat);
|
||||
return dateTimeFormat(v, {
|
||||
format: column.style.dateFormat,
|
||||
timeZone: this.timeZone,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user