mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
refactor(): refactored date handling and locale handling in #5517
This commit is contained in:
parent
c029e47a12
commit
5595fc2683
@ -34,6 +34,7 @@ type CurrentUser struct {
|
||||
IsGrafanaAdmin bool `json:"isGrafanaAdmin"`
|
||||
GravatarUrl string `json:"gravatarUrl"`
|
||||
Timezone string `json:"timezone"`
|
||||
Locale string `json:"locale"`
|
||||
}
|
||||
|
||||
type DashboardMeta struct {
|
||||
|
@ -1,6 +1,8 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/grafana/grafana/pkg/api/dtos"
|
||||
"github.com/grafana/grafana/pkg/bus"
|
||||
"github.com/grafana/grafana/pkg/middleware"
|
||||
@ -21,6 +23,15 @@ func setIndexViewData(c *middleware.Context) (*dtos.IndexViewData, error) {
|
||||
}
|
||||
prefs := prefsQuery.Result
|
||||
|
||||
// Read locale from acccept-language
|
||||
acceptLang := c.Req.Header.Get("Accept-Language")
|
||||
locale := "en-US"
|
||||
|
||||
if len(acceptLang) > 0 {
|
||||
parts := strings.Split(acceptLang, ",")
|
||||
locale = parts[0]
|
||||
}
|
||||
|
||||
var data = dtos.IndexViewData{
|
||||
User: &dtos.CurrentUser{
|
||||
Id: c.UserId,
|
||||
@ -35,6 +46,7 @@ func setIndexViewData(c *middleware.Context) (*dtos.IndexViewData, error) {
|
||||
IsGrafanaAdmin: c.IsGrafanaAdmin,
|
||||
LightTheme: prefs.Theme == "light",
|
||||
Timezone: prefs.Timezone,
|
||||
Locale: locale,
|
||||
},
|
||||
Settings: settings,
|
||||
AppUrl: setting.AppUrl,
|
||||
|
@ -42,13 +42,15 @@ export class GrafanaApp {
|
||||
var app = angular.module('grafana', []);
|
||||
app.constant('grafanaVersion', "@grafanaVersion@");
|
||||
|
||||
moment.locale(config.bootData.user.locale);
|
||||
|
||||
app.config(($locationProvider, $controllerProvider, $compileProvider, $filterProvider, $httpProvider, $provide) => {
|
||||
|
||||
if (config.buildInfo.env !== 'development') {
|
||||
$compileProvider.debugInfoEnabled(false);
|
||||
}
|
||||
$httpProvider.useApplyAsync(true);
|
||||
|
||||
moment.locale(window.navigator.userLanguage || window.navigator.language);
|
||||
$httpProvider.useApplyAsync(true);
|
||||
|
||||
this.registerFunctions.controller = $controllerProvider.register;
|
||||
this.registerFunctions.directive = $compileProvider.directive;
|
||||
|
@ -15,7 +15,7 @@
|
||||
</div>
|
||||
|
||||
<div ng-if="openFromPicker">
|
||||
<datepicker ng-model="ctrl.absolute.fromJs" class="gf-timepicker-component" show-weeks="false" starting-day="firstDayOfWeek" ng-change="ctrl.absoluteFromChanged()"></datepicker>
|
||||
<datepicker ng-model="ctrl.absolute.fromJs" class="gf-timepicker-component" show-weeks="false" starting-day="ctrl.firstDayOfWeek" ng-change="ctrl.absoluteFromChanged()"></datepicker>
|
||||
</div>
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
</div>
|
||||
|
||||
<div ng-if="openToPicker">
|
||||
<datepicker ng-model="ctrl.absolute.toJs" class="gf-timepicker-component" show-weeks="false" starting-day="firstDayOfWeek" ng-change="ctrl.absoluteToChanged()"></datepicker>
|
||||
<datepicker ng-model="ctrl.absolute.toJs" class="gf-timepicker-component" show-weeks="false" starting-day="ctrl.firstDayOfWeek" ng-change="ctrl.absoluteToChanged()"></datepicker>
|
||||
</div>
|
||||
|
||||
<label class="small">Refreshing every:</label>
|
||||
|
@ -55,7 +55,7 @@ describe('when rendering table', () => {
|
||||
|
||||
it('time column should be formated', () => {
|
||||
var html = renderer.renderCell(0, 1388556366666);
|
||||
expect(html).to.be('<td>2014-01-01T06:06:06+00:00</td>');
|
||||
expect(html).to.be('<td>2014-01-01T06:06:06Z</td>');
|
||||
});
|
||||
|
||||
it('number column with unit specified should ignore style unit', () => {
|
||||
|
22854
public/vendor/moment.js
vendored
22854
public/vendor/moment.js
vendored
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user